ROS2常用命令行工具
【摘要】 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)