大家好,我是小鱼,好久没写文章了,最近工作比较忙(同时兼顾底盘和机械臂开发),每次到家就想睡觉觉,就偷懒没有写文章,结果一早被小仙女截图警告了,这周不敢偷懒了。

今天早上和公司导航开发的负责人Z聊了下关于目前的导航通信架构,Z说目前自研的导航架构不能说是一个系统,因为没有通信中间件做支撑,前段时间小鱼做ROS2,也接触了ROS2的DDS中间件,来分析一下。

1.DDS是什么?

DDS,全称 Data Distribution Service (数据分发服务)。是由对象管理组 (OMG) 于 2003 年发布并于 2007 年修订的开分布式系统放标准。

通过类似于ROS中的话题发布和订阅形式来进行通信,同时提供了丰富的服务质量管理来保证可靠性、持久性、传输设置等。

2.DDS通信模型

DDS的模型是非常容易理解,我们可以定义话题的数据结构(类似于ROS2中的接口类型)。
下图中的例子:

  • Pos:一个编号id的车子的位置x,y

DDS的参与者(Participant)通过发布和订阅主题数据进行通信。

DDS的应用层通过DDS进行数据订阅发布,DDS通过传输层进行数据的收发。

DDS优势

  • 发布/订阅模型:简单解耦,可以轻松实现系统解耦
  • 性能:在发布/订阅模式中,与请求/回复模式相比,延迟更低,吞吐量更高。
  • 远程参与者的自动发现:此机制是 DDS 的主要功能之一。通信是匿名的、解耦的,开发者不必担心远程参与者的本地化。
  • 丰富的 Qos 参数集,允许调整通信的各个方面:可靠性、持久性、冗余、寿命、传输设置、资源…
  • 实时发布订阅协议 ( RTPS ):该协议几乎可以通过任何传输实现,允许在 UDP、TCP、共享内存和用户传输中使用 DDS,并实现不同 DDS 实现之间的真正互操作性。

3.FastDDS

eProsima Fast DDS是DDS(数据分发服务)规范的 C++ 实现。特点是开源。

明天小鱼带你一起安装和体验下DDS

参考资料:

  • 白皮书:https://www.eprosima.com/index.php/resources-all/whitepapers/dds
  • DDS-Docker:https://www.eprosima.com/index.php/component/ars/repository/eprosima-dds-suite/eprosima-dds-suite-1-0-0/ubuntu-eprosima-dds-suite-v1-0-0-tar

最全的开源DDS中间件-FastDDS相关推荐

  1. matlab 写入 MYSQL_阿里开源MySQL中间件Canal快速入门

    前言 距离上一篇文章发布又过去了两周,这次先填掉上一篇秒杀系统文章结尾处开的坑,介绍一下数据库中间件Canal的使用. 「Canal用途很广,并且上手非常简单,小伙伴们在平时完成公司的需求时,很有可能 ...

  2. MySQL开源数据传输中间件架构设计实践

    本文根据洪斌10月27日在「3306π」技术 Meetup - 武汉站现场演讲内容整理而成. 主要内容: 本次分享将介绍目前数据迁移.数据同步.数据消费,多IDC架构中数据复制技术所面临问题及现有的产 ...

  3. 开源分布式中间件 DBLE Schema.xml 配置解析

    文章来源:爱可生开源社区 作者:张沈波 1.DBLE项目介绍 DBLE 是企业级开源分布式中间件,江湖人送外号 "MyCat Plus":以其简单稳定,持续维护,良好的社区环境和广 ...

  4. Mycat - 数据库分库分表中间件,国内最活跃的、性能最好的开源数据库中间件

    转载自 Mycat - 数据库分库分表中间件,国内最活跃的.性能最好的开源数据库中间件 Mycat是什么 Mycat - 数据库分库分表中间件,国内最活跃的.性能最好的开源数据库中间件! 一个彻底开源 ...

  5. php授权验证系统源码-全解开源版

    简介: php授权验证系统源码全解开源版,正版授权查询管理. 安装方法:上传PHP环境,访问域名instll,根据提示自动安装! 网盘下载地址: http://kekewl.org/MBJa7XXNk ...

  6. Rtworld目录网全解开源2.0-功能齐全

    介绍: 今天带来的是某送分享出来的Rtworld目录网全解开源2.0,全网首发,功能齐全! 1.多前台模板切换,多跳转模板切换  2.系统日志管理,系统数据清理工具  3.多网站分类,多文章分类,具有 ...

  7. 开源无收入,全职开源仍是少数,企业开源成热门,开发者正在见证开源历史

    作者 | 何苗 出品 | CSDN(ID:CSDNnews) 近年来,"开源"成为了国内科技公司对外传播技术实力的热门词汇.从闭源到开源:从低调发展,到今年三月国家将"开 ...

  8. 2018 开源分布式中间件 DBLE 年报

    2017年10月24日,爱可生正式开源了我们自主研发的分布式中间件-DBLE,经过一年各行业用户业务应用沉淀,我们持续进行产品打磨与更新迭代,在2018年的最后一天,我们使DBLE拥有了更清晰的定位. ...

  9. 网课/网校/知识付费/在线教育系统,100%全功能开源,可免费商用

    一.开源项目简介 酷瓜云课堂,依托腾讯云基础服务架构,采用C扩展框架Phalcon开发,GPL-2.0开源协议,致力开源网课系统,开源网校系统,开源知识付费系统,开源在线教育系统. 酷瓜云课堂 - 网 ...

最新文章

  1. enumerate在python中的意思_Python中enumerate用法详解
  2. chmod 是一条在Unix系统中用于控制用户对文件的权限的命令
  3. leetcode 18 --- 4sum
  4. 前程无忧涉及网上黑市贩卖简历 盘前跌近5%
  5. 设计模式的七大设计原则:其五:开闭原则
  6. Hyper-v下安装网络流量监测图形分析工具 Cacti
  7. java font好看的字体_二十款漂亮的CSS字体样式
  8. 互联网行业定制网站需要多少钱
  9. 亚马逊运营推热新品的一些技巧分享值得卖家们收藏!
  10. 如何在微信公众号文章中怎么添加附件?
  11. android fresco 圆角,圆角和圆圈
  12. 管理者如何正确激励员工、调动其工作积极性?
  13. 大数据学习路线,如何学习大数据?
  14. 2022年软件测试行业的现状和前景?
  15. Python将字符串转换成dataframe
  16. Vscode markdown 添加、粘贴、导入图片
  17. Android-1-电话拨号器
  18. python1-n之间的素数输出_编程计算并输出1~n之间所有素数之和
  19. Mac安装Tmux的一次纪录
  20. python图像运算、图像融合

热门文章

  1. C语言高级专题(4)-------指针和数组的高级应用
  2. XE8-indy10中关于Connection Closed Gracefully的源码与解读
  3. Oracle 查看和扩展表空间
  4. 杰理之在anc模式下手机断开蓝牙耳机会有噗噗声问题【篇】
  5. 计算机网络基础面试题笔记
  6. 基础篇:操作系统、计算机网络、设计模式(二)(附参考答案)
  7. SQL SERVER 用户自定义函数(UDF)深入解析
  8. 【光伏】基于战争策略算法WSO优化光伏模型附matlab代码
  9. 用定时器T0查询方式P0口8位控制LED闪烁
  10. mongodb--读操作