国产高潮流白浆喷水在线观看_国产成人免费ā片在线观看_精品国产亚洲一区二区三区_无码人妻AⅤ一区二区三区水密桃

行業新聞
你的位置:首頁 > 新聞動態 > 行業新聞

機器人的操作系統ROS

來源:??????2017/12/26 17:15:42??????點擊:

一(yi)、簡介

ROS是Robot Operating System(機器(qi)(qi)人操作系統(tong))的(de)(de)簡寫,是一個面向(xiang)機器(qi)(qi)人的(de)(de)開源元操作系統(tong)(open-source,meta-operating system)。它能(neng)(neng)夠(gou)提(ti)供(gong)類(lei)似傳統(tong)操作系統(tong)的(de)(de)諸多(duo)功能(neng)(neng),如硬件(jian)抽象、底層設(she)備控制、進程(cheng)(cheng)間(jian)(jian)消息傳遞和程(cheng)(cheng)序(xu)包管理等。此外(wai),它還(huan)(huan)提(ti)供(gong)相關工具和庫,用(yong)(yong)于(yu)獲(huo)取、編譯、編輯代碼以及在多(duo)個計算(suan)機之間(jian)(jian)運行(xing)(xing)程(cheng)(cheng)序(xu)完(wan)成(cheng)分(fen)布式計算(suan)。ROS的(de)(de)運行(xing)(xing)架(jia)構(gou)是一種使(shi)用(yong)(yong)ROS通信模塊(kuai)實(shi)現模塊(kuai)間(jian)(jian)P2P的(de)(de)松耦(ou)合的(de)(de)網絡連(lian)接的(de)(de)處理架(jia)構(gou),它執行(xing)(xing)若干種類(lei)型的(de)(de)通訊(xun),包括基(ji)于(yu)服務的(de)(de)同步(bu)RPC(遠程(cheng)(cheng)過(guo)程(cheng)(cheng)調用(yong)(yong))通訊(xun)、基(ji)于(yu)Topic的(de)(de)異步(bu)數(shu)據流通訊(xun),還(huan)(huan)有參數(shu)服務器(qi)(qi)上(shang)的(de)(de)數(shu)據存儲。
 

二(er)、特點

ROS的(de)主(zhu)要(yao)特點(dian)可(ke)以歸(gui)納(na)為以下幾條:

(1)點對點設計

ROS通過(guo)點(dian)對點(dian)設計以(yi)(yi)及(ji)服務(wu)和節點(dian)管理(li)器(qi)等機(ji)制可(ke)以(yi)(yi)分(fen)散(san)由于計算機(ji)視覺和語音識別等功(gong)能(neng)帶(dai)來的(de)實時計算壓力,這種設計能(neng)適應服務(wu)機(ji)器(qi)人遇到(dao)的(de)調戰。

(2)不依(yi)賴編程語言(yan)

ROS支(zhi)持多(duo)種現代高級編(bian)(bian)程語(yu)言(yan)(yan),C++、Python和Lisp語(yu)言(yan)(yan)已經(jing)在ROS中實現編(bian)(bian)譯(yi),并得到(dao)應用(yong),Octave和Java的(de)測試(shi)庫也(ye)已經(jing)實現。為了(le)支(zhi)持多(duo)語(yu)言(yan)(yan)編(bian)(bian)程,ROS采用(yong)了(le)一種語(yu)言(yan)(yan)中立的(de)接口定(ding)義語(yu)言(yan)(yan)(language-neutral interface definition language,IDL )來(lai)實現各模塊之(zhi)間的(de)消息傳送。

(3)精簡與集成

ROS建(jian)立的(de)(de)(de)(de)(de)(de)系統具有(you)(you)模(mo)塊化(hua)的(de)(de)(de)(de)(de)(de)特點,各(ge)模(mo)塊中(zhong)的(de)(de)(de)(de)(de)(de)代碼可以(yi)單獨(du)編譯,而且編譯使(shi)(shi)用(yong)的(de)(de)(de)(de)(de)(de)CMake工(gong)具使(shi)(shi)它很容易的(de)(de)(de)(de)(de)(de)就實現精簡的(de)(de)(de)(de)(de)(de)理念。ROS基本將復雜(za)的(de)(de)(de)(de)(de)(de)代碼封(feng)裝在(zai)(zai)庫里,只是(shi)創建(jian)了一(yi)些(xie)小的(de)(de)(de)(de)(de)(de)應用(yong)程序為ROS顯示庫的(de)(de)(de)(de)(de)(de)功(gong)能,這就允許了對簡單的(de)(de)(de)(de)(de)(de)代碼超(chao)越原型進行(xing)移植和重新(xin)使(shi)(shi)用(yong)。作(zuo)為一(yi)種新(xin)加(jia)入的(de)(de)(de)(de)(de)(de)有(you)(you)優勢(shi),單元測試(shi)當代碼在(zai)(zai)庫中(zhong)分(fen)散后也變得非常(chang)的(de)(de)(de)(de)(de)(de)容易,一(yi)個單獨(du)的(de)(de)(de)(de)(de)(de)測試(shi)程序可以(yi)測試(shi)庫中(zhong)很多的(de)(de)(de)(de)(de)(de)特點。

ROS不修(xiu)改(gai)用戶的主函數,所以(yi)代碼(ma)可以(yi)被其他的機(ji)(ji)器(qi)人軟(ruan)件使用。其優點(dian)是(shi)ROS很(hen)容易和其他的機(ji)(ji)器(qi)人軟(ruan)件平臺集(ji)成(cheng)(cheng)(cheng)。例如,在計算機(ji)(ji)視覺(jue)方面,ROS已經(jing)與(yu)OpenCV實現(xian)集(ji)成(cheng)(cheng)(cheng)。在驅動、導航和模擬器(qi)方面,ROS已經(jing)與(yu)Player系統(tong)實現(xian)集(ji)成(cheng)(cheng)(cheng)。在規劃算法方面,ROS也已與(yu)OpenAVE系統(tong)實現(xian)集(ji)成(cheng)(cheng)(cheng)。

