2015年5月10日日曜日

ロボティクスを学ぶのにおすすめの資料(2015/07/16修正)

これからロボティクス学ぶ方にお勧めの資料は、EnigmaさんのWebが大変わかりやすく2015年時点でもかけらも色あせていません。覚書がてらに転載させていただき、多少加筆してあります。

これらの本をみてもわかる通り、ロボティクスはほとんど確率論になってきています。特にLocalization(自己位置推定)の理論が確率から作られていることから多いので、その他も確率に基づくものが多くなっています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
http://myenigma.hatenablog.com/entry/20150207/1423298357
を抜粋しつつ加筆

ロボティクスの3大聖書だと思っている資料

『Probabilistic Robotics』Sebastian Thrun他

Probabilistic Robotics (Intelligent Robotics and Autonomous Agents series)
  • 作者: Sebastian Thrun,Wolfram Burgard,Dieter Fox
  • 出版社/メーカー: The MIT Press
  • 発売日: 2005/08/19
  • メディア: ハードカバー
  • 購入: 1人 クリック: 6回
  • この商品を含むブログを見る


この本はまさに自分にとっての聖書です。
大学の研究室でこの本に出会ってから人生が変わりました。


確率的・統計的な手法を
ロボットの自己位置推定や周辺環境認識に取り入れ、
様々なノイズにさらされる実環境でも、
安定して利用できるシステムの研究結果を
初めてまとめた書籍だといえます。


現在、自律移動技術で当たり前に使用される、
カルマンフィルタやパーティクルフィルタなどを
式の導出から、ロボットへの応用まで詳しく説明しています。

この本は、日本語版も出版されています。が、なぜかわかりませんが絶版になっており、入手には中古しかありません。しかし!!いつの間にかKindle版が発売されていたので、現在はそちらの入手がよろしいかと思います。

商品の詳細
確率ロボティクス




確率ロボティクス (Mynavi Advanced Library) [Kindle版]

しかし、この本って中古で24,799円、Kindle版で6,800円(2015/07/16時点)って高いな。

『パターン認識と機械学習』C.M. ビショップ

パターン認識と機械学習 上
  • 作者: C.M.ビショップ,元田浩,栗田多喜夫,樋口知之,松本裕治,村田昇
  • 出版社/メーカー: 丸善出版
  • 発売日: 2012/04/05
  • メディア: 単行本(ソフトカバー)
  • 購入: 6人 クリック: 33回
  • この商品を含むブログ (17件) を見る
パターン認識と機械学習 下 (ベイズ理論による統計的予測)
  • 作者: C.M.ビショップ,元田浩,栗田多喜夫,樋口知之,松本裕治,村田昇
  • 出版社/メーカー: 丸善出版
  • 発売日: 2012/02/29
  • メディア: 単行本
  • 購入: 6人 クリック: 14回
  • この商品を含むブログを見る


この本は、ロボティクスの中で極めて重要な、
機械学習・パターン認識の分野において、
聖書だと言われている一冊です。


この一冊をマスターするだけで、
かなり広い機械学習の分野を理解することができると思います。


最近、ビックデータなどが流行っているため、
ロボットだけでなく、データ解析技術の書籍としても
かなり有名な一冊です。


また、この本の原著のタイトルが
『Pattern Recognition and Machine Learning』ですので、
頭文字を取って、よくPRMLとも呼ばれています。


しかし、『Probabilistic Robotics』と同様に、
内容は高度なので、ある程度の事前知識と、
読み切る決心が必要になると思います。
しかし、このPRMLをひと通り読めるようになると、
『Probabilistic Robotics』もかなり読みやすくなると思います。


英語の原著はこちらです。
上記のPRMLの日本語訳はよく出来ていると一般的に言われていますが、
英語力に自信が有る方はこちらでも良いかと思います。
Pattern Recognition and Machine Learning (Information Science and Statistics)


『Principles of Robot Motion: Theory, Algorithms, and Implementations』Howie Choset

Principles of Robot Motion: Theory, Algorithms, and Implementations (Intelligent Robotics and Autonomous Agents series)
  • 作者: Howie Choset,Kevin M. Lynch,Seth Hutchinson,George A. Kantor,Wolfram Burgard,Lydia E. Kavraki,Sebastian Thrun
  • 出版社/メーカー: A Bradford Book
  • 発売日: 2005/05/20
  • メディア: ハードカバー
  • この商品を含むブログを見る


『Probabilistic Robotics』と『パターン認識と機械学習』は、
主に、ロボティクスにおける認識系技術の書籍ですが、
こちらの書籍は、ロボットの経路生成や制御の技術をまとめたものです。


様々な機構をもつロボットにおける、
安全な経路生成技術や、
その経路情報に基づく、制御技術などが
うまく一冊の本にまとめられている珍しい書籍です。


