LeRobot 机器人学习框架入门指南:3 步从仿真走到真机
2026/9/4 14:39:25 网站建设 项目流程

LeRobot 机器人学习框架入门指南:3 步从仿真走到真机

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

如果你打算用 PyTorch 做机器人学习,LeRobot 是一个值得放进工具箱的开源机器人学习框架。它把数据集、策略模型和硬件驱动打包在同一套接口里,让你不用为"算法一套代码、硬件另写一套代码"而头疼。本文带你走通安装、能力版图、实战训练和选型判断这几条主线。

换一台机器人,难道要重写一遍控制代码?

先聊聊你可能踩过的坑:手里有两三台不同品牌的机械臂,每台串口协议、关节命名都不一样;采集回来的数据一半是 bag 文件、一半是 CSV,训练时还要逐个写解析脚本;好不容易调好的模仿学习策略,换个平台就得重新对齐观测空间。这些重复劳动,才是真正拖慢你进度的地方。

LeRobot 的思路是把这三件事收进统一的抽象里:Robot类屏蔽硬件差异,LeRobotDataset统一数据格式,Policy类固定输入输出接口。你换设备时只改配置,不动训练代码;换数据集时只改 repo id,不动采样逻辑。对新手来说,这意味着你可以先在一个低成本机械臂上跑通全流程,再平滑迁移到自己的平台。

⚡ 5 分钟装好并验证 LeRobot

环境要求不高:Python 3.12 及以上,PyTorch 2.10 及以上;训练阶段建议有 CUDA GPU,纯 CPU 也能跑通数据加载和推理。系统上 Ubuntu 22.04、macOS 12+ 都可以。

官方推荐用 uv 管理依赖(也可以 conda/venv,见 docs/source/installation.mdx):

git clone https://gitcode.com/GitHub_Trending/le/lerobot cd lerobot uv sync --all-extras python -c "import lerobot; print(lerobot.__version__)"

装完后运行lerobot-info,它能打印当前环境、GPU 状态和可用硬件,是排障时的第一站。如果只想快速试用而不改源码,pip install lerobot也可以直接从 PyPI 安装。

🧩 能力版图:数据、算法策略、硬件三条线

数据线。LeRobotDataset V3 格式用 Parquet 存状态与动作、MP4 存图像,天然支持流式加载。删片段、按比例拆分、合并多个数据集都有现成 CLI 工具,入口在 src/lerobot/datasets/。

算法策略线。src/lerobot/policies/ 下实现了 ACT、Diffusion、VQ-BeT 等模仿学习策略,TDMPC、HIL-SERL 等强化学习策略(RL 训练循环在 src/lerobot/rl/),以及 Pi0、SmolVLA、GR00T N1.7 等视觉语言动作(VLA)模型,全部是纯 PyTorch 实现。

硬件线。src/lerobot/robots/ 内置了 SO-100、LeKiwi、Reachy2、OpenArm 等机型驱动;src/lerobot/motors/ 提供 Dynamixel、Feetech 等舵机总线封装;src/lerobot/cameras/ 覆盖 OpenCV、RealSense、ZMQ 视频源。

模块速查表:

目录负责什么你什么时候会打开它
src/lerobot/datasets/数据集读写、统计量、流式加载采完数据要检查、切分、合并时
src/lerobot/policies/各策略的模型与配置定义换算法、调网络结构超参时
src/lerobot/robots/机器人连接、观测读取、动作下发接入新硬件或排查通信问题时
src/lerobot/processor/观测归一化、动作反变换等流水线输入输出对不上、尺度异常时
src/lerobot/scripts/record/train/eval 等 CLI 入口日常命令行操作

🤖 以机械臂任务为例:采集 → 训练 → 评估走一遍

以常见的 SO-100 双臂/单臂操作任务为例(参考 examples/so100_to_so100_EE/record.py 这类现成脚本)。

第一步,采集数据。lerobot-record配上遥操作设备(键盘、手机或主臂都行),把演示存成标准格式。每段轨迹自动带上时间戳对齐的图像帧和关节状态,你不需要自己写落盘逻辑。

第二步,训练策略。训练一条命令就能起,配置全部走命令行参数,例如在 examples/training/train_policy.py 的基础上跑:

lerobot-train \ --policy.type=act \ --dataset.repo_id=<你的数据集repo_id>

想自己写训练循环也可以,官方示例把配置类、数据集统计量、delta 时间戳这些关键步骤都写清楚了。

第三步,部署评估。先在真机回放看手感,再用统一评估脚本跑定量指标:

lerobot-eval \ --policy.path=<checkpoint路径> \ --env.type=libero \ --eval.n_episodes=10

下面是该框架控制多种机器人硬件的实际演示效果:

算法怎么选不踩坑

选择策略时,先看你的任务类型和数据量,再看算力预算:

策略适用任务数据需求说明
ACT复杂多关节操作大量演示模仿学习主力,动作块式生成
Diffusion精细轨迹控制大量演示扩散模型,适合平滑长时程动作
TDMPC需要在线探索的任务交互数据基于模型 RL,可在线更新
HIL-SERL人类在环强化学习少量演示 + 交互演示与 RL 混合,收敛更稳
Pi0 / SmolVLA跨任务泛化、VLA大规模多模态数据视觉语言动作模型,需较强 GPU

硬件匹配上给三条经验:

  • 机械臂高频控制:优先 ACT 或 Pi0 系列这类低延迟策略,推理耗时直接影响任务成功率。
  • 移动机器人/导航:数据量够大时上 Diffusion 或 VLA 类,感知与决策一体。
  • 探索性任务:环境交互成本低才选 TDMPC 这类 RL 路线,纯离线数据喂不动。

🛠 高频问题 FAQ

依赖冲突装不上怎么办?

回到干净环境,用uv sync --all-extras重装;若 WSL 用户报 evdev 相关错误,按安装文档单独装一下 evdev。

机器人连不上、串口找不到?

先运行 src/lerobot/scripts/lerobot_find_port.py 列出可用串口,再用舵机配置脚本重连;线缆和波特率是两个最高频的元凶。

训练很慢或显存不够?

减小 batch size、缩短观测窗口(delta 时间戳里的帧数),或换参数量更小的策略;docs/source/hardware_guide.mdx 里列了各策略的 GPU 需求参考。

推理时机器人动作抖动?

检查 src/lerobot/processor/ 里的归一化统计量是否和训练时一致,再看遥操作回放的帧率是否与录制时一致。

📚 学完本文之后去哪?

  • 安装与硬件接入细节:docs/source/installation.mdx
  • 可运行示例:examples/ 目录,覆盖数据集、遥操作、训练各条线
  • 正确性参考:tests/ 下的单测,看核心 API 的标准用法
  • 自写策略指南:docs/source/bring_your_own_policies.mdx
  • 贡献流程与代码规范:CONTRIBUTING.md
  • 各硬件与策略的专题文档:docs/source/ 按机型和算法分篇

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

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

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

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

立即咨询