ETRI_VR_Robotics_data_research
收藏资源简介:
ETRI VR Robotics — FFW-SG2遥操作数据及检查点。该数据集是通过Apple Vision Pro VR对ROBOTIS AI Worker (FFW-SG2)进行遥操作收集的模仿学习数据集,任务为“将罐子放到盘子上”(put the can on the plate)。数据集包含多个子数据集,如can1(6个片段,6903帧)、can2(1个片段,2433帧)、can_left(19个片段,17346帧)、can_left_v2(29个片段,23096帧)、can_left_v3(29个片段,19944帧,当前版本)、can_left_v4(9个片段,5463帧,与v3同架构可合并)。所有子数据集均采用LeRobot格式,采样频率10fps,状态维度(v3为25,包含机器人状态19维+罐子坐标3维+盘子坐标3维),动作维度(v3为17,包含原始16维+提升动作1维)。相机共4台:cam_head_l、cam_head_r、cam_wrist_l、cam_wrist_r,分辨率640×480。另提供基于π0.5(openpi)模型微调的LoRA检查点,包括仅使用head_l+wrist_l的17维动作模型、分离的lift和arm+wrist模型等。检查点使用orbax OCDBT格式,约8.9GB。数据集有明确的训练/验证分割规则(80/20按片段分割),并建议包含失败-恢复演示以增强鲁棒性。已知限制:当前未实现夹爪实际驱动路径,导致抓取成功率无法测量;数据规模(38个片段)被认为是瓶颈,目标100个片段以上。
ETRI VR Robotics — FFW-SG2 Teleoperation Dataset and Checkpoints. This dataset is an imitation learning dataset collected via teleoperation of ROBOTIS AI Worker (FFW-SG2) using Apple Vision Pro VR, with the task put the can on the plate. It includes multiple sub-datasets: can1 (6 episodes, 6903 frames), can2 (1 episode, 2433 frames), can_left (19 episodes, 17346 frames), can_left_v2 (29 episodes, 23096 frames), can_left_v3 (29 episodes, 19944 frames, current version), can_left_v4 (9 episodes, 5463 frames, mergeable with v3). All sub-datasets are in LeRobot format, sampled at 10fps. State dimension (v3: 25, including 19 robot state + 3 can coordinates + 3 plate coordinates), action dimension (v3: 17, including 16 original + 1 lift action). Four cameras: cam_head_l, cam_head_r, cam_wrist_l, cam_wrist_r, resolution 640x480. LoRA checkpoints fine-tuned from π0.5 (openpi) are provided, including 17D action model using only head_l+wrist_l, separate lift and arm+wrist models, etc. Checkpoints in orbax OCDBT format, ~8.9GB. Dataset has explicit train/validation split (80/20 by episode) and recommends including failure-recovery demonstrations for robustness. Known limitations: no actual gripper driving path implemented, making grasp success rate unmeasurable; data size (38 episodes) is considered a bottleneck, target is 100+ episodes.
ETRI VR Robotics — FFW-SG2 텔레오퍼레이션 데이터 및 체크포인트
数据集概述
本数据集是使用 Vision Pro VR 对 ROBOTIS AI Worker (FFW-SG2) 机器人进行远程操作(텔레오퍼레이션)采集的模仿学习数据集,并包含使用 π0.5 (openpi) 进行微调得到的模型检查点。任务目标为:将罐子放到盘子上(put the can on the plate)。
存储库结构
| 路径 | 说明 |
|---|---|
datasets/ |
LeRobot 格式数据集(学习输入) |
checkpoints/ |
π0.5 LoRA 训练结果(通过 .gitattributes 规则由 LFS 管理) |
info.json |
LeRobot 模式参考模板 |
数据集列表
| 名称 | 回合数 | 帧数 | fps | state | action | 备注 |
|---|---|---|---|---|---|---|
can1 |
6 | 6,903 | 10 | 19 | 16 | 初期采集(右手) |
can2 |
1 | 2,433 | 10 | 19 | 16 | 初期采集 |
can_left |
19 | 17,346 | 10 | 19 | 16 | 左手采集(28回合→筛选19回合) |
can_left_v2 |
29 | 23,096 | 10 | 19 | 16 | v2 模式 |
can_left_v3 |
29 | 19,944 | 10 | 25 | 17 | v3 模式(现行) |
can_left_v4 |
9 | 5,463 | 10 | 25 | 17 | 0731 追加采集(与v3相同模式) |
raw_left_20260728 |
— | — | — | — | — | 原始回合(LeRobot转换前) |
raw_left_20260731 |
— | — | — | — | — | 原始回合(tar,9个) |
摄像头(4台通用):cam_head_l、cam_head_r、cam_wrist_l、cam_wrist_r(分辨率 640×480)
can_left_v3 与 can_left_v4 模式相同,可合并使用(38回合 / 25,407帧)。合并时需对 episode_index 和全局 index 重新编号,因为 parquet 中包含这两个列,直接复制文件会导致索引冲突。
v3 模式(现行)
由 convert_pkl_to_lerobot_v3.py 生成,相比 v2 有三点变化:
-
state 25 维 = 原有机器人状态 19 维 + 罐子位置
can(x,y,z)3 维 + 盘子位置plate(x,y,z)3 维。物体坐标注释为实测正向运动学(FK)而非视觉估计,因此相机误差为零。 -
action 17 维 = 原有 16 维 +
lift(身体高度)。引入升降维度的原因:操作者使用"罐子不可见或靠近桌面时升高身体,伸展不足时降低身体"的策略,但 v2 之前策略无法输出此动作。该动作为下一帧测量值的增量动作。 -
结束修剪 — 仅保留到最后一次夹爪打开 + 2 秒。VR 结束按钮操作污染了 29 个回合中的 11 个,共移除 3,152 帧(14%)。
openpi 连接:FFWSG2InputsV3(右手腕摄像头遮罩 + 零图像——仅用于左手训练)/ LeRobotFFWSG2V3DataConfig / 配置 pi05_can_left_v3_lora
数据提交协议
1. 格式
以 LeRobot 格式(data/、meta/、videos/)放置在 datasets/<名称>/ 下。meta/info.json 中的 total_episodes、total_frames 必须与实际值一致。
2. 训练/验证划分 — 按回合 80/20
必须按回合整体划分,不得按帧混合划分。由于 10fps 下相邻帧几乎相同,同一回合若同时出现在训练和验证集中,验证损失会不切实际地偏低。验证回合应均匀混合光照条件、罐子位置和拍摄时间段。
3. 筛选
基本原则是仅保留成功演示(如 28回合→筛选19回合)。但建议包含失败-恢复演示(轻微偏离后回归的轨迹),因为仅学习成功轨迹的策略在偏离后容易发散(分布偏移)。
4. 规模
目前 38 回合(v3 的 29 + v4 的 9)是瓶颈,目标为 100 回合以上。
5. 合并多数据集
parquet 中 episode_index 和全局 index 列需要重新编号。偏移量 = 前一个数据集的 total_frames。同时更新 episode_index 相关的 episodes.jsonl、episodes_stats.jsonl,以及 info.json 中的 total_episodes、total_frames、total_videos、splits。视频文件无需重新编码,仅需重命名。
检查点
| 路径 | 训练数据 | 输入摄像头 | 输出动作 |
|---|---|---|---|
checkpoints/pi05_can1_lora/2999 |
can1 (6回合) |
head_l + wrist_l | 16维 (state 19) |
checkpoints/pi05_can_left_v3_lora/2999 |
can_left_v3 (29回合) |
head_l + wrist_l | 17维 (state 25) |
checkpoints/pi05_lift_head_lora/2999 |
v3+v4 (38回合) | head_l + head_r | 1维 — 升降 |
checkpoints/pi05_arm_wrist_lora/2999 |
v3+v4 (38回合) | wrist_l | 16维 — 手臂+夹爪 |
每个约 8.9GB(参数+训练状态+资源),采用 orbax OCDBT 格式,通过 LFS 跟踪。
摄像头×动作分离(2026-07-31)
后两个检查点是一对配合使用的模型,每个摄像头负责与其物理上共同移动的轴:
头部立体(安装于升降机构) → 升降 1维 action[16:17] 左手腕 (安装于手臂末端)→ 手臂+夹爪 16维 action[0:16]
两个模型数据、步数、学习率、批次完全相同(38回合/25,407帧,3,000步,batch 16,峰值学习率 5e-5),仅输入摄像头和负责的动作不同。
推理时分别运行两个模型后组装为 17 维(pi05_inference_bridge.py --split-models,SplitPolicy),下游无需修改。
| 升降(头部) | 手臂(手腕) | |
|---|---|---|
| 最终损失中位数 | 0.00030 | 0.03740 |
| MAE(训练集150帧) | 0.02181 | 0.05547 |
| 相对"始终为0"基线 | +86.6% | +87.8% |
| 预测/实际标准差比 | 1.13 | 0.89~1.02 |
| 预测·实际相关系数 | 0.950 | 0.875~0.991 |
注意:两个模型的损失不可直接比较(1维比16维容易),应参考相对基线的提升幅度。这些数值是在训练帧上测量的,不保证泛化能力。动作预测精度与抓取成功率是两回事。
学习基线(pi05_can_left_v3_lora/2999)
| 项目 | 详情 |
|---|---|
| 模型 | π0.5 LoRA(paligemma gemma_2b_lora + action expert gemma_300m_lora),EMA关闭 |
| 数据 | can_left_v3 — 29回合 / 19,944帧(batch 16 约 2.41 epoch) |
| 步数 | 3,000(batch 16,action_horizon 10) |
| 学习率 | 余弦 — warmup 100 → 峰值 5e-5 → 衰减至 3,000 → 5e-6,AdamW 裁剪 1.0 |
| 硬件 | RTX 6000 Ada 48GB × 1(共享环境,实际可用约 39GB) |
| 耗时 | 2小时34分钟(约3.0~3.1 秒/步) |
损失中位数变化(按300步区间):
| 区间 | 0~299 | 600~899 | 1200~1499 | 1800~2099 | 2400~2699 | 2700~2999 |
|---|---|---|---|---|---|---|
| loss | 0.0912 | 0.0609 | 0.0479 | 0.0398 | 0.0319 | 0.0314 |
损失单调递减无反弹,结束时有继续下降趋势(因调度结束而停止)。发散指标:loss>0.3 出现 10次/3,000,grad_norm>1.0(裁剪)出现 19次/3,000。
使用方法
bash git clone https://huggingface.co/datasets/ETRI7203/ETRI_VR_Robotics_data_research hf_data
需要 git-lfs,否则 17GB 将仅以指针文本形式下载。
mkdir -p ~/.cache/huggingface/lerobot/etri ln -s $(pwd)/hf_data/datasets/can_left_v3 ~/.cache/huggingface/lerobot/etri/can_left_v3
openpi 训练代码和配置在单独存储库(ETRI_VR_Robotics_data_research,分支 verify/assist-phase2)的 pipeline/vla/ffw_sg2/openpi_port/ 目录中。
已知限制
- 夹爪实际驱动路径未实现 — 当前 Cyclo 路径中没有夹爪控制器,策略输出抓取动作时物理上无法执行夹持。这是测量抓取成功率的前提条件。
- 成功率未达标 — 接近目标精确但抓取前反复偏离。瓶颈判定为数据规模问题(非系统缺陷)。
raw_left_20260728为 LeRobot 转换前的原始数据,不能直接用于训练。



