0
点赞
收藏
分享

微信扫一扫

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可视界面

ROS2常用命令行工具_ros2

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 条评论