Open Dynamics Engine


概要

2.5次元(3次元空間で,2次元ロボット)の歩行ロボットのデモンストレーション.

タイプ説明
受動歩行ロボット(PDW)一切の制御器・駆動機無しで,下り坂を二足歩行するロボット.(動画説明)
準受動歩行ロボット(PPDW)腰関節部にモータを配置し,平地での二足歩行を可能とする受動歩行ロボット.(動画
ZMP型歩行ロボットZMP制御に基づいた二足歩行ロボット.(動画説明
CPG型歩行ロボット生物規範である神経振動子制御に基づく二足歩行.(動画説明
dof.jpg
自由度図

デモプログラム使用に関するお願い

より多くの人達にホームページを参考にしていただきたいので,プログラムを利用する人には,リンクのご協力をお願いします.また研究に利用する人は,参考文献への記述(下記)のご協力をお願いいたします.

Kojiro Matsushita (2007) Biped Robots on Open Dynamic Engine, 
URL: http://www.koj-m.sakura.ne.jp/ode/

受動歩行機(Passive Dynamic Walker)のCコード

 受動歩行機のデモプログラムです。パソコンによって、多少物理状態が異なるため、私のパソコンで成功した設計値が必ずしも有効ではありません(←後述しておりますが,アンチウィルスソフトウェアが悪さをしていたのかもしれません.)。そのため、簡単な変数探索アルゴリズムをいれており、おそらく皆さんのパソコンでも二足歩行できるとは思います。
 なお、構築に関して説明すると。。。受動歩行機の作るために一番苦労したのは円弧型の足です。初めはトライメッシュも利用しましたが、複雑かつ処理が重くなるため,長方形を8〜20個並べることとしました.そのほかにも、いろいろな工夫が入っておりますが、後ほどまとめます。


参考文献:
- T. McGeer, Passive dynamic walking, International Journal Robotics Research, 
  9(2) (1990). 
- T. McGeer, Passive dynamic walking with knees, Proceeding of IEEE
  International Conference on Robotics and Automation, (1990) 1640-1645. 

Cornel UnivのAndy Ruina先生のHPに論文およびビデオがあります

CPG制御型ロボットのCコード

 生物規範型で有名な「神経振動子制御/Central Pattern Generator制御」です.このプログラムは,多賀厳太郎先生が1991年に出版しております論文の二足歩行ロボットのCPG制御を参考に作られています.異なる点はトルク制御ではなく,無理やり位置制御で歩容を実現していることです.また,この制御は,パラメータ調整が難しいため,簡単な遺伝的アルゴリズム(突然変異のみ)でパラメータ探索をするプログラムも付加されています.  使い方としては,まず「#define GA_SIM 1」として,二足歩行ロボットが歩けるかどうか確認してください.もし,新しいパラメータを探索したいのならば,「#define GA_SIM 0」の探索モードにして実行してください.五種類の最良なパラメータセットを探して,「seed_gene.txt」に出力してくれます.

例:seed_gene.txt
-------------------------------------------------------------------------
// double cpg2ga[LEN-1]={-0.25,-0.21,1.00,0.69,0.61,0.80,-0.90,0.25,-0.75};	// 3.11
// double cpg2ga[LEN-1]={-0.26,-0.11,1.00,0.69,0.61,0.80,-0.80,0.55,-0.75};	// 1.23   
// double cpg2ga[LEN-1]={-0.26,-0.21,0.00,0.69,0.61,0.80,-0.70,0.25,-0.75};	// 5.21
// double cpg2ga[LEN-1]={-0.26,-0.21,1.00,0.60,0.11,0.80,-0.90,0.25,-0.75};	// 4.23
// double cpg2ga[LEN-1]={-0.26,-0.21,1.00,0.69,0.11,0.10,-0.10,0.25,-0.75};	// 2.11
-------------------------------------------------------------------------

そして,seed_gene.txtに記載されているパラメータをプログラム内に上書きします.最後に,利用するパラメータの「//」を取れば,そのパラメータでロボットが動作します.なお,一つ気をつけるべきことがあります.パラメータ探索中,アンチウィルスソフトが動いていますと,数値計算にノイズが入り,正しい値が得られません.そのため,探索する時はインターネットから切断し,アンチウィルスソフトを切ることをお勧めします.(探索終了が,アンチウィルスソフトをONにすることをお忘れなく.)各自の責任で行なってください.よろしくお願いいたします.


  • [CPGの難しさ] シミュレーションにおけるCPG歩行ロボットの一番の問題点は,センサフィードバック関数の設定です.この関数が適切に設定できれば,複数の異なる環境でも安定した歩行を実現することが可能です.例えば,多賀先生の論文では,人の歩行の生理学の知見を基にセンサーフィードバック関数を構築し,平地と上り坂における歩行を実現しています.
    参考文献:
    G. Taga, Y. Yamaguchi, H. Shimizu, Self-organized control of bipedal
    locomotion by neural oscillators in unpredictable environment, Bilogical
    Cybernetics 65 (1991) 147-159.

ZMP型歩行ロボットのCコード

数ヶ月以内にアップします.


添付ファイル: filecpg-matsushita20080514.cpp 2740件 [詳細] filedof.jpg 1418件 [詳細] filepdw_on_ode.cpp 2940件 [詳細] filepdw.jpg 1366件 [詳細] filezmp.jpg 1134件 [詳細] filecpg.jpg 1238件 [詳細]

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-05-22 (木) 11:41:48 (3469d)