AY-Robots avaliku andmestiku kataloog, mis näitab SO-100 klassi kätel salvestatud LeRobot andmestikke
AndmestikudOpen X-EmbodimentDROIDSO-100LeRobot

DROIDi, BridgeData V2 ja Open X-i kasutamine SO-100-l

AY-Robots ResearchAugust 23, 202618 min lugemist

DROID, BridgeData V2 ja Open X-Embodiment teisenduvad 7-D otsaefektori tegevusteks 6- ja 7-vabadusastmega kätel. SO-100 võtab 6 liigendi positsiooni. Mis kandub üle, mis mitte, mida selle asemel teha.

Lühiversioon

  • Kõigi kolme LeRoboti versioonid jagavad ühte konventsiooni: 7-D lõppefektori tegevus [x, y, z, roll, pitch, yaw, gripper] ja 8-D olek koos täitepesaga. SO-100 võtab kuus absoluutset liigendi positsiooni.
  • See 7-D vektor on konverteri artefakt: DROIDi enda RLDS-i tegevusväli on 6 liigendi kiirust pluss haaratsi positsioon, koos Cartesiuse vaatega action_dictis.
  • Neli takti: DROID 15 fps, BridgeData V2 5 fps, google_roboti lõik 3 fps, SO-100 salvestus 30 fps.
  • Te ei saa neid oma andmetega ühendada. validate_all_metadata tõstab vea esimese erineva fps-i, robot_type'i või funktsiooni korral, ja kõik kolm erinevad.
  • Üle kanduvad eelkoolitatud kaalud, mitte episoodid. Avatud lähtekoodiga andmed moodustavad 9.1 protsenti pi0 eelkoolituse segust.
  • Nende odavaim reaalne kasutus on testseade: teadaolevalt hea 2 GB, 100-episoodiline DROIDi näidis, mis tõestab teie torujuhtme toimivust enne, kui nädalavahetuseks salvestama hakkate.

Google Cloudi ämbris on miljoni trajektooriga avalik andmestik ja SO-100 laual, mis maksis osadena 110 kuni 150 EUR. Miks esimene ei saa teist õpetada? Osaliselt saab, kuid peaaegu ükski ülekanne ei toimu seal, kus inimesed ootavad, ja osa, mis tundub kõige lihtsam, ei tööta üldse.

Järgneb: mis on sees DROID, BridgeData V2 ja Open X-Embodiment, kus igaüks neist põrkub kokku odava 5-DoF käega, ja mida selle asemel teha. Iga allolev number pärineb paberist, andmestiku kaardilt või lähtefailist, kuhu see kuulub.

Mida need kolm andmestikku tegelikult sisaldavad

DROIDBridgeData V2Open X-Embodiment
RobotFranka Panda, 7 DoF, Robotiq 2F-85WidowX 250, 6 DoF, ~4,000 USD rig22 embodiments, 60 datasets, 34 labs
Skaala76k trajektoori, 350 tundi60,096 trajektoori1M+ trajektoori, 527 oskust
Mitmekesisus564 stseeni, 84 ülesannet, 50 kogujat24 keskkonda, 13 oskust160,266 ülesannet, 21 institutsiooni
Koostiskõik teleopereeritud50,365 teleopereeritud, 9,731 skriptitudallika labori kohta
Juhtimiskiirus15 Hz5 Hzvarieerub, alates 3 fps
Kaamerad2 x ZED 2 väljas, 1 x ZED Mini randmelkuni 4, enamikus episoodides ainult fikseeritudmida labor kasutas
Toores allalaadimine1.7 TB RLDS, 8.7 TB raw stereoJPEG arhiividandmestiku-põhised TFDS ämbrid
Sisenemispunktiks on LeRobot teisendus, mitte algne ämber

Vähesed inimesed laadivad endiselt alla 1.7 TB RLDS TFRecords faile. Kogukonna organisatsioon IPEC-COMMUNITY on enamiku Open X-Embodiment andmetest uuesti avaldanud LeRobot dataset vormingus AV1 videoga, kus DROID võtab 392 GB. See on versioon, millega te töötate, ja selle meta/info.json on see, mida esimesena lugeda.

DROID

