ur5e_2f85를 추가함. stroke는 85.16 mm로 H2O 물체 8개 중 7개를 쥘 수 있음(cappuccino 112 mm만 예외).import-stages로 hard-link해 재사용함. 184/184 seq에 5초 걸림.ALOHA 그리퍼 stroke는 58 mm임. 최종 695 ep 중 385 ep(55%)가 이보다 넓은 물체(chips 72, milk 74, cocoa 81, cappuccino 112 mm)를 다룸. 그래서 물리 재생 검증을 하더라도 절반 이상은 시작부터 실패가 정해져 있음. 사용자 결정에 따라 그리퍼가 넓은 로봇을 추가하고 전체 데이터셋을 다시 변환함.
arm_actuators, gripper_ctrl_from_gap, BimanualModel.ctrl_from()을 추가함. 물리 시뮬레이션용임.| 결함 | 증거 | 수정 |
|---|---|---|
| 같은 팔 self-collision을 검사하지 않음 (critical) | o2/4 왼팔 338/728 frame에서 gripper가 자기 forearm 안에 있음. 최대 64.9 mm 관통이고 IK는 성공으로 집계됨. | self_collision_pairs()를 guard에 추가. multi-start, recovery, 안전검사에 적용 |
| 2π joint aliasing (major) | o1/2 shoulder_lift가 4.74–5.43 rad로 기록됨(다른 ep는 ≈ −1). export label 분산이 0.63에서 2.08 rad로 커짐. | wrap_to_ref(): home에 가장 가까운 등가각으로 옮김 |
| gap write가 guard를 우회 | arm-arm 거리가 10 mm까지 떨어짐(floor 20 mm). table 관통 2.55 mm. | _write_gaps: gap 변화를 bisection으로 줄여 floor를 넘지 않게 함 |
| frame 0에서 두 팔이 관통 | o1/2 forearm끼리 36.5 mm, 34 frame | 관통 시 한 팔씩 재해결 |
import-stages: segment/inpaint 출력을 hard-link하고 marker에 imported_from을 남김. data/video/segment/inpaint 설정이 다르면 거부함.6개 check sequence(h1/1, k1/3, h2/3, o1/2, k2/2, o2/4), prepare만 실행:
| UR5e 수정 전 | UR5e 수정 후 | ALOHA production | ALOHA 수정 후 | |
|---|---|---|---|---|
| IK-failure ratio 평균 | 0.181 | 0.162 | 0.086 | 0.088 |
| self-overlap 최대 / >1 mm frame | 64.9 mm / 362 | 0 / 0 | 12.8 mm / 10 | 0 / 0 |
| arm-arm 최소거리 | 10.0 mm | 19.0 mm | 16.8 mm | 19.0 mm |
| table penetration 최대 | 2.55 mm | 1.00 mm | 1.00 mm | 1.00 mm |
| frame-0 관절이 home의 π 이내 | 3/6 | 6/6 | 6/6 | 6/6 |
| L1 통과 action segment | 15/32 | 16/32 (1801 fr) | 22/32 (2303) | 21/32 (2220) |

tmp/runs/69a6871에서 실행하므로 개발 중인 코드 수정과 섞이지 않음.