機器人操作系統(tǒng) ROS 解讀

時間:2018-09-28

來源:網(wǎng)絡(luò)轉(zhuǎn)載

導語:ROS是一個開源的機器人操作系統(tǒng),能夠集成大規(guī)模的不同機器人的通信層,其主要目標是通過知識共享加速機器人的研究和工業(yè)應用。它允許個人修改高級外設(shè),如運動控制、感知和路徑規(guī)劃工具等。

【中國傳動網(wǎng) 技術(shù)前沿】 ROS是一個開源的機器人操作系統(tǒng),能夠集成大規(guī)模的不同機器人的通信層,其主要目標是通過知識共享加速機器人的研究和工業(yè)應用。它允許個人修改高級外設(shè),如運動控制、感知和路徑規(guī)劃工具等。在ROS的幫助下,軟件開發(fā)人員能夠方便地模擬機器人的行為,省去了制造或購買實體機器人所需的高昂費用,并通過借助免費開源庫中的現(xiàn)有代碼來快速構(gòu)建自己的應用程序場景。在未來,動態(tài)的和更具協(xié)作性的工業(yè)生產(chǎn)環(huán)境將使得具有適應性的機器人擁有巨大的市場。

如果沒有ROS,就沒有最近流行的無人服務、物流機器人、飛行器及自動駕駛,正是機器人操作平臺ROS為這些技術(shù)帶來了飛速的進步。ROS并非其字面意義上的操作系統(tǒng),而更多的是一個中間件,它能夠讓你根據(jù)現(xiàn)有的代碼知識構(gòu)建你的想法,并共享各種模塊來解決一些常見問題,從而使機器人更快、更經(jīng)濟、更高效地工作。本文講述了ROS自其誕生以來的故事,主要探討了現(xiàn)有市場玩家對于開源的不同看法,展示了目前相關(guān)的實用案例及技術(shù)上存在的難點。文章的最后總結(jié)了關(guān)于這些矛盾如何解決的前景,以及ROS未來的發(fā)展可能性。

別重新發(fā)明車輪

ROS起源于斯坦福人工智能機器人(STAIR),這是一個由AndrewNg領(lǐng)頭并組織相關(guān)研究人員而推出的項目,旨在將多種AI功能(如視覺、操縱、導航等)整合到單個機器人中。由于大量的重復編程非常浪費時間,這些研究人員想建立一個基于現(xiàn)有資源的某種東西——停止重新發(fā)明車輪。STAIR的與眾不同之處在于,人們可以在保持系統(tǒng)整體不變的情況下使用不同的子系統(tǒng)。盡管系統(tǒng)這個概念對于不同的使用者來說是不同的——這是高效使用大批量機器人項目的一個先決條件。

這些斯坦福大學研究人員在募資時,遇到了谷歌出身的企業(yè)家斯科特·哈桑(ScottHassan)。哈桑于2006年創(chuàng)立了一家機器人技術(shù)公司W(wǎng)illowGarage,投入了大量資金。2009年,這家公司發(fā)布了ROS的第一個源代碼開放Beta版,在第二年發(fā)布了正式版。

隨后,WillowGarage加大了公關(guān)力度,在各個主流的國際機器人大會上也非常活躍。ROS社區(qū)取得了快速發(fā)展,與此同時,ROS軟件包的數(shù)量也在快速增長(ROS軟件包:具有各種應用項目的軟件,如導航)。2011年和2012年,ROS逐漸成為機器人領(lǐng)域的一個巨大炒作話題。WillowGarage推出了更多基于ROS的機器人(TurtleBot)。在這個階段,每隔6個月就會出現(xiàn)新版本且功能更強大的ROS系統(tǒng),代碼的質(zhì)量也在穩(wěn)步提高。因為沒有看到商業(yè)化的趨勢,當時也有人質(zhì)疑WillowGarage關(guān)于ROS的動機。2013年,斯科特·哈桑并不看好服務機器人能帶來的收益,隨后從WillowGarage撤資,并在當年晚些時候關(guān)閉了該公司。

開源機器人基金會(OSRF)正式負責接管了ROS的后續(xù)開發(fā)。當時負責ROS的團隊規(guī)模很小,也沒有大的投資方參與。憑借著世界各地的開發(fā)人員對ROS的開發(fā)和使用所形成的開發(fā)者社區(qū),ROS得以幸存并延續(xù)至今。

