ROS实操入门系列(二) 小乌龟操控原理及代码控制小乌龟走圆形路线
Topic通讯概念
Publisher实现
Subscriber实现
小乌龟介绍
调试工具操控小乌龟
代码操控小乌龟
Topic通讯概念
ros整个框架下,我们开发大量的节点,节点间需要有数据的交互,数据该如何交互,这个是ROS要解决的问题,也是核心问题。多个Node节点都需要到ROS Master进行注册。每个Node完成自己的功能逻辑。有的时候Node和Node间需要有数据的传递,这个时候ROS提供了Topic通讯机制。
Node间进行通讯,其中发送消息的一方,ROS将其定义为 Publisher(发布者) ,将接收消息的一方定义为 Subscriber(订阅者) 。考虑到消息需要广泛传播,ROS没有将其设计为点对点的单一传递,而是由 Publisher 将信息发布到 Topic(主题) 中,想要获得消息的任何一方都可以到这个 Topic 中去取数据。
Publisher实现
创建发布者:publisher = rospy.Publisher(topic_name, String, queue_size=1000) 第一个参数为topic名称,第二个参数为发 布的消息类型,第三个参数为tipic中消息队列最多的数量。(ros编码环境参考上一章)
通过rostopic工具进行调试发布者 (也可以通过rqt_topic进行调试)
查看所有的主题 rostopic list
打印主题所发布的信息 rostopi