TL;DR
- [v2g] 책상·식탁·바구니 판 쌍둥이 1짝 완주 (job 109680, 1시간 7분): 소파를 거실 식탁으로 바꾸니
__2000 5/6 · __2001 4/6, 두 편 모두 첫 바퀴 3/3 — 규칙 세 개가 전부 실행된 예시가 쌍둥이 짝으로 나왔다(§1d). 식탁 유닛 4/4. 남은 실패 3건은 두 번째 바퀴 파지(안쪽 물체 베이스 후보 부족·칼 파지점·사과 운반 낙하).
- [v2, TidyBot 식] 쌍둥이 1짝 완주 (job 109656, 1시간 28분): 12개(음식·주방도구·천 각 4)를 부엌 조리대 하나에 섞어 두고
__2000 음식→책상 / 도구→소파 / 천→바구니, __2001 천→책상 / 음식→소파 / 도구→바구니 로 두 바퀴 교차 분류. 유닛 6/12(실패 6 중 소파 4 — 소파 제외 6/8), sim 1,003 s · 1,173 s. 같은 12개·같은 조리대에서 천이 한 편은 바구니, 다른 편은 책상으로 — A6 짝의 실물 (§1c). 소파(안착 실패)·TV장(놓기 IK)은 수납처 부적합, v2g 는 3번째 수납처를 거실 식탁으로 바꿔 실행 중(job 109680, 두 편 T1 OK).
- 실행기 수정 없이 돌아간다: routine 계획을 resume 형식으로 내고 스테이징에 6줄 훅만 넣어 워커에서 무대 3/3 → 발화 → 유닛 실행 → 3캠 mp4 스트리밍까지 관통.
- 1차 결과 (job 109492, 19분): 두 편 모두 폐기됐지만 유닛 3개 성공 영상이 남았다.
__2000(천→바구니)은 u0 성공 후 u1 바구니 놓기 IK 실패; __2001(천→책상)은 u0·u1 성공(천 2장을 책상에) 후 u2 파지 해 없음 — 여분 1개를 첫 유닛에서 이미 써서 배우가 없었다.
- 천 파지: 1차엔
Cloth_11(3.3 cm) 첫 배우가 파지 계획 불능이라 두꺼운 Cloth_3(8.6 cm)로 바꿨는데 8.6 cm 는 5장 전부 파지 불능이었다(v2b). 결론은 반대 — 얇은 천(2.8~3.3 cm)만 파지된다(v2c 이후 Cloth_6·10·11·12, 4장 중 3장 성공).
- share QOS 1차 시도는 11분 만에 preempt →
extra + 자동 재큐(sbmr 5)로 재제출(job 109492).
3/3 · 3/3
첫 바퀴 (__2000 · __2001)
1 영상 — train_1652__2000 (폐기 편, u0 천→바구니 성공분 포함)
8배속 · 640px 축소. 원본은 scene-mem-datagen/datagen_out/routine/pilot/train_1652__2000/house_0/ (3캠 각 18 MB, 640×480 25 fps).

exo_camera_1 · 590프레임(23.6 s) 간격 6장 — 식탁 위 천 3장, 바구니(주입), 천을 들고 이동

wrist_camera · 같은 간격
발화 T1: "Put the cloths from the dining table into the laundry basket."
u0 t1a0_Cloth_11 파지 계획 불능(top 파지 19.7 cm 로 닫힘) → t1a1_Cloth_11 로 → 파지·운반·바구니 투입 OK (493 s)
u1 t1a2_Cloth_11 파지 OK → [place] FAIL — 놓기 해 없음 (지점 1 · 베이스 11 · IK 11회 전부 ik/reach)
★ 편을 버린다: T1 u1 가 재시도 1회에도 실패 — 개수를 못 채운다
1b 영상 — train_1652__2001 (쌍둥이, 천→책상 2장 성공 후 폐기)
u0 OK(609 s) · u1 OK(423 s) · u2 파지 해 없음 → 폐기. sim 260 s(6,480 프레임), 3캠 각 48 MB. 8배속 미리보기.
exo_camera_1 · 8× — 식탁에서 천을 집어 거실을 지나 침실 책상에 두 번 올린다