『Probabilistic Robotics』と『パターン認識と機械学習』、
そしてこの、『Principles of Robot Motion』の内容を理解することにより、
周辺環境と自己位置の認識に基づく、安全な経路生成と経路追従(制御)を実現できる
一連の自律移動システムを構築することができます。


残念ながら、素晴らしい本ですが、
上記の2冊と異なり、日本語訳はまだ発売していないようです。


史上最強図解 これならわかる!ベイズ統計学

史上最強図解 これならわかる!ベイズ統計学


涌井 良幸 (著), 涌井 貞美 (著)
ナツメ社 (2012/2/21)

ベイズ統計学の入門としてはこの本が一番わかりやすいです。
Probabilistic Robotics 等でベイズ理論を使っていることが多いのですが、
最初はなんのことかさっぱりでした。
というのも、ベイズ統計学は通常の統計学と概念がかなりことなるので、
最初にその概念を学ぶことが重要です。

ベイズ統計学の基本をしっかり勉強できるのでいいです。
基本過ぎてこれだけでは研究には全く役に立ちません。

ただ、基本からしっかりやりたい人にはおすすめです。



『マンガでわかる統計学シリーズ』高橋 信
マンガでわかる統計学マンガでわかる統計学
高橋 信,トレンドプロ

オーム社
売り上げランキング : 1092

Amazonで詳しく見る by AZlink
マンガでわかる統計学 回帰分析編マンガでわかる統計学 回帰分析編
高橋 信,井上 いろは,トレンドプロ

オーム社
売り上げランキング : 9118

Amazonで詳しく見る by AZlink
マンガでわかる統計学 因子分析編マンガでわかる統計学 因子分析編
高橋 信,井上 いろは,トレンド・プロ

オーム社
売り上げランキング : 10114

Amazonで詳しく見る by AZlink


上記の3冊の書籍は、
最新のロボティクス技術の研究結果を説明した書籍ですので、
そのような技術でよく使用されている
統計的・確率的な基礎知識が乏しいと、
理解するのが難しいという問題があります。


そこで基礎的な統計学を学ぶのにおすすめなのが、
このマンガでわかる統計学シリーズです。


見た目はかなり人を選ぶものになっていますが、
内容は非常にわかりやすく、
初歩的な部分から、因子分析など応用的な部分まで広く取り扱っています。


また、このシリーズは様々な人が、
統計学を一から学ぶのに有効であると推薦しています。

このシリーズをひと通り読むことで、
統計学の基礎的な部分をひと通り網羅することができると思います。


このシリーズの詳しい説明と、
演習用のExcelファイルに関しては、下記を参考ください。

『図解・ベイズ統計「超」入門』涌井 貞美



上記の『マンガでわかる統計学シリーズ』は統計学の入門書ですが、
『Probabilistic Robotics』を理解するために、
もう一つ重要な知識がベイズ統計・推定です。


『Probabilistic Robotics』で紹介されている技術は、
基本的にベイズ推定をベースとしており、
『マンガでわかる統計学シリーズ』にはベイズ推定は含まれていないため、
他の書籍からベイズ推定の基礎を学ぶ必要があります。


そこでおすすめなのが、この『図解・ベイズ統計「超」入門』です。
ベイズ推定は、最初にイメージで理解することができると、
応用するのがかなり簡単になると思いますが、
この本は図などを使って、かなりわかりやすくベイズ推定を説明してくれています。


この一冊を読むことで、
『Probabilistic Robotics』で利用されている技術のベースのイメージをつかみやすくなると思います。


この書籍とベイズ推定に関しては、
下記の記事も参考にしてもらえると良いと思います。

『プログラミングのための確率統計』平岡 和幸,堀 玄



上記の『マンガでわかる統計学シリーズ』と『図解・ベイズ統計「超」入門』は、
かなり基礎的な内容の書籍ですので、
最初にイメージをつかむには最適だと思いますが、
実際にPRMLなどで使用される確率・統計的な手法は網羅していないため、
橋渡しのために、他の書籍で学習する必要があります。


そのような場合におすすめなのがこの書籍です。
基礎的な内容から一歩進んで、
『Probabilistic Robotics』などでよく使用される
離散値の確率密度関数や、期待値、統計的検定、ベイズ定理の応用などを
非常にわかりやすく説明しています。


タイトルに”プログラミングのための”とありますが、
詳しい数学的な議論はある程度省略し、
その手法の概念的な意味と、
それを応用する方法をわかりやすく説明しています。
よって統計・確率的手法を手段として利用し、
ロボティクスシステムを作り上げたい人にとっては、
うってつけの資料であると思います。


この本に書かれている内容を理解すれば、
PRMLや『Probabilistic Robotics』の内容を理解するのは
難しく無いと思います。

『Code Complete 第2版 上下 完全なプログラミングを目指して』スティーブ マコネル



