主题:是节点间用来传输数据的总线,通过主题进行消息路由不需要节点之间直接连接。
也就意味着发布者和订阅者之间不需要知道彼此是否存在。同一个主题也可以有很多订阅者。
每个主题都是强类型的,发布到主题上的消息必须与主题的ROS消息类型相匹配,并且节点只能接收类型匹配的消息。
ROS的主题传输方式:TCP/IP和UDP传输。
基于TCP传输称为TCPROS,使用TCP/IP长连接。这是ROS默认的传输方式。
基于UDP传输称为UDPROS,它是低延迟高效率的传输方式,但可能产生数据丢失,所以适合远程操控任务。
ROS有rostopic工具用于主题操作,它是一个命令行工具,允许我们获取主题的相关信息或直接发布数据。
1)rostopic bw /topic 显示主题所使用的带宽。
2)rostopic echo /topic 将消息输出到屏幕。
3)rostopic find message_type 按照类型查找主题
4)rostopic hz /topic 显示主题的发布率。
5)rostopic info /topic 输出活动主题、发布主题、主题订阅者和服务信息
6)rostopic list 输出活动主题的列表
7)rostopic pub /topic type args 将数据发布到主题。它允许我们直接从命令行中对任意主题创建和发布数据。
8)rostopic type /topic 输出主题的类型,或者说主题中发布的消息类型。