日本一区不卡在线观看,亚洲视频在线网站,久久精品免费观看久久,七月婷婷丁香,国产成人免费在线视频,www.日本黄色,精品欧美日韩一区二区三区

農(nóng)業(yè)無人機
工業(yè)無人機
軍警無人機
娛教無人機
水下無人機
反無人機設(shè)備
無人機配件
無人機租賃
無人機培訓(xùn)
當(dāng)前位置:全球無人機網(wǎng) ? 無人機技術(shù) ? 技術(shù) ? 正文

上海硅步ROS連載系列50期——ROSLink ——ROS與物聯(lián)網(wǎng)之間的橋梁(1)

發(fā)布日期:2018-07-28我要投稿我要評論

  ROSlink是由沙特蘇丹王子大學(xué)教授,同時也是硅步機器人研發(fā)總監(jiān)的Anis Koubaa博士首先提出來的。為了使大家了解ROSlink,從本期開始,我們將分三期對ROSlink進(jìn)行介紹。

  本期為第一期,主要介紹ROSlink的基本概念及ROSlink提出的背景和要解決的問題。

  作為物聯(lián)網(wǎng)(IoT)的一種新形式,機器人與互聯(lián)網(wǎng)的融合現(xiàn)在正成為一種新興趨勢。這種結(jié)合對于推動通過互聯(lián)網(wǎng)虛擬化、控制和監(jiān)控的新型云機器人應(yīng)用至關(guān)重要。ROSlink是一種將應(yīng)用機器人操作系統(tǒng)(ROS)的機器人與物聯(lián)網(wǎng)相結(jié)合的新協(xié)議。提出ROSlink背后的動機正是由于通過互聯(lián)網(wǎng)監(jiān)控和控制機器人的ROS功能的欠缺。盡管ROS允許使用相同ROS主控器從工作站控制機器人,但這種解決方案不具有可擴(kuò)展性,且僅僅局限于局域網(wǎng)。近期工作中提出的解決方案依賴于集中式ROS主控器或機器人端Web服務(wù)器,同樣具有類似的限制性。受到MAVlink協(xié)議的啟發(fā),本文提出的ROSlink協(xié)議通過云定義了機器人和終端用戶之間的輕量級異步通信協(xié)議。ROSlink利用代理云服務(wù)器將使用了ROS的機器人與用戶相連接,并允許他們之間的互連。ROSlink性能已在云上進(jìn)行測試,顯示較為高效可靠。

  1.簡介

  云機器人是機器人領(lǐng)域的一個新興趨勢,旨在通過物聯(lián)網(wǎng)(IoT)和云計算技術(shù)來從兩個角度推廣機器人的應(yīng)用:(i)虛擬化:通過Web和Web服務(wù)技術(shù)提供對機器人的無縫鏈接,(ii)遠(yuǎn)程大腦:將密集型計算從機器人卸載到云資源,以克服機器人的計算、存儲及能量限制。

  如今,機器人操作系統(tǒng)(ROS)代表了開發(fā)機器人應(yīng)用的一個事實上的標(biāo)準(zhǔn)。ROS作為中間件,除了重復(fù)使用開源項目庫之外,還為硬件和機器人資源(如傳感器和執(zhí)行器)提供了幾個級別的軟件抽象。它的設(shè)計目的是降低開發(fā)大型服務(wù)機器人的難度,降低機器人軟件構(gòu)建的復(fù)雜性。盡管ROS廣泛使用于開發(fā)服務(wù)機器人應(yīng)用程序,但它缺乏通過互聯(lián)網(wǎng)對機器人進(jìn)行控制和監(jiān)視的原生支持。在同一局域網(wǎng)(LAN)上的遠(yuǎn)程工作站中編寫ROS節(jié)點(即程序)是可行的,機器人機器和工作站都使用ROS主站統(tǒng)一資源標(biāo)識符(URI),但是控制來自遠(yuǎn)程位置的ROS節(jié)點具有挑戰(zhàn)性。為解決這個局限性,已經(jīng)有許多研究工作提出了對基于客戶端-服務(wù)器架構(gòu)的關(guān)注。

  解決該問題的一項里程碑式的工作是ROSBridge協(xié)議。它基于安裝在機器人端的Websockets服務(wù)器,該服務(wù)器允許根據(jù)ROS主題和服務(wù)發(fā)送機器人的內(nèi)部狀態(tài),并接收命令到Websockets客戶端來進(jìn)行處理。這種方法實現(xiàn)了ROS與互聯(lián)網(wǎng)的有效結(jié)合; 然而,事實上Websockets服務(wù)器在機器人機器上的運行要求機器人擁有一個公共IP地址以供Websockets客戶端訪問,并不對所有機器人可行,或者在同一局域網(wǎng)上。當(dāng)機器人位于網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)域后面時,也可以使用NAT,但這種選擇在實際部署中可能會很麻煩。在文獻(xiàn)中作者提出了一種Web服務(wù)ROS,它可以在機器人中定義一個Web服務(wù)服務(wù)器,可通過網(wǎng)絡(luò)進(jìn)行訪問。但是這個方法具有與ROSBridge一樣的局限性,即服務(wù)器位于機器人端。

  本文填補了這一空白,并提出了一種通信協(xié)議ROSlink,該協(xié)議克服了上述的限制,(i)實現(xiàn)了機器人端客戶端的規(guī)范,(ii)用了一個云服務(wù)器,即位于公共IP服務(wù)器機器上的代理服務(wù)器。這個想法受到MAVlink協(xié)議的啟發(fā),機器人通過網(wǎng)絡(luò)客戶端將其數(shù)據(jù)以序列化的消息發(fā)送到作為服務(wù)器的地面站,地面站接收這些消息、對其進(jìn)行處理并將控制命令發(fā)送給機器人。這樣,機器人就不再需要一個公共的IP地址,仍然可以在代理服務(wù)器后訪問。

  本文主要完成了兩項工作。首先,我們提出ROSlink這種新的通信協(xié)議,它定義了一種三層架構(gòu)。ROSlink Bridge客戶端在機器人端運行;ROSlink Proxy作為地面站的服務(wù)器,以及通過ROSlink協(xié)議與機器人進(jìn)行交互的用戶端的客戶端應(yīng)用程序。其次,通過對地面Turtlebot機器人和AR.Parrot無人機進(jìn)行實驗研究,驗證了我們提出的ROSlink協(xié)議。我們展示了ROSlink的有效性和可行性。

  2 背景和目標(biāo)

  2.1 背景

  本文研究的動機是為了將ROS與物聯(lián)網(wǎng)進(jìn)行整合。ROS本身不支持通過互聯(lián)網(wǎng)監(jiān)控和控制機器人。事實上,如圖1(a)所示,ROS允許使用相同的ROS主控器從工作站控制機器人,但該解決方案不具有可擴(kuò)展性,而局限于在局域網(wǎng)使用。典型的情況是每個機器人啟動自己的ROS主控節(jié)點,如果用戶將自己的ROS網(wǎng)絡(luò)設(shè)置配置為使用機器人正在運行的同一ROS主控,則用戶可以從他們的工作站控制機器人。這種標(biāo)準(zhǔn)方法本身不允許通過互聯(lián)網(wǎng)控制機器人,因為機器人通常沒有公共IP地址。在某些情況下可以考慮在NAT后面使用端口轉(zhuǎn)發(fā),但在其他情況下可能無法實現(xiàn),例如通過3G / 4G進(jìn)行連接。

  一種可能的解決方案如圖1(b)所示,是對所有機器人使用一個ROS主節(jié)點,主節(jié)點在具有互聯(lián)網(wǎng)公共IP地址的中央服務(wù)器上運行。所有用戶都將連接到相同的ROS 主控器,并通過發(fā)布和訂閱它們的主題和服務(wù)來訪問任何一臺機器人。然而這個解決方法也有幾項局限。第一,一些ROS主題、服務(wù)和節(jié)點可能因具有相同名稱而互相沖突。這就需要我們在設(shè)計ROS節(jié)點、服務(wù)和主題的命名空間(namespace)時小心謹(jǐn)慎,避免沖突。機器人數(shù)量較多時,這個方法會變得很復(fù)雜。第二個問題是缺乏可擴(kuò)展性,當(dāng)給定時間綁定了多個機器人時,ROS主控器可能會過載。除了考慮到一些ROS主題太占帶寬這個已知的網(wǎng)絡(luò)問題外,還沒有一個可行的解決方案能將個人用戶映射到他們的機器人,因為所有主題對所有用戶都是可見的。

  我們的方法是設(shè)計ROSlink,一種輕量級通信協(xié)議,靈感來自MAVlink ,允許ROS機器人與其用戶進(jìn)行基于云的交互,如圖1(c)所示。我們的想法是在ROS頂部為每一個機器人添加一個ROSlink Bridge(橋),這樣該橋可以使用JSON序列化消息發(fā)送機器人的所有狀態(tài)。ROSlink Bridge是一個ROS節(jié)點,用于訪問ROS中所有感興趣的主題和服務(wù),并將選定的信息發(fā)送到使用JSON格式序列化的ROSlink消息中。這些消息被發(fā)送到ROSlink云代理服務(wù)器,該服務(wù)器處理消息并將消息轉(zhuǎn)發(fā)給機器人的單個用戶和/或多個用戶。另外,用戶通過使用ROSlink JSON消息的ROSlink云代理向機器人發(fā)送命令,命令由ROSlink Bridge進(jìn)行處理,從而執(zhí)行相應(yīng)的ROS操作?;谠频腞OSlink方法具有三個主要優(yōu)點:(1)獨立于機器人的ROS主控器節(jié)點,(2)確保用戶和機器人之間通過云無縫通信,(3)提供對機器人、用戶和底層服務(wù)的有效管理。

  (a) 標(biāo)準(zhǔn)方法:ROS機器人和ROS用戶之間的典型連接。

  用戶連接到機器人的ROS主控器,控制和監(jiān)視其狀態(tài),通常在一個局域網(wǎng)內(nèi)。

  (b) 中心方法:所有的機器人和用戶都連接到了一個中心ROS主控器。

  此方法不具有可擴(kuò)展性,無法對機器人和用戶提供有效管理。

  (c) ROSlink方法:基于云的解決方法,ROS機器人和用戶通過云進(jìn)行交互。

  ROSlink云給用戶和機器人提供管理、面向服務(wù)的接口和實時數(shù)據(jù)流服務(wù)。

  圖1:ROS操作方法

  2.2 綜述

  ROSlink的主要目標(biāo)是通過互聯(lián)網(wǎng)控制和監(jiān)控使用ROS的機器人。 在文獻(xiàn)中,大多數(shù)相關(guān)工作集中在使用雙層客戶端/服務(wù)器方法上,服務(wù)器在機器人中實現(xiàn),客戶端在用戶應(yīng)用程序中實現(xiàn)。事實上,這些研究大多是基于ROSBridge和ROSJS框架的實例來構(gòu)建遙控機器人。ROSBridge代表了ROS系統(tǒng)遠(yuǎn)程控制機器人可以遠(yuǎn)程控制的里程碑。然而,這種方法的缺點是:(1)以機器人為中心的方法,由于服務(wù)器集中在機器人本身,所以限制了系統(tǒng)的可擴(kuò)展性;(2)在互聯(lián)網(wǎng)上部署非常困難,因為當(dāng)機器人位于局域網(wǎng)內(nèi)時,需要擁有公共IP地址或通過NAT轉(zhuǎn)發(fā)端口訪問。

  為了克服這些局限性,我們提出采用三層客戶機/服務(wù)器模型的ROSlink,其中客戶端在機器人和用戶中實現(xiàn),而服務(wù)器位于公共領(lǐng)域并充當(dāng)代理將機器人與其用戶相連。 ROSlink克服了上述的兩個問題。首先,機器人內(nèi)部不再設(shè)服務(wù)器,因此不再采用以機器人為中心的方法。相比之下,機器人通過ROSlink Bridge組件實現(xiàn)客戶端,ROSlink Bridge組件是一個ROS節(jié)點,一方面與ROS進(jìn)行交互,另一方面通過網(wǎng)絡(luò)接口(UDP,TCP, 或Websockets)向外部發(fā)送ROS數(shù)據(jù)。此外,該模型的ROSlink服務(wù)器端在一個名為ROSlink 代理的公共服務(wù)器中實現(xiàn),該服務(wù)器充當(dāng)機器人和用戶之間的中介。機器人和用戶向代理服務(wù)器發(fā)送消息,代理服務(wù)器相應(yīng)地將其發(fā)送給另一端。

  ROSlink通過定義通信協(xié)議(受MAVlink協(xié)議啟發(fā))定義ROS的完整抽象,該協(xié)議通過ROS主題/服務(wù)提供有關(guān)機器人的所有信息,而不會將ROS生態(tài)系統(tǒng)暴露給用戶。用戶不需要熟悉ROS就能夠使用ROSlink為機器人發(fā)送命令。 ROSlink為用戶與機器人進(jìn)行交互定義了一組界面,以及一組用在它們之間進(jìn)行交換的消息。

  ROSlink消息是基于ROS主題/服務(wù)參數(shù)構(gòu)建的,用以獲取或提交數(shù)據(jù)來執(zhí)行操作。消息用JSON字符串表示。JSON格式可選用于數(shù)據(jù)交換,因為它是與平臺及語言無關(guān)的數(shù)據(jù)表示格式。此外,與XML相比,它是一個更輕量級的解決方案,更適合于資源受限和帶寬受限的平臺。這將允許客戶端應(yīng)用程序開發(fā)人員選擇任何編程語言(C ++、Java、Javascript、Python等)來開發(fā)與ROSlink交互的客戶端應(yīng)用程序,來命令和監(jiān)視使用ROS的機器人。

  總之,ROSlink不同于以前的工作,特別是與ROSBridge在以下這些方面的區(qū)別:

  -ROSlink在機器人和用戶應(yīng)用程序中實現(xiàn)客戶端,并在中間代理中實現(xiàn)服務(wù)器,而ROSBridge在機器人中實現(xiàn)Websocket服務(wù)器,在用戶應(yīng)用程序中實現(xiàn)Websocket客戶端。

  -ROSBridge基于Websocket協(xié)議,而ROSlink可以使用任何傳輸層協(xié)議(TCP,UDP和Websockets)來實現(xiàn)。在本文中,我們使用UDP和Websockets接口來實現(xiàn)ROSlink。

  -ROSlink不像以前的研究那樣依賴于ROSBridge,而是在ROS和非ROS用戶之間定義自己的通信協(xié)議。