これまで紹介してきた書籍はすべて、
ロボティクスの技術や、それを実現するための学術的な内容の書籍でしたが、
きちんと利用することができるロボットシステムを開発するためには、
それらの技術をソフトウェアとしてきちんと実装することができる
プログラミング能力が必須になります。


最近のロボットは、
様々なプログラミング言語やフレームワーク上で実装されることが多いため、
個々の開発環境に応じて、必要となるプログラミング技術は異なると思います。


しかし、どのような開発環境においても必要となる、
基礎的なプログラミング技術を包括的に学ぶことができる書籍として、
この『Code Complete』をおすすめしたいと思います。


この書籍は、
ソフトウェアの設計から、実装、テスト、デプロイまで、
素晴らしいソフトウェアをつくるための技術を包括的に説明してくれています。


この書籍のはじめに書かれている通り、
実際のソフトウェア開発に関する様々な研究結果を元に、
データとして有効であると証明された方法を紹介しているところが
素晴らしいと思います。


また、ソフトウェア開発の初めのステップから、
最後のステップまでに必要な知識を網羅しているため、
この本をひと通り学ぶことで、
ある程度の規模のソフトウェアを一人で実装できるようになると思います。


あとは、自分の開発環境に適した書籍を数冊読むことで、
ある程度のロボットソフトウェアシステムを実装することが可能になると思います。


この書籍の詳しい説明は下記の記事を参照ください。

『マスタリングTCP/IP 入門編 第5版』 竹下 隆史他



最近のロボットは、ロボット単独だけでなく、
サーバとつながったり、
インターネットと繋がって、より複雑な機能を実現することが多くなってきました。


また、ロボット用のセンサの高機能化により、
センサのデータ量が増加し、
その結果、データ通信にEthernetのソケット通信を使用するセンサが増えてきています。


以上のように、外部のコンピュータやセンサと通信するのに
一般的に使用されるのが、EthernetによるTCP/UDP通信技術です。
現状、ロボットを開発する人にとって、
最低限のTCP/UDP通信の知識は必須になってきていると感じています。


そのようなTCP/UDP通信を基本とした、
近年の通信技術をまとめた書籍としておすすめしたいのが、
この『マスタリングTCP/IP 入門編』です。


タイトルにTCP/IPと書かれていますが、TCP/IPだけでなく、
近年の通信モデルの基礎となる、OSI参照モデルに基づく、
通信技術を包括的に学ぶことができます。

この書籍は、ロボット技術だけなく、
現代のソフトウェアエンジニアとしての基礎的な素養を学ぶことができる名著として
様々な人から推薦されています。

実際に、LinuxにおいてTCPソケット通信を実現する方法に関しては、
下記の記事を参考にすると良いと思います。

Udacityのクラス 「Artificial Intelligence for Robotics Course」

Udacityは、冒頭のおすすめ資料である『Probabilistic Robotics』の著者である
Sebastian Thrun氏が始めたオンライン授業のサービスです。
Thrun氏の専門がロボティクスであるということで、
Google Carを作る方法という題目で、
基礎的なロボティクスの技術を学ぶことができるクラスが無料で公開されています。

自己位置推定、動的物体のトラッキング、経路生成、経路追従など、
自律移動技術の基礎的な知識を実際のPythonコードを作成しながら学ぶことができます。


このコースをひと通り受講することで、
『Probabilistic Robotics』で説明されている技術を理解しやすくなると思いますし、
実際にソフトウェアに落としこむのが楽になると思います。


これの授業を無料で受けられるなんてすごい時代だと思いました。

海外大学のロボティクス授業の資料

ロボティクスで有名な海外の大学の授業には、
ロボティクスをメインとした授業が多数存在し、
それらの授業の資料が公開されている場合が多いです。

これらの資料も、実際にロボティクスを知らない学生に
一から教えることを目的にしているため、
包括的にロボティクスを学びたい場合には、
これらの授業の資料を初めから読んでいくのは
良い方法であると言えます。

最先端の研究論文 Google Scholar

まだまだロボティクス技術の分野は発展途上であるため、
研究論文そのものを参照しなければいけない場合も多いです。


自分の場合は、基本的にGoogle Scholarで論文を探しています。

Google Scholarで調べると論文のpdfファイルが公開されているものが多いことに気が付きます。


しかし、Google Scholarで日本語の論文を調べるとあまり無料で読めるのは引っかかりません。
日本語の論文に関しては、下記のJ-Stageというサービスから調べると色々無料公開されている論文を探すことができます。
ロボット学会や計測自動制御学会の学会誌も公開されています。
一年以上前の資料なら非学会委員でも読むことができるようです。
日本もどんどん研究論文を公開して、Google検索で引っかかるようにならないかなと思います。


0 件のコメント:

コメントを投稿