Index
2026-10-16 — experiment

AssembleBench / one_leg 롤아웃 영상 리포트

RoboTTA | pi0.5 vs Long-WAM 기준선, 에피소드별 영상 180개

TL;DR

13/190
AB pi0.5 SR
0/180
AB Long-WAM 전 step
6/10
one_leg pi0.5
4/10 → 2/10
one_leg LW 10k→13.7k

1 배경/목적

self-improvement 실험(실패 이력을 보고 다음 시도 성공률을 올리기)은 기준 성공률 p가 0.2~0.6이어야 luck baseline 1-(1-p)k 대비 개선을 잴 수 있다. 숫자만으로는 실패가 어떤 종류인지(못 잡음 / 떨어뜨림 / 정렬 실패) 알 수 없어서, 평가를 녹화 켜고 다시 돌려 에피소드별 영상을 모았다.

녹화 방법: AssembleBench는 hud의 TraceRecorder를 subclass로 바꿔 끼워(scripts/assemblebench/ab_video.py) 2 tick마다 front|wrist 프레임을 저장하고, 채점 후 성공 여부·reward를 파일명에 붙였다(8 fps, 실제 15 Hz 대비 약 0.9배속). FurnitureSim은 기존 --record 출력(mpeg4)을 브라우저 재생용 h264, 2배속으로 다시 인코딩했다.

2 결과 수치

AssembleBench 원형 펙: pi0.5 hud-evals/pi05-AssembleBench-cgdagger-r3

peg1차 (192741~192853, 30 ep)녹화 run (193355~57)합계
4mm0/300/100/40
8mm1/30-1/30
12mm4/302/306/60 (0.10)
16mm2/304/20 (30 중 20에서 preempt)6/50 (0.12)
합계7/1206/6013/190 = 0.07

reward는 성공 시 1.00, 실패 시 0.00으로만 나왔다(녹화 run 60개 전부). 그래서 mean reward는 성공률과 같다.

Long-WAM AssembleBench (5 env × 6 wave, replan 8)

step16mm12mm예측 gripper 닫힘 비율 (>0.5, 롤아웃 평균)
10000/10-로그 전
40000/300/20 (preempt)로그 전
60000/300/3016mm 0.20 · 12mm 0.24
9670 (최종)0/300/3016mm 0.26 · 12mm 0.31

시연 데이터는 약 78 step째 그리퍼를 닫고 끝까지 유지해 닫힘 비율이 약 0.72다(에피소드 길이 약 280 step). Long-WAM은 롤아웃의 상당수에서 거의 닫지 않고(최대값 0.5 미만), 일부 롤아웃만 0.7 근처로 시연과 비슷하게 닫는다.

grasp strip
step 9670, 12mm wave 1 #1. 프레임 30~102(2 tick 간격 저장), 각 칸 왼쪽 front / 오른쪽 wrist. 손목 카메라에서 손가락이 닫힐 때 펙은 아직 화면 아래쪽 멀리 있다 → 공중에서 닫음.
실패 지점은 grasp 높이: gripper 규약(0=열림, 1=닫힘, 0.5 기준)은 시연 데이터와 같고, 닫는 동작 자체는 나온다. 문제는 닫기 전에 펙 높이까지 내려가지 않는 것이다. 관절 공간 절대 목표값에서 마지막 수 cm 하강이 작은 관절 변화라, 평균적인 궤적만 따라가는 쪽으로 학습된 것으로 보인다(가설, 미검증).

one_leg insertion (FurnitureSim, replan 10)

policy녹화 run (seed 0~9 × 1)기존 run (seed 0~9 × 3 등)
pi0.5 all_low_b128 39999seated 6/10, assembled 5/10seated 0.30
Long-WAM step 10000seated 4/10, assembled 3/10seated 6/30, assembled 4/30
Long-WAM step 13690seated 2/10, assembled 2/10seated 1/30
녹화 run이 기존 run보다 전반적으로 높다(pi0.5 6/10 vs 0.30). 같은 seed의 rep 0끼리도 결과가 달라(예: Long-WAM 10000 seed 2는 기존 fail, 녹화 assembled) 평가가 seed로 고정되지 않는 확률적 과정이다. 10회짜리라 차이는 노이즈 범위로 본다(p=0.3에서 6/10 이상 나올 확률 약 5%). 녹화 자체가 결과를 바꾸는지는 확인하지 않았다.

3 AssembleBench 영상 (150개)

