ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

LeRobot 仿真训练流水线实战:从环境搭建到策略评估

LeRobot 仿真训练流水线实战:从环境搭建到策略评估 LeRobot 仿真训练流水线实战从环境搭建到策略评估【免费下载链接】lerobot LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot从真机踩坑说起为什么先上仿真上周你还为真机上第一次稳定抓起水杯而高兴这周把杯子挪了个位置策略立刻抓空。真机调试一轮的代价是硬件风险加一整天的时间而换个物体位置再试一百次这种事本该在虚拟世界里完成。LeRobot 的仿真训练流水线正是为此设计它把 LIBERO、Aloha、PushT 等 MuJoCo 仿真环境与真机接进同一套数据格式、同一套训练和评估命令。你在仿真里录的数据、调好的权重切到真机时几乎不用改代码。本文按顺序覆盖5 分钟搭好仿真环境、为一个 pick 任务录制数据、三种主流策略怎么选与训练、如何评估成功率最后讲权重如何迁到真实机械臂。LeRobot 仿真链路长什么样环境、数据、策略、评估整条链路可以压缩成五个环节三个内置仿真环境的差异一行速查环境动作维度控制频率适合任务Aloha / PushT / LIBERO14双臂/ 2平面推块/ 7单臂夹爪50 Hz / 10 Hz / 20 Hz双臂插入 / 低成本算法验证 / 抓取放置基准环境、策略、数据集在 LeRobot 里是三个独立模块环境只负责产出观测相机图像加本体状态策略把观测映射成动作数据集是两者之间的标准存储。数据集用的是 LeRobotDataset 格式——相机画面存成 MP4 视频状态与动作存成 Parquet 表一个 id 就能从 Hub 拉到完整数据。三者靠一份特征定义key 到维度的映射表对齐这也是后面所有配置参数的根源。本文聚焦中间三段数据录制、策略训练、仿真评估。真机的硬件装配、HIL-SERL 在线强化学习的算法细节不在范围内。5 分钟跑通仿真环境安装与验证系统要求不苛刻操作系统LinuxLIBERO 仅支持 LinuxmacOS 可跑 Aloha / PushT显存16 GB 以上 NVIDIA GPU 推荐ACT 类小模型 8 GB 能跑内存与磁盘16 GB RAM、50 GB 以上空闲环境管理miniforge 或 condaPython 3.12克隆、建环境、装依赖、验证一次走完git clone https://gitcode.com/GitHub_Trending/le/lerobot cd lerobot conda create -y -n lerobot python3.12 conda activate lerobot conda install ffmpeg -c conda-forge # 视频解码依赖macOS 改用 brew install ffmpeg pip install -e .[libero] # 按目标环境选 extras.[aloha] / .[pusht] / .[all] python -c from lerobot import envs; print(envs ready) # 最后一条即验证命令输出envs ready即代表核心库与仿真环境注册都可用环境搭建完成。extras 是按需安装的关键.[libero]只带 LIBERO 仿真所需的依赖.[all]会装齐所有策略与环境体积大、耗时长验证流水线阶段不必上。[!TIP] 无显示器的服务器上先执行export MUJOCO_GLegl再启动任何仿真命令。不设这个变量时 MuJoCo 会尝试连接本地显示器表现为窗口打不开或启动即崩溃——这是新手最常卡住的第一个问题。一条 pick 任务线数据录制、策略训练与仿真评估以让机器人完成一次 pick为主线三步走录数据、训策略、评成功率。第一步数据录制。两条路直接复用社区数据集lerobot/libero1600 多个 demo抓取类任务开箱即用或在 gym_hil 仿真里用游戏柄遥操作自己录。后者只需一份最简配置{ env: {type: gym_manipulator, name: gym_hil, task: PandaPickCubeGamepad-v0, fps: 10}, dataset: {repo_id: yourname/pick_sim, task: pick_cube, num_episodes_to_record: 20, push_to_hub: false}, mode: record }num_episodes_to_record设 20 够验证流程正式训练建议 100 起步moderecord声明本次运行目的避免误入训练分支。写好后执行python -m lerobot.rl.gym_manipulator --config_path env_config.json开始录制。第二步策略训练。lerobot-train \ --policy.typeact \ --dataset.repo_idlerobot/libero \ --output_diroutputs/train/pick_simpolicy.type决定模型结构act、diffusion、tdmpc 任选dataset.repo_id可填 Hub id 或本地数据集路径output_dir是 checkpoint 的输出位置。为什么先选 ACT它推理快、收敛快适合把全流程跑通稳定后再换扩散策略追精度。第三步仿真评估。lerobot-eval \ --policy.pathoutputs/train/pick_sim/checkpoint/100000/pretrained_model \ --env.typelibero \ --env.tasklibero_object \ --eval.n_episodes10env.task选任务套件n_episodes决定每个任务跑几轮固定种子与轮数成功率才具备跨策略可比性。三种策略怎么选看这张表策略推理速度数据量需求适用场景ACT动作分块 Transformer一次预测一小段动作快毫秒级中实时控制、真机部署首选Diffusion多步去噪生成动作序列慢中偏高多模态分布、精细抓取TDMPC少量演示加在线交互的模型预测控制中低状态空间小样本任务训练期盯三个指标就够loss整体下降、偶尔尖峰可接受持续飙升说明学习率过大评估成功率是核心目标看趋势不看单点动作范数突大或出现 NaN先查观测维度与特征 key 是否对齐评估提速与训练调优并行跑环境与常见现象对策数据量上来后瓶颈从训练转到评估耗时。并行评估靠两个参数eval.batch_size同时跑几个环境与env.max_parallel_tasks并行任务数再配合软重置跳过物理模型重建lerobot-eval \ --policy.pathoutputs/train/pick_sim/checkpoint/100000/pretrained_model \ --env.typelibero \ --env.tasklibero_object,libero_spatial \ --eval.batch_size3 \ --eval.n_episodes10 \ --env.max_parallel_tasks2 \ --env.init_statestrue \ --env.hard_resetfalse # 软重置跳过重建提速度复现社区公开数字时改回 true注意软重置与硬重置的结果可能有微小差异对比公开基准时用hard_resettrue。调优按现象 → 对策处理单轮评估太慢 → 开软重置、调大batch_size显存允许就加并行环境数训练吞吐低 → 加大batch_size多卡场景参考仓库的多 GPU 训练文档loss 尖峰 → 学习率降一个量级同时核对观测 key 与维度把每次提交自动跑 1000 步冒烟训练加 2 轮评估接进 CI 同样直接上面的两条命令包一层脚本即可这里不展开。sim-to-real从仿真权重到真机 rollout 的适配权重在仿真里跑得好不代表上真机就能用。sim-to-real 就是把仿真训练出的策略迁到物理机器人差异集中在四个维度维度仿真侧真机侧应对手段观测渲染图像加理想状态真实相机、带噪声编码器特征 key 与维度对齐录制时覆盖多种条件动力学MuJoCo 理想物理摩擦、振动、执行延迟多初始位置演示加增强做脱敏训练控制频率稳定的 20–50 Hz抖动、丢包rollout 时按固定频率取观测、发指令动作空间标准化 Box(-1, 1)关节限位与力矩上限核对机器人配置里的 joint_limits域随机化的思路就像给机器人做脱敏训练训练时把物体位置、光照都打乱策略才不挑剔初始条件。切换本身只改一条命令# 仿真里是 env.type真机上换成 robot 配置其余参数原样复用 lerobot-rollout \ --policy.pathoutputs/train/pick_sim/checkpoint/100000/pretrained_model \ --robot.typeso100 \ --robot.port/dev/ttyUSB0 \ --dataset.repo_idyourname/pick_sim # 关键加载训练时同款归一化统计量改了什么只把环境从仿真换成真机接口策略权重与特征定义完全复用dataset.repo_id指向训练数据集为策略提供归一化统计量。rollout 指策略在真实硬件上实时推理并执行的过程。[!IMPORTANT] 部署失败的头号原因不是权重而是观测特征定义不匹配数据集的 keyobservation.images.*、observation.state与真机产出不一致时归一化层会按错误的数字缩放表现为机械臂启动即乱动。rollout 前打印 policy 的input_features与机器人get_observation()的 key 逐一对齐。收尾你的仿真训练基线与延伸方向到这里你已经把 LeRobot 仿真训练的完整闭环跑通环境、数据、训练、评估四条命令加两份配置。 三条延伸路线HIL-SERL 在线强化学习让策略在人工干预下持续自我修正VLA 大模型把 Pi0 一类模型接入同一条流水线验证泛化长程任务从单步 pick 扩展到多步骤任务序列资源入口安装文档、LIBERO 基准指南、EnvHub 仿真环境文档。环境装好后先跑一遍libero_object的 10 轮基线评估——你得到的成功率就是后续所有对比的起点。【免费下载链接】lerobot LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表