您的足迹: 核心概念

LeRobot 核心概念

本页面解释 LeRobot 实现端到端机器人学习的四大基石:Robot 抽象LeRobotDataset 格式策略框架处理器系统。理解这些概念对于有效使用 LeRobot 至关重要。

返回概述

LeRobot 四大支柱

LeRobot 围绕四个核心抽象构建,共同实现从数据采集到策略部署的统一工作流:

支柱 目的 关键优势
Robot 抽象 硬件无关的机器人控制接口 一次编写,在任何支持的机器人上运行
LeRobotDataset 标准化的机器人数据格式 高效存储、流式传输和共享
策略框架 IL、RL 和 VLA 模型的统一接口 轻松实验不同算法
处理器系统 通用数据转换和归一化 传感器、模型和执行器之间的无缝数据流

1. Robot 抽象

目的

Robot 抽象提供统一的 Python 接口用于控制多样化的机器人硬件。这种抽象将控制逻辑与硬件特定细节解耦,使同一代码能在不同平台上工作。

关键类和接口

系统建立在抽象基类之上,定义了物理交互的严格契约。子类实现 getobservationsendaction 等方法以在生态系统中使用。

LeRobot 原生支持广泛的平台,从低成本机械臂如 SO100 到人形机器人如 Unitree G1。遥操作通过引导臂、游戏手柄和移动设备支持。

2. LeRobotDataset

目的

LeRobotDataset 是存储和共享机器人学习数据的标准化格式。它使用 Apache Parquet 存储表格数据(状态、动作、奖励)和 MP4 视频(或图像)存储视觉观测,以确保可扩展性和 Hub 集成。

文件结构

数据集组织为 meta/ 目录(存储全局信息)和 data/videos/ 目录(存储实际样本)。数据被分块到文件中以提高存储效率和加载性能。

数据访问和元数据

LeRobotDataset 类继承自 torch.utils.data.Dataset,封装了以下组件:

  • 元数据:由 LeRobotDatasetMetadata 管理,处理 info.jsonstats.jsontasks.parquet
  • 读取器DatasetReader 处理从 Parquet 加载数据和通过 torchcodecpyav 等后端解码视频帧
  • 写入器DatasetWriter 处理顺序录制,包括 episode 缓冲区和视频编码

3. 策略框架

目的

策略框架为不同的机器人学习算法提供统一接口。这使得在模仿学习(IL)、强化学习(RL)和视觉-语言-动作(VLA)模型之间切换只需最小限度的代码更改。

策略类别

类别 示例 目的
模仿学习 ACT, Diffusion, VQ-BeT 从专家演示中学习
强化学习 HIL-SERL, TDMPC 通过与环境的交互学习
VLA 模型 Pi0, SmolVLA, GR00T 大规模多模态推理

策略设计为可在 Hugging Face Hub 上共享,训练逻辑通过 lerobot-train CLI 触发。

4. 数据处理流水线

目的

处理器充当原始硬件信号和策略就绪张量之间的桥梁。该系统确保数据在到达模型之前被正确转换、归一化和整形。

归一化和统计

LeRobot 使用数据集中的 stats.json 文件存储不同模态的统计信息(均值、标准差、最小值、最大值)。预处理器使用这些统计信息对输入观测进行归一化,后处理器用于反归一化预测的动作。

实现逻辑

处理逻辑通常分为:

  1. 预处理器:处理图像大小调整、颜色增强和状态归一化
  2. 后处理器:将模型输出(例如归一化增量)转换回原始电机指令

相关页面

评论

请输入您的评论. 可以使用维基语法:
 
机器人/lerobot/核心概念.txt · 最后更改: 2026/07/14 05:32