Kõige standardiseeritum kolmest. Üks seade igal pool: Franka Panda koos Robotiq 2F-85 haaratsiga, kaks reguleeritavat ZED 2 stereokaamerat ja randmele paigaldatud ZED Mini, teleopereeritud Meta Quest 2 kontrolleritega, salvestatud Polymetis'e kaudu 15 Hz sagedusega nii liigeste kui ka otsakute ruumis. Keelemärgised lisati hiljem tasq.ai kaudu, kuni kolm episoodi kohta.

  • 76k trajektoori, 350 tundi, 564 stseeni, 84 ülesannet, 50 kogujat kolmel kontinendil.
  • Peamine tulemus on kaastreening, mitte iseseisev treening: 50/50 segatud partiid valdkonnasisese demonstratsiooniga ületasid järgmise parima meetodi 22 protsendi võrra absoluutse edukusega jaotuses, 17 protsenti väljaspool seda.
  • IPEC-COMMUNITY/droid_lerobot: 92 233 episoodi, 27 044 326 kaadrit, franka, 15 fps, codebase_version v2.0, kolm AV1 voogu 180x320 resolutsiooniga, 392 GB.
  • 2 GB, 100-episoodiline silumisnäidis asub aadressil gs://gresearch/robotics/droid_100. Alustage sealt.

BridgeData V2

Kõige lähemal hobiseadistusele: WidowX 250 6-DoF arm, 60 096 trajektoori 24 keskkonnas ja 13 oskust 5 Hz juures. Pange tähele koosseisu: 50 365 eksperdi teleopereeritud demonstratsiooni pluss 9731 randomiseeritud skriptitud valimis- ja paigutuspoliitikast, seega umbes 16 protsenti ei ole inimdemonstratsioon, mis on oluline imitatsiooniõppe kvaliteedi jaoks. Tavaline allalaadimine, IPEC-COMMUNITY/bridge_orig_lerobot, teatab 53 192 episoodist ja 1 893 026 kaadrist 5 kaadrit sekundis, robot_type widowx: vähem kui artikli 60 096, seega lugege arv meta/info.json failist, mitte tsiteerige kumbagi.

Open X-Embodiment

Mitte andmestik samas mõttes: 60 olemasolevat roboti andmestikku 34 laborist koondati ühte RLDS-i kogusse, mis hõlmab 22 kehastust ja üle miljoni trajektoori. BridgeData V2 asub selles kui bridge_orig; google_robot lõik, fractal20220817_data, teisendub 87 212 episoodiks kiirusega 3 kaadrit sekundis.

Koondamine sisaldab hoiatust, mille artikkel otse välja toob. RT-X eksperimentide jaoks teisendavad autorid iga allika 7-vabadusastmega (DoF) lõppefektori tegevuseks, kuid ei joonda koordinaatsüsteeme andmestike vahel ega luba tegevuse väärtustel olla absoluutsed või suhtelised positsioonid või kiirused, vastavalt iga roboti algsele juhtimisskeemile. Nende järeldus: sama tegevusvektor võib erinevate robotite puhul esile kutsuda väga erinevaid liikumisi.

AY-Robotsi andmestike kataloog, mis loetleb avalikke LeRoboti andmestikke episoodide arvu ja ülesannete kirjeldustega.
Avalik andmestike kataloog asukohas /directory: andmestikud on juba LeRoboti vormingus, sobides juba toetatud käega.

Ebakõla neljas osas

Kehastuse mittevastavust käsitletakse tavaliselt kui ühte ebamäärast probleemi. Neid on neli, need ebaõnnestuvad erinevalt ja kahte neist ei saa skriptimisega parandada.

Vabadusastmed

SO-100-l on viis käeliigest pluss haarats. Mootoritena loetuna on see 6-vabadusastmega käsi ja SmolVLA artikkel nimetab seda nii; positsioneerimismehhanismina loetuna on see 5-vabadusastmega ja LeRobot nimetab seda nii oma pöördkineetika dokstringis, mis kirjeldab pehme orientatsiooniga IK-d 5-vabadusastmega SO-101-l, kus randme jälgib orientatsiooni vaid osaliselt. Frankal on seitse positsioneerimisliigest. See vahe määrab, millised poosid eksisteerivad: 5-vabadusastmega käsi ei suuda üldjuhul korraga saavutada meelevaldset positsiooni ja orientatsiooni, seega tagastab lahendaja lähima võimaliku, mis on demonstreeritust erinev liikumine. Taust: .

