当前位置:网站首页>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) 兼容性协议,通信双方可以互操作。不同操作语言可以拥有开放协议包。
边栏推荐
- 【paper】Cam2BEV论文浅析
- SQL函数 TIMESTAMPDIFF
- 网站备案后没有找到站点 您没有将此域名或IP绑定到对应站点! 配置文件未生效!
- untiy Resorces目录动态加载资源
- 在码云拉取代码后,调整了seata版本1.5.2。出现如下异常。是因为数据库表缺少字段导致的吗?
- 搭建云计算平台(云计算管理平台搭建)
- 【Unity,C#】哨兵射线触发器模板代码
- 2022 Strong Net Cup CTF---Strong Net Pioneer ASR wp
- Isometric graph neural networks shine in drug discovery
- Winform的UI帮助类——部分组件会使用到DevExpress组件
猜你喜欢

02 es 集群搭建

ESP8266-Arduino编程实例-MLX90614红外测温传感器驱动

沈腾拯救暑期档

04 flink cluster construction

My new book has sold 10,000 copies!

MUI as a mobile phone to return to the action bar

Vulnhub靶机:HARRYPOTTER_ NAGINI

C# LibUsbDotNet 在USB-CDC设备的上位机应用

C#中关于DevExpress的常用操作和帮助类项目工程内容说明

Ant discloses the open source layout of core basic software technology for the first time
随机推荐
03 gp cluster construction
MySQL INTERVAL Keyword Guidelines
使用Canvas实现网页鼠标签名效果
MySQL's maximum recommended number of rows is 2000w, is it reliable?
Winform message prompt box helper class
14年测试人最近的面试经历,值得借鉴√
【Unity,C#】哨兵点位循迹模板代码
C#的DateTime帮助类
比对软件-blastN结果详解
PAT 甲级 A1003 Emergency
mysql源码分析——聚簇索引
02 es cluster construction
搭建云计算平台(云计算管理平台搭建)
完全背包问题求组合数和排列数
Path helper class for C#
AntDB数据库亮相24届高速展,助力智慧高速创新应用
Go 单元测试
我的新书销量1万册了!
京东软件测试面试题,仅30题就已经拯救了50%的人
网站备案后没有找到站点 您没有将此域名或IP绑定到对应站点! 配置文件未生效!