
DROID, BridgeData V2 un Open X-Embodiment tiek pārveidoti par 7-D gala efektora darbībām 6 un 7-DoF robotu rokām. SO-100 izmanto 6 locītavu pozīcijas. Kas pārnesas, kas nepārnesas, ko darīt tā vietā.
Īsumā
- •Visu trīs LeRobot versiju pamatā ir viena konvencija: 7-D gala efektora darbība [x, y, z, roll, pitch, yaw, gripper] un 8-D stāvoklis ar aizpildījuma slotu. SO-100 izmanto sešas absolūtās savienojumu pozīcijas.
- •Šis 7-D vektors ir pārveidotāja artefakts: DROID paša RLDS darbības lauks ir 6 savienojumu ātrumi plus satvērēja pozīcija, ar Dekarta skatu action_dict.
- •Četri takts frekvences: DROID 15 fps, BridgeData V2 5 fps, google_robot daļa 3 fps, SO-100 ieraksts 30 fps.
- •Jūs nevarat tos apvienot ar saviem datiem. validate_all_metadata izmet kļūdu, ja atšķiras pirmais no fps, robot_type vai features, un visi trīs atšķiras.
- •Tiek pārsūtīti iepriekš apmācīti svari, nevis epizodes. Atvērtā koda dati veido 9.1 procentus no pi0 iepriekšējās apmācības maisījuma.
- •To lētākais reālais pielietojums ir testa armatūra: zināms, labs 2 GB, 100 epizožu DROID paraugs, kas pierāda jūsu cauruļvada darbību pirms ierakstīšanas nedēļas nogalē.
Google Cloud krātuvē ir publisks datu kopums ar miljons trajektorijām un SO-100 uz galda, kas detaļās izmaksāja 110 līdz 150 EUR. Kāpēc pirmais nevar iemācīt otrajam? Daļēji var, bet gandrīz neviena pārsūtīšana nenotiek tur, kur cilvēki sagaida, un daļa, kas izskatās visvieglākā, vispār nedarbojas.
Tālāk: kas atrodas DROID, BridgeData V2 un Open X-Embodiment, kur katrs saduras ar zemu izmaksu 5-DoF robotu roku, un ko darīt tā vietā. Katrs zemāk norādītais skaitlis nāk no attiecīgā raksta, datu kopas kartes vai avota faila.
Ko patiesībā satur šie trīs datu kopumi
| DROID | BridgeData V2 | Open X-Embodiment | |
|---|---|---|---|
| Robots | Franka Panda, 7 DoF, Robotiq 2F-85 | WidowX 250, 6 DoF, ~4,000 USD aprīkojums | 22 iemiesojumi, 60 datu kopas, 34 laboratorijas |
| Mērogs | 76k trajektorijas, 350 stundas | 60 096 trajektorijas | 1M+ trajektorijas, 527 prasmes |
| Daudzveidība | 564 ainas, 84 uzdevumi, 50 vācēji | 24 vides, 13 prasmes | 160 266 uzdevumi, 21 iestāde |
| Sastāvs | visi tālvadāmi | 50 365 tālvadāmi, 9 731 skriptēti | pēc avota laboratorijas |
| Kontroles ātrums | 15 Hz | 5 Hz | mainās, no 3 kadriem sekundē uz augšu |
| Kameras | 2 x ZED 2 ārējās, 1 x ZED Mini plaukstas | līdz 4, lielākajā daļā epizožu tikai fiksētā | ko izmantoja laboratorija |
| Neapstrādāta lejupielāde | 1.7 TB RLDS, 8.7 TB neapstrādāta stereo | JPEG arhīvi | TFDS kausi katrai datu kopai |
Maz cilvēku joprojām lejupielādē 1.7 TB RLDS TFRecords. Kopienas organizācija IPEC-COMMUNITY ir atkārtoti publicējusi lielāko daļu Open X-Embodiment LeRobot datu kopas formātā ar AV1 video, kur DROID aizņem 392 GB. Tā ir versija, ar kuru jūs strādāsiet, un tās meta/info.json ir tas, kas jāizlasa vispirms.
DROID
Visstandartizētākais no trim. Viens aprīkojums visur: Franka Panda ar Robotiq 2F-85 satvērēju, divas regulējamas ZED 2 stereo kameras un plaukstas ZED Mini, tālvadāms ar Meta Quest 2 kontrolieriem, ierakstīts caur Polymetis ar 15 Hz gan locītavu, gan gala efektora telpā. Valodu etiķetes tika pievienotas vēlāk, izmantojot tasq.ai, līdz trim uz epizodi.
- 76k trajektorijas, 350 stundas, 564 ainas, 84 uzdevumi, 50 datu vācēji trīs kontinentos.
- Galvenais rezultāts ir kopīga apmācība, nevis atsevišķa apmācība: partijas, kas sajauktas 50/50 ar domēna demonstrācijām, pārspēj nākamo labāko metodi par 22 procentiem absolūtas veiksmes sadalījumā, 17 procentiem ārpus tā.
- IPEC-COMMUNITY/droid_lerobot: 92,233 episodes, 27,044,326 frames, franka, 15 fps, codebase_version v2.0, trīs AV1 straumes ar 180x320, 392 GB.
- 2 GB, 100 epizožu atkļūdošanas paraugs atrodas gs://gresearch/robotics/droid_100. Sāciet ar to.
BridgeData V2
Vislīdzīgākais hobija iestatījumam: WidowX 250 6-DoF roka, 60,096 trajektorijas 24 vidēs un 13 prasmēs ar 5 Hz. Ievērojiet sastāvu: 50,365 ekspertu tālvadības demonstrācijas plus 9,731 no randomizētas skriptētas paņemšanas un novietošanas politikas, tātad aptuveni 16 procenti nav cilvēka demonstrācijas, kas ir svarīgi imitācijas mācīšanās kvalitātei. Parastā lejupielāde, IPEC-COMMUNITY/bridge_orig_lerobot, ziņo par 53,192 epizodēm un 1,893,026 kadriem ar 5 fps, robot_type widowx: mazāk nekā rakstā minētie 60,096, tāpēc lasiet skaitu no meta/info.json, nevis citējiet kādu no tiem.
Open X-Embodiment
Nav datu kopa tādā pašā nozīmē: 60 esošas robotu datu kopas no 34 laboratorijām apvienotas vienā RLDS kolekcijā, aptverot 22 iemiesojumus un vairāk nekā miljonu trajektoriju. BridgeData V2 atrodas tajā kā bridge_orig; google_robot šķēle, fractal20220817_data, pārvēršas par 87 212 epizodēm ar 3 kadriem sekundē.
Apvienošanai ir brīdinājums, ko raksts skaidri norāda. RT-X eksperimentiem autori katru avotu pārvērš par 7-DoF gala efektora darbību, taču nesaskaņo koordinātu rāmjus starp datu kopām un ļauj darbības vērtībām būt absolūtām vai relatīvām pozīcijām vai ātrumiem, saskaņā ar katra robota oriģinālo vadības shēmu. Viņu secinājums: viens un tas pats darbības vektors var izraisīt ļoti atšķirīgas kustības dažādiem robotiem.