自2014年起,ROS社區(qū)發(fā)展迅猛

由于技術(shù)的持續(xù)改進,機器學習取得突破,以及對于靈活且小規(guī)模工業(yè)應用的需求愈發(fā)旺盛,機器人領(lǐng)域從2014年開始再次得到了學術(shù)研究機構(gòu)和風險投資的重視。

今天,ROS社區(qū)比以往任何時候都更加活躍。它已擁有大約3000名有積極貢獻的活躍社區(qū)成員。這些成員來自各個國家,其中大部分來自美國、中國、德國和日本。他們貢獻了總計超過450萬行重要的代碼,據(jù)推測,這相當于169名全職開發(fā)人員8.5年的工作量。

截至2017年7月,根據(jù)維基關(guān)于ROS的問答數(shù)量,ROS社區(qū)的參與度在一年內(nèi)大約提高15%。同時wiki.ros.org網(wǎng)站的編輯和瀏覽量也上漲了30%。圖1展示了可應用于不同場景的軟件包逐年下載數(shù)量的變化。

圖1軟件包下載數(shù)量的變化

學術(shù)著作《ROS:一個開源的機器人操作系統(tǒng)》的被引用量清晰地展現(xiàn)了社區(qū)和ROS的合作進程,這篇論文由M·Quigley和斯坦福大學計算機科學系、WillowGarage和南加州大學計算機科學系在2009年聯(lián)合發(fā)表。發(fā)表至今已逾8年,但其引用量自2016年以來激增了40%。

實際中ROS應用的增長也被相關(guān)數(shù)據(jù)所證實。圖2中的數(shù)據(jù)曲線代表兼容ROS的機器人的數(shù)量,展現(xiàn)了ROS應用的快速增長。

圖2ROS應用的增長趨勢

在中國,ROS也開始逐漸流行開來。目前從數(shù)量上來看,中國用戶是訪問ROS網(wǎng)站的第二大團體,并且份額正逐漸增加,如圖3所示。

圖3各國訪問ROS網(wǎng)站份額對比

ROS架構(gòu)中所蘊含的哲學目標

自創(chuàng)立之初,ROS的架構(gòu)便是基于由創(chuàng)始人定下的“哲學目標”:

(1)點對點(Peer-to-peer)。

(2)基于工具(Tools-based)。

(3)多語言(Multi-lingual)。

(4)簡潔(Thin)。

(5)免費且開源(FreeandOpen-Source)。

使用ROS的系統(tǒng)涉及許多在對等拓撲中運行時需要連接的進程。為了防止計算機異構(gòu)網(wǎng)絡(luò)溢出中央服務器的流量,ROS通過緩沖和對等連接在很大程度上緩解了這些風險。創(chuàng)始成員選擇了“微內(nèi)核設(shè)計”,即將大型工具拆分成更小的單元,以提高處理復雜機器人環(huán)境所需的靈活性和穩(wěn)定性,但同時效率有所降低。要實現(xiàn)消息的良好交流,語言環(huán)境是決定性的因素。因此,ROS使用一種簡單的、與語言無關(guān)的接口定義語言(IDL),它自動將所支持的語言標準化為一個通用代碼,從而實現(xiàn)“混合和匹配”。為ROS提倡的“更簡單的代碼提取”和“沒有或幾乎沒有包裝”的外部存儲庫的應用鋪平了道路。因此,不同中間件之間的不兼容性及“獨立庫”對ROS的依賴性保持較低。

ROS成功的關(guān)鍵無疑是開源。無私、無直接經(jīng)濟報酬、致力于公益的想法看起來可能是罕見而天真的。盡管有意識地進行無償?shù)闹R共享、起初的困難很難想象,但這已經(jīng)被早先成功的Linux計算機操作系統(tǒng)證明是可行的。被調(diào)整過的Linux正運行著高度復雜和與安全相關(guān)的諸多系統(tǒng),如核電站的控制及如今多達150萬臺Android智能手機。

ROS的倡導者們認為,ROS的發(fā)展也會遵循同樣的軌跡。根據(jù)OSRF首席執(zhí)行官BrianGerkey的說法,Linux在Windows環(huán)境下是一個“蹩腳的暴發(fā)戶”。而在機器人技術(shù)方面,ROS卻是“先行者”。事實上,微軟最初試圖建立自己的機器人平臺——“微軟機器人開發(fā)工作室”,但最終因為ROS在這一領(lǐng)域太過強勢,微軟不得不停止其自主工作室的開發(fā)。

