ゲーム用物理エンジンODEは研究に使えるか?

ロボット学会でまたまた興味深いご発表がありました.それはODE(Open Dynamics Engine)は研究に使えるかというものでした.発表内容はどうだったと思われますか?

そのご発表によると「使える」という,とてもうれしい結果でした.ただ,ロボットで使う場合には注意する点がいくつかあるとのことです.関節を動かす場合は力制御ではなく,速度制御でないとうまくいかないそうです.ODEのマニュアルでは速度制御を推奨しています.その他にもいろいろあるそうです.

ODEはオーソドックスな方法を使っており,拘束力の計算には現在主流の速度ベースの解析的手法を使っています.その解法には大きな行列を真面目に解く方法(速度は遅いが高い精度)と反復計算で高速に解く方法(精度は悪い)の2種類があります.前者がdWorldStepで後者がdWorldQuickStepです.その御発表では,dWorldStepを使い,摩擦モデルは摩擦四角錐を使ったところ,実際のロボットとほぼ同様な結果を得られたとのことです.

私の知っているところでは,ODEの計算精度が主に悪い原因は以下の2点だと思います.

1.外力の計算は1次のオイラー法.ただし,ゲームの物理エンジンは概ねこの方法.ルンゲクッタだと4倍程度遅くなるのであまり使われていない.
2.摩擦モデル.標準では摩擦力が垂直抗力に比例しない定数になっている.ただし,オプションで摩擦四角錐モデル(dContactApprox1)を選択可能.

OpenHRP3との精度に関する比較はわかりませんが,他の物理エンジンとの比較ではそれほど悪くなく,むしろdWorldStepを使った場合,拘束力の計算では良いという報告があります.

研究に使えるかは用途だと思います.外力を高い精度で計算する必要がある場合や精確な摩擦モデルが必要な場合は向いていないと思います.それ以外では使える分野も多いと思います.

でむ

2 Comments
  1. はじめまして

    一度その発表の文章を読んでみたいのでその発表のタイトルを教えていただけたら嬉しく思います。
    よろしくお願いします。

    • youさん,

      次のとおりです.

      でむ

      遠藤,福島,広瀬: 動力学シミュレータ“Open Dynamics Engine”と普及型四脚歩行機械“TITAN-VIII”を用いた学部生実験課題,第28回日本ロボット学会学術講演会,
      1L2-6,2010

コメントを残す

メールアドレスが公開されることはありません。