【ROS学习笔记7】ROS中的常用命令行

ROS提供了一系列命令行工具,如rosnode用于管理节点,rostopic处理话题,rosmsg操作消息类型,rosservice管理服务,rossrv查看服务详情,rosparam则处理参数。这些工具帮助开发者动态获取和交互运行中的ROS系统信息。
摘要由CSDN通过智能技术生成

【ROS学习笔记7】ROS中的常用命令行

写在前面,本系列笔记参考的是AutoLabor的教程,具体项目地址在 这里


前言

机器人系统中启动的节点少则几个,多则十几个、几十个,不同的节点名称各异,通信时使用话题、服务、消息、参数等等都各不相同,一个显而易见的问题是: 当需要自定义节点和其他某个已经存在的节点通信时,如何获取对方的话题、以及消息载体的格式呢?

在 ROS 同提供了一些实用的命令行工具,可以用于获取不同节点的各类信息,常用的命令如下:

命令行功能
rosnode操作节点
rostopic操作话题
rosservice操作服务
rosmsg操作msg消息
rossrv操作srv消息
rosparam操作参数

作用

和之前介绍的文件系统操作命令比较,文件操作命令是静态的,操作的是磁盘上的文件,而上述命令是动态的,在ROS程序启动后,可以动态的获取运行中的节点或参数的相关信息。

案例

本节将借助于2.1、2.2和2.3的通信实现介绍相关命令的基本使用,并通过练习ROS内置的小海龟例程来强化命令的应用。

更多详细信息请参照 Command-line tools


一、rosnode

rosnode是用于获取节点信息的命令

rosnode ping			# 测试到节点的连接状态
rosnode list			# 列出活动节点
rosnode info			# 打印节点信息
rosnode machine			# 列出指定设备上的节点
rosnode kill			# 杀死某个节点
rosnode cleanup			# 清除不可连接的节点

示例:

二、rostopic

rostopic包含rostopic命令行工具,用于显示有关ROS主题的调试信息,包括发布者,订阅者,发布频率和ROS消息。它还包括一个实验性Python库,用于动态获取有关主题的信息并与之交互。

rostopic bw     # 显示主题使用的带宽
rostopic delay  # 显示带有 header 的主题延迟
rostopic echo   # 打印消息到屏幕
rostopic find   # 根据类型查找主题
rostopic hz     # 显示主题的发布频率
rostopic info   # 显示主题相关信息
rostopic list   # 显示所有活动状态下的主题
rostopic pub    # 将数据发布到主题
rostopic type   # 打印主题类型
  • rostopic list(-v)

    直接调用即可,控制台将打印当前运行状态下的主题名称

    rostopic list -v : 获取话题详情(比如列出:发布者和订阅者个数…)

  • rostopic pub

    可以直接调用命令向订阅者发布消息

    为roboware 自动生成的 发布/订阅 模型案例中的 订阅者 发布一条字符串

    rostopic pub /主题名称 消息类型 消息内容
    rostopic pub /chatter std_msgs gagaxixi
    

示例:

三、rosmsg

rosmsg是用于显示有关 ROS消息类型的 信息的命令行工具。

rosmsg show    		# 显示消息描述
rosmsg info    		# 显示消息信息
rosmsg list    		# 列出所有消息
rosmsg md5    		# 显示 md5 加密后的消息
rosmsg package   	# 显示某个功能包下的所有消息
rosmsg packages    	# 列出包含消息的功能包

四、rosservice

rosservice包含用于列出和查询ROSServices的rosservice命令行工具。

调用部分服务时,如果对相关工作空间没有配置 path,需要进入工作空间调用 source ./devel/setup.bash

rosservice args 	# 打印服务参数
rosservice call    	# 使用提供的参数调用服务
rosservice find    	# 按照服务类型查找服务
rosservice info    	# 打印有关服务的信息
rosservice list    	# 列出所有活动的服务
rosservice type    	# 打印服务类型
rosservice uri    	# 打印服务的 ROSRPC uri

示例:

五、rossrv

rossrv是用于显示有关ROS服务类型的信息的命令行工具,与 rosmsg 使用语法高度雷同。

rossrv show    		# 显示服务消息详情
rossrv info    		# 显示服务消息相关信息
rossrv list    		# 列出所有服务信息
rossrv md5    		# 显示 md5 加密后的服务消息
rossrv package    	# 显示某个包下所有服务消息
rossrv packages    	# 显示包含服务消息的所有包

六、rosparam

rosparam包含rosparam命令行工具,用于使用YAML编码文件在参数服务器上获取和设置ROS参数。

rosparam set    		# 设置参数
rosparam get    		# 获取参数
rosparam load    		# 从外部文件加载参数
rosparam dump    		# 将参数写出到外部文件
rosparam delete    		# 删除参数
rosparam list    		# 列出所有参数


七、Reference

1、http://www.autolabor.com.cn/book/ROSTutorials/di-2-zhang-ros-jia-gou-she-ji/23-fu-wu-tong-xin/224-fu-wu-tong-xin-zi-ding-yi-srv-diao-yong-b-python.html
2、Command-line tools

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值