モーションファイルを調べる その3 R+Task3.0
Meridian計画。
ROBOTIS製のロボットはまだ持っていないのですが、開発環境をちょっと覗いてみようと思います。
R+ Task 3.0
ROBOTIS製のモーションソフトとして R+ Task 3.0 が公開されています。
様々なロボットモデルがあらかじめ入っおり、ビジュアライザの機能もついたなかなかのスグレものです。
ブロック式ではなく、シーケンサータイプです。
キーフレームを設定し、そこにポーズ(サーボの角度)を割り当てていきます。choreonoidやBlenderなどと似た感じです。
シークバーを動かすことで時間軸に沿ったポーズがシームレスに表示されるところもわかりやすいです。
". mtn" ファイルの中身
モーションを設定して保存してみたところ".mtn"というファイルが作成されました。
中身はおおよそ以下のようなXML形式になっていました。
<Flow name="xxxx xxxx" return="-1">
<units>
<unit main="yyyy yyyy" mainSpeed="1" loop="3" exit="" exitSpeed="1" callSite="False" />
<unit main="Initial Position" mainSpeed="3" loop="1" exit="" exitSpeed="1" callSite="False" />
</units>
</Flow>
<Page name="yyyy yyyy">
<param compileSize="1" acceleration="32" softness="4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4" />
<steps>
<step frame="125" pose="-78.52 78.52 -80.86 80.86 -10.84 10.84 0 0 35.16 -35.16 62.4 -62.4 78.22 -78.22 0 0" />
<step frame="175" pose="-78.52 78.52 -80.86 80.86 -10.84 10.84 0 0 35.16 -35.16 77.05 -77.05 60.64 -60.64 0 0" />
<step frame="300" pose="-52.44 52.44 -2.64 2.64 -74.71 74.71 0 0 -73.54 73.54 20.95 -20.95 -43.9 43.9 0 0" />
</steps>
</Page>
Page というのが一連のモーションをまとめたもので、"モーションユニット"と呼ぶようです。
まずcompileSize,acceleration,softnessの設定があり、その後にstepsとしてキーフレームごとのポーズが並んでいます。
stepでは何フレーム目かを示す値がframesとして定義され、続くposeに各サーボ位置のパラメータがdegree表記で格納されています。
また、FlowはPageで定義したモーションユニットを複数まとめたもののようです。
ざっと見たところ分岐やパラメータの機能はR+Taskにはないようですが、そもそもROBOTISのロボットはArduino系のコードで制御するタイプだったと思います。
R+Taskで作成したモーションをArduino系のスケッチに呼び出すライブラリがしっかり準備されており、条件分岐などのコードと自由に組み合わせて使うことができるようです。自律化を想定した仕様であることが伝わってきます。
ポイント
機能がシンプルで動作もキビキビしており、ハードウェアをROBOTISに揃えられるのであればとても便利そうなアプリケーションだと感じました。
サーボ特性を設定できるところも良いですし、ロボット実機の即時再生にも対応しているようです。
モーションファイルに分岐を組み込まないというスコープの切り分けもクリーンで、最初にMeridianで想定していたモーションファイルの設計に近いです。
一方で、Meridianにはすべての混沌を吸収したいという気持ちがありますので、もう少し拡張性の高い設計にしていくだろうと今は思っています。
つぎにやること
CGアバター系についてもうちょっとだけ調べていきます。
NAOqiもちょっと気になります。
次の記事:
前の記事:
目次: