Javni direktorij skupova podataka AY-Robots koji prikazuje LeRobot skupove podataka snimljene na rukama klase SO-100
Skupovi podatakaOpen X-EmbodimentDROIDSO-100LeRobot

Korištenje DROID-a, BridgeData V2 i Open X na SO-100

AY-Robots ResearchAugust 23, 202618 min čitanja

DROID, BridgeData V2 i Open X-Embodiment pretvaraju se u 7-D akcije krajnjeg efektora na rukama sa 6 i 7 stupnjeva slobode. SO-100 prihvaća 6 pozicija zglobova. Što se prenosi, što ne, i što učiniti umjesto toga.

Kratka verzija

  • LeRobot verzije sva tri dijele jednu konvenciju: 7-D akciju krajnjeg efektora [x, y, z, roll, pitch, yaw, gripper] i 8-D stanje s utorom za punjenje. SO-100 uzima šest apsolutnih pozicija zglobova.
  • Taj 7-D vektor je artefakt konvertera: DROID-ovo vlastito RLDS polje akcije je 6 brzina zglobova plus pozicija hvataljke, s kartezijanskim prikazom u action_dict.
  • Četiri takta: DROID 15 fps, BridgeData V2 5 fps, google_robot isječak 3 fps, SO-100 snimanje na 30 fps.
  • Ne možete ih spojiti sa svojim podacima. validate_all_metadata se aktivira na prvoj razlici u fps, robot_type ili značajkama, a sva tri se razlikuju.
  • Ono što se prenosi su prethodno trenirane težine, a ne epizode. Otvoreni podaci čine 9.1 posto pi0-ove mješavine za predtreniranje.
  • Njihova najjeftinija stvarna upotreba je testni uređaj: poznati dobar 2 GB, 100-epizodni DROID uzorak koji dokazuje vaš cjevovod prije nego što snimate cijeli vikend.

Postoji javni skup podataka od milijun putanja na Google Cloud bucketu i SO-100 na stolu koji je koštao 110 do 150 EUR u dijelovima. Zašto prvi ne može naučiti drugog? Djelomično može, ali gotovo nikakav prijenos se ne događa tamo gdje ljudi očekuju, a dio koji izgleda najlakše uopće ne radi.

Slijedi: što se nalazi unutar DROID, BridgeData V2 i Open X-Embodiment, gdje se svaki sudara s jeftinom 5-DoF rukom, i što učiniti umjesto toga. Svaki broj ispod potječe iz rada, kartice skupa podataka ili izvorne datoteke kojoj pripada.

Što tri skupa podataka zapravo sadrže

DROIDBridgeData V2Open X-Embodiment
RobotFranka Panda, 7 DoF, Robotiq 2F-85WidowX 250, 6 DoF, ~4,000 USD rig22 embodiments, 60 datasets, 34 labs
Opseg76k trajectories, 350 hours60,096 trajectories1M+ trajectories, 527 skills
Raznolikost564 scenes, 84 tasks, 50 collectors24 environments, 13 skills160,266 tasks, 21 institutions
Sastavall teleoperated50,365 teleoperated, 9,731 scriptedper source lab
Brzina kontrole15 Hz5 Hzvaries, 3 fps upwards
Kamere2 x ZED 2 exterior, 1 x ZED Mini wristup to 4, most episodes only the fixed onewhatever the lab used
Izvorno preuzimanje1.7 TB RLDS, 8.7 TB raw stereoJPEG archivesper-dataset TFDS buckets
Ulazna točka je LeRobot konverzija, a ne izvorna kanta

Malo ljudi još uvijek preuzima 1,7 TB RLDS TFRecordsa. Organizacija zajednice IPEC-COMMUNITY ponovno je objavila većinu Open X-Embodimenta u obliku LeRobot skupa podataka s AV1 videom, gdje DROID zauzima 392 GB. To je verzija s kojom ćete raditi, a njezin meta/info.json je ono što prvo trebate pročitati.

DROID

