現実の「不確実さ」を扱える「ロボット」を作りたいあなた、「確率論」に基づいたロボティクスはいかがでしょうか

probabilistic robotics recommended books おすすめ

 

さいきん「ロボット」がどんどん進化して私たちの身近に使われています。

ロボットの進化には、人工知能の進歩も貢献していますが、本記事の主題である、「確率的ロボティクス」も、大きく貢献しています。

え?確率的なロボティクス??ってなに?

普通のロボティクスと違うの??

なんて思われる方もおられるかもしれません。

 

まず「ロボティクス」とは、ロボットに関する技術全般を指す言葉です。

「確率ロボティクス」とは、ロボット制御のための情報の記述や行動決定のために、確率統計の考え方を使った方法です。

 

ロボット制御になぜ確率的な考え方が必要なんでしょうか?

ロボットはセンサーで外界を認識して、モーターを使い移動したりします。

センサーからの情報は「誤差」を伴って認識されますし、移動する際も「誤差」を伴って移動します。

つまり、ロボット制御には、常に誤差が伴うわけです。

そしてこの誤差は、確率的なもので、誤差がどのくらい出るか予測することは、”決定論的に” 予測できないのです。

予測できないのであれば、

「誤差も含めた枠組みでロボティクスを定式化しよう」

と発想を変えることで、確率ロボティクスが生まれました。

つまり、現実世界の不確実性をうまく扱うための手法が確率ロボティクスといえるわけです。

 

確率ロボティクスのメリットは、

センサやモデルの限界(誤差)を考慮するので、

これらに対してより安定したパフォーマンスを示します(これをロバストといいます)。

逆に、デメリットとしては、計算量が多くなることがあげられます。

ちなみに、確率ロボティクスでのアルゴリズムは、(ほぼ)すべてを「ベイズ理論」に基づいていて、

それを時系列に拡張した「ベイズフィルタ」を使います。

したがって、確率ロボティクスを学ぶことは、ベイズを学ぶことといっても過言ではありません。

 

本記事では、確率ロボティクスを基礎から学びたいあなたに最適の1冊をご紹介します。

本書では確率論の数学的基礎からベイズのアルゴリズムやその実装など、確率ロボティクスの手法の1つ1つを、疑似コードだけでなく、数学的な側面を公理から学ぶことまでできる優れものです。

また、実装する際に参考になるように、様々な実装例やその比較や実験結果、そして各アルゴリズムのメリット・デメリットがシッカリまとめられています。

これがあれば、確率ロボティクスをシッカリ学べ、辞書的にも使え、必ず重宝する1冊となっています↓

その今回ご紹介する1冊はこちらです↓

本書の主な対象読者は、

  • ロボット開発に興味のある学生、研究者、技術者の方
  • センサを扱う方
  • 統計学に興味がある方
  • ベイズについて、理論と実践の両面から学びたい方

といった方々にとくに参考になる内容となっています。

本書では数学的な素養をほとんど前提としていないので、確率統計の基本的なところからはじまり、徐々に発展させていく形になっています。

なので、数学があんまり自信がないなぁという方も、1つ1つマスターすることで、充実した内容を基礎から応用まで、系統的に学べる良書です。

本書は4部構成(基礎、ローカライゼーション、地図作成、計画と制御)になっています

まず1章で、確率ロボティクスってなに?からはじまり、手法のおおまかな内容や他の方法との違いなどが示されます。

つぎに2-4章では、確率ロボティクスで基本となるアルゴリズム(再帰的状態推定、ガウシアンフィルタ、ノンパラメトリックフィルタ)や数学的導出とともに詳しく解説されています。

5,6章では、ロボットの動作や知覚について、古典的なロボティクスのモデルを確率的に一般化しています。

第2部のローカライゼーションの7章、8章では、5,6章で一般化した確率的なモデルに推定アルゴリズムを組み込むことで、移動ロボットの自己位置推定問題を扱っています。マルコフ位置推定やモンテカルロ位置推定(MCL: Monte Carlo Localization)などを学べます。

第3部の地図作成の9-13章では、非常に複雑なロボットによる「地図作成」問題について、姿勢と地図の同時推定(SLAM)やGraphSLAM、疎拡張情報フィルタ(SEIF)、FastSLAM などのさまざまな手法について解説しています。

最後の第4部では、確率的な計画や制御手法について、マルコフ決定過程や部分観測マルコフ決定過程とその近似手法、そして探査など、実用的なアルゴリズムが示されています。

このように、確率ロボティクスの全貌をあますとこなく、基礎から応用まで、具体的な数式と擬似コードで学べるバイブルのような1冊となっています。

本書の構成は以下の通りです。

第1部 基礎

1、緒言

1-1、ロボティックスにおける不確実さ
1-2、確率ロボティクス
1-3、他の枠組みとの関係
1-4、本書の構成
1-5、確率ロボティクスの講義

2、再帰的状態推定

2-1、はじめに
2-2、確率の基本的な概念
2-3、ロボットと環境の相互作用
2-4、ベイズフィルタ
2-5、表現と計算

3、ガウシアンフィルタ

3-1、はじめに
3-2、カルマンフィルタ
3-3、拡張カルマンフィルタ
3-4、アンセンテッドカルマンフィルタ
3-5、情報フィルタ

4、ノンパラメトリックフィルタ

4-1、ヒストグラムフィルタ
4-2、静的様態に対するバイナリベイズフィルタ
4-3、パーティクルフィルタ

