来源:https://www.ncnynl.com/archives/201806/2488.html
说明:
介绍如何创建ros2的软件包
概念:
可以将包视为ROS 2代码的容器。
如果您希望能够安装代码或与他人共享代码,则需要将其组织在一个软件包中。
使用软件包,您可以发布ROS 2的工作,并允许其他人轻松构建和使用它。
ROS 2中的软件包创建使用ament作为其构建系统,并使用colcon作为其构建工具。
您可以使用官方支持的CMake或Python创建软件包。
步骤:
进入工作空间
cd ~/dev_ws/src
创建ros2包
~/dev_ws/src$ ros2 pkg create --build-type ament_cmake --node-name my_node my_package going to create a new package package name: my_package destination directory: /home/ubuntu/dev_ws/src package format: 3 version: 0.0.0 description: TODO: Package description maintainer: ['ubuntu'] licenses: ['TODO: License declaration'] build type: ament_cmake dependencies: [] node_name: my_node creating folder ./my_package creating ./my_package/package.xml creating source and include folder creating folder ./my_package/src creating folder ./my_package/include/my_package creating ./my_package/CMakeLists.txt creating ./my_package/src/my_node.cpp
编译包
cd ~/dev_ws ~/dev_ws$ colcon build --symlink-install --packages-select my_package Starting >>> my_package Finished <<< my_package [1.03s] Summary: 1 package finished [1.13s]
可以通过–packages-select指定编译的包
重新加载工作空间
cd ~/dev_ws . install/setup.bash
运行包
~/dev_ws$ ros2 run my_package my_node hello world my_package package
软件包解析:
包目录结构:
~/dev_ws/src/my_package$ tree
.
├── CMakeLists.txt #告诉编译器如何编译的文件
├── include
│ └── my_package #自定义的头文件
├── package.xml #包相关信息文件
└── src
└── my_node.cpp #源文件,具体实现功能的文件
3 directories, 3 files