python
# 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-D
Vasakul: LeRoboti SO jälgija, failist src/lerobot/robots/so_follower/so_follower.py. Paremal: openpi DROID poliitika sisend. Kuus kaheksa vastu.

Seega valmis DROIDi kontrollpunkt ei ole otsetee. Physical Intelligence tarnib pi05_droidi aadressil gs://openpi-assets/checkpoints/pi05_droid, ja sama README, mis kiidab selle laiaulatuslikkust, hoiatab, et need ekspertkontrollpunktid ei pruugi teie seadistusega üldistuda. Selle olek on kaheksa Franka liigendi numbrit ja selle pildivõtmed on exterior_image_1_left ja wrist_image_left. Ükski lipp ei muuda seda kuue mootoriga SO-100 käsuks.

2. Mida tegevusvektor tegelikult ütleb

Sügavam kui dimensioonilisus. LeRoboti konversioonides ütlevad kõik kolm, kuhu haarats peaks minema, Cartesiuse ruumis. SO-100 ütleb, kuhu kuus servot peaksid minema. Konverteerimine vajab kinemaatilist mudelit ja lahendajat, mitte ümberkujundamist.

OmadusOXE, DROID ja Bridge LeRoboti kujulSO-100 LeRobotis
Tegevusvektor7-D: x, y, z, rull, kalle, pöörlemine, haarats6-D: üks sihtpositsioon mootori kohta
Olekvektor8-D, täitepesaga (google_robot kasutab kvaterniooni)6-D, üks mootori kohta
KaaderCartesiuse, andmekogumite vahel joondamataliigendruum, käe-põhine kalibreerimine
Absoluutne või relatiivnemõlemad, otsustab lähtelaborabsoluutsed sihtpositsioonid
Ühikudnormaliseeritud andmekogumi kohta, seejärel diskreetitudkraadid vaikimisi (use_degrees=True), muidu -100 kuni 100
Vaikne rikedelta loetud absoluutsenakalibreerimata käsi
7-D Cartesiuse vektor on konverteri konventsioon, mitte DROIDi oma

openx2lerobot README dokumenteerib ühtse 8-dim oleku ja 7-dim tegevuse iga andmestiku jaoks, mida see konverteerib, millest tuleneb ka `pad` pesa. DROIDi enda RLDS skeem erineb: selle tipptaseme `action` on 7-vektor, mis koosneb *6 liigese kiirusest pluss 1 haaratsi asendist*, koos `cartesian_position`, `cartesian_velocity`, `joint_position` ja `joint_velocity` all `action_dict`. openpi loeb liigese-ruumi vaadet, LeRoboti ehitis annab teile Cartesiuse oma. Kumbki ei ole kuus absoluutset servo nurka.

LeRobot tarnib puuduva osa: SO followeril on kinemaatika protsessor koos InverseKinematicsEEToJoints ja ForwardKinematicsJointsToEE sammudega. Selle võtmed on ee.x, ee.y, ee.z pluss pöörlemisvektor ee.wx, ee.wy, ee.wz ja ee.gripper_pos, nii et isegi orientatsiooni kodeering erineb failides olevast roll-pitch-yaw'st. IK samm võtab orientation_weight'i, vaikimisi 0.01, mille docstring ütleb, et seada 0.0 ainult asendipõhise IK jaoks alajuhitavatel kätel. Saate silla ehitada, kuid iga laenatud tegevuse orientatsioonipool jääb ligikaudseks.

3. Juhtimissagedus

DROID on 15 Hz, BridgeData V2 5 Hz, google_robot'i lõik 3 fps; pi0 autorid kirjeldavad oma segu avatud lähtekoodiga osa kui madalsageduslikku juhtimist vahemikus 2 ja 10 Hz. LeRoboti DatasetRecordConfig vaikeseaded on fps 30, episode_time_s 60, reset_time_s 60, num_episodes 50. mis on treenitud 5 Hz andmetel, õppis, et üks tegevus katab 200 ms. Esitage see uuesti 30 Hz juures ja käsi roomab; naiivselt ümberproovides määrite kaadri, kus haarats sulgub. See interakteerub halvasti ka : 100-sammuline tükk on 20 sekundit 5 Hz juures, 3.3 sekundit 30 Hz juures.

