TL;DR
- Franka 데이터는 사실상 pick/place 단일 스킬 — 보유 4종 h5의 지시문이 100%
Pick up .... open/close/press 0건
- open 데이터는 존재하지만 RBY1(양팔+모바일) 전용 —
RBY1OpenDataGenConfig, DoorOpeningDataGenConfig. Franka로는 못 씀. close 전용 데이터는 어느 로봇에도 없음
- 버튼 누르기는 전무 — 태스크·벤치·데이터 어디에도 없음.
button 매치 3건은 전부 텔레오퍼레이션 입력장치 코드
- 반면 평가 벤치마크는 Franka Open/Close가 이미 존재(각 200ep) — 학습 없이 zero-shot 측정만 가능한 상태
- ⚠️
FrankaCloseHardBench는 현재 버전에서 close를 측정하지 못한다 (아래 4번)
1데이터셋 config 전량 (HF API 직접 조회, 9종)
| config | 로봇 | 스킬 | 파일 수 | 보유 |
| FrankaPickOmniCamConfig | Franka | pick | 759 | ✅ |
| FrankaPickAndPlaceOmniCamConfig | Franka | pick + place | 1,605 | ✅ |
| FrankaPickAndPlaceNextToOmniCamConfig | Franka | pick + place (공간) | 599 | ✅ |
| FrankaPickAndPlaceColorOmniCamConfig | Franka | pick + place (색) | 98 | ✅ |
| FrankaPickAndPlaceOmniCamConfig_ObjectBackfill | Franka | pick + place | 142 | ❌ |
| RBY1OpenDataGenConfig | RBY1 | open | 126 | ❌ |
| DoorOpeningDataGenConfig | RBY1 | 문 열기 | 860 | ❌ |
| RBY1PickDataGenConfig | RBY1 | pick | 418 | ❌ |
| RBY1PickAndPlaceDataGenConfig | RBY1 | pick + place | 148 | ❌ |
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 리워드는 올바르게 구현돼 있으나 실행되지 않음
| 항목 | FrankaOpenHardBench | FrankaCloseHardBench |
| 지시문 첫 단어 (200개) | Open × 200 | Open × 200 (!) |
벤치 JSON task_type | None | None |
joint_start_position | [0.0] (닫힘) | [0.243] (이미 열림) |
task_success_threshold | 0.15 | 0.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를 배우는 경로는 현재 배포판에 존재하지 않는다.
- (값싼 선택지)
FrankaOpenHardBench zero-shot 측정 — rollout_val.sh의 BENCHES 배열에 한 줄 추가하면 끝. 기대치는 낮지만(파지는 학습됨, 관절 궤적은 미학습) 일반화 상한을 보는 데 의미 있음
- 확장이 필요하다면 우선순위는 (a) MolmoSpaces datagen으로 Franka open 궤적 생성 → (b) RBY1 데이터로 별도 embodiment 학습. 기존 자산 재사용 측면에서 (a)가 유리
FrankaCloseHardBench 결함은 upstream 이슈로 보고할 가치 있음