560 likes | 780 Vues
第二十五章 機器人學. 25.1 引言 25.2 任務:機器人適合做什麼? 25.3 零件:機器人由什麼造成? 25.4 架構 25.5 組態空間:一個分析的結構 25.6 導航和動作規劃. 25.1 引言. 美國機器人協會將 機器人 ( robot) 定義為 一個可程式化的多功能操控者,設計來移動材料、零件、工具、或特定的裝置,經由可變動的程式化動作達到各種工作的效能 。這項定義並不很嚴格;一個具有雙速開關的輸送帶大概也能滿足這項定義。 . 25.2 任務:機器人適合做什麼?.
E N D
第二十五章 機器人學 25.1 引言 25.2 任務:機器人適合做什麼? 25.3 零件:機器人由什麼造成? 25.4 架構 25.5 組態空間:一個分析的結構 25.6 導航和動作規劃
25.1 引言 美國機器人協會將機器人(robot)定義為一個可程式化的多功能操控者,設計來移動材料、零件、工具、或特定的裝置,經由可變動的程式化動作達到各種工作的效能。這項定義並不很嚴格;一個具有雙速開關的輸送帶大概也能滿足這項定義。
25.2 任務:機器人適合做什麼? 雖然人類幾乎都用同樣的身體做各種各樣的事情,機器人的設計卻因為所要執行的任務而有很大的差異。本節當中我們瀏覽並描述一些任務,下一節則探討造成機器人主體的可用部份(作用器與感應器)。
製造業與材料處理 製造業似乎是機器人的傳統領域。生產線重複性的工作是自主性本質上適合的目標,因此在1954年George Devol取得可程式機械臂的專利,基於同樣的技術──在卡片上打孔──也用在150年前的Jacquard織布機。
庶務機器人 行動代理人(mobots)的用途也越來越廣泛。兩項主要的應用是建築物的導遊,特別是醫院,以及作為保全守衛。有一家公司賣出超過3000個郵件行動代理人“mailmobile“。這些機器人負責從電腦終端機提出要求,並帶著文件或供應品到該建築物之外的某個目的地。
危險的環境 行動機器人是一項可在危險環境中降低人類生命風險的重要技術。在車諾比(Chernobyl)輻射清除期間,許多月球車的月球探索者機器人被改造成遙控的清潔車。在日本和法國,機器人被用於核能工廠的常態性維護。
遠端呈像以及虛擬實境 當電腦的分布領域從科學/商業應用發展到消費者科技,遠端呈像和虛擬實境仍繼續迷惑大眾的想像力。待在家裡並能夠感受到外界環境的想法,不論真實(遠端呈像)或虛構(虛擬實境)都很引人注目,並且是某些電腦和娛樂業主要行動的背後驅動力。
擴增人類的能力 遠端呈像的先驅包括將人類放入一個大而強的機器人之中。在1969年,通用電子建立四足行走機器(Quadrupedal Walking Machine),一個11隻腳,300磅重的機器人,有一個控制帶,人類操作員就被綁在帶上。計畫領導人Ralph Mosher強調人機關係“如此接近,有經驗的操作員開始覺得那些機械腳就像是他自己的。
25.3 零件:機器人由什麼造成? 機器人可用它們所配備的作用器和感應器而與其他機器人做區分。例如,一個行動機器人要求某種腿或輪子,而一個遠端操作機器人需要一部攝影機。連接於機器人的最後連結是終端作用器(end effectors),機器人可用來與環境互動。終端作用器可能是有吸管的杯子、夾子、螺絲起子、焊槍、或噴霧器,諸如此類。
作用器:行動的工具 一個作用器是任何能夠影響環境的裝置,並受機器人控制。若要對於實際環境有影響,作用器就必須配備能將軟體命令轉變為實際動作的促動器(actuator)。促動氣本身通常都是電力馬達或是水壓或氣壓幫浦的汽缸。為了簡化起見,我們假設每個促動器決定單一的行動或自由度(degree of freedom)。
移動(locomotion) 大多數陸地上的動物用腳移動。腳的移動對機器人而言很困難,因此只用在特定的情況。最明顯的應用是在具有大型障礙物的粗糙地形行動。
有時候機器人的設計讓移動的控制顯得很困難。讓一輛有多節拖車、且每節拖車都有輪子的車倒車已超出大部分人類的能力範圍;因此一些大型消防車為後面的輪胎裝備第二個傳動輪,讓倒車容易些。消防車只有一節,但是在任何現代機場都可以看到兩節拖車的例子。離開登機門的時候,大部分的飛機都是由一個降落輪接駁車所驅動。
操控(manipulation) 現在回到操控器(manipulator),在環境中移動物體的作用器。機器人操控器的前身是可讓人類操控危險材料的遠端操作機制,模仿人類手臂的幾何學。早期的機器人大體上遵循這項前例,並且有擬人化的運動學。廣義地定義,運動學(kinematics)是促動器在某種機制當中,彼此動作間的一致性以及造成不同部位之動作的研究。
機器人操控器的末端是終端作用器(end effector),可與環境中的物體直接互動。它可能是螺絲起子或其他工具,一把焊槍、噴漆器、或是夾握器。不同的夾握器複雜度差異也很大。兩指和三指的夾握器在製造業幾乎能提供大部分的任務所需。這些夾握器的機械性很單純,使得它們具有很高的可信度,並且容易控制,這兩項對於製造業都是很重要的性質。
感應器:認知的工具 第24章涵蓋了認知的一般概念,並以視覺作為主要的範例。在本節當中,我們敘述其他可為機器人提供知覺的感應器種類。
本體感受(Proprioception) 就像人類一樣,機器人也有一種本體感受4的知覺,用來讓機器人知道它們自己的關節在哪裡。裝配在關節當中的編碼器(encoders)為關節的角度或伸展提供很精密的資料。若編碼器的輸出在動作期間被回饋到控制機制,機器人就能夠定位到比人類更精確的位置。對於操控器而言,通常換算成終端作用器位置的精確度時,能達到只有幾密爾(mils,千分之一吋)的精確度。
力的感應 即使機器人能夠比人類更精確地感受並控制它們的關節位置,仍有很多工作不能只靠位置感應而完成。例如,想像用剃刀刮櫥窗玻璃上的油漆。將油漆從窗玻璃上刮下的工作需要在玻璃垂直方向具有大約一微米的定位精確度。
觸覺感應 拿起一個紙咖啡杯或操縱一個很小的螺絲都不只需要本體感受。作用於紙杯的力度必須恰好足夠不讓它滑落,卻不能把它弄破。操縱螺絲則需要關於它和與之接觸的手指實際上的相對位置資訊。以上兩個例子當中,觸覺感應(或碰觸感應)都可提供所需的資訊。觸覺感應是以機器人學的觀點表現人類對於碰觸的知覺。
聲納 聲納(sonar)即是聲音導航與測距(SOund NAvigation and Ranging)。聲納提供關於接近機器人之物體的有用資訊,經常用來避免高速緊急衝撞。有時候也用來將機器人的環境對應到一個大的範圍。對於後者,將十個以上的感應器陣列放置在機器人周圍,每個都指向一個不同的方向。理想上每個聲納都量測所指方向之最近障礙物的距離。
攝影機資料 人類和動物的視覺系統始終是機器視覺研究人員所羨慕的對象。第24章提出一個機器視覺發展現況的概述,要處理複雜的室外場景以及一般化的物體辨識仍有一些距離。幸而對於一個機器人的目標而言,比一般化視覺系統簡單的事物通常就已足夠。若機器人需要執行的工作集合有限,則視覺只需要提供這些工作所需的資訊即可。特定目標的機器人能善用所謂的領域限制(domain constraints),可以假設是運用於限制環境中。
某些例子當中,我們也可以自行更改環境以使得機器人的工作容易些。想像一個垂直的光帶的投射狀況如圖25.7所示。當此光帶穿越一個物體時會產生一個輪廓,其3-D形狀很容易由任何不在光帶平面內之觀點的三角測量推論出來。一部放在跟光源同樣水平面的攝影機只需要定位每個水平掃描線內的光帶。
25.4 架構 在本節當中,我們從機器人各個會動的部份進展到整體的控制機制。機器人的架構定義如何組織從認知產生行動的工作。我們主要考量動態環境中的自主性行動代理人,其中精密的控制架構之需求已很明確。而且,機器人能獲得的知覺輸入通常都很龐大;盡管如此,在某些情況下機器人仍需要很快速回應。在接下來的各小節,我們簡單敘述各種架構,從完全審慎到完全反射式的反應。沒有任何可行的架構設計理論可用來證明一種設計比另一種好。
古典架構 在1960年代晚期之前,出現了原始但有用的智慧型機器人工具。這些工具包括可指出簡單多面體位置的視覺系統;二維路徑規劃演算法;以及能夠以狀況微積分建構簡單符號式規劃的解析定理證明演算法。由這些工具,再加上一組輪子、馬達和感應器,產生了Shakey,許多智慧型機器人計畫的先驅。
情勢化自動機(situated automata) 情勢化自動基本值上是一個有限狀態機(finite-state machine),其輸入是由連接到環境的感應器所提供,輸出則連接到作用器。情勢化自動機是有狀態的反射式代理人一項很有效率的實作。這種機器人的發展有兩項主要的因素:第一個方法包含藉由一項離線編譯程序而產生自動化,由一項明確表示法開始。第二個方法包括一項基於關於機器人必須展現的多種行為之分解的手動設計程序。
Rosenschein的基本設計顯示於圖25.9。它以一項關於功效的定理為基礎,任何有限狀態機皆可被製作成一個狀態暫存器,再加上一個根據感應器輸入和目前狀態而更新狀態的向前回饋線路(feedforward circuit),以及另一個由狀態暫存器計算輸出的電路。因為所有的計算都由深度固定的向前回饋線路所提供,每個決策週期的執行時間都非常小。
行為被排列成有優先順序的階層,其中較高層的行為可存取較低層行為的內部狀態,並且可以修改或改寫較低層行為的輸出。圖25.10表示一個行動機器人的行為階層,由Brooks(1986)提出。行為被排列成有優先順序的階層,其中較高層的行為可存取較低層行為的內部狀態,並且可以修改或改寫較低層行為的輸出。圖25.10表示一個行動機器人的行為階層,由Brooks(1986)提出。
25.5 組態空間:一個分析的結構 在機器人學之中,環境包括機器人本身的主體。第3章所討論的問題和機器人學的問題主要差異是,機器人學通常用到連續狀態空間。機器人本體的組態和實際空間中物體的位置都由真實的座標值所定義。因此不可能直接套用標準搜尋演算法,因為狀態和行動的數量是無限的。機器人計畫之中的大部分工作是將這些連續狀態空間變成可用資源。
組態空間可用來決定是否有一條讓機器人從一個位置移動到另一個位置的路徑。在實際空間中這是一個很難想像的問題,但是在組態空間中卻很容易。從考量C中的點開始,在其中機器人的任意部份都會碰撞到某些東西。這些點的集合稱為組態空間障礙(configuration space obstacle),或稱為O。集合的差C – O稱為自由空間,或F,是一個組態的集合,在其中機器人能安全地移動。
假設在組態空間中有一個起始點c1和一個目標點c2。機器人可在實際空間中的對應點之間安全地移動,若且唯若c1和c1之間存在一條完全屬於F的連續路徑。圖25.11表達這個觀念。
一般化組態空間 一般化的組態空間這個辭彙用於其他物體狀態都成為組態的一部份之系統。其他物體可能是可移動的,而且那些物體的形狀可能不同。形狀變量出現在剪刀或釘書機這類有機械關節的物體,以及繩子和紙張這類可變形的物體之內。一般化狀態空間對於了解像組合規劃(assembly planning)這類工作時特別有用,其中機器人必須將一組物體移動到某個預定的範圍內。
可辨識集合 組態空間是一個了解物體形狀所引發之限制的有用工具。機器人對於本身的狀態有良好的知識(雖然通常對於精密的工作仍缺乏精確性),但它對於其他物體的知識都是得自感應器的二手資訊,例如聲納、雷射測距器、以及電腦視覺。有些物體無法從機器人的目前位置看到,因此有很大的不確定性。不同於組態空間中的點,計畫者必須從一群可能性或可能的組態之中開始。這樣的集合稱為可辨識集合(recognizable set)。
25.6 導航和動作規劃 可定義五種主要的演算法類別,並將這些演算法大略依據在規劃和執行時所需的資訊量做安排: 細胞分解(cell decomposition) 輪廓化(skeletonizatoin) 限制誤差規劃(bounded-error planning) 地標基礎導航(landmark-based navigation) 線上演算法(online algorithms)
細胞分解 回想一個機器人的動作規劃縮小成在自由空間F中操縱一個點,細胞分解的觀念就很容易描述: 1.將F分解成簡單且相連的區域,稱為“細胞”(cells)。這就是細胞分解。 2.決定哪個細胞與其他哪些細胞相鄰,並建構一個連接圖(adjacency graph)。圖中的點是細胞,連接細胞的邊彼佌相鄰。 3.決定開始和目標組態所在的細胞,並在連接圖的這些細胞之間搜尋一條路徑。 4.由上個步驟找到的細胞順序,在每個細胞中計算一條路徑,可從上個細胞邊界上的一個點到與下個細胞相接之邊界上的一個點。
例如,我們可以使用矩形細胞,它可與具有直線路徑(這項特性對所有凸狀細胞皆適用)的細胞之任意兩個點連結。困難的地方是細胞必須建構在組態空間中,而且F一般都有複雜的彎曲邊界(見圖25.12)。例如,我們可以使用矩形細胞,它可與具有直線路徑(這項特性對所有凸狀細胞皆適用)的細胞之任意兩個點連結。困難的地方是細胞必須建構在組態空間中,而且F一般都有複雜的彎曲邊界(見圖25.12)。 因為F-邊界的困難,第一個細胞分割的方法並不實際。而要使用八個方形或矩形長條逼近再細分。一個長條逼近於2-連結(有兩個連結)的機器人組態空間,如圖25.13所示。
輪廓化的方法 不同於將一個分解產生成一組空間中有限數量的離散區塊,輪廓化(skeletonization)的方法將組構空間瓦解成一維的子集合,或稱為輪廓(skeleton)。這種方法藉由要求路徑必須要沿著輪廓而簡化了在高維度空間中漫遊的工作。輪廓本質上是一個網,具有有限個數的點,輪廓中的路徑可用圖的搜尋方法計算。
為了完成動作計畫,輪廓化方法必須滿足兩項特性:為了完成動作計畫,輪廓化方法必須滿足兩項特性: 1.若S是自由空間F的一個輪廓,則S在每個F的連結區域都應該有一個連結的部份。 2.對任何F中的點,應該很容易計算從p到輪廓的一條路徑。
細微動作規劃 細微動作規劃(fine-motion planning,FMP)是關於為組裝而規劃的小而精確的動作。我們對於適合FMP的距離規模知道得並不準確。更甚者,機器人無法精確地量測或控制它的位置。處理這些不確定性是FMP的主要考量。如同線上演算法,細微動作規劃也是使用感應或環境形態以在執行時期決定機器人路徑的策略或方針。
地標基礎導航 感應器被假設為簡單的定位或接觸感應器,可在整個環境提供一致的精確度。更複雜的感應器,例如視覺或聲納,有很不同的屬性。要將這些感應器用合理的方式表現為模型顯得困難許多,但我們會介紹幾種近代方法。 首先是稱為地標基礎模型(landmark model)的感應模型,假設環境中包含容易辨識且特殊的地標(landmarks)。一個地標被模型化成周圍環繞著圓形影響範圍(field of influence)的一個點。在影響範圍之內,機器人可以得知本身的精確位置。若機器人處在所有的影響範圍之外,就沒有任何直接的位置資訊。
一個有地標的環境表示於圖25.22中。在規劃的時候得知這個環境,但不知道機器人的位置。因此假設機器人處於所知區域(圖中的矩形)的某處。從目標往回推算,並為機器人規劃一項策略。
線上演算法 嘗試產生一個可在執行期間做決策的條件規劃(conditional plan,根據第13章的說法)或策略(policy,根據第17章的說法)。在某些狀況下,有可能在缺乏任何環境知識的情況下計算這類規劃。這可避免對於離線規劃階段的需求,所有的選擇都在執行期間處理。我們稱這類演算法為線上演算法(online algorithm)。線上演算法必須是簡單的,因為必須即時做選擇。因為這項原因,它們不能“記憶”太多關於所處環境的資訊。
下列是一個完整的線上策略: 1.令l表示連結機器人開始位置和目標位置的直線。機器人開始沿l而朝向目標移動。 2.若機器人在到達目標之前碰到一個障礙物,它會停下來並記錄目前的位置Q。接著機器人以順時鐘方向(方向並不重要)繞過障礙物回到位置Q。在這個移動期間,機器人記錄它通過線l的點,以及它移動多遠才接觸到這些點。。 3.機器人從Q到P0繞過障礙物。因為它知道要走多遠才能到達P0,它可決定要以順時鐘方向或逆時鐘方向更快到達點P0。一旦到達P0,它開始沿著l朝目標前進,一直持續到它接觸到其他障礙物或到達目標。