LeRobot documentation
RoboTwin 2.0
RoboTwin 2.0
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/robotwin.yaml --sim.task=--docker=true`, where ` ` is the command's `--env.task`, and add `--env.server.endpoint=tcp/127.0.0.1:7448` to the command. A server runs the task it was started with (see [Simulation: local or served](./simulation)).
RoboTwin 2.0, SAPIEN fizik motoru üzerine kurulu geniş ölçekli çift kollu manipülasyon birincil ölçütüdür. 50 görevde (yukarı akış main itibarıyla) bimanüel robotik politikalar için standartlaştırılmış bir değerlendirme protokolü sunar ve güçlü alan rastgeleleştirmesi (dağınıklık, aydınlatma, arka plan, masaüstü yüksekliği ve dil talimatları) içerir.
- Makale: RoboTwin 2.0: Robust Bimanual Robotic Manipulation için Güçlü Alan Rastgeleleştirmesi ile Ölçeklenebilir Bir Veri Üreticisi ve Çizelgesi
- GitHub: RoboTwin-Platform/RoboTwin
- Sıralama tablosu: robotwin-platform.github.io/leaderboard
- Veri seti: lerobot/robotwin_unified

Genel Bakış
| Özellik | Değer |
|---|---|
| Görevler | 50 çift kollu manipülasyon görevi |
| Robot | Aloha-AgileX iki kollu (14 DOF, kol başına 7) |
| Eylem uzayı | 14 boyutlu eklem uzayı, [-1, 1] aralığında sürekli |
| Kameralar | head_camera, left_camera, right_camera |
| Simülatör | SAPIEN (MuJoCo değil) |
| Değerlendirme protokolü | 100 bölüm/görev, 50 demo_clean gösterimi |
| Değerlendirme ayarları | Kolay (demo_clean) ve Zor (demo_randomized) |
Mevcut görevler
RoboTwin 2.0, envs/ dizininde 50 çift kollu manipülasyon görevi sunar. Kanonik liste, src/lerobot/sim/integrations/robotwin.py dosyasındaki ROBOTWIN_TASKS demetidir ve bu liste, upstream deposundan birebir aynalanmıştır. Örnek görevler:
| Görev | CLI adı | Kategori |
|---|---|---|
| Çekiçle blok kır | beat_block_hammer | Araç kullanımı |
| Zil / alarm saati simgesine tıklayın | click_bell | Hassas baskı |
| Blokları yığ (2 / 3) | stack_blocks_two/three | Yığınlama |
| Kâseleri üst üste diz (2 / 3) | stack_bowls_two/three | Yığınlama |
| Devir bloğu / mikrofon | handover_block | İki elle koordinasyon |
| Lift pot | lift_pot | İki elle kaldırma |
| Şişeyi çalkalayın | shake_bottle | Sürekli hareket |
| Anahtarı değiştir | turn_switch | Artiküle edilmiş nesne |
| Mühür | stamp_seal | Hassas yer |
| Nesneyi tara | scan_object | Mobil manipülasyon. |
Tek bir değerlendirme turunda birden fazla görev çalıştırmak için --env.task parametresine virgülle ayrılmış bir liste iletin.
`open_laptop` is currently broken upstream (its `check_success()` uses `self.arm_tag`, which is only set inside the scripted-expert `play_once()` path and therefore unavailable during normal policy eval). Avoid it until the upstream bug is fixed, or patch the task to default `self.arm_tag = "left"` in `load_actors()`.
Veri seti
RoboTwin 2.0 veri seti, Hugging Face Hub'da LeRobot v3.0 biçiminde mevcuttur:
lerobot/robotwin_unified
Tüm 50 görev için 100.000'den fazla önceden toplanmış yörünge içerir (79,6 GB, Apache 2.0 lisansı). Biçim dönüşümü gerekmez — zaten video gözlemleri ve eylem etiketleriyle doğru LeRobot v3.0 şemasındadır.
Bunu doğrudan HF Datasets kütüphanesiyle yükleyebilirsiniz:
from datasets import load_dataset
ds = load_dataset("lerobot/robotwin_unified", split="train")Kurulum
RoboTwin 2.0, NVIDIA GPU'ye sahip bir Linux gerektirir (SAPIEN, Vulkan ile render yapar). Planlayıcıları olan CuRobo ve pytorch3d, CUDA kodlarını torch 2.7.1'e karşı derler; bu, LeRobot'un torch sürümüyle eşleşmediğinden RoboTwin, lerobot-env-server arkasında kendi ortamında çalışır ve politika tarafı yalnızca LeRobot'a ihtiyaç duyar.
Sunulan görüntü (önerilen)
lerobot-env-server --config_path=docker/sim/configs/robotwin.yaml --sim.task=beat_block_hammer --docker=trueİlk çalıştırma, docker/Dockerfile.sim dosyasındaki robotwin_native aşamasını oluşturur (yaklaşık 20 dakika, büyük ölçüde pytorch3d ve CuRobo için). Küçük bir makinede, sınırlı bellekle önce görüntüyü kendiniz oluşturun; sunucu ardından bunu yeniden kullanır:
docker build -f docker/Dockerfile.sim --build-arg SIM=robotwin \
--build-arg MAX_JOBS=1 --build-arg CUROBO_CUDA_ARCHS=8.6 -t lerobot-sim-robotwin:local .burada 8.6, GPU'nuzun hesaplama yeteneğidir. Aşağıdaki değerlendirme komutlarına --env.server.endpoint=tcp/127.0.0.1:7448 ekleyin.
Yerel ortam
Docker olmadan sunucuyu çalıştırmak için, test edilen tarife olan docker/Dockerfile.sim dosyasındaki robotwin_native aşamasını ayrı bir sanal ortamda yeniden oluşturun: CUDA 12.8 nvcc, torch 2.7.1, sabitlenmiş RoboTwin commit'i ve varlıkları, CuRobo v0.7.8 ve RoboTwin'in mplib ile SAPIEN yamaları. Ardından LeRobot'u --no-deps ile birlikte docker/sim/requirements.txt dosyasını ekleyerek kurun ve yukarıdaki komuttan --docker=true parametresini çıkarın (bkz. Simülasyon: yerel veya sunulan).
Değerlendirme
Standart değerlendirme (önerilen)
Resmi protokolü (100 bölüm) kullanarak bir politikayı tek bir görevde değerlendirin:
lerobot-eval \
--policy.path="your-hf-policy-id" \
--env.type=robotwin \
--env.task=beat_block_hammer \
--eval.batch_size=1 \
--eval.n_episodes=100Tek görev hızlı kontrol
lerobot-eval \
--policy.path="your-hf-policy-id" \
--env.type=robotwin \
--env.task=beat_block_hammer \
--eval.batch_size=1 \
--eval.n_episodes=5Çok görevli tarama
Tek çalıştırmada birden fazla görevde değerlendirme yapın:
lerobot-eval \
--policy.path="your-hf-policy-id" \
--env.type=robotwin \
--env.task=beat_block_hammer,click_bell,handover_block,stack_blocks_two \
--eval.batch_size=1 \
--eval.n_episodes=100Tam kapsamlı test (tüm 50 görev)
lerobot-eval \
--policy.path="your-hf-policy-id" \
--env.type=robotwin \
--env.task=adjust_bottle,beat_block_hammer,blocks_ranking_rgb,blocks_ranking_size,click_alarmclock,click_bell,dump_bin_bigbin,grab_roller,handover_block,handover_mic,hanging_mug,lift_pot,move_can_pot,move_pillbottle_pad,move_playingcard_away,move_stapler_pad,open_microwave,pick_diverse_bottles,pick_dual_bottles,place_a2b_left,place_a2b_right,place_bread_basket,place_bread_skillet,place_burger_fries,place_can_basket,place_cans_plasticbox,place_container_plate,place_dual_shoes,place_empty_cup,place_fan,place_mouse_pad,place_object_basket,place_object_scale,place_object_stand,place_phone_stand,place_shoe,press_stapler,put_bottles_dustbin,put_object_cabinet,rotate_qrcode,scan_object,shake_bottle,shake_bottle_horizontally,stack_blocks_three,stack_blocks_two,stack_bowls_three,stack_bowls_two,stamp_seal,turn_switch \
--eval.batch_size=1 \
--eval.n_episodes=100`open_laptop` is intentionally omitted above because of the upstream `self.arm_tag` bug (see the **Available tasks** section). Re-add it once the upstream fix lands.
Kamera yapılandırması
Varsayılan olarak, üç kameranın tümü dahildir:
| Kamera anahtarı | Açıklama |
|---|---|
head_camera | Gövdeye monte edilmiş üstten görünüm |
left_camera | Sol kol bileğine takılı kamera |
right_camera | Sağ kol bileğine takılı kamera |
Kameraların bir alt kümesini kullanmak için --env.camera_names parametresini geçersiz kılın:
lerobot-eval \
--policy.path="your-hf-policy-id" \
--env.type=robotwin \
--env.task=beat_block_hammer \
--env.camera_names="head_camera,left_camera" \
--eval.batch_size=1 \
--eval.n_episodes=10Ortam yapılandırma başvurusu
RoboTwinEnvConfig için ana parametreler:
| Parametre | Varsayılan | Açıklama |
|---|---|---|
task | "beat_block_hammer" | Virgülle ayrılmış görev adı(ları) |
fps | 25 | Simülasyon FPS |
episode_length | 1200 | Bölüm başına maksimum adım |
obs_type | "pixels_agent_pos" | "pixels" veya "pixels_agent_pos" |
camera_names | "head_camera,left_camera,right_camera" | Virgülle ayrılmış aktif kameralar |
observation_height | 240 | Kamera piksel yüksekliği |
observation_width | 320 | Kamera piksel genişliği |
Sıralama tablosuna gönderim
Sonuçlar RoboTwin 2.0 liderlik tablosuna gönderilebilir. Resmi protokol şunları gerektirir:
- Görev başına 50
demo_cleangösterim üzerinde eğitim - Görev başına 100 bölümün değerlendirilmesi
- Kolay (
demo_clean) ve Zor (demo_randomized) ayarları için başarı oranını ayrı ayrı raporlama
Gönderim talimatları için RoboTwin 2.0 belgelerine başvurun.
Update on GitHub