本書系統(tǒng)講解了機器人學(xué)的理論知識,主要內(nèi)容包括:空間位姿的描述和變換、操作臂的正運動學(xué)和逆運動學(xué)、操作臂的雅可比、操作臂動力學(xué)、軌跡規(guī)劃、操作臂的機構(gòu)設(shè)計、操作臂的線性和非線性控制、操作臂的力控制、機器人編程語言和離線編程。此外,各章末包括不同難度的習(xí)題、編程練習(xí)和MATLAB練習(xí)。本書可作為高等院校相關(guān)專業(yè)的教材和參考書,也可供相關(guān)技術(shù)人員參考。
Craig教授根據(jù)機器人學(xué)的特點,將理論和實際應(yīng)用密切結(jié)合,按照剛體力學(xué)、分析力學(xué)、機構(gòu)學(xué)和控制理論中的原理和定義對機器人運動學(xué)、動力學(xué)和控制中的原理進行了嚴(yán)謹(jǐn)?shù)年U述,語言精練,內(nèi)容深入淺出,例題簡單易懂,體現(xiàn)出Craig教授在機器人學(xué)方面高深的造詣!稒C器人學(xué)導(dǎo)論》(原書第4版)是當(dāng)今機器人學(xué)研究領(lǐng)域的經(jīng)典之作。
前言
科學(xué)家常會感到通過自己的研究工作在不斷地認(rèn)識自我。物理學(xué)家在他們的工作中認(rèn)識到了這一點,同樣,心理學(xué)家和化學(xué)家也認(rèn)識到了這一點。在機器人學(xué)的研究中,研究領(lǐng)域和研究者自身之間的關(guān)系尤為明顯。與僅追求分析的自然科學(xué)不同,當(dāng)前機器人學(xué)所追求的是偏重于綜合的工程學(xué)科。也許正是這個原因,這個領(lǐng)域才使我們當(dāng)中的許多人著迷。
機器人學(xué)研究的是怎樣綜合運用機械裝置、傳感器、驅(qū)動器和計算機來實現(xiàn)人類某些方面的功能。顯然,這是一項龐大的任務(wù),它必然需要運用各種“傳統(tǒng)”領(lǐng)域的研究思想。
現(xiàn)今,機器人學(xué)諸方面的研究工作都是由不同領(lǐng)域的專家進行的。通常沒有一個人能夠完全掌握機器人領(lǐng)域的所有知識。因此,自然有必要對這個研究領(lǐng)域進行劃分。在更高的層次上,可把機器人學(xué)劃分為4個主要領(lǐng)域:機械操作、移動、計算機視覺和人工智能。
本書介紹機械操作的理論和工程知識。機械操作這一機器人學(xué)分學(xué)科是建立在幾個傳統(tǒng)學(xué)科基礎(chǔ)之上的。主要的相關(guān)學(xué)科有力學(xué)、控制理論、計算機科學(xué)。在本書中,第1~8章包括機械工程和數(shù)學(xué)的主題,第9~11章為控制理論的題材,第12~13章屬于計算機科學(xué)的內(nèi)容。另外,本書從始至終強調(diào)通過計算解決問題,例如,與力學(xué)密切相關(guān)的每一章都有一節(jié)簡要介紹計算方面的問題。
本書源于斯坦福大學(xué)1983~1985秋季學(xué)期的“機器人學(xué)導(dǎo)論”的講稿。前3版在1986~2016年被許多大學(xué)采用。第4版得益于這一廣泛應(yīng)用,并且根據(jù)多方面的反饋意見做了修改和改進。在此,向?qū)Ρ緯髡咛岢鲂拚庖姷乃腥吮硎靖兄x。
本書適用于高年級本科生或者低年級研究生課程。選修此課程的學(xué)生如果學(xué)過靜力學(xué)和動力學(xué)這兩門基礎(chǔ)課程,同時學(xué)習(xí)過線性代數(shù),并且能夠使用計算機高級語言編程,將是有幫助的。此外,雖然不必先修控制理論的入門課程,但學(xué)過這門課程也是有益的。本書的目標(biāo)之一是以簡單、直觀的方式介紹機器人學(xué)的知識。特別需要指出的是,雖然本書很多內(nèi)容選自機械工程領(lǐng)域,但本書的讀者不必是機械工程師。在斯坦福大學(xué),很多電氣工程師、計算機科學(xué)家、數(shù)學(xué)家都認(rèn)為本書具有很強的可讀性。
雖然本書直觀上適合機器人系統(tǒng)的研發(fā)工程師使用,但是對于任何將要從事機器人研究工作的人,本書內(nèi)容都是重要的背景資料。就像軟件開發(fā)人員通常要了解一些硬件知識一樣,不直接從事機器人的機械和控制研究的人員,也應(yīng)當(dāng)具備一些本書提供的背景知識。
與第3版一樣,第4版分為13章。本書的材料適合一學(xué)期講授,如果要在半學(xué)期內(nèi)講授,教師需要略去一些章節(jié)。即便如此,仍然無法深入講解所有專題。本書在編寫時從某些方面考慮了這一點,例如,多數(shù)章只采用一種方法去解決常見的問題。編寫本書的主要挑戰(zhàn)之一就是盡量在限定的教學(xué)時間內(nèi)為每個主題合理地分配時間。為此,我的辦法是只考慮那些直接影響機器人機械操作的材料。
在每章的最后都有一組習(xí)題。在每道習(xí)題題號后的方括號中給出習(xí)題的難度系數(shù)。難度系數(shù)在[00]到[50]之間。[00]是最簡單的題目,[50]是尚未解決的研究性問題。我采用了與DKnuth所著《The Art of Computer Programming》(AddisonWesley出版)同樣的難度等級。
當(dāng)然,一個人認(rèn)為困難的問題,另一個人可能認(rèn)為容易,因此,一些讀者會發(fā)現(xiàn)那些難度系數(shù)在某些情況下會引起誤解。不過,我們盡力評估了這些習(xí)題的難度。
在每章的末尾,布置了編程作業(yè),學(xué)生可以把相應(yīng)章的知識應(yīng)用到一個簡單的三關(guān)節(jié)平面操作臂中。這個簡單的操作臂足以用來證明大多數(shù)一般操作臂的所有原理,而不會使學(xué)生陷入過于復(fù)雜的問題中。每個編程作業(yè)都建立在前一個作業(yè)的基礎(chǔ)上,到課程結(jié)束時,學(xué)生就會得到一個完整的操作臂軟件程序庫。
另外,第1~9章共有12道MATLAB練習(xí)。這些練習(xí)由俄亥俄大學(xué)的Robert LWilliamsⅡ教授編寫,我對他所做的貢獻深表感謝。這些練習(xí)可以配合澳大利亞CSIRO首席研究科學(xué)家Peter Corke編寫的MATLAB機器人工具箱(Robotics Toolbox)使用。關(guān)于MATLAB機器人工具箱,請訪問http://petercorkecom/Robotics_Toolboxhtml。
第1章是機器人學(xué)的介紹,介紹一些背景資料、基本思想和本書所使用的符號,并概述后面各章的內(nèi)容。
第2章包括描述三維空間中的位置與姿態(tài)的數(shù)學(xué)知識。這是極為重要的內(nèi)容:通過定義,機械操作本身與周圍空間的移動物體(工件、工具、機器人自身)聯(lián)系起來。我們需要用一種易于理解并且盡可能直觀的方式來描述這些動作。
第3章和第4章討論機械操作臂的幾何問題,介紹機械工程學(xué)科中的運動學(xué)分支,這個分支研究運動但不考慮引起這種運動的力。在這兩章里,我們討論操作臂運動學(xué),但把研究范圍限定在靜態(tài)定位問題上。
第5章我們將運動學(xué)的研究范圍擴展到速度和靜力方面。
第6章我們開始研究引起操作臂運動的力和力矩。這就是操作臂動力學(xué)問題。
第7章描述操作臂在
目錄
譯者序
前言
第1章概述
1.1背景
1.2操作臂的力學(xué)與控制
1.3符號
參考文獻
習(xí)題
編程練習(xí)
MATLAB練習(xí)
第2章空間描述和變換
2.1引言
2.2描述:位置、姿態(tài)與位姿
2.3映射:從一個坐標(biāo)系到另一坐標(biāo)系的變換
2.4算子:平移、旋轉(zhuǎn)和變換
2.5總結(jié)和說明
2.6變換的計算
2.7變換方程
2.8其他姿態(tài)描述
2.9自由矢量的變換
2.10計算問題
參考文獻
習(xí)題
編程練習(xí)
MATLAB練習(xí)
第3章操作臂運動學(xué)
3.1引言
3.2連桿的描述
3.3連桿連接的描述
3.4連桿坐標(biāo)系的定義
3.5操作臂運動學(xué)
3.6驅(qū)動器空間、關(guān)節(jié)空間和笛卡兒空間
3.7實例:兩種工業(yè)機器人的運動學(xué)問題
3.8坐標(biāo)系的標(biāo)準(zhǔn)命名
3.9工具的位置
3.10計算問題
參考文獻
習(xí)題
編程練習(xí)
MATLAB練習(xí)
第4章操作臂逆運動學(xué)
4.1引言
4.2解的存在性
4.3當(dāng)n<6時操作臂子空間的描述
4.4代數(shù)解法和幾何解法
4.5簡化成多項式的代數(shù)解法
4.6三軸相交的Pieper解法
4.7操作臂逆運動學(xué)實例
4.8標(biāo)準(zhǔn)坐標(biāo)系
4.9操作臂求解
4.10重復(fù)精度和精度
4.11計算問題
參考文獻
習(xí)題
編程練習(xí)
MATLAB練習(xí)
第5章雅可比:速度和靜力
5.1引言
5.2時變位置和姿態(tài)的符號表示
5.3剛體的線速度和角速度
5.4對角速度的進一步研究
5.5機器人連桿的運動
5.6連桿之間的速度“傳遞
5.7雅可比
5.8奇異性
5.9操作臂的靜力
5.10力域中的雅可比
5.11速度和靜力的笛卡兒變換
參考文獻
習(xí)題
編程練習(xí)
MATLAB練習(xí)
第6章操作臂動力學(xué)
6.1引言
6.2剛體的加速度
6.3質(zhì)量分布
6.4牛頓方程和歐拉方程
6.5牛頓歐拉遞推動力學(xué)方程
6.6迭代形式與封閉形式
6.7封閉形式的動力學(xué)方程應(yīng)用舉例
6.8操作臂動力學(xué)方程的結(jié)構(gòu)
6.9操作臂動力學(xué)的拉格朗日方程
6.10笛卡兒空間中的操作臂動力學(xué)
6.11考慮非剛體影響
6.12動力學(xué)仿真
6.13計算問題
參考文獻
習(xí)題
編程練習(xí)
MATLAB練習(xí)
第7章軌跡生成
7.1引言
7.2關(guān)于路徑描述和路徑生成的綜述
7.3關(guān)節(jié)空間的規(guī)劃方法
7.4笛卡兒空間規(guī)劃方法
7.5笛卡兒路徑的幾何問題
7.6路徑的實時生成
7.7使用機器人編程語言描述路徑
7.8使用動力學(xué)模型的路徑規(guī)劃
7.9無碰撞路徑規(guī)劃
參考文獻
習(xí)題
編程練習(xí)
MATLAB練習(xí)
第8章操作臂的機構(gòu)設(shè)計
8.1引言
8.2基于任務(wù)需求的設(shè)計
8.3運動學(xué)構(gòu)型
8.4工作空間屬性的定量方法
8.5冗余結(jié)構(gòu)與閉鏈結(jié)構(gòu)
8.6驅(qū)動方案
8.7剛度與變形
8.8位置檢測
8.9光學(xué)編碼器
8.10力傳感
參考文獻
習(xí)題
編程練習(xí)
MATLAB練習(xí)
第9章操作臂的線性控制
9.1引言
9.2反饋與閉環(huán)控制
9.3二階線性系統(tǒng)
9.4二階系統(tǒng)的控制
9.5控制規(guī)律的分解
9.6軌跡跟蹤控制
9.7抑制干擾
9.8連續(xù)控制與離散時間控制
9.9單關(guān)節(jié)的建模和控制
9.10工業(yè)機器人控制器的結(jié)構(gòu)
參考文獻
習(xí)題
編程練習(xí)
MATLAB練習(xí)
第10章操作臂的非線性控制
10.1引言
10.2非線性系統(tǒng)和時變系統(tǒng)
10.3多輸入多輸出控制系統(tǒng)
10.4操作臂的控制問題
10.5實際問題
10.6當(dāng)前工業(yè)機器人控制系統(tǒng)
10.7李雅普諾夫穩(wěn)定性分析
10.8基于笛卡兒坐標(biāo)的控制系統(tǒng)
10.9自適應(yīng)控制
參考文獻
習(xí)題
編程練習(xí)
第11章操作臂的力控制
11.1引言
11.2工業(yè)機器人在裝配作業(yè)中的應(yīng)用
11.3部分約束任務(wù)中的控制坐標(biāo)系
11.4力/位混合控制問題
11.5質(zhì)量彈簧系統(tǒng)的力控制
11.6力/位混合控制方法
11.7當(dāng)前工業(yè)機器人控制方法
參考文獻
習(xí)題
編程練習(xí)
第12章機器人編程語言及編程系統(tǒng)
12.1引言
12.2可編程機器人的三個發(fā)展水平
12.3應(yīng)用實例
12.4機器人編程語言的必要條件
12.5機器人編程語言的特殊問題
參考文獻
習(xí)題
編程練習(xí)
第13章離線編程系統(tǒng)
13.1引言
13.2離線編程系統(tǒng)的要點
13.3PILOT仿真器
13.4離線編程系統(tǒng)的自動子任務(wù)
參考文獻
習(xí)題
編程練習(xí)
附錄A三角恒等式
附錄B24種轉(zhuǎn)角排列設(shè)定法
附錄C逆運動學(xué)公式
部分習(xí)題答案
索引