5、ロボットの動作

5-1、はじめに
5-2、事前準備
5-3、速度動作モデル
5-4、オドメトリ動作モデル
5-5、動作と地図

6、ロボットの知覚

6-1、はじめに
6-2、地図
6-3、レンジファインダのビームモデル
6-4、レンジファインダの尤度場
6-5、相関ベースの計測モデル
6-6、特徴ベースの計測モデル
6-7、実用に関する考察

第2部 ローカライゼーション

7、移動ロボットの位置推定:マルコフ位置推定とガウス分布表現

7-1、位置推定問題の分類
7-2、マルコフ位置推定
7-3、マルコフ位置推定の図解
7-4、EKF位置推定
7-5、対応関係の推定
7-6、複数仮説追従
7-7、UKF位置推定
7-8、実用に関する考察
7-9、まとめ
7-10、関連する文献
7-11、練習問題

8、移動ロボットの位置推定:格子表現とモンテカルロ法による表現

8-1、はじめに
8-2、格子位置推定
8-3、モンテカルロ位置推定(MCL: Monte Carlo Localization)
8-4、動的環境における位置推定
8-5、実用に関する考察
8-6、まとめ
8-7、関連する文献
8-8、練習問題

第3部 地図作成

9、占有格子地図の生成

9-1、はじめに
9-2、占有格子地図の生成アルゴリズム
9-3、逆計測モデルの学習
9-4、最大事後確率(MAP)推定を用いた占有地図の作成

10、姿勢と地図の同時推定(SLAM: Simultaneous Localization and Mapping)

10-1、はじめに
10-2、拡張カルマンフィルタによるSLAM
10-3、対応関係が道の場合のEKF SLAM

11、GraphSLAMアルゴリズム

11-1、はじめに
11-2、直感的な説明
11-3、GraphSLAM
11-4、GraphSLAMの数学的導出
11-5、GraphSLAMにおけるデータ対応付け
11-6、計算効率の向上
11-7、実世界での実装
11-8、他の最適化手法

12、疎拡張情報フィルタ(SEIF: Sparse Extended Information Filter)

12-1、はじめに
12-2、直観的な理解
12-3、SEIF SLAMアルゴリズム
12-4、SEIFの数学的導出
12-5、疎化
12-6、地図の近似復元のための分割計算
12-7、SEIFはどれだけ疎であるべきか?
12-8、データの逐次対応付け
12-9、分岐限定法によるデータの対応付け
12-10、実用に関する考察
12-11、複数ロボットによるSLAM

13、FastSLAMアルゴリズム

13-1、基本アルゴリズム
13-2、事後推定の因子分解
13-3、対応関係既知のFastSLAM
13-4、対応分布の改善
13-5、対応関係が未知の場合
13-6、地図の管理
13-7、FastSLAMアルゴリズム
13-8、高効率な実装方法
13-9、特徴ベースの地図を作成するためのFastSLAM
13-10、格子ベースFastSLAM

第4部 計画と制御

14、マルコフ決定過程(Markov Decision Process)

14-1、動機付け
14-2、行動選択における不確かさ
14-3、価値反復
14-4、ロボット制御への応用

15、部分観測マルコフ決定過程(POMDP:Parially Observable Markov Decision Processes)

15-1、動機付け
15-2、例示
15-3、有限POMDPアルゴリズム
15-4、POMDPの数学的導出
15-5、実用上考慮すべき点

16、POMDPの近似手法

16-1、動機付け
16-2、QMDP
16-3、拡張マルコフ決定過程
16-4、モンテカルロPOMDP

17、探査
17-1、はじめに
17-2、基本探査アルゴリズム
17-3、能動的位置推定
17-4、占有格子地図を学習するための探査
17-5、SLAMのための探査

あとがきにかえて
参考文献
インデックス

となっています。

非常に分厚い(3センチくらい)ですが、

図やアルゴリズムを説明する疑似コードなどがふんだんにあるので、視覚的にも理解しやすくなっています。

数式展開も丁寧ですので、ふだんは数式が苦手な方も、本書で1つ1つ数式を追うことで、数学力もつくのではないかと思います。

各章末の参考文献に加えて、巻末の参考文献でけで400以上紹介されているので、

確率ロボティクスをきっちり学びたい方にも最適な1冊となっています。おすすめです。

 

 

こちらもございます↓

 

 

 

 

このほかにも以下の記事がございます。

「時系列分析」を「エクセル」でやりたいあなた、こちらの書籍はいかがでしょうか

 

人工知能の基本的なアルゴリズムを一通り学びたいあなたはこちらをどうぞ↓

「人工知能」のプログラミングを手を動かしながら学びたいあなた、こちらはいかがでしょうか【関数型オブジェクト指向AI プログラミング:Scala による人工知能の実装】

 

 

 

 

Pythonでデータサイエンスを一通りサクッと学びたいあなたはこちらもおすすめです↓

Pythonでデータサイエンスをやってみたいあなた、手を動かしながらサクッと学べるこちらはいかがでしょうか【Pythonデータサイエンス:可視化、集計、統計分析、機械学習】

 

統計を学びながら、統計解析ソフト「R」の使い方も学びたいあなたはこちらもおすすめです↓

統計解析フリーソフト「R」で、楽しみながら統計を学びたいあなた、こちらはいかがでしょうか【Rで楽しむ統計 (Wonderful R 1)】

 

「株価」の変動を「物理学」で理解したいあなた、「経済物理学」はいかがでしょうか