天天看點

發展型機器人:由人類嬰兒啟發的機器人. 2.2 機器人學簡介

<b>2.2  機器人學簡介</b>

這一節主要是對機器人學中的重要術語和硬體技術進行介紹,主要目的是讓不熟悉這些概念的讀者更加容易了解後面的内容。機器人學中的一些專業術語會大量地出現在本書中,如自由度(d of)、紅外傳感器、電動或氣動執行器。是以,認知科學和人類學專業的讀者将會在這一章節中學到一些知識,可以說這一節是機器人學知識的入門簡介。這部分的技術概述在一定程度上是基于maja matari'c的《the robotics primer》(2007)。讀者可以通過參考該書了解更詳細的内容。為了更進一步、更深入、更全面地了解機器人學的知識,我們還推薦大家閱讀siciliano和khatib(2008)編寫的《springer handbook of robotics》。

在本節中,我們首先介紹自由度的概念,23以及其在類人機器人中使用的各種執行器的實作機理。接着,我們将對用于處理視覺、聽覺、觸覺、本體感覺、壓力等資訊的傳感器進行概述。最後,我們還會介紹一些信号處理的相關概念。

<b>2.2.1 </b>

自由度、效應器和執行器

機器人的主體主要由兩部分構成:一部分是一套能夠接收外界環境資訊的傳感器(例如,擷取視覺資訊的錄影機,擷取音頻資訊的麥克風,以及感覺距離的紅外傳感器等);另一部分是能夠産生行為動作的執行器(例如,使輪子或“機器腿”運動,或者使機器人鉸接臂操縱物體等)。

自由度概念的引入,是為了确定機器人能夠表現的動作次元。自由度是指在三維x,y,z空間坐标系中能夠産生的動作維數。舉個例子,我們的肩膀有三個自由度,因為肩膀可以通過窩球關節結構,使上臂在三個次元上運動,分别是水準次元(x)、豎直次元(y)和旋轉次元(z)。上臂和小臂之間的結構隻有肘部的一個自由度,它可以使手臂伸直或彎曲。當然,最典型的是人類的眼睛,它有三個自由度,可以使眼睛在水準、豎直、旋轉方向上運動。

機器人會在一個或多個自由度情況下,使用效應器和執行器來執行相應的動作。效應器指的是一種機械裝置,它允許機器人根據外界環境的資訊做出相應的反應。人類身體上的效應器主要包括手臂、手指、眼睛和腿。機器人上的效應器主要是車輪和“機器腿”、機械手和夾持器以及“眼睛”“手臂”“機翼”“魚鳍”等。執行器也是一種機械裝置,其作用是讓機器人的效應器在至少一個自由度的情況下,将能量轉化成動作執行出來。人體中執行器的主要例子是控制各個關節的肌肉和肌腱。在機器人中,最常見的執行器是電機或馬達(包括電動、氣動或液壓型),或者是能夠通過改變本身形狀和屬性産生運動的其他物質。表2-1中列舉了一些最常見的執行器以及它們的主要特點。

表2-1  執行器的主要類型執行器簡  介注  解電動馬達  将電能轉變成機械能(轉矩和轉速),進而産生動作  優點:結構簡單,價格便宜,應用廣泛

  缺點:易發熱,不節能

  主要類型:直流電動機,直流齒輪傳動電動機,伺服電動機,步進電動機液壓馬達  将液體壓力轉變成機械能(轉矩和轉速),進而産生動作  優點:力矩大,動作精确

  缺點:體型大,較危險,有液體洩漏風險

  主要類型:汽車活塞氣動馬達  将空氣壓力轉變成機械能(轉矩和轉速),進而産生動作  優點:高功率,快速、準确反應,被動動力

  缺點:較危險,噪聲大,有氣體洩漏風險

  主要類型:mckibben型氣動人工肌肉反應材料  根據物質對光、化學物質或溫度的反應,産生小型的動作(收縮/伸長)  優點:适合微型機器人、線性執行器

  缺點:隻能産生小/弱的動作,有化學風險

  主要類型:光敏材料,化學活性材料,熱活性材料

