Lerobot数据格式理解
2026/8/25 20:53:50 网站建设 项目流程
  1. 数据文件格式如下

    1. Datasets

    2. ├── event_log.jsonl

    3. ├── data/chunk-000

    4. │ ├── episode_000000.parquet

    5. │ ├── episode_000001.parquet

    6. │ └── episode_0000**.parquet

    7. ├── meta

    8. │ ├── episodes_stats.jsonl

    9. │ ├── episodes.jsonl

    10. │ ├── info.json

    11. │ └── tasks.jsonl

    12. └── videos/chunk-000

    13. ├── cam_high

    14. ├── cam_left_wrist

    15. └── cam_right_wrist

    16. ├── episode_000000.mp4

    17. ├── episode_000001.mp4

    18. └── episode_0000**.mp4

  2. 数据结构分析

    1. event_log.jsonl

      1. 事件日志,记录整个采集的过程

      2. 每个episode在event_log.jsonl中由3行组成

      3. 可以用于判断每个episode是否是成功的轨迹 如果第2行是mark_mistake,则第三行参数is_mistake=True——对应失败的轨迹 如果是end_recording,则is_mistake=False——对应成功的轨迹

    2. meta

      1. 元数据信息,指数据的描述信息

      2. info.json- 数据集全局元信息

        1. 包含数据集的基本信息和数据格式定义

          • 基本信息:

            • codebase_version: 数据格式版本 (v2.1)

            • robot_type: 机器人类型 (moz1)

            • total_episodes: 总episode数量

            • total_frames: 总帧数

            • total_tasks: 任务数量

            • total_videos: 视频文件数量

            • fps: 帧率 (30)

            • splits: 数据划分 (train: "0:*")

          • 路径模板:

            • data_path: 数据文件路径模板

            • video_path: 视频文件路径模板

          • 数据字段定义 (features):

            • 包括机器人状态(左右臂、躯干、底盘)

            • 视频字段(cam_high, cam_left_wrist, cam_right_wrist)

            • 索引字段(timestamp, frame_index, episode_index等)

      3. episodes.jsonl- Episode索引和长度

        1. 每行一个JSON对象,对应着记录episode的基本信息

          {"episode_index": 0, "tasks": [""], "length": 395}

        2. 作用:快速查询每个episode的长度,用于数据加载和索引

      4. episodes_stats.jsonl- Episode详细统计信息

        1. 每行对应一个episode的详细统计信息,包含:

          • episode_index: episode索引

          • stats: 该episode中所有数据字段的统计信息

            • 对于如“leftarm_cmd_cart_pos”的一条episode中的基本统计数据

              • min: 最小值

              • max: 最大值

              • mean: 平均值

              • std: 标准差

              • count: 数据点数量

            • 对于视频字段:图像像素值的统计信息,且依旧包含如上5条基本信息

        2. 作用:用于数据质量检查、归一化参数计算、数据可视化等

      5. tasks.jsonl- 任务定义

        1. 每行定义一个任务:

          {"task_index": 0, "task": ""}

          • task_index: 任务索引

          • task: 任务描述(当前为空字符串,可能需要在后续步骤中填写任务描述)

        2. Lerobot数据作用:定义数据集中包含的任务类型,用于任务分类和标注(可选是否加入任务描述的语义指令)

    3. data/chunk-000

      1. 存储机器人状态动作数据(parquet格式)

      2. 每个 episode 的 parquet 文件是一个时序数据表每一行对应一帧,每一行包含27列,包含:

        • 机器人状态数据(每帧记录)

          1. 左臂数据:

            • leftarm_cmd_cart_pos: 手臂命令目标笛卡尔位置[x, y, z, rx, ry, rz]

            • leftarm_cmd_joint_pos: 命令目标关节角度[joint0-6]

            • leftarm_state_cart_pos: 手臂实际笛卡尔位置

            • leftarm_state_joint_pos: 手臂实际关节角度

            • leftarm_cmd_psi: 命令psi角度

            • leftarm_state_psi: 实际psi角度

            • leftarm_gripper_cmd_pos: 命令夹爪位置——表示夹爪的开合状态

            • leftarm_gripper_state_pos: 实际夹爪位置

          2. 右臂数据:结构同上(rightarm_*)

          3. 躯干数据(躯干保持不变)

            • torso_cmd_cart_pos: 命令位置

            • torso_cmd_joint_pos: 命令关节角度 [joint0-5]

            • torso_state_cart_pos: 实际位置

            • torso_state_joint_pos: 实际关节角度

          4. Lerobot数据底盘数据(底盘不移动)

            • base_cmd_speed: 命令速度 [speed_x, speed_y, speed_theta]

            • base_state_speed: 实际速度

          5. 索引和元数据

            • timestamp: 时间戳,每一帧每一行对应的时间

            • frame_index: 帧索引(episode内)

            • episode_index: episode索引

            • index: 全局索引

            • task_index: 任务索引

    4. videos/chunk-000

      1. 包含头部镜头和双手腕部镜头的视频数据,格式为mp4

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询