本节介绍ROS topics和命令行工具rostopics及rqt_plot
1.理解ROS topics
topics是nodes间相互交流的工具之一,所以首先要运行nodes。运行前,记住运行roscore。
$ roscore
$ rosrun turtlesim turtlesim_node
$ rosrun turtlesim turtle_teleop_key
此时, turtlesim_node和turtle_teleop_key 这两个nodes通过topics进行交流。
turtle_teleop_key在一个topic上发布键盘路径信息,而turtlesim_node订阅了这个topic所以可以收到键盘信息。
用rqt_graph显示当前运行的nodes和topics.(electric及其以下版本用rxgraph)
新建一个terminal,$ rosrun rqt_graph rqt_graph
2.与topic相关的命令,以查看相关topic的详细内容
$ rostopic -h
$ rostopic list
$ rostopic list -v //详细信息
$ rostopic echo [topic]
$ rostopic type [topic] //得到的是message的类型
$ rosmsg show [type_name] //可查看该message的具体定义
(方便起见,以上两条可以写成一条:$ rostopic type [topic] | rosmsg show)
$ rostopic pub [topic] [msg_type] [args] //在指定topic上发消息
$ rostopic hz [topic] //显示消息发布的频率
3. 使用rqt_plot
rqt_plot显示了topics上发布的数据随时间变化情况。
$ rosrun rqt_plot rqt_plot