連接配接兩個身體部位的執行器稱為關節(joint)。每個給定的關節可以有多個自由度,一般來說,每個自由度需要一個獨立的執行器來連結。不過就在最近,一種支援多個自由度的馬達已經被研發出來。

機器人系統中既可以使用被動的效應器,也可以使用更常見的(主動的)執行器。主動型執行器是指那些可以利用能源動力來将效應器移動到所需位置的活動性關節。這些執行器也可以使用一些柔性機構。相比之下,被動效應器是基于被動驅動機制,主要利用執行器結構産生的能源(例如,飛機機翼結構産生的氣動升力),并且能與環境進行互動(例如,重力、風力等),進而驅動機器人。最有名的被動效應驅動的機器人是passive walker(collins等人2005),該機器人利用了傾斜軌道上的重力和具有靈活膝蓋結構的雙腿,在不需要提供動力的情況下便可向下行走。許多動物和人類的運動系統中都有這樣的一部分,它們主要是利用被動的、柔性的效應器的屬性來進行運動。在機器人學中,這一研究領域叫作涉身智能,24其設計靈感是來源于基于被動或主被動混合執行器研發的低能耗機器人仿生系統(pfeifer和bongard 2007)。如果執行器能夠通過使馬達停止來應對外力刺激,那麼該執行器就是柔性的。擁有柔性機械臂的類人機器人在執行物體抓取任務時,當其手部的力傳感器感受到物體表面的反作用力時,将會關閉其手指或手的電機,進而實作物體的抓取。如果沒有柔性的執行器,電機将會繼續對目标施加外力,直到電機軸的位置達到最終位置,是以被抓取的物體有被損壞的風險。柔性執行器對人-機器人互動的應用同樣非常重要,因為當機器人觸及物體或表面的時候,尤其是其繼續運動會對人類使用者造成傷害的時候,機器人必須能夠停止其效應器的移動,以免對人類造成傷害。

最常用的執行器是電動馬達(又稱電機)。它們之是以被廣泛應用在機器人系統中,是因為這些電機價格便宜、相對來說能耗較低(雖然電機并不很節能),并且基于的是衆多工程領域适用的标準、簡單的電機技術。目前機器人中使用的電機主要有四種類型:①直流電機,②直流齒輪傳動電機,③伺服電機,④步進電機。這些電機将電能轉換成軸的轉動,是以又稱為旋轉電機。前三種電機是同一種類型電機(直流電機)的不同形态,而步進電機則基于不同的馬達設計原理,其在機器人平台上的使用方法和能量消耗都不同于其他電機。

旋轉電機中有兩個重要的參數,分别是轉矩(torque)和轉速(speed)。轉矩,就是在一個給定的距離産生的旋轉力;25轉速,指的是旋轉的速度(用每分鐘的轉速來衡量,記為rpm,也可以每秒鐘的轉速來衡量,記為rps)。大多數電機使用的是位置控制原理,即控制器驅動電機,使其轉動到指定的位置。即便出現了障礙或作用力,控制器也會控制電機産生相應的反作用力來應對,使電機保持在指定位置。另一種電機是通過轉矩來控制的,該電機控制目标電機軸的轉矩,而并不考慮電機軸的位置。柔性的執行器會有一個回報機制來感受反作用力,進而阻止電機繼續轉動到所需位置,避免燒壞電機。