Najstandardiziraniji od tri. Jedna oprema posvuda: Franka Panda s hvataljkom Robotiq 2F-85, dvije podesive ZED 2 stereo kamere i ZED Mini za zglob, teleoperiran s Meta Quest 2 kontrolerima, snimljen putem Polymetisa na 15 Hz u prostoru zgloba i krajnjeg efektora prostoru. Jezične oznake došle su kasnije putem tasq.ai, do tri po epizodi.

  • 76k trajektorija, 350 sati, 564 scene, 84 zadatka, 50 sakupljača na tri kontinenta.
  • Glavni rezultat je ko-trening, a ne samostalni trening: serije pomiješane 50/50 s demonstracijama unutar domene nadmašuju sljedeću najbolju metodu za 22 posto apsolutnog uspjeha u distribuciji, 17 posto izvan nje.
  • IPEC-COMMUNITY/droid_lerobot: 92,233 epizoda, 27,044,326 sličica, franka, 15 fps, codebase_version v2.0, tri AV1 streama na 180x320, 392 GB.
  • Uzorak za otklanjanje pogrešaka od 2 GB i 100 epizoda nalazi se na gs://gresearch/robotics/droid_100. Počnite tamo.

BridgeData V2

Najbliže hobi postavu: WidowX 250 6-DoF ruka, 60,096 trajektorija kroz 24 okruženja i 13 vještina na 5 Hz. Obratite pažnju na sastav: 50,365 ekspertnih teleoperiranih demonstracija plus 9,731 iz randomizirane skriptirane politike 'pick-and-place', tako da oko 16 posto nije ljudska demonstracija, što je važno za učenje imitacijom kvalitetu. Uobičajeno preuzimanje, IPEC-COMMUNITY/bridge_orig_lerobot, izvještava o 53,192 epizode i 1,893,026 sličica na 5 fps, robot_type widowx: manje od 60,096 iz rada, stoga pročitajte broj iz meta/info.json umjesto da citirate bilo koji od njih.

Open X-Embodiment

Nije skup podataka u istom smislu: 60 postojećih skupova podataka robota iz 34 laboratorija objedinjeno je u jednu RLDS kolekciju koja pokriva 22 implementacije i preko milijun putanja. BridgeData V2 se nalazi unutar nje kao bridge_orig; odsječak google_robot, fractal20220817_data, pretvara se u 87.212 epizoda pri 3 fps.

Objedinjavanje nosi upozorenje koje rad izravno navodi. Za RT-X eksperimente autori pretvaraju svaki izvor u akciju krajnjeg efektora sa 7 stupnjeva slobode (DoF), ali ne poravnavaju koordinatne sustave između skupova podataka i dopuštaju da vrijednosti akcija budu apsolutne ili relativne pozicije ili brzine, prema originalnoj kontrolnoj shemi svakog robota. Njihov zaključak: isti vektor akcije može izazvati vrlo različite pokrete za različite robote.

Direktorij skupova podataka AY-Robots koji prikazuje javne LeRobot skupove podataka s brojem epizoda i opisima zadataka
Javni direktorij skupova podataka na /directory: skupovi podataka već u LeRobot formatu, već usklađeni s podržanom rukom.

Nepodudarnost, u četiri dijela

Nepodudarnost utjelovljenja obično se tretira kao jedan nejasan problem. Postoje četiri, kvare se različito, a dva se ne mogu popraviti skriptiranjem.

1. Stupnjevi slobode

SO-100 ima pet zglobova ruke plus hvataljku. Brojeno kao motori, to je ruka sa 6 stupnjeva slobode, i rad SmolVLA je tako naziva; brojeno kao mehanizam za pozicioniranje, to je ruka sa 5 stupnjeva slobode, i LeRobot je tako naziva u svom docstringu inverzne kinematike, koji opisuje IK meke orijentacije na SO-101 sa 5 stupnjeva slobode gdje zglob djelomično prati orijentaciju. Franka ima sedam zglobova za pozicioniranje. Taj jaz odlučuje koje poze postoje: ruka sa 5 stupnjeva slobode općenito ne može istovremeno doseći proizvoljan položaj i orijentaciju, pa rješavač vraća najbliže što može, pokret različit od demonstriranog. Pozadina: stupnjevi slobode.

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
Lijevo: LeRobotov SO follower, iz src/lerobot/robots/so_follower/so_follower.py. Desno: ulaz DROID politike openpi-ja. Šest protiv osam.

