LeRobot:机器人学习的「Hugging Face」
🎯 为什么重要:机器人学习被「工具碎片化」拖慢
这一两年机器人学习算法进展飞快(Diffusion Policy、ACT、π0、VQ-BET...),但复现一个实验仍然是噩梦:
- 中间件 disaggregated:每个机器人平台都有自己的 SDK,Dynamixel、FeeTech、Franka、UR 各一套 API;想从 SO-100 切换到 ALOHA 要重写控制代码。
- 数据格式混乱:TFDS、ROS bag、 bespoke JSON... 没有统一 schema,数据集之间没法直接混合训练。
- 算法实现差异:深度学习里早已证明「同样算法不同实现,结果差异巨大」(Henderson et al., 2018)。机器人叠上硬件变差,进一步加剧。
更根本的判断是:机器人学正在从「显式模型」(model-based pipelines)转向「隐式模型」(data-driven policies)。显式时代靠手工建模 + 调参,碎片化还能忍;隐式时代靠「数据 + 算力」,没有统一基础设施就没法 scaling。LeRobot 的定位就是「为隐式机器人时代修路」。
💡 核心思想:垂直整合的 5 层栈
LeRobot 把机器人学习栈拆成 5 层,每层都开源、互相打通。这是典型的 Hugging Face 式设计——把研究流水线「工业品化」:
这套设计的关键不是「做了什么新算法」,而是把碎片化的生态装进一个一致的接口。研究者买一套 $225 的 SO-100 双臂,下载 LeRobotDataset,选 ACT 或 Diffusion Policy,跑 100 行代码训练,再 40 行代码部署——全流程在一周内完成。这是机器人学从未有过的「可工业化研究」体验。
🛠️ 几个关键工程决策
| 决策 | 具体做法 | 为什么这样选 |
|---|---|---|
| 硬件门槛 | SO-100 双臂整套 ~$225(3D 打印 + 消费级舵机);相比 Franka Panda 工业臂便宜 50-100 倍 | 「让 100 个研究组都有机器人」比「让 1 个组有最好的机器人」更能推动领域 |
| 数据格式 | LeRobotDataset:自包含 schema(含任务描述、机器人配置、FPS、传感器类型);原生支持视频流 | 统一格式是跨组数据混合训练的前提;self-contained 让数据可追溯 |
| Streaming | StreamingLeRobotDataset:不用下载整库,按帧流式访问 | 大规模数据集(百万级 episode)下载成本高;streaming 让小实验室也能用 |
| 推理解耦 | 物理上:policy 跑在远程高配机器,机器人 client 接 action 流;逻辑上:异步 producer-consumer,policy 出 chunk,控制器按固定频率消费 | 大模型(π0 3.5B)在机器人板载算力上跑不动;解耦让算力和控制频率解绑 |
| chunk 合并 | 当 policy 输出新 chunk 时,旧 chunk 还没消费完;用 $f$ 函数合并(用户可自定义) | 避免动作队列空转、保持控制连续性;不同合并策略对应不同 smoothness |
| 算法覆盖 | ACT、Diffusion Policy、VQ-BET(BC 类);HIL-SERL、TD-MPC(RL 类);π0、SmolVLA(VLA 类) | 不站队任何范式;让用户在同一框架下公平对比 |
机器人学长期受困于「硬件贵 + 数据少」的死循环:因为硬件贵,所以数据采集成本高;因为数据少,所以效果差;因为效果差,所以工业界不愿投资。LeRobot 通过把硬件成本砍到 $225、把数据格式标准化、让小模型(ACT 52M)也能在 50 段上演得很好——直接打破死循环。这就是为什么 2025 年 SO-10X 占了 LeRobot 数据集的 50%+,社区贡献爆发式增长。
📊 关键数字:生态规模 + 推理性能基准
| 维度 | 数字 | 说明 |
|---|---|---|
| 支持硬件 | 8 种平台:SO-100/101、Koch-v1.1、ALOHA、HopeJR、Stretch-3、LeKiwi、Reachy-2 | 2025 年内从 3 种扩展到 8 种 |
| 开源数据集 | 16K+ 数据集 / 2.2K+ 贡献者(截至 2025-09) | 社区驱动,去中心化 |
| 下载最多的机器人 | Panda 1.88M、xArm 1.11M、WidowX 832K、KUKA 663K | 传统工业臂仍占下载大头(学术使用) |
| SO-10X 占比 | 占新贡献数据集 50%+ | 说明低成本平台驱动社区 |
| 推理延迟(RTX 4090) | ACT 5 ms · SmolVLA 99 ms · π0 209 ms · Diffusion Policy 370 ms | ACT 可到 200 Hz;π0 难在低端设备上跑 |
| 推理延迟(CPU M1) | ACT 182 ms · π0 timeout(>5s)· SmolVLA 2 s(2% timeout) | 大模型在边缘设备上仍然挑战 |
| 内存峰值(fp32) | ACT 211 MB · Diffusion Policy 1.12 GB · SmolVLA 1.75 GB · π0 13.3 GB | — |
| 算法实现 | 训练 < 100 LOC,部署 < 40 LOC | 强调可读性和可改性 |
🌐 在领域中的位置
LeRobot 不是某个算法,而是「机器人学的工业基础设施」。它的位置类似当年的 Hugging Face Transformers + Datasets——本身不是科学突破,但让科学突破的复现、扩散、迭代速度提升一个数量级。生态内的代表性方法卡片:ACT、Diffusion Policy、π0、SmolVLA、HIL-SERL。
❓ 常见误区
LeRobot 是一个新算法吗?
不是。它是开源基础设施库。论文里没有新算法,重点是「把已有的 SOTA 算法(ACT、Diffusion Policy、π0、SmolVLA、HIL-SERL、TD-MPC、VQ-BET)用一致的 PyTorch 接口实现,并提供可复现的训练/部署 pipeline」。算法上的贡献是「公平对比」——在同一数据上跑同一框架下的多种方法。
$225 的 SO-100 能做严肃研究吗?精度够吗?
看任务。对于非接触、低精度任务(抓取、放置、推物),SO-100 完全够用,论文也展示了不少实机演示。对于高精度装配、力控任务确实不够——这时应该用 ALOHA 或工业臂。但 LeRobot 的核心 insight 是:80% 的机器人学习研究问题不需要高精度硬件,把这部分 democratize 出来就能极大加速领域。
它和 ROS 是什么关系?替代吗?
部分替代,部分互补。ROS 是传统模块化 pipeline(感知 → 规划 → 控制),面向工业/科研集成。LeRobot 只做「learning-based policies」这一段,更轻量、更 Pythonic、更 ML 友好。控制底层 LeRobot 直接连舵机 SDK(Dynamixel、FeeTech),不走 ROS 通信层。所以小规模 learning 实验用 LeRobot 更顺;大规模系统集成(多传感器、车队管理)ROS 仍有优势。
已经有了 Open X-Embodiment 这种数据集联盟,LeRobot 数据有什么不同?
Open X-Embodiment 是集中式大数据集(RT-X 那篇),偏大公司协作。LeRobotDataset 是去中心化格式,2.2K+ 贡献者各自上传小数据集——更接近「huggingface.co/datasets」的范式。两者互补:Open X-Embodiment 提供 scale,LeRobot 提供 diversity 和长尾。
训练 < 100 行代码、部署 < 40 行代码,真的吗?
真的,论文 Appendix D 给了完整示例。这得益于 LeRobot 把「数据集加载 + 模型构建 + 训练循环 + 模型保存 + 推理部署」全部抽象成几个一致的 API。重点不是「行数少」本身,而是「同一份代码可以换不同算法、换不同机器人、换不同数据集」——这种 composability 才是降低门槛的本质。