exo_camera_1 · 1,080프레임(43 s) 간격 6장 — 식탁 위 천, 운반, 책상(휴대폰 옆)에 놓기, 복귀
| 편 | 유닛 결과 | 폐기 사유 | sim 길이 |
__2000 천→바구니 | u0 OK(493 s) · u1 FAIL | 바구니 놓기 해 없음 — 베이스 11곳 IK 전부 ik/reach | 141 s |
__2001 천→책상 | u0 OK(609 s) · u1 OK(423 s) · u2 FAIL | 세 번째 천 파지 해 없음 — grasp 후보 444 전부 기각(자세충돌 133·관절한계 67·ik/reach 130). 여분이 없어 폐기 | 260 s |
공통: 첫 배우 t1a0_Cloth_11가 두 편 모두 파지 계획 불능 → 여분 1개를 첫 유닛에서 소진. 유닛당 벽시계 423~609 s 는 type2 실측(56~74 s)의 7~10배로, 파지 재시도(베이스 후보 × IK)가 대부분이다. 수정본은 두꺼운 Cloth_3 + 여분 2.
1c v2 (TidyBot 식) — 12개를 조리대 하나에 섞어 두고 규칙 교차 분류 · 첫 완주 영상
사용자 피드백("여러 종류를 한 테이블에")으로 v2 로 전환: 사과·감자·계란·사과 / 칼·칼·뒤집개·국자 / 얇은 천 4종을 부엌 조리대 하나에 섞어 두고, 처음에 규칙 세 개를 말한 뒤 음식→도구→천 순서로 두 바퀴 분류한다. 실행 코드 변경은 스테이징 3줄 + 유닛 실패 시 편을 안 버리는 플래그 1줄.
"Put the food from the countertop on the desk."
"Put the kitchen utensils from the countertop on the sofa."
"Put the clothes from the countertop into the laundry basket."
train_1652__2000 (v2e, job 109656) — 유닛 3/6 성공 · sim 16분 44초 · 3캠 각 195~231 MB
exo_camera_1 · 16× — 침실 출발 → 조리대에서 감자 → 책상 · 칼 → 소파(실패) · 천 → 바구니 · … · 천 → 바구니

exo_camera_1 — 시작(침실) · 책상 접근 · 감자를 책상에 · 바구니 옆 부엌 · 천을 바구니에 ×2
| 유닛 | 결과 | 물체 | 비고 |
| t1u0 음식→책상 | OK | Potato_6 | 첫 배우 사과 파지 계획 불능 → 감자. 977 s |
| t2u0 도구→소파 | FAIL | Knife_4 | 놓기 계획 채택 후 소파 안착 판정 실패 (쿠션) |
| t3u0 천→바구니 | OK | Cloth_6 | 573 s |
| t1u1 음식→책상 | FAIL | Apple_9 | 계란 파지 계획 불능 → 사과, 책상 안착 판정 실패 |
| t2u0 도구→소파 (재) | FAIL | Ladle_1 | 소파 |
| t3u1 천→바구니 | OK | Cloth_11 | 663 s |
소파는 수납처로 부적합: 두 편 네 번 모두 놓기 계획은 잡히는데 안착 판정에서 실패(사과가 구르고 칼이 미끄러짐). TV장은 사전 패스에서 놓기 IK 탈락. 이 집에서 검증된 수납처는 책상·바구니, 3번째는 거실 식탁으로 대체(v2g, 실행 중).
v2 로 오면서 잡힌 것 4건: ① 도착 클래스 상면을 출발 후보에서 제외 ② 두꺼운 천(8.6 cm)은 파지 전멸 → 얇은 천만 ③ 바구니가 로봇 시작 자리 옆에 서서 끼임 → 시작 자세를 다른 방으로 ④ 쌍둥이 사전 패스는 task 순서에 의존(큰 물체 먼저).
train_1652__2001 (쌍둥이: 천→책상 · 음식→소파 · 도구→바구니) — 유닛 3/6 · sim 19분 33초
exo_camera_1 · 16× — 천 → 책상 ×2, 뒤집개 → 바구니. 계란·감자 → 소파는 실패

