Javni imenik naborov podatkov AY-Robots, ki prikazuje nabore podatkov LeRobot, posnete na rokah razreda SO-100
Nabori podatkovOpen X-EmbodimentDROIDSO-100LeRobot

Uporaba DROID, BridgeData V2 in Open X na SO-100

AY-Robots ResearchAugust 23, 202618 min branja

DROID, BridgeData V2 in Open X-Embodiment se pretvorijo v 7-D akcije končnega efektorja na 6 in 7-stopinjskih rokah. SO-100 sprejme 6 sklepnih položajev. Kaj se prenese, kaj ne in kaj storiti namesto tega.

Kratka različica

  • Različice LeRobot vseh treh si delijo eno konvencijo: 7-D akcijo končnega efektorja [x, y, z, roll, pitch, yaw, gripper] in 8-D stanje z dodatnim mestom. SO-100 zajema šest absolutnih položajev sklepov.
  • Ta 7-D vektor je artefakt pretvornika: DROID-ovo lastno polje akcije RLDS je 6 hitrosti sklepov plus položaj prijemala, s kartezičnim pogledom v action_dict.
  • Štiri frekvence: DROID 15 fps, BridgeData V2 5 fps, google_robot izsek 3 fps, snemanje SO-100 pri 30 fps.
  • Ne morete jih združiti s svojimi podatki. validate_all_metadata sproži napako ob prvi razliki v fps, robot_type ali features, in vse tri se razlikujejo.
  • Prenašajo se predhodno naučene uteži, ne epizode. Odprtokodni podatki predstavljajo 9.1 odstotka pi0-jeve mešanice za predhodno učenje.
  • Njihova najcenejša resnična uporaba je testna naprava: preverjen 2 GB, 100-epizodni vzorec DROID, ki dokaže delovanje vaše cevovoda, preden snemate čez vikend.

Na Google Cloud vedru je javni nabor podatkov z milijonom trajektorij in SO-100 na mizi, ki je v delih stala 110 do 150 EUR. Zakaj prvi ne more učiti drugega? Delno lahko, vendar se skoraj noben prenos ne zgodi tam, kjer ljudje pričakujejo, in del, ki se zdi najlažji, sploh ne deluje.

Sledi: kaj je znotraj DROID, BridgeData V2 in Open X-Embodiment, kjer se vsak sreča z nizkocenovno 5-DoF roko, in kaj storiti namesto tega. Vsaka spodnja številka izvira iz članka, kartice nabora podatkov ali izvorne datoteke, ki ji pripada.

Kaj dejansko vsebujejo trije nabori podatkov

DROIDBridgeData V2Open X-Embodiment
RobotFranka Panda, 7 DoF, Robotiq 2F-85WidowX 250, 6 DoF, ~4,000 USD rig22 embodiments, 60 datasets, 34 labs
Obseg76k trajectories, 350 hours60,096 trajectories1M+ trajectories, 527 skills
Raznolikost564 scenes, 84 tasks, 50 collectors24 environments, 13 skills160,266 tasks, 21 institutions
Sestavavse teleoperirano50,365 teleoperated, 9,731 scriptedna izvorni laboratorij
Frekvenca krmiljenja15 Hz5 Hzrazlično, 3 sličice na sekundo navzgor
Kamere2 x ZED 2 exterior, 1 x ZED Mini wristdo 4, večina epizod le fiksnakar je uporabil laboratorij
Surovi prenos1.7 TB RLDS, 8.7 TB raw stereoJPEG archivesper-dataset TFDS buckets
Vstopna točka je konverzija LeRobot, ne originalni vedro

Malo ljudi še vedno prenaša 1.7 TB RLDS TFRecords. Skupnostna organizacija IPEC-COMMUNITY je ponovno objavila večino Open X-Embodiment v LeRobot dataset obliki z AV1 videom, kjer DROID zasede 392 GB. To je različica, s katero boste delali, in njena meta/info.json je tisto, kar je treba najprej prebrati.

DROID

