目录

LeRobot 数据集

LeRobotDataset 是 LeRobot 中机器人数据集的标准化数据格式。它解决了机器人领域的数据碎片化问题,提供统一高效的格式,使机器人演示数据能够在社区中无缝共享和重用。

返回概述

数据格式和结构

文件结构

数据集在磁盘上组织如下:

数据被分块到多个文件中以提高存储效率和加载性能。

数据访问

LeRobotDataset 类继承自 torch.utils.data.Dataset,提供以下功能:

时间查询和增量时间戳

数据集支持通过相对时间偏移进行查询。策略可以接收过去观测的滑动窗口(例如 [-0.2, -0.1, 0.0]),通过传递相对时间偏移字典来实现。

创建和录制数据集

通过遥操作录制

使用 lerobot-record 命令通过遥操作录制 episodes:

lerobot-record --robot.type=so100 --dataset.path=./my_dataset

录制过程将:

  1. 通过 Teleoperator 读取动作
  2. 通过 Robot 读取观测
  3. 将 (观测, 动作) 对写入 DatasetWriter
  4. 每个 episode 完成后保存到磁盘

数据集操作工具

LeRobot 提供多种工具来操作已有数据集:

视频处理

TorchCodec

LeRobot 利用 TorchCodec 实现高效的多线程视频解码:

推荐编码器

libsvtav1 编码器是 LeRobotDataset 格式的首选编解码器,提供高压缩率和良好的解码性能。

版本兼容性

当前标准格式版本为 v3.0(由 CODEBASE_VERSION = “v3.0” 定义)。

v2.1 到 v3.0 迁移:使用 v2.1 创建的数据集与 v3.0 读取器不兼容。LeRobot 提供迁移脚本 convertdatasetv21tov30.py 来处理格式转换。

相关页面