現在是進入機器人領域的前所未有的好時機:處理能力與日俱增,傳感器技術從根本上得到改善,成本也在不斷降低。最重要的是,控制這些機器人所需要的軟件越來越容易獲得。盡管擁有光明的發展前景,但是現在的機器人還不能稱之為符合阿西莫夫(Asimov)機器人三定律的智能機器人。
但是市場上仍然出現了幾款成功的商用機器人和軍用機器人。例如,iRobot公司的Roomba吸塵器采用基于行為的編程方式。Qinetiq公司的Dragon Runner已經在伊拉克和阿富汗戰爭中派上用場。Roomba吸塵器是完全自主型機器人,Dragon Runner則是遙控機器人。
機器人的研發
相當多的研究人員都在研究自主和半自主機器人。隨著新晉程序員和工程師參加美國三一學院(Trinity College)的家用機器人滅火比賽和FIRST機器人大賽等比賽,這種研發工作開始發揮作用。
這些學生將從大學期間所做的研究中受益,甚至將受益于商業領域的研究。樂高(Lego)公司的Mindstorms機器人玩具和美國
國家儀器(NI)公司的LabVIEW機器人等產品正在使機器人實驗變得更方便。
有時候大小和性能在機器人研究中也有影響。這就是Willow Garage公司的開源機器人PR2體積龐大的原因(圖1a)。PR2運行機器人操作系統(ROS),在與人一般大小的自主機器人內集成了一些重型機械、計算機硬件和軟件。
圖1:ROS運行在眾多類似Willow Garage公司的PR2(a)和Bilibot(b)這樣的平臺上。
Bilibot將iRobot Create與微軟的Kinect結合在一起
PR2的計算引擎具有一對四核英特爾Xeon Core i7處理器和24GB糾錯碼(ECC)內存。它擁有0.5TB的硬盤驅動器和1.5TB的移動硬盤。此外還有一個32Gbps的吉比特以太網開關和用于馬達控制的EtherCAT網絡。主干以太網用于包含攝像頭在內的各種連接。該網絡可連接到Wi-Fi和藍牙無線網絡。
該硬件完全采用1.3kW鋰離子電池組供電時可工作兩小時。兩小時的時間對于有些應用而言可能比較短,不過用于測試則綽綽有余(PR2主要用于測試)。這個系統的背面還有一個運行-停止緊急按鈕,該按鈕可以禁用驅動馬達,而使機器人的其余部分保持活動狀態。同時還提供了無線版本。
PR2的手臂看起來比較古怪,但它們采用了很有意思的設計。其無源彈簧平衡系統即使在斷電情況下也可使手臂保持原位不動。這還意味著,手臂可反向驅動,因此不需要破壞它們或者不需要與伺服系統斗爭即可推動或移動它們。
許多裝配線上的機器人手臂都非常笨重,這使得快速移動比較困難。當它們意外地碰到物體時也缺少反饋。不過PR2的手臂具有八自由度。
PR2也裝載了傳感器。它的兩個Hokuyo UTM-30LX激
光傳感器可提供精確的范圍信息(圖2)。一個傳感器安裝在全方位平臺上,一個傳感器安裝在下巴上。光是頭部就安裝了六個以上的攝像頭,包括幾個立體攝像頭和帶窄角立體攝像頭的LED紋理投影機。

