TL;DR — 공식 MolmoBot 두 체크포인트를 VLA 슬롯에 교체 시험. 공식 Pi0-DROID '무동작'의 원인은 초기 팔 자세 분포(bench=home+U(±0.26)·손목 U(±π/2) vs 우리 노이즈 0 home) — 렌더러 아님. 수정 후 공식 Pi0: restore 0/3·ctx3 3/11(mixv2 bench 4/11). 플래그십 MolmoBot-DROID(리더보드 1위 모델): pick 5/12(42%, 최고), VLA place 1/6(낙하 4), restore 0/3, ctx3 4/11. 침대·조리대 가장자리 낙하가 공통 병목.
0.026→1.171
공식 Pi0 활동량: 우리 홈 자세 → 벤치식 초기자세
3 / 4 / 5
ctx3 SR: 공식 Pi0 / mixv2(bench) / mixv2(home), /11
5/12 · 1/6
플래그십 restore pick · VLA place
1뭐가 문제였나 — 공식 Pi0-DROID가 우리 씬에서 안 움직인 이유
첫 스모크 4/4 무동작(프레임 diff ≤0.083, 정지). 렌더러(filament) 가설은 그들 벤치 6편이 classic 렌더로도 2/6 성공하고 리더보드가 classic≈filament라 기각. 단일 요인 이등분:
| 실험 (공식 Pi0-DROID) | 설정 | 활동량(프레임 diff; mixv2 기준 ≈1.1) | 결론 |
| 그들 eval.py, 그들 벤치 6편(classic 렌더) | 원본 파이프라인 | 성공 2/6 | 체크포인트·서빙·GPU·클래식 렌더 무결. 리더보드도 classic 66.8 ≈ filament 64.0 → 렌더러 가설 기각 |
| 그들 에피소드(house 0, pen)를 우리 env에 재현 | 그들 베이스 포즈 + 그들 init 관절 + 그들 프롬프트 | 0.356 | 우리 env 구현 무결 |
| ↑ 베이스만 우리 teleport | OUR_BASE | 0.249 | 베이스 배치 무관 |
| ↑ 팔만 우리 홈 자세(노이즈 0 정확한 홈) | OUR_ARM | 0.026 | 팔 초기 자세가 원인 |
| 우리 벤치 씬 + 그들식 팔 자세 + pick 문장 | ARM_INIT | 0.141 | 움직임 회복 |
| 우리 벤치 씬 + 그들식 팔 자세 + PnP 문장 | ARM_INIT + PnP | 1.171, pick 성공 81스텝 | 완전 회복 |
원인 확정: 벤치 에피소드(procthor-10k Franka 11,300편)의 초기 팔 자세 = MS 기본 홈 + 관절1–6 ≈U(±0.26), 손목 ≈U(±π/2). 우리 하네스는 노이즈 0의 정확한 홈 자세 → 학습 분포의 측도-0 점 → 정책이 얼어붙음. 하네스에 --arm-init bench(턴별 결정론 샘플) + --prompt-profile default(원본 소문자 문장) 추가(커밋 5ff17a9).
부차: 공식 모델은 "pick up the X." 보다 PnP 문장에 강하게 반응(FrankaPickAndPlace 데이터 비중). 과제 범위: MolmoBot-Data Franka = Pick / PnP(+color, next-to)뿐 — open/close는 RB-Y1 전용, press button 없음. mixv2도 같은 믹스.
2find ctx3 11질의 — 같은 bench 초기자세에서 4개 VLA
| 질의(plan) | 지시문 | mixv2 (home) | mixv2 (bench) | 공식 Pi0-DROID (bench) | 플래그십 MolmoBot-DROID (bench) |
|---|
19ae1ba6 | Pick up all the bowls I moved earlier | ✓ | ✓ | ✗ | ✗ |
af734de9 | Pick up the apple | ✗ | ✗ | ✗ | ✓ |
5bd300ca | Pick up the cell phone | ✗ | ✗ | ✗ | ✗ |
90abdff7 | Pick up the pot | ✗ | ✓ | ✓ | ✓ |
c37034b6 | Pick up the remote control I moved earlier | ✓ | ✗ | ✓ | ✗ |
f1d604e3 | Pick up the soap bottle | ✓ | ✓ | ✓ | ✗ |
1088e876 | Pick up the spray bottle | ✗ | ✓ | ✗ | ✗ |
b7043eb1 | Pick up all the bowls I moved earlier | ✗ | ✗ | ✗ | ✗ |
1a2d1c87 | Pick up the cell phone | ✗ | ✗ | ✗ | ✗ |
fa4195b8 | Pick up the knife | ✓ | ✗ | ✗ | ✓ |
44c69dbf | Pick up the remote control I moved earlier | ✓ | ✗ | ✗ | ✓ |
| SR | 5/11 | 4/11 | 3/11 | 4/11 |
bench 초기자세 노이즈로 mixv2도 1질의를 잃음(5→4). 같은 조건에서 mixv2 4 vs 공식 Pi0 3 — 1질의 차이로 사실상 동급(리더보드에서도 Pi0는 중위 35.7/39.6). 성공 질의가 서로 잘 안 겹치는 것(공통 90abdff7·f1d604e3뿐)이 VLA 간 편차가 큰 벤치임을 시사. 플래그십은 mixv2·Pi0가 전부 실패한 "사과 집기"를 성공.
3restore 3플랜(VLA가 pick+place) — 서브골 단위 비교
| 저수준 VLA | restore SR | pick 성공/시도 | VLA place 성공/시도(든 상태) | 낙하 | 빈손 place 호출 | place 상세(수용체: 결과) |
|---|
| π0.5 mixv2 (v14, home) | 0/3 | 3/23 (13%) | 0/3 | 3 | 1 | bed: drop, crapper: drop, chestofdrawers: drop |
| Cosmos3 Nano (v14b, home) | 0/3 | 6/25 (24%) | 2/6 | 3 | 0 | bed: drop, diningtable: ok, chestofdrawers: fail, chestofdrawers: ok, countertop: drop, bed: drop |
| 공식 Pi0-DROID (v15, bench) | 0/3 | 1/22 (5%) | 0/1 | 1 | 2 | crapper: drop |
| 플래그십 MolmoBot-DROID (v16, bench) | 0/3 | 5/12 (42%) | 1/6 | 4 | 0 | bed: drop, crapper: drop, countertop: drop, chestofdrawers: fail, chestofdrawers: ok, bed: drop |
| π0.5 mixv2 (v17, 접근 링) | 0/3 | 3/26 (12%) | 0/3 | 3 | 1 | bed: drop, countertop: drop, chestofdrawers: drop |
| Cosmos3 Nano (v17, 접근 링) | 0/3 | 3/14 (21%) | 1/5 | 2 | 0 | bed: drop, chestofdrawers: fail, countertop: fail, countertop: drop, bed: ok |
| 플래그십 MolmoBot-DROID (v17, 접근 링) | 0/3 | 4/16 (25%) | 0/5 | 4 | 0 | bed: drop, crapper: drop, chestofdrawers: fail, chestofdrawers: drop, countertop: drop |
| π0.5 mixv2 (v18, 링+정면) | 0/3 | 3/20 (15%) | 0/3 | 3 | 0 | bed: drop, crapper: drop, countertop: drop |
| Cosmos3 Nano (v18, 링+정면) | 1/3 | 4/13 (31%) | 2/4 | 2 | 1 | bed: ok, crapper: drop, countertop: drop, bed: ok |
| 플래그십 MolmoBot-DROID (v18, 링+정면) | 0/3 | 4/10 (40%) | 0/5 | 4 | 0 | bed: drop, crapper: drop, chestofdrawers: fail, chestofdrawers: drop, countertop: drop |
| π0.5 mixv2 (v19, 변 정방향) | 0/3 | 5/16 (31%) | 1/6 | 4 | 0 | bed: drop, crapper: drop, countertop: drop, chestofdrawers: fail, chestofdrawers: ok, bed: drop |
| Cosmos3 Nano (v19, 변 정방향) | 0/3 | 4/6 (67%) | 1/4 | 3 | 1 | bed: drop, crapper: drop, chestofdrawers: ok, chestofdrawers: drop |
| 플래그십 MolmoBot-DROID (v19, 변 정방향) | 0/3 | 4/11 (36%) | 1/4 | 3 | 1 | bed: drop, crapper: drop, countertop: ok, bed: drop |
최종 SR은 모두 0/3이지만 서브골 단위로는 차이가 큼: 플래그십은 pick 시도당 42%(다른 VLA 4–24%)로 가장 잘 집고, 서랍장에는 놓았으나 조리대 가장자리·침대·변기에서 4회 낙하. "든 채 내려놓기"는 여전히 어떤 VLA도 안정적으로 못 하는 병목이라 하네스 프리미티브 place(v10 2/3) 비교축은 유지.
3b"place 할 때 더 가까이 두면?" — 접근 거리 ablation (v17)
하네스 변경(29700b9): 든 채 receptacle로 navigate할 때 중심 반경을 가까운 링부터 (0.3–0.45 → 0.45–0.6 → 0.6–0.8) 시도. pick 접근은 종전 그대로. 각 VLA는 자기 이전 런과 접근 거리만 다름(같은 3플랜·같은 VLM·같은 판정).
| 런 | VLA place 성공/시도 | 낙하 | 평균 도착거리(중심) | 평균 |방위각|(정면=0) | 수용체: 거리/방위각→결과 (P=둘레 폴백) |
|---|
| π0.5 mixv2 v14 (종전) | 0/3 | 3 | 1.07 m | 8° | bed:1.87P/+0°→drop, crapper:0.67/-7°→drop, chestofdrawers:0.66/-18°→drop |
| π0.5 mixv2 v17 (링) | 0/3 | 3 | 1.02 m | 25° | bed:1.85P/+0°→drop, countertop:0.52/+41°→drop, chestofdrawers:0.68/+35°→drop |
| Cosmos v14b (종전) | 2/6 | 3 | 1.04 m | 23° | bed:1.89P/+0°→drop, diningtable:0.57/-37°→ok, chestofdrawers:0.77/-30°→timeout, chestofdrawers:0.71/-36°→ok, countertop:0.44/-36°→drop, bed:1.84P/+0°→drop |
| Cosmos v17 (링) | 1/5 | 2 | 1.07 m | 21° | bed:1.89P/+0°→drop, chestofdrawers:0.78/+42°→timeout, countertop:0.42/-31°→timeout, countertop:0.42/-31°→drop, bed:1.82P/+0°→ok |
| 플래그십 v16 (종전) | 1/6 | 4 | 1.05 m | 22° | bed:1.88P/-0°→drop, crapper:0.61/+29°→drop, countertop:0.49/+33°→drop, chestofdrawers:0.70/-37°→timeout, chestofdrawers:0.80/-34°→ok, bed:1.84P/+0°→drop |
| 플래그십 v17 (링) | 0/5 | 4 | 0.85 m | 23° | bed:1.81P/+0°→drop, crapper:0.69/+14°→drop, chestofdrawers:0.78/+39°→timeout, chestofdrawers:0.57/-40°→drop, countertop:0.39/-20°→drop |
| π0.5 mixv2 v18 (링+정면) | 0/3 | 3 | 0.96 m | 10° | bed:1.84P/+0°→drop, crapper:0.61/+31°→drop, countertop:0.44/+0°→drop |
| Cosmos v18 (링+정면) | 2/4 | 2 | 1.24 m | 0° | bed:1.90P/-0°→ok, crapper:0.72/-0°→drop, countertop:0.55/-0°→drop, bed:1.78P/+0°→ok |
| 플래그십 v18 (링+정면) | 0/5 | 4 | 0.87 m | 8° | bed:1.84P/-0°→drop, crapper:0.59/-38°→drop, chestofdrawers:0.79/+0°→timeout, chestofdrawers:0.79/+0°→drop, countertop:0.33/-0°→drop |
| π0.5 mixv2 v19 (정방향) | 1/6 | 4 | 1.24 m | 6° | bed:1.46/-2°→drop, crapper:0.73/+6°→drop, countertop:1.86P/-2°→drop, chestofdrawers:0.94/-17°→timeout, chestofdrawers:0.79/+9°→ok, bed:1.64P/+0°→drop |
| Cosmos v19 (정방향) | 1/4 | 3 | 0.93 m | 9° | bed:1.73P/-2°→drop, crapper:0.54/+6°→drop, chestofdrawers:0.81/-23°→ok, chestofdrawers:0.63/+7°→drop |
| 플래그십 v19 (정방향) | 1/4 | 3 | 1.42 m | 3° | bed:1.40/-1°→drop, crapper:0.74/+10°→drop, countertop:1.97P/+2°→ok, bed:1.57P/+0°→drop |
사용자 지적(영상): "가까이는 가는데 놓을 곳이 정면이 아니라 옆에 있다" → 실측 방위각 ±14–42°(위 표). 원인: env.place_robot_near(face_target=True)가 타깃 방향 yaw에 MolmoSpaces 학습 증강 robot_placement_rotation_range_rad(±45°) 균등 노이즈를 더함 — v9~v17 모든 place 접근에 들어감(모든 VLA 동일). 우리가 yaw를 직접 계산하는 둘레 폴백(침대)만 정면(0°). 추가로 place 시작 시 팔은 pick이 끝난 자세(관절1 최대 ±30°) 그대로 이월. 수정(2871ee0): 든 채 receptacle 접근에서 yaw를 수용체 중심 정면으로 재설정(facing_pose, approach_mode center_faced), pick 접근은 학습 분포 유지 → v18 3 VLA 재실행.
v18 영상 재지적: "정면이라는데 45° 기울어져 있다" — 맞음. v18은 수용체 body 원점을 향해 yaw를 맞췄지만 베이스 위치는 중심 반경 링의 임의 자유점이라 가구 모서리에 서는 경우(서랍장 91ec5513) 가구 정면과 45° 어긋남; 변기는 receptacle 분류(no_match)를 못 받아 정면 보정이 아예 안 들어감(−38°). 수정(46b5d70): 든 채 navigate는 receptacle 분류와 무관하게 footprint AABB 변 중앙 바깥에 서서 변의 법선을 마주 봄(square_approach_candidates, approach_mode square; 실패 시 중심 링+정면 폴백) → v19 3 VLA 재실행.
v17(링만): 거리는 줄었지만(플래그십 평균 1.05→0.85 m, 조리대 0.49→0.39, 서랍장 0.70/0.80→0.57/0.78) place 성공·낙하는 개선되지 않음. 대형 가구는 점유맵 agent_radius 0.3 + 안전반경 0.3 때문에 0.6 m 아래로는 못 붙고(서랍장), 침대는 애초에 둘레에 붙어 서도(0.03–0.13 m) 낙하. 결론: 낙하의 주 원인은 도착 거리가 아니라 정책의 릴리즈 습성(가장자리/공중에서 그리퍼 개방). 침대 거리 1.8 m는 중심 기준이며 실제로는 footprint에 붙어 선 값(P).
4증거 (영상·키프레임)
플래그십 스모크: 식탁 bowl pick (68스텝, bench 초기자세) — 공식 Pi0는 같은 조건 1/22
플래그십 ctx3 af734de9 "사과 집기" 성공(116스텝) — mixv2·공식 Pi0 모두 실패했던 질의 (좌 exo / 우 wrist)
플래그십 restore 91ec5513: bowl → 서랍장 VLA place 성공(2회차, 96스텝) (좌 exo / 우 wrist)
같은 플랜: bowl → 조리대 place, 가장자리에서 놓아 낙하(98스텝) (좌 exo / 우 wrist)
같은 플랜: 리모컨 → 침대 place 낙하(72스텝) — 침대는 모든 VLA 0승 (좌 exo / 우 wrist)
공식 Pi0-DROID 스모크(초기자세 수정 전): 완전 정지(diff 0.000)
v17 접근 링 플래그십 91ec5513: bowl → 서랍장, 0.57 m까지 붙였는데도 낙하(128스텝) — v16(0.80 m)에선 성공했던 place (좌 exo / 우 wrist)
v17 플래그십: bowl → 조리대 0.39 m, 8스텝 만에 낙하(시작하자마자 그리퍼 개방) (좌 exo / 우 wrist)
v17 mixv2: bowl → 조리대 0.52 m, 115스텝 낙하 (좌 exo / 우 wrist)
v17 Cosmos: 리모컨 → 침대 성공(75스텝) — 전 VLA 통틀어 첫 침대 place 성공(접근은 종전 둘레 폴백이라 변경 효과 아님) (좌 exo / 우 wrist)
v18 링+정면 Cosmos 91ec5513: → bed place 성공(62스텝) (좌 exo / 우 wrist)
v18 링+정면 Cosmos 46187b3e: → crapper place 낙하(107스텝) (좌 exo / 우 wrist)
v18 링+정면 플래그십 91ec5513: → chestofdrawers place 낙하(128스텝) (좌 exo / 우 wrist)
v18 링+정면 mixv2 0d9cb78f: → bed place 낙하(128스텝) (좌 exo / 우 wrist)
v19 변 정방향 Cosmos 91ec5513: → chestofdrawers place 낙하(5스텝) (좌 exo / 우 wrist)
v19 변 정방향 플래그십 91ec5513: → countertop place 성공(44스텝) (좌 exo / 우 wrist)
v19 변 정방향 플래그십 91ec5513: → bed place 낙하(12스텝) (좌 exo / 우 wrist)
v19 변 정방향 mixv2 91ec5513: → countertop place 낙하(2스텝) (좌 exo / 우 wrist)
턴별 전체 영상·관측·VLM 노트(플랜마다 모든 subgoal 영상 포함): restore v15 공식 Pi0-DROID · restore v16 플래그십 · restore v17 플래그십(접근 링) · restore v17 Cosmos(접근 링) · restore v17 mixv2(접근 링) · restore v18 플래그십(링+정면) · restore v18 Cosmos(링+정면) · restore v18 mixv2(링+정면) · restore v19 플래그십(변 정방향) · restore v19 Cosmos(변 정방향) · restore v19 mixv2(변 정방향) · find ctx3 v16 플래그십

