ROS2常用命令行工具
0.前言
之前作者整理了一份ROS1中常用的GUI测试工具,最近作者在完善ROS2部分时觉得有必要写一篇关于ROS2常用命令行工具的文章来作为ROS2第一部分的一个小结。
1. 通信层面
ROS_DOMAIN_ID
标记一个 ROS 域,不同的 ROS 域之间不能通信。这部分可以参照作者ROS2 DDS通信漫谈这篇文章,主要是因为ROS2本身的通讯是基于DDS的,所以存在域这个概念。
colcon_cd
命令colcon_cd允许您快速将Shell的当前工作目录变换至某个软件包目录。 例如,命令colcon_cd some_ros_package
会将您快速带到目录〜/ ros2_install / src / some_ros_package。这里和ROS1中的 roscd
有着相同的作用。同样只需要在.bashrc
中加入该命令即可
echo "source /usr/share/colcon_cd/function/colcon_cd.sh" >> ~/.bashrc
echo "export _colcon_cd_root=~/ros2_install" >> ~/.bashrc
2. ROS2通讯
2.1 ROS2节点
ros2 run
命令载入一个包里面的可执行文件
ros2 run <package_name> <executable_name>
ros2 pkg executables
可以列出包里的可执行文件
ros2 pkg executables <package_name>
ros2 node list
返回目前系统中所有激活的node
ros node info
ros2 node info <node-name>
可以查看节点的信息,它能够看到订阅者,发布者,提供的服务等信息。
rqt_graph
rqt_graph 能够可视化节点和主题之间的连接。这个命令和ROS1一样,也是ROS2为数不多的GUI可视界面
2.2 ROS2 话题
ros2 topic list
返回目前系统中所有激活的 topic 。
ros2 topic list -t
打印中包括 topic 的类型。
ros2 topic echo <topic_name>
查看发布到指定 topic 的数据
ros2 topic info
查看 topic 的信息,包括发布者和订阅者数量。
ros2 interface show
显示 Topic 发送的消息定义
ros2 topic pub
向 topic 发布消息
ros2 topic pub --once /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}}"
ros2 topic hz
查看数据的发布速率
2.3 ROS2服务
ros2 service list
查看所有的服务。每个节点默认都有一些基础的服务,比如设置参数服务等。ros2 service list -t
打印出服务的类型
ros2 service type
可以看到服务的定义。
ros2 service find <type_name>
找出指定类型的所有服务
ros2 service find std_srvs/srv/Empty
ros2 interface show
显示服务的定义
ros2 service call
调用服务
ros2 service call /clear std_srvs/srv/Empty
2.4 ROS2 参数
…详情请参照古月居
- 点赞
- 收藏
- 关注作者
评论(0)