
DROID, BridgeData V2 a Open X-Embodiment sa konvertujú na 7D akcie koncového efektora na 6 a 7-stupňových ramenách. SO-100 prijíma 6 kĺbových pozícií. Čo sa prenáša, čo nie a čo robiť namiesto toho.
Stručná verzia
- •Verzie LeRobot všetkých troch zdieľajú jednu konvenciu: 7D akciu koncového efektora [x, y, z, roll, pitch, yaw, gripper] a 8D stav s výplňovým slotom. SO-100 prijíma šesť absolútnych pozícií kĺbov.
- •Tento 7D vektor je artefaktom konvertora: vlastné akčné pole RLDS DROIDu je 6 rýchlostí kĺbov plus pozícia uchopovača, s karteziánskym pohľadom v action_dict.
- •Štyri hodiny: DROID 15 fps, BridgeData V2 5 fps, výrez google_robot 3 fps, nahrávanie SO-100 pri 30 fps.
- •Nemôžete ich zlúčiť s vlastnými dátami. validate_all_metadata vyvolá chybu pri prvej odlišnosti v fps, robot_type alebo features, a všetky tri sa líšia.
- •Prenášajú sa predtrénované váhy, nie epizódy. Open-source dáta tvoria 9.1 percenta z predtrénovacej zmesi pi0.
- •Ich najlacnejšie skutočné použitie je testovacie zariadenie: známa dobrá 2 GB, 100-epizódová vzorka DROID, ktorá preverí váš pipeline predtým, ako budete nahrávať celý víkend.
Existuje verejný dataset s miliónom trajektórií na Google Cloud buckete a na stole, ktorý stál 110 až 150 EUR v súčiastkach. Prečo prvý nemôže naučiť druhý? Čiastočne môže, ale takmer žiadny prenos sa nedeje tam, kde ľudia očakávajú, a časť, ktorá vyzerá najjednoduchšie, vôbec nefunguje.
Čo nasleduje: čo je vo vnútri , a , kde sa každý stretáva s lacným 5-DoF ramenom, a čo robiť namiesto toho. Každé číslo nižšie pochádza z článku, karty datasetu alebo zdrojového súboru, ku ktorému patrí.
Čo tri datasety skutočne obsahujú
| DROID | BridgeData V2 | Open X-Embodiment | |
|---|---|---|---|
| Robot | Franka Panda, 7 DoF, Robotiq 2F-85 | WidowX 250, 6 DoF, ~4,000 USD rig | 22 embodiments, 60 datasets, 34 labs |
| Mierka | 76k trajectories, 350 hours | 60,096 trajectories | 1M+ trajectories, 527 skills |
| Diverzita | 564 scenes, 84 tasks, 50 collectors | 24 environments, 13 skills | 160,266 tasks, 21 institutions |
| Kompozícia | všetko teleoperované | 50 365 teleoperovaných, 9 731 skriptovaných | podľa zdrojového laboratória |
| Frekvencia riadenia | 15 Hz | 5 Hz | líši sa, od 3 snímok/s vyššie |
| Kamery | 2 x ZED 2 externé, 1 x ZED Mini na zápästí | až 4, väčšina epizód len pevná | čokoľvek, čo laboratórium použilo |
| Surové stiahnutie | 1.7 TB RLDS, 8.7 TB raw stereo | JPEG archives | per-dataset TFDS buckets |
Málokto si ešte sťahuje 1,7 TB RLDS TFRecords. Komunitná organizácia IPEC-COMMUNITY prepublikovala väčšinu Open X-Embodiment vo forme LeRobot dataset s AV1 videom, kde DROID zaberá 392 GB. To je verzia, s ktorou budete pracovať, a jej meta/info.json je to, čo si prečítate ako prvé.
DROID
Najštandardizovanejší z troch. Jedna zostava všade: Franka Panda s uchopovačom Robotiq 2F-85, dve nastaviteľné stereo kamery ZED 2 a ZED Mini na zápästí, teleoperované ovládačmi Meta Quest 2, zaznamenané cez Polymetis pri 15 Hz v kĺbovom aj koncový efektor priestore. Jazykové štítky prišli neskôr cez tasq.ai, až tri na epizódu.
- 76k trajektórií, 350 hodín, 564 scén, 84 úloh, 50 zberačov na troch kontinentoch.
- Hlavným výsledkom je spoločné trénovanie, nie samostatné trénovanie: dávky zmiešané 50/50 s ukážkami z danej domény prekonali ďalšiu najlepšiu metódu o 22 percent absolútneho úspechu v distribúcii, 17 percent mimo nej.
- IPEC-COMMUNITY/droid_lerobot: 92,233 epizód, 27,044,326 snímok, franka, 15 fps, codebase_version v2.0, tri AV1 streamy pri 180x320, 392 GB.
- 2 GB, 100-epizódová vzorka na ladenie sa nachádza na gs://gresearch/robotics/droid_100. Začnite tam.
BridgeData V2
Najbližšie k hobby nastaveniu: rameno WidowX 250 6-DoF, 60,096 trajektórií naprieč 24 prostrediami a 13 zručnosťami pri 5 Hz. Všimnite si zloženie: 50,365 expertných teleoperovaných ukážok plus 9,731 z randomizovanej skriptovanej politiky „vyzdvihni a umiestni“, takže asi 16 percent nie je ľudská ukážka, čo je dôležité pre učenie napodobňovaním kvalitu. Obvyklé stiahnutie, IPEC-COMMUNITY/bridge_orig_lerobot, uvádza 53,192 epizód a 1,893,026 snímok pri 5 fps, robot_type widowx: menej ako 60,096 v článku, takže si prečítajte počet z meta/info.json namiesto citovania jedného z nich.
Open X-Embodiment
Nie je to dátový súbor v rovnakom zmysle: 60 existujúcich robotických dátových súborov z 34 laboratórií spojených do jednej kolekcie RLDS, pokrývajúcej 22 prevedení a viac ako milión trajektórií. BridgeData V2 sa nachádza vo vnútri ako bridge_orig; výrez google_robot, fractal20220817_data, sa konvertuje na 87 212 epizód pri 3 fps.
Zlúčenie so sebou nesie výhradu, ktorú článok priamo uvádza. Pre experimenty RT-X autori konvertujú každý zdroj na akciu koncového efektora so 7 stupňami voľnosti (DoF), ale nezarovnávajú súradnicové systémy naprieč dátovými súbormi a umožňujú, aby hodnoty akcií boli absolútne alebo relatívne pozície či rýchlosti, podľa pôvodnej riadiacej schémy každého robota. Ich záver: rovnaký akčný vektor môže vyvolať veľmi odlišné pohyby pre rôznych robotov.

