前言:當前方興未艾的機器人市場(chǎng)上流行的有10種軟件開(kāi)發(fā)平臺,其中9款支持Linux。這篇文章評測了其中的7款。不過(guò)這不是對它們的市場(chǎng)走向預測,而是向大家展示機器人軟件的未來(lái)前景。 請慢用! (譯者注:在ROBOTDIY上看到這篇文章[英文原版]很不錯,但是是英文的,覺(jué)得這樣的文章應該給更多的愛(ài)好者分享,所以就給譯了。本人非外語(yǔ)專(zhuān)業(yè),機器人專(zhuān)業(yè)知識又淺薄,所以大家權且湊合著(zhù)看。希望多多指正,分享交流。) 作者:Michael Somby 譯者:韋文潮 導言 本文對目前現役實(shí)用機器人的軟件開(kāi)發(fā)平臺進(jìn)行整體的評測。其中的主要內容是根據本人對這些平臺的實(shí)際使用經(jīng)驗編寫(xiě)的。 什么是機器人軟件開(kāi)發(fā)平臺? 所謂的“機器人軟件開(kāi)發(fā)平臺”我們指的是用來(lái)給多種機器人設備開(kāi)發(fā)程序的軟件包。它一般包括下列內容: * 統一的編程環(huán)境 * 統一的編譯執行環(huán)境 * 可重用的組建庫 * 完備的調試/仿真環(huán)境 * 對多種機器人硬件設備的“驅動(dòng)”程序支持 * 通用的常用功能控制組件,例如計算機視覺(jué)技術(shù)、導航技術(shù)和機械手臂控制等。 大家可以看到,一個(gè)機器人軟件開(kāi)發(fā)平臺需要包含很多東西。就我本人的觀(guān)點(diǎn),現在還沒(méi)有一個(gè)現有的產(chǎn)品能滿(mǎn)足所有的要求。它們總是或多或少的缺了什么東西。 機器人軟件平臺
為什么要使用機器人軟件開(kāi)發(fā)平臺? 機器人控制軟件的花費在整個(gè)機器人應用系統預算中占據了很大比例。比如,一個(gè)自動(dòng)控制項目的80%工作量都集中在系統集成方面,包括軟件的發(fā)開(kāi)和定制。所以機器人開(kāi)發(fā)平臺的作用就是減少軟件工程師的工作量,同時(shí)減少項目開(kāi)支。 除了軟件工程的問(wèn)題外,在一個(gè)真正的機器人項目中還要涉及大量的人工智能。一個(gè)集成了許多現成的、可靠的組件庫的統一軟件開(kāi)發(fā)平臺,在應付各種機器人工程時(shí)能幫上大忙。 最后的問(wèn)題是“行為協(xié)作”。許多文獻中都有對行為協(xié)作的討論。正因為這是一個(gè)普遍存在的問(wèn)題,所以一些平臺提供了統一的解決方案。 應用功能測評
Evolution Robotics's ERSP Evolution Robotics是一個(gè)集設計和銷(xiāo)售機器人軟硬件的開(kāi)發(fā)平臺,簡(jiǎn)稱(chēng)ERSP。整個(gè)軟件非常成熟。它集成了視覺(jué)識別系統(VIRP)和視覺(jué)導航繪圖系統(VSLAM)。它所用的視覺(jué)系統是基于David Lowe開(kāi)發(fā)的算法(已注冊專(zhuān)利)。 平臺提供了可視化的編程環(huán)境工具,通過(guò)搭建圖標來(lái)構建程序。 ![]() 可視化編程界面 系統通過(guò)運行時(shí)的“任務(wù)”程序來(lái)激活或停止“行為”組件。系統不支持仿真。它在Windows 和Linux下運行. Microsoft Robotics Studio 微軟最近成立了專(zhuān)門(mén)的團隊開(kāi)發(fā)機器人軟件平臺,產(chǎn)品叫做Microsoft Robotics Studio(MSRS)。它能在Windows和Windows CE下運行。分布運行的開(kāi)發(fā)環(huán)境承擔了大部分的信息傳遞和線(xiàn)程管理任務(wù)。它的行為協(xié)作基于“服務(wù)優(yōu)先級”的概念。它提供了完備的仿真和圖形化開(kāi)發(fā)環(huán)境。 ![]() 可視化編程界面 ![]() 仿真環(huán)境 在微軟大旗的感召下,越來(lái)越多的機器人設備廠(chǎng)商宣布支持MSRS。(不知道在這個(gè)領(lǐng)域會(huì )不會(huì )出現WINDOWS的局面?不過(guò)我想應該不會(huì ),根據我的經(jīng)驗,在涉及程序開(kāi)發(fā)這個(gè)領(lǐng)域微軟的感召力僅局限與WINDOWS平臺,根據他們公司的一貫作風(fēng)來(lái)看,應該是不會(huì )做包打天下的產(chǎn)品的。譯者注) OROCOS OROCOS是一個(gè)開(kāi)源的控件庫。這些控件主要用于高級運動(dòng)控制和機器人控制。它自己帶有一個(gè)針對實(shí)時(shí)運行環(huán)境優(yōu)化了的開(kāi)發(fā)平臺。該環(huán)境使用“鎖無(wú)關(guān)緩沖區”技術(shù),滿(mǎn)足應用程序對實(shí)時(shí)性嚴格的要求。 ![]() OROCOS體系 OROCOS提供一系列可重用組件和硬件驅動(dòng)。獨立的運動(dòng)學(xué)與動(dòng)力學(xué)開(kāi)發(fā)框架能讓用戶(hù)進(jìn)行物理運動(dòng)學(xué)的建模和計算。應用的領(lǐng)域有機器人、人體工程、計算機動(dòng)畫(huà)、工業(yè)機械建模等。 該系統沒(méi)有統一的圖形化編程環(huán)境或者仿真環(huán)境。 Skilligent 從嚴格意義上說(shuō),Skilligent不屬于機器人軟件開(kāi)發(fā)平臺。因為它提供的是一種對機器人編程的仿真訓練,而不是真正意義上編寫(xiě)實(shí)際運行在機器人上面的程序。 Skilligent的機器人行為控制系統是基于“developmental robotics”——一種新型的對多用途的、非特定任務(wù)控制的自治機器人系統進(jìn)行學(xué)習人工智能系統。 Skilligent讓一個(gè)常規的機器人變成一個(gè)能與終端用戶(hù)交流并能被訓練的友好的機器人。系統控制軟件的良好的交互性能讓用戶(hù)與機器人之間的交流和協(xié)作更自然。用戶(hù)可以通過(guò)手勢、聲音、控制操作和“共同注意(joint attention)”。 ![]() 用戶(hù)在訓練機器人 ![]() Skilligent行為控制系統 系統的關(guān)鍵技術(shù)是一系列將實(shí)際應用情況中的任務(wù)或者技能轉換成普適模型的算法。系統針對物體識別、聲音識別和視覺(jué)導航的學(xué)習進(jìn)行了優(yōu)化。 嚴格來(lái)說(shuō),Skilligent倒不是一個(gè)平臺,而更象是一個(gè)系統插件,因為它能夠和本文中介紹的其他平臺很好的結合在一起。 URBI URBI是由Gostai開(kāi)發(fā)的平臺。它沒(méi)有提供流行的圖形編程界面,而是獨立提供了一種語(yǔ)言。語(yǔ)言的特點(diǎn)是針對建立平行、分布式的事件驅動(dòng)程序進(jìn)行了優(yōu)化。 對每一種機器人硬件平臺,Gostai都承諾提供一種單獨的專(zhuān)門(mén)的程序語(yǔ)言。目前,Gostai已經(jīng)為數個(gè)機器人產(chǎn)品提供了服務(wù),包括索尼 Aibo, 樂(lè )高M(jìn)indstorms和 K-Team的Khepera. URBI是一種分布式的平臺。利用它用戶(hù)可以組建一個(gè)計算機群來(lái)協(xié)同運行服務(wù)程序。Gostai的合作者負責提供視覺(jué)識別和語(yǔ)音識別的組件。 該平臺沒(méi)有自帶的仿真平臺,但是近期它宣布與Webots合作。Webots是一個(gè)流行的商用機器人仿真平臺。 Webots Webots是一個(gè)流行的機器人快速建模和仿真商用平臺,由Cyberbotics公司出品。這個(gè)系統不算是一個(gè)軟件開(kāi)發(fā)平臺,說(shuō)是一個(gè)帶有建模能力的仿真引擎比較貼切。 該系統提供了多種常見(jiàn)的機器人模型比如兩足、輪式和機械手臂。 ![]() Webots快速建模和仿真環(huán)境 Player, Stage, Gazebo Player,是一個(gè)支持多種機器人硬件平臺、開(kāi)源的、基于TCP/IP的技術(shù)硬件抽象層。Stage和Gazebo提供的是內建的仿真環(huán)境。這個(gè)系統適合用于機器人集群沖突/協(xié)作的研究。 ![]() Player, Stage, Gazebo Player還能提供一個(gè)在機器人上運行的簡(jiǎn)易界面用來(lái)通過(guò)IP網(wǎng)絡(luò )讀取傳感器數據、向激勵器發(fā)送命令和配置運行中的設備。 其他平臺 還有其他的平臺例如iRobot AWARE, OpenJAUS, CLARAty, YARP。作者還沒(méi)有機會(huì )深入學(xué)習。下列是一些相關(guān)的信息: * iRobot AWARE是一個(gè)由iRobot公司出品的軟件平臺。他們的平臺專(zhuān)用于美國軍方的軍用機器人。根據Rodney Brooks的說(shuō)法,該公司利用一些開(kāi)源代碼來(lái)改進(jìn)自己的產(chǎn)品。從現有的資料來(lái)看,我們還不能確定AWARE是否采用了Rodney Brooks行為協(xié)作和控制包容體系結構(subsumption architecture for behavior coordination and control) * OpenJAUS是一個(gè)開(kāi)源的無(wú)人職守系統。Vecna公司似乎在改進(jìn)OpenJAUS系統并將之用于他們的BEAR機器人。 * CLARAty是一個(gè)由美國宇航局開(kāi)發(fā)并開(kāi)源發(fā)布的項目。不過(guò)它不是完全免費的,這個(gè)軟件好象是提供了一些有趣的算法,比如視覺(jué)導航、姿態(tài)控制和可視化的輪子下陷預測等。 市場(chǎng)展望 對于機器人平臺開(kāi)發(fā)公司來(lái)說(shuō),最美妙的事情莫過(guò)于將來(lái)大批量出產(chǎn)的機器人上都預裝自己的系統,正象WINDOWS預裝在PC上面那樣。當然目前為止,我們還看不到有這種可能。在這個(gè)夢(mèng)想成為現實(shí)之前,教育和科研機構還是最主要的客戶(hù)。 微軟的介入讓其他的公司倍感壓力。微軟憑借自身實(shí)力將具有競爭力的產(chǎn)品免費的投放市場(chǎng),這將有可能使當前的教育科研市場(chǎng)受到?jīng)_擊。 目前,教育科研和業(yè)余愛(ài)好者的市場(chǎng)看上去已經(jīng)趨于飽和,而且這個(gè)市場(chǎng)本身的容量就不大。各公司必須找到進(jìn)軍工業(yè)機器人和商用機器人領(lǐng)域的切入口。 在工業(yè)機器人領(lǐng)域,大部分的機器人器材制造商在產(chǎn)品中附帶自己開(kāi)發(fā)的平臺(例如ABB)。他們也許更愿意使用自己的軟件而不是使用第三方的產(chǎn)品。對于這種情況OMG小組正在發(fā)起一場(chǎng)建立一系列標準的活動(dòng),以試圖打破這種賣(mài)方壟斷的局面。盡管目前收效甚微,但是我們希望他們能建立行之有效的中長(cháng)期標準。另一方面,在歐洲同樣也有志同道合的人在獨立的做這方面的努力(European Robotics Platform)。 在商用機器人領(lǐng)域,我們可能看到民用機器人軟件平臺標準的出臺,特別是在軍用機器人(對嵌入式系統兼容性要求嚴格)方面。在美國,絕大部分的機器人研究成果受美軍科研機構控制。所以,我們相信很快會(huì )有關(guān)于遠程控制、集群協(xié)作和導航組件的標準出現。另一方面,歐洲的科研力量集中在建立工業(yè)機器人和家庭、辦公領(lǐng)域機器人的應用標準上。 最近Skilligent出品了新的機器人平臺,他們的軟件讓機器人能在與人的交流過(guò)程中自主學(xué)習技能。從理論上說(shuō),這很大程度上將很多傳統的商用機器人開(kāi)發(fā)環(huán)境被廢棄,因為機器人可以直接訓練而不用編寫(xiě)程序。但是另一個(gè)方面,那些不能由用戶(hù)提供的技能還是需要傳統的編程。所以,我們能夠望這樣的系統能越來(lái)越聰明——在將不久的將來(lái),能夠自主學(xué)習的靈活多變的機器人能越來(lái)越多的出現在我們身邊。 消費機器人市場(chǎng)價(jià)格敏感程度要遠高于其他領(lǐng)域。當前最受關(guān)注的家用真空吸塵機器人,其價(jià)格已經(jīng)遠遠低于大多數機器人軟件開(kāi)發(fā)平臺的價(jià)格。所以現在談?wù)撓M機器人的軟件開(kāi)發(fā)平臺還為時(shí)尚早。 還有一個(gè)方面,那就是操作系統——Linux與Windows的競爭。Linux得到絕大多數開(kāi)發(fā)平臺的支持。而微軟正致力于將Windows XP/CE推廣成機器人標準平臺。我的猜想是在未來(lái)的市場(chǎng)上他們都將各據其地,誰(shuí)也吃不掉誰(shuí)。至于市場(chǎng)份額比例,那只有以后才知道了。 作者:Michael Somby,航空電子設備和工業(yè)控制系統領(lǐng)域的專(zhuān)業(yè)控制系統工程師。他涉及的領(lǐng)域,從自動(dòng)駕駛儀的設計到發(fā)電廠(chǎng)控制系統的組建。他同時(shí)是一個(gè)資深的移動(dòng)機器人和人工智能的業(yè)余愛(ài)好者。 譯者:韋文潮,樂(lè )高機器人FANS。畢業(yè)于物理學(xué)專(zhuān)業(yè),大三時(shí)接觸樂(lè )高機器人后一發(fā)不可收拾,至今從事多年樂(lè )高機器人教學(xué),F在偶爾做些機器人自?shī)首詷?lè )。 |