LeRobot documentation
RoboColosseum
RoboColosseum
RoboColosseum, gerçek dünyada dağıtık olarak çalışan genel amaçlı robot politikalarını, sahada konuşlandırılmış fiziksel robotlar üzerinde değerlendirmek için bir referans testidir. Değerlendirmeler standartlaştırılmış kurulumlarda çalıştırılır: Unitree G1 humanoidleri, çift kollu YAM, DROID kurulumundaki Franka kolları ve SO-101. Başarısızlıklar dahil olmak üzere her değerlendirme çalıştırması, LeRobot biçiminde Hugging Face Hub üzerinde yayımlanır.
Bu sayfa, bir LeRobot politikasının iki değerlendirme turu için nasıl hazırlanacağını ve RoboColosseum’un robotlarına nasıl bağlanacağını açıklar. Bir politikanın değerlendirilmesini istiyorsanız, RoboColosseum web sitesinde başvuru yapın.
- Makale: RoboColosseum: Evaluating Physical Intelligence at Scale In-The-Wild
- GitHub: RoboColosseum/RoboColosseum
- Proje web sitesi: robocolosseum.ai
- Sıralama tablosu: robocolosseum.ai/leaderboard
- Veri seti: RoboColosseum Datasets koleksiyonu

Genel Bakış
| Özellik | Değer |
|---|---|
| Uygulamalar | SO-101, Franka (DROID), Bimanual YAM, Unitree G1 |
| İnce Ayarlama Takibi | 20 görev, her vücut tipi için 5 görev. Her politika, bir görevin aynı 100 gösterimi üzerinde ince ayarlanır, ardından 25 deneme yapar. |
| Open Track | İki anonimleştirilmiş politika, aynı sahnede aynı yeni talimata çalışır; değerlendirici daha iyi çalışmayı seçer veya berabere ilan eder. Kontrol noktası dondurulur. |
| Değerlendirme | RoboColosseum'un fiziksel robotları hakkında |
Fiziksel kurulum