Nezhoda, v štyroch častiach
Nezhoda stelesnenia sa zvyčajne považuje za jeden nejasný problém. Sú štyri, zlyhávajú rôzne a dve nie sú opraviteľné skriptovaním.
1. Stupne voľnosti
SO-100 má päť kĺbov ramena plus chápadlo. Počítané ako motory je to 6-stupňové rameno a článok SmolVLA ho tak nazýva; počítané ako polohovací mechanizmus je to 5-stupňové, a LeRobot ho tak nazýva vo svojom docstringu inverznej kinematiky, ktorý popisuje IK s mäkkou orientáciou na 5-stupňovom SO-101, kde zápästie sleduje orientáciu len čiastočne. Franka má sedem polohovacích kĺbov. Táto medzera rozhoduje o tom, aké pózy existujú: 5-stupňové rameno nemôže všeobecne dosiahnuť ľubovoľnú pozíciu a orientáciu naraz, takže riešiteľ vráti to najbližšie, čo dokáže, čo je iný pohyb ako ten demonštrovaný. Pozadie: .
# src/lerobot/robots/so_follower/so_follower.py
motors = {
"shoulder_pan": Motor(1, "sts3215", norm_mode_body),
"shoulder_lift": Motor(2, "sts3215", norm_mode_body),
"elbow_flex": Motor(3, "sts3215", norm_mode_body),
"wrist_flex": Motor(4, "sts3215", norm_mode_body),
"wrist_roll": Motor(5, "sts3215", norm_mode_body),
"gripper": Motor(6, "sts3215", MotorNormMode.RANGE_0_100),
}
# action keys are "<motor>.pos"; send_action sync_writes them to
# "Goal_Position" -> a 6-D ABSOLUTE JOINT POSITION command
# openpi/src/openpi/policies/droid_policy.py
def make_droid_example() -> dict:
return {
"observation/exterior_image_1_left": np.random.randint(256, size=(224, 224, 3), dtype=np.uint8),
"observation/wrist_image_left": np.random.randint(256, size=(224, 224, 3), dtype=np.uint8),
"observation/joint_position": np.random.rand(7), # seven Franka joints
"observation/gripper_position": np.random.rand(1),
"prompt": "do something",
}
# state = concat(joint_position, gripper_pos) -> 8-DTakže hotový DROID checkpoint nie je skratka. Physical Intelligence dodáva pi05_droid na gs://openpi-assets/checkpoints/pi05_droid a ten istý README, ktorý chváli jeho šírku, varuje, že tieto expertné checkpointy sa nemusia zovšeobecniť na vaše nastavenie. Jeho stav je osem Franka kĺbových čísel a jeho obrazové kľúče sú exterior_image_1_left a wrist_image_left. Žiadny príznak to nepremení na šesťmotorový príkaz SO-100.
2. Čo vlastne hovorí akčný vektor
Hlbšie ako dimenzionalita. V konverziách LeRobot všetky tri hovoria, kam by mal ísť uchopovač, v karteziánskom priestore. SO-100 hovorí, kam by malo ísť šesť servomotorov. Konverzia si vyžaduje kinematický model a riešiteľ, nie preformátovanie.
| Vlastnosť | OXE, DROID a Bridge vo forme LeRobot | SO-100 v LeRobot |
|---|---|---|
| Akčný vektor | 7-D: x, y, z, roll, pitch, yaw, uchopovač | 6-D: jedna cieľová pozícia na motor |
| Stavový vektor | 8-D, s výplňovým slotom (google_robot používa kvaternión) | 6-D, jeden na motor |
| Rámec | Karteziánsky, nezarovnaný naprieč súbormi dát | kĺbový priestor, kalibrácia na rameno |
| Absolútny alebo relatívny | buď, rozhoduje zdrojové laboratórium | absolútne cieľové pozície |
| Jednotky | normalizované na súbor dát, potom diskretizované | stupne predvolene (use_degrees=True), inak -100 až 100 |
| Tiché zlyhanie | delta čítaná ako absolútna | nezkalibrované rameno |
Súbor openx2lerobot README dokumentuje jednotný 8-rozmerný stav a 7-rozmernú akciu pre každý dátový súbor, ktorý konvertuje, odkiaľ pochádza slot pad. Vlastná schéma RLDS DROIDu sa líši: jeho akcia najvyššej úrovne action je 7-vektor 6 rýchlostí kĺbov plus 1 pozícia uchopovača, s cartesian_position, cartesian_velocity, joint_position a joint_velocity pod action_dict. openpi číta pohľad v kĺbovom priestore, zostava LeRobot vám poskytne karteziánsky pohľad. Ani jeden nie je šesť absolútnych uhlov serva.
LeRobot dodáva chýbajúci diel: SO follower má kinematický procesor s krokmi InverseKinematicsEEToJoints a ForwardKinematicsJointsToEE. Jeho kľúče sú ee.x, ee.y, ee.z plus rotačný vektor ee.wx, ee.wy, ee.wz a ee.gripper_pos, takže aj kódovanie orientácie sa líši od roll-pitch-yaw v súboroch. Krok IK berie orientation_weight, predvolene 0.01, ktorého docstring hovorí, aby sa nastavilo 0.0 pre IK len pre pozíciu na nedostatočne ovládaných ramenách. Môžete postaviť most, ale orientačná polovica každej požičanej akcie zostáva aproximovaná.
3. Frekvencia riadenia
DROID je 15 Hz, BridgeData V2 5 Hz, google_robot slice 3 fps; autori pi0 popisujú open-source časť ich zmesi ako nízkofrekvenčné riadenie medzi 2 a 10 Hz. Predvolené nastavenia DatasetRecordConfig LeRobot sú fps 30, episode_time_s 60, reset_time_s 60, num_episodes 50. trénovaná na 5 Hz dátach sa naučila, že jedna akcia pokrýva 200 ms. Prehrajte ju pri 30 Hz a rameno sa plazí; naivne pre-vzorkujte a rozmažete snímku, kde sa uchopovač zatvára. Tiež to zle interaguje s : 100-krokový blok je 20 sekúnd pri 5 Hz, 3.3 pri 30 Hz.
4. Kamery
BridgeData V2 náhodne menil dve pozície kamier každých 50 trajektórií a jeho projektová stránka uvádza, že väčšina dát aj tak obsahuje len fixný pohľad. DROID používal nastaviteľné držiaky ZED 2 plus ZED Mini na zápästí. Vy máte dve USB webkamery umiestnené od oka. Pozícia kamery nie je rušivá premenná pre ; je to veľká časť toho, na čo sa vizuálny kodér zameral, a nič vo formáte súboru vám nehovorí, že sa pozície líšia.
Časti do seba zapadajú dostatočne dobre na spustenie. Dátová sada sa načíta, tréning začne, strata klesá, objavujú sa kontrolné body, nič nehlási chybu. Potom politika nerobí na ramene nič rozpoznateľné a vy strávite deň hľadaním chyby vo vašom tréningovom skripte. Žiadna chyba tam nie je: model sa naučil kartézsku distribúciu akcií pre robota, ktorý vo vašej miestnosti neexistuje. Začnite pri strata klesá, politika nerobí nič, nie pri vašich hyperparametroch.
Čo sa stane, keď sa aj tak pokúsite zlúčiť dáta
Očividný plán je spojiť: niekoľko tisíc DROID epizód plus vašich 50. LeRobot odmieta a odmietnutie vymenúva tri veci, ktoré sa líšia.
- 1Stiahnite si 100-epizódovú vzorku, nie celých 1.7 TB
2 GB stačia na zobrazenie štruktúry.
bashpip install gsutil tensorflow tensorflow-datasets gsutil -m cp -r gs://gresearch/robotics/droid_100 ~/tensorflow_datasets/ - 2Konvertujte RLDS do formátu LeRobot
openx2lerobot obaluje štandardné transformácie OXE a anotuje typ robota a riadiacu frekvenciu. Súbor README to uvádza v convert.sh.
bashgit clone https://github.com/Tavish9/any4lerobot.git cd any4lerobot/openx2lerobot python openx_rlds.py \ --raw-dir ~/tensorflow_datasets/droid_100/1.0.0 \ --local-dir ~/lerobot_droid100 \ --repo-id you/droid100_lerobot \ --use-videos - 3Prečítajte si meta/info.json pred čímkoľvek iným
Tento súbor rozhoduje o tom, či zvyšok vášho dňa bude fungovať.
bashpython -c "import json;d=json.load(open('meta/info.json'));\ print(d['codebase_version'], d['robot_type'], d['fps']);\ print(d['features']['action']['shape'], d['features']['observation.state']['shape'])" - 4Vyskúšajte zlúčenie a prečítajte si chybu
merge načíta každý dataset, potom validate_all_metadata skontroluje fps, robot_type a features oproti prvému v zozname a vyvolá chybu pri prvej nezhode.
bashlerobot-edit-dataset \ --new_repo_id you/mixed \ --operation.type merge \ --operation.repo_ids "['you/droid100_lerobot', 'you/my_so100_task']" # ValueError: Same fps is expected, but got fps=30 instead of 15.
Referenčné hodnoty pochádzajú z akéhokoľvek datasetu, ktorý ste uviedli ako prvý, preto sa správa sťažuje na vašich 30 fps namiesto DROID-ových 15. Opravte fps a narazíte na kontrolu robot_type; opravte to a narazíte na kontrolu features, 7 proti 6 pre akciu. Žiadne poradie neprejde a rovnaká ochrana sa spúšťa v čase nahrávania prostredníctvom sanity_check_dataset_robot_compatibility.
V aktuálnom LeRobot main sú so100_follower a so101_follower zaregistrované na jednu zdieľanú SOFollowerRobotConfig, takže reťazec zo skutočného záznamu nemusí byť ten, ktorý očakávate. Prečítajte si ho z vlastného meta/info.json a kontrolu, ktorú ste museli vypnúť, považujte za kontrolu, ktorá vám niečo hovorila.
Čo sa teda skutočne prenáša?
Váhy, nie epizódy. Každá moderná všeobecná politika absorbovala časť z toho v predtréningu, a keď z vydaného už to zdedíte zosúladené ľuďmi s výpočtovým výkonom na to, aby to urobili správne. Práca pi0 je úprimná o pomere: 9,1 percenta jej predtréningovej zmesi, počítané v časových krokoch, sú open-source dáta vrátane OXE, Bridge v2 a DROID. Toto číslo je pi0; zmes každého dodávateľa sa líši.
- Vizuálne a jazykové priory: enkodér videl tisíce kuchýň a hrnčekov a vie, na čo sa odkazuje „červený blok“.
- Prior nad manipulačnou štruktúrou: priblíženie, zatvorenie, zdvihnutie, transport, uvoľnenie, nezávislé od stelesnenia, aj keď čísla nie sú.
- Osvedčený dátový súbor na testovanie. Ak vaša úloha nedokáže pretrénovať 100 DROID epizód, problém je vo vašom nastavení.
- Referenčné body: v doménach s malými dátovými súbormi RT-1-X dosiahol o 50 percent vyššiu priemernú mieru úspešnosti ako pôvodná metóda alebo RT-1, a RT-2-X prekonal RT-2 približne 3x v oblasti emergentných zručností.
- Žiadna použiteľná supervízia akcií. 7-D karteziánsky cieľ nie je 6-D kĺbový príkaz.
- Žiadny prenos pozície kamery a nič v dátach vám nehovorí, že sa pozície líšia.
- Žiadny prenos časovania: 3, 5 a 15 fps zdroje oproti 30 fps rekordéru.
- Žiadny prenos uchopovača. Robotiq 2F-85 a tlačená čeľusť na STS3215 sa líšia silou, zdvihom a dynamikou.
- Samotná škála nestačila ani pre jej autorov: v doménach s veľkými dátovými súbormi RT-1-X neprekonala RT-1 trénovanú len na tomto dátovom súbore.
- Žiadne zníženie počtu vlastných epizód, ktoré potrebujete.
| Vrstva modelu | Prenáša sa? | Prečo |
|---|---|---|
| Vizuálny enkodér | Áno, silne | Objekty a scény sú nezávislé od stelesnenia |
| Jazykové uzemnenie | Áno | Inštrukcie sú text, nie geometria |
| Krížovo-modálna fúzia | Väčšinou | Zameriava sa na objekt pomenovaný vo výzve |
| Proprioceptívny enkodér | Nie | Vstupná dimenzia a sémantika kĺbov sa líšia |
| Akčná hlava | Nie | Trénovaná na 7-D karteziánskom priestore, v ktorom sa nenachádzate |
| Normalizačné štatistiky | Nie, a nebezpečné | Cudzie štatistiky posúvajú každý príkaz |
Preto SmolVLA sa správa inak na lacnom ramene. Jeho článok vyberá 481 komunitných dátových sád z Hugging Face, filtrovaných podľa typu stelesnenia, počtu epizód, kvality dát a pokrytia snímok: 22.9K epizód, 10.6M snímok, vyhodnotených na reálnych ramenách SO-100 a SO-101. Malé a zhodné prekonáva veľké a nezhodné. Porovnajte na ACT proti SmolVLA.
Tri cesty, ktoré sa oplatí zvážiť
Cesta A: doladenie z kontrolného bodu, ktorý už dáta spracoval
Väčšina ľudí by si mala zvoliť túto cestu. Nikdy sa nedotýkate DROID ani Open X-Embodiment: vyberte si politiku, ktorej predtréning už absorboval dáta naprieč stelesneniami, zaznamenajte si vlastné epizódy, dolaďte.
| Politika | Parametre | Min. epizód | Formát dátovej sady | Úroveň GPU | Inferencia | Základný kontrolný bod |
|---|---|---|---|---|---|---|
| GR00T N1.7 | ~3 B, ~40 M trénovaných v dolaďovaní | 50 | LeRobot v2.0 or v2.1 | A100 or H100 80 GB | 152 ms na krok | nvidia/GR00T-N1.7-3B |
| GR00T N1.5 | ~3 B | 50 | LeRobot v2.0 or v2.1 | A100 or H100 80 GB | 165 ms | nvidia/GR00T-N1.5-3B |
| Pi0.5 | ~3 B, chrbtica PaliGemma | 50 | LeRobot v3.0 | A100 or H100 80 GB | 485 ms | lerobot/pi05_base |
| SmolVLA | ~450 M | 30 | LeRobot v3.0 | RTX 4090 or any 24 GB | 245 ms | lerobot/smolvla_base |
| ACT | ~80 M | 50 | LeRobot v3.0 | RTX 4090 or any 24 GB | 20 ms | žiadny, od začiatku |
ACT je úprimný okrajový prípad: žiadny základný model, takže sa k nemu nikdy nedostanú žiadne verejné dáta. To nie je automaticky nevýhoda, pretože s 20 ms na akčný krok je jediným z piatich, ktorý dokáže uzavrieť rýchlu slučku, ako stránka ACT uvádza. Vyberte si podľa úlohy pomocou všetkých piatich porovnaných, GR00T N1.7 proti Pi0.5, a 332 výsledkov benchmarkov naprieč 85 modelmi v aréne.
Cesta B: použite DROID ako testovacie zariadenie
100-epizódová vzorka je najlepších 2 GB, ktoré si tento mesiac stiahnete, a nie je určená na trénovanie. Je to dátová sada, o ktorej viete, že je správna. Spustite na nej svoj konvertor, loader a krátku úlohu na GPU; čokoľvek, čo zlyhá, je chyba infraštruktúry nájdená, kým to bolo lacné. NVIDIA robí to isté vo veľkom: karta GR00T N1.7 uvádza štyri post-trénované varianty pre Bridge a Fractal v SimplerEnv, DROID a LIBERO.
Cesta C: nahrajte si vlastné, zámerne
Tridsať až päťdesiat znie málo vedľa 76 000, kým si nespomeniete, že vaše sú jediné s vašou rukou, vašimi kamerami a vaším stolom. Pri predvolených nastaveniach LeRobotu je 50 epizód 100 minút reálneho času. Pozrite si , and .