直流電機(dc motor)是目前為止在機器人學中使用最廣泛的一種執行器。這種電機将電能轉變成電機轉軸的運動。直流電機的機電原理是,當電流通過線圈時會産生相應的磁場,進而轉動電機轉軸。該電機的功率與其轉矩、轉速成正比,可以通過調節輸入電流的幅度來控制電機的速度(轉速)和轉矩(旋轉力)。然而,大多數的直流電機通常具有高轉速(每秒50~150轉或者每分鐘3000~9000轉)和低轉矩,這可能對需要低轉速、高轉矩的機器人來說是一個很大的問題。直流齒輪傳動電機(geared dc motor)利用齒輪傳動原了解決了上述問題,齒輪傳動機制可以調節電機轉軸的速度和力度,進而讓電動機可以完成更慢、更有力的動作。齒輪傳動機制的工作原理是,當兩個不同直徑的齒輪互相連接配接時,會産生速度和轉矩的變化。例如,當電機的轉軸通過連接配接的小齒輪來驅動大齒輪進行轉動時,就會引起轉矩的增大和轉速的減小;當電機的轉軸通過連接配接的大齒輪來驅動小齒輪進行轉動時,就會引起轉矩的減小和轉速的增大。是以,小型齒輪轉軸連接配接大齒輪的直流電機,能夠使機器人實作低速、高力度的目标。超過兩個齒輪組合(同軸齒輪)的電機,就能夠進一步實作各種各樣的轉矩和轉速組合。

第三種類型的電動機是伺服電機系統(servo motor),通常簡稱為伺服電機(servo),該電機能夠使轉軸轉到特定的角度位置。它主要由三個部分構成:一個标準直流電機、能夠控制電機轉動資訊(位置和速度)的電子元件、一個感覺電機轉軸位置的電位器。這樣,伺服電機就可以通過回報資訊來計算誤差和調節電機軸的最終位置(如負載補償)。該電機有一個局限,即轉軸轉動不能超過180°  這裡的描述不正确,有些低檔的模拟舵機才有180°的限制,一般的伺服電機是沒有的。——譯者注。然而,由于伺服電機擁有很高的精度,是以在機器人學的研究中,伺服電機越來越多地被用于界定或達到某一目标角度位置。

最後一種類型的電動26機是步進電機,該電機按設定的方向轉動一個固定的角度,也稱為“步距角”,它的旋轉是以固定的角度一步一步運作的。當然,步進電機也可以通過結合齒輪傳動裝置來提高轉矩和減小電機轉速。

液壓馬達和氣動馬達是一種線性的執行器,它們分别通過向液壓缸中注入液體以及向氣缸中注入壓縮空氣來引起執行器的線性收縮和延伸。這些馬達可以提供很強的力度,是以在工業機器人中被廣泛使用。液壓馬達機構需要重型裝置來建構,是以維護困難,是以一般應用在自動化制造工業中。液壓馬達還可以提供高水準的動作精度來到達所需的目标位置。在一些小型的研究平台(如類人機器人)中,液壓馬達和氣動馬達存在一些缺點:噪聲非常大,有液體/氣體洩漏的風險,可能需要大型的壓縮機。但是,應用氣動馬達的發展型機器人系統也有很多優點,因為它們可模組化實作肌肉的動态屬性。事實正是如此,就像mckibben型氣動人工肌肉在pneuborn-13嬰兒機器人中的應用(narioka等人2009),該機器人将會在2.3節中詳細介紹。像這樣的氣動馬達由兩部分構成——内置的橡膠管和外置的尼龍套,對内置橡膠管内壓縮氣體的抽氣效應會引起肌肉的收縮,最高可達25%,其剛度也會提高,此外,剛度也可以根據需要來調整。

最後,除了基于電力和壓力的系統,反應材料執行器也為機器人系統提供了另一種選擇。這種執行器包含了多種多樣的特殊材料,例如編織物、聚合材料和化學化合物,它們都能夠對光(光敏)、化學物質、酸性/堿性溶液(化學反應)、溫度(熱敏)等産生較小的運動(組織的收縮/伸長)。