Najbolj standardiziran od vseh treh. Ena oprema povsod: Franka Panda z prijemalom Robotiq 2F-85, dve nastavljivi stereo kameri ZED 2 in zapestna ZED Mini, teleoperirana z Meta Quest 2 krmilniki, posneta preko Polymetisa pri 15 Hz tako v sklepu kot v končnem efektorju prostoru. Jezikovne oznake so prišle kasneje preko tasq.ai, do tri na epizodo.

  • 76k trajektorij, 350 ur, 564 scen, 84 nalog, 50 zbiralcev na treh kontinentih.
  • Glavni rezultat je skupno usposabljanje, ne samostojno usposabljanje: serije, pomešane 50/50 z demonstracijami znotraj domene, so premagale naslednjo najboljšo metodo za 22 odstotkov absolutnega uspeha v distribuciji, 17 odstotkov izven nje.
  • IPEC-COMMUNITY/droid_lerobot: 92,233 epizod, 27,044,326 sličic, franka, 15 fps, codebase_version v2.0, trije AV1 tokovi pri 180x320, 392 GB.
  • 2 GB, 100-epizodni vzorec za odpravljanje napak se nahaja na gs://gresearch/robotics/droid_100. Začnite tam.

BridgeData V2

Najbližje hobi nastavitvi: roka WidowX 250 s 6 stopnjami svobode, 60,096 trajektorij v 24 okoljih in 13 spretnostih pri 5 Hz. Upoštevajte sestavo: 50,365 strokovnih teleoperiranih demonstracij plus 9,731 iz naključne skriptirane politike pobiranja in odlaganja, tako da približno 16 odstotkov ni človeških demonstracij, kar je pomembno za učenje z imitacijo kakovost. Običajni prenos, IPEC-COMMUNITY/bridge_orig_lerobot, poroča o 53,192 epizodah in 1,893,026 sličicah pri 5 fps, robot_type widowx: manj kot 60,096 iz članka, zato preberite število iz meta/info.json namesto da citirate katerega koli.

Open X-Embodiment

Ne gre za podatkovni niz v enakem smislu: 60 obstoječih robotskih podatkovnih nizov iz 34 laboratorijev, združenih v eno zbirko RLDS, ki zajema 22 izvedb in več kot milijon trajektorij. BridgeData V2 je v njej kot bridge_orig; rezina google_robot, fractal20220817_data, se pretvori v 87.212 epizod pri 3 fps.

Združevanje prinaša opozorilo, ki ga članek jasno navaja. Za eksperimente RT-X avtorji vsak vir pretvorijo v 7-DoF akcijo končnega efektorja, vendar ne poravnajo koordinatnih sistemov med podatkovnimi nizi in dovolijo, da so vrednosti akcij absolutne ali relativne pozicije ali hitrosti, glede na originalno krmilno shemo vsakega robota. Njihov zaključek: isti akcijski vektor lahko povzroči zelo različna gibanja za različne robote.

Imenik podatkovnih nizov AY-Robots, ki prikazuje javne podatkovne nize LeRobot s številom epizod in opisi nalog.
Javni imenik podatkovnih nizov na /directory: podatkovni nizi, že v obliki LeRobot, ki se že ujemajo s podprto roko.

Neskladje, v štirih delih

Neujemanje utelešenja se običajno obravnava kot en sam nejasen problem. V resnici so štirje, vsak odpove drugače, in dveh ni mogoče odpraviti s skriptiranjem.

1. Stopnje svobode

SO-100 ima pet sklepov roke in prijemalo. Štetje kot motorji je to 6-DoF roka, in članek SmolVLA jo tako imenuje; štetje kot pozicionirni mehanizem je 5-DoF, in LeRobot jo tako imenuje v svojem docstringu za inverzno kinematiko, ki opisuje IK z mehko orientacijo na 5-DOF SO-101, kjer zapestje sledi orientaciji le delno. Franka ima sedem pozicionirnih sklepov. Ta vrzel določa, katere poze obstajajo: 5-DoF roka na splošno ne more hkrati doseči poljubnega položaja in orientacije, zato reševalec vrne najbližje, kar lahko, kar je drugačno gibanje od prikazanega. Ozadje: stopnje svobode.

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: LeRobotov SO sledilec, iz src/lerobot/robots/so_follower/so_follower.py. Desno: Vhod politike DROID iz openpi. Šest proti osem.

Torej, pripravljena kontrolna točka DROID ni bližnjica. Physical Intelligence dobavlja pi05_droid na gs://openpi-assets/checkpoints/pi05_droid, in isti README, ki hvali njegovo širino, opozarja, da se te strokovne kontrolne točke morda ne bodo posplošile na vašo nastavitev. Njegovo stanje je osem številk Franka sklepov in njegovi slikovni ključi so exterior_image_1_left in wrist_image_left. Nobena zastavica tega ne spremeni v ukaz SO-100 za šest motorjev.

