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

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

AY-Robots ResearchAugust 23, 202618 min čitanja

DROID, BridgeData V2 i Open X-Embodiment se konvertuju u 7-D akcije krajnjeg efektora na rukama sa 6 i 7 stepeni slobode. SO-100 prihvata 6 pozicija zglobova. Šta se prenosi, šta ne, i šta umesto toga učiniti.

Kratka verzija

  • LeRobot verzije sva tri dele jednu konvenciju: 7-D akcija krajnjeg efektora [x, y, z, roll, pitch, yaw, gripper] i 8-D stanje sa slotom za popunu. SO-100 uzima šest apsolutnih pozicija zglobova.
  • Taj 7-D vektor je artefakt konvertera: DROID-ovo sopstveno RLDS polje akcije je 6 brzina zglobova plus pozicija hvataljke, sa Kartezijanskim prikazom u action_dict.
  • Četiri takta: DROID 15 fps, BridgeData V2 5 fps, google_robot isečak 3 fps, SO-100 snimanje na 30 fps.
  • Ne možete ih spojiti sa sopstvenim podacima. validate_all_metadata javlja grešku na prvoj razlici u fps, robot_type ili features, a sve tri se razlikuju.
  • Ono što se prenosi su unapred obučene težine, a ne epizode. Podaci otvorenog koda čine 9.1 procenata pi0 mešavine za pre-trening.
  • Njihova najjeftinija stvarna upotreba je testni uređaj: poznati, ispravni DROID uzorak od 2 GB, 100 epizoda koji dokazuje vašu cevovodnu obradu pre nego što snimate tokom vikenda.

Postoji javni skup podataka od milion trajektorija na Google Cloud bucket-u i SO-100 na stolu koji je koštao 110 do 150 EUR u delovima. Zašto prvi ne može da nauči drugog? Delimično može, ali se skoro nijedan prenos ne dešava tamo gde ljudi očekuju, a deo koji izgleda najlakše uopšte ne funkcioniše.

Sledi: šta se nalazi unutar DROID, BridgeData V2 i Open X-Embodiment, gde se svaki sudara sa jeftinim 5-DoF robotom, i šta umesto toga učiniti. Svaki broj ispod potiče iz rada, kartice skupa podataka ili izvornog fajla kojem pripada.

Šta 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
Skala76k trajectories, 350 hours60,096 trajectories1M+ trajectories, 527 skills
Raznovrsnost564 scenes, 84 tasks, 50 collectors24 environments, 13 skills160,266 tasks, 21 institutions
Kompozicijaall 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
Sirovo preuzimanje1.7 TB RLDS, 8.7 TB raw stereoJPEG archivesper-dataset TFDS buckets
Ulazna tačka je LeRobot konverzija, a ne originalni bucket

Malo ljudi i dalje preuzima 1.7 TB RLDS TFRecords-a. Organizacija zajednice IPEC-COMMUNITY je ponovo objavila većinu Open X-Embodiment-a u obliku LeRobot skupa podataka sa AV1 videom, gde DROID zauzima 392 GB. To je verzija sa kojom ćete raditi, i njen meta/info.json je ono što treba prvo pročitati.

DROID

Najstandardizovaniji od tri. Jedan sistem svuda: Franka Panda sa Robotiq 2F-85 hvataljkom, dve podesive ZED 2 stereo kamere i ZED Mini kamera na zglobu, teleoperisan sa Meta Quest 2 kontrolerima, snimljen preko Polymetis-a na 15 Hz u prostoru zgloba i krajnjeg efektora prostoru. Jezičke oznake su došle kasnije preko 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 pomešane 50/50 sa demonstracijama unutar domena nadmašuju sledeću najbolju metodu za 22 procenta apsolutnog uspeha u distribuciji, 17 procenata van nje.
  • IPEC-COMMUNITY/droid_lerobot: 92,233 epizoda, 27,044,326 frejmova, franka, 15 fps, codebase_version v2.0, tri AV1 strima na 180x320, 392 GB.
  • Uzorak za otklanjanje grešaka od 2 GB, 100 epizoda, nalazi se na gs://gresearch/robotics/droid_100. Počnite tamo.

BridgeData V2

Najbliže hobi postavci: WidowX 250 6-DoF ruka, 60,096 trajektorija kroz 24 okruženja i 13 veština na 5 Hz. Obratite pažnju na sastav: 50,365 ekspertskih teleoperisanih demonstracija plus 9,731 iz randomizovane skriptovane politike 'uzmi i postavi', tako da oko 16 procenata nije ljudska demonstracija, što je važno za učenje imitacijom kvalitet. Uobičajeno preuzimanje, IPEC-COMMUNITY/bridge_orig_lerobot, izveštava o 53,192 epizode i 1,893,026 frejmova na 5 fps, robot_type widowx: manje od 60,096 iz rada, pa pročitajte broj iz meta/info.json umesto da citirate bilo koji.

Open X-Embodiment

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

Objedinjavanje nosi upozorenje koje rad jasno navodi. Za RT-X eksperimente, autori konvertuju svaki izvor u akciju krajnjeg efektora sa 7 stepeni slobode (7-DoF), ali ne poravnavaju koordinatne sisteme između skupova podataka i dozvoljavaju da vrednosti akcija budu apsolutne ili relativne pozicije ili brzine, prema originalnoj kontrolnoj šemi svakog robota. Njihov zaključak: isti vektor akcije može izazvati veoma različite pokrete za različite robote.

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

Nepodudarnost, u četiri dela

Neusklađenost inkarnacije se obično tretira kao jedan nejasan problem. Postoje četiri, one se razlikuju po načinu neuspeha, a dve se ne mogu popraviti skriptovanjem.

1. Stepeni slobode

SO-100 ima pet zglobova ruke plus hvataljku. Računato kao motori, to je ruka sa 6 stepeni slobode (DoF), i SmolVLA rad je tako naziva; računato kao mehanizam za pozicioniranje, to je 5-DoF, i LeRobot je tako naziva u svom docstringu za inverznu kinematiku, koji opisuje IK meke orijentacije na 5-DOF SO-101 gde zglob prati orijentaciju samo delimično. Franka ima sedam zglobova za pozicioniranje. Taj jaz odlučuje koje poze postoje: ruka sa 5 stepeni slobode generalno ne može istovremeno dostići proizvoljnu poziciju i orijentaciju, tako da rešavač vraća najbliže što može, što je drugačiji pokret od demonstriranog. Pozadina: .

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
Levo: LeRobot-ov SO pratilac, iz src/lerobot/robots/so_follower/so_follower.py. Desno: openpi-jev DROID ulaz politike. Šest protiv osam.

Dakle, gotov DROID kontrolni punkt nije prečica. Physical Intelligence isporučuje pi05_droid na gs://openpi-assets/checkpoints/pi05_droid, a isti README koji hvali njegovu širinu upozorava da se ovi ekspertski kontrolni punktovi možda neće generalizovati 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 komandu za SO-100 sa šest motora.

2. Šta akcioni vektor zapravo govori

Dublje od dimenzionalnosti. U LeRobot konverzijama, sva tri govore gde bi hvataljka trebalo da ide, u Kartezijanskom prostoru. SO-100 govori gde bi šest servoa trebalo da ide. Konverzija zahteva kinematički model i rešavač, a ne preoblikovanje.

SvojstvoOXE, DROID i Bridge u LeRobot formiSO-100 u LeRobotu
Akcioni vektor7-D: x, y, z, roll, pitch, yaw, gripper6-D: jedna ciljna pozicija po motoru
Vektor stanja8-D, sa slotom za popunjavanje (google_robot koristi kvaternion)6-D, jedan po motoru
OkvirKartezijanski, neusklađen između skupova podatakaprostor zglobova, kalibracija po ruci
Apsolutno ili relativnobilo koje, odlučuje izvorna laboratorijaapsolutne ciljne pozicije
Jedinicenormalizovano po skupu podataka, zatim diskretizovanostepeni podrazumevano (use_degrees=True), inače -100 do 100
Tihi neuspehdelta očitana kao apsolutnaneka kalibrisana ruka
7-D Kartezijanski vektor je konvencija konvertera, a ne DROID-a

openx2lerobot README dokumentuje objedinjeno 8-dimenzionalno stanje i 7-dimenzionalnu akciju za svaki skup podataka koji konvertuje, odakle potiče `pad` slot. DROID-ova sopstvena RLDS šema se razlikuje: njen `action` na najvišem nivou je 7-vektor od *6 brzina zglobova plus 1 pozicija hvataljke*, sa `cartesian_position`, `cartesian_velocity`, `joint_position` i `joint_velocity` pod `action_dict`. openpi čita prikaz u prostoru zglobova, dok vam LeRobot verzija daje Kartezijanski. Nijedno nije šest apsolutnih uglova servo motora.

LeRobot isporučuje deo koji nedostaje: SO pratilac ima procesor kinematike sa 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, podrazumevano 0.01, čiji docstring kaže da se postavi 0.0 za IK samo po poziciji na nedovoljno aktuiranim rukama. Možete izgraditi most, ali orijentaciona polovina svake pozajmljene akcije ostaje aproksimirana.

3. Brzina kontrole

DROID je 15 Hz, BridgeData V2 5 Hz, google_robot isečak 3 fps; autori pi0 opisuju open-source deo svoje mešavine kao niskofrekventnu kontrolu između 2 i 10 Hz. LeRobot-ov DatasetRecordConfig podrazumevano postavlja fps 30, episode_time_s 60, reset_time_s 60, num_episodes 50. obučena na podacima od 5 Hz naučila je da jedna akcija pokriva 200 ms. Ponovite je na 30 Hz i ruka će puzati; naivno ponovno uzorkovanje će razmazati kadar gde se hvataljka zatvara. Takođe loše interaguje sa : chunk od 100 koraka je 20 sekundi na 5 Hz, 3.3 na 30 Hz.

4. Kamere

BridgeData V2 je randomizovao dve poze kamere na svakih 50 trajektorija, a na stranici projekta se navodi da većina podataka ionako sadrži samo fiksni prikaz. DROID je koristio podesive ZED 2 nosače plus ZED Mini na zglobu. Imate dve USB veb kamere postavljene odokativno. Položaj kamere nije smetnja za ; to je mnogo od onoga na šta se vizuelni enkoder fokusirao, i ništa u formatu datoteke vam ne govori da se poze razlikuju.

Zamka koja pojede dan

Delovi se dovoljno dobro uklapaju da bi sistem radio. Skup podataka se učitava, obuka počinje, gubitak opada, pojavljuju se kontrolne tačke, nema grešaka. Zatim politika ne radi ništa prepoznatljivo na ruci i provedete dan tražeći grešku u vašoj skripti za obuku. Nema greške: model je naučio distribuciju Kartezijanskih akcija za robota koji ne postoji u vašoj sobi. Počnite od gubitak opada, politika ne radi ništa, a ne od vaših hiperparametara.

Šta se dešava kada ipak pokušate da spojite podatke

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

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

    2 GB je dovoljno da se vidi struktura.

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

    openx2lerobot obuhvata standardne OXE transformacije i anotira tip robota i frekvenciju kontrole. README ovo stavlja 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 pre bilo čega drugog

    Ovaj fajl odlučuje da li će ostatak vašeg dana funkcionisati.

    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 grešku

    merge učitava svaki skup podataka, zatim validate_all_metadata proverava fps, robot_type i features u odnosu na prvi na listi, podižući greš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 vrednosti dolaze iz skupa podataka koji ste prvi naveli, zbog čega se poruka žali na vaših 30 fps umesto DROID-ovih 15. Popravite fps i naići ćete na proveru robot_type; popravite to i naići ćete na proveru features, 7 naspram 6 za akciju. Nijedan redosled ne prolazi, a ista provera se pokreće u vreme snimanja putem sanity_check_dataset_robot_compatibility.

Ne hardkodirajte robot_type da biste zaobišli proveru

Na trenutnom LeRobot main-u, so100_follower i so101_follower su oba registrovana na jednu zajedničku SOFollowerRobotConfig, tako da string iz stvarnog snimka nije nužno onaj koji očekujete. Pročitajte ga iz sopstvenog meta/info.json, i tretirajte proveru koju ste morali da onemogućite kao proveru koja vam je nešto govorila.

Šta se zapravo prenosi?

Težine, ne epizode. Svaka moderna generalistička politika je apsorbovala deo toga u pretreniranju, a kada sa objavljenog nasleđujete to već usklađeno od strane ljudi sa dovoljnom računarskom snagom da to urade ispravno. Rad pi0 je iskren u pogledu proporcije: 9.1 procenat njegove mešavine za pretreniranje, brojan u vremenskim koracima, su podaci otvorenog koda uključujući OXE, Bridge v2 i DROID. Ta cifra je pi0-ova; mešavina svakog dobavljača se razlikuje.