上述這些執行器中的一個或者多個執行器的組合,都能夠實作控制效應器實作動作的功能。在機器人的相關研究中,我們根據效應器的主要功能把它們分成兩個大類:用于移動的效應器和用于操縱的效應器。移動(或行走)效應器(locomotion effector)可以完成各種各樣的動作來使機器人移動到不同的位置。例如,雙足行走、四足行走、擺動、跳躍、爬行、攀登、飛行、遊動等。這類效應器主要包含“腿”、車輪、飛行翼和鳍狀物。當然,有的時候,比如爬行或攀登時,也會使用手臂來執行移動動作。操縱效應器(manipulation effector)主要用來操作物體,通常也包括使用“手臂”(類似人類上肢)的單手或雙手操作。可供選擇的操縱效應器大都是受動物手臂的啟發而研制的,例如借鑒章魚手臂(laschi等人2012)或者大象象鼻(hannan和walker 2001;martinez等人2013)的軟材料效應器。

在發展型機器人學的研究中,機械臂和機械手等效應器是非常重要的,因為它們都被廣泛應用于該領域内的類人機器人平台中,并且機器人操作能力的發展也被認為與各種高層次認知功能的進化和個體發展過程息息相關(cangelosi等人2010)。機器人中的機械手臂通常有着簡化的自由度結構,27和人類身體比較相似,包含肩部關節、肘部關節、腕部關節和手指關節。人類的手臂(除手部之外)有七個自由度:肩部有三個自由度(上-下、左-右、旋轉);肘部有一個自由度(伸直-彎曲);腕部有三個自由度(上-下、左-右、旋轉)。盡管機器人手臂在自由度的數量上通常有些限制,但是為研究認知和發展型模型而構造的類人機器人更趨向于精确複制人類的手臂/手結構。

最後還有一個非常重要的問題,即如何在操縱過程中找到那些具有高自由度的末端效應器(例如,包含夾持器或“手指”來操作物體的效應器)的位置。目前,我們可以通過正向運動學和逆向運動學方法來計算,或者使用機器學習的方法(pattacini等人2010)和仿生模型(bio-inspired model)來解決這一問題(我們将在本書的第5章中介紹)(massera、cangelosi和nolfi 2007)。

<b>2.2.2 </b>

傳感器

機器人必須能夠使用從外界環境及其本身内部擷取的資訊,進而對外部環境做出正确的反應。這就是傳感器所要扮演的關鍵性角色。傳感器是一種電氣機械裝置,用來定量測量(内部和外部)環境的實體屬性。

為了能夠感覺内部和外部的狀态資訊,機器人需要兩種傳感器,分别是本體感受傳感器(proprioceptive sensor)和外感受性傳感器(exteroceptive sensor)。本體感受傳感器(内部傳感器)能夠感覺機器人自己的輪子的位置,以及不同執行器中的各個關節的角度值(例如,力傳感器、力矩傳感器)。這和人體内部的感覺器官很類似,就像感覺肌肉伸縮的器官。外感受性傳感器(外部傳感器)能夠感覺外部環境的資訊,例如,到障礙物或牆壁的距離資訊,其他機器人或人類施加的外力,能夠通過視覺、聽覺、嗅覺感覺到的物體存在及其特性。

表2-2列舉了在機器人學中使用的主要傳感器。前五種類型是外感受性傳感器,主要用來測量外部環境的信号(光、聲音、距離和位置)。剩下的兩種類型是本體感受傳感器,其功能是測量機器人的内部構成和狀态資訊(馬達的力矩、加速度和傾斜角度)。表中也列舉了各個傳感器使用中的常見屬性及問題。

