LeRobot 框架概述
LeRobot 是一个基于 PyTorch 的 Python 库,提供模型、数据集和工具用于真实世界的机器人学习。它旨在通过标准化以下方面来降低机器人机器学习的准入门槛:
- 硬件控制:统一的
Robot类接口,抽象多样化的硬件平台(低成本机械臂如 SO-100、人形机器人和遥操作设备) - 数据格式:
LeRobotDataset格式(状态/动作用 Parquet + 视频用 MP4),实现高效的存储、流式传输和可视化 - 策略训练:最先进的模仿学习、强化学习和视觉-语言-动作(VLA)模型
- 生态集成:通过 Hugging Face Hub 无缝共享数据集和预训练模型
该框架支持完整的机器人 ML 流水线:数据采集 → 训练 → 评估 → 部署。
系统架构
LeRobot 系统由多个协同工作的层次组成,以实现机器人机器学习工作流。
核心工作流
LeRobot 实现了从数据采集到部署的完整流水线:
- 数据采集 →
lerobot-record通过遥操作录制 episodes - 数据集管理 →
LeRobotDataset标准化存储和共享 - 策略训练 →
lerobot-train配置驱动的训练 - 评估 →
lerobot-eval仿真或真实硬件评估 - 部署 →
lerobot-rollout将训练好的策略部署到硬件
关键组件
Robot 接口
Robot 接口提供硬件无关的 API 用于控制物理机器人。所有机器人实现都实现以下核心方法:
| 方法 | 用途 |
|---|---|
connect() | 初始化与硬件的连接(电机、摄像头) |
getobservation() | 执行动作(关节指令、速度等) |
支持的平台包括 SO100、LeKiwi、Reachy2 和 Unitree G1 等。
LeRobotDataset
LeRobotDataset 类实现了机器人数据的标准化格式,结合 Parquet 文件存储状态/动作和 MP4 视频存储视觉信息。
主要特性:
- 结构:同步的 MP4 视频和 Parquet 文件
- HF Hub 集成:探索和流式传输数千个数据集
- 工具:删除 episodes、拆分数据集和修改特征
策略模型
LeRobot 在纯 PyTorch 中实现了多种最先进(SoTA)策略架构:
- 模仿学习:ACT、Diffusion、VQ-BeT、Multitask DiT
- 强化学习:HIL-SERL、TDMPC
- VLA 模型:Pi0Fast、Pi0.5、GR00T、SmolVLA、XVLA、EO-1、MolmoAct2
策略遵循模块化处理流水线,其中观测和动作通过处理器进行变换。
LeLab GUI
LeLab 是 LeRobot 的配套 GUI 应用程序,提供无代码界面的机器人操作、遥操作和数据集可视化,无需编写 Python 脚本即可与机器人和数据集交互。
命令行界面
LeRobot 为所有主要工作流提供 CLI 脚本:
| 命令 | 用途 |
|---|---|
lerobot-calibrate | 校准机器人电机和零位 |
lerobot-teleoperate | 通过遥操作设备控制机器人 |
lerobot-record | 录制 episodes 以创建数据集 |
lerobot-replay | 在机器人上回放录制的 episodes |
lerobot-train | 在数据集上训练策略 |
lerobot-eval | 在仿真或真实环境中评估策略 |
lerobot-info | 显示系统和依赖信息 |
Hugging Face Hub 集成
LeRobot 利用 Hugging Face Hub 进行数据集和模型共享:
- 数据集仓库:托管于 huggingface.co/lerobot
- 模型共享:用户可以共享自定义策略和检查点到 Hub
- 环境共享:仿真环境可通过 EnvHub 分发和加载
评论