91robotsimu: 2007年4月アーカイブ

 ペナルティキックのシミュレーション
ペナルティキックのサンプルプログラム
(ここをクリックするとWindows用デモプログラムをダウンロードできます)

簡単にODE本「簡単!実践!ロボットシミュレーション Open Dynamics Engineによるロボットプログラミング」の内容を紹介します。

ロボット工学なら東工大の広瀬教授の名著「ロボット工学-機械システムのベクトル解析-」をはじめとして優れた教科書が既にたくさん世に出ています。また、C言語などのプログラミングに関する教科書ならさらに多くの書籍が書店に並んでいることでしょう。

ところが、両者を橋渡しするような教科書をほとんど見かけません。私はロボカップに1999年から参戦してきましたが、計算機科学を学んだ私にとってはロボットを動かすこととプログラムの関係が当初よくわからず、経験しながら身につけていきました。それとは逆に、ロボット工学を学んだ方にとっては、その理論をプログラムにすることは簡単ではないかもしれません。

そこで、本書はロボット工学の基礎理論とプログラミングを有機的に結びつけるため、お金がかからず手軽にロボットプログラミングを体験する手段としてオープンソースの動力学計算エンジンOpen Dynamics Engineを使っています。この種のスキルは手続き型記憶とよばれ実際に体験しない限り身に付きません。本書の目指すところは、ロボットを動かすための基礎理論とそれを実現するプログラミング能力を身に付けることなのです。

以下、ユニークな特徴を紹介します。

  •  ロボット工学の基礎とそのプログラミングを学べる実践書
    • 段階的に車輪型ロボット(差動駆動、全方向移動)、ロボットアーム、4脚、ヒューマノイドロボットのシミュレータを作り、そのロボット上に基本的なアルゴリズムをプログラムしていきます。最終課題はヒューマノイドロボットを歩かせることです。なお、プログラムはC言語で書かれWindows、Linux、Mac OS Xに対応させます。
  • 初めてのODE解説書
    • ODE英文ユーザーガイドを読まなくてもプログラム可能
    • API索引、API逆引き索引有
    • 本書の約半分はODEに関する事項(チュートリアル&マニュアル機能)
  • 売り上げ1冊につき1ドルをODEプロジェクトへ寄付
    • ODEを開発したスミス氏とは何回かメールをやりとりしました。こころよくODEのユーザーガイドの引用、転載等を許可して頂きました。ODEがなければこの本は誕生しなかったのでスミス氏に感謝の念を込め、微力ながらサポートするために、本書の売り上げ1冊につき1ドルをODEプロジェクトへ寄付します。森北出版様にも協力して頂きました。このようなオープンソースのプロジェクトを維持・発展させていくためには多くの方の協力が必要だと思います。人は霞(かすみ)を食べて生きていけるわけではありませんしね。

EX1.1の答えです。ODE (Open Dynamics Engine)をLinuxへインストールする方法について説明します。 mingw、Linux、OS Xをインストールする方法は基本的に同じで、とても簡単です。

 

A. ODEのダウンロード

ODEのウェブサイトの左メニューバーにあるdownload→Version-numbered source releasesをたどってODEのソースコードode-src-0.8.zipをダウンロードします。すぐダウンロードしたい方はここをクリックしてください。なお,この例ではダウンロード先を/tmpにします。

B. ODEのインストール

これからの作業はLinuxの基本的な操作を知っている人を対象とします。

1. kterm, rxvt, gnome-terminalなどのターミナルを起動してください。

2. ホームディレクトリへ移動
    $cd

3. ホームディレクトリにsrcディレクトリを作成し、そこに移動する
    $mkdir src
    $cd src

4. ダウンロードしたode-src-0.8.zipを上で作成したディレクトリにコピーする
    $cp  /tmp/ode-src-0.8.zip   .

5. ode-src-0.8.zipを展開(解凍)するとode-0.8ディレクトリが作成される
    $unzip ode-src-0.8.zip

6. ode-0.8ディレクトリへ移動
    $cd ode-0.8

7. configureの実行
    $./configure --enable-double-precision

8. makeの実施
    $   make