表 2-2  傳感器的主要類型傳感器設  備注  釋視覺(光)傳感器  光敏電阻  感覺光的強度  一維錄影機  感覺水準方向的資訊  二維黑白或彩色錄影機  感覺完整的視覺資訊;計算密集、資訊豐富聲傳感器  麥克風  感覺完整的聲音資訊;計算密集、資訊豐富遠距和鄰近傳感器  超音波(聲呐、雷達)  超音波的回報需要回報時間;在不光滑的表面上反射具有局限性  紅外線(ir)  使用紅外光波中的反射光極子;通過調制紅外線來減少幹擾  錄影機  根據雙目視差或視覺透視來測距  雷射  雷射的回報需要回報時間;無鏡面反射問題  霍爾效應  鐵磁性材料接觸(觸覺)傳感器  碰觸開關  二進制的開/關接觸  模拟觸摸傳感器  在傳動軸上結合彈簧;由能夠根據壓縮來改變電阻的軟導電材料構成  皮膚  分布在體表的傳感器位置(定位)傳感器  gps  全球定位系統,精确到1.5米(gps)或2米(dgps)  slam(光、聲呐、視覺)  同步定位與建圖,光、聲呐、視覺多種傳感器協同使用力(力矩)傳感器  軸編碼器  感覺馬達轉軸的旋轉值;使用透射型光電傳感器的測速儀測量旋轉速度  二次軸編碼器  感覺電機轉軸的旋轉方向  電位器  感覺電機軸的位置;在電機内部,檢測轉軸的位置傾斜和加速度傳感器  陀螺儀  感覺傾斜度和加速度  加速度器  感覺加速度

傳感器既可以使用被動感覺技術,也可以使用主動感覺技術。被動型傳感器是由一個可以感覺環境變化的探測器構成的,如碰撞傳感器主要用于探知外界壓力變化,光切換器則檢測光照變化。主動型傳感器需要電源和一個能夠向外界環境發送信号的發射器,當然也需要一個探測器來感覺信号的回報,進而确定是否有環境引起的定量影響(如回報延遲)。最常見的主動型傳感器是“反射式光電傳感器”(reflective optosensor),即要麼使用反射傳感器,28  ~29要麼使用透射型傳感器。在反射傳感器中,發射器和探測器安裝在裝置上的同一側,因為這一設計,發射器發出的光信号必須反射回探測器。這些反射傳感器使用三角測量法來計算光信号從發出到傳回之間的時間消耗。主動型反射傳感器也會和紅外(ir)傳感器中的光信号、聲呐(聲波導航和測距)中的超音波信号及雷射傳感器一起使用。第二種類型的主動型發射式光電傳感器是透射型傳感器,其信号探測器位于信号發射器的對立面。這種設計雖然打破了信号發射和接收延遲的障礙,但是會存在缺乏信号檢測這樣的弊端。

在使用機器人傳感器的時候,需要考慮一個非常重要的問題:傳感器所提供的定量資訊有着不确定性。這種不确定性是任何實體測量系統所固有的,産生這種不确定性的原因很多,例如,傳感器的噪聲和誤差,其測量範圍的局限性,機器人效應器的噪聲和誤差,以及環境中未知、不可預見的屬性和變化。盡管目前采用了一些可行的方法來處理傳感器的一些噪聲和局限性問題,但是這些方法隻能解決部分不确定性的問題。例如,校準标定可以用來處理使用led傳感器、紅外傳感器和錄影機時的環境光線。這裡的環境光指的是環境中預設的光線。傳感器在接收反射的光信号時應該忽略環境光,隻處理傳感器自己發射出去的光信号。這可以通過傳感器的校準标定來解決,換句話說,就是将發射的光信号關閉後先進行一次接收信号的讀取,然後在打開發射光信号時,所讀取的信号要将之前關閉時的讀取信号減去。

大多數傳感器提供的資訊通常會提供給機器人的控制器,幫助其進行動作選擇。對于簡單的傳感器,如紅外(ir)和碰撞開關,控制器可以直接使用原始資料。對于更複雜的傳感器,情況則恰恰相反,在機器人使用傳感器資訊之前,需要運用先進的信号處理技術對采集到的資料進行預處理。例如,視覺和聲音傳感器以及實作定位與映射的主動聲呐/光傳感器的集合,都屬于這種需要預處理的情況。我們将簡要描述一些與二維錄影機視覺傳感器、麥克風傳感器和即時定位與地圖建構(slam)傳感器相關的主要信号處理方法(thrun和leonard 2008),這是因為接下來在本書裡描述的各種實驗會涉及這些信号處理方法。在發展型機器人學的研究中,視覺和聽覺感覺是至關重要的特征,而且在人-機器人互動的實驗中還可以使用同步定位與建圖來進行導航控制。