2. Kaj dejansko pove vektor akcije

Globlje kot dimenzionalnost. V konverzijah LeRobot vsi trije povedo, kam naj gre prijemalo, v kartezičnem prostoru. SO-100 pove, kam naj gre šest servomotorjev. Pretvorba potrebuje kinematični model in reševalnik, ne preoblikovanja.

LastnostOXE, DROID in Bridge v obliki LeRobotSO-100 v LeRobot
Vektor akcije7-D: x, y, z, roll, pitch, yaw, gripper6-D: en ciljni položaj na motor
Vektor stanja8-D, z mestom za dopolnitev (google_robot uses a quaternion)6-D, eden na motor
OkvirKartezični, neusklajen med nabori podatkovprostor sklepov, kalibracija na roko
Absolutno ali relativnooboje, odloča izvorni laboratorijabsolutni ciljni položaji
Enotenormalizirano na nabor podatkov, nato diskretiziranostopinje privzeto (use_degrees=True), sicer -100 do 100
Tiha napakadelta, prebrana kot absolutnaneukalibrirana roka
7-D kartezični vektor je konvencija pretvornika, ne DROID-a

README datoteka openx2lerobot dokumentira poenoteno 8-dimenzionalno stanje in 7-dimenzionalno akcijo za vsak nabor podatkov, ki ga pretvori, od koder izvira reža pad. Lastna shema RLDS DROID-a se razlikuje: njena zgornja raven action je 7-vektor 6 hitrosti sklepov plus 1 položaj prijemala, z cartesian_position, cartesian_velocity, joint_position in joint_velocity pod action_dict. openpi bere pogled v sklepnem prostoru, LeRobot gradnja vam ponudi kartezičnega. Nobeden ni šest absolutnih kotov servomotorjev.

LeRobot res dobavlja manjkajoči del: sledilnik SO ima procesor kinematike s koraki InverseKinematicsEEToJoints in ForwardKinematicsJointsToEE. Njegovi ključi so ee.x, ee.y, ee.z plus rotacijski vektor ee.wx, ee.wy, ee.wz in ee.gripper_pos, tako da se celo kodiranje orientacije razlikuje od roll-pitch-yaw v datotekah. Korak IK sprejme orientation_weight, privzeto 0.01, katerega docstring pravi, naj se nastavi 0.0 za IK samo na položaj na podakturiranih rokah. Most lahko zgradite, vendar orientacijska polovica vsake izposojene akcije ostane približna.

3. Krmilna frekvenca

DROID je 15 Hz, BridgeData V2 5 Hz, rezina google_robot 3 fps; avtorji pi0 opisujejo odprtokodni del svoje mešanice kot nizkofrekvenčno krmiljenje med 2 in 10 Hz. DatasetRecordConfig LeRobota privzeto nastavi fps 30, episode_time_s 60, reset_time_s 60, num_episodes 50. A usposobljena na 5 Hz podatkih se je naučila, da ena akcija pokriva 200 ms. Predvajajte jo pri 30 Hz in roka se bo plazila; naivno ponovno vzorčite in razmažete okvir, kjer se prijemalo zapre. Prav tako slabo vpliva na : 100-korakni blok je 20 sekund pri 5 Hz, 3.3 pri 30 Hz.

4. Kamere

BridgeData V2 je naključno določil dve pozi kamere vsakih 50 trajektorij, in njegova projektna stran ugotavlja, da večina podatkov vsebuje le fiksni pogled. DROID je uporabljal nastavljive nosilce ZED 2 in zapestno kamero ZED Mini. Imate dve USB spletni kameri, nameščeni po občutku. Poza kamere ni moteča spremenljivka za ; je namreč velik del tistega, na kar se je osredotočil vizualni kodirnik, in nič v formatu datoteke vam ne pove, da se poze razlikujejo.

Past, ki požre dan

