本教程是基于ROS官方教程中文版(http://wiki.ros.org/cn/ROS/Tutorials) 所记录的常用命令及简单用法,不是最齐全的命令查询库,当中也会存在一定的差异和记录错误,请各位不吝指正。转载请注明出处
命令(大部分指令可配合-h来查看完整用法) | 用法或说明 |
---|---|
export ROS_PACKAGE_PATH=~/kinetic_workspace/sandbox:$ROS_PACKAGE_PATH | 激活当前终端下的ROS包环境的变量 |
. ~/catkin_ws/devel/setup.bash | 激活ROS环境配置 |
mkdir -p ~/catkin_ws/ | 创建工作空间 |
atkin_make | 编译源代码 |
catkin_create_pkg | 创建一个pkg |
rosdep install package_name | 安装某个包的依赖 |
roscore | 运行所有ROS程序前首先要运行的命令(启动master、rosout输出日志和参数服务器) |
rospack find package_name | 查找package_name这个包的路径 |
ospack list package_name | 列出这个包下的所有文件 |
rosed package_name filr_name | 编辑某个包下的文件(默认用vim |
rosnode | 显示当前运行的ROS节点信息 |
rosnode list | 指令列出活跃的节点 |
rosnode info node_name | 某个节点的详细信息 |
rosnode kill node_name | 结束某个node |
rosrun package_name node_name | rosrun 允许你使用包名直接运行一个包内的节点(而不需要知道这个包的路径) |
rosnode cleanup | 清除rosnode列表 |
rosnode ping node_name | 测试节点的连接性 |
rosrun turtlesim turtle_teleop_key | 通过键盘来控制turtle的运动(在一个新的终端中运行) |
rosrun rqt_graph rqt_graph | 创建一个显示当前系统运行情况的动态图形 |
rostopic | 该命令工具能让你获取有关ROS话题的信息 |
rostopic echo topic | 显示在某个话题上发布的数据 |
rostopic list | 能够列出所有当前订阅和发布的话题 |
rostopic list -v | 显示出有关所发布和订阅的话题及其类型的详细信息 |
rostopic type | 命令用来查看所发布话题的消息类型 |
rosmsg | 命令来查看消息类型的详细情况 |
rostopic和rosmsg结合使用获取关于某个话题的更深层次的信息,如:
rostopic type /turtle1/cmd_vel | rosmsg show
rosmsg show geometry_msgs/Twist | 查看geometry_msgs/Twist这种消息类型的详细情况,可以根据节点的消息类型来给节点发布命令 |
rostopic pub | 可以把数据发布到当前某个正在广播的话题上,如:rostopic pub [topic] [msg_type] [args] |
rostopic pub -r | 发布一个稳定的命令流 |
rostopic hz [topic] | 命令可以用来查看数据发布的频率 |
rosservice | 使用 ROS 客户端/服务器框架提供的服务 |
rosservice list | 输出可用服务的信息 |
rosservice type | 命令更进一步查看服务的类型(如rosservice type clear,输出std_srvs/Empty表明clear服务的类型为空(empty),这表明在调用这个clear服务是不需要参数) |
rosservice call clear | 使用clear服务清除了turtlesim_node的背景上的轨迹 |
rossrv | 是一个显示ros服务类型信息的指令 |
rosparam | 使得我们能够存储并操作ROS 参数服务器(Parameter Server)上的数据 |
rosparam set [param_name] | 设置当前参数服务器的参数 |
rosparam get [param_name] | 获取当前参数服务器的参数 |
rosparam set background_r 150 | 修改背景颜色的红色通道为150px,调用清除服务rosservice call clear使得修改后的参数生效 |
rosparam get background_g | 查看参数服务器上的参数值 |
rosparam get / | 来显示参数服务器上的所有内容 |
rosparam dump | 存储信息指令 |
rosparam dump [file_name] | 以file_name命名所储存的信息 |
rosparam load | 读取信息指令 |
rosparam load [file_name] [namespace] | (甚至可以将yaml文件重载入新的命名空间,比如说copy空间, rosparam load params.yaml copy rosparam get /copy/background_b) |
rqt_console | 属于ROS日志框架(logging framework)的一部分,用来显示节点的输出信息 |
rqt_logger_level | 修改节点运行时输出信息的日志等级(Fatal是最高优先级,Debug是最低优先级,比如,将日志等级设为Warn时,你会得到Warn、Error和Fatal这三个等级的所有日志消息) |
roslaunch | 可以用来启动定义在launch文件中的多个节点(避免逐个rosrun node这么麻烦) |
roslaunch [package] [filename.launch] | 运行指定路径下的launchq启动文件 |
rosed | 可以直接通过package名来获取到待编辑的文件而无需指定该文件的存储路径,如:rosed roscpp Logger.msg |
rosbag record -a | 将当前发布的所有话题数据都录制保存到一个bag文件中(先建立一个用于录制的临时目录,然后在该目录下运行) |
rosbag info | 查看录制的bag文件 |
rosbag play | 回放录制的bag文件出来(-s参数选项跳过bag文件初始部分后再真正开始回放;-r选项,它允许你通过设定一个参数来改变消息发布速率) |
rosbag record -O subset /turtle1/command_velocity /turtle1/pose | (将数据记录保存到名为subset.bag;只录制这两个指定的话题) |
roswtf | 可以检查你的ROS系统并尝试发现问题(被编译或者通信之类的问题困扰的时候,可以尝试运行roswtf看能否帮你解决) |