本書是學(xué)習(xí)機器人操作的基礎(chǔ)教材,旨在介紹機器人操作過程中的力學(xué)原理和規(guī)劃算法。在力學(xué)原理部分,我們將從一個全新視角來審視經(jīng)典力學(xué),包括運動學(xué)、靜力學(xué)和動力學(xué),并使用新的方法(如多種圖形化方法)來解決在其他書籍中沒有出現(xiàn)過的一些特殊問題。在規(guī)劃算法部分,我們將使用基于狀態(tài)空間的方法,同時考慮如何處理以下兩個難題:使用經(jīng)典力學(xué)得到的高維連續(xù)狀態(tài)空間并不適合用于搜索算法;由于機器人的感知和運動控制等系統(tǒng)以及周圍環(huán)境因素而帶來的不確定性。
前 言Mechanics of Robotic Manipulation本書是為所有被操作的神秘魅力而吸引的讀者所寫。從其廣義形式來看,“操作”是指我們周邊世界里的各種物理變化:移動物體,使用焊接、膠合或緊固等方式來連接兩個或多個物體,使用切割、研磨或彎曲等方式改變物體的形狀以及其他各種過程。然而,與絕大部分涉及操作研究的書刊一樣,本書僅解決上述各種操作中的第一種方式:移動物體。即使在這一限制條件下,我們?nèi)杂性S多不同的過程需要考慮:抓。╣rasping)、攜帶(carrying)、推動(pushing)、丟放(dropping)、投擲(throwing)、擊打(striking)以及其他過程。
同樣,我們僅解決機器人操作中的問題,而忽略人類或其他動物的操作(除了從中獲取某些靈感以及偶爾的哲學(xué)思考之外)。但是“機器人”操作不應(yīng)被限制得過于狹隘——或許“機器操作”是一個更好的表述。我們將涵蓋任何形式的機器操作,從門擋(門塞)到自動化工廠。
本書借鑒了兩個領(lǐng)域的內(nèi)容:經(jīng)典力學(xué)和經(jīng)典規(guī)劃。本書大部分內(nèi)容致力于經(jīng)典力學(xué)及其在操作過程中的應(yīng)用。為了深入理解操作過程,我們需要從一個不同尋常的視角來審視經(jīng)典力學(xué),這將驅(qū)使我們解決一些在其他書籍中沒有解決過的特殊問題。
本書的第二部分內(nèi)容是經(jīng)典規(guī)劃。我們將使用基于狀態(tài)空間的方法,即利用可能動作行為的顯式模型使規(guī)劃算法能夠搜索各種序列,從而獲得一個令人滿意的解答。這方面有兩個難點亟待解決。第一,經(jīng)典力學(xué)的結(jié)果通常對應(yīng)于連續(xù)狀態(tài)空間,而非更適合于搜索算法的離散狀態(tài)空間。第二,機器人通常無法獲取完美的信息,并且機器人也許無法獲知任務(wù)的實際狀態(tài)。有時,規(guī)劃算法需要能夠處理機器人所預(yù)測的任務(wù)狀態(tài)和實際狀態(tài)之間的差異。這兩個因素——高維的連續(xù)狀態(tài)空間以及不確定性均增加了操作規(guī)劃的復(fù)雜度。
本書與以往大多數(shù)書籍的不同之處在于側(cè)重于操作(過程)本身而非機械臂。這種對過程本身而非對設(shè)備的側(cè)重,是一種更為基本的方法策略,所以其結(jié)果可以適用于更為廣泛的設(shè)備,而不僅僅是機器人手臂。操作的真正問題在于如何移動物體,而不是如何移動手臂。對于操作這個問題,人類的解決方案是盡可能使用周圍可以利用的資源,比如使用適宜的平面以便對齊物體,敲擊或晃動不方便抓取的物體,使用廉價的物體作為工具來進行捅或推等操作。當(dāng)人類使用自己的雙手進行操作時,最容易觀察到這種能力,不過這種能力在人類編程控制機器人手臂時也體現(xiàn)得相當(dāng)明顯。旨在解釋操作的任何可信嘗試都必須能夠處理各種不同的操作技法。
在機器人中,任何理論在達到某種成熟程度之后,都應(yīng)該經(jīng)得起檢驗。如果一個理論是完備的、建設(shè)性的,我們可以結(jié)合此理論建造一個機器人,而后通過相關(guān)實驗來驗證該理論的正確性以及有效范圍。從原則上講,結(jié)合經(jīng)典力學(xué)和經(jīng)典規(guī)劃來建造機器人是個相對簡單的任務(wù)。我們所建造的機器人系統(tǒng)中包含任務(wù)的計算模型,其中包括場景中對象的形狀以及其他相關(guān)物理參數(shù)。采用經(jīng)典力學(xué),機器人還能夠預(yù)測它想要執(zhí)行的各種行為可能造成的對應(yīng)結(jié)果。如果給機器人指定一些目標,它可以模擬各種動作序列,從中搜索出一個規(guī)劃以實現(xiàn)指定目標。
這樣的機器人是極端理性主義的——它嚴格遵循牛頓(亞里士多德或其他)力學(xué),并且基于第一性原理來推導(dǎo)出能夠滿足其目標的動作模式。它是理論和實驗之間近似完美的結(jié)合。為了解決理論問題,我們可以按照力學(xué)模型和搜索算法來設(shè)計機器人,從而得到一個可以接受理論驗證的正式實體。我們可以根據(jù)機器人的表現(xiàn)證明與之相關(guān)的理論,我們也有規(guī)則的顯式假說來評價其正確性。為了解決實驗問題,我們可以將設(shè)計思路賦予實踐,從而得到一個可通過實驗檢測的物理系統(tǒng)。當(dāng)理論和實驗相對應(yīng)時,我們可以證明理論的有效性及其在實施中的高保真度。當(dāng)理論和實驗無法對應(yīng)時,這提示我們需要對理論或?qū)嵤┓桨高M行合理的修正。
或許更重要的是此種方法在建立有效的建設(shè)性理論方面所具有的價值。有時候,“應(yīng)該可行”的理論和“實際有效”的理論之間存在著巨大差異。如何減少這種差異是推進該領(lǐng)域前進以解決重要問題的一個重要動力。
我們應(yīng)該試圖建立什么樣的理論呢?會不會有一個簡潔的解決方案——能夠使我們建造具有類人行為能力的機器人的一些簡單想法?相關(guān)的工程實踐表明此法并不可行,沒人期望一個簡潔的理論就可以解決如何建造汽車或火箭這樣復(fù)雜的問題。只有依賴大量的科學(xué)和工程方面的成果,我們才能夠建造十分復(fù)雜的人造物體。而可以與人類相提并論的機器人,它將比人們先前建造的任何東西都更為復(fù)雜。本書并不想提出解決方案,亦不想提出解決方案的大綱。相反,本書試圖勾勒出一條科學(xué)探究的具體線路,從而使我們有希望解決機器人操作中的某些核心問題。
本書起初是作為“操作的力學(xué)原理”(Mechanics of Manipulation)這一研究生課程的課堂筆記使用的,該課程是卡內(nèi)基梅隆大學(xué)機器人博士項目培養(yǎng)計劃的一部分。選修本課程的學(xué)生來自不同的背景,但他們大部分都有工程、科學(xué)或數(shù)學(xué)方向的本科學(xué)位。偶爾會有高年級的本科生選修本課程,大多數(shù)學(xué)生表現(xiàn)還不
1982年獲得麻省理工學(xué)院人工智能博士學(xué)位,從1982年開始在卡內(nèi)基梅隆大學(xué)計算機科學(xué)系任教,目前是計算機系和機器人研究所的教授,1995-2004年擔(dān)任計算機博士項目主管,從2004年起,擔(dān)任機器人研究所所長。
目 錄
Mechanics of Robotic Manipulation
譯者序
前言
第1章 操作 1
1.1 實例1:人工操作 1
1.2 實例2:一種自動裝配系統(tǒng) 3
1.3 操作中亟待解決的問題 4
1.4 操作技術(shù)的分類 6
1.5 文獻注釋 7
習(xí)題 8
第2章 運動學(xué) 9
2.1 基礎(chǔ)知識 9
2.2 平面運動學(xué) 12
2.3 球面運動學(xué) 16
2.4 空間運動學(xué) 18
2.5 運動學(xué)約束 20
2.5.1 非完整約束 23
2.5.2 根據(jù)速度中心對平面約束進行分析 27
2.6 運動機構(gòu) 29
2.7 文獻注釋 31
習(xí)題 31
第3章 運動學(xué)表示 34
3.1 空間旋轉(zhuǎn)的表示 34
3.1.1 軸線–角度 35
3.1.2 旋轉(zhuǎn)矩陣 36
3.1.3 歐拉角 40
3.1.4 四元數(shù) 42
3.2 空間位移的表示 49
3.2.1 齊次坐標 50
3.2.2 旋量坐標 51
3.3 運動學(xué)約束 58
3.4 文獻注釋 61
習(xí)題 61
第4章 運動學(xué)操作 65
4.1 路徑規(guī)劃 65
4.1.1 實際中的抓取和放置 66
4.1.2 位形空間變換 67
4.1.3 路徑規(guī)劃——離散C空間內(nèi)的啟發(fā)式搜索 70
4.2 非完整系統(tǒng)的路徑規(guī)劃 71
4.3 接觸的運動學(xué)模型 72
4.4 文獻注釋 74
習(xí)題 74
第5章 剛體靜力學(xué) 78
5.1 剛體上的作用力 78
5.2 多面體凸錐 83
5.3 接觸力旋量與力旋量錐 85
5.4 速度旋量空間中的錐 87
5.5 有向平面 88
5.6 瞬心和Reuleaux方法 91
5.7 力線和力矩標記 92
5.8 對偶力 94
5.9 總結(jié) 97
5.10 文獻注釋 97
習(xí)題 98
第6章 摩擦 101
6.1 庫侖定律 101
6.2 單自由度問題 103
6.3 平面內(nèi)的單點接觸問題 105
6.4 摩擦錐的圖形表示 106
6.5 靜平衡問題 106
6.6 平面滑動 108
6.6.1 平面滑動的力和力矩 109
6.6.2 極限曲面 111
6.7 文獻注釋 115
習(xí)題 115
第7章 準靜態(tài)操作 118
7.1 抓取和夾具固持 118
7.2 推 121
7.3 穩(wěn)定的推進 125
7.3.1 Peshkin界限 127
7.3.2 “平分線”界限 128
7.3.3 “豎直帶”界限 128
7.3.4 計算穩(wěn)定的推進動作 129
7.3.5 規(guī)劃穩(wěn)定的推進軌跡 131
7.4 零件定向 132
7.4.1 半徑函數(shù)和推函數(shù) 133
7.4.2 旋轉(zhuǎn)對稱:定向到對稱 135
7.4.3 不確定性的建模 135
7.4.4 規(guī)劃算法 136
7.5 裝配 138
7.6 文獻注釋 142
習(xí)題 143
第8章 動力學(xué) 148
8.1 牛頓定律 148
8.2 三維空間中的一個質(zhì)點 149
8.3 力矩和動量矩/角動量 150
8.4 質(zhì)點系的動力學(xué) 151
8.5 剛體動力學(xué) 153
8.6 角慣量矩陣 156
8.7 自由旋轉(zhuǎn)體的運動 161
8.8 平面內(nèi)的單點接觸問題 163
8.8.1 摩擦的不一致性 165
8.8.2 摩擦的不確定性 167
8.9 平面動力學(xué)的圖形方法 168
8.10 平面內(nèi)的多點接觸問題 170
8.11 文獻注釋 172
習(xí)題 172
第9章 碰撞 174
9.1 質(zhì)點碰撞 174
9.1.1 摩擦:一個不好的模型 176
9.1.2 一個更好的模型 177
9.2 剛體碰撞 179
9.3 文獻注釋 184
習(xí)題 184
第10章 動態(tài)操作 185
10.1 準動態(tài)操作 185
10.2 短暫動態(tài)操作 188
10.3 完全動態(tài)操作 189
10.4 文獻注釋 191
習(xí)題 193
附錄 無限遠點 194
參考文獻 197
索引 201