왼쪽이 front 카메라, 오른쪽이 wrist 카메라. 성공은 초록 테두리로 맨 앞에 정렬했다. 마우스를 올리면 재생, 클릭하면 크게 본다.

policy task 결과
pi0.5 cgdagger-r3 · 12mm · w2·1success
pi0.5 cgdagger-r3 · 12mm · w3·2success
pi0.5 cgdagger-r3 · 16mm · w0·0success
pi0.5 cgdagger-r3 · 16mm · w0·3success
pi0.5 cgdagger-r3 · 16mm · w1·1success
pi0.5 cgdagger-r3 · 16mm · w3·0success
pi0.5 cgdagger-r3 · 4mm · w0·0fail
pi0.5 cgdagger-r3 · 4mm · w0·1fail
pi0.5 cgdagger-r3 · 4mm · w0·2fail
pi0.5 cgdagger-r3 · 4mm · w0·3fail
pi0.5 cgdagger-r3 · 4mm · w0·4fail
pi0.5 cgdagger-r3 · 4mm · w1·0fail
pi0.5 cgdagger-r3 · 4mm · w1·1fail
pi0.5 cgdagger-r3 · 4mm · w1·2fail
pi0.5 cgdagger-r3 · 4mm · w1·3fail
pi0.5 cgdagger-r3 · 4mm · w1·4fail
pi0.5 cgdagger-r3 · 12mm · w0·0fail
pi0.5 cgdagger-r3 · 12mm · w0·1fail
pi0.5 cgdagger-r3 · 12mm · w0·2fail
pi0.5 cgdagger-r3 · 12mm · w0·3fail
pi0.5 cgdagger-r3 · 12mm · w0·4fail
pi0.5 cgdagger-r3 · 12mm · w1·0fail
pi0.5 cgdagger-r3 · 12mm · w1·1fail
pi0.5 cgdagger-r3 · 12mm · w1·2fail
pi0.5 cgdagger-r3 · 12mm · w1·3fail
pi0.5 cgdagger-r3 · 12mm · w1·4fail
pi0.5 cgdagger-r3 · 12mm · w2·0fail
pi0.5 cgdagger-r3 · 12mm · w2·2fail
pi0.5 cgdagger-r3 · 12mm · w2·3fail
pi0.5 cgdagger-r3 · 12mm · w2·4fail
pi0.5 cgdagger-r3 · 12mm · w3·0fail
pi0.5 cgdagger-r3 · 12mm · w3·1fail
pi0.5 cgdagger-r3 · 12mm · w3·3fail
pi0.5 cgdagger-r3 · 12mm · w3·4fail
pi0.5 cgdagger-r3 · 12mm · w4·0fail
pi0.5 cgdagger-r3 · 12mm · w4·1fail
pi0.5 cgdagger-r3 · 12mm · w4·2fail
pi0.5 cgdagger-r3 · 12mm · w4·3fail
pi0.5 cgdagger-r3 · 12mm · w4·4fail
pi0.5 cgdagger-r3 · 12mm · w5·0fail
pi0.5 cgdagger-r3 · 12mm · w5·1fail
pi0.5 cgdagger-r3 · 12mm · w5·2fail
pi0.5 cgdagger-r3 · 12mm · w5·3fail
pi0.5 cgdagger-r3 · 12mm · w5·4fail
pi0.5 cgdagger-r3 · 16mm · w0·1fail
pi0.5 cgdagger-r3 · 16mm · w0·2fail
pi0.5 cgdagger-r3 · 16mm · w0·4fail
pi0.5 cgdagger-r3 · 16mm · w1·0fail
pi0.5 cgdagger-r3 · 16mm · w1·2fail
pi0.5 cgdagger-r3 · 16mm · w1·3fail
pi0.5 cgdagger-r3 · 16mm · w1·4fail
pi0.5 cgdagger-r3 · 16mm · w2·0fail
pi0.5 cgdagger-r3 · 16mm · w2·1fail
pi0.5 cgdagger-r3 · 16mm · w2·2fail
pi0.5 cgdagger-r3 · 16mm · w2·3fail
pi0.5 cgdagger-r3 · 16mm · w2·4fail
pi0.5 cgdagger-r3 · 16mm · w3·1fail
pi0.5 cgdagger-r3 · 16mm · w3·2fail
pi0.5 cgdagger-r3 · 16mm · w3·3fail
pi0.5 cgdagger-r3 · 16mm · w3·4fail
Long-WAM step 9670 · 12mm · w0·0fail
Long-WAM step 9670 · 12mm · w0·1fail
Long-WAM step 9670 · 12mm · w0·2fail
Long-WAM step 9670 · 12mm · w0·3fail
Long-WAM step 9670 · 12mm · w0·4fail
Long-WAM step 9670 · 12mm · w1·0fail
Long-WAM step 9670 · 12mm · w1·1fail
Long-WAM step 9670 · 12mm · w1·2fail
Long-WAM step 9670 · 12mm · w1·3fail
Long-WAM step 9670 · 12mm · w1·4fail
Long-WAM step 9670 · 12mm · w2·0fail
Long-WAM step 9670 · 12mm · w2·1fail
Long-WAM step 9670 · 12mm · w2·2fail
Long-WAM step 9670 · 12mm · w2·3fail
Long-WAM step 9670 · 12mm · w2·4fail
Long-WAM step 9670 · 12mm · w3·0fail
Long-WAM step 9670 · 12mm · w3·1fail
Long-WAM step 9670 · 12mm · w3·2fail
Long-WAM step 9670 · 12mm · w3·3fail
Long-WAM step 9670 · 12mm · w3·4fail
Long-WAM step 9670 · 12mm · w4·0fail
Long-WAM step 9670 · 12mm · w4·1fail
Long-WAM step 9670 · 12mm · w4·2fail
Long-WAM step 9670 · 12mm · w4·3fail
Long-WAM step 9670 · 12mm · w4·4fail
Long-WAM step 9670 · 12mm · w5·0fail
Long-WAM step 9670 · 12mm · w5·1fail
Long-WAM step 9670 · 12mm · w5·2fail
Long-WAM step 9670 · 12mm · w5·3fail
Long-WAM step 9670 · 12mm · w5·4fail
Long-WAM step 9670 · 16mm · w0·0fail
Long-WAM step 9670 · 16mm · w0·1fail
Long-WAM step 9670 · 16mm · w0·2fail
Long-WAM step 9670 · 16mm · w0·3fail
Long-WAM step 9670 · 16mm · w0·4fail
Long-WAM step 9670 · 16mm · w1·0fail
Long-WAM step 9670 · 16mm · w1·1fail
Long-WAM step 9670 · 16mm · w1·2fail
Long-WAM step 9670 · 16mm · w1·3fail
Long-WAM step 9670 · 16mm · w1·4fail
Long-WAM step 9670 · 16mm · w2·0fail
Long-WAM step 9670 · 16mm · w2·1fail
Long-WAM step 9670 · 16mm · w2·2fail
Long-WAM step 9670 · 16mm · w2·3fail
Long-WAM step 9670 · 16mm · w2·4fail
Long-WAM step 9670 · 16mm · w3·0fail
Long-WAM step 9670 · 16mm · w3·1fail
Long-WAM step 9670 · 16mm · w3·2fail
Long-WAM step 9670 · 16mm · w3·3fail
Long-WAM step 9670 · 16mm · w3·4fail
Long-WAM step 9670 · 16mm · w4·0fail
Long-WAM step 9670 · 16mm · w4·1fail
Long-WAM step 9670 · 16mm · w4·2fail
Long-WAM step 9670 · 16mm · w4·3fail
Long-WAM step 9670 · 16mm · w4·4fail
Long-WAM step 9670 · 16mm · w5·0fail
Long-WAM step 9670 · 16mm · w5·1fail
Long-WAM step 9670 · 16mm · w5·2fail
Long-WAM step 9670 · 16mm · w5·3fail
Long-WAM step 9670 · 16mm · w5·4fail
Long-WAM step 6000 · 16mm · w0·0fail
Long-WAM step 6000 · 16mm · w0·1fail
Long-WAM step 6000 · 16mm · w0·2fail
Long-WAM step 6000 · 16mm · w0·3fail
Long-WAM step 6000 · 16mm · w0·4fail
Long-WAM step 6000 · 16mm · w1·0fail
Long-WAM step 6000 · 16mm · w1·1fail
Long-WAM step 6000 · 16mm · w1·2fail
Long-WAM step 6000 · 16mm · w1·3fail
Long-WAM step 6000 · 16mm · w1·4fail
Long-WAM step 4000 · 16mm · w0·0fail
Long-WAM step 4000 · 16mm · w0·1fail
Long-WAM step 4000 · 16mm · w0·2fail
Long-WAM step 4000 · 16mm · w0·3fail
Long-WAM step 4000 · 16mm · w0·4fail
Long-WAM step 4000 · 16mm · w1·0fail
Long-WAM step 4000 · 16mm · w1·1fail
Long-WAM step 4000 · 16mm · w1·2fail
Long-WAM step 4000 · 16mm · w1·3fail
Long-WAM step 4000 · 16mm · w1·4fail
Long-WAM step 1000 · 16mm · w0·0fail
Long-WAM step 1000 · 16mm · w0·1fail
Long-WAM step 1000 · 16mm · w0·2fail
Long-WAM step 1000 · 16mm · w0·3fail
Long-WAM step 1000 · 16mm · w0·4fail
Long-WAM step 1000 · 16mm · w1·0fail
Long-WAM step 1000 · 16mm · w1·1fail
Long-WAM step 1000 · 16mm · w1·2fail
Long-WAM step 1000 · 16mm · w1·3fail
Long-WAM step 1000 · 16mm · w1·4fail