Nesakritība, četros posmos
Iemiesojuma neatbilstība parasti tiek uzskatīta par vienu neskaidru problēmu. Tās ir četras, tās sabojājas atšķirīgi, un divas nav labojamas ar skriptēšanu.
1. Brīvības pakāpes
SO-100 ir piecas rokas locītavas plus satvērējs. Saskaitot kā motorus, tā ir 6-DoF roka, un SmolVLA raksts to tā dēvē; saskaitot kā pozicionēšanas mehānismu, tā ir 5-DoF, un LeRobot to tā dēvē savā apgrieztās kinemātikas dokumentācijā, kas apraksta mīkstas orientācijas IK uz 5-DOF SO-101, kur plaukstas locītava seko orientācijai tikai daļēji. Franka ir septiņas pozicionēšanas locītavas. Šī atšķirība nosaka, kādas pozas pastāv: 5-DoF roka parasti nevar vienlaikus sasniegt patvaļīgu pozīciju un orientāciju, tāpēc risinātājs atgriež tuvāko iespējamo, kas ir atšķirīga kustība no demonstrētās. Fons: .
# 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-DTātad gatavs DROID kontrolpunkts nav īsceļš. Physical Intelligence piegādā pi05_droid vietnē gs://openpi-assets/checkpoints/pi05_droid, un tas pats README, kas slavē tā plašumu, brīdina, ka šie ekspertu kontrolpunkti var nebūt vispārināmi jūsu iestatījumam. Tā stāvoklis ir astoņi Franka savienojumu numuri, un tā attēlu atslēgas ir exterior_image_1_left un wrist_image_left. Neviens karogs to nepārvērš par sešu motoru SO-100 komandu.
2. Ko patiesībā saka darbības vektors
Dziļāk par dimensionalitāti. LeRobot konversijās visi trīs norāda, kur jāiet satvērējam, Dekarta telpā. SO-100 norāda, kur jāiet sešiem servomotoriem. Pārveidošanai nepieciešams kinemātiskais modelis un risinātājs, nevis pārveidošana.
| Īpašība | OXE, DROID un Bridge LeRobot formā | SO-100 LeRobot |
|---|---|---|
| Darbības vektors | 7-D: x, y, z, rullis, slīpums, pagrieziens, satvērējs | 6-D: viena mērķa pozīcija katram motoram |
| Stāvokļa vektors | 8-D, ar polsterējuma slotu (google_robot izmanto kvaternionu) | 6-D, viens katram motoram |
| Rāmis | Dekarta, nesaskaņots starp datu kopām | savienojumu telpa, kalibrēšana katrai rokai |
| Absolūts vai relatīvs | jebkurš, ko nosaka avota laboratorija | absolūtās mērķa pozīcijas |
| Vienības | normalizētas katrai datu kopai, pēc tam diskretizētas | grādi pēc noklusējuma (use_degrees=True), citādi no -100 līdz 100 |
| Klusā kļūme | delta nolasīta kā absolūta | nekalibrēta roka |
openx2lerobot README dokumentē vienotu 8-dim stāvokli un 7-dim darbību katrai datu kopai, ko tas pārveido, un no kurienes nāk pad slots. DROID paša RLDS shēma atšķiras: tās augstākā līmeņa action ir 7-vektors, kas sastāv no 6 locītavu ātrumiem plus 1 satvērēja pozīcijas, ar cartesian_position, cartesian_velocity, joint_position un joint_velocity zem action_dict. openpi nolasa locītavu telpas skatu, savukārt LeRobot versija sniedz jums Dekarta skatu. Neviens no tiem nav seši absolūti servo leņķi.
LeRobot piegādā trūkstošo daļu: SO sekotājam ir kinemātikas procesors ar InverseKinematicsEEToJoints un ForwardKinematicsJointsToEE soļiem. Tā atslēgas ir ee.x, ee.y, ee.z, kā arī rotācijas vektors ee.wx, ee.wy, ee.wz un ee.gripper_pos, tāpēc pat orientācijas kodējums atšķiras no failos esošā roll-pitch-yaw. IK solis izmanto orientation_weight, noklusējuma vērtība 0.01, kura docstring norāda iestatīt 0.0 pozīcijas-tikai IK gadījumā nepietiekami aktuatorizētām rokām. Jūs varat uzbūvēt tiltu, taču katras aizgūtās darbības orientācijas puse paliek aptuvena.
3. Vadības ātrums
DROID ir 15 Hz, BridgeData V2 5 Hz, google_robot daļa 3 fps; pi0 autori apraksta savas jaukto datu kopas atvērtā koda daļu kā zemas frekvences vadību starp 2 un 10 Hz. LeRobot DatasetRecordConfig noklusējuma vērtības ir fps 30, episode_time_s 60, reset_time_s 60, num_episodes 50. apmācīta ar 5 Hz datiem, iemācījās, ka viena darbība aptver 200 ms. Atskaņojot to ar 30 Hz, roka rāpo; naivi pārsamplējot, jūs izpludināt kadru, kurā satvērējs aizveras. Tas arī slikti mijiedarbojas ar : 100 soļu gabals ir 20 sekundes pie 5 Hz, 3.3 sekundes pie 30 Hz.
4. Kameras
BridgeData V2 nejaušināja divas kameras pozas ik pēc 50 trajektorijām, un tā projekta lapā norādīts, ka lielākā daļa datu anyway satur tikai fiksētu skatu. DROID izmantoja regulējamus ZED 2 stiprinājumus, kā arī plaukstas ZED Mini. Jums ir divas USB tīmekļa kameras, kas novietotas ar aci. Kameras poza nav traucējošs mainīgais priekš ; tas ir liela daļa no tā, uz ko vizuālais kodētājs balstījās, un nekas faila formātā neliecina, ka pozas atšķiras.
Detaļas der kopā pietiekami labi, lai darbotos. Datu kopa ielādējas, apmācība sākas, zudums samazinās, parādās kontrolpunkti, nekas neuzrāda kļūdas. Tad politika nedara neko atpazīstamu uz rokas, un jūs pavadāt dienu, meklējot kļūdu savā apmācības skriptā. Kļūdas nav: modelis iemācījās Dekarta darbību sadalījumu robotam, kas jūsu istabā neeksistē. Sāciet ar zudums samazinās, politika nedara neko, nevis ar saviem hiperparametriem.
Kas notiek, ja jūs tomēr mēģināt apvienot datus
Acīmredzamais plāns ir apvienot: dažus tūkstošus DROID epizožu plus jūsu 50. LeRobot atsakās, un atteikums nosauc trīs lietas, kas atšķiras.
- 1Iegūstiet 100 epizožu paraugu, nevis pilnus 1,7 TB
2 GB ir pietiekami, lai redzētu struktūru.
bashpip install gsutil tensorflow tensorflow-datasets gsutil -m cp -r gs://gresearch/robotics/droid_100 ~/tensorflow_datasets/ - 2Pārvērst RLDS uz LeRobot formātu
openx2lerobot ietver OXE standarta transformācijas un anotē robota tipu un vadības frekvenci. README fails to ievieto 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 - 3Izlasiet meta/info.json pirms jebkā cita
Šis fails nosaka, vai pārējā jūsu diena strādās.
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'])" - 4Izmēģiniet apvienošanu un izlasiet kļūdu
merge ielādē katru datu kopu, pēc tam validate_all_metadata pārbauda fps, robot_type un funkcijas pret pirmo sarakstā, izraisot kļūdu pie pirmās neatbilstības.
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.
Atsauces vērtības nāk no tās datu kopas, kuru norādījāt pirmo, tāpēc ziņojums sūdzas par jūsu 30 fps, nevis DROID 15. Izlabojiet fps, un jūs saskarsieties ar robot_type pārbaudi; izlabojiet to, un jūs saskarsieties ar funkciju pārbaudi, 7 pret 6 darbībai. Neviena secība netiek cauri, un tas pats sargs darbojas ierakstīšanas laikā, izmantojot sanity_check_dataset_robot_compatibility.
Pašreizējā LeRobot galvenajā versijā so100_follower un so101_follower abi ir reģistrēti vienā kopīgā SOFollowerRobotConfig, tāpēc virkne no reāla ieraksta ne vienmēr ir tāda, kādu jūs sagaidāt. Izlasiet to no sava meta/info.json un uzskatiet pārbaudi, kuru jums nācās atspējot, par pārbaudi, kas jums kaut ko vēstīja.
Kas tad īsti tiek pārsūtīts?
Svari, nevis epizodes. Katra moderna vispārīga politika daļu no tā absorbēja pirmsapmācībā, un, kad jūs no izlaista jūs to mantojat jau saskaņotu no cilvēkiem, kuriem ir pietiekama skaitļošanas jauda, lai to paveiktu pareizi. pi0 raksts atklāti runā par proporciju: 9,1 procenti no tā pirmsapmācības maisījuma, skaitot laika soļos, ir atvērtā koda dati, tostarp OXE, Bridge v2 un DROID. Šis skaitlis ir pi0; katra piegādātāja maisījums atšķiras.
- Vizuālie un valodu priekšzināšanas: kodētājs ir redzējis tūkstošiem virtuvju un krūzīšu un zina, ko nozīmē "sarkanais bloks".
- Priekšzināšanas par manipulācijas struktūru: pieeja, aizvēršana, pacelšana, transportēšana, atlaišana, neatkarīgi no ķermeņa, pat ja skaitļi nav.
- Pārbaudīta un laba datu kopa testēšanai. Ja jūsu uzdevums nevar pārmācīties ar 100 DROID epizodēm, problēma ir jūsu iestatījumos.
- Atsauces punkti: maza mēroga datu kopu domēnos RT-1-X sasniedza par 50 procentiem augstāku vidējo veiksmes rādītāju nekā sākotnējā metode vai RT-1, un RT-2-X pārspēja RT-2 aptuveni 3 reizes attiecībā uz jaunām prasmēm.
- Nav izmantojamas darbības uzraudzības. 7D Dekarta mērķis nav 6D savienojuma komanda.
- Nav kameras pozas pārsūtīšanas, un nekas datos neliecina, ka pozas atšķiras.
- Nav laika pārsūtīšanas: 3, 5 un 15 kadru/s avoti pret 30 kadru/s ierakstītāju.
- Nav satvērēja pārsūtīšanas. Robotiq 2F-85 un drukāta žokļa uz STS3215 atšķiras spēks, gājiens un dinamika.
- Mērogs vien nebija pietiekams pat tā autoriem: lielo datu kopu domēnos RT-1-X nepārspēja RT-1, kas apmācīts tikai ar šo datu kopu.
- Nav samazinājuma jūsu pašu epizožu skaitā, kas jums nepieciešamas.
| Modeļa slānis | Pārsūtās? | Kāpēc |
|---|---|---|
| Vīzijas kodētājs | Jā, spēcīgi | Objekti un ainas ir neatkarīgi no ķermeņa |
| Valodu pamatotība | Jā | Instrukcijas ir teksts, nevis ģeometrija |
| Starpmodālu saplūšana | Pārsvarā | Pievēršas objektam, kas nosaukts uzvednē |
| Propriocepcijas kodētājs | Nē | Ievades dimensija un savienojuma semantika atšķiras |
| Darbības galva | Nē | Apmācīts 7D Dekarta telpā, kurā jūs neatrodaties |
| Normalizācijas statistika | Nē, un bīstami | Sveša statistika maina katru komandu |
Tāpēc SmolVLA uzvedas atšķirīgi uz zemu izmaksu rokas. Tā rakstā ir atlasītas 481 kopienas datu kopas no Hugging Face, filtrētas pēc iemiesojuma veida, epizožu skaita, datu kvalitātes un kadru pārklājuma: 22.9K epizodes, 10.6M kadri, novērtēti uz reālām SO-100 un SO-101 rokām. Mazs un saskaņots pārspēj lielu un nesaskaņotu. Salīdziniet ACT pret SmolVLA.
Trīs ceļi, ko vērts iet
A ceļš: precizēt no kontrolpunkta, kas jau ir apstrādājis datus
Lielākajai daļai cilvēku vajadzētu izvēlēties šo. Jūs nekad nepieskaraties DROID vai Open X-Embodiment: izvēlieties politiku, kuras iepriekšējā apmācība jau ir absorbējusi starp-ķermeņu datus, ierakstiet savas epizodes, precizējiet.
| Politika | Parametri | Minimālais epizožu skaits | Datu kopas formāts | GPU līmenis | Secināšana | Bāzes kontrolpunkts |
|---|---|---|---|---|---|---|
| GR00T N1.7 | ~3 B, ~40 M trained in fine-tuning | 50 | LeRobot v2.0 or v2.1 | A100 or H100 80 GB | 152 ms per step | 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, PaliGemma backbone | 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 | none, from scratch |
ACT ir godīgs robežgadījums: nav bāzes modeļa, tāpēc neviens no publiskajiem datiem to nekad nesasniedz. Tas nav automātiski trūkums, jo ar 20 ms uz vienu darbības soli tas ir vienīgais no pieciem, kas var noslēgt ātru cilpu, kā ACT lapa norādīts. Izvēlieties pēc uzdevuma, izmantojot visi pieci salīdzināti, GR00T N1.7 pret Pi0.5, un 332 etalonuzdevumu rezultātus 85 modeļiem arēnā.
B ceļš: izmantojiet DROID kā testa aprīkojumu
100 epizožu paraugs ir labākie 2 GB, ko šomēnes lejupielādēsiet, un ne apmācībai. Tā ir datu kopa, par kuru zināt, ka tā ir pareiza. Palaidiet savu pārveidotāju, ielādētāju un īsu GPU darbu ar to; viss, kas neizdodas, ir infrastruktūras kļūda, kas atrasta, kamēr tas bija lēti. NVIDIA dara to pašu lielā mērogā: GR00T N1.7 karte uzskaita četrus pēcapmācītus variantus Bridge un Fractal SimplerEnv, DROID un LIBERO.
Ceļš C: ierakstiet savu, apzināti
Trīsdesmit līdz piecdesmit šķiet maz, salīdzinot ar 76 000, līdz atceraties, ka jūsu ir vienīgās ar jūsu roku, jūsu kamerām un jūsu galdu. Pēc LeRobot noklusējuma iestatījumiem 50 epizodes ir 100 minūtes reālā laika. Skatiet , un .