Dva spôsoby, ako sa dostať z verejných dát k funkčnej politike
All of this runs on your own machine plus a rented GPU. Knowing the manual path matters because when something breaks you will know which layer broke.
- 1Install LeRobot with the extras the scripts need
The record and train entry points each declare their own extra.
bashpip install 'lerobot[core_scripts]' # lerobot-record pip install 'lerobot[training]' # lerobot-train pip install gsutil tensorflow tensorflow-datasets - 2Get a small, known-good slice
100 DROID episodes, 2 GB.
bashgsutil -m cp -r gs://gresearch/robotics/droid_100 ~/tensorflow_datasets/ - 3Convert to LeRobot form
Writes the unified 8-D state and 7-D action, annotating robot type and control frequency.
bashpython openx_rlds.py \ --raw-dir ~/tensorflow_datasets/droid_100/1.0.0 \ --local-dir ~/lerobot_droid100 \ --repo-id you/droid100_lerobot \ --use-videos - 4Check the version against your trainer
The converter README documents v3.0 output; the published IPEC-COMMUNITY datasets report v2.0. GR00T wants v2.0 or v2.1 and crashes on v3.0; Pi0.5, SmolVLA and ACT want v3.0. Mind the gap: the only conversion script on LeRobot main goes 2.1 to 3.0.
bashpython src/lerobot/scripts/convert_dataset_v21_to_v30.py \ --repo-id=you/droid100_lerobot - 5Record your own episodes
Defaults: 30 fps, 60 s per episode, 60 s reset, 50 episodes. The teleoperator type is so100_leader.
bashlerobot-record \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM0 \ --robot.cameras="{front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}}" \ --teleop.type=so100_leader \ --teleop.port=/dev/ttyACM1 \ --dataset.repo_id=you/so100_pick_block \ --dataset.num_episodes=50 \ --dataset.single_task="Pick up the red block and put it in the bowl" - 6Fine-tune on your data only
Weights from public data, actions from your own. Do not mix the datasets.
bashlerobot-train \ --policy.path=lerobot/smolvla_base \ --dataset.repo_id=you/so100_pick_block \ --policy.device=cuda \ --batch_size=4 \ --steps=20000
Not in training; the GPU job is hours. The conversion, the version mismatch and the moment you find your dataset is v2.0 and your trainer wants v3.0 are days. Read dataset rejected as v3 first.
The platform removes the GPU and pipeline plumbing. It does not remove the embodiment mismatch: point the trainer at a converted DROID dataset and you get a policy trained on Franka actions, exactly as you would locally.
- 1Pick a policy, not a dataset
The five trainable policies, with parameter counts, GPU tiers and latencies, are at /policies.
- 2Record with the desktop client
It writes LeRobot-format datasets, episodes, camera streams and joint states, straight out of a teleop session. No conversion step to get wrong.
- 3Or bring a dataset you already have
The training form accepts one from /directory, a Hugging Face repo id, or your own machine. A repo id means a converted OXE dataset will load, and the mismatch loads with it.
- 4Train on a rented GPU
The backend rents a card on a spot market by required VRAM. SmolVLA or ACT on 24 GB: 2 to 5 hours, about 1 to 3 USD. GR00T or Pi0.5 on A100 or H100: 3 to 6 hours, about 4 to 12 USD. See /pricing.
- 5Serve it back to the arm
/api/inference/pod auto-provisions a GPU pod serving the policy; the local client talks to that endpoint. Pods carry an idle watchdog and destroy themselves, so nothing keeps billing silently.
Inference has to sit next to the servos for fast tasks. The control loop is 20 to 485 ms per action step depending on the model, and public-internet round trips turn a working policy into a hesitant one. Remote inference is fine for slow pick-and-place, not fast reactive motion.
The platform helps with the boring parts: the right format for the right arm at the right frame rate, and no babysitting a spot instance. It helps with nothing else in this article.