4. Kaamerad

BridgeData V2 randomiseeris kaks kaamera asendit iga 50 trajektoori järel ja selle projekti leht märgib, et enamik andmeid sisaldab niikuinii ainult fikseeritud vaadet. DROID kasutas reguleeritavaid ZED 2 kinnitusi pluss randme ZED Mini. Teil on kaks USB veebikaamerat silma järgi paigutatud. Kaamera asend ei ole tüütu muutuja ; see on suuresti see, millele visuaalne kodeerija keskendus, ja failivormingus ei ütle miski, et asendid erinevad.

Lõks, mis neelab päeva

Osad sobivad piisavalt hästi kokku, et käivituda. Andmestik laadib, treening algab, kadu langeb, kontrollpunktid ilmuvad, vigu ei teki. Seejärel ei tee poliitika käel midagi äratuntavat ja te veedate päeva oma treeninguskriptis viga otsides. Viga ei ole: mudel õppis karteesi tegevusjaotuse roboti jaoks, mida teie toas ei eksisteeri. Alustage kohast kadu langeb, poliitika ei tee midagi, mitte oma hüperparameetritest.

Mis juhtub, kui proovite andmeid ikkagi ühendada

Ilmselge plaan on liita: paar tuhat DROIDi episoodi pluss teie 50. LeRobot keeldub ja keeldumine nimetab kolm erinevat asja.

  1. 1
    Tõmba 100-episoodiline näidis, mitte täielik 1.7 TB

    2 GB on piisav struktuuri nägemiseks.

    bash
    pip install gsutil tensorflow tensorflow-datasets
    gsutil -m cp -r gs://gresearch/robotics/droid_100 ~/tensorflow_datasets/
  2. 2
    Teisenda RLDS LeRoboti vormingusse

    openx2lerobot ühendab OXE standardmuundused ja annoteerib roboti tüübi ning juhtimissageduse. README paigutab selle faili convert.sh.

    bash
    git 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
  3. 3
    Loe meta/info.json enne kõike muud

    See fail otsustab, kas ülejäänud teie päev töötab.

    bash
    python -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'])"
  4. 4
    Proovi ühendamist ja loe viga

    merge laeb iga andmestiku, seejärel validate_all_metadata kontrollib fps-i, robot_type'i ja funktsioone loendi esimese vastu, tõstes vea esimesel mittevastavusel.

    bash
    lerobot-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.

Viiteväärtused pärinevad sellest andmestikust, mille te esimesena loetlesite, mistõttu teade kurdab teie 30 fps-i, mitte DROIDi 15 fps-i üle. Parandage fps ja te tabate robot_type kontrolli; parandage see ja te tabate funktsioonikontrolli, 7 vastu 6 tegevuse puhul. Ükski järjestus ei lähe läbi ja sama kaitse töötab salvestamise ajal sanity_check_dataset_robot_compatibility kaudu.

Ärge kodeerige robot_type'i kontrolli vältimiseks

Praeguses LeRoboti peaharus on nii so100_follower kui ka so101_follower registreeritud ühele jagatud SOFollowerRobotConfig-ile, seega ei pruugi tegelikust salvestusest pärinev string olla see, mida te ootate. Lugege seda oma meta/info.json-ist ja käsitlege kontrolli, mille pidite keelama, kui kontrolli, mis teile midagi ütles.

Mis siis tegelikult üle kandub?

Kaalud, mitte episoodid. Iga kaasaegne üldotstarbeline poliitika on osa sellest eelkoolituses omastanud ja kui te peenhäälestate välja antud kontrollpunktist pärite selle juba õigesti arvutusvõimsusega inimeste poolt ühildatuna. pi0 artikkel on avameelne proportsiooni osas: 9,1 protsenti selle eelkoolituse segust, ajasammudes arvestatuna, on avatud lähtekoodiga andmed, sealhulgas OXE, Bridge v2 ja DROID. See näitaja on pi0 oma; iga tarnija segu erineb.

