RoboCerebra 是一个长时程操作 benchmark,用于评估 VLA 中的 高层 inference、规划和记忆。episode 通过语言基础的中间指令串联多个子目标,构建在 LIBERO 的 simulation 器栈(MuJoCo + robosuite,Franka Panda 7-DOF)之上。
lerobot/robocerebra_unified —— LeRobot v3.0,20 fps 下 6,660 个 episode / 571,116 帧,1,728 个语言基础的子任务。lerobot/smolvla_robocerebraRoboCerebra 复用了 LIBERO 的 simulation 器,因此评估针对 LIBERO libero_10 长时程套件运行:
| 套件 | CLI 名称 | 任务数 | 描述 |
|---|---|---|---|
| LIBERO-10 | libero_10 | 10 | 串接 3–6 个子目标的长时程厨房/客厅任务 |
统一 dataset 中的每个 RoboCerebra episode 都被分割为多个带有自然语言指令的子任务,统一 dataset 将其作为独立的监督信号暴露出来。
RoboCerebra 依附于 LIBERO,因此你只需 libero 附加项:
pip install -e ".[libero]"RoboCerebra 需要 Linux(MuJoCo / robosuite)。在训练或评估前设置渲染后端:export MUJOCO_GL=egl # for headless servers (HPC, cloud)
RoboCerebra 评估针对 LIBERO 的 libero_10 套件运行,使用 RoboCerebra 的相机命名(image + wrist_image)以及一个额外的空相机槽位,以便三视角训练的 policy 接收到预期的输入布局:
lerobot-eval \
--policy.path=lerobot/smolvla_robocerebra \
--env.type=libero \
--env.task=libero_10 \
--env.fps=20 \
--env.obs_type=pixels_agent_pos \
--env.observation_height=256 \
--env.observation_width=256 \
'--env.camera_name_mapping={"agentview_image": "image", "robot0_eye_in_hand_image": "wrist_image"}' \
--eval.batch_size=1 \
--eval.n_episodes=10 \
--eval.use_async_envs=false \
--policy.device=cuda \
'--rename_map={"observation.images.image": "observation.images.camera1", "observation.images.wrist_image": "observation.images.camera2"}' \
--policy.empty_cameras=1在 libero_10 套件上 每个任务 10 个 episode(共 100 个)以实现可复现的 benchmark。与 RoboCerebra 论文中使用的协议一致。
observation:
observation.state —— 8 维本体感觉 state(7 个关节位置 + gripper)observation.images.image —— 第三人称视角,256×256 HWC uint8observation.images.wrist_image —— 腕部相机视角,256×256 HWC uint8action:
Box(-1, 1, shape=(7,)) 中的连续控制 —— end-effector 增量(6D)+ gripper(1D)位于 lerobot/robocerebra_unified 的统一 dataset 暴露两个 RGB 流和语言基础的子任务标注:
| 特征 | 形状 | 描述 |
|---|---|---|
observation.images.image | (256, 256, 3) | 第三人称视角 |
observation.images.wrist_image | (256, 256, 3) | 腕部相机 |
observation.state | (8,) | 关节位置 + gripper |
action | (7,) | EEF 增量 + gripper |
在其上 fine-tune SmolVLA 基础模型:
lerobot-train \ --policy.path=lerobot/smolvla_base \ --dataset.repo_id=lerobot/robocerebra_unified \ --env.type=libero \ --env.task=libero_10 \ --output_dir=outputs/smolvla_robocerebra
发布的 checkpoint lerobot/smolvla_robocerebra 在 lerobot/robocerebra_unified 上训练,并使用 评估 部分中的命令进行评估。CI 在每个触及该 benchmark 的 PR 上以 --eval.n_episodes=1 运行相同命令作为冒烟测试。