furniture_bench/furniture/parts/leg.py의 insert/screw 로직이 재시도·힘 피드백·검증 0건인 완전 open-loop 코드(2023년 이후 미개선).LingBot-VA all_low 라운드가 one_leg 0.133 (pi0.5 0.36 대비 미달)로 종료된 직후, 사용자가 최신 방법론 Graph-as-Policy(GaP)와 Harness VLA가 같은 문제(FurnitureSim 조립, 특히 정밀 삽입+나사 체결)를 커버할 수 있는지 확인을 요청했다. 목적은 "논문 요약"이 아니라 우리 코드·데이터와 직접 대조해 실제로 통할지 판단하는 것. 대화가 진행되며 조사 범위가 GPT-6 Astra API, Show-Harness, ENPIRE까지 확장됐고, 최종적으로 사용자가 초기 결론에 "다시 생각해봐"라고 반박하면서 가정 자체를 코드로 재검증하는 라운드가 이어졌다.
| 항목 | 값 | 출처 |
|---|---|---|
| 조립 위치 공차 (부품 간 상대 pose, 축별) | [10, 5, 10] mm | config.py:94 assembled_pos_threshold |
| 조립 회전 공차 (3축 각각) | cos ≥ 0.94 = 축당 19.9° | furniture.py:27 ori_bound, pose.py:102 is_similar_rot |
| step 예산 (기본, 가구별) | one_leg 600 / lamp 1000 / round_table 1300 / cabinet 1500 | sim_config.py:19 scripted_timeout |
| 요구 동작 | grasp → transport → insert(5 mm 정렬) → screw(반복 손목 회전 + 재파지) | |
max_steps=1000으로 평가해 왔다.
기본 예산 대비 one_leg 167%(여유) / lamp 100% / round_table 77% / cabinet 67% — 다부품 가구의
기존 0/10 결과에는 예산 부족이 섞여 있어 재평가 전까지 어떤 방법론 비교도 오염된 상태다.| 항목 | 값 |
|---|---|
| phase 3(다리를 base 근처까지) 도달 | 48/50 |
| 도달 후 조건부 삽입 성공률 | 0.375 |
| 재시도가 독립이라면 2/3/4회 기대값 | 0.609 / 0.756 / 0.847 |
| 실패 에피소드 leg_base_dist_min | 0.072 |
| 성공 에피소드 leg_base_dist_min (=조립 완료 시 기하 거리) | 0.090 |
furniture_bench/furniture/parts/leg.py 확인 결과:
두 번째 오류: RGB 학습 정책의 인식 난이도를 코드 기반 접근에 그대로 적용했다. 5 mm 정렬이 어려운 건
224×224 RGB에서 pose를 추정하는 학습 정책에게다. sim의 코드 기반 접근은 parts_poses(정확한 부품 pose),
joint_torques(7), clean depth를 그대로 쓸 수 있어 인식 난이도가 사라진다.
| 방법 | 1차 예측 (one_leg) | 수정 예측 (one_leg) | 수정 근거 |
|---|---|---|---|
| GaP | 0.37~0.53 | 0.5보다 상당히 위, 불확실 | sim 정제 루프가 실제 자동인지, force-feedback 삽입 스킬을 사람이 써야 하는지가 변수(beta, 수치 미공개) |
| GPT-6 Astra 직접 제어 | ~0 | ~0 (변화 없음) | 절대 ee pose 웨이포인트 + LLM 20회 예산 — 나사 체결을 표현 불가 |
| Harness VLA | 0.45~0.55 | 0.6~0.8 | 분석 프리미티브의 재파지+재배치가 독립성을 만듦: 조건부 삽입 0.375 × 3~4회 재시도 → 0.75~0.85, 보수적으로 0.6~0.8 |
| Show-Harness | ~0 | ≤0.2 (유지) | 문제는 반복 부재가 아니라 행동 인터페이스(1~2cm/15° 이산 open-loop 스텝) 자체 — 접촉 중 jam 대응 불가 |
| ENPIRE 계열 | 0.7~0.9 pass@k, pass@1 미지 | 0.9+ (수 시간 반복 내) | 시작점이 open-loop 0.5 스크립트, sim에 정확한 상태·무료 리셋·병렬·정확한 검증(is_assembled_idx) 전부 있음 → 검증→재파지 재시도, 토크 스파이크 jam 감지, screw 반복만 넣어도 크게 상승 |
다부품(lamp/round_table/cabinet): 시퀀싱은 스크립트가 처리하므로, 삽입당 신뢰도가 0.5→0.9+가 되면 4회 삽입 태스크 성공률은 0.06→0.65~0.8로 뛴다(예산은 조정 가능한 파라미터).
| 지표 | GPT-6 Astra | 비교 대상 | 차이 |
|---|---|---|---|
| Deep SWE (코딩) | 74.1% | Claude Opus 5: 73.7% | +0.4 (동급) |
| 로봇 태스크 출력 토큰 | 2.1k | Fable 5.1: 12.9k | 6.2× 적음 |
| 로봇 태스크 소요 시간 | 2.5분 | Fable 5.1: 6.8분 | 2.7× 빠름 |
| 로봇 태스크 비용/run | $0.94 | Fable 5.1: $2.12 | 2.3× 저렴 |
1차 결론("넷 중 셋은 이 벤치마크에서 pi0.5 0.36을 못 넘길 가능성이 높다")은 방법론적 오류에서 나온 잘못된 결론이었다. 반복 없는 open-loop 스크립트의 성공률을 "접근 계열의 천장"으로 잘못 해석했고, RGB 학습 정책의 인식 난이도를 상태에 접근 가능한 코드 기반 접근에 그대로 적용했다. 사용자의 "다시 생각해봐" 한 마디가 이 두 오류를 드러냈다 — 1차 조사에서 논문 수치만 비교하고 우리 스크립트 코드를 실제로 읽지 않은 게 원인이었다.
재분석 후 실질적 결론: 이 조사에서 가장 값진 발견은 "어떤 최신 정책을 새로 학습할까"가 아니라 "우리 데모 생성기(scripted agent) 자체가 한 번도 반복 개선되지 않은 2023년 코드"라는 사실이다. ENPIRE 방식으로 scripted insert/screw를 0.5→0.9+로 끌어올리면 (a) 수집 수율 2배, (b) 삽입·나사 구간 데모 품질 상승 → pi0.5·LingBot 둘 다의 병목(RGB에서 삽입 학습)이 데이터 쪽에서 완화된다. 이건 pi0.5 트랙과 경쟁하는 새 트랙이 아니라 상류(upstream) 개선이다.
어떤 방법론도 아직 FurnitureBench에서 실측되지 않았다 — 전부 코드/논문 대조로 도출한 예측치. round_table·cabinet 평가는 예산 버그(1000 step, 기본 1300/1500 필요)로 오염돼 있어 재평가 전까지는 다부품 성능 자체를 신뢰할 수 없다. ENPIRE·GaP 계열 도입은 에이전트 루프 구축 비용이 커서 우선순위 조정이 필요하다.
1. 저비용·즉시: pi0.5 b128 40k에 재시도 래퍼(parts_poses 기반 삽입 실패 감지 → 재정렬 → 재시도,
max_steps 1500)만 붙여 one_leg 50ep 재평가. Harness VLA에서 가져올 유일한 실질 요소를 재학습 없이 검증(1 GPU 몇 시간).
2. 평가 하니스 버그 수정 선행: round_table(1300)·cabinet(1500)을 기본 예산으로 재평가 — 현재 0/10에는 예산 부족이 섞여 있어 다른 어떤 비교의 전제도 될 수 없음.
3. 중기: ENPIRE 방식(코딩 에이전트가 정책 코드를 실행 피드백으로 반복 개선)을 scripted
insert/screw 스킬에 적용. sim이라 리셋 무료·병렬·is_assembled_idx 검증 자명 — ENPIRE의 최대 병목(실물
로봇 활용률)이 사라진다. 목표: scripted 성공률 0.5 → 0.8+.
4. GaP·Show-Harness는 현재 도입 근거가 약함(GaP는 beta·수치 미공개, Show-Harness는 인터페이스 구조적 부적합). Astra는 모델 교체 자체가 저비용이므로 향후 에이전트 루프의 회전율 개선 용도로만 저비용 검토.