在车载领域使用的通信协议中,DDS绝对排的上号.

对于面向服务的通信协议中,DDS与SOME/IP各自的优劣.

DDS能否替换SOME/IP等问题也随之而来。今天来介绍下什么是DDS?

DDS

DDS全称:Data Distribution Service 数据分发服务,是分布式实时通信中间件协议.

官网传送门:https://www.dds-foundation.org/

采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS服务质量策略,以保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。

DDS最早应用在美国海军系统,用于解决军舰系统复杂网络环境中大量软件升级的兼容性问题。

在汽车领域,2018年Adaptive AUTOSAR引用了DDS,作为可选择的通信方式之一。目前国内已有主机厂开始研究,主要针对自动驾驶相关需求,工具方面,在汽车电子领域常用的工具厂商也在开发这部分内容。不仅是汽车领域引入DDS,在机器人开发领域,最新升级的ROS2也引入了DDS中间件来传递信息。

源码路径

OpenDDS 是 Object Management Group (OMG) 数据分发服务 (DDS) 的开源实现,由 Object Computing Incorporated (OCI) 开发并拥有版权。

OpenDDS 是一种多语言和多平台的实现。OMG DDS 规范旨在适用于要求包括使用发布和订阅模型的实时、大容量、稳健性、容错数据分发的系统。

最新版本可从 OpenDDS 下载站点获得:https://download.objectcomputing.com/OpenDDS/和GitHub

  • OpenDDS-3.20.zip (Windows)
  • OpenDDS-3.20.tar.gz (Linux/macOS)

以前的版本可在 OpenDDS 下载站点的以前版本部分获得:https://download.objectcomputing.com/OpenDDS/previous-releases/或GitHub。

DDS架构

OMG 数据分发服务规范将 DDS 分为两个独立的架构层。

  • 下层是数据中心发布和订阅 (DCPS) 层,包含发布/订阅通信机制的类型安全接口。
  • 上层是数据本地重建层(DLRL),它使应用程序开发人员能够在 DCPS 层之上构建本地对象模型,从而使应用程序免受 DCPS 知识的影响。每一层都有自己的一组概念和使用模式,因此可以分别讨论两层的概念和术语。

以数据为中心的发布和订阅 - DCPS

DCPS 层负责有效地将数据从发布者传播到感兴趣的订阅者。

它是使用发送端的发布者数据写入者以及接收端的订阅者数据读取者的概念来实现的 。

DCPS 层由一个或多个数据域组成,每个数据域都包含一组通过 DDS 进行通信的参与者(发布者和订阅者)。每个实体(即发布者或订阅者)都属于一个域。每个进程对于它所属的每个数据域都有一个域参与者。

在任何数据域中,数据由主题标识,主题是特定类型的域段,允许发布者和订阅者明确引用数据。在域中,主题将唯一的主题名称、数据类型和一组服务质量 (QoS) 策略与数据本身相关联。每个主题仅与一种数据类型相关联,尽管许多不同的主题可以发布相同的数据类型。发布者的行为由与特定数据源的发布者、数据写入者和主题元素关联的 QoS 策略确定。同样,订阅者的行为由与订阅者、数据读取器和特定数据接收器的主题元素相关联的 QoS 策略确定。

“发布”(Publisher 和 DataWriter 的关联)将 Samples 发送到一个或多个“订阅”(DataReader 和 Subscriber 的关联)。

系统的基本组成部分

我们先熟悉下几个专有名词:

  • Domain
    代表一个通信平面,由Domain ID唯一标识,只有在同一个域内的通信实体才可以通信;如果考虑车内通信,可以只划分1个Domain,也可以按照交互规则或其他规则,定义多个Domain;
  • Domain Participant
    代表域内通信的应用程序的本地成员身份,简单来说,就是说明同一数据域内的通信成员;
  • Topic
    是数据的抽象概念,由TopicName标识,关联相应数据的数据类型(DataType),如果把车内所涉及的所有Topic集合在一起,这样就形成一个虚拟的全局数据空间“Global Data Space”,进一步弱化了节点的概念,所以域参与者已经不是节点的概念了;
  • DataWriter
    数据写入者,类似缓存,把需要发布的主题数据从应用层写入到DataWriter中;
  • DataReader
    数据读取者,同样可以理解为一种缓存,从订阅者得到主题数据,随之传给应用层;
  • Publisher
    发布者,发布主题数据,至少与1个DataWriter关联,通过调用DataWriter的相关函数将数据发出去;
  • Subscriber
    订阅者,订阅主题数据,至少与1个DataReader关联。当数据到达时,应用程序可能忙于执行其他操作或应用程序只是等待该消息时,这样就会存在两种情况,同步访问和异步通知
    基本组件是 Topic、Publisher、Subscriber、DataWriter 和 DataReader。

注意:

  • 一个 Publisher 可以有多个 DataWriter
  • 一个订阅者可以有多个 DataReader
  • DataWriter 只有一个Topic
  • DataReader 只有一个Topic
  • 一个 Topic 可以有许多 DataReader 和 DataWriter
  • Publisher可以有许多关联的Subscriber
  • 一个Subscriber可以有许多关联的Publisher

QoS服务质量

服务质量 (QoS) 策略控制通过系统的数据流。

Topic、DataReader、DataWriter、Publisher和Subscriber都有QoS策略。

Publisher、DataWriter和Topic的QoS策略控制发送端的数据。

Subscriber、DataReader 和 Topic 的 QoS 策略控制接收端的数据。

目前共支持22种QoS策略,每种策略都可以应用在不同的角色上,而针对同一角色,可单独使用一种QoS,也可以组合使用多种QoS策略。

