C C++最全深入浅出 Fast DDS网络协议(入门篇)_fastdds ros1通讯,2024年GitHub上那些优秀C C++开源库总结

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

如果你是机器人领域的学者,那一定听说过ROS1和ROS2,但这两个有什么区别呢?
ROS1作为一个通信中间件,在两两节点建立TCP/UDP连接之前,通过发布者和订阅者通过xmlRPC和master进行数据交换和查询,待匹配到相同的需求(topic)时,Master向订阅者提供发布者的地址和信息,然后两者再通过xmlRPC进行建立TCP/UDP的连接。
但是,在ROS1在工业领域并不能满足实时、安全、认证、可靠。所以在ROS2中引入了Fast
DDS网络协议。我们知道其实ROS最重要的便是通信架构方式,也就是说是如何对两两节点(进程)进行数据交互的。
我们就一起来了解一下Fast DDS网络协议

在汽车电子领域中,通信中间件网络协议当前最火热的无非就两种:SOME/IP、DDS,而Fast DDS只是众多DDS网络协议开源的标准实现之一。所以我们先来讲解一下DDS是什么?

文章目录

1. 协议和模型

1.1 What is DDS?

DDS采用的通信模式是多对多的单向数据交流,由产生数据的应用发布到消耗数据的应用本地缓存中。信息流是由数据交换的实体之间建立的质量服务Quality of Service(QoS)来管理的。

作为一个以数据为中心的模型,DDS建立在一个所有感兴趣的应用程序都可以访问“全局数据空间”的概念之上。想要贡献数据的应用程序声明成发布者,想要消耗数据的应用程序声明为订阅者。每次发布者发布新的数据时,中间件会通知所有对该数据感兴趣的订阅者。

数据通信发生在多个域之间,也就是说将所有需要相关通信的分布式应用程序孤立抽象平面中,只有属于同一域的实体才能进行交互,订阅数据的实体和发布数据的实体之间的匹配由主题(topic)来中介。主题是明确的标识符,它将域中唯一的名称与数据类型和一组附加的数据特定QoS相关联。

DDS实体被建模为类或类型化接口,后者意味着更有效的资源处理,因为在执行前了解数据类型允许提前分配内存,而不是动态分配。

DDS是一个以**Data-Centric Publish Subscribe (DCPS)**数据为中心的发布、订阅模型,在此模型中,有三个实体:

  1. publication entities(发布实体):定义消息生成对象及相关属性
  2. ubscription entities(订阅实体):定义消息消费对象及相关属性
  3. configuration entities(配置实体): 定义传输相关的属性如 Topic 类型,通信的 QoS(服务质量)

DDS 使用 QoS 来定义 DDS 实体的行为特征。 QoS 由单独的 QoS 策略(源自 QoSPolicy 的类型的对象)组成。

1.2 The DCPS conceptual model

在DCPS模型中,为通信应用程序系统的开发定义了四个基本元素。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 15
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值