見出し画像

モーションファイルを調べる その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もちょっと気になります。

次の記事:

前の記事:

目次:


いいなと思ったら応援しよう!