ROS常用调试命令记录

ROS常用调试命令记录

      • 1. 创建 ROS 工作空间
      • 2.ROS执行命令
      • 3.ROS信息命令
      • 4.ROS catkin命令
      • 5.ROS功能包命令
      • 6.ROS节点操作命令
      • 7.rostopic: ROS话题
      • 8.rosservice:ROS服务
      • 9.rosparam:ROS参数
      • 10.rosmsg: ROS消息信息
      • 11.rossrv:ROS服务信息
      • 12.rosbag:ROS日志信息
      • 13.ROS catkin命令
      • 14.ROS功能包命令
      • 15..Package 相关操作
      • 16.. Node 相关操作
      • 17.Topic 相关操作
      • 18..Service 相关操作
      • 19.Bag 相关操作
      • 20.ROS调试常用命令**
        • catkin_create_pkg
        • rosnode
        • rosrun
        • rqt_graph
        • rostopic
        • rosservice
        • rosparam
        • rosed
        • rosmsg

1. 创建 ROS 工作空间

启动 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

2.ROS执行命令

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

3.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系统

4.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

5.ROS功能包命令

命令 重要度 命令释义 详细说明
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系统)

6.ROS节点操作命令

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

7.rostopic: ROS话题

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

8.rosservice:ROS服务

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

9.rosparam:ROS参数

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

10.rosmsg: ROS消息信息

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

11.rossrv:ROS服务信息

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

12.rosbag:ROS日志信息

命令 详细说明
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文件修改成可以回放的文件

13.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

14.ROS功能包命令

命令 重要度 命令释义 详细说明
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系统)

15…Package 相关操作

创建 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 

16… Node 相关操作

查看所有正在运行的 Node

$ rosnode list

查看某节点信息

$ rosnode info [node_name]

运行 Node

$ rosrun [package_name] [node_name] [__name:=new_name]

17.Topic 相关操作

查看 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]

18…Service 相关操作

查看所以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

19.Bag 相关操作

录制所有topic变化

$ rosbag record -a

记录某些topic

$ rosbag record -O subset  

查看bag信息

$ rosbag info 

回放

$ rosbag play (-r 2) 

20.ROS调试常用命令**

catkin_create_pkg

package_name为创建的程序包名,[depend1] [depend2] [depend3]为依赖的其它程序包:

#catkin_create_pkg  [depend1] [depend2] [depend3]

rosnode

输出节点相关信息。

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

rosrun 允许你使用包名直接运行一个包内的节点(而不需要知道这个包的路径)

rqt_graph

ROS 系统中查看节点之间的发布-订阅关系,椭圆形表示节点,有向边表示其两端节点间的发布-订阅关系。注意rqt_graph本身就是一个节点。

$ rosrun rqt_graph rqt_graph

rostopic

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

rosservice

ROS服务相关信息。

Commands:
    rosservice args        输出服务器参数
    rosservice call        调用带参数的服务
    rosservice find        依据类型寻找服务
    rosservice info        输出服务的信息
    rosservice list        输出可用服务的信息
    rosservice type        输出服务类型
    rosservice uri         输出服务的

rosparam

通过rosparam存储并操作ROS 参数服务器(Parameter Server)上的数据。

Commands:
    rosparam set            设置参数
    rosparam get            获取参数
    rosparam load           从文件读取参数
    rosparam dump           向文件中写入参数
    rosparam delete         删除参数
    rosparam list           列出参数名

rosed

rosed编辑ROS中的文件

$ rosed [package_name] [filename]

rosmsg

输出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

你可能感兴趣的:(TurtleBot3,ROS)