Čo stojí každá cesta
| Cesta | Úložisko | Čas človeka | Náklady na GPU | Šanca, že pohne vašou rukou |
|---|---|---|---|---|
| Konvertovaný DROID samostatne | 392 GB | dni konverzie | 4 to 12 USD | veľmi nízka, nesprávny akčný priestor |
| DROID zlúčený s vašimi epizódami | obidva | blokované validate_all_metadata | n/a | žiadna, nespustí sa |
| SmolVLA, 30 až 50 vlastných epizód | niekoľko GB | 100 min nahrávania | 1 to 3 USD | vysoká |
| GR00T N1.7, 50 vlastných epizód | niekoľko GB | 100 min nahrávania | 4 to 12 USD | vysoká |
| ACT od začiatku, 50 vlastných epizód | niekoľko GB | 100 min nahrávania | 1 to 3 USD | vysoká, 20 ms inferencia |
| Vzorka DROID ako testovacie zariadenie | 2 GB | jedno popoludnie | jeden krátky beh | vysoká, ako validácia |
Asymetria je kľúčová: cesta, ktorá si požičiava najviac dát, je najdrahšia a najmenej pravdepodobné, že pohne vašou rukou. Menej ako dve hodiny vašej vlastnej teleoperácie prekoná terabajt Franky niekoho iného. Ešte nemáte rameno? /live streamuje fyzický SO-100 bez registrácie. Potom natrénujte svoju prvú politiku, a SmolVLA na SO-100 pre konkrétneho sprievodcu.
Stiahnite si 2 GB vzorku DROID a použite ju na overenie vášho pipeline. Ignorujte zvyšných 1.7 TB. Nahrajte 50 epizód jednej úlohy s pevnými kamerami. Najprv dolaďte SmolVLA, pretože s minimálne 30 epizódami na 24 GB karte je najlacnejšie na ňom iterovať, potom skúste GR00T N1.7 na rovnakých dátach. Porovnajte na vašej úlohe, nie na benchmarku.
Nahrávajte datasety, ktoré už zodpovedajú vášmu ramenu
Desktopový klient zapisuje datasety vo formáte LeRobot priamo z teleoperačnej relácie: správne rameno, správna snímková frekvencia, správny akčný priestor. Žiadna konverzia RLDS, žiadne premapovanie.
Získajte desktopového klientaMôžem trénovať politiku na DROID a spustiť ju na mojom SO-100?▾
Nie priamo. V zostave LeRobot sú akcie DROID 7-D príkazy koncového efektora na Franka Panda pri 15 fps; v surovom RLDS sú to 6 rýchlostí kĺbov plus pozícia uchopovača. SO-100 vyžaduje 6 absolútnych pozícií kĺbov. Potrebovali by ste vrstvu inverznej kinematiky, a aj tak 5-DoF zápästie nedokáže reprodukovať ľubovoľné 6-DoF pózy.
Môžem miešať epizódy DROID alebo Bridge s mojimi vlastnými epizódami SO-100?▾
Nie. validate_all_metadata vyžaduje identické fps, robot_type a schému funkcií a vyvolá ValueError pri prvej nezhode. Všetky tri sa líšia: 15 alebo 5 fps oproti 30, franka alebo widowx oproti vášmu ramenu, tvary akcií 7 oproti 6. Prepisovanie metadát na prekonanie kontroly nerieši sémantiku.
Je potom Open X-Embodiment zbytočný pre lacné rameno?▾
Nie, ale jeho hodnota sa k vám dostane prostredníctvom predtrénovaných váh, nie epizód. Open-source datasety vrátane OXE, Bridge v2 a DROID tvoria 9.1 percenta z predtrénovacej zmesi pi0, a NVIDIA dodáva varianty GR00T N1.7 post-trénované na Bridge, Fractal, DROID a LIBERO. Čo nemôžete urobiť, je pripojiť tieto epizódy k vlastnému záznamu.
Ktorá politika najviac profituje z verejných dát naprieč embodimentmi?▾
Pi0.5 a modely GR00T nesú najviac predtrénovania naprieč embodimentmi, ale SmolVLA sa často správa najlepšie na lacnom ramene: jeho predtrénovací súbor obsahuje 481 komunitných datasetov, 22.9K epizód a 10.6M snímok, vyhodnotených na skutočných ramenách SO-100 a SO-101. ACT je opak: žiadny základný model, 20 ms na akčný krok.
Koľko vlastných epizód skutočne potrebujem?▾
30 pre SmolVLA, 50 pre GR00T N1.7, GR00T N1.5, Pi0.5 a ACT. Pri predvolených nastaveniach LeRobot 60 s na epizódu a 60 s reset, 50 epizód je 100 minút reálneho času. Požičané dáta naprieč embodimentmi tieto čísla neznižujú.
Sources
- DROID: Rozsiahly dataset manipulácie robotov v reálnom prostredí
- Dokumentácia DROID: veľkosti na stiahnutie a schéma epizód RLDS
- BridgeData V2: Dataset pre učenie robotov vo veľkom meradle
- Projektová stránka BridgeData V2: zloženie a pokrytie kamier
- Open X-Embodiment: Datasety pre robotické učenie a modely RT-X
- Projektová stránka Open X-Embodiment
- google-deepmind/open_x_embodiment: zoznam datasetov a kontrolné body RT-1-X
- any4lerobot: konvertor openx2lerobot a jeho zjednotený 8D stav, 7D akcia
- IPEC-COMMUNITY/droid_lerobot: meta/info.json a veľkosť repozitára
- IPEC-COMMUNITY/bridge_orig_lerobot: meta/info.json
- IPEC-COMMUNITY/fractal20220817_data_lerobot: výsek google_robot pri 3 fps
- huggingface/lerobot: SO follower, kinematický procesor, agregované a záznamové konfigurácie
- openpi: vstupy politiky DROID a kontrolný bod pi05_droid
- pi0: Model toku vízie-jazyka-akcie pre všeobecné riadenie robotov
- SmolVLA: Model vízie-jazyka-akcie pre cenovo dostupné a efektívne robotické systémy
Sources
- DROID: A Large-Scale In-The-Wild Robot Manipulation Dataset
- DROID docs: download sizes and the RLDS episode schema
- BridgeData V2: A Dataset for Robot Learning at Scale
- BridgeData V2 project page: composition and camera coverage
- Open X-Embodiment: Robotic Learning Datasets and RT-X Models
- Open X-Embodiment project page
- google-deepmind/open_x_embodiment: dataset list and RT-1-X checkpoints
- any4lerobot: the openx2lerobot converter and its unified 8-D state, 7-D action
- IPEC-COMMUNITY/droid_lerobot: meta/info.json and repo size
- IPEC-COMMUNITY/bridge_orig_lerobot: meta/info.json
- IPEC-COMMUNITY/fractal20220817_data_lerobot: the google_robot slice at 3 fps
- huggingface/lerobot: SO follower, kinematics processor, aggregate and record configs
- openpi: DROID policy inputs and the pi05_droid checkpoint
- pi0: A Vision-Language-Action Flow Model for General Robot Control
- SmolVLA: A Vision-Language-Action Model for Affordable and Efficient Robotics
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started