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把一批低成本机械臂带回实验室开始遥操作采集数据时两个问题会立刻撞上来每支臂的控制 API 各不相同数据格式又由各个团队自行定义模型和数据集在人与人之间无法复用。LeRobot 作为 Hugging Face 开源的端到端机器人学习框架用 PyTorch 正面解决这类硬件碎片化 数据碎片化问题它把从 SO100 机械臂到 Unitree G1 人形在内的 13 种以上硬件抽象到统一的 Robot 接口之下定义了标准数据集格式Parquet 状态动作数据 同步 MP4 视频并开源了一批即训即用的模仿学习、强化学习与视觉-语言-动作VLA策略。适用边界先说清楚如果你的场景是低成本臂上的模仿学习采集与训练、在公开数据集上微调部署 VLA 策略、或需要以统一格式对外分享数据LeRobot 能覆盖采集、训练、评估、上机全链路。反过来若你的需求是伺服级硬实时控制回路、工业安全认证或团队已有成熟数据管线只想借用模型它的 Python 层抽象和全套工具就显得过重——后者直接拿它的策略模块即可不必引入全仓库。 能力全景它到底能做什么能力面可以拆成五个维度每个维度对应实际工作流中的一环硬件控制层统一的Robot抽象类内置 SO100、LeKiwi、Koch、HopeJR、EarthRover、Reachy2、Unitree G1 等 13 种以上设备遥操作端手柄、键盘、手机走同一套配置驱动第三方硬件以lerobot_robot_*前缀的插件包注册后被自动发现。典型场景改一个配置文件就连上从臂做遥操作。数据集LeRobotDataset 格式分块 Parquet 与 MP4 同步存放流式读取并自动完成视频解码可托管在 HF Hub 共享配套工具链支持按 episode 删除、切分、合并与特征增删。典型场景用lerobot-dataset-viz回放一条轨迹检查数据质量。策略库覆盖模仿学习ACT、Diffusion、VQ-BeT、Multitask DiT、强化学习HIL-SERL、TDMPC、VLAPi0、Pi0.5、GR00T N1.7、SmolVLA、XVLA、EVO1 等以及世界模型与奖励模型。典型场景在自己采集的数据上微调一个开源 VLA。处理器流水线把重命名、归一化、设备转移、分词等数据预处理从策略中解耦作为声明式 pipeline 随模型 checkpoint 一起保存与加载。典型场景训练与上机推理走同一条数据通路行为不漂移。CLI 工具链lerobot-calibrate、lerobot-teleoperate、lerobot-record、lerobot-train、lerobot-eval、lerobot-rollout每个环节一个独立命令入口。典型场景一条 shell 命令完成从标定到上机的任意环节。最小可运行路径以下路径约 30 分钟可以在公开数据集上训出一个策略以带 NVIDIA GPU 的 Linux 为例。第 1 步搭环境约 5 分钟。要求 Python ≥ 3.12基础安装刻意保持轻量依赖按工作流以 extras 追加git clone https://gitcode.com/GitHub_Trending/le/lerobot cd lerobot python -m venv .venv source .venv/bin/activate pip install -e .[training] # 含数据集读取与训练依赖第 2 步验证约 1 分钟。运行lerobot-info检查 torch 版本与视频解码后端。卡点Linux x86 上缺系统 ffmpeg 会解码报错需conda install ffmpeg -c conda-forge或apt install ffmpeg。第 3 步跑一次小规模训练约 15~20 分钟含数 GB 数据集下载lerobot-train \ --policy.typeact \ --dataset.repo_idlerobot/aloha_mobile_cabinet \ --steps100看到 loss 持续输出、outputs/train/下出现 checkpoint即链路打通。第 4 步仿真验证lerobot-eval --policy.path本地checkpoint --env.typelibero --env.tasklibero_object --eval.n_episodes10看成功率。第 5 步切换真机同一 checkpoint 交给lerobot-rollout参数见下节。跨平台差异集中在视频解码后端平台解码后端备注Ubuntu x86torchcodec ffmpegapt 或 conda 安装 ffmpegmacOS Apple Silicontorchcodec ffmpegbrew install ffmpegmacOS Intel自动回退 pyav无需安装 ffmpegLinux ARMJetson自动回退 pyav无 GPU 加速解码可参考 docker/Dockerfile.jetsonWSL同宿主发行版另需 evdevlibevdev-dev pip install evdev核心机制拆解机制一LeRobotDataset——两类数据同步存放。问题在于机器人数据天然双模态高维视频流与低维状态动作分开存放极易版本错位。方案是把 MP4 与 Parquet 放在同一仓库中用元数据 json 描述 episode 边界与帧同步读取端自动处理视频解码。效果是加载一个数据集只需一行代码且数据编辑工具链都能按 episode 粒度操作from lerobot.datasets.lerobot_dataset import LeRobotDataset ds LeRobotDataset(lerobot/aloha_mobile_cabinet) # 公开数据集 frame ds[0] # 视频按需解码 print(frame[action].shape)机制二统一 Robot 接口。问题是策略绑死在某台硬件上换臂就要重写代码。方案是只有connect / get_observation / send_action三个方法的抽象类硬件差异全部藏进配置。效果是同一套采集、训练、推理代码可以在 SO100 与 G1 之间切换也能先在仿真里验证逻辑再上真机from lerobot.robots.myrobot import MyRobot # 换成实际硬件类 robot MyRobot(config...) robot.connect() obs robot.get_observation() # 图像 关节状态 robot.send_action(policy.select_action(obs))机制三处理器流水线。问题在于图像预处理、归一化、设备转移散落在策略 forward 里换模型就得重写数据通路。方案是把 pre/post 两条声明式流水线挂到策略上配置与统计量随 checkpoint 一起存取pre, post make_default_pre_post_processors(config, dataset_stats) batch pre(batch) # 重命名 → 归一化 → 设备转移 action policy.select_action(batch) robot_action post(action) # 反归一化 → 动作空间转换训练与 rollout 不漂移的原因正在于此两端走的是同一条流水线。进阶工作流数据采集。lerobot-record的核心参数是 robot/teleop 配置、--dataset.repo_id、--dataset.num_episodes、--dataset.single_task。两个可落地的技巧加--dataset.streaming_encodingtrue边采边编码避免录制结束时 CPU 与磁盘压力尖峰录制过程中按→保存当前 episode、←重采当前 episode、ESC结束并上传。需要深度流时把 intelrealsense 相机配成use_depth: true深度会被量化为 12-bit 码后作为独立视频存储。训练调优。基础组合是--policy.type --dataset.repo_id --steps。两个高频开关--config_path checkpoint --resumetrue从断点恢复checkpoint 可以是本地路径也可以是 Hub 仓库 id本地没有 GPU 时加--job.targeta10g-small训练改到 Hugging Face Jobs 上跑数据集自动上传、训完模型推回。部署验证。真机推理用lerobot-rollout --strategy.typebase --policy.path路径 --task... --duration60其中相机配置必须与采集时完全一致名称、分辨率、fps否则流水线的键对不齐。仿真评估用lerobot-eval支持 LIBERO、MetaWorld 等基准适合在不同 checkpoint 之间快速对比成功率。任务场景推荐策略特点算力量级单臂操作、数百条 episode 以内ACT训练快、稳定适合实时单卡数小时动作分布多峰、要求平滑Diffusion去噪生成平滑但推理偏慢单卡、步数更多语言指令 开放词表物体SmolVLA / Pi0.5微调预训练 VLA泛化好A100 级别⚠️ 踩坑与调优速查串口找不到或权限被拒现象是robot.connect()抛PermissionError: [Errno 13]。原因是用户对 /dev/tty* 无访问权限。解法先跑lerobot-find-port确认真实端口会提示拔掉 USB 辅助定位再为对应 vendor id 添加 udev 规则后重新插拔。视频解码报 torchcodec/ffmpeg 缺失现象是加载数据集即抛异常。原因是该平台 torchcodec 需要链接系统 ffmpeg。解法conda install ffmpeg -c conda-forge或 apt/brew 安装macOS Intel 与 Linux ARM 会自动回退 pyav无需安装。臂体漂移或抖动现象是遥操作时从臂反向或零点偏移。原因是运行时的--robot.id与标定时不一致校准文件没被找到。解法所有命令保持同一 id且标定时先让关节大致处于中位。训练 loss 尖峰或不收敛常见原因是数据集统计量与策略要求的归一化模式不匹配部分策略要求分位数统计。解法先重算统计量或切换归一化模式再检查录制时任务标签的分布是否合理。CUDA OOM现象是训练中途CUDA out of memory。解法调小--batch_size或降低相机分辨率Apple Silicon 上可改用--policy.devicemps。生态延伸与深入路径官方文档在 docs/source/其中 installation.mdx 与 cheat-sheet.mdx 是最常打开的两篇关键源码目录为src/lerobot/policies/策略实现、src/lerobot/robots/硬件抽象、src/lerobot/processor/数据处理流水线。社区HF Hub 上的 lerobot 组织沉淀了数千个公开数据集与预训练 checkpointDiscord 服务器是主要讨论渠道。按兴趣分叉的学习路线偏算法从策略目录读起重点看 ACT 与 SmolVLA 如何接入训练循环再看处理器流水线如何把数据通路模块化偏工程读硬件抽象与 CLI 入口的实现理解标定、录制、rollout 各命令的串联方式偏数据则看 datasets 模块与lerobot-dataset-viz的回放机制。LeRobot 当前处于 0.6.x 版本团队已发表 ICLR 2026 论文但代码整体仍标注 AlphaCLI 参数面在版本之间仍在变动钉住某个 release 时应对照对应版本文档。值得持续跟进的是 SoTA VLA 微调支持的不断落地以及按命名前缀自动注册的社区插件生态——它正在把越来越多非原生支持的硬件带入同一套工具链。【免费下载链接】lerobot LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表