4. LeRobot项目概览

LeRobot 是 Hugging Face 发起的开源机器人学习项目,目标是把“数据集—模型—仿真—真机部署”串成一条低门槛的流水线。它并不是一个单独的算法库,而是一个围绕机器人示教与策略学习构建的生态:底层对接真实硬件与仿真环境,中间层提供统一的数据格式与训练脚本,上层则通过 Hugging Face Hub 共享数据集、预训练策略与可视化工具。理解它的生态结构,是后续进行遥操作与示教采集的前提。

一、生态全景:从数据到策略的闭环

LeRobot 的核心价值在于“标准化”。传统机器人学习项目中,数据格式、硬件接口、训练脚本往往各自为政,换一台机械臂就要重写采集代码。LeRobot 用统一的 LeRobotDataset 格式描述 episode、帧、观测与动作,用统一的策略接口描述 ACT、Diffusion Policy、TDMPC 等模型,使数据与算法解耦。下图展示了其生态中数据、模型、硬件与社区资源之间的主要关系。

LeRobot 生态与核心模块关系图 硬件与仿真层 SO-100 / SO-101 Koch / ALOHA Reachy / Stretch MuJoCo / Isaac 摄像头 数据与采集层 遥操作 Teleop LeRobotDataset episode / frame Hub 数据集仓库 策略与训练层 ACT Diffusion TDMPC 训练脚本 train.py / 评估 eval.py 应用与社区层 策略部署 rollout 可视化 Rerun Hub 模型仓库 Discord / 文档 版本演进主线 v0.x 基础采集与 ACT → v1.x 多策略与 Hub 集成 → v2.x 标准化数据集与仿真支持 → 持续扩展硬件与社区模型

二、核心模块与软件栈

LeRobot 的软件栈可以按“采集—存储—训练—部署”四段来理解。采集端由 lerobot 命令行工具驱动,支持 teleoperate、record、replay 等子命令;存储端使用 LeRobotDataset,底层基于 Parquet 与视频编码,兼顾读取效率与体积;训练端提供 train.py 与多种策略配置;部署端通过 rollout 或 eval 将策略加载到真机或仿真中执行。

# 典型工作流命令
lerobot-teleoperate --robot.type=so101_follower --teleop.type=so101_leader
lerobot-record --robot.type=so101_follower --dataset.repo_id=user/my_task
lerobot-train --policy.type=act --dataset.repo_id=user/my_task
lerobot-eval --policy.path=outputs/train/act/checkpoints/last

这些命令背后是统一的配置系统:机器人类型、遥操作类型、数据集路径、策略类型都以参数形式注入,避免硬编码。对于示教采集而言,最常用的是 record 与 teleoperate,前者负责把主从臂的关节、图像、时间戳写入数据集,后者用于调试主从映射是否顺畅。

三、硬件支持与适配方式

LeRobot 官方重点支持低成本开源硬件,尤其是 SO-100/SO-101 系列机械臂,这类硬件舵机成本低、结构简单,适合教学与快速验证。除此之外,Koch、ALOHA、Reachy、Stretch 等平台也有对应适配。适配的核心是“机器人描述文件”:定义关节数量、关节名称、观测键、动作键、摄像头配置与标定参数。只要描述文件正确,同一套采集与训练脚本就能迁移到不同硬件。

模块关键对象作用
采集teleoperate / record主从遥操作、episode 录制
数据LeRobotDataset统一 episode、帧、观测与动作格式
训练train.py + policyACT、Diffusion、TDMPC 等策略训练
部署eval / rollout真机或仿真中执行策略并评估
社区Hugging Face Hub共享数据集、模型与可视化结果

四、案例场景与常见误区

以一个教学场景为例:学生使用 SO-101 主从臂,先通过 teleoperate 确认主臂动作能正确映射到从臂,再用 record 采集 30 条抓取方块的成功 episode,每条包含 2 路摄像头与 6 个关节维度。数据上传到 Hub 后,用 ACT 策略训练约 2 万步,最后通过 eval 在真机上测试成功率。整个过程不需要自己写数据加载器,也不需要自己实现策略网络。

常见误区:一是把 LeRobot 当成“只支持某一种机械臂”的专用工具,实际上它通过描述文件适配多种硬件;二是采集时忽略时间戳与帧率一致性,导致训练时动作与观测错位;三是直接使用默认数据集路径却未检查 episode 长度,短于策略要求的序列长度会在训练时报错。

复盘建议:每次采集后先用 lerobot-dataset 相关工具检查 episode 数量、帧数、摄像头键是否齐全,再上传 Hub。版本升级时优先查看 release note 中数据集格式与配置字段的变化,避免旧脚本直接套用新版本。

总体来看,LeRobot 的生态价值在于把机器人学习中的重复工程工作收敛为统一接口,让开发者把精力放在任务设计、示教质量与策略调参上。掌握其模块边界与硬件适配逻辑,才能在后续遥操作与示教采集章节中高效使用这套工具链。