ROS原理及其应用
ROS通信机制
ROS底层的通信是通过HTTP完成的,因此ROS内核本质上是一个HTTP服务器,它的地址一般是http://localhost:11311/。
ROS的运行架构师一种使用ROS通信实现节点间点对点的松耦合网络连接的处理架构,提供多种类型通信机制,包括基于主题的异步数据流通信、基于服务的同步RPC通信及基于参数服务器的数据传递,支持实现不同需求的网络连接。
基于主题的异步数据流通信时ROS的主要通信方式,实现了节点间多对多的连接,并且采用单向数据流传送数据。
ROS针对实时性要求高的场景还提供了一种通信方式——actionlib,它为优先级任务提供了标准接口。
基于主题的异步数据通信
基于主题的数据流通信主要通过以下四步来完成。
- 通过XMLRPC,发布者与订阅者在Master上注册,订阅者与发布者协商共同支持的协议。
- 发布者与订阅者通过互相发送header,建立TCPROS/UDPROS连接。
- 经过以上两步,连接已经建立成功,可以进行数据传送。
- 最后调用回调函数队列中已经注册的回调函数来处理接收到的消息。
基于服务的同步RPC通信
基于参数服务器的数据传递
参数服务器运行在节点管理器上,主要实现了一些全局参数和配置文件的存储,实现过程比较简单。
ROS坐标变换体系及其实现

浙公网安备 33010602011771号