TL;DR
- 문제: 사람 thumb–index 거리로 만든 gripper gap 때문에 kinematic dataset이 물리적으로 실행되지 않음 (grasps off: moved 성공 ALOHA 4/829, UR5e 61/829).
- 해법: H2O GT 물체 pose·mesh로 grasp 구간을 검출하고, 물체 좌표계에 고정된 grasp pose + squeeze gap을 합성 (
ego2robot/grasp.py). - 결과: ALOHA 4→174 (21%), UR5e 61→317 (38%) /829. 튜닝 안 한 held-out 16 seq에서도 0/9/2 → 14/37/25 (ALOHA/UR5e/YAM).
174 / 829
ALOHA moved 성공 (4→)
317 / 829
UR5e moved 성공 (61→)
1 배경 / 목적
physics replay로 기존 dataset이 거의 실행되지 않음이 확인됨. lifted 프레임의 21–48%에서 gap ≥ 물체 폭, TCP가 물체를 감싸지 않음, in-hand 시작 시 open gripper가 물체와 겹침. gap만 20 mm 더 닫아도 UR5e 성공이 2배가 되어, 물체 정보로 grasp 자체를 재생성하기로 함.
2 작업 내용
신규: ego2robot/grasp.py, grasp_state.py, tools/grasp_summary.py, tests/test_grasp.py, DESIGN §18
prepare: retarget → table → placement → grasp.plan_grasps → bimanual IK(grasp-aware) → contact arrays
검출: pinch on 20 mm / off 30 mm (lifted 프레임 97%≤20, 99.9%≤30 mm), carry, support, 20f 미만 gap 병합, 6f 미만 grasp 폐기
합성: closing axis 10° 격자, pad 폭 ≤ stroke−6 mm, 접촉 기울기 ≤20°, 사람 TCP 80 mm 이내, 로봇 hand 형상(MuJoCo)으로 검사
squeeze: m g/(2μ), μ m g, 중력 토크 + 8 mm margin
trajectory: SE(3) blend → pre-grasp(40 mm) → 직선 접근 → closing → lock → opening → retreat → blend 복귀
grasp.enabled=false → 이전 prepare와 bit-identical
검증 라운드
- 1차: major 4 수정 (release 후 재닫힘, state≠렌더 opening, flip 프레임별 선택으로 blend 40–89° 튐, release ramp 관통)
- 독립 검증 1: major 7 / minor 12 → 3차 수정 19 finding (reached-pose clearance flag, UR5e frame-0 joint 중앙 시작, per-grasp transition gap, 1-frame GT flip 287건 relabel)
- 4차 polish: 매 frame 관통 flag
aux.object_penetration, ALOHA flip 두 variant 검사, table clearance 2 mm
3 결과
| 전체 184 seq (ALOHA ; UR5e) | grasps off | 8864596 | 3차 | 0cb02f5 |
| moved physics 성공 /829 | 4 ; 61 | 176 ; 314 | 183 ; 318 | 174 ; 317 |
| static 건드리지 않음 /104 | 81 ; 68 | 86 ; 72 | 86 ; 73 | 85 ; 76 |
| UR5e joint-0 한계 팔 | 5 | 18 | 0 | 0 |
| 최대 hold 회전 step | – | 31.9° ; 17.8° | 9.4° | 9.4° |
| accepted ep의 planner frame 물체 관통 | – | 미측정 | 미측정 | 0 ; 0 |
| curation 통과 /933 | 698 ; 511 | 705 ; 522 | 690 ; 536 | 690 ; 521 |
dev 16 seq(moved 78) ablation: gap-only 7/12/14, weight-only squeeze 12/30/29, margin 3 mm 21/23/30 vs full 20/30/32 → pose 재생성이 핵심. ALOHA stroke 58 mm로는 milk·chips·cocoa·cappuccino 0/39. 재현성: dev/held-out 80/80 파일 bit-identical, joint step ≤0.120 rad, site ≤40 mm 유지. 테스트 245 passed (B200 1장 16.8분).
4 Takeaway
dataset action 재생만으로 물체가 영상처럼 움직이는 episode가 ALOHA 0.5%→21%, UR5e 7.4%→38%. 3·4차 라운드는 성공률 상승이 아니라 데이터 내 문제를 flag로 드러내는 작업 (planner frame 관통 0, 회전 튐·joint wrap 제거).
5 Next
- 직선 approach/retreat 일부가 table 아래로 내려감 (UR5e 168+302 frame)
- 팔 link–물체 충돌 미검사 (ALOHA 850, UR5e 2,886 arm-frame)
- 테스트 공백: mutation 25개 중 14개 생존
- UR5e subject2/o1/2 arm 0 stuck