常用的命令如下:

  • rosnode:操作节点
  • rostopic:操作话题
  • rosservice:操作服务
  • rosmsg:操作msg消息
  • rossrv:操作srv消息
  • rosparam:操作参数

文件操作命令是静态的,操作的是磁盘上的文件,上述命令是动态的,在ROS程序启动后,可以动态的获取运行中的节点或参数的相关信息

rosnode

用于获取节点信息的命令

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

比如启动乌龟节点,然后 ctrl+c 关闭,该节点并没有彻底清除,可以使用 cleanup 清除节点

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 pub

调用命令向订阅者发布消息

例如:

订阅方:

如果加上在 rostopic pub 后面加上 -r 10 选项,效果为以 10Hz 的频率循环发送信息给订阅方

  • rostopic echo

获取指定话题当前发布的消息详情

  • rostopic info

获取当前话题的相关信息:

	1. 消息类型
	2. 发布者信息
	3. 订阅者信息
  • rostopic type /话题名称

列出话题的消息类型

  • rostopic find 消息类型

根据消息类型查找话题

  • rostopic hz /话题名称

列出消息发布频率

  • rostopic bw /话题名称

列出消息发布带宽

rosmsg

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

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

作用与 rosmsg show 一样

...

rosservice

用于列出和查询 Services

调用时需要注意相关工作空间已配置 path

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

服务器:

  • rosservice info sum

获取服务话题详情,包括所属节点、参数、rosrpc地址等

  • rosservice type | rosservice uri

rossrv

用于显示有关ROS服务类型的信息,与 rosmsg 使用语法高度雷同

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

显示消息描述:

  • rossrv package 包名

列出某个包下的所有srv文件

rosparam

用于使用YAML编码文件在参数服务器上获取和设置ROS参数

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

  • rosparam list

  • rosparam get name

  • rosparam delete

删除参数

  • rosparam load xxx.yaml

从外部文件加载参数,要先准备yaml文件

  • rosparam dump xxx.yaml

将参数写出到外部文件