Dakle, gotova DROID kontrolna točka nije prečac. Physical Intelligence isporučuje pi05_droid na gs://openpi-assets/checkpoints/pi05_droid, a isti README koji hvali njegovu širinu upozorava da se ove stručne kontrolne točke možda neće generalizirati na vašu postavku. Njegovo stanje je osam Franka brojeva zglobova, a njegovi ključevi slika su exterior_image_1_left i wrist_image_left. Nijedna zastavica to ne pretvara u SO-100 naredbu sa šest motora.

2. Što zapravo govori vektor akcije

Dublje od dimenzionalnosti. U LeRobot konverzijama sva tri govore gdje bi hvataljka trebala ići, u Kartezijevom prostoru. SO-100 govori gdje bi šest servoa trebalo ići. Pretvaranje zahtijeva kinematički model i rješavač, a ne preoblikovanje.

SvojstvoOXE, DROID i Bridge u LeRobot oblikuSO-100 u LeRobotu
Vektor akcije7-D: x, y, z, roll, pitch, yaw, gripper6-D: jedna ciljna pozicija po motoru
Vektor stanja8-D, s utorom za popunjavanje (google_robot uses a quaternion)6-D, jedan po motoru
OkvirKartezijski, neusklađen među skupovima podatakaprostor zglobova, kalibracija po ruci
Apsolutno ili relativnojedno ili drugo, odlučuje izvorni laboratorijapsolutne ciljne pozicije
Jedinicenormalizirano po skupu podataka, zatim diskretiziranostupnjevi po zadanoj vrijednosti (use_degrees=True), inače -100 do 100
Tihi kvardelta pročitana kao apsolutnanekalibrirana ruka
7-D kartezijanski vektor je konvencija pretvarača, a ne DROID-a

README datoteka openx2lerobot dokumentira jedinstveno stanje od 8 dimenzija i akciju od 7 dimenzija za svaki skup podataka koji pretvara, odakle dolazi pad utor. DROID-ova vlastita RLDS shema se razlikuje: njegova gornja razina action je 7-vektor od 6 brzina zglobova plus 1 pozicija hvataljke, s cartesian_position, cartesian_velocity, joint_position i joint_velocity pod action_dict. openpi čita prikaz u prostoru zglobova, a LeRobot build vam daje kartezijanski prikaz. Nijedan nije šest apsolutnih kutova servo motora.

LeRobot isporučuje dio koji nedostaje: SO follower ima procesor kinematike s koracima InverseKinematicsEEToJoints i ForwardKinematicsJointsToEE. Njegovi ključevi su ee.x, ee.y, ee.z plus vektor rotacije ee.wx, ee.wy, ee.wz i ee.gripper_pos, tako da se čak i kodiranje orijentacije razlikuje od roll-pitch-yaw u datotekama. IK korak uzima orientation_weight, zadano 0.01, čiji docstring kaže da se postavi 0.0 za IK samo pozicije na nedovoljno aktuiranim rukama. Možete izgraditi most, ali orijentacijska polovica svake posuđene akcije ostaje aproksimirana.

3. Brzina kontrole

DROID je 15 Hz, BridgeData V2 5 Hz, google_robot slice 3 fps; autori pi0 opisuju open-source dio svoje mješavine kao niskofrekventnu kontrolu između 2 i 10 Hz. LeRobot-ov DatasetRecordConfig zadano postavlja fps 30, episode_time_s 60, reset_time_s 60, num_episodes 50. A trenirana na podacima od 5 Hz naučila je da jedna akcija pokriva 200 ms. Ponovite je na 30 Hz i ruka puzi; naivno ponovno uzorkujte i razmažete kadar gdje se hvataljka zatvara. Također loše djeluje s : blok od 100 koraka je 20 sekundi na 5 Hz, 3.3 na 30 Hz.

4. Kamere

BridgeData V2 je randomizirao dvije poze kamere svakih 50 trajektorija, a njegova projektna stranica bilježi da većina podataka ionako nosi samo fiksni pogled. DROID je koristio podesive ZED 2 nosače plus ZED Mini na zglobu. Imate dvije USB web kamere postavljene odokativno. Položaj kamere nije smetnja za ; to je velikim dijelom ono na što se vizualni enkoder oslanjao, i ništa u formatu datoteke ne govori da se poze razlikuju.

Zamka koja pojede dan

