91
社区成员
发帖
与我相关
我的任务数据文件格式如下

Datasets
├── event_log.jsonl
├── data/chunk-000
│ ├── episode_000000.parquet
│ ├── episode_000001.parquet
│ └── episode_0000**.parquet
├── meta
│ ├── episodes_stats.jsonl
│ ├── episodes.jsonl
│ ├── info.json
│ └── tasks.jsonl
└── videos/chunk-000
├── cam_high
├── cam_left_wrist
└── cam_right_wrist
├── episode_000000.mp4
├── episode_000001.mp4
└── episode_0000**.mp4
数据结构分析
event_log.jsonl
事件日志,记录整个采集的过程
每个episode在event_log.jsonl中由3行组成
可以用于判断每个episode是否是成功的轨迹 如果第2行是mark_mistake,则第三行参数is_mistake=True——对应失败的轨迹 如果是end_recording,则is_mistake=False——对应成功的轨迹
meta
元数据信息,指数据的描述信息
info.json - 数据集全局元信息
包含数据集的基本信息和数据格式定义:
基本信息:
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等)
episodes.jsonl - Episode索引和长度
每行一个JSON对象,对应着记录episode的基本信息
{"episode_index": 0, "tasks": [""], "length": 395}
作用:快速查询每个episode的长度,用于数据加载和索引
episodes_stats.jsonl - Episode详细统计信息
每行对应一个episode的详细统计信息,包含:
episode_index: episode索引
stats: 该episode中所有数据字段的统计信息
对于如“leftarm_cmd_cart_pos”的一条episode中的基本统计数据:
min: 最小值
max: 最大值
mean: 平均值
std: 标准差
count: 数据点数量
对于视频字段:图像像素值的统计信息,且依旧包含如上5条基本信息
作用:用于数据质量检查、归一化参数计算、数据可视化等
tasks.jsonl - 任务定义
每行定义一个任务:
{"task_index": 0, "task": ""}
task_index: 任务索引
task: 任务描述(当前为空字符串,可能需要在后续步骤中填写任务描述)
Lerobot数据作用:定义数据集中包含的任务类型,用于任务分类和标注(可选是否加入任务描述的语义指令)
data/chunk-000
存储机器人状态和动作数据(parquet格式)
每个 episode 的 parquet 文件是一个时序数据表,每一行对应一帧,每一行包含27列,包含:
机器人状态数据(每帧记录)
左臂数据:
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: 实际夹爪位置
右臂数据:结构同上(rightarm_*)
躯干数据(躯干保持不变):
torso_cmd_cart_pos: 命令位置
torso_cmd_joint_pos: 命令关节角度 [joint0-5]
torso_state_cart_pos: 实际位置
torso_state_joint_pos: 实际关节角度
Lerobot数据底盘数据(底盘不移动):
base_cmd_speed: 命令速度 [speed_x, speed_y, speed_theta]
base_state_speed: 实际速度
索引和元数据
timestamp: 时间戳,每一帧每一行对应的时间
frame_index: 帧索引(episode内)
episode_index: episode索引
index: 全局索引
task_index: 任务索引
videos/chunk-000
包含头部镜头和双手腕部镜头的视频数据,格式为mp4

91
社区成员
发帖
与我相关
我的任务加载中
「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地
试试用AI创作助手写篇文章吧