Keh0t0/robocasa_heldout_real의 features.names는 H50 표준이지만 값은 joint_pos[7]+gripper[1]+zero[8]. quat norm 2.85 (정상=1.0)prepare_idm_heldout_dataset_h50compat.py — v0.1 HDF5 직접 읽어 16-dim H50 state 생성Pi0.5 B0 baseline (real heldout 720 ep) 학습 중 state schema fraud 발견. Keh0t0/robocasa_heldout_real의 features.names는 H50 표준 16개 필드명을 쓰지만, 실제 저장된 값은 hyojinjang LeRobot v2.1 chain의 joint_pos[7] + gripper[1] + zero[8] 8-dim 데이터다.
| dim | Broken (Keh0t0) | H50 표준 (MG_30) | 차이 |
|---|---|---|---|
| base_to_eef_pos | (-0.027, -1.045, -0.034) — joint_rad | (0.257, 0.017, 0.606) | 완전히 다름 |
| base_to_eef_quat | (-2.286, 0.029, 1.506, 0.686) norm=2.85 | (-0.987, ...) norm=1.000 | norm 발산 |
| gripper_qpos | (0.478, 0.0) | (0.0206, -0.0205) | 다름 |
| base_pos | (0, 0, 0) | (1.2, -0.8, 0.7) | 전부 zero |
| base_quat | (0, 0, 0, 0) | (0, 0, 0.7071, 0.7071) | norm=0 |
목표: v0.1 HDF5를 직접 읽어 올바른 16-dim H50 state를 생성하는 스크립트 작성 → 720 ep 추출 → DAVIAN MG_30과 동일성 검증.
scripts/prepare_idm_heldout_dataset_h50compat.py:
base_to_eef_pos[3] + base_to_eef_quat[4](xyzw) + gripper_qpos[2] + base_pos[3] + base_quat[4](xyzw)actions (T,12) 그대로 — 이미 byte-identical to MG_30 확인LeRobotDataset.create 사용 → v3.0 layout 자동 생성--demo_source mg_train 옵션으로 DAVIAN MG_30과 동일 train demo 선택v0.1 HDF5 demo_0 frame_0의 base_to_eef_quat = [-0.992, -0.022, -0.125, 0.016] (norm=1.0). H50 reference 동일 값 [-0.992, -0.023, -0.126, 0.017]와 거의 일치 → v0.1 HDF5는 이미 xyzw, reorder 불필요.
| dim | NEW h50compat | DAVIAN MG_30 | broken Keh0t0 |
|---|---|---|---|
| base_to_eef_pos | (0.257, 0.017, 0.606) | (0.243, -0.012, 0.592) | (-0.027, -1.045, -0.034) |
| quat norm | 1.000 | 1.000 | 2.85 ❌ |
| gripper_qpos | (0.0206, -0.0205) byte-✓ | (0.0206, -0.0205) | (0.478, 0.0) |
| base_pos | (1.2, -0.8, 0.7) byte-✓ | (1.2, -0.8, 0.7) | (0, 0, 0) |
| 항목 | 우리 (mg30_real_h50) | DAVIAN MG_30 | 일치 |
|---|---|---|---|
| codebase_version | v3.0 | v3.0 | ✓ |
| total_episodes | 720 | 720 | ✓ |
| total_frames | 206,570 | 206,570 | byte-exact ✓ |
| total_tasks | 181 | 181 | ✓ |
| fps | 20 | 20 | ✓ |
| state.names (16-dim) | H50 schema | H50 schema | ✓ |
| Demo intersection (hash) | 698/698 ⭐ (22 collision 동일) | same demos | |
720/720 ep 모두 통과:
이번 추출로 MG_30 train data의 "clean" 버전이 생겼다: /home/nas_main/taewoongkang/Dataset/robocasa/mg30_real_h50/. 이 데이터셋이 두 가지 용도로 사용된다: (1) IDM v2 Pixel 학습 source (quat sign 보존), (2) Pi0.5 B0 재학습의 real baseline. 두 용도 모두 같은 파일을 그대로 쓸 수 있어 버전 관리 단순화.
기존 B0 실험(17.2% SR)의 한계가 eval pipeline 버그 + state schema fraud의 복합 원인이었음이 확정됨. 이 데이터로 재학습하면 DAVIAN 75% SR과 동일 조건이 된다.
Keh0t0/robocasa_mg30_real_v2 (private). README = H50 reference 미러