ROS 命令与功能介绍

ROS shell

命令   重要度  命令释义   详细说明
roscd   ★★★   ros+cd(changes directory)   移动到指定的ROS功能包目录
rosls   ★☆☆   ros+ls(lists files)   显示ROS功能包的文件和目录
rosed   ★☆☆   ros+ed(editor)   编辑ROS功能包的文件
roscp   ★☆☆   ros+cp(copies files)   复制ROS功能包的文件
rospd   ☆☆☆   ros+pushd   添加目录至ROS目录索引
rosd   ☆☆☆   ros+directory   显示ROS目录索引中的目录

执行命令

命令   重要度   命令释义   详细说明
roscore   ★★★   ros+core master   ROS名称服务) + rosout(日志记录) + parameter server(参数管理)
rosrun   ★★★   ros+run   运行节点
roslaunch   ★★★   ros+launch   运行多个节点及设置运行选项
rosclean   ★★☆   ros+clean   检查或删除ROS日志文件

信息命令

ROS信息命令用于识别话题、服务、节点和参数等信息。尤其是rostopic、 rosservice、rosnode和rosparam经常被使用,并且rosbag是ROS的主要特征之一,它具有记录数据和回放功能,务必要掌握。

命令   重要度   命令释义   详细说明
rostopic   ★★★   ros+topic   确认ROS话题信息
rosservice  ★★★   ros+service   确认ROS服务信息
rosnode   ★★★   ros+node   确认ROS节点信息
rosparam   ★★★   ros+param(parameter)   确认和修改ROS参数信息
rosbag   ★★★   ros+bag   记录和回放ROS消息
rosmsg   ★★☆   ros+msg   显示ROS消息类型
rossrv   ★★☆   ros+srv   显示ROS服务类型
rosversion  ★☆☆   ros+version   显示ROS功能包的版本信息
roswtf   ☆☆☆   ros+wtf   检查ROS系统

ROS catkin

命令   重要度   详细说明
catkin_create_pkg   ★★★   自动生成功能包
catkin_make   ★★★   基于catkin构建系统的构建
catkin_eclipse   ★★☆   对于用catkin构建系统生成的功能包进行修改,使其能在 Eclipse环境中使用
catkin_prepare_release   ★★☆   发布时用到的日志整理和版本标记
catkin_generate_changelog   ★★☆   在发布时生成或更新CHANGELOG.rst文件
catkin_init_workspace   ★★☆   初始化catkin构建系统的工作目录
catkin_find   ★☆☆   搜索catkin

功能包命令

命令   重要度   命令释义   详细说明
rospack   ★★★   ros+pack(age)   查看与ROS功能包相关的信息
rosinstall   ★★☆   ros+install   安装ROS附加功能包
rosdep   ★★☆   ros+dep(endencies)   安装该功能包的依赖性文件
roslocate   ☆☆☆   ros+locate   ROS功能包信息相关命令
roscreate-pkg   ☆☆☆   ros+create-pkg   自动生成ROS功能包(用于旧的rosbuild系统)
rosmake   ☆☆☆   ros+make   构建 ROS功能包(用于旧的rosbuild系统)

rosnode

关于ROS节点信息相关指令,列表如下

命令   详细说明
rosnode list   查看活动的节点列表
rosnode ping [节点名称]   与指定的节点进行连接测试
rosnode info [节点名称]   查看指定节点的信息
rosnode machine [PC名称或IP]   查看该PC中运行的节点列表
rosnode kill [节点名称]   停止指定节点的运行
rosnode cleanup   删除失连节点的注册信息

rostopic

关于ROS话题相关指令,列表如下

命令   详细说明
rostopic list   显示活动的话题目录
rostopic echo [话题名称]   实时显示指定话题的消息内容
rostopic find [类型名称]   显示使用指定类型的消息的话题
rostopic type [话题名称]   显示指定话题的消息类型
rostopic bw [话题名称]   显示指定话题的消息带宽(bandwidth)
rostopic hz [话题名称]   显示指定话题的消息数据发布周期
rostopic info [话题名称]   显示指定话题的信息
rostopic pub [话题名称] [消息类型] [参数]   用指定的话题名称发布消息

rosservice

关于ROS服务相关指令,列表如下

命令   详细说明
rosservice list   显示活动的服务信息
rosservice info [服务名称]   显示指定服务的信息
rosservice find [服务类型]   查找指定服务类型的服务
rosservice uri [服务名称]   显示ROSRPC URI服务
rosservice args [服务名称]   显示服务参数
rosservice call [服务名称] [参数]   用输入的参数请求服务

rosparam

关于ROS参数相关指令,列表如下

命令   详细说明
rosparam list   查看参数列表
rosparam get [参数名称]   获取参数值
rosparam set [参数名称]   设置参数值
rosparam dump [文件名称]   将参数保存到指定文件
rosparam load [文件名称]   获取保存在指定文件中的参数
rosparam delete [参数名称]   删除参数

rosmsg

关于ROS消息信息相关指令,列表如下

命令   详细说明
rosmsg list   显示所有消息
rosmsg show [消息名称]   显示指定消息
rosmsg md5 [消息名称]   显示md5sum
rosmsg package [功能包名称]   显示用于指定功能包的所有消息
rosmsg packages   显示使用消息的所有功能包

rossrv

关于ROS服务信息相关指令,列表如下

命令   详细说明
rossrv list   显示所有服务
rossrv show [服务名称]   显示指定的服务信息
rossrv md5 [服务名称]   显示md5sum
rossrv package [功能包名称]   显示指定的功能包中用到的所有服务
rossrv packages   显示使用服务的所有功能包

rosbag

rosbag是一个实现生成、播放和压缩等功能的程序,它具有以下几种功能。

命令   详细说明
rosbag record [选项] [话题名称]   将指定话题的消息记录到bag文件
rosbag info [文件名称]   查看bag文件的信息
rosbag play [文件名称]   回放指定的bag文件
rosbag compress [文件名称]   压缩指定的bag文件
rosbag decompress [文件名称]   解压指定的bag文件
rosbag filter [输入文件] [输出文件] [选项]   生成一个删除了指定内容的新的bag文件
rosbag reindex bag [文件名称]   刷新索引
rosbag check bag [文件名称]   检查指定的bag文件是否能在当前系统中回放
rosbag fix [输入文件] [输出文件] [选项]   将由于版本不同而无法回放的bag文件修改成可以回放的文件

参考

《ROS机器人编程–从基本概念到机器人应用程序编程实战》

知识共享许可协议