영상에서 본 것 (마지막 프레임 육안 확인, 정량 분류 아님)

  • pi0.5 실패의 상당수는 펙이 테이블 위에 쓰러진 채로 끝난다. 잡아서 옮기는 도중 놓치거나, 구멍 위에서 놓은 뒤 튕겨 나간 경우로 보인다.
  • 4mm는 10개 모두 실패했고, 마지막 프레임에서 펙이 테이블 위에 놓여 있는 경우가 많다. 구멍과 펙 사이 여유가 가장 작아서 정렬 오차를 흡수하지 못한다(model card의 "4 mm stayed flat"과 같은 방향).
  • Long-WAM step 1000은 그리퍼를 펙·구멍 근처로 가져가지만 펙을 집지 못한다. 학습 초반이라 예상된 결과.

4 one_leg 영상: 같은 seed, 세 policy 나란히 (30개)

행 = seed, 열 = policy. 초록 테두리 = 조립까지 완료, 주황 = 꽂혔지만 조립 실패, 테두리 없음 = 실패. lateral_min은 에피소드 중 다리 끝과 구멍의 최소 수평거리로, 클수록 구멍 근처에도 못 간 것이다. 2배속.

pi0.5 (all_low_b128 39999)
seated 6/10 · assembled 5/10
Long-WAM step 10000
seated 4/10 · assembled 3/10
Long-WAM step 13690
seated 2/10 · assembled 2/10
s0
fail lateral_min 6.8 mm
fail lateral_min 14.0 mm
assembled lateral_min 0.0 mm
s1
fail lateral_min 5.9 mm
fail lateral_min 4.5 mm
fail lateral_min 3.8 mm
s2
assembled lateral_min 0.1 mm
assembled lateral_min 0.0 mm
fail lateral_min 190.4 mm
s3
assembled lateral_min 0.1 mm
fail lateral_min 13.2 mm
fail lateral_min 12.5 mm
s4
assembled lateral_min 0.0 mm
fail lateral_min 8.7 mm
fail lateral_min 3.4 mm
s5
assembled lateral_min 0.3 mm
fail lateral_min 61.6 mm
fail lateral_min 169.5 mm
s6
seated only lateral_min 0.4 mm
seated only lateral_min 0.4 mm
fail lateral_min 188.9 mm
s7
fail lateral_min 5.0 mm
assembled lateral_min 0.1 mm
assembled lateral_min 0.1 mm
s8
assembled lateral_min 0.1 mm
assembled lateral_min 0.1 mm
fail lateral_min 13.2 mm
s9
fail lateral_min 1.7 mm
fail lateral_min 167.3 mm
fail lateral_min 149.1 mm
Long-WAM 13690의 실패 8개 중 4개(seed 2, 5, 6, 9)는 lateral_min 149~190 mm다. 10000에서는 이런 원거리 실패가 seed 9(167 mm) 하나였다. 학습 후반에 접근 단계 자체가 망가지는 쪽으로 퇴화했다는 기존 분석(lateral_min 중앙값 3.8 → 32.5 mm)과 일치한다.

5 Takeaway

AssembleBench pi0.5는 기준선으로 너무 약하다: 원형 펙 최고가 16mm 0.12, 12mm 0.10. 이 p에서는 k=5 luck baseline도 0.4~0.5 수준이라 +15%p를 보이려면 에피소드가 많이 필요하다.
Long-WAM AssembleBench는 현재 0%: 395 시연, 9670 step으로는 grasp 높이 정밀도가 안 나온다. self-improvement 실험의 기반 policy로 쓰려면 grasp부터 해결해야 한다.
one_leg Long-WAM은 10000이 최선: 13690은 접근 실패가 늘어난다. 기준선은 step 10000 사용.

6 Next