理解ROS node和topic
Posted yaked19
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了理解ROS node和topic相关的知识,希望对你有一定的参考价值。
理解ROS node
查看一下常用命令的帮助信息rosnode -h
roscore
rosrun turtlesim turtlesim_noderosnode list
rosrun turtlesim turtlesim_node __name:=yake_turtle //node改名字,单下划线为private name,两个单下划线表示系统保留的名字
Remapping Argument
rosrun turtlesim turtle_teleop_key
rosrun rqt_graph rqt_graph
rostopic type /turtle1/cmd_vel //得到topic的类型
Usage:
rostopic pub [topic] [msg_type] [args]
rostopic pub -r 1 /turtle1/cmd_vel geometry_msgs/Twist '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]' //最后直接TAB键可以补全格式
rosrun rqt_topic rqt_topic可以看到关于目前topic的信息基于qt图形界面来显示,它与rostopic list命令一样的效果,而且更加详细,包括了topic 的type信息和message的数据格式信息等,推荐。以下分别是rostopic list命令和rosrun rqt_topic rqt_topic的截图效果对比:
这里是rosnode list 和rosrun rqt_graph rqt_graph的对比结果,也是非常详细的:
在以上rqt_graph界面中,椭圆代表的是node,小矩形框代表topic名字,最大的矩形框是namespace的名字。
注意,改变node名字后,如这里turtle_sim改为yake_turtle,namespace的名字也变了。
另外的一个工具也是rqt中提供的,rosrun rqt_plot rqt_plot用来显示实时数据变化曲线。
注意,这里的显示并不是所有的topic都可以查看。例如这里仅能够查看pose和color sensor,而cmd_vel查看不了。
如果你想看看有关图形化工具,试试TAB补全(两次TAB键):
以上是关于理解ROS node和topic的主要内容,如果未能解决你的问题,请参考以下文章
ROS_tutorial03:ROS_Node_Topic_Message