← Index
2026-08-21 — Research

MolmoBot-Data 태스크 커버리지 — open/close/button은 있는가

MolmoBot | HF config 전량 조회 + h5 지시문 실측 + 벤치마크/코드 정독

TL;DR

1데이터셋 config 전량 (HF API 직접 조회, 9종)

config로봇스킬파일 수보유
FrankaPickOmniCamConfigFrankapick759✅
FrankaPickAndPlaceOmniCamConfigFrankapick + place1,605✅
FrankaPickAndPlaceNextToOmniCamConfigFrankapick + place (공간)599✅
FrankaPickAndPlaceColorOmniCamConfigFrankapick + place (색)98✅
FrankaPickAndPlaceOmniCamConfig_ObjectBackfillFrankapick + place142❌
RBY1OpenDataGenConfigRBY1open126❌
DoorOpeningDataGenConfigRBY1문 열기860❌
RBY1PickDataGenConfigRBY1pick418❌
RBY1PickAndPlaceDataGenConfigRBY1pick + place148❌
Franka용 open/close 데이터는 없다. open 계열은 전부 RBY1 embodiment이고, close 전용 데이터는 어느 로봇에도 존재하지 않는다.

2보유 데이터 지시문 실측 (h5 obs_scene 직접 샘플링)

main PnP p1 : Pick up the white ceramic mug with logo and place it in or on the stone bowl Pick p0 : Pick up the axe with wooden handle NextTo p2 : Pick up the curved green-handled black knife and place it next to the ... Color p0 : Pick up the black spherical bomb with fuse and place it in or on the tan bowl

4종 전부 동사가 Pick 하나. NextTo/Color의 차이는 "스킬"이 아니라 "지시문 조건"(공간 관계·색 구분)의 차이였다는 뜻이기도 하다.

3평가 벤치마크는 Franka Open/Close가 이미 있다

.../molmospaces-bench-v2/procthor-10k/ FrankaOpenHardBench ← 200ep, 학습 데이터 없음 FrankaCloseHardBench ← 200ep, 학습 데이터 없음 (게다가 아래 4번 결함) FrankaPickHardBench / FrankaPickandPlaceHardBench / FrankaPickandPlaceNextToHardBench ← 우리가 쓴 3종 FrankaPickDroidMiniBench / FrankaPickandPlaceDroidMiniBench NavToObjDataGenConfig / RBY1PickDataGenConfig / RBY1PickAndPlaceDataGenConfig / rby1_bennchmarks
학습 데이터 없이 평가만 가능한 스킬이 존재한다 — pick 데이터만으로 학습한 정책이 서랍·냉장고를 여는지 zero-shot으로 측정 가능. 비용은 eval 1잡(~4h).

4⚠️ FrankaCloseHardBench는 close를 측정하지 못한다

molmo_spaces/tasks/opening_tasks.py의 OpeningTask.get_reward():

rewards_envs = np.zeros(self._env.n_batch) self.config.task_type = "open" # ← 92행, 무조건 대입 if self.config.task_type == "open": # 항상 참 ...percent_open 계산... elif self.config.task_type == "close": # ← 도달 불가능한 데드코드 ... rewards_envs = 1 - rewards_envs # close 리워드는 올바르게 구현돼 있으나 실행되지 않음
항목FrankaOpenHardBenchFrankaCloseHardBench
지시문 첫 단어 (200개)Open × 200Open × 200 (!)
벤치 JSON task_typeNoneNone
joint_start_position[0.0] (닫힘)[0.243] (이미 열림)
task_success_threshold0.150.85
현재 코드에서의 실제 채점15% 이상 열면 성공 — 정상"이미 열린 걸 85%까지 더 열어라"
Close 벤치는 지시문("Open the modern dark gray refrigerator")과 채점 로직이 모두 open을 향해 있다. 지금 돌리면 close를 측정하는 게 아니다. 쓰려면 92행 하드코딩 제거 + 벤치 task_type 주입 + 지시문 재생성이 선행돼야 하며 이는 upstream 수정 범위다.

5버튼 누르기 — 전무

molmo_spaces 패키지 전체에서 button 문자열은 3파일에만 등장한다: phone_policy.py, spacemouse.py, teleop_utils.py — 전부 텔레오퍼레이션 입력장치의 버튼이다. 버튼/스위치/토글/레버를 조작 대상으로 하는 태스크 클래스·벤치마크·데이터는 하나도 없다.

참고로 코드에는 있으나 Franka 데이터가 배포되지 않은 태스크: OpeningTask(Cabinet/Drawer/Oven/Dishwasher/Showerdoor), packing_task, nav_task, pickup_stretch_task, multi_task.

6Takeaway & Next

open/close로 확장하려면 데이터를 새로 만들거나(datagen) embodiment를 RBY1으로 바꿔야 한다. pi0.5 Franka 체크포인트를 그대로 살리면서 open/close를 배우는 경로는 현재 배포판에 존재하지 않는다.
  1. (값싼 선택지) FrankaOpenHardBench zero-shot 측정 — rollout_val.sh의 BENCHES 배열에 한 줄 추가하면 끝. 기대치는 낮지만(파지는 학습됨, 관절 궤적은 미학습) 일반화 상한을 보는 데 의미 있음
  2. 확장이 필요하다면 우선순위는 (a) MolmoSpaces datagen으로 Franka open 궤적 생성 → (b) RBY1 데이터로 별도 embodiment 학습. 기존 자산 재사용 측면에서 (a)가 유리
  3. FrankaCloseHardBench 결함은 upstream 이슈로 보고할 가치 있음