流程图
角色
- 管理者–ROS Master
- 发布者–Talker
- 订阅这–Listenner
流程简述
- Talker在master处注册(advertise)自身信息,这个信息包含了:“话题” 和 Talker的RPC 地址
- Listener也在master处注册(subscribe)信息,此信息只包含“话题”
- master对Talker和Listener的“话题”进行匹配,匹配成功即把Talker的RPC地址发给Listener
- Listener 根据RPC地址给Talker发送TCP的请求链接
- Talker响应这个请求,把TCP srever地址发送给Listener
- Listener根据地址进行TCP连接
- 成功进行数据通信
注意事项
- 数据传输前用的是RPC 协议,传输时用TCP协议
- 流程1和2没有顺序关系,Talker和Listener谁先注册没有关系,master是根据话题进行匹配的
- Talker和Listener可以存在多个
- Talker和Listener建立链接后master可以关闭
在ROS中关注的点
- 流程已经封住了,直接调用
- 进行话题的设置
- Talker的实现
- Listener的实现
- 通信消息的载体,即数据