ROS简单了解
Node: 节点,一个节点即为一个可执行文件,它可以通过ROS与其它节点进行通信。
Topics: 话题,节点可以发布消息到话题,也可以订阅话题以接收消息。
Master : 节点管理器,ROS名称服务(比如帮助节点找到彼此)。
- ROS Topics (ROS话题)
两个node就是通过Topic通信的。1节点(node),把功能发布到一个Topic,如果2节点(node)订阅了这个Topic,它就可以得到该功能的内容。
可以通过rqt_graph查看正在运行的node和topic:rosrun rqt_graph rqt_graph
- 引入rostopic:可以从ROS topic获取信息
如:rostopic echo:展示发布到topic上的数据,用法:rostopic echo [topic]
rostopic list:这个命令会列举出当前正在被发布和订阅的所有topic。
rostopic info:打印有关活动主题的信息包括发布者、订阅者、及Message类型。
- ROS Messages
node就是通过在topic上面发送message来交流的。
发布者和订阅者能够交流,是因为他们使用了相同的Message类型,topic的类型就取决于message的类型。message的类型可以由rostopic type来定义。
rostopic type: 它可以返回任何topic被发布的message类型。
用法:rostopic type [topic]
查看该message类型里面具体的成员变量:
rosmsg show [type]
msg文件是ROS中定义消息类型的文件
- Publisher的主要作用是针对指定话题发布特定数据类型的消息。
- 创建一个Subscriber以订阅Publisher节点发布的消息。
椭圆内的是节点,箭头代表消息流向