Dijelovi se dovoljno dobro uklapaju da bi se pokrenuli. Skup podataka se učitava, trening počinje, gubitak pada, pojavljuju se kontrolne točke, nema grešaka. Zatim politika ne radi ništa prepoznatljivo na ruci i provedete dan tražeći grešku u svojoj skripti za trening. Nema greške: model je naučio kartezijansku distribuciju akcija za robota koji ne postoji u vašoj sobi. Počnite od gubitak pada, politika ne radi ništa, a ne od svojih hiperparametara.

Što se događa kada ipak pokušate spojiti podatke

Očigledan plan je spajanje: nekoliko tisuća DROID epizoda plus vaših 50. LeRobot odbija, a odbijanje navodi tri stvari koje se razlikuju.

  1. 1
    Preuzmite uzorak od 100 epizoda, ne cijelih 1.7 TB

    2 GB je dovoljno za uvid u strukturu.

    bash
    pip install gsutil tensorflow tensorflow-datasets
    gsutil -m cp -r gs://gresearch/robotics/droid_100 ~/tensorflow_datasets/
  2. 2
    Pretvorite RLDS u LeRobot format

    openx2lerobot obuhvaća standardne OXE transformacije i bilježi tip robota te frekvenciju upravljanja. README to navodi u 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
    Pročitajte meta/info.json prije svega ostalog

    Ova datoteka odlučuje hoće li ostatak vašeg dana funkcionirati.

    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
    Pokušajte spajanje i pročitajte pogrešku

    merge učitava svaki skup podataka, zatim validate_all_metadata provjerava fps, robot_type i značajke u odnosu na prvi na popisu, podižući pogrešku pri prvom neslaganju.

    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.

Referentne vrijednosti dolaze iz skupa podataka koji ste prvi naveli, zbog čega se poruka žali na vaših 30 fps umjesto DROID-ovih 15. Popravite fps i naići ćete na provjeru robot_type; popravite to i naići ćete na provjeru značajki, 7 naspram 6 za akciju. Nijedan redoslijed ne prolazi, a ista provjera se pokreće u vrijeme snimanja putem sanity_check_dataset_robot_compatibility.

Nemojte hardkodirati robot_type kako biste zaobišli provjeru

Na trenutnom LeRobot main-u so100_follower i so101_follower su oba registrirana na jednu zajedničku SOFollowerRobotConfig, tako da niz iz stvarne snimke nije nužno onaj koji očekujete. Pročitajte ga iz vlastite meta/info.json, i tretirajte provjeru koju ste morali onemogućiti kao provjeru koja vam je nešto govorila.

Dakle, što se zapravo prenosi?

Težine, ne epizode. Svaka moderna generalistička politika apsorbirala je dio toga u pretobuci, a kada iz objavljene , nasljeđujete to već usklađeno od strane ljudi s računalnom snagom da to učine ispravno. Rad pi0-a iskreno govori o udjelu: 9.1 posto njegove mješavine za pretobuku, brojeći u vremenskim koracima, su podaci otvorenog koda uključujući OXE, Bridge v2 i DROID. Ta brojka je pi0-ova; mješavina svakog dobavljača se razlikuje.

Javni podaci o više utjelovljenja na SO-100 projektu
Prednosti
  • Vizualni i jezični priori: enkoder je vidio tisuće kuhinja i šalica i zna na što se odnosi "crveni blok".
  • Prior o manipulacijskoj strukturi: pristup, zatvaranje, podizanje, transport, otpuštanje, neovisno o utjelovljenju čak i kada brojevi nisu.
  • Poznat dobar skup podataka za testiranje. Ako vaš posao ne može previše prilagoditi 100 DROID epizoda, problem je u vašoj postavci.
  • Referentne točke: na domenama skupova podataka malog opsega RT-1-X je postigao 50 posto višu prosječnu stopu uspjeha od originalne metode ili RT-1, a RT-2-X je nadmašio RT-2 za oko 3x na vještinama u nastajanju.
Kompromisi
  • Nema upotrebljivog nadzora akcija. 7-D kartezijanska meta nije 6-D naredba zgloba.
  • Nema prijenosa položaja kamere, i ništa u podacima vam ne govori da se položaji razlikuju.
  • Nema prijenosa vremena: izvori od 3, 5 i 15 fps u odnosu na snimač od 30 fps.
  • Nema prijenosa hvataljke. Robotiq 2F-85 i ispisana čeljust na STS3215 razlikuju se po sili, hodu i dinamici.
  • Sama skala nije bila dovoljna čak ni za njegove autore: u domenama velikih skupova podataka RT-1-X nije nadmašio RT-1 obučen samo na tom skupu podataka.
  • Nema smanjenja broja vlastitih epizoda koje trebate.
