ROS常用命令行工具

.roscore                ros master 启动

.roscd                   软件包路径切换工具

.rospack               软件包检索工具

.rostopic               ros话题命令行工具

.rosnode              ros节点命令行工具

.rosrun                 ros节点执行工具

.rosbag                ros数据包工具

相关内容通过 http://wiki.ros.org/rosbash 查询详细内容

roscore命令会运行主节点,主节点管理节点之间的消息通信中的连接信息。

主节点是使用ROS时必须首先被运行的必要元素。ROS主节点由roscore运行命令来驱动,并作为XMLRPC服务器运行。主节点接收多种信息的注册,如节点的名称、话题和服务名称、消息类型、URI地址和端口号,并在收到节点的请求时将此信息通知给其他节点。

此外,会运行rosout,这个命令用于记录ROS中使用的ROS标准输出日志,例如DEBUG、INFO、WARN、ERROR和FATALO它还运行一个管理参数的参数服务器。当执行roscore时,将用户设置的ROS_MASTER_URI作为主URI,并且驱动主节点。用户可在~/。bashrc设置ROS_MASTER_URI。

roscd 是rosbash命令集中的一部分,它允许你直接切换(cd)工作目录到某个软件包或者软件包集当中。

用法: # roscd [本地包名称[/子目录]]

1
2
xtark@xtark-robot:~$ roscd xtark_driver
xtark@xtark-robot:~/ros_ws/src/xtark_driver$ pwd/home/xtark/ros_ws/src/xtark_driver

rospack是ros软件包管理工具,rospack允许你获取软件包的有关信息

用法:# rospack [options][package]

示例功能:

1
2
3
4
5
rospack list                                       #输出当前ROS所有软件包信息
rospack depends1 xtark_driver #显示当前包的一级依赖
rospack depends xtark_driver #显示当前包的所有依赖
rospack profile #刷新当前ROS软件包索引(重要)
rospack -h #输出命令使用帮助

rostopic是ros话题工具,可以显示ros话题各种信息或发布话题。

用法:# rostopic   [options][topic name]

示例功能:

1
2
3
4
5
6
7
rostopic list                                      #输出当前活动主题
rostopic bw topic #显示主题发布频率
rostopic delay topic #从话题时间戳显示话题延时
rostopic echo topic #打印话题消息
rostopic type topic #显示话题消息类型
rostopic pub <topic name> <topic type> [data...] #向话题发送指定消息类型消息
rostopic-h #显示rostopic命令所有用法

rosnode是ROS节点工具,可以显示当前运行的ROS节点信息

用法: # rosnode [options][node name]

1
2
3
4
5
rosnode list                                       #获得运行节点列表
rosnode info <node name> #获得特定节点信息
rosnode ping <node name> #测试节点连通
rosnode kill <node name> #终止节点
rosnode -h #获取rosnode命令详细用法

rosrun 可以直接使用包名运行一个包内的节点

用法: # rosrun [param]

示例功能:

1
rosrun xtark_driver xtark_driver                  #运行xtark_driver包内的xtark_driver节点

rosbag将ROS系统运行过程中的数据录制到一个.bag文件中,然后可以通过回放数据来重现相似的运行过程。退出录制时按Ctrl+C退出该命令,会在当前目录下一个生成以年份、日期和时间命名并以.bag作为后缀的文件。

用法: # rosbag [options][bag name]

示例功能:

1
2
3
4
5
6
7
rosbag recode -a                                  #录制所有发布的话题,存储在.bag文件内
rosbag recode -O bagname.bag /cmd_vel /odom #录制特定话题到特定bag包中
rosbag info <bag name> #查看bag文件信息
rosbag play <bag name> #回放指定bag包
rosbag play -r 2 <bag name> #以2Hz频率回放bag包
rosbag play -s 2 <bag name> #从2s时间(某一时间)节点播放bag包
rosbag -h #显示rosbag命令所有用法