ROS有许多调试工具来为ROS调试你的工具:
1、rosnode
参数 | 用法 | 作用 |
list | rosnode list | 查看当前运行了哪些节点 |
info | rosnode info node_name | 查看该节点发布/接受哪些话题以及服务 |
kill | rosnode kill node_name/-a | 关闭某个节点或着关闭当前所有节点(使用参数-a) |
注意有时候可能你叉掉了程序,但是用rosnode list可以发现这个节点并没有真正关闭,可以用rosnode kill关闭程序。
2、针对话题发布:rostopic
参数 | 函数 | 作用 |
list | rostopic list | 罗列出当前所有的话题 |
echo | rostopic echo topic_name | 打印指定话题topic_name的发布/接收的内容 |
info | rostopic info topic_name | 查看指定话题topic_name的的具体信息 |
type | rostopic type topic_name | 查看话题发布的消息的类型msg_type |
pub | rostopic pub topic_name msg_type msg | 发布指定话题topic_name的指定内容msg_type msg |
topic_name取ros::init()中的节点名。
用pub时候,先把topic_name打出,再安space按tab获取后面的信息,直接修改即可,会在其中输出一次,使用参数-r number可以获得输出频率为number次每秒的输出。
3、针对服务器发布rosservice
命令 | 详细说明 |
rosservice list | 显示活动的服务信息 |
rosservice info [服务名称] | 显示指定服务的信息 |
rosservice type [服务名称] | 显示服务类型 |
rosservice find [服务类型] | 查找指定服务类型的服务 |
rosservice uri [服务名称] | 显示ROSRPC URI服务 |
rosservice args [服务名称] | 显示服务参数 |
rosservice call [服务名称] [参数] | 用输入的参数请求服务 |
服务类型为我们写的msg的内容,比如我们前面的示例便是Addints。
call的作用约等于调用get.cpp的内容