メインコンテンツへ移動
AIチュートリアル

SuperMimicでヒューマノイド動作トラッカーを学習・再生する

このチュートリアルでは、mjlab_researchと併用したSuperMimicのインストール、座標表現の選択、指定GPUでのワールドモデルとポリシーの学習、Weights & Biasesのパスを使った学習済み実行の再生方法を説明します。

SuperMimicでヒューマノイド動作トラッカーを学習・再生する

SuperMimicとは?

SuperMimicは、単一の微分可能なワールドモデルを使って、ヒューマノイドの全身動作トラッカーを学習するための研究プロジェクトです。mjlab上に構築されており、2種類の座標表現に対応した学習タスクを提供します。

プロジェクトの追加情報は、SuperMimicプロジェクトページおよび研究論文で確認できます。

主な機能

  • ヒューマノイドの全身トラッキング:ヒューマノイドの動作トラッキング用ポリシーを学習します。
  • 微分可能なワールドモデル:ポリシーとともに、1つの微分可能なワールドモデルを使って学習します。
  • 2種類のタスク表現:G1向けに、一般化座標タスクと最大座標タスクをサポートします。
  • 学習・再生スクリプト:学習の開始と学習済みモデルの再生に、それぞれ別のコマンドを使用します。
  • GPU選択:CUDA_VISIBLE_DEVICESを使って、特定のGPUに学習を割り当てられます。

SuperMimicをインストールする

1. uvをインストールする

SuperMimicはuvを使ってスクリプトを実行します。プロジェクトのREADMEに記載されているコマンドでインストールします。

curl -LsSf https://astral.sh/uv/install.sh | sh

2. ワークスペースを作成する

SuperMimicとmjlab_researchのリポジトリは、兄弟ディレクトリとしてクローンする必要があります。共有ワークスペースを作成して移動し、両方のリポジトリをクローンします。

mkdir supermimic_ws && cd supermimic_ws
git clone git@github.com:HybridRobotics/supermimic.git
git clone git@github.com:HybridRobotics/mjlab_research.git
cd supermimic

作成される構成では、supermimicとmjlab_researchが同じ階層に配置されます。以降のコマンドはsupermimicディレクトリ内で実行してください。

学習タスクを選択する

SuperMimicでは、2つのタスクIDを利用できます。

  • SuperMimic-GenCoord-G1は一般化座標表現を使用します。
  • SuperMimic-MaxCoord-G1は最大座標表現を使用します。

学習コマンドと再生コマンドの両方で、正確なタスクIDを使用してください。実行したい実験に合う表現を選択します。

ワールドモデルとポリシーを学習する

学習スクリプトは、タスクIDと実行内容を示す名前を受け取ります。次のテンプレートを使うと、指定したGPUで起動できます。

CUDA_VISIBLE_DEVICES=<GPU_ID> uv run src/supermimic/scripts/train.py \
  <TASK_ID> --runner.run_name <description>

<GPU_ID>をGPUインデックスに、<TASK_ID>を対応するタスクIDのいずれかに、<description>を実行内容が分かる名前に置き換えてください。

たとえば、次のコマンドはGPU 0を選択し、一般化座標タスクを開始します。

CUDA_VISIBLE_DEVICES=0 uv run src/supermimic/scripts/train.py \
  SuperMimic-GenCoord-G1 --runner.run_name g1_generalized_coordinates

代わりに最大座標表現で学習するには、タスクIDを変更します。

CUDA_VISIBLE_DEVICES=0 uv run src/supermimic/scripts/train.py \
  SuperMimic-MaxCoord-G1 --runner.run_name g1_maximal_coordinates

学習済みモデルを再生する

学習済みモデルの元のタスクIDとWeights & Biasesの実行パスを指定して、再生スクリプトを使用します。

uv run src/supermimic/scripts/play.py \
  <TASK_ID> --wandb-path <RUN_PATH>

一般化座標での実行では、コマンドは次の形式になります。

uv run src/supermimic/scripts/play.py \
  SuperMimic-GenCoord-G1 --wandb-path <RUN_PATH>

<RUN_PATH>を該当する実行パスに置き換えてください。再生時のタスクIDは、学習時に使用した座標表現と一致させます。

高度なワークフローのヒント

リポジトリを兄弟ディレクトリとして配置する

セットアップ手順で示したワークスペース構成を維持してください。mjlab_researchをsupermimicリポジトリ内に配置したり、その逆にしたりしないでください。

実行名を分かりやすくする

--runner.run_nameの値には、実験を明確に識別できる名前を指定します。名前に座標表現を含めると、一般化座標と最大座標の実行を区別しやすくなります。

GPUを明示的に選択する

複数GPUのマシンでは、学習コマンドの前にCUDA_VISIBLE_DEVICESを設定して、使用するGPUを選択します。たとえば、CUDA_VISIBLE_DEVICES=1とすると、プロセスからGPU 1を利用できるようになります。

再生時にタスクIDを一致させる

モデルを再生するときは、学習に使用したものと同じ座標表現のタスクIDを指定します。これにより、再生コマンドが元の実験と一致します。

プロジェクトのクレジットとライセンス

SuperMimicには、ControlVAE、robotic_world_model、DreamerV3から着想を得たコードが含まれています。これらのプロジェクトは、それぞれBSD-3-Clause、Apache-2.0、MITライセンスを使用しています。

SuperMimicはApache License 2.0の下で公開されています。Copyright 2026 The SuperMimic Authors.

まとめ

SuperMimicは、微分可能なワールドモデルを使って、ヒューマノイドの全身動作トラッカーを学習・再生するための、集中したワークフローを提供します。uvをインストールして必要な2つの兄弟リポジトリをクローンした後、座標表現を選択し、適切なGPUで学習を開始して、生成されたWeights & Biasesの実行パスを再生に使用します。