機器人的視覺感覺(visual perception)使用它自己的(彩色)錄影機生成的數字圖像來擷取一組豐富的資訊集。隻要處理好這些視覺信号,智能系統就能夠建立一個外部世界的表征方式。這套表征方式包含:對象的分割與識别,以及這兩個操作任務的屬性;導航和避障的環境布局;與其他人類和機器人智能系統進行的社互動動。

30

人工視覺(也叫機器視覺)專家,已經研發出了一系列的标準圖像處理程式和算法,這些程式和算法已經廣泛應用在機器人學的研究中。盡管在人工智能和機器人學研究領域中,視覺方面的研究仍然是一個重大挑戰,但是目前的一些程式和算法在機器人視覺對象分割、識别和跟蹤等方面都有着成功的應用(shapiro和stockman 2002;szeliski 2011)。

在機器人視覺的研究中,一組特征提取方法通常可以應用于擷取“特征圖”(saliency map)(itti和koch 2001),也就是說,局部圖像的識别對機器人的行為有着十分重要的意義。具體來說,特征提取用來檢測和抽取數字圖像中的各種特征,如顔色、形狀、邊緣和運動等。例如,在schlesinger、amso和johnson(2007)關于對象完備化(object completion)的發展型模型的研究中(将在第4章中講述),他們通過一組結合顔色、運動、方位和色度的提取方法來建構特征圖。通過組合這些特征,便可生成注視物體模型的整個特征圖(圖2-3)。

圖2-3  實作特征圖的特征提取集合,從schlesinger、amso和johnson 2007中生成該圖。參閱第4章擷取該模型的更多資訊

數字錄影機的圖像處理通常包括兩個主要階段的視覺分析:①圖像處理,例如,平滑去噪、邊緣識别、從背景(或其他對象)中分割感興趣的對象;②場景分析,對圖像中的各對象進行注釋,并将部分對象(如四肢、頭部、軀幹等身體部分)內建到整體對象(如人類身體)的模型中。

31

平滑處理是指去除原始圖像的噪聲,如一些具有欺騙性和不規則的像素(例如,對細線條進行消除和對粗線條進行增粗)。邊緣檢測需要識别出圖像中出現亮度急劇變化的點。通常使用卷積(convolution)方法來實作平滑處理,換句話說,采用平均視窗的滑動以及該滑動視窗中心的像素強度數值的總和。滑動視窗通常使用高斯函數。更先進的方法是使用結合了平滑和邊緣檢測的平均視窗函數。例如,結合了高斯平滑和邊緣檢測差異化的sobel濾波器。sobel濾波器基于圖像的卷積,在水準方向和豎直方向有着小型、可分離和整數值的濾波器。另外,gabor濾波器采用線性濾波器來進行邊緣檢測,其靈感來源于初級視覺皮層的神經元功能。二維gabor濾波器基于一個由正弦波調制的高斯函數,并且能夠使用不同的頻率和方向設定。

對于區域識别,一般使用直方圖和劃分-合并(split-and-merge)等方法。基于直方圖的方法會産生一個關于圖像中像素亮度的直方圖,并且分布圖中的波峰和波谷會被用來定位圖像中的區域(叢集)。這是一種高效的方法,因為該方法通常隻需要通過像素就能完成。劃分-合并方法使用圖像的“四叉樹”分割。首先對整個圖像中的像素強度進行分析,如果在整體圖像中找到了像素的非齊次強度,就會将圖像分割成四個象限,然後對産生的每個新圖像再次檢測齊次像素強度。這個過程是通過更小象限的疊代來完成的。在完成分割之後,相鄰的均勻區域會合并成大的區域,進而構成了分割區域。

