Index
2026-05-14 — Engineering

RoboCasa assets 복구 + scene-mem env 완성 + cascade stub 검증

memer | nvidia HF 404 우회 · robocasa-main env 격리 · robosuite compat · 1500-step rollout

TL;DR

env load
3/3
stub tests
38.3s
MemER load
26s
memory build/test
792MB
lightwheel

1 배경 / 목적

260514 새벽 세션에서 cascade adapter 코드는 완성됐으나 scene-mem env 로딩이 외부 blocker로 막혔다. robocasa365_release 브랜치의 download_kitchen_assets.pynvidia/PhysicalAI-Kitchen-Assets/objects_lightwheel.zip을 hardcode하는데, nvidia가 HF repo 재편으로 해당 URL을 제거했다. combo_002unified_model.xmlStool013을 explicit reference해서 우회 불가였다.

외부 blocker: nvidia HF repo 재편으로 objects_lightwheel.zip 404. robocasa upstream이 아직 수정 안 함 (robocasa365_release 브랜치만 해당, main은 utexas Box 사용).

2 작업 내용

1. robocasa main branch가 utexas Box 사용

robocasa/robocasa#maindownload_kitchen_assets.pybox_links_assets.json의 utexas Box URL 방식을 사용한다. robocasa365_release에만 옛 nvidia HF URL이 남아있고 main에 backport 안 됨. 해결:

cd ~/repos/Robotics/robocasa-365 git checkout main # robocasa365_release → main python robocasa/scripts/download_kitchen_assets.py --type all # utexas Box: https://utexas.box.com/shared/static/.zip # HEAD 404지만 GET은 OK → 정상 다운 # 다운 목록: textures, generative_textures, fixtures, # fixtures_lightwheel, objaverse, aigen_objs, # objects_lightwheel (Stool013 포함 69 카테고리) ~10GB total

2. env 격리 (기존 robocasa env 보호)

기존 robocasa env는 v02-preprocessing branch를 editable로 쓰는 다른 작업이 있어 건드리면 안 됨. 신규 env clone으로 격리:

conda create -y --clone robocasa --name robocasa-main # ~2분 conda activate robocasa-main pip uninstall -y robocasa pip install -e ~/repos/Robotics/robocasa-365 --no-deps # main branch pip install 'numpy==2.2.5' # robocasa main의 hard assertion

3. robosuite 호환성 — 연쇄 3단계 fix

증상원인Fix
MoveFridgeToFreezer not foundrobocasa pip editable이 v02 가리킴 (composite envs 없음)robocasa-main env에서 main checkout 가리키도록 repoint
load_model_on_init TypeErrorPyPI robosuite 1.5.2에 kwarg 없음local master editable install (~/repos/Robotics/robosuite)
robosuite.utils.log_utils 없음site-packages의 PyPI 잔재 robosuite/utils/가 editable .pth mapping shadowrm -rf site-packages/robosuite/ + macros_private.py 수동 생성

4. scene-mem env load — 3차 시도

시도에러Fix
1차MoveFridgeToFreezer not foundrobocasa-main pip editable이 v02를 가리킨 상태 → repoint
2차load_model_on_init TypeErrorrobosuite PyPI 1.5.2 → local master (위 3단계)
3차agentview camera not foundeval_runner.py camera_names default 1줄 patch: ["robot0_agentview_left", "robot0_agentview_right", "robot0_eye_in_hand"]
4차 ✅dummy policy combo_002 1500-step rollout 3 tests 완주

5. cascade stub end-to-end (PI05_STUB=1)

05:48:08 spawn memer_worker (V2 LoRA merged ckpt) 05:48:47 MemER ready (38.3s) 05:48:48 pi05_worker spawn (stub mode, ~0s) 05:49:22 RESET test 0 "Show me where the steak is placed." 05:49:56 Memory build: 10230 raw frames → last subtask= "pick the steak from the cabinet and place it on the counter" (34.4s) 05:52:48 Memory build: bowl (20.0s) 05:55:45 Memory build: fish (24.7s) → 3 tests × 1500 steps 완료. memory_success: 0/3 (stub zero action — expected)

3 결과

Metric
Asset 다운로드 (lightwheel 포함)~10 GB total, 792 MB lightwheel (69 카테고리)
robocasa-main env 생성~2 min (conda clone)
scene-mem env load 성공3차 시도 (4번째 run)
dummy policy rollout3 tests × 1500 step, ~5 min
MemER 로딩 시간38.3 s
Memory build 평균~26 s / test (10,230 frames, stride 100)
cascade stub rollout3 tests × 1500 step 완주 ✅
memory_success (stub)0/3 — zero action이라 expected
cascade end-to-end 검증 완료: 3-venv subprocess IPC가 실제 env rollout 환경에서 정상 동작. MemER 출력 분포가 V2 probe 때보다 일관 (prior video 10K frame의 풍부한 context).
target fixture 여전히 부정확: cascade stub의 MemER 출력이 V2 probe와 동일하게 target fixture 틀림. Tier-1 single-atomic 한계. Tier-2 학습으로만 해결 가능.

4 Takeaway

upstream branch gap이 infrastructure blocker가 된 사례

robocasa365_release는 nvidia HF hardcode, main은 utexas Box 사용 — 이 차이를 backport 안 한 것이 3일짜리 blocker가 됐다. 앞으로 외부 dataset/asset download 스크립트는 URL이 아닌 content-hash 기반 검증을 쓰는 upstream이어야 함.

env 격리 패턴 정립

conda create --clone + pip editable repoint 방식으로 기존 env를 보호하면서 새 stack을 도입할 수 있다. 이 패턴은 이후 jax / torch 혼재 환경에서도 재사용 가능.

site-packages 잔재 shadow 문제

PyPI 패키지를 uninstall 후 editable로 바꿀 때 site-packages/ 안에 PyPI가 남긴 디렉토리가 editable .pth mapping을 가리는 경우가 있다. 증상은 ImportError: cannot import name X from Y이나 실제 파일은 존재함. rm -rf site-packages/<pkg>/가 정석 fix.

5 Next Steps

Tier-2 학습으로 target fixture 정확도 확보

cascade 동작은 검증됐으나 MemER가 여전히 target fixture를 틀린다. scene-mem-benchmark의 subtasks.json supervision을 활용한 Tier-2 multi-turn builder + 학습이 다음 단계. → 동일 세션 후반부에서 완료.

real Pi0.5 cascade (PI05_STUB=0)

stub mode에서 zero action이 아닌 진짜 Pi0.5 추론 전환. mme_vla_suite config 매핑 확인 + action chunk[0] → 12-dim env action_dim 트리밍 검증 필요.

30 / 858 scenario sweep (SLURM)

combo_002 단일에서 통계 확보 불가. stratified sample 30 scenario → memory_success 분포 측정 후 858 전체 sweep.