Deli se dovolj dobro ujemajo, da se zadeva zažene. Podatkovni niz se naloži, usposabljanje se začne, izguba pada, pojavijo se kontrolne točke, ni napak. Nato politika ne naredi nič prepoznavnega na roki in vi preživite dan z iskanjem napake v vašem skriptu za usposabljanje. Napake ni: model se je naučil kartezične porazdelitve akcij za robota, ki ne obstaja v vaši sobi. Začnite pri izguba pada, politika ne dela nič, ne pri vaših hiperparametrih.

Kaj se zgodi, če vseeno poskusite združiti podatke

Očiten načrt je združiti: nekaj tisoč DROID epizod plus vaših 50. LeRobot zavrne, in zavrnitev navaja tri stvari, ki se razlikujejo.

  1. 1
    Prenesite vzorec 100 epizod, ne celotnih 1.7 TB

    2 GB je dovolj za ogled strukture.

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

    openx2lerobot ovije standardne transformacije OXE in označi tip robota ter frekvenco krmiljenja. Datoteka README to postavi v 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
    Preberite meta/info.json pred vsem ostalim

    Ta datoteka odloča, ali bo preostanek vašega dneva deloval.

    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
    Poskusite združitev in preberite napako

    merge naloži vsak nabor podatkov, nato validate_all_metadata preveri fps, robot_type in značilnosti glede na prvega na seznamu, in sproži napako ob prvem neskladju.

    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.

Referenčne vrednosti prihajajo iz kateregakoli nabora podatkov, ki ste ga navedli prvega, zato se sporočilo pritožuje nad vašimi 30 fps namesto DROID-ovih 15. Popravite fps in naleteli boste na preverjanje robot_type; popravite to in naleteli boste na preverjanje značilnosti, 7 proti 6 za dejanje. Nobeno razvrščanje ne uspe, in ista zaščita se izvede ob času snemanja preko sanity_check_dataset_robot_compatibility.

Ne kodirajte robot_type na trdo, da bi zaobšli preverjanje

Na trenutni glavni veji LeRobot sta so100_follower in so101_follower registrirana na eno skupno SOFollowerRobotConfig, zato niz iz dejanskega posnetka ni nujno tisti, ki ga pričakujete. Preberite ga iz lastne datoteke meta/info.json in obravnavajte preverjanje, ki ste ga morali onemogočiti, kot preverjanje, ki vam je nekaj sporočalo.

Kaj se torej dejansko prenese?

Uteži, ne epizode. Vsaka sodobna splošna politika je del tega absorbirala med predhodnim usposabljanjem, in ko vi iz izdane to podedujete že usklajeno s strani ljudi z računalniško močjo, da to storijo pravilno. Članek pi0 je odkrit glede deleža: 9,1 odstotka njegove mešanice za predhodno usposabljanje, šteto v časovnih korakih, so odprtokodni podatki, vključno z OXE, Bridge v2 in DROID. Ta številka je pi0-jeva; mešanica vsakega prodajalca se razlikuje.

Javni podatki med različnimi utelešenji za projekt SO-100
Prednosti
  • Vizualne in jezikovne predznanje: kodirnik je videl na tisoče kuhinj in skodelic ter ve, na kaj se nanaša "rdeči blok".
  • Predznanje o strukturi manipulacije: približanje, zapiranje, dvigovanje, transport, spuščanje, neodvisno od utelešenja, tudi ko številke niso.
  • Znana dobra zbirka podatkov za testiranje. Če vaše delo ne more preveč prilagoditi 100 epizod DROID, je problem v vaši nastavitvi.
  • Referenčne točke: na domenah z majhnimi nabori podatkov je RT-1-X dosegel 50 odstotkov višjo povprečno stopnjo uspešnosti kot prvotna metoda ali RT-1, in RT-2-X je premagal RT-2 za približno 3-krat pri nastajajočih spretnostih.
Kompromisi
  • Ni uporabnega nadzora dejanj. 7-D kartezična tarča ni 6-D ukaz za sklepe.
  • Ni prenosa poz kamere in nič v podatkih vam ne pove, da se poze razlikujejo.
  • Ni prenosa časovnih podatkov: viri s 3, 5 in 15 sličicami na sekundo proti snemalniku s 30 sličicami na sekundo.
  • Ni prenosa prijemala. Robotiq 2F-85 in natisnjena čeljust na STS3215 se razlikujeta po sili, hodu in dinamiki.
  • Sama velikost ni bila dovolj niti za avtorje: v domenah z velikimi nabori podatkov RT-1-X ni premagal RT-1, usposobljenega samo na tem naboru podatkov.
  • Ni zmanjšanja števila lastnih epizod, ki jih potrebujete.