例如RELIABILITY (可靠性):

参数定义:Kind = RELIABLE

如果当网络发生错误, DataReader可能无法收到DataWriter的样本数据时,会对样本数据进行重发,保证DataReader能够收到数据;

参数定义:Kind = BEST_EFFORT
如果当网络发生错误, DataWriter不会重新发送丢失的样本数据,这样,无法保证DataReader能够收到数据;

智能汽车之分布式实时通信DDS技术基本概念介绍相关推荐

  1. 【自动驾驶】4.分布式实时通信——DDS技术

    近期,在汽车通信圈讨论较火的话题中,DDS绝对排得上号.而对于面向服务的通信协议,DDS与SOME/IP各自的优劣?DDS能否替换SOME/IP等问题也随之而来.孰优孰劣,今天暂且不探讨这些问题,我们 ...

  2. 《中国人工智能学会通讯》——2.2 智能汽车人机交互与人机协同技术

    2.2 智能汽车人机交互与人机协同技术 作为应用最广.保有量最大的现代交通工具,汽车在极大地方便人类生活的同时也带来了大量问题,如交通事故.交通拥堵和环境污染等.每年发生的道路交通事故给人们的生命和财 ...

  3. 《中国人工智能学会通讯》——2.5 智能汽车人机交互与人机协同技术 的研究进展...

    2.5 智能汽车人机交互与人机协同技术 的研究进展 汽车车载人机交互系统是信息化技术发展的产物,实现了人与车之间的对话功能.驾驶员可通过该系统,掌握车辆状态信息(车速.里程.当前位置.车辆保养信息等) ...

  4. 第十五届全国大学生智能汽车竞赛全国总决赛提交技术报告通知

    第十五届全国大学生智能汽车竞赛 获得全国总决赛资格和创意比赛队伍 提交技术报告的通知 参加全国总决赛的竞速赛和创意赛的每支队伍必须提交竞赛车模制作技术报告. 这两个文档应在2019年8月27日前通过邮 ...

  5. 第十六届全国大学生智能汽车竞赛全国总决赛提交技术报告通知

    提交技术报告的通知   参加全国总决赛的竞速赛和创意赛的每支队伍必须提交竞赛车模制作技术报告. 这个文档应在2021年8月25日前通过电子邮件发送给全国总决赛组委会.   1. 全国总决赛组委会联系方 ...

  6. 智能汽车雷达解析-立哥技术

    前言:汽车行业是我国的支柱产业之一,也是上海的支柱产业.上海的辉煌,既是欧风美雨的产物,也是一代代中国人奋斗的结晶.除了特斯拉在临港设立的"亚洲第一超级工厂",上汽也和美国.德国等 ...

  7. 对话美摄科技侯康:提升技术,拓展场景 美摄智能汽车视频处理方案已就位

    美摄科技成立于2014年,是一家专注智能视音频整体解决方案的国家高新技术企业,致力于视音频与AI技术的融合与创新,目前已服务海内外数千家企业客户.在视音频领域深耕多年,美摄科技凭借雄厚的技术实力,在当 ...

  8. 智能汽车预期功能安全保障关键技术

    本文作者邵文博.李骏.张玉新 由于性能局限.规范不足或可合理预见误用导致的预期功能安全问题层出不穷,严重阻碍了智能汽车的快速发展.本综述聚焦智能汽车预期功能安全保障关键技术,分别从系统开发.功能改进和 ...

  9. 第十五届全国大学生智能汽车竞赛技术报告-8月30日

    作者:卓晴博士,清华大学自动化系 更新时间:2020-08-30 Sunday 根据< 第十五届全国大学生智能汽车竞赛全国总决赛提交技术报告通知 >,截止到8月29号,接收到225分参赛队 ...

最新文章

  1. android设备未指定怎么办,APKpath未指定为模块“示例 – 示例”
  2. R语言配置可视化内容中的字体为斜体(italic)实战:标题斜体、轴标签斜体、文本内容斜体、或者部分内容斜体
  3. C语言哈希表的简单实现——数组+链表(拉链法)
  4. OpenCV 双边滤波
  5. springboot session默认失效时间_Spring Boot 整合 Redis,用起来真简单
  6. 若川的2017年度总结,一如既往
  7. [2021.1.17多校省选模拟4]T1(莫比乌斯反演/组合数学/枚举倍数)
  8. centos-安装ifconfig
  9. python第十八天
  10. 计算机组成原理—Cache主存块中的替换算法
  11. Semaphore源码解读
  12. ansible中变量注册 register的使用
  13. 查看计算机内存条型号,查看本机内存条型号_查看电脑内存条型号
  14. ModuleNotFoundError: No module named ‘项目同名.settings’
  15. 13.罗马数字转整数
  16. 51矩阵键盘数码管动态显示
  17. 2000-2020年上市公司常用控制变量数据整理
  18. 推荐12个国外免费自助建站网站
  19. 倒装结构(全倒装和部分倒装口诀)
  20. revi的插件【参数同步】一键多类别明细表

热门文章

  1. 云电脑如何助力游戏厂商优化办公?
  2. Java(运用ArrayList集合)实现学生系统搜索学生信息功能
  3. 雪碧图 以及 渐变色
  4. 仿抖音截取音频时长的控件
  5. 如何在Linux上使用traceroute命令
  6. java怎么上传word文档,java上传word文档
  7. 计算机信息素养的三个层次是,信息素养的三个层面包括( A ).doc
  8. 「 LaTex 」写论文,Springer杂志插入ORCID
  9. go get github... permission denied问题解决
  10. ARP SpoofDoS攻击编程实战