Javni podaci o unakrsnom otelotvorenju za SO-100 projekat
Prednosti
  • Vizuelni i jezički priori: enkoder je video hiljade kuhinja i šolja i zna na šta se odnosi "crveni blok".
  • Prior o strukturi manipulacije: prilaz, zatvaranje, podizanje, transport, otpuštanje, nezavisno od otelotvorenja čak i kada brojevi nisu.
  • Poznat i dobar skup podataka za testiranje. Ako vaš posao ne može da preuči 100 DROID epizoda, problem je u vašoj postavci.
  • Referentne tačke: na domenima skupova podataka malog obima RT-1-X je postigao 50 procenata višu prosečnu stopu uspeha od originalne metode ili RT-1, a RT-2-X je nadmašio RT-2 za oko 3x u pogledu novonastalih veština.
Kompromisi
  • Nema upotrebljivog nadzora akcija. 7-D Kartezijanski cilj nije 6-D komanda zgloba.
  • Nema prenosa položaja kamere, i ništa u podacima vam ne govori da se položaji razlikuju.
  • Nema prenosa vremena: izvori od 3, 5 i 15 fps naspram snimača od 30 fps.
  • Nema prenosa hvataljke. Robotiq 2F-85 i štampana čeljust na STS3215 se razlikuju po sili, hodu i dinamici.
  • Sama skala nije bila dovoljna čak ni za njene autore: u domenima velikih skupova podataka RT-1-X nije nadmašio RT-1 treniran samo na tom skupu podataka.
  • Nema smanjenja broja sopstvenih epizoda koje su vam potrebne.
Sloj modelaPrenosi se?Zašto
Vision encoderDa, snažnoObjekti i scene su nezavisni od otelotvorenja
Language groundingDaUputstva su tekst, ne geometrija
Cross-modal fusionUglavnomObraća pažnju na objekat naveden u upitu
Proprioception encoderNeUlazna dimenzija i semantika zglobova se razlikuju
Action headNeTrenirano na 7-D Kartezijanskom prostoru u kojem se ne nalazite
Normalisation statisticsNe, i opasnoStrane statistike pomeraju svaku komandu

Zato se SmolVLA ponaša drugačije na jeftinoj ruci. Njegov rad bira 481 skup podataka zajednice sa Hugging Face-a, filtriran po tipu otelotvorenja, broju epizoda, kvalitetu podataka i pokrivenosti kadrova: 22.9K epizoda, 10.6M kadrova, evaluirano na stvarnim SO-100 i SO-101 rukama. Malo i usklađeno pobeđuje veliko i neusklađeno. Uporedite na ACT u odnosu na SmolVLA.

Tri puta koja vredi slediti

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

Većina ljudi bi trebalo da izabere ovaj. Nikada ne dirate DROID ili Open X-Embodiment: izaberite politiku čija je pretrenaža već apsorbovala podatke o unakrsnom otelotvorenju, snimite sopstvene epizode, fino podesite.

PolitikaParametriMin. epizodaFormat skupa podatakaGPU nivoInferencijaOsnovna kontrolna tač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 msnijedan, od nule

ACT je iskren granični slučaj: nema osnovnog modela, tako da nijedan javni podatak nikada ne stiže do njega. To nije automatski nedostatak, jer sa 20 ms po koraku akcije, to je jedini od pet koji može zatvoriti brzu petlju, kao što stranica ACT navodi. Izaberite po zadatku koristeći svih pet upoređenih, GR00T N1.7 protiv Pi0.5, i 332 rezultata benčmarka za 85 modela u areni.

Putanja B: koristite DROID kao testni uređaj

Uzorak od 100 epizoda je najboljih 2 GB koje ćete preuzeti ovog meseca, i to ne za obuku. To je skup podataka za koji znate da je ispravan. Pokrenite svoj konverter, učitavač i kratak GPU posao na njemu; sve što ne uspe je infrastrukturna greška pronađena dok je bila jeftina. NVIDIA radi isto u velikom obimu: kartica GR00T N1.7 navodi četiri post-trenirane varijante, za Bridge i Fractal u SimplerEnv, DROID i LIBERO.

Putanja C: snimite svoje, namerno

Trideset do pedeset zvuči malo pored 76.000 dok ne zapamtite da su vaše jedine sa vašom rukom, vašim kamerama i vašim stolom. Sa podrazumevanim postavkama LeRobota, 50 epizoda je 100 minuta realnog vremena. Pogledajte , i .

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

Dva načina da se od javnih podataka dođe do funkcionalne 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.

  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 sesije teleoperacije.
Desktop klijent na /download direktno upisuje LeRobot skupove podataka iz teleop sesije, zaobilazeći RLDS konverziju.

Šta košta svaka putanja