Plast modelaSe prenese?Zakaj
Vizualni kodirnikDa, močnoPredmeti in prizori so neodvisni od utelešenja
Jezikovna ozemljitevDaNavodila so besedilo, ne geometrija
Križno-modalna fuzijaVečinomaPozoren je na objekt, imenovan v pozivu
Proprioceptivni kodirnikNeVhodna dimenzija in semantika sklepov se razlikujeta
Akcijska glavaNeUsposobljena na 7-D kartezičnem prostoru, v katerem niste
Normalizacijska statistikaNe in nevarnoTuje statistike premaknejo vsak ukaz

Zato SmolVLA se obnaša drugače na nizkocenovni roki. Njegov članek izbere 481 skupnostnih podatkovnih nizov iz Hugging Face, filtriranih po tipu utelešenja, številu epizod, kakovosti podatkov in pokritosti sličic: 22.9K epizod, 10.6M sličic, ovrednotenih na resničnih rokah SO-100 in SO-101. Majhno in usklajeno premaga veliko in neusklajeno. Primerjajte na ACT proti SmolVLA.

Tri poti, vredne razmisleka

Pot A: fino uglaševanje iz kontrolne točke, ki je že absorbirala podatke

Večina ljudi bi morala izbrati to pot. Nikoli se ne dotikajte DROID ali Open X-Embodiment: izberite politiko, katere predhodno usposabljanje je že absorbiralo podatke med utelešenji, posnemite lastne epizode, fino uglasite.

PolitikaParametriMin. epizodFormat nabora podatkovRazred GPEInferencaOsnovna kontrolna točka
GR00T N1.7~3 B, ~40 M urjenih z natančnim uglaševanjem50LeRobot v2.0 or v2.1A100 or H100 80 GB152 ms na koraknvidia/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, hrbtenica PaliGemma50LeRobot 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 msnoben, od začetka

ACT je iskren mejni primer: brez osnovnega modela, zato ga javni podatki nikoli ne dosežejo. To ni samodejno slabost, saj je pri 20 ms na korak dejanja edini od petih, ki lahko zaključi hitro zanko, kot stran ACT določa. Izberite glede na nalogo z uporabo vseh pet primerjanih, GR00T N1.7 proti Pi0.5, in 332 rezultatov meritev za 85 modelov v areni.

Pot B: uporabite DROID kot testno napravo

Vzorec 100 epizod je najboljših 2 GB, ki jih boste prenesli ta mesec, in ne za usposabljanje. To je nabor podatkov, za katerega veste, da je pravilen. Zaženite svoj pretvornik, nalagalnik in kratko nalogo GPE na njem; vse, kar ne uspe, je napaka v infrastrukturi, odkrita, ko je bilo to poceni. NVIDIA dela enako v velikem obsegu: kartica GR00T N1.7 navaja štiri naknadno usposobljene variante, za Bridge in Fractal v SimplerEnv, DROID in LIBERO.

Pot C: posnemite svoje, namerno

Trideset do petdeset se sliši malo v primerjavi s 76.000, dokler se ne spomnite, da so vaše edine z vašo roko, vašimi kamerami in vašo mizo. Pri privzetih nastavitvah LeRobota je 50 epizod 100 minut realnega časa. Glejte , in .

Stran z vadnico za snemanje AY-Robots, ki prikazuje korake za zajemanje nabora podatkov LeRobot iz seje teleoperacije.
Navodila za snemanje na /learn/record-your-first-dataset: korak, ki ga javni podatki ne morejo nadomestiti.

Dva načina za prehod od javnih podatkov do delujoče 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.

Stran za prenos namiznega odjemalca AY-Robots, odjemalca, ki snema nabore podatkov v formatu LeRobot iz teleoperacijske seje
Namizni odjemalec na /download piše LeRobot nabore podatkov neposredno iz teleoperacijske seje, s čimer se izogne pretvorbi RLDS.

Koliko stane vsaka pot