플래그십 스모크 키프레임: 그릇 테두리를 잡고 들어올림

조리대 낙하의 마지막 프레임(exo/wrist): 가장자리 위에서 릴리즈 → 바닥 판정
5실패 사례와 교훈
① 공식 Pi0 완전 정지 — 원문: 4 스모크 프레임 diff 0.000–0.083, 팔이 미동도 없음. 원인: 초기 팔 자세가 학습 분포 밖(노이즈 0 홈). 교훈: 외부 정책을 꽂을 땐 벤치 초기조건 분포(자세·프롬프트 문장)까지 재현해야 하며, "렌더러/도메인" 같은 큰 가설보다 단일 요인 이등분이 빠르다(총 ~3시간).
② 플래그십 2번째 플랜에서 1시간 정지 — 원문: CPU·GPU 0%, sprobe sockets에 서버로 가는 ESTABLISHED 연결 2개. 원인: 플래그십 서버는 연결 수명 동안 Semaphore(1)을 잡는데 하네스가 플랜마다 새 policy를 만들며 이전 websocket을 안 닫음 → 새 연결이 영원히 대기. 수정: 플랜 끝 policy.close()(db8bc2b). 교훈: 서버 교체 시 동시성 모델(연결당 잠금)을 확인하고, 정지 진단은 sprobe 소켓 표부터.
③ 조리대·침대 낙하 — 원문: 91ec5513 bowl→countertop 98스텝 가장자리 릴리즈, remote→bed 72스텝 낙하, 46187b3e remote→toilet 61스텝 낙하. 원인: 수용체 가장자리/비평면 위에서 그리퍼를 여는 정책 습성(학습 데이터가 탁상 PnP 중심). 교훈: VLA place는 평면 중앙에서만 기대 가능 — 결과표엔 "낙하" 열을 따로 두고, 도착 위치(nav)가 아니라 정책 릴리즈 위치가 원인임을 액션 로그(steps·dropped)로 판정.
④ VLM 오판 done — 원문: ctx3 19ae1ba6 "옮긴 그릇 다 집어": 안락의자 그릇 2회 실패 후 식탁 그릇만 집고 "둘 다 집었다"며 done. 원인: 프레임만 보고 성공을 추정. 교훈: 성공 판정·집계는 하네스 액션 로그로만(모션 판정 규칙과 동일).
6Takeaway · Next
"리더보드 49.8/66.8"의 주체는 플래그십 MolmoBot-DROID이고, 그 모델은 우리 씬에서도 집기는 가장 잘 한다. 그러나 restore(=PnP 완주)는 어떤 VLA도 0/3이고, open/close/press는 학습 데이터 자체가 없다. 논문의 VLA 축은 "pick 성공률·place 성공률·낙하"를 서브골 단위로 보고하는 편이 SR만 보고하는 것보다 정보량이 크다.
- 플래그십 ctx3 완료 시 표 갱신(진행 중이면 이 페이지 재생성).
- 플래그십 pick + 하네스 프리미티브 place 조합(v10 방식)으로 restore SR 축 하나 더.
- open/close/press: MolmoSpaces 과제 데이터 생성 + FT 또는 프리미티브 — 별도 결정.