?
本文鏈接:http://www.mrc-fc.com/tech/201807/28/814.html
標(biāo)簽:??
0相關(guān)評論
免責(zé)聲明:凡注明來源全球無人機網(wǎng)的所有作品,均為本網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,歡迎轉(zhuǎn)載,請注明出處。非本網(wǎng)作品均來自互聯(lián)網(wǎng),轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負(fù)責(zé)。

圖文推薦

推薦新聞

推薦品牌

關(guān)于本站

合作服務(wù)電話

  • 客服熱線:0755-23779287
  • 展會負(fù)責(zé):18682042306
  • 廣告合作:點擊這里給我發(fā)消息
  • 展會合作:點擊這里給我發(fā)消息

公眾號/APP下載


    (公眾號)


    (Android下載)

Copyright?2005-2021 81UAV.CN All Rights Reserved? 訪問和使用全球無人機網(wǎng),即表明您已完全接受和服從我們的用戶協(xié)議。 SITEMAPS 網(wǎng)站地圖 網(wǎng)站留言
運營商: 湛江中龍網(wǎng)絡(luò)科技有限公司 全球無人機網(wǎng)?
ICP備案號:粵ICP備2023038372號-1 
全國公安機關(guān)?備案信息?可信網(wǎng)站不良舉報?文明轉(zhuǎn)播