機(jī)器人操作系統(tǒng)從ROS升級(jí)到ROS2 部署不再是難題
目前,全球機(jī)器人市場(chǎng)持續(xù)增長(zhǎng),工業(yè)機(jī)器人市場(chǎng)持續(xù)穩(wěn)定增長(zhǎng),服務(wù)機(jī)器人市場(chǎng)則呈現(xiàn)快速發(fā)展趨勢(shì)。伴隨著人工智能技術(shù)的逐步成熟,人機(jī)協(xié)作的不斷深度,機(jī)器人產(chǎn)品應(yīng)用產(chǎn)業(yè)不斷拓展,全球機(jī)器人行業(yè)將迎來新一輪的增長(zhǎng)。機(jī)器人領(lǐng)域之所以快速增長(zhǎng),有一部分原因是得益于開源開發(fā)和機(jī)器人操作系統(tǒng)ROS或ROS2的發(fā)展。
本文引用地址:http://www.ex-cimer.com/article/201810/393104.htm關(guān)于ROS和ROS2的發(fā)展?fàn)顩r,英特爾物聯(lián)網(wǎng)軟件技術(shù)副總裁Greg Burns和ADLINK物聯(lián)網(wǎng)技術(shù)總監(jiān)Joe Speed做了詳細(xì)分析。Greg Burns就職于英特爾開源技術(shù)中心工作,是OTC(開源技術(shù)中心)的軟件架構(gòu)師,其所在的小組專注于開源開發(fā)和開源貢獻(xiàn)。過去多年來,他一直在關(guān)注物聯(lián)網(wǎng),尤其是物聯(lián)網(wǎng)網(wǎng)絡(luò)協(xié)議,在大約18個(gè)月前,他參與了英特爾的機(jī)器人領(lǐng)域。Joe Speed也在該領(lǐng)域從事多年研發(fā)工作,包括讓物聯(lián)網(wǎng)更加開放、開放標(biāo)準(zhǔn)和開源物聯(lián)網(wǎng)。技術(shù)貢獻(xiàn),如MQTT,他讓其成為開放標(biāo)準(zhǔn)并開源,將它們放入車輛和很多其它設(shè)備中。過去幾年,他圍繞如何將物聯(lián)網(wǎng)應(yīng)用到人們生活中,以及如何讓人和物交互花費(fèi)了大量的時(shí)間進(jìn)行研究。他為自動(dòng)駕駛汽車、自動(dòng)駕駛員、老年人和殘疾人提供#AccessibleOlli,在眾包、開源自主機(jī)動(dòng)性方面做了很多研究。
ROS建立強(qiáng)大生態(tài)系統(tǒng),ROS2從原型設(shè)計(jì)邁向部署
不管是開源軟件,還是開源硬件,一經(jīng)推出在全球都受到開發(fā)者的熱捧,這些產(chǎn)品對(duì)科技的發(fā)展起到了巨大的推動(dòng)作用。在機(jī)器人領(lǐng)域,開源操作系統(tǒng)ROS2如何驅(qū)動(dòng)該領(lǐng)域的增長(zhǎng)?Greg表示,“雖然ROS被稱為機(jī)器人操作系統(tǒng),但實(shí)際上它并不是像Linux和Windows真正意義上的操作系統(tǒng)。它是一系列設(shè)施和通信協(xié)議的集合,使用戶更易于整合軟件組件去構(gòu)建機(jī)器人或者機(jī)器人系統(tǒng)。并且它取得了巨大的成功。過去十年來,已經(jīng)圍繞ROS建立了一個(gè)龐大的生態(tài)系統(tǒng),并且它使參與機(jī)器人研究的人,特別是那些研究人員和在學(xué)術(shù)領(lǐng)域的人,能夠構(gòu)建、共享、協(xié)作構(gòu)建機(jī)器人所必須的軟件組件。某些情況下,這些軟件組件級(jí)別很低,像傳感器、攝像頭等接口。某些情況下,他們有更高級(jí)的功能,比如導(dǎo)航或者運(yùn)動(dòng)規(guī)劃。但事實(shí)上,你可以用這些組件構(gòu)建他們,然后和其它開發(fā)者共享,因此這些開發(fā)者可以使用它們,而不需要理解他們內(nèi)部的細(xì)節(jié),提高了創(chuàng)新速度,真正讓人們用這些強(qiáng)大的組件構(gòu)建機(jī)器人。”
ROS確實(shí)是一個(gè)很成功的開源項(xiàng)目、開源生態(tài)系統(tǒng),現(xiàn)在已經(jīng)建立了龐大的生態(tài)系統(tǒng),在全球估計(jì)有十萬名開發(fā)者正在使用或熟悉ROS,并且所有擁有機(jī)器人經(jīng)驗(yàn)的學(xué)術(shù)界人士都在使用ROS。雖然從多方面來看ROS很成功,但是它只用于研發(fā),在部署中并不經(jīng)常使用。當(dāng)涉及到實(shí)際構(gòu)建機(jī)器人并將其作為商業(yè)產(chǎn)品進(jìn)行部署時(shí),大部分開發(fā)者會(huì)轉(zhuǎn)向?qū)S媒鉀Q方案。大概五年前或者更早,有人倡議開始構(gòu)建ROS2。ROS2試圖解決原始ROS中的一些技術(shù)缺陷,以及安全、性能等問題,使一些其它基于ROS的部署解決方案變得可行和更實(shí)用,當(dāng)然,那將帶來一個(gè)更有效的流程使得ROS不僅用于原型設(shè)計(jì)而是最終的部署。
對(duì)比ROS,ROS2的一個(gè)關(guān)鍵點(diǎn)是,其選擇在軟件中改變底層協(xié)議層,以便可以使用一系列不同的低層協(xié)議作為用于軟件組件之間通信的數(shù)據(jù)總線,用戶可以使用DDS多種實(shí)現(xiàn),因?yàn)镈DS已經(jīng)在業(yè)界被廣泛部署多年。當(dāng)然,用戶可以使用自己的開源DDS實(shí)現(xiàn),以及其它方式。ROS2的強(qiáng)大之處在于,它可以讓用戶運(yùn)行其它替換協(xié)議。比如:MQTT,如果條件允許,ROS2甚至可以工作在MQTT之上。
ROS2讓多個(gè)機(jī)器人彼此通信
機(jī)器人原來都是單個(gè)工作,彼此之間并不會(huì)通信,但是未來會(huì)從單個(gè)向多個(gè)彼此通信的趨勢(shì)發(fā)展,并且它們占據(jù)了和人類同樣的空間。這些集群機(jī)器人到底意味著什么?我們?nèi)绾巫霾拍軐?shí)現(xiàn)這樣的目標(biāo)?或許ROS2可以協(xié)助我們實(shí)現(xiàn)這樣的目標(biāo)。Joe分析,“關(guān)于ROS2,其中一個(gè)關(guān)鍵點(diǎn)是通信方式,通過它可以在組件之間低延時(shí)傳遞信息,可以獲得更高的服務(wù)質(zhì)量,可以讓機(jī)器人彼此通信,實(shí)現(xiàn)協(xié)調(diào)。在這些群體行為,當(dāng)其中一個(gè)機(jī)器人手持工件,而另一個(gè)機(jī)器人可以在上面工作。但是對(duì)我來說非常有意思的是機(jī)器人內(nèi)部的實(shí)際情況,在DDS總線上的所有通信,有視覺、決策 、執(zhí)行,所有這些資源也可以安全地與其它機(jī)器人共享,非常有意思的是,如果你可以讓機(jī)器人A借用機(jī)器人B的眼睛,機(jī)器人C借用機(jī)器人A的手臂,通過這種方式即使一個(gè)機(jī)器人失去了視力,也可以共享周圍群體提供的同樣的能力,我覺得這樣可以做很多事情。并且我看到其他人正在做的例子,即帶視覺功能的自動(dòng)輪椅,將LIDAR放在天花板上的攝像機(jī)中,將其構(gòu)建到基礎(chǔ)設(shè)施中,然后作為機(jī)器人可以共享的資源。”
Greg則強(qiáng)調(diào),“機(jī)器人在本質(zhì)上是邊緣計(jì)算設(shè)備。無論你如何看他,他們都需要很多傳感器。計(jì)算機(jī)視覺對(duì)于我們看機(jī)器人技術(shù)的演進(jìn)方式非常重要。我們討論了很多關(guān)于自動(dòng)駕駛汽車的內(nèi)容。自動(dòng)化讓機(jī)器人技術(shù)發(fā)生了很大的變化。我們正在從預(yù)先編程的相對(duì)固定功能的重復(fù)操作的機(jī)器人,轉(zhuǎn)向現(xiàn)在變得自主的機(jī)器人。并且他們變得自動(dòng)化后,需要更多計(jì)算,還要運(yùn)行很多相關(guān)軟件。隨著軟件的運(yùn)行,人們對(duì)安全和管理的擔(dān)心越來越多。如何做軟件升級(jí)?像你看到的那樣,它和我們?cè)跀?shù)據(jù)中心擁有相同的能力。因此,毫不夸張地說,機(jī)器人基本上是車輪上的數(shù)據(jù)中心或者帶腿的數(shù)據(jù)中心。這是一個(gè)大的轉(zhuǎn)折點(diǎn)—曾經(jīng)的方式發(fā)生了巨大的改變—這種改變是被計(jì)算機(jī)視覺以及所有與之相關(guān)的東西,比如:機(jī)器學(xué)習(xí)和目標(biāo)識(shí)別,來驅(qū)動(dòng)的。越來越多的機(jī)器人在跑出籠子,從歷史上來看,機(jī)器人是遠(yuǎn)離人類的?!?/p>
機(jī)器人個(gè)頭很大,能力很強(qiáng)大,移動(dòng)迅速,也可能很危險(xiǎn)。但是,目前正在出現(xiàn)一類新興事物,被稱為人機(jī)協(xié)作機(jī)器人,它們與人類一起工作。它們不再在籠子中?,F(xiàn)在,如果你有一個(gè)靠近人類的機(jī)器人手臂,顯然你必須有強(qiáng)大的傳感器系統(tǒng),你必須有攝像頭可以探測(cè)人類的位置,你必須關(guān)心什么是安全至上的操作和保持安全以避免傷害。機(jī)器人必須了解環(huán)境,了解運(yùn)行位置。這帶來了很多進(jìn)行目標(biāo)識(shí)別的機(jī)器學(xué)習(xí)和推理引擎。因此,越來越重要的領(lǐng)域是功能安全,計(jì)算機(jī)視覺演進(jìn),機(jī)器學(xué)習(xí)算法,以及在機(jī)器人硬件上高效運(yùn)行這些算法的能力。與任何運(yùn)行大量軟件的邊緣計(jì)算設(shè)備一樣,需要管理軟件升級(jí),管理軟件開發(fā)生命周期,以及帶來很多現(xiàn)在在數(shù)據(jù)中心看到的技術(shù),像集裝箱化,便于管理運(yùn)行在這些機(jī)器人系統(tǒng)上的重要軟件。
隨著聯(lián)網(wǎng)設(shè)備數(shù)量的不斷增加,設(shè)備廠商越來越意識(shí)到邊緣計(jì)算的重要。ADLINK和英特爾多年來一直在邊緣計(jì)算和機(jī)器視覺系統(tǒng)領(lǐng)域進(jìn)行合作。對(duì)于機(jī)器人技術(shù),人們對(duì)此做了一些令人吃驚的事情。ADLINK有識(shí)別機(jī)器人,實(shí)際上開發(fā)了一個(gè)包。Joe解釋,“我們有這種精彩的小工程,這是一款堅(jiān)固的邊緣計(jì)算攝像頭,內(nèi)置英特爾的計(jì)算機(jī)…并且這些人已經(jīng)想出如何把它放到自動(dòng)化工廠或者建筑工地的現(xiàn)有工業(yè)機(jī)器人中,并在一個(gè)小時(shí)之內(nèi)教會(huì)它們手眼協(xié)作?!盧OS2有很多功能,用戶可以開發(fā)新的應(yīng)用領(lǐng)域,可以做新系統(tǒng),新機(jī)器人,但是對(duì)大多數(shù)人來說,這些事物正在進(jìn)入現(xiàn)有系統(tǒng)的現(xiàn)實(shí)環(huán)境,用戶如何與他們一起工作,ADLINK采用了DDS進(jìn)行信息傳遞,和其他人一直在致力于如何從DDS橋接到所有傳統(tǒng)工業(yè)協(xié)議和接口,因此這些公司可以進(jìn)入并參與工作,與現(xiàn)有系統(tǒng)的現(xiàn)有系列一起使用現(xiàn)有的攝像機(jī)。
機(jī)器人新應(yīng)用不斷出現(xiàn),ROS2功不可沒
ROS2有開源標(biāo)準(zhǔn)、開源信息傳遞的機(jī)制,給用戶接口和其他設(shè)備連接。所以,就像內(nèi)置的支持開箱即用的WatsonIoT和ThingWorx,以及Azure物聯(lián)網(wǎng)設(shè)備網(wǎng)關(guān)和AWS物聯(lián)網(wǎng)等,以及我們和其他人必須從其它地方橋接,比如OPC UA和Modbus,以及所有其它類型的東西,用戶可以將它們和現(xiàn)有的東西對(duì)接。因此,機(jī)器人和自動(dòng)化不必是全新的套件安裝。它可以利用傳感器和已存在的系統(tǒng)。因此,如果用戶想要一個(gè)機(jī)器人,可以把它當(dāng)作生產(chǎn)線上的一個(gè)單元,上游的東西是什么,下游的東西是什么,對(duì)這些東西進(jìn)行協(xié)調(diào),利用所有材料可以作出產(chǎn)品。
用戶應(yīng)該向ROS工業(yè)組織吶喊,因?yàn)樵摻M織在精確地研究那個(gè)灰色區(qū)域。用戶如何使用現(xiàn)有的機(jī)器人制造標(biāo)準(zhǔn),提供最佳的經(jīng)驗(yàn)將它們推進(jìn)到自動(dòng)化的未來?Greg解釋,“你通常無法替代每個(gè)機(jī)器人。你必須能夠以漸進(jìn)和增長(zhǎng)方式做到這一點(diǎn)。當(dāng)我們討論灰色地帶時(shí),我們看到在機(jī)器人部署增長(zhǎng)的一個(gè)重要領(lǐng)域是倉(cāng)庫(kù)。大多數(shù)倉(cāng)庫(kù)不是很大。那里有很多這樣的倉(cāng)庫(kù),并且它們可以受益于增加自動(dòng)化設(shè)備,無論是庫(kù)存還是搬運(yùn)。因此自動(dòng)化機(jī)器人在這種環(huán)境中可以充分發(fā)揮。并且?guī)准夜驹跇?gòu)建全自動(dòng)化機(jī)器人,它們圍繞倉(cāng)庫(kù),基于攝像頭和傳感器實(shí)時(shí)映射,它們可能很快就成為一項(xiàng)有價(jià)值的資產(chǎn),并且能夠執(zhí)行精簡(jiǎn)的有用操作,可以處理倉(cāng)庫(kù)的資料,我們可以期待看到大量的新興產(chǎn)品,不僅是在倉(cāng)庫(kù)中,還有快遞機(jī)器人等等。”
從ROS向ROS2升級(jí)的實(shí)用案例
英特爾的實(shí)感攝像頭是一個(gè)很好的實(shí)例,深度攝像頭對(duì)于許多機(jī)器人應(yīng)用場(chǎng)景都非常有用。英特爾提供一個(gè)ROS封裝,它封裝了深度相機(jī)的功能,讓機(jī)器人設(shè)計(jì)師可以輕松地將其整合到機(jī)器人中。隨著技術(shù)的不斷發(fā)展,現(xiàn)在英特爾正在將其轉(zhuǎn)移到ROS2上,并轉(zhuǎn)移到最新的RealSense相機(jī)上。同時(shí)利用Movidius神經(jīng)棒做了同樣的事情。用戶現(xiàn)在可以將其作為ROS軟件包的軟件組件整合到現(xiàn)有機(jī)器人中,不必了解該神經(jīng)計(jì)算棒工作的任何內(nèi)部細(xì)節(jié),它使每個(gè)更容易合并為一個(gè)組件。另外,英特爾還在上面添加了一些額外的補(bǔ)丁。ADLINK已采用其中部分組件并開始集成它們。
ADLINK提供的是神經(jīng)元開發(fā)板,它是一個(gè)ROS入門套件,并且集成了Greg和他的團(tuán)隊(duì)所做的大部分工作,與英特爾計(jì)算機(jī)、Movidius、RealSense深度攝像頭一起集成,并完成了所有集成和打包整合。該團(tuán)隊(duì)一直在做一些有趣的產(chǎn)品,包括高速輪式無人機(jī)—基本上,改造越野遙控車,以非常高的速度駕駛,但完全自主,并可以和人一起近距離合作。它稱為“跟我來”…它跟在你周圍,如果你走向它,它就撤退,如果你走遠(yuǎn),它再次跟著你。還有一些其它群集行為。因此,當(dāng)它們?cè)谛畔⒖偩€上共享彼此的遙測(cè)數(shù)據(jù)后,這些機(jī)器人彼此了解,協(xié)同工作。
關(guān)于ROS的重要應(yīng)用,Jeo表示,“其中一個(gè)是波音首席機(jī)器人專家Dr. Philip Freeman,在最近的ROS產(chǎn)業(yè)活動(dòng)中,他發(fā)表了一些我認(rèn)為非常有說服力的觀點(diǎn),相當(dāng)尖銳。他說,ROS讓我感覺處在1993年Linux的驚人轉(zhuǎn)折點(diǎn)。對(duì)于我們這些90年代早期開始研究開源和操作系統(tǒng)的人來說,這是一個(gè)讓人震驚的時(shí)刻。你可以感受到力量,你可以看到即將發(fā)生什么,可以看到Linux將無處不在,而且這就是動(dòng)力,這就是現(xiàn)在我們?cè)赗OS社區(qū)中所感受到的能量。”
歡迎更多開發(fā)者參與ROS建設(shè)
對(duì)于開源系統(tǒng),需要更多開發(fā)者的參與建設(shè),系統(tǒng)才能更加完善,對(duì)于ROS也一樣,需要全球的開發(fā)者在使用中發(fā)現(xiàn)問題、解決問題??赡芎芏嗳艘呀?jīng)在使用,但是也有很多人不知道如何參與。對(duì)于想要參與進(jìn)來,學(xué)習(xí)更多內(nèi)容的聽眾,他們應(yīng)該如何參與?
Greg介紹,“第一個(gè)地方是ros.org,關(guān)于ROS2的信息在ros2.org,如果你登陸后,它實(shí)際上會(huì)將你重新定向到GitHub上的源代碼上,那里有文檔和其它信息。還有教程,以及有很多關(guān)于ROS的書籍。還有ROS-Industrial它專注制造機(jī)器人并將其遷移到更靈活和更自動(dòng)化的設(shè)備上。ROS-Industrial建立在ROS之上;它不是替代品,而是添加劑,ROS年度聚會(huì)于九月中旬在馬德里舉辦。”
評(píng)論