Index
2026-09-04 — Experiment

Routine(type3) 파일럿 — 쌍둥이 1짝 실제 생성 (영상)

train_1652 · 옷→바구니 · 사과→책상 · 칼→소파 (쌍둥이: 값 순환) · 워커 1 GPU

TL;DR

9/12
v2g 유닛 (두 편 합)
3/3 · 3/3
첫 바퀴 (__2000 · __2001)
4/4
식탁 유닛 (소파 0/4)
6/12
v2e 유닛 (소파 판)
821 / 801 s
v2g sim 길이
187~1,001 s
유닛 벽시계

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 · 8×
wrist_camera · 8×
exo strip
exo_camera_1 · 590프레임(23.6 s) 간격 6장 — 식탁 위 천 3장, 바구니(주입), 천을 들고 이동
wrist strip
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× — 식탁에서 천을 집어 거실을 지나 침실 책상에 두 번 올린다
wrist_camera · 8×
exo strip 2001
exo_camera_1 · 1,080프레임(43 s) 간격 6장 — 식탁 위 천, 운반, 책상(휴대폰 옆)에 놓기, 복귀
편유닛 결과폐기 사유sim 길이
__2000 천→바구니u0 OK(493 s) · u1 FAIL바구니 놓기 해 없음 — 베이스 11곳 IK 전부 ik/reach141 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× — 침실 출발 → 조리대에서 감자 → 책상 · 칼 → 소파(실패) · 천 → 바구니 · … · 천 → 바구니
wrist_camera · 16×
v2e strip
exo_camera_1 — 시작(침실) · 책상 접근 · 감자를 책상에 · 바구니 옆 부엌 · 천을 바구니에 ×2
유닛결과물체비고
t1u0 음식→책상OKPotato_6첫 배우 사과 파지 계획 불능 → 감자. 977 s
t2u0 도구→소파FAILKnife_4놓기 계획 채택 후 소파 안착 판정 실패 (쿠션)
t3u0 천→바구니OKCloth_6573 s
t1u1 음식→책상FAILApple_9계란 파지 계획 불능 → 사과, 책상 안착 판정 실패
t2u0 도구→소파 (재)FAILLadle_1소파
t3u1 천→바구니OKCloth_11663 s
소파는 수납처로 부적합: 두 편 네 번 모두 놓기 계획은 잡히는데 안착 판정에서 실패(사과가 구르고 칼이 미끄러짐). TV장은 사전 패스에서 놓기 IK 탈락. 이 집에서 검증된 수납처는 책상·바구니, 3번째는 거실 식탁으로 대체(v2g, 실행 중).
v2 로 오면서 잡힌 것 4건: ① 도착 클래스 상면을 출발 후보에서 제외 ② 두꺼운 천(8.6 cm)은 파지 전멸 → 얇은 천만 ③ 바구니가 로봇 시작 자리 옆에 서서 끼임 → 시작 자세를 다른 방으로 ④ 쌍둥이 사전 패스는 task 순서에 의존(큰 물체 먼저).

train_1652__2001 (쌍둥이: 천→책상 · 음식→소파 · 도구→바구니) — 유닛 3/6 · sim 19분 33초

exo_camera_1 · 16× — 천 → 책상 ×2, 뒤집개 → 바구니. 계란·감자 → 소파는 실패
wrist_camera · 16×
v2e twin strip
exo_camera_1 — 시작 · 천을 책상에 · 뒤집개를 바구니에 · 두 번째 천을 책상에 · (소파 시도)
유닛결과물체비고
t1u0 천→책상OKCloth_10850 s
t2u0 음식→소파FAILEgg_29소파 안착 실패
t3u0 도구→바구니OKSpatula_1568 s
t1u1 천→책상OKCloth_11849 s
t2u0 음식→소파 (재)FAILPotato_6소파
t3u1 도구→바구니FAILKnife_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× — 감자 → 책상 · 칼 → 식탁 · 천 → 바구니 · (사과 운반 중 낙하) · 칼 → 식탁 · 천 → 바구니
wrist_camera · 16×
v2g strip
exo_camera_1 — 유닛 경계 7장: 시작(침실) · 감자를 책상에 · 칼을 식탁에 · 천을 바구니에 · 사과(실패) · 칼을 식탁에 · 천을 바구니에
유닛결과물체벽시계비고
t1u0 음식→책상OKPotato_61,001 s첫 배우 Apple_13 파지 계획 불능 → 감자
t2u0 도구→식탁OKKnife_1770 s
t3u0 천→바구니OKCloth_6544 s
t1u1 음식→책상FAILApple_9409 s계란 파지 계획 불능 → 사과 파지 성공 → 운반 중 낙하
t2u1 도구→식탁OKKnife_4645 s
t3u1 천→바구니OKCloth_11355 s

train_1652__2001 (쌍둥이: 천→책상 · 음식→식탁 · 도구→바구니) — 유닛 4/6 · sim 13분 38초 (벽 컬링 적용판 재실행)

exo_camera_1 · 16× — 천 → 책상 · 사과 → 식탁 · 뒤집개 → 바구니 · (천 파지 실패) · 계란 → 식탁 · (칼 파지 실패)
wrist_camera · 16×
v2g twin strip
exo_camera_1 — 시작 · 천을 책상에 · 사과를 식탁에 · 바구니 옆 · 조리대의 남은 천 · 계란을 식탁에 · 조리대의 칼
유닛결과물체벽시계비고
t1u0 천→책상OKCloth_10895 s
t2u0 음식→식탁OKApple_13817 s식탁 수납처 첫 실증
t3u0 도구→바구니OKSpatula_1551 s
t1u1 천→책상FAILCloth_11187 sCloth_6 베이스 후보 3개뿐 → Cloth_11 그리퍼가 물체에서 11.6 cm 떨어져 닫힘
t2u1 음식→식탁OKEgg_29809 s (2회)계란 파지 첫 성공
t3u1 도구→바구니FAILKnife_1436 sKnife_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 큐 래퍼 + 쌍둥이 우선 재시도.