概念介绍:LeRobot 是什么,为什么用它
一、概念介绍:LeRobot 是什么,为什么用它
LeRobot 是 Hugging Face 推出的开源机器人学习库,目标是把机器人领域的数据集、策略模型、训练流程和硬件接口统一到一套 Python 工具链里,让做模仿学习和强化学习的人不必每次都从零搭一套采集与训练框架。它把"数据格式、策略实现、训练循环、真机部署"这四件事收敛成一套命令行工具和统一的 LeRobotDataset 格式。
它要解决的问题很实际。在 LeRobot 出现之前,一个实验室要做 ACT 或 Diffusion Policy 的实验,通常要自己写遥操作程序、自己定义数据集结构、自己实现策略网络、自己写训练循环、自己写真机回放。四套代码之间格式不统一,换一台机器人或换一个策略就要重写。LeRobot 的价值在于把这些接口标准化:数据集用统一的 parquet 加视频编码存储,策略用统一的 Policy 抽象,训练和评估用统一的 CLI,硬件用统一的 Robot 与 Teleoperator 抽象。
和相邻方案的差别。RoboMimic 是一个专注于模仿学习算法复现的研究代码库,算法实现清晰,但数据格式是自建的、硬件接口缺失,偏向论文复现而非工程落地。robosuite / MuJoCo 是仿真环境,解决"在哪里训练",不解决"数据怎么管"和"真机怎么接"。ROS 2 的 ros2_control 解决的是实时控制与硬件抽象,但完全不涉及学习算法。LeRobot 的定位介于三者之间:它不管仿真环境和底层实时控制,专心管数据集格式、策略训练与推理部署。实际项目里常见的组合是"仿真环境产生数据 → LeRobot 格式管理 → LeRobot 训练 → 通过 ROS 或厂商 SDK 下发动作"。
| 术语 | 含义 | 实际影响 |
|---|---|---|
| LeRobotDataset | LeRobot 定义的数据集格式(parquet + 视频) | 跨机器人、跨任务统一,可直接推到 Hub |
| episode(回合) | 一次从开始到结束的完整演示 | 数据集索引的基本单位 |
| fps | 数据集记录频率 | 采集与训练必须一致,混用会严重掉点 |
| feature(特征) | 观测与动作的字段定义 | 决定了策略的输入输出维度 |
| Policy(策略) | 从观测到动作的映射模型 | 如 ACT、Diffusion Policy、TDMPC 等 |
| Teleoperator(遥操作器) | 采集演示时人操作的主手设备 | 与从手机器人配对使用 |
| calibration(标定) | 关节零点与方向的标定文件 | 不标定直接跑会导致动作方向错乱 |
| normalization(归一化) | 用数据集统计量缩放观测与动作 | 训练时自动计算,推理时必须复用同一份统计量 |