PutanjaSkladištenjeLjudsko vremeGPU trošakŠansa da pomeri vašu ruku
Konvertovani DROID sam392 GBdana konverzije4 do 12 USDveoma niska, pogrešan akcioni prostor
DROID spojen sa vašim epizodamaobablokirano od strane validate_all_metadatan/anema, ne pokreće se
SmolVLA, 30 do 50 sopstvenih epizodanekoliko GB100 min snimanja1 do 3 USDvisoka
GR00T N1.7, 50 sopstvenih epizodanekoliko GB100 min snimanja4 do 12 USDvisoka
ACT od nule, 50 sopstvenih epizodanekoliko GB100 min snimanja1 do 3 USDvisoka, 20 ms inferencija
DROID uzorak kao testni uređaj2 GBjedno popodnejedno kratko pokretanjevisoka, kao validacija

Asimetrija je poenta: putanja koja pozajmljuje najviše podataka je najskuplja i najmanje verovatno će pomeriti vašu ruku. Manje od dva sata vaše sopstvene teleoperacije pobeđuje terabajt tuđe Franke. Još uvek nemate ruku? /live strimuje fizički SO-100 bez prijave. Zatim obučite svoju prvu politiku, i SmolVLA na SO-100 za specifičan vodič.

Razuman podrazumevani plan

Preuzmite uzorak DROID-a od 2 GB i koristite ga da dokažete svoj pajplajn. Ignorišite ostalih 1.7 TB. Snimite 50 epizoda jednog zadatka sa fiksnim kamerama. Fine-tune SmolVLA prvo, jer je sa minimalno 30 epizoda na kartici od 24 GB najjeftinije za iteraciju, zatim pokušajte GR00T N1.7 na istim podacima. Uporedite na svom zadatku, ne na benčmarku.

Snimite skupove podataka koji već odgovaraju vašoj ruci

Desktop klijent piše LeRobot-formatirane skupove podataka direktno iz teleop sesije: prava ruka, prava brzina kadrova, pravi akcioni prostor. Bez RLDS konverzije, bez premapiranja.

Preuzmite desktop klijent
Mogu li da treniram politiku na DROID-u i pokrenem je na svom SO-100?

Ne direktno. U LeRobot verziji, DROID akcije su 7-D komande krajnjeg efektora na Franka Panda robotu pri 15 fps; u sirovom RLDS-u to su 6 brzina zglobova plus pozicija hvataljke. SO-100 prihvata 6 apsolutnih pozicija zglobova. Trebao bi vam sloj inverzne kinematike, a čak i tada zglob sa 5 stepeni slobode ne može reprodukovati proizvoljne poze sa 6 stepeni slobode.

Mogu li da mešam DROID ili Bridge epizode sa svojim SO-100 epizodama?

Ne. validate_all_metadata zahteva identične fps, robot_type i feature schema i podiže ValueError pri prvom neslaganju. Sve tri se razlikuju: 15 ili 5 fps naspram 30, franka ili widowx naspram vaše ruke, oblici akcija od 7 naspram 6. Prepisivanje metapodataka da bi se prošla provera ne rešava semantiku.

Da li je Open X-Embodiment onda beskoristan za jeftinu ruku?

Ne, ali njegova vrednost vam dolazi kroz unapred trenirane težine, a ne kroz epizode. Skupovi podataka otvorenog koda uključujući OXE, Bridge v2 i DROID čine 9.1 procenata pi0 mešavine za pre-trening, a NVIDIA isporučuje GR00T N1.7 varijante post-trenirane na Bridge, Fractal, DROID i LIBERO. Ono što ne možete je dodati te epizode sopstvenom snimku.

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

Pi0.5 i GR00T modeli nose najviše pre-treninga za unakrsno otelotvorenje, ali SmolVLA se često najbolje ponaša na jeftinoj ruci: njegov skup za pre-trening je 481 skup podataka zajednice, 22.9K epizoda i 10.6M kadrova, evaluiran na stvarnim SO-100 i SO-101 rukama. ACT je suprotno: nema osnovnog modela, 20 ms po koraku akcije.

Koliko mi je zapravo potrebno sopstvenih epizoda?

30 za SmolVLA, 50 za GR00T N1.7, GR00T N1.5, Pi0.5 i ACT. Sa LeRobot podrazumevanim vrednostima od 60 s po epizodi i 60 s resetovanja, 50 epizoda je 100 minuta stvarnog vremena. Pozajmljeni podaci o unakrsnom otelotvorenju ne smanjuju te brojeve.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started