LeRobot documentation
Meta-World
快速入门
教程
用于机器人的模仿学习LeLab - Lerobot GUI添加策略自带硬件使用 RL 训练机器人在模拟环境中训练 RL多 GPU 训练人工参与的数据收集使用 PEFT(例如 LoRA)进行训练使用重命名映射和空相机
计算与硬件
数据集
策略
ACTSmolVLAπ₀ (Pi0)π₀-FAST (Pi0Fast)π₀.₅ (Pi05)FineART-VLAMolmoAct2VLA-JEPALaWAMEO-1LingBot-VALingBot-VLA 2.0OpenGalaxea G0.5FastWAMLong-WAMFLUX 3 Action (flux3)EVO1NVIDIA GR00TX-VLA多任务 DiT 策略WALL-OSSWall-OSS-0.5DM05Cosmos3
奖励模型
推理
模拟
基准测试
添加基准测试LIBEROLIBERO-plusMeta-WorldRoboTwin 2.0RoboCasa365RoboCerebraNVIDIA RoboLabRoboMMENVIDIA IsaacLab Arena 环境VLABench
机器人处理器
机器人
SO-101SO-100Koch v1.1LeKiwiHope JrReachy 2Unitree G1Earth Rover MiniOMXOpenArmreBot B601YAM第三方机器人 & 遥操作器
远程操作员
传感器
资源
关于
API 参考
You are viewing main version, which requires installation from source. If you'd like
regular pip install, checkout the latest stable version (v0.7.0).
Meta-World
The commands below run the simulator locally. To keep its dependencies away from your policy's, serve it instead with `lerobot-env-server --config_path=docker/sim/configs/metaworld.yaml --sim.task=--docker=true`, where ` ` is the command's `--env.task`, and add `--env.server.endpoint=tcp/127.0.0.1:7448` to the command. A server runs the task it was started with (see [Simulation: local or served](./simulation)).
Meta-World 是一个开源的模拟基准,用于连续控制机器人操作中的多任务和元强化学习。它整合了 50 个使用日常物品和通用桌面 Sawyer 机械臂的多样化操作任务,提供了一个标准化的测试平台,用于评估算法能否学习多种不同的任务,并快速泛化到新任务上。

可用任务
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 上提供了一个适用于 LeRobot 的 Meta-World MT50 数据集:lerobot/metaworld_mt50。该数据集针对 MT50 评估进行了格式化,该评估使用全部 50 个任务,并采用固定的物体/目标位置以及 one-hot 任务向量以确保一致性。
安装
按照 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 上运行——它被设计得具有挑战性,比少数几个狭窄的任务更能揭示优势/劣势。
训练
示例训练命令
在 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以匹配您的计算预算。