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