exo_camera_1 — 시작 · 천을 책상에 · 뒤집개를 바구니에 · 두 번째 천을 책상에 · (소파 시도)
| 유닛 | 결과 | 물체 | 비고 |
| t1u0 천→책상 | OK | Cloth_10 | 850 s |
| t2u0 음식→소파 | FAIL | Egg_29 | 소파 안착 실패 |
| t3u0 도구→바구니 | OK | Spatula_1 | 568 s |
| t1u1 천→책상 | OK | Cloth_11 | 849 s |
| t2u0 음식→소파 (재) | FAIL | Potato_6 | 소파 |
| t3u1 도구→바구니 | FAIL | Knife_1 | 바구니 놓기 실패 |
쌍둥이 짝으로 보면: 같은 집·같은 12개·같은 조리대에서 규칙 값만 바뀌어 천이 한 편은 바구니로, 다른 편은 책상으로 갔다 — 상식으로는 못 맞추는 짝이 영상으로 성립한다. 두 편 합쳐 유닛 6/12, 실패는 전부 소파(4) + 안착/놓기(2).
1d v2g — 3번째 수납처를 소파 → 거실 식탁으로: 두 편 모두 첫 바퀴 3/3 · 합계 9/12
v2e 와 같은 집·같은 12개·같은 조리대·같은 시작 자세에서 소파만 거실 식탁(DiningTable)으로 바꿨다(job 109680, 1시간 7분). 규칙 세 개가 한 바퀴 전부 실행된 편이 쌍둥이 짝으로 나왔다.
__2000: "Put the food from the countertop on the desk." / "Put the kitchen utensils from the countertop on the dining table." / "Put the clothes from the countertop into the laundry basket."
__2001: "Put the clothes from the countertop on the desk." / "Put the food from the countertop on the dining table." / "Put the kitchen utensils from the countertop into the laundry basket."
train_1652__2000 (음식→책상 · 도구→식탁 · 천→바구니) — 유닛 5/6 · sim 13분 41초 · 3캠 각 158~187 MB
exo_camera_1 · 16× — 감자 → 책상 · 칼 → 식탁 · 천 → 바구니 · (사과 운반 중 낙하) · 칼 → 식탁 · 천 → 바구니

exo_camera_1 — 유닛 경계 7장: 시작(침실) · 감자를 책상에 · 칼을 식탁에 · 천을 바구니에 · 사과(실패) · 칼을 식탁에 · 천을 바구니에
| 유닛 | 결과 | 물체 | 벽시계 | 비고 |
| t1u0 음식→책상 | OK | Potato_6 | 1,001 s | 첫 배우 Apple_13 파지 계획 불능 → 감자 |
| t2u0 도구→식탁 | OK | Knife_1 | 770 s | |
| t3u0 천→바구니 | OK | Cloth_6 | 544 s | |
| t1u1 음식→책상 | FAIL | Apple_9 | 409 s | 계란 파지 계획 불능 → 사과 파지 성공 → 운반 중 낙하 |
| t2u1 도구→식탁 | OK | Knife_4 | 645 s | |
| t3u1 천→바구니 | OK | Cloth_11 | 355 s | |
train_1652__2001 (쌍둥이: 천→책상 · 음식→식탁 · 도구→바구니) — 유닛 4/6 · sim 13분 38초 (벽 컬링 적용판 재실행)
exo_camera_1 · 16× — 천 → 책상 · 사과 → 식탁 · 뒤집개 → 바구니 · (천 파지 실패) · 계란 → 식탁 · (칼 파지 실패)