其他的濾波器也能夠用于生成物體的附加特征,如彩色濾波通常使用紅-綠-藍(rgb)原色元件,而動作濾波則是通過識别圖像中運動的像素(區域或對象)來完成的。隻要能夠提取出一個完整分割的圖像,就可以使用各種各樣的場景分析方法對其中的對象進行描述。例如,我們通常使用的基于模型的方法來識别人類/機器人的身體,身體中的不同部位必須能夠分割和識别(如四肢、頭部、軀幹),并且能夠和期望的人類身體模型比對。在人臉識别模型中,這種方法可能需要對臉部的關鍵點和特征進行識别,如眼睛和嘴的位置和構造。

有很多的軟體庫提供了現成的工具,進而可以使用各種各樣的特征提取過濾器和算法來處理機器人擷取的圖像。opencv(opencv.org;bradski和kaehler 2008)是最常見的開源軟體庫之一,在發展型機器人學的視覺進行中使用廣泛。這種軟體庫也通常與機器人軟體內建在一起,如icub和yarp中的中間件程式(詳見2.3.1節)。

32

還有一些其他的人工視覺方法,它們是基于大腦視覺系統的神經生理學和功能來實作的。例如,對數-極坐标視覺方法對哺乳動物視覺系統中視覺傳感器(視網膜視錐細胞)分布的神經生理學進行模組化(sandini和tagliasco 1980)。在那些哺乳動物中,特别是在人體中,視網膜中神經末梢(視杆細胞和視錐細胞)的分布情況是在中心注視點更加密集,在邊緣部位比較稀疏。這就導緻了圖像分辨率的非線性,即在中心部位具有較高分辨率,在邊緣具有低分辨率。其服從輻射對稱分布,可以由極性分布近似得到。此外,從視網膜視錐細胞到初級視覺皮層的數組投影,也可以近似為到一個矩形表面的對數-極坐标分布。這樣,在視覺中央凹的皮層代表區就有更多的神經元專注于目标,而其外圍使用較少的神經元則展現出較粗的分辨率。對數-極坐标方法将一個标準的矩形圖像轉化成一個空間可變的圖像。這種拓撲表示很容易用來進行實時對象分割和追蹤任務,因為它使用了一個節省資源的圖像展示和處理方法。對數-極坐标映射也已經廣泛運用在認知機器人的研究中(traver和bernardino 2010),例如,babybot平台(icub仿人機器人的前身)上的彩色物體追蹤(metta、gasteratos和sandini 2004)。

一些視覺處理工具是基于人工神經網絡的方法(如riesenhuber和poggio 1999;serre和poggio 2010;參閱borisyuk等人2009,了解其在機器人中的應用)。這些方法不使用預定義的濾波方法對圖像進行人為标注分析。相反,這些方法使用受到視覺系統生理學啟發的神經計算算法。神經網絡在處理圖像時,使用了一種分層處理架構方式,該方式受到了初級視覺皮層v1-v4(包含選擇性刺激取向、大小、深度和運動方向)到前下颞區(ait,對物體的表示)的刺激處理過程的啟發。例如,riesenhuber和poggio(1999)提出了一種用于視覺對象識别的大腦分層計算模型。

基于視覺神經計算模型的軟體庫還包括spikenet視覺系統(spikenet-technology.com),該系統允許使用一組預先訓練好的目标圖像與分割的對象進行模闆比對。dominey和warneken(2011)使用這個軟體庫對發展型機器人進行模組化,進而能夠确定目标物體的位置;他們也在人機合作實驗中用它來識别地标(詳見6.4節)。

機器人的聲音和語言感覺可以通過處理原始音頻的信号處理方法來實作,或通過更先進的用于聲音和言語的模式識别系統來完成(jurafsky等人2000)。分析原始聲音信号的經典方法包括:

