ROS2在自动驾驶系统中的应用

2023-03-21 13:08:25 浏览数 (2)

ROS(Robot operating system)是一个通用的机器人操作系统,自动驾驶是其中一个应用领域。ROS1已经比较古老了,自动驾驶公司中提到的ROS通常指ROS2,它采用的是DDS架构。我所在的公司虽然未直接使用ROS2,但是自研的自动驾驶系统采用的也是DDS架构,算是在抽象的ROS2架构之上研发。

DDS(data distribution service)是一种以数据为中心的分布式通信协议。DDS采用的通信方式是多对多的单向数据交互,通信模型为分布式结构,没有中心节点,任意两个节点之间可以相互通信。概括DDS的工作模式,Publisher将数据发布到某个Topic,Subscriber从某个Topic订阅到数据。Publisher和Subscriber可能存在于不同的节点中,一个节点失效不会导致另一个节点崩溃。

RTPS协议(real-time publish subscribe) 是DDS在网络传输层的数据通信商使用到的协议,用于发布者和订阅者之间通过 UDP 等不可靠传输进行通信。这个协议的主要特性是:

  • 为实时应用程序配置的尽力而为和可靠的发布/订阅通信策略
  • 即插即用连接,以便网络的其他成员自动发现新应用程序
  • 模块化和可扩展性,支持网络中复杂和简单设备的持续增长
  • 可配置的网络行为和兼容的传输层:为每个部署选择最佳协议和系统 I/O 通道组合
  • 两个 API 层:一个专注于可用性的高级发布者/订阅者和一个提供对 RTPS 协议内部工作的细粒度访问的低级编写器-阅读器。

参考

https://www.zhihu.com/question/504713458

https://zhuanlan.zhihu.com/p/431734731

https://fiware-tutorials.letsfiware.jp/Fast-RTPS-Micro-RTPS/

0 人点赞