2. LeRobot生态概览

在进入策略评测与回放工程之前,必须先建立对 LeRobot 生态的整体认知。LeRobot 并不是一个单一的训练脚本,而是一套围绕“真实机器人数据—策略训练—仿真/真机部署—评测回放”构建的开源工具链。它的项目定位可以概括为:用统一的数据格式和模块化接口,把机器人学习中的数据集、策略、环境与硬件连接起来。理解这一点,后续的评测指标、回放流程和排障方法才有共同的语言。

一、项目定位:从数据到策略的中间层

LeRobot 的核心价值在于“标准化”。机器人学习长期面临数据格式碎片化、策略实现各异、仿真与真机接口不统一的问题。LeRobot 通过定义统一的数据集结构、策略注册机制和环境适配层,让不同来源的数据和算法可以在同一套流程中运行。它既不是纯粹的仿真器,也不是单一算法库,而是介于数据、算法与硬件之间的中间层。

从工程视角看,LeRobot 的定位决定了它的使用方式:你通常不会从零实现一个策略,而是先确认数据集是否符合格式,再选择策略库中的模型,最后通过环境接口进行训练或评测。评测与回放工程正是建立在这一分层之上的上层应用。

二、核心模块与数据流

LeRobot 生态可以拆解为五个核心模块:数据集模块、策略库、环境接口、训练与评测流程、硬件与回放工具。它们之间的数据流关系如下图所示。

LeRobot 生态核心模块与数据流 数据集模块 LeRobotDataset parquet + mp4 策略库 ACT / Diffusion TDMPC / VQ-BeT 环境接口 Gym / 真机 仿真适配层 训练与评测流程 train / eval 指标记录 硬件与回放工具 replay / record 真机部署 评测与回放工程 成功率 / 轨迹一致性 / 延迟 统一格式 策略注册 环境适配

数据从数据集模块出发,经过策略库训练后,在环境接口中执行,最终由评测与回放工具输出指标和可视化结果。这条链路中任何一环的格式或接口不一致,都会导致评测失败或结果不可信。

三、数据集格式:LeRobotDataset 的结构

LeRobot 数据集采用“元数据 + 分片数据”的组织方式。元数据描述任务、帧率、特征维度、相机参数等;分片数据则按 episode 存储为 parquet 表格和 mp4 视频。这种设计兼顾了读取效率和可扩展性。一个典型的数据集目录如下:

dataset/
├── meta/
│   ├── info.json          # 数据集整体信息
│   ├── stats.json         # 归一化统计量
│   ├── tasks.jsonl        # 任务描述
│   └── episodes.jsonl     # episode 索引
├── data/
│   └── chunk-000/
│       ├── episode_000000.parquet
│       └── episode_000001.parquet
└── videos/
    └── chunk-000/
        ├── observation.images.top/
        │   └── episode_000000.mp4
        └── observation.images.wrist/
            └── episode_000000.mp4

其中 info.json 定义了 fps、features、robot_type 等关键字段;stats.json 保存均值和标准差,用于策略输入归一化。评测时如果忽略这些统计量,策略输出会出现明显偏差。

四、策略库与仿真环境

LeRobot 策略库提供了多种主流模仿学习与强化学习策略,常见包括 ACT、Diffusion Policy、TDMPC、VQ-BeT 等。它们通过统一的配置接口注册,训练时只需指定策略名称和超参数。仿真环境方面,LeRobot 支持 Gym 风格接口,并可通过适配层连接 MuJoCo、Isaac 等仿真器,也支持真实机器人回放。

模块 关键对象 评测关注点
数据集 LeRobotDataset、stats.json 帧率、特征对齐、归一化
策略库 ACT、Diffusion、TDMPC 动作平滑度、推理延迟
环境接口 Gym wrapper、真机适配 观测空间一致性
回放工具 replay、record 轨迹复现、时间同步

五、案例场景与常见误区

假设你要评测一个 ACT 策略在仿真环境中的抓取成功率。标准流程是:加载 LeRobotDataset,读取 stats.json 做归一化,实例化 ACT 策略并加载权重,通过 Gym 环境逐步执行动作,最后统计成功率和平均回合长度。如果数据集帧率与仿真控制频率不一致,动作会被错误地重复或跳过,成功率会显著下降。

常见误区:把 LeRobot 当作单一训练框架,忽略数据集格式和统计量;或者直接复用其他数据集的 stats.json,导致归一化参数不匹配。评测前务必核对 info.json 中的 fps、features 和 robot_type。

复盘建议:建立一份“生态检查清单”:数据集版本、策略名称与权重、环境类型、控制频率、归一化统计量。每次评测前逐项确认,可以避免大部分低级错误。

掌握 LeRobot 生态的分层结构和数据流,是后续策略评测与回放工程的基础。只有先确认数据、策略、环境三者的接口一致,评测结果才具备可比性和可复现性。