Her site, bir vücut (embodiment) için aynı donanım yapılandırmasını kullanır. Şekilde soldan sağa: Bimanual YAM, SO-101, DROID yapılandırmasındaki Franka ve Unitree G1. Kamera adları, Fine-tune Track veri setlerindeki observation.images.* anahtarlarıdır.
| Vücutlanma | Robot | Kameralar |
|---|---|---|
| SO-101 | Yüksekliği ayarlanabilir mobil bir masadaki SO-101 takip kolu | front: eklemli kolda Intel RealSense D435; wrist: bilek kamerası |
| Franka (DROID) | DROID yapılandırmasında, taşınabilir ayakta çalışma masasında Robotiq 2F-85 gripper'lı Franka Panda 7-DoF kolu | left_image, right_image: iki ayarlanabilir ZED 2 stereo kamera; wrist: ZED Mini bilek stereo kamerası |
| Bimanual YAM | Yüksekliği ayarlanabilir mobil bir masada MolmoAct2 YAM kiti içinden iki YAM kolu | top: direğin üzerindeki Intel RealSense D435; left, right: bilek kameraları Intel RealSense D405 |
| Unitree G1 | Unitree G1 insan benzeri robotu ve Unitree Dex-1 paralel kavrayıcıları | head: stereo baş kamerası; left_wrist, right_wrist: Intel RealSense D405 bilek kameraları |
SO-101 ve Bimanual YAM istasyonları ayrıca bir RTX 5090 GPU ve 700 W taşınabilir güç istasyonu içeren bir dizüstü bilgisayara da sahiptir. Politika çıkarımı, bu dizüstü bilgisayarda yerel olarak veya sunucu barındırmalı bir uç noktadan uzaktan çalıştırılır.
Mevcut görevler
Fine-tune Track'ta 20 görev bulunur, her vücut tipi için 5 görev. Her görev, Hub'da 100 epizodla kaydedilmiş ayrı bir LeRobot v3.0 veri setidir:
| Görev | Vücutlanma | Talimat |
|---|---|---|
so101-cube-drawer | SO-101 | Masa üzerindeki mavi küpü açık çekmeceye koyun, ardından çekmeceyi kapatın. |
so101-remove-screwdriver | SO-101 | Siyah tornavidayı kutudan çıkarın ve masaya yerleştirin. |
so101-stack-bowls | SO-101 | Sağdaki beyaz plastik kaseyi al ve soldaki beyaz plastik kase üzerine yerleştir. |
so101-stack-cubes | SO-101 | Mavi küpü kırmızı küpün üzerine yerleştirin, ardından beyaz küpü mavi küpün üzerine yerleştirin. |
so101-upright-bottle | SO-101 | Yere düşen meyve suyu şişesini al ve masada dik bir şekilde durdur. |
droid-close-laptop | Franka (DROID) | laptopu kapat |
droid-mug-on-coaster | Franka (DROID) | altlığındaki fincan |
droid-open-drawer | Franka (DROID) | çekmeceyi aç |
droid-put-marker-pen | Franka (DROID) | Kalemi kalemlik içine yerleştirin |
droid-towel-in-basket | Franka (DROID) | sepetteki havlu |
yam-cups | Bimanual YAM | Kupaları üst üste dizin. |
yam-drawer | Bimanual YAM | Bardığı çekmeceye koyun. |
yam-dustpan | Bimanual YAM | Tabloyu temizleyin. |
yam-microwave | Bimanual YAM | Mikrodalga fırını açın ve kaseyi çıkarın. |
yam-tray | Bimanual YAM | Tabloyu temizleyin. |
g1-carry-box | Unitree G1 | taşıma kutusu |
g1-fold-towel | Unitree G1 | havlu katla |
g1-hang-keys | Unitree G1 | anahtarlar |
g1-load-clothes-washing-machine | Unitree G1 | load clothes washing machine |
g1-plate-into-rack | Unitree G1 | plakayı rafa yerleştir |
Open Track talimatları, bir değerlendirici tarafından anında yazılır.
Veri seti
Tüm 20 Fine-tune Track veri setini, görev başına bir klasör olacak şekilde ./data/RoboColosseum dizinine indirin. Tam set yaklaşık 35 GB'dır: SO-101 1,4 GB, Franka 4,6 GB, Bimanual YAM 5,9 GB ve Unitree G1 22,7 GB.
for task in so101-cube-drawer so101-remove-screwdriver so101-stack-bowls so101-stack-cubes so101-upright-bottle \
droid-close-laptop droid-mug-on-coaster droid-open-drawer droid-put-marker-pen droid-towel-in-basket \
yam-cups yam-drawer yam-dustpan yam-microwave yam-tray \
g1-carry-box g1-fold-towel g1-hang-keys g1-load-clothes-washing-machine g1-plate-into-rack; do
hf download "RoboColosseum/${task}" --repo-type dataset --local-dir "./data/RoboColosseum/${task}"
doneSadece bazı görevleri indirmek için listede yalnızca o görev adlarını bırakın. Her klasör, kendi içinde bağımsız bir LeRobot veri setidir. Birini yüklemek için klasörünü root olarak iletin:
from lerobot.datasets import LeRobotDataset
dataset = LeRobotDataset(
"RoboColosseum/so101-stack-bowls",
root="./data/RoboColosseum/so101-stack-bowls",
)root verilmediğinde, veri seti ilk kullanımda Hub'dan indirilir.
Kurulum
Modelinizi çalıştıran makinede Policy Server'ı yükleyin:
git clone https://github.com/RoboColosseum/robocolosseum-policy-server.git
cd robocolosseum-policy-server
uv sync --extra demoRobot siteleri, robotun bağlı olduğu bilgisayara Robot Client'ı yükler; burada <robot_type> değeri so101, franka veya yam olabilir:
git clone https://github.com/RoboColosseum/robocolosseum-client.git
cd robocolosseum-client
uv sync --extra <robot_type>Both need Python 3.10 or newer and [uv](https://docs.astral.sh/uv/). The Robot Client also needs FFmpeg to export recordings. On SO-101, the Robot Client drives the arm with LeRobot's `so101_follower` driver, which needs Python 3.12: follow the Client's [SO-101 guide](https://github.com/RoboColosseum/robocolosseum-client/blob/main/docs/so101.md) instead.
Değerlendirme
Değerlendirmeler, RoboColosseum’un robotlarında çalıştırılır. başvurduktan sonra RoboColosseum ekibi, politikanızı iki yoldan biriyle bağlar: kendi çıkarım makinenizde bir Policy Server barındırırsınız ya da robotun yanındaki bir makinede sunulması için bir checkpoint teslim edersiniz.
Open Track denemeleri iki program kullanır:
| Bileşen | Çalıştığı | Ne işe yarar | Depo |
|---|---|---|---|
| Policy Sunucusu | Çıkarım makineniz | Robot gözlemlerini alır, modelinizi çalıştırır ve eylemleri döndürür | robocolosseum-policy-server |
| Robot İstemcisi | Robotun bilgisayarı | Robotu kontrol eder, eylemleri yürütür ve denemeyi kaydeder | robocolosseum-client |
Politikanızı sunun
Policy Server kontrolünde yapılandırmayı oluşturun ve RoboColosseum ekibinden aldığınız Router URL'sini ve Policy Server jetonunu ayarlayın:
cp configs/policy.yaml.example configs/policy.yamlurl: wss://router.example.com:8443
token: pol_replace_with_token_from_router_uiEylemler göndermeden bağlantıyı kontrol edin. Router, bir Robot Client'i sunucunuza eşleştirdiğinde, görev talimatı, eklem ve kavrama durumu ile kamera görüntüleri gösterilir (görüntüler OpenCV pencerelerinde açılır, bu nedenle grafiksel bir ekran gereklidir):
uv run --extra demo python examples/test_policy.py --no-enable-action
Ardından modelinizi Policy Server SDK ile bağlayın. Bunu depo kökünde serve_policy.py olarak kaydedin:
from colosseum_policy_server import ColosseumPolicySDK
from your_policy import load_model # Replace with your own model loader.
def main():
model = load_model()
with ColosseumPolicySDK.from_yaml("configs/policy.yaml") as sdk:
print("Connected to Router. Waiting for observations...", flush=True)
while True:
obs = sdk.get_obs()
actions = model.infer(obs)
sdk.send_action(actions, observation=obs)
if __name__ == "__main__":
main()model.infer(obs), gözlemi (obs.instruction, obs.state.head_image, obs.state.left_image, obs.state.right_image, obs.state.joints, obs.state.gripper) modelinizin girdilerine dönüştürür ve Client ile anlaşılan eylem uzayında (horizon, action_dim) biçiminde bir NumPy dizi döndürür. Varsayılan olarak bu, parça başına en fazla 16 adımla 15 Hz'de joint_position'dur. Sunucuyu başlatın ve değerlendiriciler politikanızı kullanırken çalışır durumda tutun:
uv run python serve_policy.py
Bir robot kurun
Robot Client çıkışında yapılandırmayı oluşturun ve robotunuz için düzenleyin:
cp configs/robot.yaml.example configs/robot.yamlSonra Client'i başlatın:
.venv/bin/colosseum-robot configs/robot.yaml
Yönergeleri izleyerek bir talimat girin veya bir görev seçin, denemeyi çalıştırın ve değerlendirmeyi gönderin. Her deneme LeRobot biçiminde kaydedilir ve dışa aktarılır.
İnce ayar Takip değerlendirme kodu
Fine-tune Track'taki her vücut için kullanılan ince ayar ve değerlendirme kodları herkese açıktır: SO-101, Franka (DROID), Bimanual YAM ve Unitree G1.
Eğitim
İnce Ayarlama Takibi
--dataset.root ile indirilen görev veri setinde eğitim yapın:
lerobot-train \
--dataset.repo_id=RoboColosseum/so101-stack-bowls \
--dataset.root=./data/RoboColosseum/so101-stack-bowls \
--policy.type=<policy_type> \
--policy.repo_id=${HF_USER}/<policy_type>_robocolosseum_so101-stack-bowls \
--output_dir=./outputs/<policy_type>_robocolosseum_so101-stack-bowlsKesin politika yapılandırması, kamera eşlemesi, eylem temsili ve eğitim tarifi, uyarlanan politikaya bağlıdır. Politikanız farklı kamera adları bekliyorsa, bunları --rename_map ile eşleyin.
Not: G0.5 ve LingBot-VLA 2.0 baz çizgileri, orijinal kodlarıyla ince ayarlandı: GalaxeaVLA @ 89f2322 ve lingbot-vla-v2 @ be969b8.
Open Track
Open Track, donmuş bir kontrol noktasını gerçek dünya görevlerinde değerlendirir. RoboColosseum Open Track değerlendirme verileri üzerinde herhangi bir eğitim yapılmaz.
Eğer politikanız hedef vücut yapısını henüz desteklemiyorsa, önce bu vücut yapısına ait açık robot verileri üzerinde uyarlayın, ardından değerlendirme öncesinde elde edilen kontrol noktasını dondurun. Önerilen açık başlangıç veri kümeleri:
| Hedef vücut | Herkese açık başlangıç verileri |
|---|---|
| SO-100 / SO-101 | allenai/MolmoAct2-SO100_101-Dataset |
| Franka (DROID) | DROID |
| Bimanual YAM | allenai/MolmoAct2-BimanualYAM-Dataset |
allenai/MolmoAct2-SO100_101-Dataset, MolmoAct2’nin eğitilmesinde kullanılan SO-100 ve SO-101 LeRobot veri kümelerini, bölüm başına dil açıklamalarıyla birlikte listeler. Kaynak depolarının listesini şu komutla indirin:
hf download allenai/MolmoAct2-SO100_101-Dataset repo_list.json \ --repo-type dataset \ --local-dir ./data/molmoact2_so100_101
repo_list.json dosyasındaki her giriş, lerobot: önekiyle başlayan bir Hub veri seti kimliğidir (örneğin lerobot:<user>/<dataset>). Listeden uyumlu SO-100 / SO-101 veri setlerini seçin ve bunlarla eğitim yapın. Bunların çoğu LeRobot v2.1 biçimini kullanır: yüklemeye başlamadan önce bunları v3.0 biçimine dönüştürün (bkz. LeRobotDataset Kullanımı).
DROID, RLDS biçiminde yayınlanmıştır. Büyük Veri Setlerini Taşıma bölümündeki DROID örneğini izleyerek bunu bir LeRobot veri setine dönüştürün, ardından dönüştürülen veri setinde lerobot-train ile eğitim yapın.
Bimanual YAM veri seti lerobot-train ile doğrudan çalışır:
lerobot-train \
--dataset.repo_id=allenai/MolmoAct2-BimanualYAM-Dataset \
--policy.type=<policy_type> \
--policy.repo_id=${HF_USER}/<policy_type>_bimanual_yam \
--output_dir=./outputs/<policy_type>_bimanual_yamBootstrap aşaması, politikayı yalnızca hedef vücut yapısıyla uyumlu hale getirir. Open Track'e gönderilen checkpoint, değerlendirme sırasında donmuş kalır.
Sıralama tablosuna gönderim
Skorlar RoboColosseum liderlik tablosunda yayınlanır. Bir politikanın değerlendirilmesi için RoboColosseum web sitesinde başvurun. Her parkurun protokolü:
- İnce Ayar İzleme: her politika, bir görevin aynı 100 gösterimi üzerinde ince ayarlanır, ardından 25 deneme yapar. Tam başarılar ve kilometre taşı ilerlemeleri raporlanır.
- Açık Takip: Değerlendiriciler, aynı robot ve sahnede aynı talimatı denemeye çalışan iki anonimleştirilmiş politikayı görür ve daha iyi çalışmayı seçer veya berabere ilan eder. Değerlendirmeler, o robot üzerindeki tüm karşılaştırmalardan uydurulur ve belirsizlikleriyle birlikte gösterilir.