LeRobot documentation
Meta-World
Meta-World
Meta-Worldは、連続制御ロボティクス操作におけるマルチタスクおよびメタ強化学習のためのオープンソースシミュレーションベンチマークです。日常用品と共通のテーブルトップSawyerアームを用いた50種類の多様な操作タスクをバンドルしており、アルゴリズムが多数の異なるタスクを学習し、新しいタスクに素早く一般化できるかをテストするための標準的なプレイグラウンドを提供します。
- 論文: Meta-World: マルチタスクおよびメタ強化学習のためのベンチマークと評価
- GitHub: Farama-Foundation/Metaworld
- プロジェクトウェブサイト: metaworld.farama.org

利用可能なタスク
Meta-Worldは、難易度グループに分類された50のタスクを提供しています。LeRobotでは、個々のタスク、難易度グループ、または完全なMT50スイートで評価できます。
| グループ | CLI名 | タスク | 説明 |
|---|---|---|---|
| かんたん | easy | 28 | 単純なダイナミクスと単一ステップの目標を持つタスク |
| 中程度 | medium | 11 | 複数ステップの推論を必要とするタスク |
| 難しい | hard | 6 | 複雑な接触と精密な操作を伴うタスク |
| 非常に難しい | very_hard | 5 | スイートの中で最も困難なタスク |
| MT50(すべて) | カンマ区切りリスト | 50 | 最も挑戦的なマルチタスク設定である全50タスク |
個々のタスク名を直接渡すこともできます(例: assembly-v3、dial-turn-v3)。
HF Hub に Meta-World MT50 用の LeRobot 対応データセット lerobot/metaworld_mt50 を提供しています。このデータセットは、固定されたオブジェクト/ゴール位置と one-hot タスクベクトルを用いた、全 50 タスクを含む MT50 評価用にフォーマットされています。
インストール
LeRobotのインストール手順に従った後:
pip install -e ".[metaworld]"If you encounter an `AssertionError: ['human', 'rgb_array', 'depth_array']` when running Meta-World environments, this is a mismatch between Meta-World and your Gymnasium version. Reinstall the Gymnasium version LeRobot supports (Meta-World `3.0.0` works with it):pip install "gymnasium>=1.1.1,<2.0.0"
評価
デフォルトの評価(推奨)
中程度の難易度の分割で評価します(カバレッジと計算コストのバランスが良好です):
lerobot-eval \
--policy.path="your-policy-id" \
--env.type=metaworld \
--env.task=medium \
--eval.batch_size=1 \
--eval.n_episodes=10単一タスク評価
特定のタスクで評価する:
lerobot-eval \
--policy.path="your-policy-id" \
--env.type=metaworld \
--env.task=assembly-v3 \
--eval.batch_size=1 \
--eval.n_episodes=10マルチタスク評価
複数のタスクまたは難易度グループにわたって評価します:
lerobot-eval \
--policy.path="your-policy-id" \
--env.type=metaworld \
--env.task=assembly-v3,dial-turn-v3,handle-press-side-v3 \
--eval.batch_size=1 \
--eval.n_episodes=10--env.taskは、明示的なタスクのリスト(カンマ区切り)または難易度グループ(例:easy、medium、hard、very_hard)を受け取ります。--eval.batch_sizeは、並列で実行される環境の数を制御します。--eval.n_episodesは、タスクごとに実行するエピソード数を設定します。
ポリシーの入力と出力
観察結果:
observation.image— 単一カメラの視点(corner2)、480x480 HWC uint8observation.state— 4次元のプロプライオセプティブ状態(エンドエフェクタの位置+グリッパー)
アクション:
Box(-1, 1, shape=(4,))における連続制御 — 3Dのエンドエフェクターのデルタ + 1Dのグリップ
推奨される評価エピソード
再現可能なベンチマークのために、タスクごとに10エピソードを使用してください。MT50スイート全体では、これにより合計500エピソードになります。汎化性能を重視する場合は、MT50全体で実行してください。MT50は意図的に難易度が高く、一部の狭いタスクよりも強みと弱みをより明確に示すためです。
トレーニング
トレーニングコマンの例
Meta-WorldタスクのサブセットでSmolVLAポリシーを学習します:
lerobot-train \
--policy.type=smolvla \
--policy.repo_id=${HF_USER}/metaworld-test \
--policy.load_vlm_weights=true \
--dataset.repo_id=lerobot/metaworld_mt50 \
--env.type=metaworld \
--env.task=assembly-v3,dial-turn-v3,handle-press-side-v3 \
--output_dir=./outputs/ \
--steps=100000 \
--batch_size=4 \
--eval.batch_size=1 \
--eval.n_episodes=1 \
--env_eval_freq=1000実践的なヒント
- one-hotタスク条件付けをマルチタスク学習(MT10/MT50の慣例)に使用し、ポリシーに明示的なタスクコンテキストを持たせます。
- 後処理やログ出力を作成する際は、データセットのタスク説明と
info["is_success"]キーを確認し、成功指標がベンチマークと整合するようしてください。 - 計算リソースの予算に合わせて、
batch_size、steps、env_eval_freqを調整してください。