当前位置:网站首页>Ros2 - function package (VI)
Ros2 - function package (VI)
2022-07-05 06:51:00 【Me and nano】
ROS2 Robot operating system
List of articles
Preface
Every robot may have many functions , For example, mobile control 、 Visual perception 、 Autonomous navigation, etc , If we put the source code of these functions together, of course, it is also possible , But when we want to share some of these functions with others , You will find that the code is mixed together , It's hard to separate .
One 、 What is the feature pack

for instance , We have a lot of red beans 、 Mung bean 、 soybean , Suppose they are all in a bag , If you just want to take out the soybeans , Do you have to find out one by one among the colorful beans , The more the number of , The more headache you get ; If we put beans of different colors in three different bags , When you need to take out some beans , You can find it immediately .
This is the principle of function package , We divide the code of different functions into different function packages , Try to reduce the coupling relationship between them , When need is in ROS When sharing with others in the community , Just explain how to use this function pack , Others can use it soon .
So the mechanism of the function package , Is to improve ROS One of the important methods of software reuse rate in .
Two 、 Specific use of function package
1. Create Feature Pack
We can use this instruction :
ros2 pkg create --build-type <build-type> <package_name>
ros2 In command :
**pkg:** Indicates the functions related to the function package ;
**create:** Means to create a function package ;
build-type: Indicates that the newly created function pack is C++ still Python Of , If you use C++ perhaps C, Then this is the same as ament_cmake, If you use Python, Just follow ament_python;
**package_name:** Name of the new function package .
For example, create in the terminal respectively C++ and Python Version of the Feature Pack :
cd ~/dev_ws/src
ros2 pkg create --build-type ament_cmake learning_pkg_c # C++
ros2 pkg create --build-type ament_python learning_pkg_python # Python

2. Compile function packs
In the created function package , We can continue to write the code , Then you need to compile and configure environment variables , In order to operate normally :
cd ~/dev_ws/src
colcon build # Compile all feature packs in the workspace
source install/local_setup.bash
3. Structure of function package
C++ Function pack
Take a look first C++ Type of function pack , There must be two files :package.xml and CMakerLists.txt.
package.xml The main contents of the document are as follows , Contains the copyright description of the Feature Pack , And various dependent declarations .
CMakeLists.txt Files are Compilation Rules ,C++ The code needs to be compiled to run , So you must set how to compile in this file , Use CMake grammar .
Python Function pack
C++ The function package needs to compile the source code into an executable , however Python Language is analytic , No compilation required , So there will be some differences , But there will also be these two files :package.xml and setup.py.
package.xml The main contents of the document and C++ Version function pack , Contains the copyright description of the Feature Pack , And various dependent declarations .
setup.py The file also contains some copyright information , besides , also “entry_points” Configured program entry 
边栏推荐
- 小米笔试真题一
- Vant Weapp SwipeCell設置多個按鈕
- [Chongqing Guangdong education] National Open University 2018 autumn 0702-22t contemporary Chinese political system reference questions
- The route of wechat applet jumps again without triggering onload
- Error: "mountvolume.setup failed for volume PVC fault handling
- C语言数组专题训练
- Special training of C language array
- Sre core system understanding
- LSA Type Explanation - lsa-1 [type 1 LSA - router LSA] detailed explanation
- ROS2——安装ROS2(三)
猜你喜欢

inux摄像头(mipi接口)简要说明

SD_CMD_SEND_SHIFT_REGISTER

Orin two brushing methods

Design specification for mobile folding screen

. Net core stepping on the pit practice
![[Gaode map POI stepping pit] amap Placesearch cannot be used](/img/4c/55586ffcc2267c477a4532ab51a0c1.png)
[Gaode map POI stepping pit] amap Placesearch cannot be used

Page type

Skywalking all

Some classic recursion problems

Use ffmpeg to rotate, flip up and down, and flip horizontally
随机推荐
Marvell 88e1515 PHY loopback mode test
Error: "mountvolume.setup failed for volume PVC fault handling
Orin 安装CUDA环境
vsCode创建自己的代码模板
Build a microservice cluster environment locally and learn to deploy automatically
VLAN experiment
ROS2——安装ROS2(三)
Vscode editor
Getting started with typescript
Vscode creates its own code template
Database mysql all
The route of wechat applet jumps again without triggering onload
Rehabilitation type force deduction brush question notes D2
Error: “MountVolume.SetUp failed for volume pvc 故障处理
ROS2——配置开发环境(五)
H5 embedded app adapts to dark mode
TypeScript入门
Dameng database all
SolidWorks template and design library are convenient for designers to call
new和malloc的区别