LeRobot 文件
Meta-World
立即開始
教學課程
機器人模仿學習使用自備策略 (Bring Your Own Policies)使用自備硬體 (Bring Your Own Hardware)以增強學習訓練機器人在模擬環境中訓練增強學習多 GPU 訓練人機協作 (Human-in-the-Loop) 資料收集使用 PEFT(例如 LoRA)進行訓練使用 Rename Map 與空白相機
資料集 (Datasets)
策略
獎勵模型
推論
模擬
基準測試 (Benchmarks)
機器人處理器
機器人
遙控操作員
感測器
支援的硬體
資源
關於
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
Meta-World
Meta-World 是一個用於連續控制機器人操作中多任務與元強化學習(Meta Reinforcement Learning)的開源模擬基準測試。它整合了 50 種使用日常物品和通用桌面 Sawyer 機械手臂的多元操作任務,提供了一個標準化的遊樂場,用以測試演算法是否能學習多種不同任務並快速推廣至新任務。
- 論文: Meta-World: A Benchmark and Evaluation for Multi-Task and Meta Reinforcement Learning
- GitHub: Farama-Foundation/Metaworld
- 專案網站: metaworld.farama.org

可用任務
Meta-World 提供了按難度分組的 50 個任務。在 LeRobot 中,您可以針對單一任務、難度分組或完整的 MT50 套件進行評估。
| 群組 | CLI 名稱 | 任務 (Tasks) | 說明 |
|---|---|---|---|
| 簡單 (Easy) | easy | 28 | 具備簡單動態與單步驟目標的任務 |
| 中等 | medium | 11 | 需要多步驟推理的任務 |
| 困難 (Hard) | hard | 6 | 具有複雜接觸與精確操作的任務 |
| 非常困難 (Very Hard) | very_hard | 5 | 該套件中最具挑戰性的任務 |
| MT50 (全部) | 以逗號分隔的列表 | 50 | 全部 50 個任務 — 最具挑戰性的多任務環境 |
您也可以直接傳入單一任務名稱(例如:assembly-v3, dial-turn-v3)。
我們在 HF Hub 上提供了適用於 LeRobot 的 Meta-World MT50 資料集: lerobot/metaworld_mt50。此資料集已針對 MT50 評估進行格式化,該評估使用所有 50 個任務,並具有固定的物體/目標位置以及用於一致性的一熱編碼(one-hot)任務向量。
安裝
在遵循 LeRobot 安裝說明後
pip install -e ".[metaworld]"如果您在執行 Meta-World 環境時遇到 `AssertionError: ['human', 'rgb_array', 'depth_array']`,這是因為 Meta-World 與您的 Gymnasium 版本不匹配。請透過以下方式修正:pip install "gymnasium==1.1.0"
評估
預設評估(推薦)
針對中等難度(medium)分組進行評估(在涵蓋範圍與運算成本之間取得良好的平衡)
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設定每個任務要執行的回合數。
策略輸入與輸出
觀測值 (Observations)
observation.image— 單一相機視角(corner2),480x480 HWC uint8observation.state— 4 維本體感覺狀態(末端執行器位置 + 夾爪)
動作 (Actions)
- 連續控制在
Box(-1, 1, shape=(4,))— 3D 末端執行器增量 + 1D 夾爪
推薦評估回合數
為了基準測試的可重現性,請使用每個任務 10 個回合。對於完整的 MT50 套件,這總共會產生 500 個回合。如果您在乎泛化能力,請在完整的 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 \
--eval_freq=1000實用建議
- 使用一熱編碼(one-hot)任務條件化進行多任務訓練(MT10/MT50 約定),以便策略具備明確的任務上下文。
- 在編寫後處理或日誌記錄時,請檢查資料集的任務描述以及
info["is_success"]鍵,以確保您的成功指標與基準測試一致。 - 根據您的運算預算調整
batch_size、steps和eval_freq。