MyEnigmaスマートフォン用の表示で見るMyEnigmaとあるエンジニアのブログです。一度、記事としてまとめておきたいと思います。参考にしていただけると嬉しいです。個人的にロボティクスの3大聖書だと思っている資料からです。2016-09-21Amazonで探す楽天市場で探すYahooショッピングで探すこの本はまさに自分にとっての聖書です。大学の研究室でこの本に出会ってから人生が変わりました。安定して利用できるロボットシステムの実現する最新の研究結果をまとめた書籍です。現在、自律移動システムで当たり前に使用されているカルマンフィルタやパーティクルフィルタなどを式の導出から、ロボットへの応用まで詳しく説明しています。最近のロボティクス技術の代名詞である、SLAM技術を初めて体系的に説明した書籍であるとも言えます。読み返しても、様々な学びが得られます。この本は翻訳されており、一時期絶版だったのですが、Kindle版として帰ってきました(^^)。Robotics』を読んでいる方は参考にどうぞ。聖書だと言われている本です。この一冊をマスターするだけで、かなり広い機械学習の分野を理解することができると思います。ロボットだけでなく、データ解析技術の書籍としても有名な一冊です。頭文字を取って、よくPRMLとも呼ばれています。読み切る決意が必要になると思います。Robotics』もかなり読みやすくなると思います。ロボティクスにおける認識系技術の書籍ですが、こちらの書籍は、ロボットの経路生成や制御の技術をまとめたものです。経路情報に基づく、制御技術などがうまく一冊の本にまとめられている珍しい書籍です。周辺環境と自己位置の認識に基づく、安全な経路生成と経路追従を実現できる一連の自律移動システムを構築することができると思います。日本語訳はまだ発売していないようです。(日本のロボティクス技術のために、どなたか翻訳をお願いします。素晴らしいシステムだとは言えないと思っているため、この本に書かれている技術は非常に重要だと思います。下記の記事は、主に経路生成に関する記事をまとめたものです。理解するのが難しいという問題があります。そこで基礎的な統計学を学ぶのにおすすめなのが、このマンガでわかる統計学シリーズです。因子分析など応用的な部分まで広く取り扱っています。統計学を一から学ぶのに有効であると推薦しています。統計学の基礎的な部分をひと通り網羅することができると思います。演習用のExcelファイルに関しては、下記を参考ください。Robotics』を理解するために、もう一つ重要な知識が、ベイズ統計・ベイズ推定の知識です。他の書籍でベイズ推定の基礎を学ぶ必要があります。そこでおすすめなのが、この『図解・ベイズ統計「超」入門』です。応用例を学ぶのがかなり簡単になると思います。この本は、図などを使って、かなりわかりやすくベイズ推定を説明してくれています。Robotics』で利用されている各技術のイメージをつかみやすくなると思います。下記の記事も参考にしてもらえると良いと思います。橋渡しのために、他の書籍で学習する必要があります。そのような場合におすすめなのがこの書籍です。ベイズ定理の応用などを非常にわかりやすく説明しています。詳しい数学的な議論はある程度省略し、その手法の概念的な意味と、それを応用する方法をわかりやすく説明しています。良い書籍であると思います。線形代数をベースにしていると言っても過言ではありません。線形代数を学び、その知識を元に応用する必要があります。Squares』です。線形代数の領域で最も実世界に応用されている技術の一つである最小二乗法にフォーカスした教科書です。様々なアルゴリズムを深く利用することができ、また自分が解きたい問題に利用しやすい形になっています。この教科書に関しては下記の記事を参照ください。確率・統計の技術も重要ですが、もう一つよく利用されるのが最適化技術です。経路生成や制御などでよく利用されます。最適化技術は非常に特殊な数式の表現をしているので、はじめはかなり面食らうと思いますが、その最適化技術の中で広く使われる凸最適化を基礎からわかりやすく説明しているのが、こちらの書籍です。凸最適化のバイブルのような扱いを受けています。基礎から最適化を学びたい人にはおすすめです。最適化技術に関する概要は下記の記事も参照下さい。制御対象のロボットを精密にモデル化したものを利用して制御するシステムが広く使われています。車両ダイナミクスの知識が必要です。この『自動車の運動と制御』は、車両ダイナミクスに関する名著で自動車技術の分野でも有名な書籍です。非常に広い範囲の知識が一冊にまとめられています。車両ロボットの制御システムを構築することにより、より精密な制御システムを実現することが可能になると思います。ロボティクスで使用することが多いと思われる車両ダイナミクスの基礎知識に関しては下記の記事を参照下さい。Control』もおすすめです。英語の書籍ですが非常にわかりやすく、この一冊だけで、簡単なACCやレーンキーピングの制御システムは実装できると思います。上記のシステムで使われている、車両のモデルの導出などはその他の様々なシステムでも応用可能です。ロボットの自己位置推定と地図構築の技術この本は、日本のSLAM研究の第一人者である友納先生が書いたSLAMの入門書です。屋外ロボット用の地図作成のために使用される技術です。実際のC++のコードを元にSLAM技術を学ぶことができます。必要な数学を網羅的に学ぶことができるのが特徴的です。初心者は戸惑うかもしれません。Robotics』の数式を実際にコーディングする時にかなり役に立つと思います。2002-01Amazonで探す楽天市場で探すYahooショッピングで探すロボットにとって最も広く使われる内界センサは、ジャイロや、加速度計で構築されるIMUだと思います。IMUを使って自己位置推定を実施する時、一番問題になることは、ジャイロや加速度計のバイアス誤差やスケールファクタ誤差などの、ジャイロセンサ特有の振る舞いです。精密なロボットの位置や姿勢を推定することは難しくなります。多摩川精機の技術者が書いた、ジャイロや加速度センサに関する名著です。ジャイロや加速度センサの原理や、計測誤差の分類と振る舞い、そして、ジャイロや加速度センサの応用例などがわかりやすく書いてあります。IMUを使いたい人が、初めに読む本としておすすめです。2005-03-26Amazonで探す楽天市場で探すYahooショッピングで探すこれまで紹介してきた書籍はすべて、ロボティクスの技術や、それを実現するための学術的な内容の書籍でしたが、きちんと利用することができるロボットシステムを開発するためには、それらの技術をソフトウェアとしてきちんと実装することができるプログラミング能力が必須になります。個々の開発環境に応じて、必要となるプログラミング技術は異なると思います。Complete』をおすすめしたいと思います。素晴らしいソフトウェアをつくるための技術を包括的に説明してくれています。実際のソフトウェア開発に関する様々な研究結果を元に、データとして有効であると証明された方法を紹介しているところが素晴らしいと思います。最後のステップまでに必要な知識を網羅しているため、この本をひと通り学ぶことで、ある程度の規模のソフトウェアを一人で実装できるようになると思います。あとは、自分の開発環境に適した書籍を数冊読むことで、ある程度のロボットソフトウェアシステムを実装することが可能になると思います。この書籍の詳しい説明は下記の記事を参照ください。『リーダブルコード』myenigma.hatenablog.com『達人プログラマ』myenigma.hatenablog.com『Java言語で学ぶリファクタリング入門』myenigma.hatenablog.comもおすすめです。Complete』はプログラミング全般的な内容ですが、ロボット専用のプログラミング技術というもの重要です。近年、ロボットの機能が増大し、その結果ロボット用のソフトウェアも巨大化&複雑化してきているため、ロボット用ソフトウェアフレームワークを使用することが一般的になってきています。他の研究機関などがが作成した、ROSソフトウェアを簡単に利用できるようになります。近年、いくつか日本語の書籍も発売されており、その中でもおすすめなのが、この本です。今後、ロボット工学を学ぶ場合には、ROSのようなロボットフレームワークの知識は必須だと思いますので、まず初めの導入として日本語で書かれたこの書籍をおすすめしたいと思います。この書籍の詳しい説明に関しては下記の記事を参照下さい。前述のROSのように、Linuxの上で動くことが多いです。近年は処理の複雑化により、Linuxなどが走るハイエンドのコンピュータを搭載したロボットが多くなってきました。自分も学生の時は、慣れるまで時間がかかりました。基礎的な内容をマンガで説明してくれるのが上記の書籍です。基本的なシェルスクリプトの書き方から、様々な自動化など、ロボットのソフトウェア開発を効率的にする様々なテクニックが分かりやすく書かれていて、非常に良いと感じました。非常に理解しやすかったように感じました。誰でも役に立つ内容だと思います。2012-02-25Amazonで探す楽天市場で探すYahooショッピングで探す最近のロボットは、ロボット単独だけでなく、サーバとつながったり、インターネットと繋がって、より複雑な機能を実現することが多くなってきました。ロボット用のセンサの高機能化により、センサのデータ量が増加し、その結果、センサデータ通信にEthernetのソケット通信を使用するセンサが増えてきています。そこでロボットが外部のコンピュータやセンサと通信するのに一般的に使用されるのがTCP/UDP通信です。最低限のTCP/UDP通信の知識は必須になってきていると感じています。通信技術を包括的に学ぶことができます。現代のソフトウェアエンジニアとしての基礎的な素養を学ぶことができる名著として様々な人から推薦されています。食っちゃね〜だらだらな日々。食っちゃ寝生活してても意外と平気だったりする。入門編」読み終わりました。下記の記事を参考にしてください。Thrun氏が始めたオンライン授業のサービスです。基礎的なロボティクスの技術を学ぶことができるクラスが無料で公開されています。自律移動技術の基礎的な知識を実際のPythonコードを作成しながら学ぶことができます。実際にソフトウェアに落としこむのが楽になると思います。この授業を無料で受けられるなんてすごい時代だと思いました。自律移動の全体像を把握するには素晴らしい内容だと思います。下記の資料を参照ください。研究論文そのものを参照しなければいけない場合も多いです。Scholarで論文を探しています。Scholarで調べると海外の論文はpdfファイルが公開されているものが多いです。Scholarで日本語の論文を調べるとあまり無料でダウンロードできるものは少ないです。下記のJ-Stageというサービスから調べると色々無料公開されている論文を探すことができます。トップまた、ロボット学会や計測自動制御学会の学会誌も公開されています。一年以上前の資料なら非学会委員でも読むことができるようです。研究論文を公開して、Google検索で引っかかるようにならないかなと思います。最後に以上が、自分がこれまでロボティクスを学ぶために実際に読んできて、よかったと思える資料です。Supportersもしこの記事が参考になり、ブログをサポートしたいと思われた方は、こちらからよろしくお願いします。はてなブログProとあるエンジニアのブログです。Page月別アーカイブスポンサーリンクスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。