True RoboAnimatorのアプリアイコンTrue RoboAnimatorのアプリアイコン

True RoboAnimator

実機のロボットを動かせるアニメーション。

キーフレームで付けたシャーシの動きを、車輪型ロボットのための工学的に正確なアニメーションに変えるBlenderアドオン。横滑りは起こらず、車輪の角度はフレームごとに算出され、そのデータでハードウェアを動かすこともできます。

暗い空間に浮かぶTrue RoboAnimatorのパネルを、様式化して描いたレンダリング

キーフレームで動かすロボットは、横に滑ることも、車輪を好きな速さで回すこともできます。でも、本物のロボットにはできません。True RoboAnimatorは、すべてのフレームをロボットの運動学と照らし合わせ、実機をつくる前に経路を補正します。

7,000+Blender Extensionsでのダウンロード数
4車輪レイアウト:2輪、3輪、4輪、6輪
評価8.6Blenderユーザーによる安定性の評価(10点満点)
Blender4.2–5.0Blender 5.0まで動作確認済み

ハイライトをチェック。

  • シャーシだけ。ボディにキーフレームを打つと、車輪は止まったまま、経路に沿って滑るように進みます。

    Blender
  • 車輪は手作業で。見た目はそれらしくても、車輪が動きと一致している保証はどこにもありません。

    Blender
  • True RoboAnimatorなら。車輪の角度を、シャーシの動きそのものからフレームごとに導き出します。

    Blender
  • ひとつのパネルに、上から順に。リグの設定、キャリブレーション、モーションパス、車輪のドライバー、そしてインポートとエクスポート。

    True RoboAnimator
    Blender上のTrue RoboAnimatorのパネル
  • 経路が、目に見える。キーフレームの経路はオレンジ、補正後の経路はシアンで表示され、設定を変えるたびに描き直されます。

    Blender

土台は、運動学。

実機のロボットがたどれる動きを必要とする、ロボットエンジニアやテクニカルアニメーターのために。

  • 横滑りの検出。シャーシの動きをすべてのフレームで、自分で設定した許容値と照らし合わせ、横滑りがないか確認します。

  • 経路を補正する、2つの方法。S-Easeは、ロボットの旋回限界の範囲内で経路をBézier曲線になめらかに整えます。Linearはその場で回転し、まっすぐ進んでから、最終的な向きへ旋回します。

  • 速度プロファイル。加速ランプ付きの台形、タイムライン全体にかける1つのイージング、セグメントごとのイージングから選べます。

  • すべてのフレームに、角度を。左右の車輪とキャスターの角度を、RPMや角加速度とともにフレームごとにキャッシュします。

  • 自動ドライバー。すべての車輪に回転ドライバーを設定します。オイラー角とクォータニオンに対応し、それぞれが固有のレスト姿勢を基準にします。

  • CSVの読み書き。時間、姿勢、車輪の角度と回転速度をエンジニアリング用に書き出したり、軌道を読み込み直したりできます。

  • 安全リミット。車輪の速度(RPM)と角加速度(RPM毎秒)に上限を設けます。

  • ビューポートの補助表示。前方向の矢印、色分けされた車輪の軸、2本の経路を、ジオメトリでリアルタイムに描画します。

  • Blender 4.2〜5.0。スロット付きアクションに対応する互換レイヤーにより、どのバージョンでもアニメーションを安全に読み書きできます。

走り方は、4通り。

ロボットに合ったレイアウトを選ぶと、パネルには必要な車輪スロットだけが表示されます。

2つの駆動輪。左右の速度差で旋回します。

受動キャスターは自由に向きを変え、その回転はシャーシ中心の前進量に従います。

同じ側の2輪が、1つの角度を共有します。

ロッカー式のスキッドステア。4輪と同じく、左右それぞれで角度を共有します。

前方トレッド幅
前方キャスタートレッド幅
前方トレッド幅
前方トレッド幅

数式は、すべてオープンに。

左右それぞれの車輪の角度は、古典的な差動駆動の積分に従います。キャスターはヨーを考慮しません。自由に向きを変えるため、その回転はシャーシ中心の前進量に追従します。

モデルがどの向きであっても、角度と回転速度が正なら、車輪は常に前へ転がります。

# フレームごと、シャーシの動きdxとヨーdψから dsL = dx − ½ · track_width · dψ dsR = dx + ½ · track_width · dψ dθ = (ds / wheel_radius) · side_sign # 3輪:キャスターは中心に追従 dscaster = dx

キーフレームから、ハードウェアへ。

8つのステップを、パネルに並ぶ順番で。

  1. リグを組む

    シャーシと車輪の数を設定し、各車輪スロットを割り当てます。

  2. キャリブレーション

    トレッド幅、車輪の半径(または自動検出)、回転軸。

  3. シャーシを動かす

    経路が変わるところで、位置と回転にキーフレームを打ちます。

  4. 検証

    横滑りがないことを確認します。

  5. 自動補正

    モードと速度プロファイルを選んでベイクし、もう一度検証します。

  6. キャッシュを構築

    すべての車輪について、フレームごとの角度を積分します。

  7. ドライバーか、ベイクか

    リアルタイム再生にはドライバーを、ほかのツール向けにはベイクしたキーを。

  8. 書き出し

    ハードウェア向けに、エンジニアリング用CSVまたはキーフレームのスナップショットを。

検証され、公開され、使われている。

技術仕様

バージョン
1.4.1
Blender
4.2 LTS〜5.0
動作環境
Python 3.11(Blenderに同梱)、外部依存なし
対応ロボット
差動駆動(2輪)、キャスター付き差動駆動(3輪)、スキッドステア(4輪)、ローバー型スキッドステア(6輪)
補正
トレッド幅から求めた曲率制限付きのS-Ease曲線、またはLinear(回転、移動、回転)
速度
ランプフレーム付きの台形、グローバルイージング、またはキーごとのイージング
出力
シーンのレートまたは固定レートで、任意の単位で出力するエンジニアリング用CSV。キーフレームのCSVまたはJSON。ベイク済みの車輪キー
ライセンス
GPL-3.0
入手する
Blender Extensions · GitHub

その他のツール