LeRobot 机器人学习框架上手指南:5 步装好环境、录数据、训练并部署你的第一个策略
【免费下载链接】lerobot🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot
LeRobot 是一个基于 PyTorch 的开源机器人学习框架,把"采集数据 → 训练策略 → 部署到真机"整条链路封装成了命令行工具。你不需要自己写硬件驱动,也不用操心数据集格式,它适合想进入机器人学习的开发者、动手派学生,以及想让自己的机械臂"学会干活"的硬件爱好者。
它到底是干嘛的:给机器人学习配一套标准零件
做机器人学习最头疼的不是算法,而是"东拼西凑":机器人 A 的驱动和机器人 B 的数据格式不兼容,别人发的数据集你根本读不了。LeRobot 的思路是把这条链路拆成几个标准件——硬件接口、数据集格式、策略算法、预处理流水线——每个都能单独替换。
它内置了三样东西:
- 统一的硬件接口:从几十美元的 SO-100 桌面臂到人形机器人 Unitree G1,都通过同一个
Robot类驱动,你可以把它理解成给硬件配的"万能插座" - 统一的数据集格式(LeRobotDataset):画面存成 MP4 视频,关节状态和动作存成 Parquet 表格,两者按帧对齐,读数据时自动解码
- 一批可直接训练的算法(策略):ACT、Diffusion 这类模仿学习算法,Pi0、GR00T 这类视觉语言动作(VLA,简单说就是"看图 + 读指令 → 出动作"的大模型)路线,以及 TDMPC 等强化学习算法
核心代码都在src/lerobot/下:算法在 src/lerobot/policies/,硬件驱动在 src/lerobot/robots/,数据工具在 src/lerobot/datasets/。
第一步:安装 LeRobot 并验证环境
环境要求比大多数教程写的要"新":当前版本需要Python 3.12+,训练带 CUDA 的 GPU 时建议配 RTX 30 系以上显卡(具体每个策略的显存需求可查 docs/source/hardware_guide.mdx)。
两种装法,任选其一:
# 装法一:直接装发布版 pip install lerobot lerobot-info # 装法二:从源码装(适合要改代码的你) git clone https://gitcode.com/GitHub_Trending/le/lerobot cd lerobot pip install -e . lerobot-infolerobot-info会打印安装信息,能正常跑通就说明环境没问题。装完你会多出一整套lerobot-*命令:lerobot-record、lerobot-train、lerobot-eval……后面五步全靠它们,不用自己写脚本。
第二步:接上真机,先让人来遥控
训练之前,先确认你能控制机器人。以 SO-100 为例,流程是:查串口 → 校准电机 → 遥操作。
# 找到机器人连在哪个串口 lerobot-find-port # 校准电机限位(首次使用必做) lerobot-calibrate # 用另一台 SO 系列"主臂"当手柄,带动从臂运动 lerobot-teleoperate --robot.type=so100 --teleop.type=so100在代码层面,所有机器人都是同一套 API:connect()连接、get_observation()读当前状态、send_action()下发指令。你拿到的观测就是一组关节角 + 相机画面,动作就是下一组目标关节角。遥操作器(手柄、键盘、手机、Gamepad)都在 src/lerobot/teleoperators/,你的机器人如果不在列表里,实现它的Robot接口就能接入全部工具链。
第三步:录制演示数据,攒出你的第一个数据集
🎬 模仿学习的逻辑很朴素:你操作一遍,机器人看一遍。lerobot-record负责把"你遥控机器人干活"的过程存成 LeRobotDataset:
lerobot-record \ --robot.type=so100 \ --teleop.type=so100 \ --dataset.repo_id=你的账号/my_first_dataset录完的数据长什么样?每个 episode 是一段 MP4(相机画面)加一张 Parquet 表(每帧的关节角和动作),按帧号严格对齐。这套格式就是 LeRobot 解决"各家数据各搞一套"的关键。数据出问题时也别慌,有现成工具:删除坏 episode、按索引切分、增删字段、合并多个数据集,都在 src/lerobot/datasets/dataset_tools.py 里,配套脚本见 examples/dataset/use_dataset_tools.py。
第四步:一行命令训练你的第一个策略
录完数据,训练就是改一行配置的事。以 ACT 算法(模仿学习的一种,把演示动作压成向量再逐步解码,适合机械臂任务)为例:
lerobot-train --policy.type=act --dataset.repo_id=lerobot/aloha_mobile_cabinet这里用的是官方示例数据集,你换成自己第三步录的数据即可。想动手改代码,可以从 examples/tutorial/act/act_training_example.py 开始,它把训练循环拆开写了一遍。
不知道选哪个策略?看任务类型:
| 任务类型 | 推荐方向 |
|---|---|
| 机械臂抓取、装配等模仿学习 | ACT、Diffusion、VQ-BeT |
| 需要听懂语言指令的"大模型"机器人 | Pi0、Pi0.5、GR00T、SmolVLA |
| 环境能交互、允许试错 | TDMPC(强化学习) |
每个策略的详细用法都有独立文档,如 docs/source/pi0.mdx、docs/source/policy_act_README.md。
训练时图像缩放、归一化这些预处理不用手写,策略自带一套标准化的 processor 流水线(相当于出工厂前的"质检调校"线),源码在 src/lerobot/processor/,多卡训练参考 examples/training/train_with_streaming.py。
第五步:在仿真里评估,或直接部署回真机
训练完别急着上真机,先在仿真环境里跑一把。LeRobot 内置了 LIBERO、MetaWorld 等标准仿真基准:
lerobot-eval --policy.path=lerobot/pi0_libero_finetuned --env.type=libero --env.task=libero_object --eval.n_episodes=10
这条命令加载一个预训练策略,在 LIBERO 的"取物"任务上跑 10 集,直接给你成功率。仿真环境的接入机制在 src/lerobot/envs/,评估框架在 src/lerobot/scripts/lerobot_eval.py。确认指标合格后,同一份策略权重可以直接加载回真机做推理,硬件端代码还是第二步那套Robot接口。
踩坑急救:设备连不上、CUDA 报错、训练不收敛
🔧 三个最高频的问题:
- 找不到设备:先
lerobot-find-port确认串口,SO 系列还要跑lerobot-setup-motors配置电机参数,再不行查 docs/source/hardware_guide.mdx 里的接线说明 - CUDA 版本对不上:用
nvidia-smi看驱动支持的 CUDA 上限,再对照 PyTorch 装的是哪个版本;完整加速卡配置看 docs/source/torch_accelerators.mdx - 训练不收敛:八成是数据问题。先用 examples/dataset/use_dataset_tools.py 检查数据分布和动作归一化,再考虑调学习率(调度器在 src/lerobot/optim/schedulers.py)
接下来去哪看资料
- 完整文档:docs/source/index.mdx,从安装到各策略的教程都在这
- 可跑示例:examples/,按
training、tutorial、dataset分类,每个场景都有入口脚本 - 想写代码前先读测试:tests/ 里的用例展示了各模块的正确用法,比如 tests/policies/ 覆盖了每个策略的契约测试
从第二步的遥操作到第五步的仿真评估,整条链路你只需要四样东西:一台机器人、一段演示数据、一行训练命令、一条评估命令。这就是 LeRobot 想做的事——把机器人学习里所有"脏活"标准化,让你只关注算法本身。
【免费下载链接】lerobot🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考