无人驾驶笔记系列(四):Fast-RTPS初体验
背景介绍
ROS1在节点启动前,必须通过roscore启动一个master节点,通过master管理节点之间的通信。这样master节点如果出现问题,其他节点之间的通信也会出现问题。同时,通讯的实时性也不是很好。因此,ROS2和apollo框架都用上了DDS通讯。
关于什么是DDS,英文全称(Data Distribution Service for Real-Time Systems)我也不在此啰嗦了,推荐读下这篇博客。
DDS简要介绍
总结下特点:
- DDS采用发布/订阅体系架构,强调以数据为中心。
- DDS使应用在需要进行数据访问的时候提供一个虚拟的全局数据池概念,事实上并没有一个存储所有数据的全局设备。每个应用仅在本地存储它需要的数据,当整个网络内的任何应用需要他们时,提供给对应应用。所有的数据分发工作全部都由DDS代劳了。
- 网络中的数据对象用主题做标识,分布式节点在全局数据空间中发布或订阅感兴趣的主题信息。各个节点在逻辑上无主从关系,点与点之间都是对等关系,通信方式可以是点对点,点对多,多对多,在Qos策略的控制下建立连接,自动发现和配置网络参数。
当然DDS之前一种协议,具体实现有好多版本,如:
RTI公司的DDS方案:美国海上战争中心(NSWC)高性能分布式计算系统(HiPer-D),美军都在用,应该很牛吧。OpenDDS:OpenDDS是使用C++语言针对OMG数据分发服务(DDS)的一种开源实现。由OCI公司设计和维护,http://www.opendds.org 官网。尽管本身O
Fast-RTPS与DDS实战

本文深入探讨了DDS(Data Distribution Service)的特点及其在实时系统中的应用,特别是Fast-RTPS作为DDS的一种高效实现,如何在分布式环境中实现数据的发布与订阅。文章通过实际操作,演示了如何安装配置eProsima FastRTPS,并提供了helloworld实例的运行步骤,展示了其数据通信的基本原理。
最低0.47元/天 解锁文章
1020

被折叠的 条评论
为什么被折叠?



