《概率機(jī)器人》對(duì)概率機(jī)器人學(xué)這一新興領(lǐng)域進(jìn)行了全面的介紹。概率機(jī)器人學(xué)依賴統(tǒng)計(jì)技術(shù)表示信息和進(jìn)行決策,以容納當(dāng)今大多數(shù)機(jī)器人應(yīng)用中必然存在的不確定性,是機(jī)器人學(xué)的一個(gè)分支。它依賴統(tǒng)計(jì)技術(shù)表示信息和制定決策。這樣做,可以接納在當(dāng)今大多數(shù)機(jī)器人應(yīng)用中引起的不確定性。本書主要專注于算法,對(duì)于每種算法,均提供了四項(xiàng)內(nèi)容:①偽碼示例;②完整的數(shù)學(xué)推導(dǎo);③實(shí)驗(yàn)結(jié)果;④算法優(yōu)缺點(diǎn)的詳細(xì)討論。
《概率機(jī)器人》包括了基礎(chǔ)知識(shí)、定位、地圖構(gòu)建、規(guī)劃與控制四大部分。本書共17章,每章的后都提供了練習(xí)題和動(dòng)手實(shí)踐的項(xiàng)目。相信本書可以加深讀者對(duì)概率機(jī)器人學(xué)的認(rèn)識(shí)。
適讀人群 :從事機(jī)器人、移動(dòng)機(jī)器人研究和開發(fā)的科技人員,高等院校計(jì)算機(jī)、控制、電子等專業(yè)研究生
《概率機(jī)器人》是機(jī)器人領(lǐng)域的經(jīng)典之作。作者Sebastian Thrun博士是谷歌自動(dòng)駕駛汽車之父、X實(shí)驗(yàn)室創(chuàng)始人之一。三位作者綜合自己深厚的數(shù)學(xué)理論及算法實(shí)踐,打通數(shù)學(xué)理論模型,到實(shí)際應(yīng)用平臺(tái)路經(jīng),讓人們順利應(yīng)用機(jī)器人算法,讓機(jī)器人更“智能”。
原書前言
本書對(duì)概率機(jī)器人學(xué)這一新興領(lǐng)域進(jìn)行了全面的介紹。概率機(jī)器人學(xué)與感知和控制機(jī)器人有關(guān),是機(jī)器人學(xué)的一個(gè)分支。它依賴統(tǒng)計(jì)技術(shù)去表示信息和制定決策。這樣做,可以接納在當(dāng)今大多數(shù)機(jī)器人應(yīng)用中引起的不確定性。近幾年,概率技術(shù)已經(jīng)成為機(jī)器人算法設(shè)計(jì)的主導(dǎo)范式之一。本書第一次將這一領(lǐng)域的一些主要技術(shù)進(jìn)行了全面的介紹。
本書專注于算法。本書中的所有算法都是基于一個(gè)單一的總體數(shù)學(xué)基礎(chǔ):貝葉斯理論及其推論———貝葉斯濾波。這種統(tǒng)一的數(shù)學(xué)體系是概率算法的核心。
在寫這本書時(shí),我們已經(jīng)盡可能保持技術(shù)細(xì)節(jié)的完整。每章描寫一個(gè)或多個(gè)主要算法。對(duì)每一種算法,我們提供了以下四項(xiàng)內(nèi)容:①偽碼的示例實(shí)現(xiàn);②從基本定理開始的完整的數(shù)學(xué)推導(dǎo)(使每個(gè)算法的不同假設(shè)都很清晰);③實(shí)驗(yàn)結(jié)果(有助于進(jìn)一步理解本書中的算法);④本書中每一個(gè)算法優(yōu)缺點(diǎn)的詳細(xì)討論(從一個(gè)專業(yè)人員的視角)。對(duì)每一個(gè)不同的算法都進(jìn)行這樣的開發(fā),是一件辛苦的工作。即使跳過數(shù)學(xué)推導(dǎo)部分(讀者常會(huì)這樣),對(duì)于普通讀者來說,理解這本書有時(shí)還是有困難的。我們希望細(xì)心的讀者能對(duì)本書有深入的理解,因?yàn)楸?書并不是就某一主題進(jìn)行膚淺的和非數(shù)學(xué)的闡述。
本書是我們(包括幾位作者、我們的學(xué)生以及同行)在該領(lǐng)域數(shù)十年的研究成果。我們從1999年開始寫這本書,本打算用幾個(gè)月的時(shí)間完成這本書。但是,5年過去了,初稿中的內(nèi)容幾乎沒有被保留下來的。通過這本書的寫作,我們學(xué)到的信息和決策理論遠(yuǎn)比我們當(dāng)初以為的要多得多。并且,我們學(xué)到的大量理論也已經(jīng)在本書中進(jìn)行了闡述。
本書是寫給學(xué)生、研究者和機(jī)器人技術(shù)從業(yè)者的。我們相信,任何人要構(gòu)建機(jī)器人都要開發(fā)軟件。因此,本書的內(nèi)容適用于每一位機(jī)器人專家。同時(shí),應(yīng)用統(tǒng)計(jì)學(xué)專家及與客觀世界的傳感器數(shù)據(jù)有關(guān)的非機(jī)器人學(xué)領(lǐng)域的人們,也會(huì)對(duì)本書感興趣。為使本書廣泛服務(wù)于具有不同技術(shù)背景的讀者,我們力圖做到使本書盡可能地自成體系。如果讀者具有一些線性代數(shù)、概率論和數(shù)理統(tǒng)計(jì)的基礎(chǔ)知識(shí)對(duì)理解本書內(nèi)容是非常有幫助的,不過我們還是介紹了一些概率的基本定律的入門知識(shí),并且本書全文避免使用太過先進(jìn)的數(shù)學(xué)技術(shù)。
本書也可以用于教學(xué)。每一章都提供了一些習(xí)題和動(dòng)手實(shí)踐的項(xiàng)目。將本書用于教學(xué)時(shí),每一章都要用一兩個(gè)課時(shí)。有些章節(jié)可以跳過或者根據(jù)需要重新排序進(jìn)行講授;事實(shí)上,在我們自己的教學(xué)工作中,我們通常從本書的中間部分(第7章)開始教授。我們建議學(xué)習(xí)本書的同時(shí)應(yīng)根據(jù)每章最后的指導(dǎo)親自動(dòng)手實(shí)踐。在機(jī)器人技術(shù)領(lǐng)域,沒有比親自動(dòng)手做更重要的了。
盡管我們非常努力,本書中還是會(huì)有一些技術(shù)錯(cuò)誤。有一部分錯(cuò)誤在本書第三次印刷時(shí)已經(jīng)更正。我們還會(huì)在本書的網(wǎng)站上繼續(xù)修訂,與本書有關(guān)的其他內(nèi)容也會(huì)放在網(wǎng)站上。
希望你喜歡這本書!
Sebastian Thrun Wolfram Burgard Dieter Fox
目 錄
譯者序
原書前言
致謝
第Ⅰ部分 基礎(chǔ)知識(shí)
第1章 緒論 1
1.1 機(jī)器人學(xué)中的不確定性 1
1.2 概率機(jī)器人學(xué) 2
1.3 啟示 6
1.4 本書導(dǎo)航 7
1.5 概率機(jī)器人課程教學(xué) 7
1.6 文獻(xiàn)綜述 8
第2章 遞歸狀態(tài)估計(jì) 10
2.1 引言 10
2.2 概率的基本概念 10
2.3 機(jī)器人環(huán)境交互 14
2.3.1 狀態(tài) 15
2.3.2 環(huán)境交互 16
2.3.3 概率生成法則 18
2.3.4 置信分布 19
2.4 貝葉斯濾波 20
2.4.1 貝葉斯濾波算法 20
2.4.2 實(shí)例 21
2.4.3 貝葉斯濾波的數(shù)學(xué)推導(dǎo) 23
2.4.4 馬爾可夫假設(shè) 25
2.5 表示法和計(jì)算 25
2.6 小結(jié) 26
2.7 文獻(xiàn)綜述 26
2.8 習(xí)題 27
第3章 高斯濾波 29
3.1 引言 29
3.2 卡爾曼濾波 30
3.2.1 線性高斯系統(tǒng) 30
3.2.2 卡爾曼濾波算法 31
3.2.3 例證 32
3.2.4 卡爾曼濾波的數(shù)學(xué)推導(dǎo) 33
3.3 擴(kuò)展卡爾曼濾波 40
3.3.1 為什么要線性化 40
3.3.2 通過泰勒展開的線性化 42
3.3.3 擴(kuò)展卡爾曼濾波算法 44
3.3.4 擴(kuò)展卡爾曼濾波的數(shù)學(xué)推導(dǎo) 44
3.3.5 實(shí)際考慮 46
3.4 無跡卡爾曼濾波 49
3.4.1 通過無跡變換實(shí)現(xiàn)線性化 49
3.4.2 無跡卡爾曼濾波算法 50
3.5 信息濾波 54
3.5.1 正則參數(shù) 54
3.5.2 信息濾波算法 55
3.5.3 信息濾波的數(shù)學(xué)推導(dǎo) 56
3.5.4 擴(kuò)展信息濾波算法 57
3.5.5 擴(kuò)展信息濾波的數(shù)學(xué)推導(dǎo) 58
3.5.6 實(shí)際考慮 59
3.6 小結(jié) 60
3.7 文獻(xiàn)綜述 61
3.8 習(xí)題 62
第4章 非參數(shù)濾波 64
4.1 直方圖濾波 64
4.1.1 離散貝葉斯濾波算法 65
4.1.2 連續(xù)狀態(tài) 65
4.1.3 直方圖近似的數(shù)學(xué)推導(dǎo) 67
4.1.4 分解技術(shù) 69
4.2 靜態(tài)二值貝葉斯濾波 70
4.3 粒子濾波 72
4.3.1基本算法 72
4.3.2 重要性采樣 75
4.3.3 粒子濾波的數(shù)學(xué)推導(dǎo) 77
4.3.4 粒子濾波的實(shí)際考慮和特性 79
4.4 小結(jié) 85
4.5 文獻(xiàn)綜述 85
4.6 習(xí)題 86
第5章 機(jī)器人運(yùn)動(dòng) 88
5.1 引言 88
5.2 預(yù)備工作 89
5.2.1 運(yùn)動(dòng)學(xué)構(gòu)型 89
5.2.2 概率運(yùn)動(dòng)學(xué) 89
5.3 速度運(yùn)動(dòng)模型 90
5.3.1 閉式計(jì)算 91
5.3.2 采樣算法 92
5.3.3 速度運(yùn)動(dòng)模型的數(shù)學(xué)推導(dǎo) 94
5.4 里程計(jì)運(yùn)動(dòng)模型 99
5.4.1 閉式計(jì)算 100
5.4.2 采樣算法 102
5.4.3 里程計(jì)運(yùn)動(dòng)模型的數(shù)學(xué)推導(dǎo) 104
5.5 運(yùn)動(dòng)和地圖 105
5.6 小結(jié) 108
5.7 文獻(xiàn)綜述 109
5.8 習(xí)題 110
第6章 機(jī)器人感知 112
6.1 引言 112
6.2 地圖 114
6.3 測(cè)距儀的波束模型 115
6.3.1 基本測(cè)量算法 115
6.3.2 調(diào)節(jié)固有模型參數(shù) 119
6.3.3 波束模型的數(shù)學(xué)推導(dǎo) 121
6.3.4 實(shí)際考慮 126
6.3.5 波束模型的局限 127
6.4 測(cè)距儀的似然域 127
6.4.1 基本算法 127
6.4.2 擴(kuò)展 130
6.5 基于相關(guān)性的測(cè)量模型 131
6.6 基于特征的測(cè)量模型 133
6.6.1 特征提取 133
6.6.2 地標(biāo)的測(cè)量 133
6.6.3 已知相關(guān)性的傳感器模型 134
6.6.4 采樣位姿 135
6.6.5 進(jìn)一步的考慮 137
6.7 實(shí)際考慮 137
6.8 小結(jié) 138
6.9 文獻(xiàn)綜述 139
6.10 習(xí)題 139
第Ⅱ部分 定 位
第7章 移動(dòng)機(jī)器人定位:馬爾可夫與高斯 142
7.1 定位問題的分類 144
7.2 馬爾可夫定位 146
7.3 馬爾可夫定位圖例 147
7.4 擴(kuò)展卡爾曼濾波定位 149
7.4.1 圖例 149
7.4.2 擴(kuò)展卡爾曼濾波定位算法 151
7.4.3 擴(kuò)展卡爾曼濾波定位的數(shù)學(xué)推導(dǎo) 151
7.4.4 物理實(shí)現(xiàn) 157
7.5 估計(jì)一致性 161
7.5.1 未知一致性的擴(kuò)展卡爾曼濾波定位 161
7.5.2 極大似然數(shù)據(jù)關(guān)聯(lián)的數(shù)學(xué)推導(dǎo) 162
7.6 多假設(shè)跟蹤 164
7.7 無跡卡爾曼濾波定位 165
7.7.1 無跡卡爾曼濾波定位的數(shù)學(xué)推導(dǎo) 165
7.7.2 圖例 168
7.8 實(shí)際考慮 172
7.9 小結(jié) 174
7.10 文獻(xiàn)綜述 175
7.11 習(xí)題 176
第8章 移動(dòng)機(jī)器人定位:柵格與蒙特卡羅 179
8.1 介紹 179
8.2 柵格定位 179
8.2.1 基本算法 179
8.2.2 柵格分辨率 180
8.2.3 計(jì)算開銷 184
8.2.4 圖例 184
8.3 蒙特卡羅定位 189
8.3.1 圖例 189
8.3.2 蒙特卡羅定位算法 191
8.3.3 物理實(shí)現(xiàn) 191
8.3.4 蒙特卡羅定位特性 194
8.3.5 隨機(jī)粒子蒙特卡羅定位:失效恢復(fù) 194
8.3.6 更改建議分布 198
8.3.7 庫爾貝克-萊布勒散度采樣:調(diào)節(jié)樣本集合大小 199
8.4 動(dòng)態(tài)環(huán)境下的定位 203
8.5 實(shí)際考慮 208
8.6 小結(jié) 209
8.7 文獻(xiàn)綜述 209
8.8習(xí)題 211
第Ⅲ部分 地圖構(gòu)建
第9章 占用柵格地圖構(gòu)建 213
9.1 引言 213
9.2 占用柵格地圖構(gòu)建算法 216
9.2.1 多傳感器信息融合 222
9.3 反演測(cè)量模型的研究 223
9.3.1 反演測(cè)量模型 223
9.3.2 從正演模型采樣 224
9.3.3 誤差函數(shù) 225
9.3.4 實(shí)例與深度思考 226
9.4 最大化后驗(yàn)占用地圖構(gòu)建 227
9.4.1 維持依賴實(shí)例 227
9.4.2 用正演模型進(jìn)行占用柵格地圖構(gòu)建 228
9.5 小結(jié) 231
9.6 文獻(xiàn)綜述 231
9.7 習(xí)題 232
第10章 同時(shí)定位與地圖構(gòu)建 235
10.1 引言 235
10.2 基于擴(kuò)展卡爾曼濾波的SLAM 237
10.2.1 設(shè)定和假設(shè) 237
10.2.2 已知一致性的SLAM問題 238
10.2.3 EKF SLAM的數(shù)學(xué)推導(dǎo) 241
10.3 未知一致性的EKF SLAM 244
10.3.1 通用EKF SLAM算法 244
10.3.2 舉例 247
10.3.3 特征選擇和地圖管理 250
10.4 小結(jié) 252
10.5 文獻(xiàn)綜述 253
10.6 習(xí)題 256
第11章 GraphSLAM算法 258
11.1 引言 258
11.2 直覺描述 260
11.2.1 建立圖形 260
11.2.2 推論 262
11.3 具體的GraphSLAM算法 265
11.4 GraphSLAM算法的數(shù)學(xué)推導(dǎo) 270
11.4.1 全SLAM后驗(yàn) 271
11.4.2 負(fù)對(duì)數(shù)后驗(yàn) 272
11.4.3 泰勒表達(dá)式 272
11.4.4 構(gòu)建信息形式 273
11.4.5 濃縮信息表 274
11.4.6 恢復(fù)機(jī)器人路徑 277
11.5 GraphSLAM算法的數(shù)據(jù)關(guān)聯(lián) 278
11.5.1 未知一致性的GraphSLAM算法 279
11.5.2 一致性測(cè)試的數(shù)學(xué)推理 281
11.6 效率評(píng)價(jià) 283
11.7 實(shí)驗(yàn)應(yīng)用 284
11.8 其他的優(yōu)化技術(shù) 288
11.9 小結(jié) 290
11.10 文獻(xiàn)綜述 291
11.11 習(xí)題 293
第12章 稀疏擴(kuò)展信息濾波 294
12.1 引言 294
12.2 直觀描述 296
12.3 SEIF SLAM算法 298
12.4 SEIF的數(shù)學(xué)推導(dǎo) 301
12.4.1 運(yùn)動(dòng)更新 301
12.4.2 測(cè)量更新 304
12.5 稀疏化 304
12.5.1 一般思想 304
12.5.2 SEIF的稀疏化 306
12.5.3 稀疏化的數(shù)學(xué)推導(dǎo) 307
12.6 分期償還的近似地圖恢復(fù) 308
12.7 SEIF有多稀疏 310
12.8 增量數(shù)據(jù)關(guān)聯(lián) 313
12.8.1 計(jì)算增量數(shù)據(jù)關(guān)聯(lián)概率 313
12.8.2 實(shí)際考慮 315
12.9 分支定界數(shù)據(jù)關(guān)聯(lián) 318
12.9.1 遞歸搜索 318
12.9.2 計(jì)算任意的數(shù)據(jù)關(guān)聯(lián)概率 320
12.9.3 等價(jià)約束 320
12.10 實(shí)際考慮 322
12.11 多機(jī)器人SLAM 325
12.11.1 整合地圖 326
12.11.2 地圖整合的數(shù)學(xué)推導(dǎo) 328
12.11.3 建立一致性 329
12.11.4 示例 329
12.12 小結(jié) 332
12.13 文獻(xiàn)綜述 333
12.14 習(xí)題 334
第13章 FastSLAM算法 336
13.1 基本算法 337
13.2 因子分解SLAM后驗(yàn) 338
13.2.1 因式分解的SLAM后驗(yàn)的數(shù)學(xué)推導(dǎo) 339
13.3 具有已知數(shù)據(jù)關(guān)聯(lián)的FastSLAM算法 341
13.4 改進(jìn)建議分布 346
13.4.1 通過采樣新位姿擴(kuò)展路徑后驗(yàn) 346
13.4.2 更新可觀察的特征估計(jì) 348
13.4.3 計(jì)算重要性系數(shù) 349
13.5 未知數(shù)據(jù)關(guān)聯(lián) 351
13.6 地圖管理 352
13.7 FastSLAM算法 353
13.8 高效實(shí)現(xiàn) 358
13.9 基于特征的地圖的 FastSLAM 360
13.9.1 經(jīng)驗(yàn)思考 360
13.9.2 閉環(huán) 363
13.10 基于柵格的FastSLAM算法 366
13.10.1 算法 366
13.10.2 經(jīng)驗(yàn)見解 366
13.11 小結(jié) 369
13.12 文獻(xiàn)綜述 371
13.13 習(xí)題 372
第Ⅳ部分 規(guī)劃與控制
第14章 馬爾可夫決策過程 374
14.1 目的 374
14.2 行動(dòng)選擇的不確定性 376
14.3 值迭代 380
14.3.1 目標(biāo)和報(bào)酬 380
14.3.2 為完全能觀測(cè)的情況尋找最優(yōu)控制策略 383
14.3.3 計(jì)算值函數(shù) 384
14.4 機(jī)器人控制的應(yīng)用 387
14.5 小結(jié) 390
14.6 文獻(xiàn)綜述 391
14.7 習(xí)題 392
第15章 部分能觀測(cè)馬爾可夫決策過程 394
15.1 動(dòng)機(jī) 394
15.2 算例分析 395
15.2.1 建立 395
15.2.2 控制選擇 397
15.2.3 感知 398
15.2.4 預(yù)測(cè) 402
15.2.5 深度周期和修剪 404
15.3 有限環(huán)境POMDP算法 407
15.4 POMDP的數(shù)學(xué)推導(dǎo) 409
15.4.1 置信空間的值迭代 409
15.4.2 值函數(shù)表示法 410
15.4.3 計(jì)算值函數(shù) 410
15.5 實(shí)際考慮 413
15.6 小結(jié) 416
15.7 文獻(xiàn)綜述 417
15.8 習(xí)題 419
第16章 近似部分能觀測(cè)馬爾可夫決策過程技術(shù) 421
16.1 動(dòng)機(jī) 421
16.2 QMDP 422
16.3 AMDP 423
16.3.1 增廣的狀態(tài)空間 423
16.3.2 AMDP算法 424
16.3.3 AMDP的數(shù)學(xué)推導(dǎo) 426
16.3.4 移動(dòng)機(jī)器人導(dǎo)航應(yīng)用 427
16.4 MC-POMDP 430
16.4.1 使用粒子集 430
16.4.2 MC-POMDP算法 431
16.4.3 MC-POMDP的數(shù)學(xué)推導(dǎo) 433
16.4.4 實(shí)際考慮 434
16.5 小結(jié) 435
16.6 文獻(xiàn)綜述 436
16.7 習(xí)題 436
第17章 探測(cè) 438
17.1 介紹 438
17.2 基本探測(cè)算法 439
17.2.1 信息增益 439
17.2.2 貪婪技術(shù) 440
17.2.3 蒙特卡羅探測(cè) 441
17.2.4 多步技術(shù) 442
17.3 主動(dòng)定位 442
17.4 為獲得占用柵格地圖的探測(cè) 447
17.4.1 計(jì)算信息增益 447
17.4.2 傳播增益 450
17.4.3 推廣到多機(jī)器人系統(tǒng) 452
17.5 SLAM探測(cè) 457
17.5.1 SLAM熵分解 457
17.5.2 FastSLAM探測(cè) 458
17.5.3 實(shí)驗(yàn)描述 460
17.6 小結(jié) 462
17.7 文獻(xiàn)綜述 463
17.8 習(xí)題 466
參考文獻(xiàn) 468