启动 ROS
$ roscore
创建工作环境
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
编译 ROS 程序
$ cd ~/catkin_ws
$ catkin_make
添加程序包到全局路径
$ echo "source catkin_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
命令 重要度 命令释义 详细说明
roscore ★★★ ros+core master(ROS名称服务) + rosout(日志记录) + parameter server(参数管理)
rosrun ★★★ ros+run 运行节点
roslaunch ★★★ ros+launch 运行多个节点及设置运行选项
rosclean ★★☆ ros+clean 检查或删除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系统
命令 重要度 详细说明
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 list 查看活动的节点列表
rosnode ping [节点名称] 与指定的节点进行连接测试
rosnode info [节点名称] 查看指定节点的信息
rosnode machine [PC名称或IP] 查看该PC中运行的节点列表
rosnode kill [节点名称] 停止指定节点的运行
rosnode cleanup 删除失连节点的注册信息
命令 详细说明
rostopic list 显示活动的话题目录
rostopic echo [话题名称] 实时显示指定话题的消息内容
rostopic find [类型名称] 显示使用指定类型的消息的话题
rostopic type [话题名称] 显示指定话题的消息类型
rostopic bw [话题名称] 显示指定话题的消息带宽(bandwidth)
rostopic hz [话题名称] 显示指定话题的消息数据发布周期
rostopic info [话题名称] 显示指定话题的信息
rostopic pub [话题名称] [消息类型] [参数] 用指定的话题名称发布消息
命令 详细说明
rosservice list 显示活动的服务信息
rosservice info [服务名称] 显示指定服务的信息
rosservice type [服务名称] 显示服务类型
rosservice find [服务类型] 查找指定服务类型的服务
rosservice uri [服务名称] 显示ROSRPC URI服务
rosservice args [服务名称] 显示服务参数
rosservice call [服务名称] [参数] 用输入的参数请求服务
命令 详细说明
rosparam list 查看参数列表
rosparam get [参数名称] 获取参数值
rosparam set [参数名称] 设置参数值
rosparam dump [文件名称] 将参数保存到指定文件
rosparam load [文件名称] 获取保存在指定文件中的参数
rosparam delete [参数名称] 删除参数
命令 详细说明
rosmsg list 显示所有消息
rosmsg show [消息名称] 显示指定消息
rosmsg md5 [消息名称] 显示md5sum
rosmsg package [功能包名称] 显示用于指定功能包的所有消息
rosmsg packages 显示使用消息的所有功能包
命令 详细说明
rossrv list 显示所有服务
rossrv show [服务名称] 显示指定的服务信息
rossrv md5 [服务名称] 显示md5sum
rossrv package [功能包名称] 显示指定的功能包中用到的所有服务
rossrv packages 显示使用服务的所有功能包
命令 详细说明
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文件修改成可以回放的文件
命令 重要度 详细说明
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系统)
创建 Package 并编译
$ cd ~/catkin_ws/src
$ catkin_create_pkg [depend1] [depend2] [depend3]
$ cd ~/catkin_ws
$ catkin_make
查找 Package
$ rospack find [package name]
查看 Package 依赖
$ rospack depends
$ rospack depends1
查看所有正在运行的 Node
$ rosnode list
查看某节点信息
$ rosnode info [node_name]
运行 Node
$ rosrun [package_name] [node_name] [__name:=new_name]
查看 rostopic 所有操作
$ rostopic -h
查看所有 Topic 列表
$ rostopic list
图形化显示 topic
$ rosrun rqt_graph rqt_graph
$ rosrun rqt_plot rqt_plot
查看某个 Topic 信息
$ rostopic echo [topic]
查看 Topic 消息格式
$ rostopic type [topic]
$ rosmsg show [msg_type]
向topic发布消息
$ rostopic pub [-1] [-r 1] -- [args] [args]
查看所以service操作
$ rosservice -h
查看 service 列表
$ rosservice list
调用 service
$ rosservice call [service] [args]
查看 service 格式并显示数据
$ rosservice type [service] | rossrv show
设置service parameter
$ rosparam set [parame_name] [args] + rosservice call clear
获得parameter
$ rosparam get [parame_name]
加载parameter
$ rosparam load [file_name] [namespace]
删除parameter
$ rosparam delete
录制所有topic变化
$ rosbag record -a
记录某些topic
$ rosbag record -O subset
查看bag信息
$ rosbag info
回放
$ rosbag play (-r 2)
package_name为创建的程序包名,[depend1] [depend2] [depend3]为依赖的其它程序包:
#catkin_create_pkg [depend1] [depend2] [depend3]
输出节点相关信息。
Commands:
rosnode ping test connectivity to node
rosnode list 获取运行节点列表
rosnode info 获取特定节点的信息
rosnode machine list nodes running on a particular machine or list machines
rosnode kill 终止节点
rosnode cleanup 清除以终止的结点
rosrun 允许你使用包名直接运行一个包内的节点(而不需要知道这个包的路径)
ROS 系统中查看节点之间的发布-订阅关系,椭圆形表示节点,有向边表示其两端节点间的发布-订阅关系。注意rqt_graph本身就是一个节点。
$ rosrun rqt_graph rqt_graph
rostopic命令工具能让你获取有关ROS话题的信息。
Commands:
rostopic bw 测量消息发布所占用的带宽
rostopic delay display delay of topic from timestamp in header
rostopic echo 查看某个话题上发布的消息
rostopic find find topics by type
rostopic hz 测量消息发布的频率
rostopic info 获取更多关于话题的信息
rostopic list 获取当前活跃的话题
rostopic pub publish data to topic
rostopic type print topic type
ROS服务相关信息。
Commands:
rosservice args 输出服务器参数
rosservice call 调用带参数的服务
rosservice find 依据类型寻找服务
rosservice info 输出服务的信息
rosservice list 输出可用服务的信息
rosservice type 输出服务类型
rosservice uri 输出服务的
通过rosparam存储并操作ROS 参数服务器(Parameter Server)上的数据。
Commands:
rosparam set 设置参数
rosparam get 获取参数
rosparam load 从文件读取参数
rosparam dump 向文件中写入参数
rosparam delete 删除参数
rosparam list 列出参数名
rosed编辑ROS中的文件
$ rosed [package_name] [filename]
输出ROS Message相关信息。
Commands:
rosmsg show 查看某种消息类型的详情
rosmsg list List all messages
rosmsg md5 Display message md5sum
rosmsg package List messages in a package
rosmsg packages List packages that contain messages