PR2可能需要的一個傳感器是微軟的Kinect Xbox 360。面向Kinect的底層技術由PrimeSense公司開發,可以解決機器人設計工程師幾十年來一直在努力解決的一個難題:如何獲得機器人環境的良好的三維表現形式?
Hokuyo激光掃描儀等產品就是一種解決方案。與許多備選方案相比,Hokuyo激光掃描儀確實不貴,不過它的價位仍在1000美元左右。Hokuyo激光掃描儀的優勢在于其精度。Kinect的價格便宜10倍,但是它的精度損失程度也差不多是10倍。另一方面,PrimeSense整合了視頻和位置信息。這對于游戲軟件和機器人來講非常有用。Kinect可提供30幀/秒的VGA分辨率。
機器人可以通過這一信息來識別和避免障礙物。它還可以通過Kinect在游戲中使用的交互方式,利用該數據實現與人(可認為是障礙物)的交互。這種使用圖像和激光系統的研究在大學中仍在進行,但是PrimeSense技術將使這個過程更加簡單和經濟。
甚至出現了一個OpenNI(自然交互)組織,該組織致力于通過Kinect中所使用的技術等各種技術支持用于用戶交互的開放框架。OpenNI的框架將對機器人很有用,但也不局限于這個領域。
Bilibot是一個整合了ROS和Kinect的機器人(圖1b)。其未來版本可能會采用PrimeSense公司的傳感器來取代Kinect,這是因為Kinect需要額外的電源,而PrimeSense模塊不需要USB電源。
Bilobot基于iRobot的Create平臺構建,該平臺運行8位Atmel ATMega微控制器。它擁有可放置筆記本電腦或移動PC的平臺。PC采用類似Kinect的智能移動平臺。
與PR2類似,Bilibot的設計旨在用于研究,因此靈活性和計算能力是關鍵因素。專用系統可能尺寸更小,價格更便宜,但這其中的界線往往是機器人研究者比較棘手的問題。
四旋翼直升機ROS
美國賓夕法尼亞大學的GRASP(通用機器人、自動化、傳感和感知)實驗室也采用了機器人操作系統。該實驗室的四旋翼直升機機器人運行ROS并具有無線連接功能,可實現多個機器人協同工作(圖3)。這些機器人可以配備夾具,這樣就可以撿拾落在它們下面的物體。
圖3:美國賓夕法尼亞大學GRASP實驗室的四旋翼直升機機器人可以協同工作來構建結構
該四旋翼直升機具有一套穩定的飛行系統,可以輕松地向任何方向移動。請查看GRASP網站(www.grasp.upenn.edu/)上的視頻。令人印象深刻的是由三個機器人構建的一個簡單結構。這種結構的接合處包含了磁鐵,從而使結構的構建更加簡單。
多個四旋翼直升機機器人被用來共同移動一個物體,這是一個機器人單獨做不到的。多個機器人的組合還可以實現更夸張的動作。四旋翼直升機機器人可以表演驚人的雜技,穿過窗戶和鐵圈飛行,甚至可以貼在墻上。此外,它們可以自主運行。
這些實驗中的四旋翼直升機有一個優勢。它們使用外部視頻傳感器傳回的信息。傳感器和機器人組成的網絡通過ROS連接在一起。
ROS:機器人操作系統
ROS是一種分布式系統。ROS系統由一組節點組成,這些節點運行通過消息傳遞系統通信的數據包。每個節點本質上都是網絡中的一個小型Web服務器。
至少有一個主節點提供服務命名和注冊設施。該主節點與互聯網上的域名服務(DNS)服務器的功能基本類似。復雜的ROS系統中可能有多個主節點。這些主節點之間相互交換信息,從而使處于該環境中的其它節點能夠找到服務。
這些節點能夠以客戶機/服務器模式以及發布/訂閱模式工作。客戶機/服務器模式可提供直接交互,而發布/訂閱模式一般與傳感器配合使用。例如,傳感器可能在檢測到變化時發布一個包含新信息的主題。
如果有遙感器和控制功能,則機器人可能擁有單個與之相關聯的節點。機器人也可以是一個完全獨立的系統。甚至遙控接口也可以是一個節點。
數據包可以收集到堆棧中。堆棧和ROS的目標通常是為最少量的工作和結構提供最多的功能。這就提供了一個比較靈活的環境,允許更方便地更改設備和算法,并且包含盡可能多的標準的復用。
例如,XML可能用來定義堆棧清單。ROS網站(www.ros.org)提供了許多數據包和堆棧的鏈接。ROS導航堆棧是一個項目中普遍包含的項。
另一個廣泛使用的ROS數據包是點云庫(PCL)。它為濾波、下采樣、三維特征估算、注冊、表面重建和分段等操作提供算法。點云庫對于3D環境中的工作必不可少。由于需應對3D環境的諸多挑戰,許多簡單的機器人項目在2D環境下能夠有效工作。
多個ROS數據包采用Willow Garage支持的OpenCV庫。OpenCV是一個開源計算機版本庫。它為來自攝像頭和雷達系統等裝置的數據提供圖像處理。它甚至還包含各種輔助機器學習的功能。
人工智能在一些提供規劃的現有ROS數據包中開始發揮作用。IBM的Watson等平臺集成了自然語言處理(NLP)。這些平臺可能對與人交互的機器人有用,并且可能作為ROS數據包附帶。
ROS從根本上是一個用于各種機器人(包括自主和半自主裝置)的研究平臺,因此它在生產系統可能需要的一些裝置(如安全性)之前出現。可以通過VPN保護通信安全,因為VPN無法實現細粒度管理控制,但這是另一個研究領域。
遠程呈現是另一個成功案例
Qinetiq公司的Dragon Runner和iRobot公司的Packbot等半自主機器人經常被用于拆除炸 彈。這種機器人可以讓控制器操縱機器人,不過這種操作往往是單向操作。
遠程呈現(Telepresence)機器人可以實現控制器與機器人看到的人之間的雙向交互。許多遠程呈現機器人已經面市,包括Willow Garage公司的Texia、Gostai公司的Jazz Connect、Anybots公司的QB以及VGo Communications公司的VGo(圖4)。
圖4:遠端呈現機器人種類多樣,包括Willow Garage公司的Texia(a)、Gostai公司的Jazz Connect(b)、Anybots公司的QB(c)以及VGo Communications公司的VGo(d)。
Texia運行ROS。與PR2類似,ROS被設計成一種研究平臺。現在已經可以購買到面向商用設計的其它平臺。這些平臺被設計用于通過Web瀏覽器進行簡單操作。它們可以實現雙向音視頻會議。
Gostai的Jazz Connect可以翻滾,而Anybot QB可以表演平衡動作。雙輪機器人必須保持平衡,但是這類機器人的功耗不一定比相應的多輪機器人的功耗高,因為保持平衡并不需要耗費多少功率。
Gostai提供各種版本的Jazz機器人。Jazz Security機器人可以自主運行,也可以遙控工作。它集成了一個激光
測距儀,可以實現更精確的傳感,這使得它能夠創建詳細的地圖。
Gostai公司還擁有自己的名為Urbi的機器人編程環境,盡管Urbi應用可以獨立運行,但該平臺還是與ROS集成在一起。Urbi環境的許多組成部分都是開源的。
Vgo雙輪遠程呈現機器人與Anybot QB十分相似。這款機器人高4英尺,價格不到6000美元,具有內置的Wi-Fi、一個攝像頭和一個顯示屏。VGo這類遠程呈現機器人可以讓像Lyndon Baty這樣免疫系統十分脆弱的群體去實現他們無法做的事情。在Lyndon的案例中,Lyndon無法做的事情就是在德克薩斯州諾克斯市的高中上學。他具有由于腎移植引起的多囊腎病,必須避免與他人接觸。
對于越來越多的應用而言,機器人正成為更加有用和現實的替代方案。盡管還有很多工作要做,但是像ROS這樣的框架將有助于改變現狀。