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 | sh2. ワークスペースを作成する
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の実行パスを再生に使用します。