Avalikud kehadeülesed andmed SO-100 projekti kohta
Eelised
  • Visuaalsed ja keelelised eelteadmised: kodeerija on näinud tuhandeid kööke ja kruuse ning teab, millele "punane klots" viitab.
  • Eelteadmised manipulatsiooni struktuuri kohta: lähenemine, sulgemine, tõstmine, transportimine, vabastamine, kehast sõltumatu isegi siis, kui numbrid seda ei ole.
  • Tuntud hea andmekogum testimiseks. Kui teie töö ei suuda 100 DROIDi episoodi üle sobitada, on probleem teie seadistuses.
  • Võrdluspunktid: väikese andmekogumi valdkondades saavutas RT-1-X 50 protsenti kõrgema keskmise edukuse määra kui algne meetod või RT-1, ja RT-2-X edestas RT-2-te umbes 3 korda esilekerkivate oskuste osas.
Kompromissid
  • Puudub kasutatav tegevuse juhendamine. 7-D Cartesiuse sihtmärk ei ole 6-D liigese käsk.
  • Kaamera asendi ülekannet ei toimu ja andmetes pole midagi, mis ütleks, et asendid erinevad.
  • Ajasünkroonimise ülekannet ei toimu: 3, 5 ja 15 kaadrit sekundis allikad 30 kaadrit sekundis salvestaja vastu.
  • Haaratsi ülekannet ei toimu. Robotiq 2F-85 ja STS3215-l olev prinditud lõualuu erinevad jõu, käigu ja dünaamika poolest.
  • Ainuüksi skaala ei olnud piisav isegi selle autorite jaoks: suurte andmekogumite valdkondades ei ületanud RT-1-X RT-1-te, mis oli koolitatud ainult selle andmekogumi peal.
  • Teie enda episoodide vajaduse vähenemist ei toimu.
Mudeli kihtKandub üle?Miks
Nägemise kodeerijaJah, tugevaltObjektid ja stseenid on kehast sõltumatud
Keeleline maandusJahJuhised on tekst, mitte geomeetria
Ristmodaalsed ühendusedEnamastiPöörab tähelepanu viipas nimetatud objektile
Propriotseptsiooni kodeerijaEiSisendi dimensioon ja liigeste semantika erinevad
Tegevuse peaEiKoolitatud 7-D Cartesiuse ruumis, milles te ei asu
NormaliseerimisstatistikaEi, ja ohtlikVõõrad statistikad nihutavad iga käsku

Seepärast SmolVLA käitub odaval robotkäel erinevalt. Selle artikkel valib Hugging Face'ist 481 kogukonna andmestikku, mis on filtreeritud kehastuse tüübi, episoodide arvu, andmekvaliteedi ja kaadri katvuse järgi: 22,9K episoodi, 10,6M kaadrit, hinnatud reaalsetel SO-100 ja SO-101 kätel. Väike ja sobitatud võidab suure ja mittesobitatud. Võrdle ACT against SmolVLA.

Kolm teed, mida tasub minna

Tee A: peenhäälesta kontrollpunktist, mis on andmed juba omastanud

Enamik inimesi peaks selle valima. Sa ei puutu kunagi DROIDi ega Open X-Embodimenti: vali poliitika, mille eelkoolitus on juba omastanud kehastusteülesed andmed, salvesta oma episoodid, peenhäälesta.

PoliitikaParameetridMinimaalselt episoodeAndmestiku formaatGPU taseJäreldamineBaas kontrollpunkt
GR00T N1.7~3 B, ~40 M trained in fine-tuning50LeRobot v2.0 or v2.1A100 or H100 80 GB152 ms per stepnvidia/GR00T-N1.7-3B
GR00T N1.5~3 B50LeRobot v2.0 or v2.1A100 or H100 80 GB165 msnvidia/GR00T-N1.5-3B
Pi0.5~3 B, PaliGemma backbone50LeRobot v3.0A100 or H100 80 GB485 mslerobot/pi05_base
SmolVLA~450 M30LeRobot v3.0RTX 4090 or any 24 GB245 mslerobot/smolvla_base
ACT~80 M50LeRobot v3.0RTX 4090 or any 24 GB20 msnone, from scratch