PotProstor za shranjevanjeČas, potreben za človekaStroški GPUVerjetnost, da premakne vašo roko
Samo pretvorjen DROID392 GBdni pretvorbe4 to 12 USDzelo nizka, napačen akcijski prostor
DROID združen z vašimi epizodamiobojeblokirano z validate_all_metadatan/anobena, ne deluje
SmolVLA, 30 do 50 lastnih epizodnekaj GB100 min snemanja1 to 3 USDvisoka
GR00T N1.7, 50 lastnih epizodnekaj GB100 min snemanja4 to 12 USDvisoka
ACT iz nič, 50 lastnih epizodnekaj GB100 min snemanja1 to 3 USDvisoka, 20 ms sklepanja
Vzorec DROID kot testna naprava2 GBpopoldneen kratek zagonvisoka, kot validacija

Asimetrija je bistvo: pot, ki si izposoja največ podatkov, je najdražja in najmanj verjetno bo premaknila vašo roko. Manj kot dve uri lastne teleoperacije premaga terabajt tuje Franke. Še nimate roke? /live pretaka fizični SO-100 brez prijave. Nato trenirajte svojo prvo politiko, in SmolVLA na SO-100 za specifičen vodnik.

Razumen privzeti načrt

Prenesite 2 GB vzorec DROID in ga uporabite za preizkus svoje poti. Preostalih 1.7 TB zanemarite. Posnemite 50 epizod ene naloge s fiksnimi kamerami. Najprej natančno nastavite SmolVLA, ker je z najmanj 30 epizodami na 24 GB kartici najcenejše za iteracijo, nato poskusite GR00T N1.7 na istih podatkih. Primerjajte na svoji nalogi, ne na merilu uspešnosti.

Posnemite nabore podatkov, ki že ustrezajo vaši roki

Namizni odjemalec piše nabore podatkov v formatu LeRobot neposredno iz teleoperacijske seje: prava roka, prava hitrost sličic, pravi akcijski prostor. Brez pretvorbe RLDS, brez ponovnega preslikovanja.

Pridobite namizni odjemalec
Ali lahko treniram politiko na DROID in jo izvajam na svojem SO-100?

Ne neposredno. V različici LeRobot so DROID akcije 7-D ukazi končnega efektorja na Franka Panda pri 15 sličicah na sekundo; v surovem RLDS so to 6 hitrosti sklepov plus položaj prijemala. SO-100 sprejme 6 absolutnih položajev sklepov. Potrebovali bi sloj inverzne kinematike, in tudi takrat 5-DoF zapestje ne more reproducirati poljubnih 6-DoF poz.

Ali lahko mešam epizode DROID ali Bridge s svojimi epizodami SO-100?

Ne. validate_all_metadata zahteva enake fps, robot_type in feature schema ter sproži ValueError ob prvem neskladju. Vsi trije se razlikujejo: 15 ali 5 fps proti 30, franka ali widowx proti vaši roki, oblike akcij 7 proti 6. Ponovno pisanje metapodatkov za uspešno preverjanje ne odpravi semantike.

Je Open X-Embodiment potem neuporaben za poceni roko?

Ne, vendar njegova vrednost do vas pride preko vnaprej uteženih uteži, ne epizod. Odprtokodni nabori podatkov, vključno z OXE, Bridge v2 in DROID, predstavljajo 9.1 odstotka pi0-jeve mešanice za predhodno usposabljanje, in NVIDIA dobavlja GR00T N1.7 različice, naknadno usposobljene na Bridge, Fractal, DROID in LIBERO. Kar ne morete storiti, je dodajanje teh epizod k lastnemu posnetku.

Katera politika ima največ koristi od javnih podatkov med-utelešenja?

Pi0.5 in modeli GR00T imajo največ predhodnega usposabljanja med-utelešenja, vendar se SmolVLA pogosto najbolje obnaša na poceni roki: njen nabor za predhodno usposabljanje obsega 481 skupnostnih naborov podatkov, 22.9K epizod in 10.6M sličic, ocenjenih na resničnih rokah SO-100 in SO-101. ACT je nasprotno: brez osnovnega modela, 20 ms na akcijski korak.

Koliko lastnih epizod dejansko potrebujem?

30 za SmolVLA, 50 za GR00T N1.7, GR00T N1.5, Pi0.5 in ACT. Pri privzetih nastavitvah LeRobot 60 s na epizodo in 60 s ponastavitve, je 50 epizod 100 minut realnega časa. Izposojeni podatki med-utelešenja teh številk ne znižujejo.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started