ROS2 使用功能包组织Python节点
- 运行一个节点
- 那么构建一个自己的包
- 创建功能包
- 常用
- 整点小操作
- 源代码放在同名的目录`sayHello`下
- `package.xml`整点依赖
- `setup.py`确定你要生成什么节点
- 操作整完准备建
- 包中节点的使用
运行一个节点
ros2 run 包名字 可执行文件名字
那么构建一个自己的包
创建功能包
ros2 pkg create [-h] [--package-format {2,3}] [--description DESCRIPTION] [--license LICENSE][--destination-directory DESTINATION_DIRECTORY] [--build-type {cmake,ament_cmake,ament_python}][--dependencies DEPENDENCIES [DEPENDENCIES ...]] [--maintainer-email MAINTAINER_EMAIL][--maintainer-name MAINTAINER_NAME] [--node-name NODE_NAME] [--library-name LIBRARY_NAME]package_name
常用
ros2 pkg create --build-type ament_python --license Apache-2.0 yourPackageName
在chapt2blog
目录下创建了一个sayHello
的包
这个包中有这些文件
整点小操作
源代码放在同名的目录sayHello
下
这个目录下面自己建py
文件写函数,然后通过setup.py
中设置,生成执行的节点
比如整个顾名思义的say hello の py
其中函数是SayIt
,用到的包是rclpy
package.xml
整点依赖
比如现在常用rclpy
,就添加一下
setup.py
确定你要生成什么节点
比如我了整个SayIt
的函数
用这个生成一个节点
'
生成的节点名 =
包名.
文件名:
函数名'
操作整完准备建
回到包所在的目录
colcon build
然后就发现包的同级目录多了三文件夹,其中有点用的是install
上图就有东西了
- 在
install
文件夹下,有setup.bash
可以将我们自己的包加入环境变量 - 再在
sayHello/lib
下,就有我们生成的节点了
包中节点的使用
先使用bash
添加路径
然后就
ros2 run
Hello!!!