LeRobot+SmolVLA+MetaWorld(1)
第一阶段:会跑 跑通 LeRobot + 一个现成 dataset + 一个 policy
第二阶段:会看 看懂 dataset / obs / action / policy / eval
第三阶段:会改 改一个 observation 或 action,理解哪里会报错
第四阶段:会换 把 MetaWorld 或已有环境换成自己的 SO-ARM101 Env
第五阶段:会比较 知道 SmolVLA、ACT、Diffusion Policy、LLM-Agent 技能库的接口区别
读出:
Dataset
↓
Dataloader
↓
Batch
↓
Policy.forward()
↓
Loss
↓
Checkpoint
↓
Policy.select_action()
↓
Env / Robot.step()
↓
Episode result
1、跑通
器人学习时,一般会遇到这些东西:
机器人/仿真环境 -> 采集 observation -> 存成 dataset -> 训练 policy -> 加载 policy -> 输入 observation -> 输出 action -> 机器人执行 action -> 评估 success / reward
| 组成 | 作用 |
|---|---|
dataset |
存机器人数据,比如图像、状态、动作、任务语言 |
policy |
机器人策略模型,比如 ACT、Diffusion Policy、SmolVLA |
env |
仿真环境接口,比如 MetaWorld、LIBERO |
robot |
真机机器人接口,比如 SO-100、SO-101 等 |
eval |
评估 policy 在环境或机器人上的表现 |
train |
用数据训练 policy |
record |
采集机器人数据 |
replay |
回放数据或动作 |
env + policy + eval==MetaWorld 环境 + SmolVLA 模型 + LeRobot 评估流程
SmolVLA 本身主要是“模型 / policy”,不是一整套完整机器人系统,所以它需要 LeRobot 来补齐很多工程功能。
每一个 VLA 项目都必须自己解决一套 robot learning pipeline。
LeRobot 是其中一套通用 pipeline。
OpenVLA 有 OpenVLA pipeline。
OpenPI 有 OpenPI pipeline。
SmolVLA 借助 LeRobot pipeline。
MetaWorld:仿真任务环境
SmolVLA:VLA 模型 / policy
LeRobot:把环境和模型接起来的框架
即:
LeRobot 创建 MetaWorld 环境
↓
MetaWorld 给出 observation
↓
LeRobot 把 observation 送给 SmolVLA
↓
SmolVLA 输出 action
↓
LeRobot 把 action 送回 MetaWorld
↓
MetaWorld 执行动作并返回结果
LeRobot:Hugging Face 做的机器人学习框架。
克隆:git clone https://github.com/huggingface/lerobot.git
创建conda环境:conda create -y -n lerobot python=3.12
安装LeRobot本体:pip install -e .
1. 让 Python 能找到 lerobot
2. 安装 LeRobot 需要的依赖
3. 注册 lerobot-train、lerobot-record 等命令
验证是否安装成功:lerobot-info,输出信息
有什么?本体 /lerobot/src/lerobot
整体结构
src/lerobot/
├── scripts/ # 命令行入口:训练、采集、评估、遥操作等
├── configs/ # 配置系统
├── policies/ # 各种策略模型
├── datasets/ # 数据集读写、视频、统计
├── processor/ # 数据处理流水线
├── robots/ # 机器人本体抽象和具体机器人
├── teleoperators/ # 遥操作设备
├── motors/ # 电机驱动
├── cameras/ # 相机驱动
├── envs/ # 仿真环境 / benchmark 环境
├── rl/ # 强化学习相关
├── rewards/ # 奖励模型
├── rollout/ # 策略执行 / rollout
├── async_inference/ # 异步推理服务
├── optim/ # 优化器和学习率调度
├── transforms/ # 图像/数据变换
├── utils/ # 通用工具
├── common/ # 训练/控制共享工具
├── transport/ # gRPC 通信协议
├── jobs/ # 远程任务 / HF job
├── templates/ # 模型卡模板
└── types.py # 全局类型定义
SmolVLA:VLA Policy
Hugging Face 的轻量机器人 foundation model,输入多相机视角、当前 sensorimotor state 和自然语言指令,然后生成 action chunk。
安装依赖:进入/lerobot,激活conda环境,pip install -e ".[smolvla]"
验证:python - <<'PY'
from lerobot.policies.smolvla.modeling_smolvla import SmolVLAPolicy
from lerobot.policies.smolvla.configuration_smolvla import SmolVLAConfig
print("SmolVLA import ok")
print(SmolVLAPolicy)
print(SmolVLAConfig)
PY
安装Hugging Face Hub::pip install -U huggingface_hub
下载权重:python - <<'PY' from lerobot.policies.smolvla.modeling_smolvla import SmolVLAPolicy policy = SmolVLAPolicy.from_pretrained("lerobot/smolvla_base") print("loaded policy:", type(policy)) PY
下载MetaWorld 的 checkpoint:python - <<'PY' from lerobot.policies.smolvla.modeling_smolvla import SmolVLAPolicy policy = SmolVLAPolicy.from_pretrained("lerobot/smolvla_metaworld") print("loaded metaworld policy:", type(policy)) PY
MetaWorld:一个机械臂桌面操作仿真任务集
安装依赖:进入/lerobot,激活conda环境,pip install -e ".[metaworld]"
验证:find . -iname "*metaworld*"
跑最小eval:lerobot-eval \
--policy.path=lerobot/smolvla_metaworld \ #使用 MetaWorld 版本 SmolVLA policy
--env.type=metaworld \ #让 LeRobot 创建 MetaWorld 仿真环境
--env.task=assembly-v3 \ #选择 MetaWorld 里的 assembly-v3 单任务
--eval.batch_size=1 \ #一次只跑一个环境
--eval.n_episodes=1 #跑一个 episode
(可能会遇到问题:policy期待3路相机observation.images.camera1 observation.images.camera2 observation.images.camera3 observation.state,但实际MetaWorld只提供observation.image observation.state,使用--rename_map='{"source_key": "policy_key"}'进行桥接,如果 policy 期待更多相机,可以用 --policy.empty_cameras=N 添加空相机占位)
lerobot-eval \
--policy.path=lerobot/smolvla_metaworld \
--env.type=metaworld \
--env.task=assembly-v3 \
--eval.batch_size=1 \
--eval.n_episodes=1 \
--rename_map='{"observation.image": "observation.images.camera1"}' \
--policy.empty_cameras=2
如果运行成功可以看到:
Overall Aggregated Metrics:
{'avg_sum_reward': 973.9444728312349, ' #一个 episode 内累计 reward
avg_max_reward': 7.30171012878418, #episode 中达到过的最大单步 reward
'pc_success': 0.0, #成功率,0表示这一次没成功
'n_episodes': 1, ' #跑了几个 episode
eval_s': 6.379422426223755, #总评估耗时
'eval_ep_s': 6.379422664642334, #平均每个 episode 耗时
'video_paths': ['outputs/eval/2026-07-09/20-06-00_metaworld_smolvla/videos/assembly-v3_0/eval_episode_0.mp4'], 'predicted_video_paths': []} #评估视频保存路径
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)