9.  make installの実行
    $ su
    $ make install

C. テスト

    $cd ode/test(絶対パスでは cd  /home/ユーザ名/src/ode-0.8/ode/test)
    $./test_buggy

ODE
ODE付属プログラムtest_buggy.exeのスクリーンショット

Simulation test environment v0.02のウインドウが開きバギーが表示されたら成功です。ごくろうさま!'a'キーを押すと前進、'z'キーで後進、','キーで左折、'.'キーで 右折します。このバキーは3輪なのですぐ転倒してしまいます。

おしまい。 

私はBusinessエディションで試しましたが、Ultimateエディションでも問題なくインストールができたというコメントを頂きました。けんいちさん、どうもありがとうござました。

Windows Vista Businessを搭載したノートパソコンPanasonic Let's Note CF-Y7をやっと手に入れたので、さっそくMinGW+Msysを入れてみました。ここ3年間同じくPanasonic Let's Note CF-Y2を使っていました。Y2と比較するとより頑丈になり100kgまでの加重に耐えることができます。タラバガニのようなエグゾスケルトン(外骨格)になり強そうです。でも、重量は約1.5kgなので携帯性に優れており、今後数年間はお世話になることでしょう。重さでいえば、Vistaの方がよっぽど重いです...

さて、ODE (Open Dynamics Engine)をWindows Vistaへインストールする方法について説明します。ここではWindows Vista Business環境で、インストールがもっとも簡単なMinGW+Msysを使います。

MinGWはCygwinの ようにLinuxとの互換性は高くありませんが、150MBもディスクに空きがあればインストール可能ですし、バイナリを実行するときに特別なライブラリ が必要なくGPLで配布する必要もない(注1)ので重宝します。そのうえ、gcc、make、gdbなどのLinuxで標準的な開発ツールを使うことがで きます。

注1:Cygwinで作成したバイナリはcygwin1.dllを使うので、これも同時に配布しなければならない。これはGPLなので自分の作成したプロ グラムもGPLで配布しなければいけないのです。

では、以下について図とリンク付きで詳しく説明していきます。ここで紹介するMinGWのバージョンは5.1.3、MSYSは1.0.10です。これ以外のバージョンでは試していないので動作するかどうかわかりません。

  1. MinGWのインストール(開発環境)
  2. MSYSのインストール(MinGWを利用するためのシステム)
  3. ODEのインストール

更新ログ

  •  2007-12-13: ODE0.9に対応


 

0.  ユーザーアカウント名のチェック

これからインストールするMinGW+MSYS 環境ではユーザーアカウント名が日本語の場合、フォルダの一部が文字化けし作業がうまくいきません。

「コントロールパネル」→「ユーザアカウント」でアカウントが英語になっているか確認してください。日本語の場合は「ユーザアカウントの追加または削除」で英語のアカウントを作成してください。その際、スペースなどはいれないでください。なお、「アカウント名の変更」でアカウント名を変更してもフォルダー名は変わらないのでだめです。必ず、新規の英語(苗字または氏名のローマ字が良いでしょう)のアカウントを作成してください。

EX1.1の答えです。ODE (Open Dynamics Engine)をWindows XPへインストールする方法について説明します。Windows Vistaのユーザはこちらをご覧ください。

ここではWindows XP環境でしかもインストールがもっとも簡単なMinGW環境を使った方法を説明します。

MinGWはCygwinの ようにLinuxとの互換性は高くありませんが、150MBもディスクに空きがあればインストール可能ですし、バイナリを実行するときに特別なライブラリ が必要なくGPLで配布する必要もない(注1)ので重宝します。そのうえ、gcc、make、gdbなどのLinuxで標準的な開発ツールを使うことがで きます。

注1:Cygwinで作成したバイナリはcygwin1.dllを使うので、これも同時に配布しなければならない。これはGPLなので自分の作成したプロ グラムもGPLで配布しなければいけないのです。