exo_camera_1 — 시작 · 천을 책상에 · 사과를 식탁에 · 바구니 옆 · 조리대의 남은 천 · 계란을 식탁에 · 조리대의 칼
| 유닛 | 결과 | 물체 | 벽시계 | 비고 |
| t1u0 천→책상 | OK | Cloth_10 | 895 s | |
| t2u0 음식→식탁 | OK | Apple_13 | 817 s | 식탁 수납처 첫 실증 |
| t3u0 도구→바구니 | OK | Spatula_1 | 551 s | |
| t1u1 천→책상 | FAIL | Cloth_11 | 187 s | Cloth_6 베이스 후보 3개뿐 → Cloth_11 그리퍼가 물체에서 11.6 cm 떨어져 닫힘 |
| t2u1 음식→식탁 | OK | Egg_29 | 809 s (2회) | 계란 파지 첫 성공 |
| t3u1 도구→바구니 | FAIL | Knife_1 | 436 s | Knife_4·Knife_1 그리퍼가 17.5·22 cm 떨어져 닫힘, 국자 계획 불능 |
식탁이 소파를 대체한다: 식탁 유닛 4/4 (v2e 소파 0/4). 두 편 모두 첫 바퀴 3/3 — 규칙 세 개가 전부 실행된 컨텍스트가 쌍둥이 짝으로 확보됐다. 합계 9/12 (v2e 6/12). 이 집의 수납처 = 책상·식탁·바구니.
남은 실패 3건은 전부 두 번째 바퀴 파지: 첫 바퀴가 조리대 앞쪽 물체를 걷어 가면 안쪽에 남은 물체는 베이스 후보가 3~16개로 줄고, 칼은 그리퍼가 물체에서 17~22 cm 떨어진 채 닫힌다(파지점이 칼날 끝에 잡힘). 사과는 파지 후 운반 중 떨어졌다. 편 판정은 여전히 "개수 미달" — 데이터 판에서 (a) 한 바퀴(유닛 3개)를 합격 기준으로 하거나 (b) task 당 2개 중 1개 성공을 허용하면 두 편 다 합격이다.
발화 낱말 어긋남 재확인: L2 문장이 task 낱말 고정이라 계란 유닛이 "apple", 칼 유닛이 "spatula" 로 적힌다. 유닛별 실제 배우 낱말로 바꿔야 한다(데이터 판).
2 설정
| 편 | R1 CLOTH (Cloth ×3) | R2 FOOD (Apple ×3) | R3 CUTLERY (Knife ×3) | 출발 상면 |
train_1652__2000 | 식탁(거실) → 바구니(주입) | 조리대(부엌) → 책상(침실) | TV장(거실) → 소파(거실) | 사전 패스로 못 박음 |
train_1652__2001 쌍둥이 | 식탁 → 책상 | 조리대 → 소파 | TV장 → 바구니 | 동일 |
방 3(침실·부엌·거실) · 유닛 9 · 예상 711 s. 파일럿 단순화: 규칙당 하위 카테고리 1종, task 순차, task 발화. 홀드아웃·숨김 상자·증거 제거는 없음(질의 빌더 몫).
routine_gen.py gen --house train_1652 --seed 2000 # 기본
routine_gen.py gen --house train_1652 --seed 2001 # 쌍둥이 (값 순환)
tools/prestage_resume.py --plan plans_routine/train/train_1652__2000.json --save # 무대 3/3
sbmr 5 "bash scripts/routine_pilot.sh" --gres=gpu:1 -c 12 --mem 96GB --qos=extra --time 03:00:00
3 관찰
관통: env.sh·에셋 링크·EGL·주입·스테이징·발화·유닛 실행·스트리밍이 워커에서 전부 동작. 계획서 §8 "실행 코드 변경 0" 확인.
천 파지: 얇은 천(2.8~3.3 cm)만 파지된다 — 8.6 cm 는 5장 전부 파지 계획 불능(v2b). 1차의 "얇아서 실패" 해석은 틀렸다(Cloth_11 은 4장 중 1장만 실패). 유닛 하나에 10~30분 걸린 것은 파지·놓기 계획 재시도 탓 — 배우·베이스 후보 수가 곧 시간이다.
소파·TV장: 소파는 파지·놓기 계획이 "채택"돼도 쿠션 위 안착 판정(on_surface)이 4/4 실패(칼·국자·사과). TV장은 상판 위 구조물이 놓기 IK 를 막아 사전 패스 프로브 탈락. train_1652 에서 검증된 수납처는 책상·바구니, v2g 가 거실 식탁을 시험 중. 데이터 판에서는 수납처 클래스별 놓기 가능을 집 선정 단계에서 전수 스캔.
시작 자세·스테이징 순서: 바구니가 출발 상면 방 anchor 옆에 서서 로봇 시작 자리와 33 cm 겹쳐 첫 주행부터 끼임(v2d) → 테이블 방이 아닌 방에서 출발(start_pose_away). 쌍둥이 천→책상 프로브는 task 순서에 따라 성립/탈락 — 큰 물체를 먼저 세운다. 계획서 §11-5 에 반영.
바구니 놓기: u1 에서 바구니 앞 베이스 11곳 전부 ik/reach 기각. u0 때 "도킹 자리 여유 15 cm < 운반 반경 55 cm" 경고가 있었다 — 통을 세운 자리(벽·가구 거리)가 원인 후보. type2 는 같은 통으로 삽입 IK 82/83 이었으므로 통 자리 규약을 routine 에 맞게 손볼 것.
사전 패스: 첫 시도에서 "출발 상면 = 도착 클래스 상면"(책상 1개) 겹침으로 2/3 → 도착 클래스 상면을 출발 후보에서 빼서 3/3.
4 Next
① 사용자 판단: v2g 영상(§1d)이 원하는 형태인지 · 편 합격 기준(한 바퀴 3/3 vs task 당 2개 중 1개) ②′ 두 번째 바퀴 파지 개선: 배우 순서를 앞쪽(로봇 쪽) 물체부터, 칼 파지점을 손잡이로 제한, 사과 운반 그립 폭 ② 데이터 판 routine_gen: 홀드아웃·미끼·숨김 상자 주입, 유닛별 발화 낱말, 수납처 놓기 가능 전수 스캔(pick 확장), 큰 물체 먼저 스테이징 ③ build_routine_queries.py(증거 제거 + 홀드아웃 배치 q_*.npz) · pack_routine · eval 등록 ④ 유닛 벽시계 축소(배우·베이스 후보·재시도 상한) ⑤ sbatch 큐 래퍼 + 쌍둥이 우선 재시도.