官术网_书友最值得收藏!

2.3.5 ROS-2中的通信

如果讀者認真地閱讀完了前一章的內(nèi)容,那么一定對ROS-1如何使用一個簡單的發(fā)布–訂閱模型實現(xiàn)通信的過程還很熟悉,其中master用于在節(jié)點之間建立連接和實現(xiàn)數(shù)據(jù)通信。如前所述,ROS-2的工作方式略有不同:采用DDS實現(xiàn)進行通信,因此使用的是DDS互操作實時發(fā)布訂閱協(xié)議(DDS Interoperability Real-Time Publish-Subscribe Protocol,DDSI-RTPS)。其目標是在節(jié)點之間建立安全而高效的通信,即使是在異構(gòu)平臺中也能可靠通信。DCPS模型如圖2.4所示。

圖2.4 DCPS模型

如圖2.4所示,此通信模型中還涉及其他的組件。如前所述,節(jié)點在ROS-2中被稱為參與者。每個參與者可以有一個或多個DDS話題,這些話題與ROS-1中的話題不同,既不是發(fā)布者也不是訂閱者,而是ROS-2中的代碼對象。

這些DDS話題可以在全局數(shù)據(jù)空間中獲取。可以通過這些話題創(chuàng)建DDS發(fā)布者和訂閱者,但它們不直接發(fā)布或訂閱話題。發(fā)布或訂閱話題的功能由被數(shù)據(jù)寫入器和數(shù)據(jù)讀取器完成。數(shù)據(jù)寫入器和數(shù)據(jù)讀取器以特定的消息類型寫入或讀取數(shù)據(jù),這就是在ROS-2中實現(xiàn)通信的方式。設計和構(gòu)建這些抽象層的目的是確保數(shù)據(jù)的安全高效傳輸。用戶可以在每個層次上設置QoS配置參數(shù),以提供性能最優(yōu)的配置粒度。

主站蜘蛛池模板: 玉溪市| 徐闻县| 饶阳县| 诏安县| 荃湾区| 虹口区| 广昌县| 兴安县| 广平县| 辽中县| 无锡市| 利辛县| 甘孜| 务川| 平罗县| 汾阳市| 临猗县| 龙山县| 永定县| 平乐县| 霍州市| 平果县| 浦江县| 米泉市| 醴陵市| 襄城县| 镶黄旗| 梅州市| 油尖旺区| 马鞍山市| 宁强县| 民县| 旌德县| 黄梅县| 石林| 新昌县| 武穴市| 双流县| 信宜市| 卢氏县| 大田县|