利用ROS 2實(shí)施AMR部署需要注意的事項(xiàng)
時(shí)間:2022-04-29 23:42:01 | 來(lái)源:行業(yè)動(dòng)態(tài)
時(shí)間:2022-04-29 23:42:01 來(lái)源:行業(yè)動(dòng)態(tài)
ROS 2將ROS 1從學(xué)術(shù)界帶入了工業(yè)領(lǐng)域。ROS 2允許通過(guò)多機(jī)器人之間的協(xié)作以及可靠的、容錯(cuò)的實(shí)時(shí)通信在工業(yè)中使用。ROS 2采用DDS做為通信主干,提供了一個(gè)統(tǒng)一的數(shù)據(jù)交換環(huán)境,就像一條數(shù)據(jù)之河,因此,機(jī)群AMR可以相互通信。其他采用分布式數(shù)據(jù)服務(wù)(DDS)技術(shù)的設(shè)備,也可以使用數(shù)據(jù)之河來(lái)共享數(shù)據(jù)。
DDS是ROS 2的一個(gè)關(guān)鍵組件,其技術(shù)核心是以數(shù)據(jù)為中心的發(fā)布-訂閱(Data-Centric Publish-Subscribe, DCPS)模式,提供了一個(gè)所有獨(dú)立應(yīng)用均可訪問(wèn)的全局?jǐn)?shù)據(jù)空間。美國(guó)海軍使用ROS 2解決了艦船在復(fù)雜的網(wǎng)絡(luò)環(huán)境下大規(guī)模進(jìn)行軟件升級(jí)的兼容性問(wèn)題。自2004年對(duì)象管理組(Object Management Group, OMG)發(fā)布以來(lái),DDS被廣泛用作數(shù)據(jù)發(fā)布和訂閱的標(biāo)準(zhǔn)解決方案,在自主和要求苛刻的系統(tǒng)中,實(shí)現(xiàn)分布式的實(shí)時(shí)通信。
在尋找合適的基于ROS 2的AMR解決方案時(shí),需要考慮以下幾個(gè)因素。
- 首先,開(kāi)發(fā)人員必須確定系統(tǒng)是否針對(duì)AMR導(dǎo)航進(jìn)行了優(yōu)化(包括硬件和軟件集成),以避免耗時(shí)的依賴性、版本問(wèn)題和編譯錯(cuò)誤。
- 為了利用傳感器的融合實(shí)現(xiàn)高精度,以及多個(gè)集成傳感器之間的時(shí)間同步,例如GMSL圖像(千兆多媒體串行鏈路),慣性測(cè)量單元(IMU)至關(guān)重要。
- 為了優(yōu)化數(shù)據(jù)的內(nèi)部處理,需要考慮系統(tǒng)是否具有共享內(nèi)存的機(jī)制(見(jiàn)圖3)。在傳統(tǒng)的實(shí)現(xiàn)方法中,系統(tǒng)中的進(jìn)程需要透過(guò)操作系統(tǒng)網(wǎng)絡(luò)層傳遞消息,這樣就會(huì)導(dǎo)致延遲的現(xiàn)象。訪問(wèn)共享內(nèi)存并直接執(zhí)行傳輸是一種經(jīng)過(guò)優(yōu)化的解決方法,可以顯著降低延遲。
- 找到一種可以提供分布式通信的解決方案,在確保容錯(cuò)和冗余的同時(shí)支持機(jī)群自主。
圖3. 使用共享內(nèi)存的機(jī)制優(yōu)化進(jìn)程間的的通信最后要考慮解決方案是否易于實(shí)施。一些供應(yīng)商提供了軟件開(kāi)發(fā)工具包(SDK),通過(guò)優(yōu)化DDS的性能,支持機(jī)群架構(gòu)并確保通信的穩(wěn)定可靠。Eclipse Cyclone DDS 是一種快速可靠的 DDS 實(shí)現(xiàn),被 ROS 2 技術(shù)指導(dǎo)委員會(huì) (TSC) 選為 ROS 2 Galactic Geochelone 版本的默認(rèn) ROS 中間件 (RMW)。 此默認(rèn)配置適用于大多數(shù)開(kāi)發(fā)人員。 或者,他們也可以使用非默認(rèn) RMW進(jìn)行配置。
為了更輕松地實(shí)施和更快地部署,請(qǐng)尋找能夠提供集成開(kāi)發(fā)環(huán)境 (IDE)、經(jīng)過(guò)測(cè)試和驗(yàn)證的軟件包的應(yīng)用,以及提供參考設(shè)計(jì)示例代碼的供應(yīng)商。為了幫助開(kāi)發(fā)人員輕松地從 ROS 1 遷移到 ROS 2,一些供應(yīng)商還提供了遷移指南,其中包括不同的方法并描述了與遷移過(guò)程相關(guān)的好處和問(wèn)題。