ACT on aus äärmusjuhtum: baasmudelit pole, seega ei jõua ükski avalik andmestik sinna. See ei ole automaatselt puudus, sest 20 ms tegevussammu kohta on see ainus viiest, mis suudab kiire tsükli sulgeda, nagu ACT leht kirjeldab. Valige ülesande järgi, kasutades kõiki viit võrrelduna, GR00T N1.7 Pi0.5 vastu, ja 332 võrdlustulemust 85 mudeli kohta areenil.

Tee B: kasutage DROIDi testseadisena

100-episoodiline näidis on parim 2 GB, mille te sel kuul alla laadite, ja mitte treenimiseks. See on andmestik, mille õigsuses olete kindel. Käivitage sellel oma konverter, laadur ja lühike GPU töö; kõik, mis ebaõnnestub, on infrastruktuuri viga, mis leiti odavalt. NVIDIA teeb sama suures ulatuses: GR00T N1.7 kaart loetleb neli järeltreenitud varianti Bridge'i ja Fractali jaoks SimplerEnvis, DROIDi ja LIBERO jaoks.

Tee C: salvesta oma, tahtlikult

Kolmkümmend kuni viiskümmend kõlab vähe 76 000 kõrval, kuni sa meenutad, et sinu omad on ainsad, millel on sinu käsi, sinu kaamerad ja sinu laud. LeRoboti vaikeseadete järgi on 50 episoodi 100 minutit reaalajas. Vaata , ja .

AY-Robots salvestamise õpetuse leht, mis näitab samme LeRoboti andmestiku jäädvustamiseks teleoperatsiooni sessioonist
Salvestamise juhend aadressil /learn/record-your-first-dataset: samm, mida avalikud andmed ei saa asendada.

Kaks viisi avalikest andmetest töötava poliitikani jõudmiseks

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.

  1. 1
    Install LeRobot with the extras the scripts need

    The record and train entry points each declare their own extra.

    bash
    pip install 'lerobot[core_scripts]'   # lerobot-record
    pip install 'lerobot[training]'      # lerobot-train
    pip install gsutil tensorflow tensorflow-datasets
  2. 2
    Get a small, known-good slice

    100 DROID episodes, 2 GB.

    bash
    gsutil -m cp -r gs://gresearch/robotics/droid_100 ~/tensorflow_datasets/
  3. 3
    Convert to LeRobot form

    Writes the unified 8-D state and 7-D action, annotating robot type and control frequency.

    bash
    python openx_rlds.py \
        --raw-dir ~/tensorflow_datasets/droid_100/1.0.0 \
        --local-dir ~/lerobot_droid100 \
        --repo-id you/droid100_lerobot \
        --use-videos
  4. 4
    Check 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.

    bash
    python src/lerobot/scripts/convert_dataset_v21_to_v30.py \
        --repo-id=you/droid100_lerobot
  5. 5
    Record your own episodes

    Defaults: 30 fps, 60 s per episode, 60 s reset, 50 episodes. The teleoperator type is so100_leader.

    bash
    lerobot-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"
  6. 6
    Fine-tune on your data only

    Weights from public data, actions from your own. Do not mix the datasets.

    bash
    lerobot-train \
      --policy.path=lerobot/smolvla_base \
      --dataset.repo_id=you/so100_pick_block \
      --policy.device=cuda \
      --batch_size=4 \
      --steps=20000
Where the time actually goes

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.

AY-Robots töölauakliendi allalaadimisleht, klient, mis salvestab LeRoboti-formaadis andmestikke teleoperatsiooni sessioonist
Töölauaklient aadressil /download kirjutab LeRoboti andmestikke otse teleoperatsiooni sessioonist, vältides RLDS-i konversiooni.

Mida iga tee maksab

TeeSalvestusruumInimaegGPU kuluTõenäosus, et see liigutab teie kätt
Konverteeritud DROID üksi392 GBkonverteerimispäevad4 to 12 USDväga madal, vale tegevusruum
DROID ühendatud teie episoodidegamõlemadblocked by validate_all_metadatan/apuudub, see ei käivitu
SmolVLA, 30 kuni 50 oma episoodimõni GB100 min salvestust1 to 3 USDkõrge
GR00T N1.7, 50 oma episoodimõni GB100 min salvestust4 to 12 USDkõrge
ACT nullist, 50 oma episoodimõni GB100 min salvestust1 to 3 USDkõrge, 20 ms järeldus
DROID näidis testrakisena2 GBüks pärastlõunaüks lühike käivituskõrge, valideerimisena