Sloj modelaPrenosi li se?Zašto
Vizualni enkoderDa, snažnoObjekti i scene su neovisni o utjelovljenju
Jezično uzemljenjeDaUpute su tekst, a ne geometrija
Križno-modalna fuzijaUglavnomObraća pažnju na objekt naveden u upitu
Proprioceptivni enkoderNeUlazna dimenzija i semantika zgloba se razlikuju
Akcijska glavaNeObučeno na 7-D kartezijanskom prostoru u kojem niste
Statistika normalizacijeNe, i opasnoStrane statistike pomiču svaku naredbu

Zato SmolVLA se ponaša drugačije na jeftinom robotu. Njegov rad odabire 481 skup podataka iz zajednice s Hugging Facea, filtriranih prema tipu utjelovljenja, broju epizoda, kvaliteti podataka i pokrivenosti okvira: 22.9K epizoda, 10.6M okvira, evaluirano na stvarnim SO-100 i SO-101 robotima. Malo i usklađeno nadmašuje veliko i neusklađeno. Usporedite na ACT protiv SmolVLA.

Tri puta vrijedna razmatranja

Put A: fino podešavanje iz kontrolne točke koja je već apsorbirala podatke

Većina ljudi bi trebala odabrati ovaj put. Nikada ne dirate DROID ili Open X-Embodiment: odaberite politiku čije je predučenje već apsorbiralo podatke o unakrsnom utjelovljenju, snimite vlastite epizode, fino podesite.

PolitikaParametriMin. epizodaFormat skupa podatakaGPU razinaInferencijaOsnovna kontrolna točka
GR00T N1.7~3 B, ~40 M trenirano u finom podešavanju50LeRobot 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 okosnica50LeRobot 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 msnema, od nule

ACT je iskreni rubni slučaj: nema osnovnog modela, tako da nijedan javni podatak nikada ne dolazi do njega. To nije automatski nedostatak, budući da je s 20 ms po koraku akcije jedini od pet koji može zatvoriti brzu petlju, kao što stranica ACT-a navodi. Odaberite prema zadatku koristeći svih pet uspoređenih, GR00T N1.7 protiv Pi0.5, i 332 rezultata benchmarka za 85 modela u areni.

Put B: koristite DROID kao testni uređaj

Uzorak od 100 epizoda je najboljih 2 GB koje ćete preuzeti ovaj mjesec, i to ne za treniranje. To je skup podataka za koji znate da je ispravan. Pokrenite svoj pretvarač, učitavač i kratki GPU zadatak na njemu; sve što ne uspije je infrastrukturna greška pronađena dok je bila jeftina. NVIDIA radi isto u velikom opsegu: kartica GR00T N1.7 navodi četiri naknadno trenirane varijante, za Bridge i Fractal u SimplerEnv, DROID i LIBERO.

Put C: snimite svoje, namjerno

Trideset do pedeset zvuči malo pored 76.000 dok se ne sjetite da su vaše jedine s vašom rukom, vašim kamerama i vašim stolom. Prema zadanim postavkama LeRobota, 50 epizoda je 100 minuta stvarnog vremena. Pogledajte , i .

Stranica s AY-Robots tutorialom za snimanje koja prikazuje korake za prikupljanje LeRobot skupa podataka iz sesije teleoperacije
Vodič za snimanje na /learn/record-your-first-dataset: korak koji javni podaci ne mogu zamijeniti.

Dva načina za prelazak s javnih podataka na funkcionalnu 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.

  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.

Stranica za preuzimanje AY-Robots desktop klijenta, klijenta koji snima skupove podataka u LeRobot formatu iz teleoperacijske sesije
Desktop klijent na /download zapisuje LeRobot skupove podataka izravno iz teleoperacijske sesije, zaobilazeći RLDS konverziju.

Koliko košta svaki put