工業(yè)互聯(lián)網(wǎng)和深度學習的基礎(chǔ)

ROS還支持分布式系統(tǒng),在這個系統(tǒng)中數(shù)十個進程可以在數(shù)臺機器上并行運行。一種名為ROSLink的新協(xié)議已經(jīng)被提出,它結(jié)合了搭載ROS的機器人與物聯(lián)網(wǎng),其目標是構(gòu)建一張包含物理對象、車輛及諸如傳感器和制動器之類的其他設(shè)備的網(wǎng)絡(luò)。利用ROS,可以使用精確的物理模擬來測試不同的算法,包括深度學習,而不需要昂貴的硬件投資。ROS與不同的機器人模擬器兼容,這對于原型設(shè)計、新算法驗證,以及機器人在不同使用場景和環(huán)境下智能行為的培訓至關(guān)重要。其中最常用的模擬器是Gazebo,它是ROS的一部分。Gazebo已被廣泛應用于學術(shù)界和工業(yè)界,以促進機器人從研究階段到實際應用的發(fā)展。

目前使用案例

ROS的首批應用主要是在移動機器人方面。這些機器人不光用在傳統(tǒng)的研究和學術(shù)領(lǐng)域,同時在一些創(chuàng)業(yè)公司中也可以發(fā)現(xiàn)它們的身影:

(1)美國國家航空航天局(NASA):作為太空和航天領(lǐng)域的關(guān)鍵參與者,它選擇用廉價和方便的ROS來開發(fā)它的“Swarmie”項目。在這個致力于未來火星任務的關(guān)鍵項目中,NASA在基于ROS的簡單機器人上模擬螞蟻的協(xié)作行為。

(2)Fetch:很可能是最著名的初創(chuàng)公司,由一幫前WillowGarage人員創(chuàng)立。它推出了專為物流行業(yè)設(shè)計的Fetch機器人系統(tǒng),以提高倉庫效率。它的實驗室地面機器人就是基于ROS界面來實現(xiàn)各種控制器的集成。該公司開發(fā)了一種雙重方法:用一個小且靈活的采摘機器人——“Fetch”,由一個更大的推車式機器人——“Freight”來支持。通過這種雙重方法,將多個物品運輸?shù)街付ǖ乃拓淈c,也可以加入多個來自不同廠商的機器人來完成。這種相互作用歸根結(jié)底還是得益于ROS框架。

此外,還有一個很好的例子:Delft大學在AmazonPickingChallenge上大獲全勝。他們的勝利來自通過利用ROS來幫助資源有限的年輕研究員們開發(fā)先進的解決方案。通過ROS,機器人能夠自主地將物品從標準貨架上移動到包里,或從包里轉(zhuǎn)移到標準貨架上。根據(jù)Delft團隊成員KantervanDeurzen的說法,他們成功的決定性因素是將“最高標準的各個組成部分”作為與“一體化系統(tǒng)”相結(jié)合的“多學科方法”。這種整合的方法是通過使用基于ROS的軟件而實現(xiàn)的。Delft大學也正在歐盟范圍內(nèi)推動ROS-I軟件組件達到一個更高的水平,這個任務被稱作ROSIN。除了Delft大學,合作機構(gòu)還包括德國的Fraunhofer制造工程與自動化研究所和FachhochschuleAachen大學、哥本哈根IT大學,以及來自瑞典的機器人公司ABB和來自西班牙的Tecnalia研究所。

在中國,ROS為眾多新興的服務機器人公司奠定了基礎(chǔ):

(1)Ecovacs和iRobot(清潔機器人)。

(2)索亞機器人(迎賓機器人)。

盡管ROS在中國服務機器人的使用范圍很廣,但迄今為止,對于ROS的學術(shù)貢獻還不大。

值得一提的是,ROS也被用于自動駕駛。例如,寶馬的335IG自動駕駛概念,以及百度的Apollo平臺都是基于定制化的ROS。

目前ROS在工業(yè)領(lǐng)域應用相對較少

目前ROS的工業(yè)級使用率遠低于學術(shù)界或服務機器人領(lǐng)域,主要有以下兩個原因。

1

技術(shù)方面

工業(yè)機器人制造商主要提到了ROS在實時性和穩(wěn)定性方面的弱點,以及數(shù)據(jù)安全問題。這些都可能對制造商產(chǎn)生負面的品牌影響。