33對語音提取的第一共振波峰進行傅裡葉分析(以元音的表示為例),隐馬爾可夫模型(hmm),人工神經網絡。在沒有預定義聲音系統的情況下(如在機器人語音系統的進化模型中,詳見第7章oudeyer的研究),或者在聲音感覺神經網絡中關注機器人的語音與填詞能力的情況下(如westermann和miranda 2004),通常适合采用機器人的語音和語音信号的特殊處理。

對于語言感覺,在發展型機器人研究中,最常使用的是自動語音識别系統(asr),它可以提取一串識别的文字,并且自動分析這些文字的文法。很多語音處理軟體包都含有asr和文法分析器。常用于發展型機器人研究中的asr系統包括:開源的sphinx、esmeralda、julius,商業性軟體dragon dictate,以及在windows和apple作業系統裡包含的标準asr系統。卡内基·梅隆大學(carnegie mellon university)開發的sphinx系統在asr系統中使用最廣泛的程式之一。sphinx系統實際上包含了一組依賴于n-gram和hmm方法的語音識别程式。它通過對說話人的初步訓練來建立一個基于個人聲音系統的聲學模型,之後就可以支援大量連續語音的識别。esmeralda系統是由比勒費爾德大學(bielefeld university)研發的,它提供了一個可以使用多種asr方法的語音識别系統的軟體架構。julius是由日本連續語音識别聯盟(japanese continuous speech recognition consortium)研發的,它是基于n-gram和上下文相關的hmm模型的方法,能夠對大量詞彙的連續語音進行實時、高速識别。它也包含了一個名為“julian”的基于文法的識别解析器。盡管現在的julius聲音模型包含許多其他語言(含英語),但是其最初是基于日語研制的。在商業化方面,dragon dictate(紐昂斯通信公司)是一種很流行的選擇,因為該軟體還有一個功能簡化的免費版本。

在發展型機器人的語言學習實驗中,目前使用了各種各樣的asr系統。例如sphinx(tikhanoff、cangelosi和metta 2011)和esmeralda(saunders等人2009),還有一些使用apple和dragon dictate軟體(morse等人2011,詳見第7章)。

對于實作機器人在地圖上感覺自己的位置,可以通過內建位置、定位和距離傳感器的信号,使得機器人可以建構環境地圖,進而在地圖上确定自己的位置。通過同步定位和映射(也可以稱為并發映射和定位)的方法,機器人能夠同時完成建圖和定位工作。slam不需要程式員提供關于房間/建築環境的預定義規劃,也不需要絕對位置标定(gps需要标定)。34當機器人需要探索某個位置的環境,又沒有可以使用的地圖時,或者gps無法使用(如在室内環境)時,slam實際上對機器人來說是必不可少的。但是slam很難實作,因為這是一個“雞和蛋”的問題:如果機器人沒有地圖,它該如何确定自己的位置;如果機器人不知道自己在哪,它又怎麼能建立一幅地圖。此外,在現實中這個問題又變得更加困難,原因在于:傳感器在不同環境中收集到的資料可能看起來是一樣的,或者相同/相近的位置可能由于噪聲或方向而出現不同的資料。基于這個問題固有的複雜性和傳感器資料的不确定性,盡管slam給機器人專家留下了難題,但是地标的識别和距離測量資訊可以幫助解決這個問題。

用于slam的傳感器資料可以通過多種方式來收集,包括利用光學傳感器(一維或二維雷射測距儀)、超音波傳感器(二維或三維聲呐傳感器)、視覺錄影機傳感器和機器人車輪行程傳感器。通常情況下,使用最多的是這些傳感器的組合,如利用輔以錄影機的聲呐信号用來檢測地标。為了解決定位和建圖的問題,slam使用了多種信号處理和資訊融合技術,并取得了不同程度的成功。一個好的slam算法是非常關鍵的,就如斯坦福大學(stanford university)團隊和斯坦利(stanley)機器人小車在2005年的darpa挑戰賽中取得的成功。關于slam方法的綜述,詳見siciliano和kathib的《springer handbook of robotics》(2008)3.7節中由thrun和leonard舉的例子。

繼續閱讀