森北出版株式会社
i-mode site
書籍検索 月別新刊 ダウンロード テキストご検討の先生方へ ご購入方法 採用情報
http://www.morikita.co.jp
書籍検索
カテゴリ検索
科学一般
数学
数値計算・計算力学
理学
計測・制御
工学・技術一般
経営工学
土木工学
建築学
機械工学
電気・電子工学
情報工学・コンピュータ
インターネット
環境
語学
宗教・その他
ハンドブック・辞典
FD/CD付きの本
オンデマンド本
コピーするには・社告
談話室
新刊案内メール
お問い合せ
会社案内
アクセス
リンク
プライバシーポリシーとサーバ運用のご案内
ENGLISH PAGE
i-mode site

「簡単!実践!ロボットシミュレーション」

まえがき詳細目次


はじめに

 この本は何ですか?

 最近のロボットブームを受けてロボット関連の本を書店でよく目にしますが,実際にロボットを動作させるためのプログラミングに関する本はほとんど見かけません.数少ないそのような本も安くはない商用ロボットや商用シミュレータを使用するため,個人の趣味や授業では利用しづらいのが現状です.
 そこで,本書はオープンソースでありながら商用並みの高いクオリティを持ち商用ゲームや研究用シミュレータなどの物理計算エンジンに採用されている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に関するご質問やコメントをくださった方々に感謝致します.

免責事項

 本書やサポートサイトのプログラムのコンパイルおよび実行は,自己責任で実施してください.特に,本物のロボットに本書のプログラムを適用するための安全性などを考慮していませんので,そのような用途には向きません.あくまで学習目的とお考えください.著者および森北出版は本プログラムによって生じたあらゆる結果についての責任は負いかねます.ご了承ください.


目次

Part 1. Open Dynamics Engine

Step 1. ODE初体験
1.1 ODEとは何ですか
1.2 なぜODEなのか?
1.3 リンゴの落下
1.4 ボールの跳ね返り
1.5 1 本脚ロボットを作ろう
1.6 プチプロジェクト

Step 2. シミュレータを作ろう
2.1 ヒンジジョイントを動かすには
2.2 スライダージョイントを使いこなそう
2.3 ホッピングロボットを作ろう
2.4 インタラクティブにいこう!
2.5 スピードアップするには
2.6 見た目も大事だよ!
2.7 プチプロジェクト

Step 3. ODEをもっと知ろう
3.1 シミュレーションコードの流れ
3.2 よくあるシミュレーションコード
3.3 ステップ0:描画の準備
3.4 ステップ1:動力学計算ワールドの生成と設定
3.5 ステップ2:衝突用スペースの生成と設定
3.6 ステップ3:物体の生成
3.7 ステップ4:シミュレーションループ
3.8 ステップ5:スペースとワールドの破壊
3.9 プチプロジェクト

Part 2. 車輪型ロボット

Step 4. 差動駆動型ロボット
4.1 師曰く「ロボカップに参加したいんだが…」
4.2 座標変換
4.3 自己位置の推定
4.4 車輪の回転速度とロボットの速度との関係
4.5 プチプロジェクト

Step 5. 全方向移動型ロボット
5.1 はじめての制御(P,PD,PID 制御)
5.2 全方向移動型ロボットの運動学
5.3 衝突航法
5.4 障害物回避
5.5 全方向移動型ロボットの作り方
5.6 プチプロジェクト


Part 3. ロボットアーム

Step 6. 関節角とアーム先端位置との関係
6.1 物体を空間に表示するには
6.2 ロボットアーム各部の名前
6.3 運動学:関節角度から手先位置と姿勢の求め方
6.4 3 自由度ロボットアームを作ろう!
6.5 逆運動学:手先位置と姿勢を実現する関節角の求め方
6.6 やってみよう
6.7 プチプロジェクト

Step 7. 関節角速度と先端速度の関係
7.1 ヤコビ行列
7.2 2 自由度ロボットアームのヤコビ行列
7.3 3 自由度ロボットアームのヤコビ行列
7.4 逆ヤコビ行列
7.5 特異点
7.6 なぜ,ヒューマノイドロボットの膝は曲がっているのか
7.7 操作のしやすさ
7.8 プチプロジェクト

Part 4. 脚型ロボット

Step 8. 4脚ロボット
8.1 歩き方の種類
8.2 歩行制御
8.3 歩かせよう
8.4 プチプロジェクト

Step 9. ヒューマノイドロボット
9.1 ヒューマノイドロボットを作ろう
9.2 関節機構
9.3 運動学
9.4 歩かせよう
9.5 ZMP (zero moment point) ってなんですか?
9.6 力・トルクセンサの作り方
9.7 より安定な制御方法
9.8 プチプロジェクト・エピローグ

参考文献
付録 0からの数学
A.1 空間座標とベクトル
A.2 内積(スカラー積)
A.3 外積(ベクトル積)
A.4 行列
A.5 三角関数

索引

アップデート:2009/04/08

※Internet Explorer 5.0以上・Netscape 7.0 以上でご覧下さい.
※当サイトに掲載されている画像・文章等の無断転載はおやめ下さい.
Copyright(c) 2003-2007 Morikita Publishing Co., Ltd. All Rights Reserved.