ROS軟件的安全性主要取決于早期貢獻者的責任感。開發(fā)內(nèi)部軟件時,其整個生命周期都需要控制和維護,并需要儲存完整的檔案。相比之下,開源軟件是由松散組織的開發(fā)人員開發(fā)的,他們相互信任程度較低,對于檔案保存的標準也較低。此外,對于使用開源的最終用戶來說,與單一制造商或集成商建立合法的雙向關(guān)系很難,因為他們和開發(fā)者之間缺乏有約束力的服務協(xié)議。據(jù)Fraunhofer制造工程與自動化研究所(IPA)研究員TheoJacobs的說法,除了經(jīng)過驗證的軟件版本,解決方案可能是由一小組程序員維護的自包含模塊。但通過使用來自主題密鑰驗證消息的發(fā)送者和聽眾的認證,可能可以確其保機密性。

一些專家也擔心,ROS從未被設(shè)計用于工業(yè)機器人的傳統(tǒng)典型應用,例如噴涂,點焊或弧焊。例如,大多數(shù)工業(yè)機器人軟件都可以調(diào)整焊機上的電壓和電流通道,以確保達到最佳效果——這不屬于ROS的范疇。然而,通過ROS可以更容易找到一些新的解決方案,例如:如果工程師想要噴涂出一個之前機器人從未見過的幾何圖形,ROS可以相對容易地為搭載有工業(yè)視覺的噴涂機器人生成相應路徑。

2

經(jīng)濟方面

主要的行業(yè)參與者擔心其業(yè)務模式被淡化。開放自己投入了大量研發(fā)資源所獲得的核心知識并非是他們所愿意的。他們所特有的硬件可能會失去其優(yōu)勢,并且可能被其他更便宜的硬件輕松替換,而這些便宜的硬件還可以通過ROS來增強外設(shè)。

在一定程度上,可以將這種困境與蘋果的iOS和Google的Android所采取的做法類比:

(1)蘋果對AppStore始終保持相對嚴格的控制,并且一直是iOS終端設(shè)備的唯一硬件供應商。這有助于建立一個快速、穩(wěn)定和相對安全的系統(tǒng)。其用戶群通常會非常快速地更新軟件,從而能夠更容易地修復錯誤和解決安全問題。缺點是用戶基數(shù)較小,未來能為機器學習提供的數(shù)據(jù)較少。

(2)相比之下,Android采取了一種相當開放的方式,這帶來了更廣的用戶群體,并且這些用戶群體可以從各種終端設(shè)備中進行選擇。但是,這是以反復出現(xiàn)的接口問題為代價的,并且終端設(shè)備和軟件之間會存在適配錯誤。設(shè)備分化和從第三方安裝應用程序使得Android操作系統(tǒng)易受安全問題的困擾。高度的設(shè)備分化也使得Android系統(tǒng)的維護和缺陷修復比iOS更困難。

到目前為止,蘋果控制其平臺的模式非常成功。與20世紀90年代Macintosh不同的是,現(xiàn)今廣大的iOS用戶使得這種模式為蘋果帶來頗豐的收益。與此同時,幾乎沒有一家專注于Android生態(tài)系統(tǒng)的硬件公司能夠長期盈利。

那為什么工業(yè)機器人制造商們要開放他們的平臺,并提供他們產(chǎn)品控制系統(tǒng)的接口呢?

不同機器人制造商對這個問題的看法存在分歧。發(fā)那科和庫卡系統(tǒng)相對來說比較封閉,其他廠商則采取更加開放的態(tài)度:

(1)盡管對通過ROS提供自由的第三方訪問也存在著一些擔憂,但YaskawaMotoman通過高級外設(shè),利用他們的機器人的潛力推動了它早期開源的行動,特別是雙臂機器人在自動化裝配任務中的使用日益增加。Motoman認為,搭建一座與他人之間的橋梁將提高互操作性,并從而吸引更多客戶。

(2)類似的是,作為ROS-I項目的一部分,工業(yè)機器人巨頭ABB為其協(xié)作組裝機器人Yumi開放了ROS接口。

關(guān)于MotomanSIA20D、ABB的YuMi和UniversalRobotsUR5等小型機器人,它們不再進行昂貴的研發(fā)過程,而是直接使用3D感知工具來增強其功能。在不久的將來,為特定需求而編寫的軟件將隨著業(yè)界需求從高容量、可重復的流程轉(zhuǎn)變?yōu)榻Y(jié)合了動態(tài)軌跡算法和傳感器的智能機器人而變得更有實際價值。

