huggingface/lerobot

🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning

LeRobot – Hugging Face 的开源机器人库

它是什么 – LeRobot 是一个原生 Python、硬件无关的库,整合了以下功能:

  • 统一的 Robot API:用于控制多种现实世界的机器人(从像 SO-100 这样的廉价机械臂到像 Reachy 2 这样的人形机器人)以及远程操作设备。
  • LeRobotDataset:一种标准格式(MP4/图像 + Parquet),用于存储同步的视频、状态和动作数据。数据集托管于 Hugging Face Hub,并可通过简单的工具进行流式传输、分割或合并。
  • 最先进的策略:以纯 PyTorch 实现(模仿学习、强化学习、视觉-语言-动作、世界模型、奖励模型等),可在这些数据集上进行训练,并部署于真实硬件或模拟器中。
  • CLI 工具 (lerobot-train, lerobot-eval, lerobot-record, lerobot-info):隐藏了大部分样板代码,让用户只需单一指令即可从数据收集进行到评估。

为什么它很重要 – 机器人研究长期受限于碎片化的数据格式和硬件专属代码。LeRobot 通过提供通用的数据集架构以及针对新机器人、摄像头和远程操作设备的插件架构来解决这两个问题。这降低了研究人员和爱好者的入门门槛,鼓励在 Hugging Face Hub 上共享数据集,并使机器人学习算法的重现与基准测试变得更加容易。

关键组件

组件 功能
Robot 类 连接、读取观测值、发送动作 – 相同的 Python 代码适用于任何支持的平台。
LeRobotDataset 使用 LeRobotDataset('repo/id') 加载数据集;视频解码和状态/动作张量处理皆自动化。
策略 现成的 PyTorch 模型:ACT, Diffusion, VQ-BeT, Pi0 系列, GR00T, SmolVLA 等(模仿学习、强化学习、VLA、世界模型、奖励模型)。
CLI lerobot-train --policy.type=act --dataset.repo_id=lerobot/aloha_mobile_cabinet – 单行指令训练;评估和数据记录亦有类似指令。
第三方插件 安装如 lerobot_robot_<name> 或 lerobot_camera_<name> 等包,以增加对 UR5e, Franka, ROS 2 桥接器、深度摄像头等的支持。

典型工作流程

  1. 选择或构建机器人 – 使用内置类或为自定义平台实现 Robot 接口。
  2. 收集数据 – lerobot-record 将观测值流式传输至您 HF Hub 仓库中的 LeRobotDataset。
  3. 训练策略 – 使用所需的模型类型和数据集运行 lerobot-train。
  4. 评估 – 在模拟器(例如 LIBERO, MetaWorld)或真实机器人上运行 lerobot-eval。
  5. 分享 – 将训练好的模型和数据集推送到 Hub,供他人重复使用。

谁应该使用它 – 实验机器人学习算法的研究人员、构建可重现流程的工程师、教授具身 AI 的教育工作者,以及希望以即插即用方式控制机器人和训练策略的爱好者。

资源 – 完整文档、教程、Discord 社区、实操 Spaces(机器人学习教程、折叠 T 恤演示),以及用于浏览器端远程操作和训练的网页 UI (LeLab)。


以上所有信息均直接取自该仓库的 README。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目