LeRobot 机器人学习框架:4 条命令从安装到首个策略训练
【免费下载链接】lerobot🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot
LeRobot 是 Hugging Face 开源的机器人学习框架,基于 PyTorch,面向真实硬件,提供统一的机器人控制接口、LeRobotDataset 标准数据集格式和 20 多个可直接训练部署的策略。对想跑通演示、采集数据或训练策略,又不想从零写驱动与数据管道的开发者来说,它是机器人控制入门里路径最短的选择之一。
为什么值得用
做机器人控制入门,耗时的往往不是算法本身,而是周边工程:驱动协议、视频编解码、归一化、评测回路。LeRobot 把这些部分打包成了一个 PyPI 包:
| 没有它要自己写的部分 | 它开箱即用的部分 |
|---|---|
| 各类机器人的设备驱动层(串口、CAN、电机协议) | 统一的Robot接口,内置 SO-100 到 Unitree G1 等硬件,外加手柄、键盘、手机等遥操作设备 |
| 视频解码与数据集存储管道 | LeRobotDataset v3.0 格式:MP4 与 Parquet 同步存储,按帧索引、可流式读取 |
| 训练循环、特征归一化、日志上报 | lerobot-train命令与 22 个策略实现(ACT、Diffusion、Pi0、SmolVLA 等) |
| 数据清理工具(删集、拆分、合并) | 内置数据集工具,支持按集删除、切分、合并、增删特征 |
最短可跑通路径
环境核对
安装前确认三件事:
- Python >= 3.12,这是当前 0.6.2 版本声明的最低要求
- 装了 ffmpeg。LeRobot 默认用 TorchCodec 解码视频,需要 ffmpeg 在位;macOS Intel、Linux ARM 等不支持的平台会自动回退到 pyav,无需安装
- GPU 可选,CPU 也能跑通演示和推理
安装验证与加载 Hub 数据集
pip install lerobot lerobot-infolerobot-info打印当前环境与依赖清单,lerobot-find-cameras列出可用的摄像头。基础包刻意做得轻量,装完只有核心 ML 依赖:要接真机再加lerobot[core_scripts]扩展,要训练策略再加lerobot[training],完整说明见安装文档。
数据集直接从 Hugging Face Hub 拉取:
from lerobot.datasets import LeRobotDataset ds = LeRobotDataset("lerobot/aloha_mobile_cabinet") print(ds[0]["action"].shape)下载后自动缓存在本地,视频帧自动解码,拿到的就是可直接交给 DataLoader 的张量字典。
看懂一个关键设计:LeRobotDataset
要解决的问题:机器人数据天然碎片化。各家把相机流、关节角、动作存在互不兼容的格式里,复用基本不可能;"一个 episode 一个文件"的组织方式,在集数上万后文件数量爆炸,初始化越来越慢。
它的做法:v3.0 把存储从按 episode 改成了按文件。多个 episode 被拼接进少量大的 Parquet 文件(状态、动作、时间戳)和大的 MP4 文件(视频帧,每个相机一个分片);meta/目录放关系型元数据——info.json存 schema 和帧率,stats.json存归一化统计量,tasks.jsonl把自然语言任务描述映射成整数 ID,每个 episode 的时长和偏移量存成 chunked Parquet。episode 的边界靠元数据解析,不靠文件名。
带来的效果:存储与用户 API 解耦——磁盘上是少数大文件,用户侧仍按 episode 和帧号随机访问;初始化更快,文件系统压力小;StreamingLeRobotDataset可以直接从 Hub 流式消费,不下载全量;归一化统计量随数据集一起分发,训练前不必自己统计。完整目录结构见LeRobotDataset v3.0 文档。
按目标延伸
跑通演示
仓库为不同硬件备好了端到端脚本:examples/lekiwi/ 一套五个(遥操作、录制、回放、评估、部署),examples/so100_to_so100_EE/ 演示 SO-100 末端执行器场景,examples/phone_to_so100/ 展示手机遥操作。没有硬件就从 examples/notebooks/quickstart.ipynb 的交互式教程开始;要接自己的硬件,参考硬件集成指南。
采集与加载数据
lerobot-record一条命令串起机器人、遥操作设备和摄像头配置,采集完直接推到 Hub,参数定义在 src/lerobot/scripts/lerobot_record.py。拿到数据后要做删集、切分、合并、改特征,看数据集工具目录和数据集工具使用文档。
训练自己的策略
一条命令加配置即可起步:
lerobot-train \ --policy.type=act \ --dataset.repo_id=lerobot/aloha_mobile_cabinet入口脚本是 examples/training/train_policy.py;策略源码按名字分目录放在 src/lerobot/policies/,共 22 个,覆盖模仿学习、强化学习、VLA、奖励模型四类;要写新策略,照着策略开发指南走。
踩坑备忘
| 现象 | 常见原因 | 处理方式 |
|---|---|---|
| 视频加载失败或解码报错 | 视频解码依赖 ffmpeg(TorchCodec),部分平台需手动安装 | conda install ffmpeg -c conda-forge;macOS Intel / Linux ARM 会自动回退 pyav,无需处理 |
| 机器人或串口连不上 | 用户权限不足,或缺少硬件依赖 | 装lerobot[hardware]扩展,把用户加进 dialout 组,用lerobot-find-port确认端口路径 |
| 训练或录制时缺模块报错 | 基础包轻量,只装了核心依赖 | 按工作流补装lerobot[training]或lerobot[core_scripts] |
| Linux 上 CUDA 版本对不上 | PyPI 默认 torch 轮子是 cu130(需驱动 580.65+),源码安装则锁定 cu128 | 先核对驱动版本,必要时显式指定 torch 的索引源重装 |
先跑pip install lerobot并加载一次 aloha_mobile_cabinet 数据集验证环境,再规划自己的采集与训练。
【免费下载链接】lerobot🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考