Bosch的研發(fā)部門開始允許他們的工程師“快速、方便地對其系統(tǒng)進行可視化、檢查、記錄和模擬”,以便創(chuàng)造更大的效益,這展現(xiàn)了ROS的另一個機會。前Bosch研究員現(xiàn)任MayfieldRobotics的聯(lián)合創(chuàng)始人兼首席運.官SarahOstentoski認為,以這種方式使用ROS,將使它成為一種“雙向流動的管道”,公司愿意與社區(qū)分享他們的進步,社區(qū)也可以憑借它在學術(shù)系統(tǒng)中的流行度幫助公司網(wǎng)羅更多ROS方面的人才。

更大的驚喜在更遠的將來

ROS在過去的幾年中增長迅猛,并且在可預見的未來幾年中將發(fā)揮更重要的作用。

首先是日益增長的服務機器人公司的需求。在接下來的十年里,我們將會看到第一輛自動駕駛汽車成功上路。屆時將會出現(xiàn)一批我們今天無法設(shè)想的機器人和應用程序。正如WillowGarage最早成員之一TullyFoote在2007年年末承諾的那樣,在未來,“你將能夠使用任何開源軟件,只需結(jié)合你的商業(yè)模式做一些小小的改動,就能開啟你的創(chuàng)業(yè)之旅”。ROS社區(qū)的發(fā)展將前所未有地使有創(chuàng)意的設(shè)計師和創(chuàng)業(yè)者們站在巨人的肩膀上。

其次,工業(yè)市場上的應用也將越來越多。然而目前,對于ROS仍然有限的工作能力和是否應該放棄傳統(tǒng)的成功商業(yè)模式,工業(yè)機器人制造商們?nèi)猿钟幸欢ɡ硇缘念檻]。不過,與此同時,ROS正在以相對簡單的方式來靈活設(shè)計解決方案,以此拓展整個行業(yè)的邊界。

在此背景下,ROS-IndustrialConsortium已經(jīng)向前邁進了一步。這個機構(gòu)由付費會員組成,其中大多數(shù)是大型工業(yè)企業(yè),它們正在投入知識和資金,以加大機器人的能力范圍并提高質(zhì)量。這其中的重點是用資本來引導研究重點,這樣可以更加有效并且公平地分配資源,并最終分享結(jié)果。雖然進入這一協(xié)會的資本壁壘與開源社區(qū)的原則相矛盾,但是它是獨立開發(fā)者的試錯運動和企業(yè)在參與開源擴張的同時又能保證自身原有利益之間的一種妥協(xié),所有高昂的研發(fā)費用都是為了整個行業(yè)的共同利益。通過所謂的聚焦技術(shù)項目(FTP),這個行業(yè)的蛋糕需要先被做大,即便需要付費成員來決定其味道。

最后,備受矚目的ROS2.0的Beta版本正在測試當中。它應該解決現(xiàn)有的安全問題,并提高適用于大型項目的技術(shù)能力。實際上,這個版本是為了應對“非理想網(wǎng)絡(luò)”和現(xiàn)實中的生產(chǎn)環(huán)境而建立的,它使得在ROS中進行實時控制的進程和機器間能夠直接通信。對于ROS1.0在意料之外、情理之中的走紅,其后繼者應該為靜態(tài)配置提供清晰的模式和支持配置,從而擴大在工業(yè)領(lǐng)域中所占的一席之地。

中傳動網(wǎng)版權(quán)與免責聲明:

凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

關(guān)注伺服與運動控制公眾號獲取更多資訊

關(guān)注直驅(qū)與傳動公眾號獲取更多資訊

關(guān)注中國傳動網(wǎng)公眾號獲取更多資訊

最新新聞
查看更多資訊

熱搜詞
  • 運動控制
  • 伺服系統(tǒng)
  • 機器視覺
  • 機械傳動
  • 編碼器
  • 直驅(qū)系統(tǒng)
  • 工業(yè)電源
  • 電力電子
  • 工業(yè)互聯(lián)
  • 高壓變頻器
  • 中低壓變頻器
  • 傳感器
  • 人機界面
  • PLC
  • 電氣聯(lián)接
  • 工業(yè)機器人
  • 低壓電器
  • 機柜
回頂部
點贊 0
取消 0