LeRobot documentation

RoboCerebra

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

RoboCerebra

The commands below run the simulator locally. To keep its dependencies away from your policy's, serve it instead with `lerobot-env-server --config_path=docker/sim/configs/robocerebra.yaml --sim.task=--docker=true`, where `` is the command's `--env.task`, and run the command with `--env.type=robocerebra --env.server.endpoint=tcp/127.0.0.1:7448`. A server runs the task it was started with (see [Simulation: local or served](./simulation)).

RoboCerebra, VLAlarda yüksek düzey akıl yürütme, planlama ve bellek yeteneklerini değerlendiren uzun vadeli bir manipülasyon benchmark'udur. Bölümler, dil temelli ara talimatlarla birden fazla alt hedefi zincirler ve LIBERO'nun simülatör yığını (MuJoCo + robosuite, Franka Panda 7-DOF) üzerine inşa edilmiştir.

Mevcut görevler

RoboCerebra, LIBERO simülatörünü yeniden kullanır; bu nedenle değerlendirme, LIBERO libero_10 uzun ufuklu test setine karşı çalıştırılır:

SuiteCLI adıGörevlerAçıklama
LIBERO-10libero_10103–6 alt hedefi zincirleyen uzun vadeli mutfak/oturma odası görevleri

Veri setindeki her RoboCerebra bölümü, doğal dil talimatlarıyla birden fazla alt göreve ayrılmıştır ve birleşik veri seti bunları bağımsız denetim sinyalleri olarak sunar.

Kurulum

RoboCerebra, LIBERO üzerine inşa edilmiştir, bu nedenle libero ek paketinin yüklenmesi yeterlidir:

pip install -e ".[libero]"
RoboCerebra requires Linux (MuJoCo / robosuite). Set the rendering backend before training or evaluation:
export MUJOCO_GL=egl  # for headless servers (HPC, cloud)

Değerlendirme

RoboCerebra değerlendirme çalışmaları, LIBERO’nun libero_10 seti üzerinde, RoboCerebra’nın kamera adlandırması (image + wrist_image) ve üç görünümle eğitilmiş bir politikanın beklenen giriş düzenini almasını sağlayan ek bir boş kamera yuvasıyla gerçekleştirilir:

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

Önerilen değerlendirme bölümleri

libero_10 setinde (toplam 100) tekrarlanabilir kıyaslama için görev başına 10 bölüm. RoboCerebra makalesinde kullanılan protokol ile uyumludur.

Politika girdileri ve çıktıları

Gözlemler:

  • observation.state — 8 boyutlu proprioseptif durum (7 eklem konumu + kavrama)
  • observation.images.image — üçüncü şahıs görünümü, 256×256 HWC uint8
  • observation.images.wrist_image — bileğe monte edilmiş kamera görünümü, 256×256 HWC uint8

Eylemler:

  • Box(-1, 1, shape=(7,)) içinde sürekli kontrol — uç efektor delta (6B) + kavrama (1B)

Eğitim

lerobot/robocerebra_unified adresindeki birleşik veri seti, iki RGB akışını ve dil temelli alt görev açıklamalarını sunar:

ÖzellikBiçimAçıklama
observation.images.image(256, 256, 3)Üçüncü şahıs görünümü
observation.images.wrist_image(256, 256, 3)Bilek takılı kamera
observation.state(8,)Birleşik konum + kavrama
action(7,)EEF delta + kavrama

Üzerinde bir SmolVLA tabanını ince ayarlayın:

lerobot-train \
  --policy.path=lerobot/smolvla_base \
  --policy.repo_id=${HF_USER}/smolvla_robocerebra \
  --policy.empty_cameras=1 \
  --dataset.repo_id=lerobot/robocerebra_unified \
  '--rename_map={"observation.images.image": "observation.images.camera1", "observation.images.wrist_image": "observation.images.camera2"}' \
  --env.type=libero \
  --env.task=libero_10 \
  '--env.camera_name_mapping={"agentview_image": "image", "robot0_eye_in_hand_image": "wrist_image"}' \
  --output_dir=outputs/smolvla_robocerebra

smolvla_base, kameraların camera1–camera3 adlarında olmasını beklediğinden, kamera bayrakları Değerlendirme komutundakiyle aynıdır: --rename_map, veri seti kameralarını bu adlara eşler ve --env.camera_name_mapping, eğitim sırasında değerlendirme için LIBERO kameralarına veri setinin adlarını verir.

Yayınlanan sonuçların yeniden üretilmesi

Yayınlanan kontrol noktası lerobot/smolvla_robocerebra, lerobot/robocerebra_unified üzerinde eğitilmiş ve Değerlendirme bölümündeki komutla değerlendirilmiştir. CI, benchmark'a dokunan her PR'da aynı komutu --eval.n_episodes=1 ile duman testi olarak çalıştırır.

Update on GitHub