LeRobot documentation
RoboCerebra
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.
- Makale: RoboCerebra: Uzun Dönemli Robotik Manipülasyon Değerlendirmesi için Büyük Ölçekli Bir Çekirdek
- Proje web sitesi: robocerebra.github.io
- Veri seti:
lerobot/robocerebra_unified— LeRobot v3.0, 20 fps'de 6.660 bölüm / 571.116 kare, 1.728 dil temelli alt görev. - Önceden eğitilmiş politika:
lerobot/smolvla_robocerebra
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:
| Suite | CLI adı | Görevler | Açıklama |
|---|---|---|---|
| LIBERO-10 | libero_10 | 10 | 3–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 uint8observation.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:
| Özellik | Biçim | Açı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_robocerebrasmolvla_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.