はじめに
最近のロボットブームを受けてロボット関連の本を書店でよく目にしますが,実際にロボットを動作させるためのプログラミングに関する本はほとんど見かけません.数少ないそのような本も安くはない商用ロボットや商用シミュレータを使用するため,個人の趣味や授業では利用しづらいのが現状です. そこで,本書はオープンソースでありながら商用並みの高いクオリティを持ち商用ゲームや研究用シミュレータなどの物理計算エンジンに採用されているOpenDynamics Engine(ODE)を利用します.C言語により図に示すリアルで美しい3次元物理シミュレータを作りながら車輪型,ロボットアーム,4脚ロボット,ヒューマノイドロボットを動作させるために必要なロボット工学の基礎とロボットプログラミングを関連付けて段階的にマスターします. 本書の案内に従ってプログラミングをやり遂げれば,ロボット工学の基礎を理解でき,いろいろなタイプのロボットをお金をかけずに仮想空間上で動作させることができるようになるのです.
著者のプロフィール
私は,1999 年からRoboCup(ロボカップ)の中型ロボットリーグにKIT夢考房WinKITチームの指導責任者として参戦してきました.WinKITチームは2002から3年連続世界大会で準優勝,2003年のJapan Openで優勝,2004年は中型とシミュレーションリーグで準優勝という実績を残してきました.ロボカップでは今まで中型,シミュレーション,4脚ロボットリーグに参戦しましたが,ヒューマノイドリーグにも参戦するためのロボットを開発しています.本書はこれらの体験をもとに生まれたものです.
読んでもらいたい方
ロボットに興味があり,自分でプログラミングしてロボットを動かしたいと思っている大学生,専門学校生,高専生,高校生,社会人の方,あるいはODEに興味のある方にこの本を読んで欲しいと願っています.必要な知識は初歩レベルのC言語と高校生レベルの数学だけです.つまり,現在,ロボコンなどで活躍している熱い高校生や高専生なども本書を理解できるようにやさしく説明しています.
本書の構成
本書は4つのパート(部分)から構成されています.Part 1ではODEについて,Part 2ではロボカップをテーマに取り上げ車輪型移動ロボットの基礎を勉強し,Part 3ではロボットアームを題材に一般的なロボット工学の基礎を勉強し,最後のPart 4では4脚とヒューマノイドロボットの歩行制御をプログラミングする欲張りな内容となっています.
ユニークな特徴
ロボット工学の基礎とそのプログラミングを学べる実践書:ロボット工学に関する書籍は数多く出版されていますが,そのプログラミングに関する書籍はほとんどありません.本書はODEの使い方を学びながらシミュレータ上にロボットを作り上げ,そのプログラミングをロボット工学の基礎と同時に学べる実践書です. 初めてのODE解説書:ODEを使って自由にプログラムできるように詳しく説明しています.ODEの主要APIを説明していますからODEのマニュアルがなくても十分プログラム可能です.私の知る限りODEの解説書は出版されていないので,初めてのODE解説書ともいえます. ODEプロジェクトへの寄付:フリーの物理計算エンジンは他にもありますが,マニュアルの不備,ユーザが少ない,さらに悪いことに開発が数年間で終了するケースがほとんどです.ODEは2001年から現在まで開発が続けられ,国内外問わずユーザーが増えています.この火を消してしまったら科学技術,教育の進歩に大きなマイナスです.そこで,本書の売り上げ1冊につき1ドルをODEプロジェクトに寄付しその活動をサポートします. お財布にやさしく:パソコンを所有しインターネットに接続できる環境の方なら,本書のプログラムを無料で実行できます.実行・開発環境はWindows,Linux,MacOS Xに対応し,無料の開発環境をサポートサイトで紹介しています.つまり,お金をかけずにできます. WEBサイトとの連動:本書では基本的にあまり変わらない情報を提供し,ODEや開発環境のインストール方法,あるいは本文中のソースコードは,以下の私と森北出版の本書サポートサイトで提供しますので,わざわざソースコードを打ち込む必要はありません. http://demura.net/ http://www.morikita.co.jp/soft/84691/ 初心者にやさしく:ロボット工学を初めて学ぶ方はもちろんのこと,プログラミングの初心者にも理解できるように,少しでも難しいと思われる技術用語はていねいに脚注で説明しています.説明も厳密さよりわかりやすさを追求しています.
講義での使用
この本はお堅い教科書という体裁ではありませんが,私が担当しているロボット関係の講義用教科書として執筆したもので,基本的なことは一通り網羅しています.講義?でアンケート調査をした結果,ロボット工学の理論をリアルなコンピュータグラフィクスで体験できるところが学生には好評でした.なお,http://demura.netに講義で使用したパワーポイントなどをダウンロードできるようにしていますので,ご自由にお使いください.
講義では実行・開発環境として,WindowsとMinGWを使用しました.
独習にも最適
説明を詳しくしていますので独習用にも最適です.プログラミング能力は教科書や独習書を読んでいるだけでは決して身につきません.スポーツと同じように体を動かすことが必要で,実際に手を動かしてプログラミングとデバッグを繰り返すことで初めて身につけることができるのです.ぜひ,みなさんもロボットプログラミングに挑戦してください.
謝辞
本書は多くの方のご協力のもとにできています.特に,ODEの開発者であるラッセル・スミス氏には,ODEホームページに掲載されているドキュメント類の引用や転載許可を頂き,ありがとうございました. 東京工業大学教授広瀬茂男先生には,先生の名著「ロボット工学」(裳華房)から運動学に関する先生独自の手法を紹介並びに引用させて頂くことにご快諾頂き,ありがとうございました.先生の手法は非常にわかりやすく本書には欠かせないものでした. 最後に,本書を執筆するきっかけを与えてくださった森北出版の広木敏博氏,本書原稿のチェックをして頂いた中川祐君,上林広和君,私の授業やウェブサイトでODEに関するご質問やコメントをくださった方々に感謝致します.
免責事項
本書やサポートサイトのプログラムのコンパイルおよび実行は,自己責任で実施してください.特に,本物のロボットに本書のプログラムを適用するための安全性などを考慮していませんので,そのような用途には向きません.あくまで学習目的とお考えください.著者および森北出版は本プログラムによって生じたあらゆる結果についての責任は負いかねます.ご了承ください.