当前位置:网站首页>ROS2支持技术:DDS简述
ROS2支持技术:DDS简述
2022-08-01 16:43:00 【无水先生】
一、DDS基本概念
DDS是(Data Distribution Service)的简称;
实时系统的数据分发服务 (DDS) 是一个对象管理组 (OMG) 机器对机器(有时称为中间件或连接框架)标准,旨在实现可靠、高性能、可互操作、实时、使用发布-订阅模式的可扩展数据交换。
DDS 可满足航空航天和国防、空中交通控制、自动驾驶汽车、医疗设备、机器人技术、发电、模拟和测试、智能电网管理、交通系统以及其他需要实时数据交换的应用的需求。
二、DDS模型
DDS 是一种网络中间件,可简化复杂的网络编程。它实现了一个发布-订阅模式,用于在节点之间发送和接收数据、事件和命令。产生信息的节点(发布者)创建“主题”(例如,温度、位置、压力)并发布“样本”。 DDS 将样本交付给声明对该主题感兴趣的订阅者。
DDS 处理传输杂务:消息寻址、数据编组和解组(因此订阅者可以在与发布者不同的平台上)、传递、流控制、重试等。任何节点都可以是发布者、订阅者或同时是两者。
DDS 发布-订阅模型实际上消除了分布式应用程序的复杂网络编程。
DDS 支持超越基本发布-订阅模型的机制。主要好处是使用 DDS 进行通信的应用程序是分离的。很少需要花费设计时间来处理它们的相互交互。特别是,应用程序永远不需要有关其他参与应用程序的信息,包括它们的存在或位置。 DDS 透明地处理消息传递,无需用户应用程序的干预,包括:
- 确定谁应该接收消息
- 收件人所在的位置
- 如果无法传递消息会发生什么
DDS 允许用户指定服务质量 (QoS) 参数以预先配置发现和行为机制。通过匿名交换消息,DDS 简化了分布式应用程序并鼓励模块化、结构良好的程序。[需要引用] DDS 还可以在主节点发生故障时自动处理热交换冗余发布者。订阅者总是获得具有最高优先级的样本,其数据仍然有效(即其发布者指定的有效期尚未到期)。当它恢复时,它也会自动切换回主节点。
三、DDS的互操作性
DDS 的专有和开源软件实现都可用。其中包括 Ada、C、C++、C#、Java、Python、Scala、Lua、Pharo 和 Ruby 中的应用程序编程接口 (API) 和实现库。

DDS 供应商在 2009 年至 2013 年的 OMG Spring 技术会议上参加了互操作性演示。
在演示期间,每个供应商使用称为形状演示的测试套件发布和订阅彼此的主题。例如,一个供应商发布有关形状的信息,而其他供应商可以订阅该主题并将结果显示在他们自己的形状显示器上。每个供应商轮流发布信息,另一个订阅。有两件事使演示成为可能:DDS-I 或实时发布-订阅 (RTPS) 协议 以及使用通用模型的协议。
2009 年 3 月,三个供应商展示了从 2009 年 1 月开始实施 OMG 实时发布-订阅协议 2.1 版的各个独立产品之间的互操作性。演示包括在不同操作系统平台(Microsoft Windows 和Linux)并支持多播和单播网络通信。
DDS 互操作性演示使用了以下场景:
- 使用 Internet 协议 (IP) 与网络的基本连接
- 发现发布者和订阅者
- 请求者和提供者之间的服务质量 (QoS) 兼容性
- 延迟容忍网络
- 多个主题和主题实例
- 主题的专有所有权
- 主题数据的内容过滤,包括时间和地理
四、总结
DDS是(Data Distribution Service)的简称。底层依赖于IP协议;上层用DDS-I 或实时发布-订阅 (RTPS) 协议;通信质量有(QoS) 兼容性协议,通信双方可以互操作。不同操作语言可以拥有开放协议包。
边栏推荐
猜你喜欢

Vulnhub target drone: HARRYPOTTER_ NAGINI

AI艺术‘美丑’不可控?试试 AI 美学评分器~

08 Spark cluster construction

04 flink 集群搭建

Complete knapsack problem to find the number of combinations and permutations
![[Dark Horse Morning Post] Hu Jun's endorsement of Wukong's financial management is suspected of fraud, which is suspected to involve 39 billion yuan; Fuling mustard responded that mustard ate toenails](/img/d7/4671b5a74317a8f87ffd36be2b34e1.jpg)
[Dark Horse Morning Post] Hu Jun's endorsement of Wukong's financial management is suspected of fraud, which is suspected to involve 39 billion yuan; Fuling mustard responded that mustard ate toenails

AntDB数据库亮相24届高速展,助力智慧高速创新应用

Vulnhub靶机:HARRYPOTTER_ NAGINI

Flask框架实战

直播app开发,是优化直播体验不得不关注的两大指标
随机推荐
暑气渐敛,8月让我们开源一夏!
2022年深圳市临床医学研究中心申请指南
Path helper class for C#
Go 单元测试
8年软件测试工程师感悟 —— 写给还在迷茫中的朋友
泰国 好产品推荐!2022年最好的胶原蛋白评测有哪些? 喝出健康和美丽适合需要改善肌肤
年化收益高的理财产品
Daily Yuxian Big Defeat
【建议收藏】技术面必考题:多线程、多进程
金仓数据库 KingbaseES V8.3 至 V8.6 迁移最佳实践(4. V8.3 到 V8.6 数据库移植实战)
03 gp cluster construction
ESP8266-Arduino programming example-GA1A12S202 logarithmic scale analog light sensor
Financial products with high annualized returns
Complete knapsack problem to find the number of combinations and permutations
90后的焦虑,被菜市场治好了
二分练习题
在码云拉取代码后,调整了seata版本1.5.2。出现如下异常。是因为数据库表缺少字段导致的吗?
搭建云计算平台(云计算管理平台搭建)
C#的CSV格式文件帮助类
MUI 做手机返回操作栏