自动驾驶---基于dds/ros的通信中间件

1 背景

        DDS(数据分发服务,Data Distribution Service)和ROS(机器人操作系统,Robot Operating System)是两种在各自领域内具有重要影响的技术。它们是两种不同的中间件,并且在分布式系统、尤其是机器人和自动驾驶车辆的系统中发挥着关键作用。

2 DDS(数据分发服务)

(1)概述

        DDS是一种用于分布式系统高效、可靠、实时数据通信的协议。它采用发布/订阅模式,支持多种数据类型,广泛应用于工业自动化、航空航天、智能交通、医疗和国防等领域。DDS通过分布式发现机制和服务质量(QoS)策略,确保数据传输的实时性和可靠性,并具有广泛的适用性和可扩展性。

(2)核心概念和架构

核心概念

  • Domain:全局数据空间,代表一个通信平面,由Domain ID唯一标识。
  • Domain Participant:代表域内通信的应用程序的本地成员身份。
  • Topic:数据的抽象概念,由TopicName标识,关联相应数据的数据类型。
  • DataWriter:数据写入者,将需要发布的主题数据从应用层写入到DataWriter中。
  • DataReader:数据读取者,从订阅者得到主题数据,随之传给应用层。
  • Publisher:发布者,发布主题数据。
  • Subscriber:订阅者,订阅主题数据。

架构

  • 应用层:使用DDS API在分布式系统中实现通信的用户应用程序。
  • DDS层:DDS通信中间件的稳健实现,允许部署一个或多个DDS域。
  • RTPS层:实施Real-Time Publish-Subscribe protocol(实时发布-订阅协议),以实现与DDS应用程序的互操作性。
  • 传输层:DDS可用于各种传输协议,如UDP、TCP、SHM。

(3)通信流程

        基于DDS的分布式系统中,节点发布自己想要发布的(或想要订阅的)Topic和QoS。DDS网络上已存在的节点收听到这个请求后,与自己的发布订阅情况及QoS标准进行对照。如果新加入节点的Topic信息与自己相关且QoS标准符合要求,则主动与新加入的节点进行通信,将自己的Topic信息发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能汽车人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值