ROS2常用命令与工具
一、包管理工具
ros2 pkg
创建功能包
-
-
-
-
- ros2 pkg create
-
-
-
-
-
-
-
-
- 功能:创建功能包,创建时候需要指定包名、编译方式、依赖项等。
-
-
-
-
-
-
-
-
-
- 命令格式
-
-
-
-
-
-
-
-
-
-
- ros2 pkg create --build-type ament_python pkg_name rclpy std_msgs sensor_msgs
-
-
-
-
-
-
-
-
-
-
-
-
- ros2 pkg create:创建包的指令
-
-
-
-
-
-
-
-
-
-
-
-
-
- --build-type:新创建的功能包如果使用C++或者C,那这里就写ament_cmake,如果使用Python,就写ament_python
-
-
-
-
-
-
-
-
-
-
-
-
-
- pkg_name:创建功能包的名字
-
-
-
-
-
-
-
-
-
-
-
-
-
- rclpy std_msgs sensor_msgs:这些都是一些编译依赖
-
-
-
-
-
-
查看系统中的功能包列表
-
-
-
-
- ros2 pkg list
-
-
-
查看功能包中的执行文件
-
-
-
-
- ros2 pkg executeables
-
-
-
-
-
-
-
-
- 命令功能:查看包内可执行文件列表
-
-
-
-
-
-
-
-
-
- 命令格式
-
-
-
-
-
-
-
-
-
- ros2 pkg executables pkg_name
-
-
-
-
二、节点运行
ros2 run
命令功能:运行功能包节点程序
命令格式
-
-
-
-
- ros2 run pkg_name node_name
-
-
-
-
-
-
-
-
- pkg_name:功能包名字
-
-
-
-
-
-
-
-
-
- node_name:可执行程序的名字
-
-
-
-
三、节点工具
ros2 node list
命令功能: 罗列出所有在当前域内节点名称
命令格式
-
-
-
-
- ros2 node list
-
-
-
ros2 node info
命令功能: 查看节点详细信息,包括订阅、发布的消息,开启的服务和动作等
命令格式
-
-
-
-
- ros2 node info node_name
-
-
-
-
-
-
-
-
- node_name:需要查看的节点名称
-
-
-
-
四、主题工具
ros2 topic list
命令功能:罗列出当前域内的所有主题
命令格式
-
-
-
-
- ros2 topic list
-
-
-
ros2 topic info
命令功能:显示主题消息类型,订阅者/发布者数量
命令格式
-
-
-
-
- ros2 topic info topic_name
-
-
-
-
-
-
-
-
- topic_name:需要查询的话题的名字
-
-
-
-
ros2 topic type
命令功能:查看话题的消息类型
命令格式
-
-
-
-
- ros2 topic type topic_name
-
-
-
-
-
-
-
-
- topic_name:需要查询话题类型的名字
-
-
-
-
ros2 topic hz
命令功能:显示主题平均发布频率
命令格式
-
-
-
-
- ros2 topic hz topic_name
-
-
-
-
-
-
-
-
- topic_name:需要查询话题频率的名字
-
-
-
-
ros2 topic echo
命令功能:在终端打印主题消息,类似于一个订阅者
命令格式
-
-
-
-
- ros2 topic echo topic_name
-
-
-
-
-
-
-
-
- topic_name:需要打印消息的话题的名字
-
-
-
-
ros2 topic pub
命令功能:在终端发布指定话题消息
命令格式
-
-
-
-
- ros2 topic pub topic_name message_type message_content
-
-
-
-
-
-
-
-
- topic_name:需要发布话题消息的话题的名字
-
-
-
-
-
-
-
-
-
- message_type:话题的数据类型
-
-
-
-
-
-
-
-
-
- message_content:消息内容
-
-
-
-
可以设置以下参数
-
-
-
-
- 参数-1只发布一次,ros2 topic pub -1 topic_name message_type message_content
-
-
-
-
-
-
-
- 参数-t count循环发布count次结束,ros2 topic pub -t count topic_name message_type message_content
-
-
-
-
-
-
-
- 参数-r count以count Hz的频率循环发布,ros2 topic pub -r count topic_name message_type message_content
-
-
-
五、接口工具
ros2 interface list
命令功能:罗列当前系统的所有接口,包括话题、服务、动作。
命令格式
-
-
-
-
- ros2 interface list
-
-
-
ros2 interface show
命令功能:显示指定接口的详细内容
命令格式
-
-
-
-
- ros2 interface show interface_name
-
-
-
-
-
-
-
-
- interface_name:需要显示的接口内容的名字
-
-
-
-
服务工具
ros2 service list
命令功能:罗列出当前域内所有的服务
命令格式
-
-
-
-
- ros2 interface show interface_name
-
-
-
ros2 service call
命令功能:调用指定服务
命令格式
-
-
-
-
- ros2 interface call service_name service_Type arguments
-
-
-
-
-
-
-
-
- service_name:需要调用的服务
-
-
-
-
-
-
-
-
-
- service_Type:服务数据类型
-
-
-
-
-
-
-
-
-
- arguments:提供服务需要的参数
-
-
-
-
六、RQT工具
rqt_image_view
查看图像,当前域内有发布了图像话题数据
ros2 run rqt_image_view rqt_image_view
rqt_graph
可以用了查看当前域内运行了哪些节点以及节点之间的话题通讯
七、可视化工具
rviz2
基于Qt可视化工具打造的一个开放式平台
可以看到图形化的效果
八、TF树工具
ros2 run tf2_tools view_frames.py