介紹相關基礎知識和分析工具,主要內容包括三維建模、反饋線性化、無模型控制、導引、實時定位、辨識和卡爾曼濾波等,涵蓋執(zhí)行器、傳感器、導航和控制理論等方面。
可以將移動機器人定義為一個能夠在其所處環(huán)境中自主移動的機械系統(tǒng)。為了實現這個目標,它必須裝備:
1)傳感器 用于收集周圍環(huán)境的信息(對于這些信息,機器人或多或少知道一些)并確定自身位置。
2)執(zhí)行器 讓機器人能夠動作起來。
3)智能(或算法、調節(jié)器) 依據傳感器收集到的數據,計算出控制指令并發(fā)送到執(zhí)行器,以便完成給定的任務。
后,還要考慮移動機器人所處的環(huán)境和它的使命,前者對應于機器人演化所處的世界,后者對應于機器人必須要完成的任務。自21世紀以來,移動機器人已在軍事領域(空中無人機[BEA 12]、水下機器人[CRE 14]等),乃至醫(yī)療和農業(yè)領域持續(xù)不斷地發(fā)展。在執(zhí)行對人類而言痛苦或者危險的任務時,對移動機器人的需求特別高,例如這樣一些情形:掃雷行動、在海底搜索失事飛機的黑匣子以及行星探測等。人造衛(wèi)星、發(fā)射器(如阿里安五號運載火箭)、無人駕駛地鐵和自動電梯都是移動機器人的典型案例。飛機、火車和汽車正逐漸向自主系統(tǒng)演化,并且在未來幾十年內很有可能變成移動機器人。
移動機器人學是著眼于移動機器人設計的學科[LAU 01],并以自動控制、信號處理、力學、計算和電子等其他學科為基礎。本書的主要目的是概述機器人學中用于移動機器人設計的相關工具和方法。機器人將由狀態(tài)方程(即一組一階(通常為非線性的)微分方程)建模,而狀態(tài)方程可利用力學定律推導得出。但我們的目的并不是詳細講述機器人的建模方法(可查閱[JAU 05]和[JAU 15]獲得更多相關主題的信息),而只是回顧相關基本原理。對于建模,我們期望獲得對應的狀態(tài)方程,這一步對于機器人仿真和控制器設計至關重要。不過,在第1章中我們會刻意舉一些三維(3D)案例來闡述建模的基本原理,這樣做是為了介紹機器人學中的一些重要的基本概念,如歐拉角和旋轉矩陣。例如,我們將研究一個車輪的動力學和一個水下機器人的運動學。移動機器人是強非線性系統(tǒng),并且只能用一類非線性方法構造有效的控制器,這類構造過程是第2章和第3章的主旨。其中,第2章主要以依賴于機器人模型的控制方法為基礎,通過多個案例對其進行闡述,依賴于機器人模型的方法會利用反饋線性化的概念。第3章提出了更實用的方法,因為該類方法不會用到機器人的狀態(tài)模型,所以將其歸為無模型或者模仿方法。另外,該類方法對機器人的描述更直觀,適用于機器人相對簡單從而可以遠程控制的情形,例如車輛、帆船或者飛機。第4章著眼于導航問題,導航位于比控制更高的層面,換句話說,該章將重點放在引導和監(jiān)控那些由第2章和第3章所列工具控制的系統(tǒng)上。也就是說,第4章將著重強調如何獲得指令并將其提供給控制器,以便機器人能夠完成給定的任務。而導航還不得不考慮機器人周邊環(huán)境的信息、障礙物的有無以及環(huán)形的地球表面問題。非線性控制和導航方法需要對系統(tǒng)狀態(tài)變量有很好的了解,如定義機器人位置的狀態(tài)變量。這些位置變量是難獲得的,因此第5章將關注定位問題。該章介紹了一些經典的非線性方法,包括觀測信標、星象、使用羅盤或者累計步數,人們已經將這些方法應用于定位之中很長時間了。盡管可以將定位看作狀態(tài)觀測的一種特殊情形,但其特定的方法值得獨立列為一章。第6章(辨識)專注于從另外一些可量測的量中獲得不可量測的量(參數和位置),并保有一定的精度。為了實現這種辨識,該章主要關注小二乘方法。該方法通過尋找變量的向量使得誤差的平方和達到小。第7章介紹卡爾曼濾波器。該濾波器可以看作一個含有時變參數的線性動態(tài)系統(tǒng)的狀態(tài)觀測器。第8章將卡爾曼濾波器推廣到函數為非線性且噪聲為非高斯的情形,并將所得觀測器稱為貝葉斯濾波器,其可用于計算特定時刻狀態(tài)向量的概率密度函數。
與本書的一些習題相關的MATLAB和Python代碼及相關說明視頻可從下述網站獲得:
www.ensta-bretagne.fr/jaulin/isterob.html
作者簡介
呂克? 若蘭(Luc Jaulin) 機器人學教授,現任職于法國國立布列塔尼高等先進技術學校(ENSTA-Bretagne)STICC實驗室,主要從事水中機器人和帆船機器人領域的研究。
譯者簡介
王世偉 淮南師范學院工程訓練中心主任,主要從事機電一體化和智能機器人控制方向的研究和教學工作。目前已指導學生參加多項國際、國內機器人大賽并取得優(yōu)異成績。
謝廣明 北京大學工學院和海洋研究院教授、博士生導師,研究方向為機器人和自動化。國際水中機器人聯盟創(chuàng)始主席,中國自動化學會機器人競賽工作委員會副主任,中國人工智能學會智能空天系統(tǒng)專業(yè)委員會委員。
譯者序
前言
第1章 三維建模 1
1.1 旋轉矩陣 1
1.1.1 定義 1
1.1.2 李群 2
1.1.3 李代數 3
1.1.4 旋轉向量 3
1.1.5 伴隨矩陣 4
1.1.6 羅德里格斯旋轉公式 5
1.1.7 坐標系變換 6
1.2 歐拉角 8
1.2.1 定義 8
1.2.2 運動歐拉矩陣的旋轉向量 9
1.3 慣性單元 10
1.4 動力學建模 13
1.4.1 原理 13
1.4.2 四旋翼建模 13
1.5 習題 14
1.6 習題參考答案 25
第2章 反饋線性化 45
2.1 控制一個積分鏈 45
2.1.1 比例–微分控制器 45
2.1.2 比例–積分–微分控制器 46
2.2 引例 47
2.3 反饋線性化方法的原理 48
2.3.1 原理 48
2.3.2 相對次數 49
2.3.3 微分延遲矩陣 50
2.3.4 奇異點 50
2.4 二輪車 52
2.4.1 一階模型 52
2.4.2 二階模型 53
2.5 控制三輪車 55
2.5.1 速度和轉向模型 55
2.5.2 位置控制 56
2.5.3 選擇另一個輸出 56
2.6 帆船 57
2.6.1 極坐標曲線 58
2.6.2 微分延遲 58
2.6.3 反饋線性化方法 59
2.6.4 極坐標曲線控制 60
2.7 滑動模態(tài) 61
2.8 運動學模型和動力學模型 63
2.8.1 原理 63
2.8.2 倒立擺系統(tǒng) 63
2.8.3 伺服電動機 66
2.9 習題 66
2.10 習題參考答案 74
第3章 無模型控制 93
3.1 無人車的無模型控制 93
3.1.1 方向和速度的比例控制器 94
3.1.2 方向的比例–微分控制器 95
3.2 雪橇車 96
3.2.1 模型 96
3.2.2 正弦驅動控制 98
3.2.3 推力控制 98
3.2.4 快速動態(tài)特性的簡化 99
3.3 帆船 101
3.3.1 問題 101
3.3.2 控制器 102
3.3.3 導航 106
3.3.4 實驗 107
3.4 習題 108
3.5 習題參考答案 118
第4章 導引 129
4.1 球面上的導引 129
4.2 路徑規(guī)劃 131
4.2.1 簡單示例 132
4.2.2 貝塞爾多項式 132
4.3 維諾圖 133
4.4 人工勢場法 134
4.5 習題 135
4.6 習題參考答案 141
第5章 實時定位 155
5.1 傳感器 155
5.2 測角定位 157
5.2.1 問題描述 157
5.2.2 內接角 158
5.2.3 平面機器人的靜態(tài)三角測量 159
5.2.4 動態(tài)三角測量 160
5.3 多點定位 161
5.4 習題 162
5.5 習題參考答案 164
第6章 辨識 170
6.1 二次函數 170
6.1.1 定義 170
6.1.2 二次型的導數 171
6.1.3 二次函數的特征值 171
6.1.4 二次函數的小化 171
6.2 小二乘法 172
6.2.1 線性情形 172
6.2.2 非線性情形 173
6.3 習題 175
6.4 習題參考答案 177
第7章 卡爾曼濾波器 185
7.1 協(xié)方差矩陣 185
7.1.1 定義和解釋 185
7.1.2 性質 187
7.1.3 置信橢圓 187
7.1.4 生成高斯隨機向量 189
7.2 無偏正交估計器 190
7.3 線性估計的應用 192
7.4 卡爾曼濾波器 193
7.5 卡布濾波器 196
7.6 擴展卡爾曼濾波器 198
7.7 習題 199
7.8 習題參考答案 209
第8章 貝葉斯濾波器 232
8.1 引言 232
8.2 概率的基本概念 232
8.3 貝葉斯濾波器 234
8.4 貝葉斯平滑器 236
8.5 卡爾曼平滑器 236
8.5.1 卡爾曼平滑器的方程 236
8.5.2 實現 237
8.6 習題 238
8.7 習題參考答案 243
參考文獻 252
索引 254