LeRobot 仿真环境搭建指南:从 50 条遥操作数据到真机部署
2026/9/4 22:56:25 网站建设 项目流程

LeRobot 仿真环境搭建指南:从 50 条遥操作数据到真机部署

【免费下载链接】lerobot🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot

你有一台 ALOHA 双臂机械臂,想让它学会抓取杯子,但没有几百小时人工遥操作数据,也不想让实验台先跑坏一遍硬件。这时机器人仿真训练的价值就体现出来了:在 LeRobot 仿真环境里,遥操作、策略训练、评估回放全部可以在不碰硬件的前提下完成,数据、超参、评估脚本都能低成本反复试错,策略收敛后再上真机,大幅压缩部署周期。

一、流水线全景

整条仿真训练主线只有一条:

选环境时主要看四点:

环境物理引擎自由度(动作空间)典型任务单帧耗时
gym-alohaMuJoCo14 维(双臂各 6 关节 + 2 夹爪)双臂 pick / place、插入~50ms,勉强够实时
gym-pushtPyMunk(2D 刚体)2 维(平面推力)平面推块~1ms,适合高频迭代
gym-xarmPyBullet(第三方 gym 包)7 维(6 关节 + 夹爪)单臂抓取、运动学验证20~50ms

gym-aloha 和 gym-pusht 是 LeRobot 的一等公民,通过 extras 直接安装;gym-xarm 属于第三方环境,需要单独安装对应的 gym 包后才能使用。

二、安装验证一条命令 🔧

硬件底线:

  • Ubuntu 20.04+ / macOS 12+
  • 有 NVIDIA GPU 更好,CPU 也能跑 pusht 级别的轻量环境
  • 16GB 内存起步,磁盘留 50GB

克隆仓库并安装:

git clone https://gitcode.com/GitHub_Trending/le/lerobot && cd lerobot conda create -y -n lerobot python=3.10 && conda activate lerobot pip install -e ".[aloha]"

验证只跑一条命令:

python -c "from lerobot import envs; print(envs.list_available())"

预期输出是当前已注册环境的列表,例如['gym_aloha/AlohaInsertion-v0', ...],说明环境层已就绪。若envs.list_available()返回空列表,优先检查 conda 环境是否处于激活状态,以及pip install -e ".[aloha]"是否真正执行成功。

[!TIP] macOS 用户若用 MuJoCo 相关环境,建议用mjpython代替python运行脚本,以保证物理引擎加载路径正确。

三、数据从哪来:录制与质量门槛

录制配置里真正决定数据质量的参数只有三个。env.type决定动作维度和观测结构,aloha 对应 14 维动作,pusht 对应 2 维;num_episodes决定数据量,先录 50 条成功 episode 是视觉策略的常规起步量,pusht 这类简单任务 100 条就够;fps必须与环境控制频率对齐——aloha 环境默认 50fps、pusht 默认 10fps,录制频率与环境不一致会导致动作时序错位。

录制入口是lerobot-record命令,指定--env.type--teleop.type=gamepad--dataset.repo_id三个参数即可开始。手柄映射如下:

按钮功能
左摇杆末端 XY 平移
右摇杆末端 Z 向 / 姿态调整
RB使能开关,按住才允许动作生效
A / B夹爪开 / 合
十字键上 / 下保存当前 episode / 丢弃重录

多少条算够:TDMPC 这类基于模型的方法几十条就能出基线,ACT 和 Diffusion 建议 50 条成功轨迹起步,再多收益递减。哪些 episode 该丢:中途反复修正、轨迹剧烈抖动、目标未达成的直接重录。

[!IMPORTANT] 策略会忠实拟合你录下的全部动作,包括抖动和犹豫。宁缺毋滥,50 条干净的轨迹比 200 条含噪声的更有用。

四、策略选型对比表 ⚡

策略架构核心推理延迟量级数据量需求典型成功率区间一句话适用场景
Diffusion Policy去噪扩散过程生成动作序列~50ms/步,适合离线评估中(50+)75~90%多模态动作分布、轨迹平滑度要求高
ACTTransformer 自注意力 + 动作解码头~10ms/步,勉强满足实时控制中(50+)80~90%实时性优先的通用基线
TDMPC隐式动力学模型 + MPC 在线规划单步需采样规划,百 ms 量级,仅离线评估低(10~50)70~85%(数据少时)数据稀缺、奖励函数可定义

以 ACT 为例的训练命令:

lerobot-train \ --dataset.repo_id=username/pusht_dataset \ --env.type=pusht \ --policy.type=act \ --batch_size=32 \ --steps=100000 \ --output_dir=outputs/train/act_pusht \ --wandb.enable=true

Diffusion 的切换点只是--policy.type=diffusion,训练步数通常调到 20 万级;TDMPC 则不需要演示数据量硬堆,靠在线规划弥补泛化不足。

五、怎么判断训练健康:评估与调优 📊

盯三个指标就够。

  • policy_loss:正常是前几千步从高位单调下降到平台期。若震荡或 NaN,先查学习率和观测归一化的统计量是否正确。
  • action_mse:应逐步逼近 0,反映对专家动作的拟合程度。长期卡在高位,优先核对观测与动作的维度映射是否对齐、时序是否错位。
  • 成功率:前几条 episode 波动大属正常,20 条之后应单调爬升并逐渐收敛。跑lerobot-eval做 20 条 episode 基准,成功率低于 40% 时通常意味着配置错误,而不是策略不行。

调优只有三个方向:

  • 学习率:从 1e-4 起步,损失不稳就降一个量级。
  • 数据增强:随机裁剪与颜色抖动,专治过拟合。
  • 推理加速:扩散策略减采样步数,Transformer 策略换小 batch 做在线微调。

六、仿真到现实部署

从仿真到真机,差异集中在四类,应对思路各不相同:

差异来源应对思路LeRobot 中的配置位置
动力学参数不一致给观测和初始状态加随机化(相当于给仿真环境加滤镜)数据增广与采样器(src/lerobot/datasets/)
渲染图像与真实相机观感差距图像级增广:亮度、颜色、模糊processor 管线(src/lerobot/processor/)
传感器噪声训练时注入高斯噪声奖励分类器配置(src/lerobot/configs/rewards.py)
执行器延迟实时重规划(RTC),按延迟平滑输出RTC 处理器(src/lerobot/processor/)

下一步:

  • lerobot-eval跑通 20 条 episode 的端到端评估,拿到成功率基线。
  • 同一数据集换 ACT 重训,对比两种策略的成功率差异。
  • 读一遍 src/lerobot/policies/ 源码,确认你的观测与动作空间映射无误。

延伸阅读

  • 环境配置默认值(fps、episode_length、obs_type):src/lerobot/envs/configs.py
  • 策略实现与配置:src/lerobot/policies/
  • 官方文档:docs/
  • 录制脚本:src/lerobot/scripts/lerobot_record.py
  • 手柄遥操作:src/lerobot/teleoperators/gamepad/

【免费下载链接】lerobot🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询