ROS2常用命令行工具

举报
Hermit_Rabbit 发表于 2022/09/21 20:34:09 2022/09/21
【摘要】 0.前言之前作者整理了一份ROS1中常用的GUI测试工具,最近作者在完善ROS2部分时觉得有必要写一篇关于ROS2常用命令行工具的文章来作为ROS2第一部分的一个小结。 1. 通信层面ROS_DOMAIN_ID标记一个 ROS 域,不同的 ROS 域之间不能通信。这部分可以参照作者ROS2 DDS通信漫谈这篇文章,主要是因为ROS2本身的通讯是基于DDS的,所以存在域这个概念。colcon...

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 参数

…详情请参照古月居

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。