Index
2026-09-15 — Experiment

demo_icl Drawer — 단일 human demo 조건화 정책, heldout 7/10 첫 성공

FurnitureBench | scripts/demo_icl · results/demo_icl/20260915_drawer_refine_v3, v4

TL;DR

7/10
Heldout SR
1561
Dev steps
18
반복 라운드
0
실행 오류

1 배경 / 목적

"실제 사람이 수행한 시연 하나만 보고, 시뮬레이터 피드백으로 코드를 반복 수정해 조립 정책을 만들 수 있는가"를 검증하는 demo_icl(one-human-demo drawer pilot) 트랙. FurnitureBench drawer 태스크(low randomness)를 대상으로 data/human_demo_icl/drawer/00000/00000.pkl 데모 1개만 사용한다.

기존 한계: v1(초기 셋업 실패 기록 보존용) · v2(2026-09-14, baseline 무-demo 0/20 vs demo 조건화 0/20)까지 두 조건 모두 전체 성공 0건이었다. 개발 리셋 3회에서도 0/3 — demo를 참고해도 박스 지지·서랍 파지·삽입 전 과정에서 실패했다.

2 작업 내용

v2 실패 이후 v3에서 접촉·파지 지점 자체를 17라운드에 걸쳐 반복 수정했다. 동일 개발 seed(43101)를 반복 사용했으므로 라운드 간 비교는 독립 표본이 아니라 단일 궤적의 점진적 디버깅이다.

round00–02: 박스 회전/파지 자체가 공중에서 놓치거나 충돌 round03–08: 삽입 72mm 남기고 정지, 회전 잔여오차 4.3˚, 손 본체-박스 간섭 등 접촉 실패 반복 round09–10: 파지점 10mm 이동 + 깊은 안쪽 파지로 들기/회전/운반 통과, 진입 오차 2.6˚/2.8mm로 테두리 걸림 round11: 정밀 정렬 후 부분 삽입까지 통과했으나 밀기 목표가 얕아 17mm 앞에서 중단 round12–16 (assembled=1 달성 시작): 최종 밀기 목표 16mm 심화 + 손목 45˚ 바깥 기울임(25˚ 자세는 손 본체가 박스와 겹침, IK 오차 <1mm로 확인 후 배제) round16: 정지 시 모든 Cartesian 기준점을 리셋하는 버그로 좌우 유지력 약화 → 드리프트 발생 (근본 원인 식별)

v4에서 round16 버그를 수정 — 전진축만 정지시키고 횡방향 기준점과 정지 깊이는 유지하도록 변경. Panda FK 검증(89개 관측 대비 위치오차 4.93e-7m, 회전오차 1.114e-6rad)은 계속 유지. 개발 seed 43101에서 official success + all_currently_matching 확인 후 정책을 동결(SHA 11dbb4c0…)하고, 사전 지정한 unseen heldout 10개(69101–69110)를 독립 Slurm extra job으로 평가했다. 평가 결과로 정책을 다시 수정하지 않았다(선택 후 동결 원칙).

3 결과

Seed공식 전체 조립최종 동시 poseStep비고
69101성공일치1847—
69102성공일치1656—
69103실패불일치3500재삽입 시도 중 조립 상태 크게 교란
69104실패불일치3500정책 done 도달했지만 최종 오차 잔존(아래 10.45mm / 위 5.27mm)
69105실패불일치3500부분 삽입 후 재파지·들기 실패
69106성공일치1710선점(job 127711) 후 재개, 완료분 보존
69107성공일치1694—
69108성공일치1663—
69109성공일치2826—
69110성공일치1815—

합계: 7/10 = 70%, 실행 오류 0건, 성공 스텝 중앙값 1710. 개발 seed(43101, 성공) 1건은 이 10개 heldout에 포함되지 않음.

핵심 발견: v2의 0/20에서 v4의 70%까지 끌어올린 것은 새로운 알고리즘이 아니라 단일 데모의 접근 순서(박스 지지→아래/위 서랍→부분삽입 후 놓고 밀기)를 참고해 접촉·파지 지점을 18라운드 반복으로 맞춘 결과.
남은 실패 패턴: 실패 3건 모두 "삽입 재시도/재파지" 국면에서 발생 — 69104는 정책 자체 done 판정과 실제 조립 판정이 어긋남(최종 위치 오차 5–10mm 잔존), 복구 안정성이 아직 약함.

4 Takeaway

의미

Single-demo code-as-policy 접근이 drawer에서 70% 일반화를 달성한 것은 FurnitureBench 실험 라인 중 가장 높은 축에 속하는 결과(참고: scripted one_leg v2 98.3%, 별도 트랙). 다만 이 조건은 물체 정답 pose와 벤치마크 조립 목표를 그대로 읽는 privileged 시뮬레이션 조건이며, 유료 LLM API 호출 없이 반복 코드 수정만으로 도달했다. one-shot ICL 효과나 RGB-only/실환경 성능으로 해석할 수 없다 — 이 privileged 가정 자체가 다음 단계(다음 카드 참고)에서 사용자 요구에 의해 금지되어 v5가 즉시 중단되었다.

5 Next Steps

미해결 한계

실패 3/10 모두 삽입 재시도·재파지 단계 — 최종 재확인(재검증) 로직과 실패 후 복구 안정성 보강 필요. 정책의 자체 done 판정이 실제 채점 결과와 어긋나는 사례(69104) 존재.

다음 실험

이 v4 정책·70% 결과는 동결(더 이상 수정하지 않음). 후속 개선 시도(v5)는 privileged 정답 입력 사용을 이유로 즉시 중단됨 — 실제 개선 트랙은 센서 전용 파이프라인 카드로 이관.