Divi veidi, kā no publiskiem datiem iegūt funkcionējošu politiku
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.

Cik maksā katrs ceļš
| Ceļš | Glabāšana | Cilvēka laiks | GPU izmaksas | Iespēja, ka tas kustinās jūsu roku |
|---|---|---|---|---|
| Pārveidots DROID vien | 392 GB | konversijas dienas | 4 to 12 USD | ļoti zema, nepareiza darbības telpa |
| DROID apvienots ar jūsu epizodēm | abi | blocked by validate_all_metadata | n/a | nav, tas nedarbojas |
| SmolVLA, 30 līdz 50 pašu epizodes | daži GB | 100 min ierakstīšana | 1 to 3 USD | augsta |
| GR00T N1.7, 50 pašu epizodes | daži GB | 100 min ierakstīšana | 4 to 12 USD | augsta |
| ACT no nulles, 50 pašu epizodes | daži GB | 100 min ierakstīšana | 1 to 3 USD | augsta, 20 ms inference |
| DROID paraugs kā testa armatūra | 2 GB | pēcpusdiena | viens īss skrējiens | augsta, kā validācija |
Asimetrija ir būtiska: ceļš, kas aizņemas visvairāk datu, ir visdārgākais un vismazāk ticams, ka tas kustinās jūsu roku. Mazāk nekā divas stundas jūsu pašu teleoperācija pārspēj terabaitu kāda cita Franka datiem. Vēl nav rokas? /live straumē fizisku SO-100 bez reģistrācijas. Pēc tam apmāciet savu pirmo politiku, un SmolVLA uz SO-100 lai iegūtu konkrētu ceļvedi.
Lejupielādējiet 2 GB DROID paraugu un izmantojiet to, lai pārbaudītu savu konveijeru. Ignorējiet pārējos 1.7 TB. Ierakstiet 50 vienas uzdevuma epizodes ar fiksētām kamerām. Vispirms precizējiet SmolVLA, jo ar minimāli 30 epizodēm uz 24 GB kartes tas ir vislētākais, lai veiktu iterācijas, pēc tam izmēģiniet GR00T N1.7 ar tiem pašiem datiem. Salīdziniet ar savu uzdevumu, nevis ar etalonu.
Ierakstiet datu kopas, kas jau atbilst jūsu rokai
Darbvirsmas klients raksta LeRobot formāta datu kopas tieši no teleoperācijas sesijas: pareizā roka, pareizais kadru ātrums, pareizā darbību telpa. Nav RLDS konversijas, nav pārmapēšanas.
Iegūstiet darbvirsmas klientuVai es varu apmācīt politiku uz DROID un palaist to uz mana SO-100?▾
Nav tieši. LeRobot versijā DROID darbības ir 7-D gala efektora komandas Franka Panda robotam ar 15 kadriem sekundē; neapstrādātā RLDS tās ir 6 locītavu ātrumi plus satvērēja pozīcija. SO-100 izmanto 6 absolūtās locītavu pozīcijas. Būtu nepieciešams apgrieztās kinemātikas slānis, un pat tad 5-DoF plaukstas locītava nevar reproducēt patvaļīgas 6-DoF pozas.
Vai es varu sajaukt DROID vai Bridge epizodes ar savām SO-100 epizodēm?▾
Nē. validate_all_metadata prasa identisku fps, robot_type un feature schema un izraisa ValueError pie pirmās neatbilstības. Visi trīs atšķiras: 15 vai 5 fps pret 30, franka vai widowx pret jūsu roku, darbību formas 7 pret 6. Metadatu pārrakstīšana, lai izietu pārbaudi, neatrisina semantiku.
Vai Open X-Embodiment tad ir bezjēdzīgs zemu izmaksu rokai?▾
Nē, bet tā vērtība sasniedz jūs caur iepriekš apmācītiem svariem, nevis epizodēm. Atvērtā koda datu kopas, tostarp OXE, Bridge v2 un DROID, veido 9,1 procentu no pi0 iepriekšējās apmācības maisījuma, un NVIDIA piegādā GR00T N1.7 variantus, kas ir pēcapmācīti uz Bridge, Fractal, DROID un LIBERO. Ko jūs nevarat darīt, ir pievienot šīs epizodes savam ierakstam.
Kura politika visvairāk gūst labumu no publiskajiem starpķermeņu datiem?▾
Pi0.5 un GR00T modeļi nodrošina vislielāko starpķermeņu iepriekšējo apmācību, taču SmolVLA bieži vien vislabāk darbojas ar zemu izmaksu roku: tā iepriekšējās apmācības kopa ir 481 kopienas datu kopa, 22,9K epizodes un 10,6M kadri, kas novērtēti uz reālām SO-100 un SO-101 rokām. ACT ir pretējs: nav bāzes modeļa, 20 ms uz darbības soli.
Cik daudz savu epizožu man patiešām ir nepieciešams?▾
30 SmolVLA, 50 GR00T N1.7, GR00T N1.5, Pi0.5 un ACT. Pie LeRobot noklusējuma iestatījumiem 60 s uz epizodi un 60 s atiestatīšanai, 50 epizodes ir 100 minūtes reālā laika. Aizņemtie starpķermeņu dati nesamazina šos skaitļus.
Sources
- DROID: Liela mēroga robotu manipulācijas datu kopa reālos apstākļos
- DROID dokumentācija: lejupielādes izmēri un RLDS epizožu shēma
- BridgeData V2: Datu kopa robotu mācīšanai lielā mērogā
- BridgeData V2 projekta lapa: sastāvs un kameras pārklājums
- Open X-Embodiment: Robotu mācīšanās datu kopas un RT-X modeļi
- Open X-Embodiment projekta lapa
- google-deepmind/open_x_embodiment: datu kopu saraksts un RT-1-X kontrolpunkti
- any4lerobot: openx2lerobot pārveidotājs un tā vienotais 8-D stāvoklis, 7-D darbība
- IPEC-COMMUNITY/droid_lerobot: meta/info.json un repozitorija izmērs
- IPEC-COMMUNITY/bridge_orig_lerobot: meta/info.json
- IPEC-COMMUNITY/fractal20220817_data_lerobot: google_robot daļa ar 3 fps
- huggingface/lerobot: SO sekotājs, kinemātikas procesors, apkopotās un ierakstītās konfigurācijas
- openpi: DROID politikas ievades un pi05_droid kontrolpunkts
- pi0: Vizuālās valodas un darbības plūsmas modelis vispārējai robotu kontrolei
- SmolVLA: Vizuālās valodas un darbības modelis pieejamai un efektīvai robotikai
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