在ROS2中,基于DDS(Data Distribution Service)的通信架构代替了ROS1中基于master节点的通信模式,这为系统带来了更高的容错性和灵活性。DDS作为一种用于实时和嵌入式系统发布-订阅式通信的行业标准,采用了RTSP(Real-Time Publish-Subscribe)协议,与ROS1的中间层通信模式相似,但无需借助master节点来实现节点间通信。
主题(Topic):想象一下主题就是一场盛大的汽车展览会。每辆车都有自己的展台,这就是主题。制造商(发布者)在展台上展示最新款车型,而车迷们(订阅者)可以选择自己感兴趣的展台,不错过任何精彩瞬间。发布者(Publisher)和订阅者(Subscriber):发布者就像是汽车制造商,他们负责把最新的汽车信息发布到展会上。而订阅者就是狂热的车迷,他们通过关注发布者的展台,第一时间获取最新鲜的汽车资讯。数据写入者(DataWriter)和数据阅读者(DataReader):数据写入者就好比汽车设计师,他们将设计图纸(数据)制作成汽车(DDS消息)。而数据阅读者就是车手,他们通过阅读设计图纸(消息),了解汽车的性能和特点。域(Domain):域就像是车展的展馆,不同的展馆展示不同类型的车辆。你要是对越野车感兴趣,就去越野车展馆。域就是为了让车迷们更有针对性地选择他们感兴趣的车型。QoS(Quality of Service):QoS就像是选购汽车时的配置选择。你想要更快的速度,就选择高速公路模式;你更注重省油,就选择经济模式。QoS就是根据你的需求,定制数据传输的“车辆配置”。服务发现(Discovery Service):发现服务就好比车展的导览图,告诉你每个展台都展示了哪些车型。当你迷路时,导览图就是你的“车展地图”。实时性和可靠性:DDS支持实时数据传输,就像车迷们在现场一样,能够第一时间感受到每台车的动态。而可靠性就是保证你看到的每辆车都是真实可靠的,不会出现虚假广告。