PutPohranaLjudsko vrijemeTrošak GPU-aŠansa da pomakne vašu ruku
Samo konvertirani DROID392 GBdani konverzije4 to 12 USDvrlo niska, pogrešan akcijski prostor
DROID spojen s vašim epizodamaobojeblocked by validate_all_metadatan/anema, ne pokreće se
SmolVLA, 30 do 50 vlastitih epizodanekoliko GB100 min snimanja1 to 3 USDvisoka
GR00T N1.7, 50 vlastitih epizodanekoliko GB100 min snimanja4 to 12 USDvisoka
ACT od nule, 50 vlastitih epizodanekoliko GB100 min snimanja1 to 3 USDvisoka, 20 ms inferencije
DROID uzorak kao testni uređaj2 GBjedno poslijepodnejedno kratko pokretanjevisoka, kao validacija

Asimetrija je ključna: put koji posuđuje najviše podataka je najskuplji i najmanje vjerojatan da će pomaknuti vašu ruku. Manje od dva sata vaše vlastite teleoperacije nadmašuje terabajt tuđe Franke. Još nemate ruku? /live prenosi fizički SO-100 bez prijave. Zatim trenirajte svoju prvu politiku, i SmolVLA na SO-100 za specifični vodič.

Razuman zadani plan

Preuzmite uzorak DROID-a od 2 GB i koristite ga za provjeru svoje cjevovoda. Zanemarite ostalih 1.7 TB. Snimite 50 epizoda jednog zadatka s fiksnim kamerama. Prvo fino podesite SmolVLA, jer je s minimalno 30 epizoda na kartici od 24 GB najjeftinije za iteraciju, a zatim isprobajte GR00T N1.7 na istim podacima. Usporedite na svom zadatku, a ne na benchmarku.

Snimajte skupove podataka koji već odgovaraju vašoj ruci

Desktop klijent piše skupove podataka u LeRobot formatu izravno iz teleoperacijske sesije: prava ruka, prava brzina sličica, pravi akcijski prostor. Bez RLDS konverzije, bez premapiranja.

Preuzmite desktop klijent
Mogu li trenirati politiku na DROID-u i pokrenuti je na svom SO-100?

Ne izravno. U LeRobot izvedbi, DROID akcije su 7-D naredbe krajnjeg efektora na Franka Pandi pri 15 fps; u sirovom RLDS-u to su 6 brzina zglobova plus pozicija hvataljke. SO-100 prihvaća 6 apsolutnih pozicija zglobova. Trebao bi vam sloj inverzne kinematike, pa čak i tada zglob s 5 stupnjeva slobode ne može reproducirati proizvoljne 6-DoF poze.

Mogu li miješati DROID ili Bridge epizode sa svojim SO-100 epizodama?

Ne. validate_all_metadata zahtijeva identične fps, robot_type i feature schema te podiže ValueError pri prvom neslaganju. Sva tri se razlikuju: 15 ili 5 fps naspram 30, franka ili widowx naspram vaše ruke, oblici akcija od 7 naspram 6. Prepisivanje metapodataka za prolazak provjere ne popravlja semantiku.

Je li Open X-Embodiment onda beskoristan za jeftinu ruku?

Ne, ali njegova vrijednost dolazi do vas putem prethodno obučenih težina, a ne epizoda. Otvoreni skupovi podataka uključujući OXE, Bridge v2 i DROID čine 9.1 posto pi0-ove mješavine za predtreniranje, a NVIDIA isporučuje GR00T N1.7 varijante post-trenirane na Bridge, Fractal, DROID i LIBERO. Ono što ne možete učiniti je dodati te epizode vlastitoj snimci.

Koja politika najviše koristi od javnih podataka o unakrsnom utjelovljenju?

Pi0.5 i GR00T modeli nose najviše predtreniranja unakrsnog utjelovljenja, ali SmolVLA se često najbolje ponaša na jeftinoj ruci: njegov skup za predtreniranje sastoji se od 481 skupova podataka zajednice, 22.9K epizoda i 10.6M sličica, evaluiranih na stvarnim SO-100 i SO-101 rukama. ACT je suprotno: nema osnovnog modela, 20 ms po akcijskom koraku.

Koliko mi je zapravo potrebno vlastitih epizoda?

30 za SmolVLA, 50 za GR00T N1.7, GR00T N1.5, Pi0.5 i ACT. Prema zadanim postavkama LeRobota od 60 s po epizodi i 60 s resetiranja, 50 epizoda je 100 minuta stvarnog vremena. Posuđeni podaci o unakrsnom utjelovljenju ne smanjuju te brojeve.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started