Asümmeetria ongi point: tee, mis laenab kõige rohkem andmeid, on kõige kallim ja kõige ebatõenäolisem, et see teie kätt liigutab. Alla kahe tunni teie enda teleoperatsioon on parem kui terabait kellegi teise Franka andmeid. Kätt veel pole? /live voogedastab füüsilist SO-100 ilma registreerimiseta. Seejärel treenige oma esimene poliitika, ja SmolVLA SO-100-l konkreetse juhendi jaoks.

Mõistlik vaikimisi plaan

Laadige alla 2 GB DROID-i näidis ja kasutage seda oma torujuhtme tõestamiseks. Ignoreerige ülejäänud 1.7 TB. Salvestage 50 episoodi ühest ülesandest fikseeritud kaameratega. Peenhäälestage esmalt SmolVLA, sest 30 minimaalse episoodiga 24 GB kaardil on sellega kõige odavam itereerida, seejärel proovige GR00T N1.7 samade andmetega. Võrrelge oma ülesande, mitte võrdlusaluse põhjal.

Salvestage andmekogumid, mis juba sobivad teie käega

Töölauaklient kirjutab LeRoboti-vormingus andmekogumid otse teleoperatsiooni sessioonist: õige käsi, õige kaadrisagedus, õige tegevusruum. Ei mingit RLDS-i konversiooni ega ümberkaardistamist.

Hankige töölauaklient
Kas ma saan treenida poliitikat DROID-il ja käivitada seda oma SO-100-l?

Mitte otse. LeRoboti versioonis on DROID-i tegevused 7-D otsaefektori käsud Franka Pandale kiirusega 15 kaadrit sekundis; tooretes RLDS-ides on need 6 liigese kiirust pluss haaratsi asend. SO-100 võtab 6 absoluutset liigese asendit. Teil oleks vaja pöördkinemaatika kihti ja isegi siis ei saa 5-vabadusastmega randmeosa reprodutseerida suvalisi 6-vabadusastmega poose.

Kas ma saan segada DROID-i või Bridge'i episoode oma SO-100 episoodidega?

Ei. validate_all_metadata nõuab identset kaadrisagedust (fps), robot_type'i ja funktsiooniskeemi ning tõstab ValueError'i esimese mittevastavuse korral. Kõik kolm erinevad: 15 või 5 kaadrit sekundis võrreldes 30-ga, franka või widowx teie käe vastu, tegevuse kujud 7 võrreldes 6-ga. Metaandmete ümberkirjutamine kontrolli läbimiseks ei paranda semantikat.

Kas Open X-Embodiment on siis odava käe jaoks kasutu?

Ei, kuid selle väärtus jõuab teieni eelkoolitatud kaalude, mitte episoodide kaudu. Avatud lähtekoodiga andmekogumid, sealhulgas OXE, Bridge v2 ja DROID, moodustavad 9.1 protsenti pi0 eelkoolituse segust, ja NVIDIA tarnib GR00T N1.7 variante, mis on järelkoolitatud Bridge'i, Fractali, DROID-i ja LIBERO andmetel. Mida te ei saa teha, on nende episoodide lisamine oma salvestusele.

Milline poliitika saab avalikest ristkehastuse andmetest kõige rohkem kasu?

Pi0.5 ja GR00T mudelid sisaldavad kõige rohkem ristkehastuse eelkoolitust, kuid SmolVLA käitub sageli kõige paremini odava käe puhul: selle eelkoolituse komplektis on 481 kogukonna andmekogumit, 22.9K episoodi ja 10.6M kaadrit, mis on hinnatud reaalsetel SO-100 ja SO-101 kätel. ACT on vastupidine: baasmudelit pole, 20 ms tegevussammu kohta.

Mitu oma episoodi ma tegelikult vajan?

30 SmolVLA jaoks, 50 GR00T N1.7, GR00T N1.5, Pi0.5 ja ACT jaoks. LeRoboti vaikeseadete (60 s episoodi kohta ja 60 s lähtestamine) korral on 50 episoodi 100 minutit reaalset aega. Laenatud ristkehastuse andmed neid numbreid ei vähenda.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started