1. 基本文件
使用官方支持的Python创建功能包,需要一些基本文件:
package.xml
:包含功能包的元信息的清单文件setup.py
:包含如何安装软件包的说明setup.cfg
:包含可执行文件/<package_name>
:与功能包同名的目录,包含__init__.py
最简单的文件夹可能就是:
my_package/
setup.py
package.xml
resource/my_package
在工作空间的src
文件夹创建功能包,使工作空间的顶层保持洁净
一个简单的工作空间可能是这样的:
workspace_folder/
src/
package_1/
CMakeLists.txt
package.xml
package_2/
setup.py
package.xml
resource/package_2
...
package_n/
CMakeLists.txt
package.xml
2. 创建
在ROS 2中创建新功能包的命令语法:
ros2 pkg create --build-type ament_python <package_name>
这里创建一个功能包 my_package
将使用可选参数--build-type
,选择ament_python
模式
将使用可选参数--node-name
,创建一个简单的Hello World类型可执行文件my_node
cd ~/ros2_ws/src
ros2 pkg create --build-type ament_python --node-name my_node my_package
现在在工作空间ros2_ws
的src
目录中有一个名为my_package_python
的新文件夹
自动生成的文件和文件夹:
my_package package.xml resource setup.cfg setup.py test
在功能包的my_package文件夹中存放自定义python功能源文件my_node.py
setup.py文件包含与package.xml相同的描述、维护者和许可字段,信息需保存一致
3. 编译
在工作空间根目录中运行colcon build来一次构建一个或者多个功能包
因为在《ROS2 入门应用 工作空间》已经有了功能包ros_tutorials
可以使用可选参数--packages-select,指定构建功能包
cd ~/ros2_ws
colcon build --packages-select my_package
或者构建全部功能包
cd ~/ros2_ws
colcon build
打开一个新终端,运行功能包的节点:
ros2 run my_package my_node
# Hi from my_package.
谢谢
评论(0)
您还未登录,请登录后发表或查看评论