(4)便于測試

為(wei)(wei)機(ji)(ji)器(qi)人開發軟(ruan)件(jian)比其他軟(ruan)件(jian)開發更具挑戰性,主(zhu)要是因為(wei)(wei)調試準備時間(jian)長,且調試過程復雜(za)。況且,因為(wei)(wei)硬件(jian)維(wei)修、經(jing)費有限等因素,不(bu)一定隨時有機(ji)(ji)器(qi)人可供使用。ROS提供兩種策略(lve)來解決上述問題(ti)。
 

1.精(jing)心設(she)計的ROS系統框架將(jiang)底(di)層(ceng)硬件控制模(mo)塊(kuai)和頂層(ceng)數據處(chu)理與(yu)決(jue)策(ce)模(mo)塊(kuai)分離,從而可以使(shi)用模(mo)擬器(qi)替代底(di)層(ceng)硬件模(mo)塊(kuai),獨(du)立(li)測試頂層(ceng)部分,提高測試效(xiao)率(lv)。

2.ROS另外提供(gong)了一種簡單的(de)方(fang)法可以在(zai)調試過(guo)程(cheng)中(zhong)記錄傳(chuan)感(gan)器數(shu)據(ju)及(ji)其(qi)他類型的(de)消息數(shu)據(ju),并在(zai)試驗后按時間戳回放(fang)。通過(guo)這種方(fang)式,每次運行(xing)機(ji)器人可以獲得更多的(de)測試機(ji)會(hui)。例(li)如,可以記錄傳(chuan)感(gan)器的(de)數(shu)據(ju),并通過(guo)多次回放(fang)測試不同的(de)數(shu)據(ju)處理算(suan)法

(5)開源

ROS遵從BSD協(xie)議,這(zhe)給了使(shi)用者(zhe)很大(da)的(de)自(zi)由,使(shi)開(kai)發者(zhe)可以(yi)清楚的(de)查(cha)看、自(zi)由的(de)使(shi)用源(yuan)代(dai)碼,如果有(you)需要,可以(yi)根據不同的(de)系統及硬件環境對源(yuan)代(dai)碼進行(xing)修改,或者(zhe)進行(xing)二(er)次(ci)開(kai)發。

(6)強大的庫(ku)及(ji)社區(qu):

ROS提(ti)供了廣泛的庫文(wen)件實現(xian)以機動性、操作控制、感(gan)知為主的機器人功(gong)能。同時由于(yu)其(qi)開(kai)源特性,ROS的支(zhi)持(chi)(chi)與(yu)發展(zhan)依托著一(yi)個強大的社區。其(qi)官方網站(zhan)尤其(qi)關注兼容性和支(zhi)持(chi)(chi)文(wen)檔,提(ti)供了一(yi)套“一(yi)站(zhan)式”的方案使得用戶得以搜索并(bing)學習來自全球開(kai)發者數以千計的ROS程序包。

三(san)、小結

隨著技術的(de)發(fa)展(zhan)及(ji)人們(men)需求(qiu)的(de)提高,機(ji)(ji)器(qi)(qi)(qi)人集成了(le)越來(lai)(lai)越多(duo)(duo)(duo)的(de)功(gong)能、傳感器(qi)(qi)(qi),對用戶來(lai)(lai)說(shuo)這越來(lai)(lai)越方(fang)便,但對開(kai)發(fa)者(zhe)來(lai)(lai)說(shuo)恰恰相反,功(gong)能的(de)增加帶來(lai)(lai)開(kai)發(fa)與集成難(nan)度迅速上(shang)升,機(ji)(ji)器(qi)(qi)(qi)人操(cao)作(zuo)(zuo)(zuo)系(xi)(xi)統(tong)的(de)出(chu)現(xian)(xian)有(you)效緩解了(le)這種問題。從計算(suan)機(ji)(ji)和(he)智能手機(ji)(ji)的(de)發(fa)展(zhan)過程來(lai)(lai)看,合適與成熟的(de)操(cao)作(zuo)(zuo)(zuo)系(xi)(xi)統(tong)是智能機(ji)(ji)器(qi)(qi)(qi)人行業大規(gui)模(mo)發(fa)展(zhan)和(he)在(zai)人們(men)的(de)生(sheng)活中普及(ji)的(de)必要條件。可以預見,未來(lai)(lai)幾年將(jiang)會(hui)出(chu)現(xian)(xian)眾(zhong)多(duo)(duo)(duo)機(ji)(ji)器(qi)(qi)(qi)人操(cao)作(zuo)(zuo)(zuo)系(xi)(xi)統(tong),在(zai)經(jing)過充分的(de)發(fa)展(zhan)競爭(zheng)后將(jiang)會(hui)有(you)為數不多(duo)(duo)(duo)的(de)幾個操(cao)作(zuo)(zuo)(zuo)系(xi)(xi)統(tong)會(hui)發(fa)展(zhan)壯大并(bing)占據絕(jue)大部分市場(chang),就像曾經(jing)的(de)計算(suan)機(ji)(ji)操(cao)作(zuo)(zuo)(zuo)系(xi)(xi)統(tong)和(he)現(xian)(xian)在(zai)的(de)手機(ji)(ji)操(cao)作(zuo)(zuo)(zuo)系(xi)(xi)統(tong)。