では、以下について図とリンク付きで詳しく説明していきます。ここで紹介するMinGWのバージョンは5.1.0、MSYSは1.0.10です。多少古いですが、Windows XPでの動作を確認していますのでこれらを利用してください。最近のバージョンにすると不具合が生ずる場合があります。

  1. MinGWのインストール(開発環境)
  2. MSYSのインストール(MinGWを利用するためのシステム)
  3. ODEのインストール

   ロボットシミュレーション Open Dynamics Engine によるロボットプログラミング
表紙カバー(上図をクリックすると予約ページに飛びます。最近はセブンイレブンで本を受け取ることができるようになったのですね。便利になったものです。)

ODE(Open Dynamics Engine)本の最終校正が2007年4月15日に終わりました。今まで分担執筆では2冊担当しましたが、単著は初めてだったので大変さが身にしました。

本書の企画は2005年8月頃でした。それから順調に話が進み、その年の12月頃には出版が正式に決まり、原稿を2006年2月頃に出版社に送りました。それからしばらくして出版社から方向性の微調整がありました。ODEのバージョンアップ、講義でのフィードバック、一番の要因は私自信がなまけていたせいもあり Tongue out 、初校の原稿提出が2006年12月でした。

その後は出版社のご尽力により順調に進み、初校が2月初旬,再校が3月末、3校が4月初旬に終わり、とうとう4月15日、最終校正である念校が終わったのでした。

念校が終わったばかりなのに何ともう、googleで「ロボットシミュレーション」と検索すれば、3番目にヒットされます(4月15日現在)。お試しあれ! なお、書名はロボットシミュレーションですが、半分はODEの入門&解説で,後の半分はロボット工学の基礎とそれをODEを使ってプログラミングするための具体的なコードを掲載しています.ODEの英文ユーザマニュアルを読まなくても済むように主要なAPIをほとんど掲載し、索引にAPI索引、API逆引き機能を持たせているので便利かと思います。さらなる本書のユニークな特徴についてはまたご連絡します。

 
表紙カバー(森北出版から許可を得て転載)

一部の方から先日、能登で発生した地震について問い合わせがありました。お気遣い頂きありがとうございました。金沢は幸いほとんど被害がありませんでしたが、能登はテレビで報道されているように被害は甚大でした。私の大学でも輪島市近郊の穴水の研修所は窓ガラスが大量に割れる被害がありました。

本学の環境・建築学部の教員が建築被害調査チームを発足し、能登半島を中心とした被害調査を開始しています。北陸で建築学科をもっているのは本学だけなので是非頑張ってもらいたいものです。

さて、ODE本の詳細が以下のように決まりましたのでご紹介します。当初の予定より少し遅れ、3校が4月6日に届き、その修正版を4月9日に返送する予定です。それから印刷に回すので書店に並ぶのは5月中旬ぐらいにずれ込むでしょう。

この本はKITロボティクス学科のロボットプログラミングという科目の教科書として書いたものです。内容は、ロボット工学の初歩とODEを使ってロボットなどのシミュレータを作る具体的な方法をソースコード付で初心者向けにやさしく書いています。ロボットの種類としては、車輪型ロボット(駆動作動輪型、全方向移動型)、ロボットアーム、脚型ロボット(4脚)、ヒューマノイドロボットを取り上げていますので、ロボットを一通り勉強できます。

また、ODEの解説書としての機能も持たせ、ODEの英文マニュアルがなくても済むようにAPI(ODEの関数)についても詳しく説明しています。書店に並んだら是非手にとってくださいね。

Sorry, in Japanese. There are some ODE related pages in English. Please click here,and you can also enjoy my simulation videos in the ODE book from here (320x240) and as follows (160x120).

ODE本「簡単!実践!ロボットシミュレーション」のサポートサイトにようこそ!バイナリ,ソースコード,正誤表,さらに講義やゼミなどで便利なようにパワーポイントなども掲載していこうと考えています.感想,間違い,あるいはわかりづらい箇所などのコメントを頂けたら,本サイトあるいは第2版に反映しますのでお気軽に投稿してください.

このアーカイブについて

このページには、2007年4月以降に書かれたブログ記事のうち91robotsimuカテゴリに属しているものが含まれています。

次のアーカイブは91robotsimu: 2007年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01