
DROID, BridgeData V2 og Open X-Embodiment konverterer til 7-D end-effector handlinger på 6 og 7-DoF arme. En SO-100 tager 6 ledpositioner. Hvad der overføres, hvad der ikke gør, hvad man skal gøre i stedet.
Den korte version
- •LeRobot-builds af alle tre deler én konvention: en 7-D end-effector-handling [x, y, z, roll, pitch, yaw, gripper] og en 8-D tilstand med en pad-slot. En SO-100 tager seks absolutte ledpositioner.
- •Den 7-D vektor er konverterens artefakt: DROID's eget RLDS-handlingsfelt er 6 ledhastigheder plus en gribeposition, med det kartesiske syn i action_dict.
- •Fire ure: DROID 15 fps, BridgeData V2 5 fps, google_robot-udsnittet 3 fps, en SO-100-optagelse ved 30 fps.
- •Du kan ikke flette dem med dine egne data. validate_all_metadata udløses ved den første af fps, robot_type eller features, der afviger, og alle tre afviger.
- •Det, der overføres, er forudtrænede vægte, ikke episoder. Open-source data udgør 9.1 procent af pi0's forudtræningsblanding.
- •Deres billigste reelle anvendelse er en testopstilling: en kendt-god 2 GB, 100-episode DROID-prøve, der beviser din pipeline, før du optager en weekend.
Der er et offentligt datasæt med en million-trajektorier på en Google Cloud bucket og en SO-100 på skrivebordet, der kostede 110 til 150 EUR i dele. Hvorfor kan den første ikke lære den anden? Det kan den delvist, men næsten ingen af overførslen sker, hvor folk forventer det, og den del, der ser nemmest ud, virker slet ikke.
Hvad følger: hvad der er inde i DROID, BridgeData V2 og Open X-Embodiment, hvor hver især kolliderer med en billig 5-DoF arm, og hvad man skal gøre i stedet. Hvert tal nedenfor kom fra den artikel, datasætkort eller kildefil, det tilhører.
Hvad de tre datasæt faktisk indeholder
| DROID | BridgeData V2 | Open X-Embodiment | |
|---|---|---|---|
| Robot | Franka Panda, 7 DoF, Robotiq 2F-85 | WidowX 250, 6 DoF, ~4.000 USD rig | 22 implementeringer, 60 datasæt, 34 laboratorier |
| Skala | 76k trajektorier, 350 timer | 60.096 trajektorier | 1M+ trajektorier, 527 færdigheder |
| Diversitet | 564 scener, 84 opgaver, 50 indsamlere | 24 miljøer, 13 færdigheder | 160.266 opgaver, 21 institutioner |
| Sammensætning | alt teleopereret | 50.365 teleopereret, 9.731 scriptet | pr. kildelaboratorium |
| Kontrolfrekvens | 15 Hz | 5 Hz | varierer, 3 fps og opefter |
| Kameraer | 2 x ZED 2 eksteriør, 1 x ZED Mini håndled | op til 4, de fleste episoder kun den faste | hvad laboratoriet brugte |
| Rå download | 1.7 TB RLDS, 8.7 TB rå stereo | JPEG-arkiver | TFDS-buckets pr. datasæt |
Få mennesker downloader stadig 1.7 TB RLDS TFRecords. Fællesskabsorganisationen IPEC-COMMUNITY har genudgivet det meste af Open X-Embodiment i LeRobot datasæt-form med AV1-video, hvor DROID fylder 392 GB. Det er den version, du vil arbejde med, og dens meta/info.json er det, du skal læse først.
DROID
Den mest standardiserede af de tre. Én opsætning overalt: en Franka Panda med en Robotiq 2F-85 griber, to justerbare ZED 2 stereokameraer og et ZED Mini håndledskamera, teleopereret med Meta Quest 2 controllere, optaget via Polymetis ved 15 Hz i både led- og end-effektor rum. Sprog-labels kom senere via tasq.ai, op til tre pr. episode.
- 76k trajektorier, 350 timer, 564 scener, 84 opgaver, 50 indsamlere på tre kontinenter.
- Hovedresultatet er co-træning, ikke selvstændig træning: batches blandet 50/50 med in-domain demonstrationer slår den næstbedste metode med 22 procent absolut succes i distribution, 17 procent udenfor.
- IPEC-COMMUNITY/droid_lerobot: 92,233 episodes, 27,044,326 frames, franka, 15 fps, codebase_version v2.0, three AV1 streams at 180x320, 392 GB.
- En 2 GB, 100-episode debugging-prøve findes på gs://gresearch/robotics/droid_100. Start der.
BridgeData V2
Det tætteste på et hobby-setup: en WidowX 250 6-DoF arm, 60.096 trajektorier fordelt på 24 miljøer og 13 færdigheder ved 5 Hz. Bemærk sammensætningen: 50.365 ekspert-teleopererede demonstrationer plus 9.731 fra en randomiseret scriptet pick-and-place politik, så omkring 16 procent er ikke menneskelig demonstration, hvilket er vigtigt for imitationslæring kvalitet. Den sædvanlige download, IPEC-COMMUNITY/bridge_orig_lerobot, rapporterer 53.192 episoder og 1.893.026 frames ved 5 fps, robot_type widowx: færre end papirets 60.096, så læs antallet fra meta/info.json i stedet for at citere nogen af dem.
Open X-Embodiment
Ikke et datasæt i samme forstand: 60 eksisterende robotdatasæt fra 34 laboratorier samlet i én RLDS-samling, der dækker 22 udførelsesformer og over en million trajektorier. BridgeData V2 ligger i den som bridge_orig; google_robot-udsnittet, fractal20220817_data, konverteres til 87.212 episoder ved 3 fps.
Samlingen indeholder et forbehold, som artiklen direkte angiver. Til RT-X-eksperimenterne konverterer forfatterne hver kilde til en 7-DoF end-effector-handling, men justerer ikke koordinatsystemer på tværs af datasæt og tillader, at handlingsværdier er absolutte eller relative positioner eller hastigheder, i henhold til hver robots originale kontrolskema. Deres konklusion: den samme handlingsvektor kan fremkalde meget forskellige bevægelser for forskellige robotter.

Uoverensstemmelsen, i fire dele
Uoverensstemmelse i legemliggørelse behandles normalt som ét vagt problem. Det er fire, de fejler forskelligt, og to kan ikke løses med scripting.
1. Frihedsgrader
En SO-100 har fem armled plus en griber. Talt som motorer er det en 6-DoF arm, og SmolVLA-papiret kalder den det; talt som en positioneringsmekanisme er det 5-DoF, og LeRobot kalder den det i sin inverse-kinematik docstring, som beskriver soft-orientation IK på den 5-DOF SO-101, hvor håndleddet kun delvist sporer orientering. En Franka har syv positioneringsled. Det gab afgør, hvilke positioner der eksisterer: en 5-DoF arm kan generelt ikke nå en vilkårlig position og orientering på én gang, så løseren returnerer det tætteste, den kan, en anden bevægelse end den demonstrerede. Baggrund: frihedsgrader.
# 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-DSå et færdigt DROID-checkpoint er ingen genvej. Physical Intelligence leverer pi05_droid på gs://openpi-assets/checkpoints/pi05_droid, og den samme README, der roser dens bredde, advarer om, at disse ekspert-checkpoints muligvis ikke generaliserer til din opsætning. Dens tilstand er otte Franka-lednumre, og dens billednøgler er exterior_image_1_left og wrist_image_left. Ingen flag omdanner det til en seks-motor SO-100 kommando.
2. Hvad handlingsvektoren faktisk siger
Dybere end dimensionalitet. I LeRobot-konverteringerne angiver alle tre, hvor griberen skal bevæge sig hen, i kartesisk rum. En SO-100 angiver, hvor seks servoer skal bevæge sig hen. Konvertering kræver en kinematisk model og en løser, ikke en omformning.
| Egenskab | OXE, DROID og Bridge i LeRobot-form | SO-100 i LeRobot |
|---|---|---|
| Handlingsvektor | 7-D: x, y, z, roll, pitch, yaw, gripper | 6-D: én målposition pr. motor |
| Tilstandsvektor | 8-D, med en pad-slot (google_robot bruger en kvaternion) | 6-D, én pr. motor |
| Ramme | Kartesisk, ikke-justeret på tværs af datasæt | ledrum, pr. arm-kalibrering |
| Absolut eller relativ | enten, bestemt af kildelaboratoriet | absolutte målpositioner |
| Enheder | normaliseret pr. datasæt, derefter diskretiseret | grader som standard (use_degrees=True), ellers -100 til 100 |
| Stille fejl | en delta læst som en absolut | en ukalibreret arm |
openx2lerobot README dokumenterer en samlet 8-dim tilstand og 7-dim handling for hvert datasæt, det konverterer, hvilket er der, pad-pladsen kommer fra. DROID's eget RLDS-skema adskiller sig: dets top-niveau action er en 7-vektor af 6 ledhastigheder plus 1 gribeposition, med cartesian_position, cartesian_velocity, joint_position og joint_velocity under action_dict. openpi læser ledrumsvisningen, LeRobot-buildet giver dig den kartesiske. Ingen af dem er seks absolutte servovinkler.
LeRobot leverer den manglende brik: SO-følgeren har en kinematikprocessor med InverseKinematicsEEToJoints- og ForwardKinematicsJointsToEE-trin. Dens nøgler er ee.x, ee.y, ee.z plus en rotationsvektor ee.wx, ee.wy, ee.wz og ee.gripper_pos, så selv orienteringskodningen adskiller sig fra roll-pitch-yaw i filerne. IK-trinnet tager en orientation_weight, standard 0.01, hvis docstring siger, at man skal sætte 0.0 for position-only IK på underaktiverede arme. Du kan bygge broen, men orienteringshalvdelen af hver lånt handling forbliver approksimeret.
3. Kontrolfrekvens
DROID er 15 Hz, BridgeData V2 5 Hz, google_robot-udsnittet 3 fps; pi0's forfattere beskriver den open source-del af deres blanding som lavfrekvent kontrol mellem 2 og 10 Hz. LeRobots DatasetRecordConfig har standardindstillingerne fps 30, episode_time_s 60, reset_time_s 60, num_episodes 50. En trænet på 5 Hz data lærte, at én handling dækker 200 ms. Afspil det ved 30 Hz, og armen kravler; gensample naivt, og du udvisker rammen, hvor griberen lukker. Det interagerer også dårligt med : et 100-trins segment er 20 sekunder ved 5 Hz, 3.3 ved 30 Hz.
4. Kameraer
BridgeData V2 randomiserede to kamerapositioner hver 50. trajektorie, og dets projektside bemærker, at det meste af dataene alligevel kun indeholder den faste visning. DROID brugte justerbare ZED 2-beslag plus en håndleds-ZED Mini. Du har to USB-webkameraer placeret efter øjemål. Kameraposition er ikke en generende variabel for en ; det er meget af det, den visuelle encoder fokuserede på, og intet i filformatet fortæller dig, at positionerne er forskellige.
Delene passer godt nok sammen til at køre. Datasættet indlæses, træningen starter, tabet falder, checkpoints vises, intet fejler. Derefter gør politikken intet genkendeligt på armen, og du bruger en dag på at jage en fejl i dit træningsscript. Der er ingen fejl: modellen lærte en kartesisk handlingsfordeling for en robot, der ikke eksisterer i dit rum. Start ved tabet falder, politikken gør intet, ikke ved dine hyperparametre.
Hvad sker der, når du alligevel forsøger at flette dataene
Den oplagte plan er at sammenkæde: et par tusind DROID-episoder plus dine 50. LeRobot nægter, og nægtelsen nævner de tre ting, der adskiller sig.
- 1Hent 100-episode-eksemplet, ikke de fulde 1,7 TB
2 GB er nok til at se strukturen.
bashpip install gsutil tensorflow tensorflow-datasets gsutil -m cp -r gs://gresearch/robotics/droid_100 ~/tensorflow_datasets/ - 2Konverter RLDS til LeRobot-format
openx2lerobot omslutter OXE's standardtransformationer og annoterer robottype og kontrolfrekvens. README'en placerer dette i convert.sh.
bashgit clone https://github.com/Tavish9/any4lerobot.git cd any4lerobot/openx2lerobot python openx_rlds.py \ --raw-dir ~/tensorflow_datasets/droid_100/1.0.0 \ --local-dir ~/lerobot_droid100 \ --repo-id you/droid100_lerobot \ --use-videos - 3Læs meta/info.json før noget andet
Denne fil afgør, om resten af din dag fungerer.
bashpython -c "import json;d=json.load(open('meta/info.json'));\ print(d['codebase_version'], d['robot_type'], d['fps']);\ print(d['features']['action']['shape'], d['features']['observation.state']['shape'])" - 4Prøv sammenfletningen og læs fejlen
merge indlæser hvert datasæt, hvorefter validate_all_metadata kontrollerer fps, robot_type og features mod det første på listen og udløser en fejl ved første uoverensstemmelse.
bashlerobot-edit-dataset \ --new_repo_id you/mixed \ --operation.type merge \ --operation.repo_ids "['you/droid100_lerobot', 'you/my_so100_task']" # ValueError: Same fps is expected, but got fps=30 instead of 15.
Referenceværdierne kommer fra det datasæt, du listede først, hvilket er grunden til, at meddelelsen klager over dine 30 fps i stedet for DROID's 15. Ret fps, og du rammer robot_type-kontrollen; ret den, og du rammer feature-kontrollen, 7 mod 6 for handlingen. Ingen rækkefølge slipper igennem, og den samme kontrol kører ved optagelsestidspunktet via sanity_check_dataset_robot_compatibility.
På den nuværende LeRobot main er so100_follower og so101_follower begge registreret på én delt SOFollowerRobotConfig, så strengen fra en reel optagelse er ikke nødvendigvis den, du forventer. Læs den fra din egen meta/info.json, og betragt en kontrol, du måtte deaktivere, som en kontrol, der fortalte dig noget.
Så hvad overføres egentlig?
Vægte, ikke episoder. Enhver moderne generalistpolitik har absorberet noget af det i fortræning, og når du fra et udgivet arver du det allerede afstemt af folk med den nødvendige regnekraft til at gøre det ordentligt. pi0's artikel er ærlig omkring proportionen: 9,1 procent af dens fortræningsblanding, talt i timesteps, er open source-data inklusive OXE, Bridge v2 og DROID. Dette tal er pi0's; hver leverandørs blanding er forskellig.
- Visuelle og sproglige forforståelser: encoderen har set tusindvis af køkkener og krus og ved, hvad "den røde blok" refererer til.
- En forforståelse af manipulationsstruktur: tilgang, luk, løft, transport, slip, uafhængig af udførelsesform, selv når tallene ikke er det.
- Et kendt, godt datasæt til test. Hvis dit job ikke kan overfitte 100 DROID-episoder, er problemet din opsætning.
- Referencepunkter: på små datasæt-domæner opnåede RT-1-X en 50 procent højere gennemsnitlig succesrate end den originale metode eller RT-1, og RT-2-X slog RT-2 med omkring 3x på nye færdigheder.
- Ingen brugbar handlingssupervision. Et 7-D kartesisk mål er ikke en 6-D ledkommando.
- Ingen kamera-pose-overførsel, og intet i dataene fortæller dig, at poserne er forskellige.
- Ingen timing-overførsel: 3, 5 og 15 fps kilder mod en 30 fps optager.
- Ingen griber-overførsel. En Robotiq 2F-85 og en printet kæbe på en STS3215 adskiller sig i kraft, slaglængde og dynamik.
- Skala alene var ikke nok, selv for dens forfattere: i de store datasæt-domæner slog RT-1-X ikke en RT-1 trænet på det datasæt alene.
- Ingen reduktion i hvor mange af dine egne episoder du har brug for.
| Modellag | Overføres? | Hvorfor |
|---|---|---|
| Vision encoder | Ja, stærkt | Objekter og scener er uafhængige af udførelsesform |
| Sprogforankring | Ja | Instruktioner er tekst, ikke geometri |
| Krydsmodal fusion | For det meste | Fokuserer på det objekt, der er nævnt i prompten |
| Proprioception encoder | Nej | Inputdimension og ledsemantik er forskellige |
| Action head | Nej | Trænet på et 7-D kartesisk rum, du ikke befinder dig i |
| Normaliseringsstatistikker | Nej, og farligt | Fremmede statistikker ændrer hver kommando |
Dette er grunden til, at SmolVLA opfører sig anderledes på en billig arm. Dets artikel udvælger 481 fællesskabsdatasæt fra Hugging Face, filtreret efter embodiment-type, antal episoder, datakvalitet og billeddækning: 22.9K episoder, 10.6M frames, evalueret på rigtige SO-100 og SO-101 arme. Lille og matchet slår stor og uoverensstemmende. Sammenlign på ACT mod SmolVLA.
Tre veje værd at tage
Vej A: finjuster fra et checkpoint, der allerede har absorberet dataene
De fleste bør vælge denne. Du rører aldrig DROID eller Open X-Embodiment: vælg en politik, hvis fortræning allerede har absorberet tværgående embodiment-data, optag dine egne episoder, finjuster.
| Politik | Parametre | Min. episoder | Datasætformat | GPU-niveau | Inferens | Basis-checkpoint |
|---|---|---|---|---|---|---|
| GR00T N1.7 | ~3 B, ~40 M trænet i finjustering | 50 | LeRobot v2.0 or v2.1 | A100 or H100 80 GB | 152 ms per step | nvidia/GR00T-N1.7-3B |
| GR00T N1.5 | ~3 B | 50 | LeRobot v2.0 or v2.1 | A100 or H100 80 GB | 165 ms | nvidia/GR00T-N1.5-3B |
| Pi0.5 | ~3 B, PaliGemma backbone | 50 | LeRobot v3.0 | A100 or H100 80 GB | 485 ms | lerobot/pi05_base |
| SmolVLA | ~450 M | 30 | LeRobot v3.0 | RTX 4090 or any 24 GB | 245 ms | lerobot/smolvla_base |
| ACT | ~80 M | 50 | LeRobot v3.0 | RTX 4090 or any 24 GB | 20 ms | ingen, fra bunden |
ACT er det ærlige grænsetilfælde: ingen basismodel, så ingen af de offentlige data når nogensinde den. Ikke automatisk en ulempe, da den med 20 ms pr. handlingstrin er den eneste af de fem, der kan lukke en hurtig løkke, som ACT-siden beskriver. Vælg efter opgave ved hjælp af alle fem sammenlignet, GR00T N1.7 mod Pi0.5, og de 332 benchmarkresultater på tværs af 85 modeller i arenaen.
Sti B: brug DROID som testarmatur
Den 100-episoders prøve er de bedste 2 GB, du vil downloade denne måned, og ikke til træning. Det er et datasæt, du ved er korrekt. Kør din konverter, loader og et kort GPU-job på det; alt, der fejler, er en infrastrukturfejl fundet, mens det var billigt. NVIDIA gør det samme i stor skala: GR00T N1.7-kortet viser fire eftertrænede varianter, til Bridge og Fractal i SimplerEnv, DROID og LIBERO.
Vej C: optag dine egne, bevidst
Tredive til halvtreds lyder måske af lidt ved siden af 76.000, indtil du husker, at dine er de eneste med din arm, dine kameraer og dit bord. Med LeRobots standardindstillinger er 50 episoder 100 minutters reel tid. Se , og .

To måder at komme fra offentlige data til en fungerende politik
All of this runs on your own machine plus a rented GPU. Knowing the manual path matters because when something breaks you will know which layer broke.
- 1Install LeRobot with the extras the scripts need
The record and train entry points each declare their own extra.
bashpip install 'lerobot[core_scripts]' # lerobot-record pip install 'lerobot[training]' # lerobot-train pip install gsutil tensorflow tensorflow-datasets - 2Get a small, known-good slice
100 DROID episodes, 2 GB.
bashgsutil -m cp -r gs://gresearch/robotics/droid_100 ~/tensorflow_datasets/ - 3Convert to LeRobot form
Writes the unified 8-D state and 7-D action, annotating robot type and control frequency.
bashpython openx_rlds.py \ --raw-dir ~/tensorflow_datasets/droid_100/1.0.0 \ --local-dir ~/lerobot_droid100 \ --repo-id you/droid100_lerobot \ --use-videos - 4Check the version against your trainer
The converter README documents v3.0 output; the published IPEC-COMMUNITY datasets report v2.0. GR00T wants v2.0 or v2.1 and crashes on v3.0; Pi0.5, SmolVLA and ACT want v3.0. Mind the gap: the only conversion script on LeRobot main goes 2.1 to 3.0.
bashpython src/lerobot/scripts/convert_dataset_v21_to_v30.py \ --repo-id=you/droid100_lerobot - 5Record your own episodes
Defaults: 30 fps, 60 s per episode, 60 s reset, 50 episodes. The teleoperator type is so100_leader.
bashlerobot-record \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM0 \ --robot.cameras="{front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}}" \ --teleop.type=so100_leader \ --teleop.port=/dev/ttyACM1 \ --dataset.repo_id=you/so100_pick_block \ --dataset.num_episodes=50 \ --dataset.single_task="Pick up the red block and put it in the bowl" - 6Fine-tune on your data only
Weights from public data, actions from your own. Do not mix the datasets.
bashlerobot-train \ --policy.path=lerobot/smolvla_base \ --dataset.repo_id=you/so100_pick_block \ --policy.device=cuda \ --batch_size=4 \ --steps=20000
Not in training; the GPU job is hours. The conversion, the version mismatch and the moment you find your dataset is v2.0 and your trainer wants v3.0 are days. Read dataset rejected as v3 first.
The platform removes the GPU and pipeline plumbing. It does not remove the embodiment mismatch: point the trainer at a converted DROID dataset and you get a policy trained on Franka actions, exactly as you would locally.
- 1Pick a policy, not a dataset
The five trainable policies, with parameter counts, GPU tiers and latencies, are at /policies.
- 2Record with the desktop client
It writes LeRobot-format datasets, episodes, camera streams and joint states, straight out of a teleop session. No conversion step to get wrong.
- 3Or bring a dataset you already have
The training form accepts one from /directory, a Hugging Face repo id, or your own machine. A repo id means a converted OXE dataset will load, and the mismatch loads with it.
- 4Train on a rented GPU
The backend rents a card on a spot market by required VRAM. SmolVLA or ACT on 24 GB: 2 to 5 hours, about 1 to 3 USD. GR00T or Pi0.5 on A100 or H100: 3 to 6 hours, about 4 to 12 USD. See /pricing.
- 5Serve it back to the arm
/api/inference/pod auto-provisions a GPU pod serving the policy; the local client talks to that endpoint. Pods carry an idle watchdog and destroy themselves, so nothing keeps billing silently.
Inference has to sit next to the servos for fast tasks. The control loop is 20 to 485 ms per action step depending on the model, and public-internet round trips turn a working policy into a hesitant one. Remote inference is fine for slow pick-and-place, not fast reactive motion.
The platform helps with the boring parts: the right format for the right arm at the right frame rate, and no babysitting a spot instance. It helps with nothing else in this article.

Hvad hver sti koster
| Sti | Lagerplads | Menneskelig tid | GPU-omkostning | Sandsynlighed for armbevægelse |
|---|---|---|---|---|
| Konverteret DROID alene | 392 GB | dages konvertering | 4 to 12 USD | meget lav, forkert handlingsrum |
| DROID flettet med dine episoder | begge | blocked by validate_all_metadata | n/a | ingen, den kører ikke |
| SmolVLA, 30 til 50 egne episoder | få GB | 100 min optagelse | 1 to 3 USD | høj |
| GR00T N1.7, 50 egne episoder | få GB | 100 min optagelse | 4 to 12 USD | høj |
| ACT fra bunden, 50 egne episoder | få GB | 100 min optagelse | 1 to 3 USD | høj, 20 ms inferens |
| DROID-eksempel som testfixture | 2 GB | en eftermiddag | én kort kørsel | høj, som validering |
Asymmetrien er pointen: den sti, der låner mest data, er den dyreste og mindst sandsynlige til at bevæge din arm. Under to timer af din egen fjernstyring slår en terabyte af en andens Franka. Ingen arm endnu? /live streamer en fysisk SO-100 uden tilmelding. Derefter træn din første politik, og SmolVLA på SO-100 for den specifikke guide.
Download 2 GB DROID-eksemplet og brug det til at bevise din pipeline. Ignorer de andre 1.7 TB. Optag 50 episoder af én opgave med faste kameraer. Finjuster SmolVLA først, fordi det med mindst 30 episoder på et 24 GB kort er billigst at iterere på, prøv derefter GR00T N1.7 på de samme data. Sammenlign på din opgave, ikke på en benchmark.
Optag datasæt, der allerede matcher din arm
Desktopklienten skriver LeRobot-format datasæt direkte fra en teleop-session: den rigtige arm, den rigtige billedhastighed, det rigtige handlingsrum. Ingen RLDS-konvertering, ingen remapping.
Hent desktopklientenKan jeg træne en politik på DROID og køre den på min SO-100?▾
Ikke direkte. I LeRobot-buildet er DROID-handlinger 7-D end-effector kommandoer på en Franka Panda ved 15 fps; i den rå RLDS er de 6 ledhastigheder plus en gribeposition. En SO-100 tager 6 absolutte ledpositioner. Du ville have brug for et invers-kinematik lag, og selv da kan et 5-DoF håndled ikke gengive vilkårlige 6-DoF positioner.
Kan jeg blande DROID- eller Bridge-episoder med mine egne SO-100-episoder?▾
Nej. validate_all_metadata kræver identisk fps, robot_type og feature schema og udløser en ValueError ved den første uoverensstemmelse. Alle tre er forskellige: 15 eller 5 fps mod 30, franka eller widowx mod din arm, handlingsformer på 7 mod 6. Omskrivning af metadata for at bestå kontrollen løser ikke semantikken.
Er Open X-Embodiment så ubrugeligt for en billig arm?▾
Nej, men dens værdi når dig gennem forudtrænede vægte, ikke episoder. Open source-datasæt, herunder OXE, Bridge v2 og DROID, udgør 9,1 procent af pi0's forudtræningsblanding, og NVIDIA leverer GR00T N1.7-varianter eftertrænet på Bridge, Fractal, DROID og LIBERO. Hvad du ikke kan gøre, er at tilføje disse episoder til din egen optagelse.
Hvilken politik drager mest fordel af offentlige tværgående data?▾
Pi0.5 og GR00T-modellerne har den mest omfattende tværgående forudtræning, men SmolVLA fungerer ofte bedst på en billig arm: dets forudtræningssæt består af 481 fællesskabsdatasæt, 22.9K episoder og 10.6M frames, evalueret på rigtige SO-100 og SO-101 arme. ACT er det modsatte: ingen basismodel, 20 ms per handlingstrin.
Hvor mange af mine egne episoder har jeg egentlig brug for?▾
30 for SmolVLA, 50 for GR00T N1.7, GR00T N1.5, Pi0.5 og ACT. Med LeRobots standardindstillinger på 60 s per episode og 60 s nulstilling er 50 episoder 100 minutters reel tid. Lånte tværgående data reducerer ikke disse tal.
Sources
- DROID: Et stort datasæt til robotmanipulation i den virkelige verden
- DROID docs: downloadstørrelser og RLDS episode-skemaet
- BridgeData V2: Et datasæt til robotlæring i stor skala
- BridgeData V2 projektside: sammensætning og kameradækning
- Open X-Embodiment: Datasæt til robotlæring og RT-X modeller
- Open X-Embodiment projektside
- google-deepmind/open_x_embodiment: datasætliste og RT-1-X checkpoints
- any4lerobot: openx2lerobot-konverteren og dens forenede 8-D tilstand, 7-D handling
- IPEC-COMMUNITY/droid_lerobot: meta/info.json og repo-størrelse
- IPEC-COMMUNITY/bridge_orig_lerobot: meta/info.json
- IPEC-COMMUNITY/fractal20220817_data_lerobot: google_robot-udsnittet ved 3 fps
- huggingface/lerobot: SO follower, kinematikprocessor, aggregerings- og optagekonfigurationer
- openpi: DROID politikinput og pi05_droid checkpoint
- pi0: En vision-sprog-handling flowmodel til generel robotstyring
- SmolVLA: En vision-sprog-handling model til prisoverkommelig og effektiv robotik
Sources
- DROID: A Large-Scale In-The-Wild Robot Manipulation Dataset
- DROID docs: download sizes and the RLDS episode schema
- BridgeData V2: A Dataset for Robot Learning at Scale
- BridgeData V2 project page: composition and camera coverage
- Open X-Embodiment: Robotic Learning Datasets and RT-X Models
- Open X-Embodiment project page
- google-deepmind/open_x_embodiment: dataset list and RT-1-X checkpoints
- any4lerobot: the openx2lerobot converter and its unified 8-D state, 7-D action
- IPEC-COMMUNITY/droid_lerobot: meta/info.json and repo size
- IPEC-COMMUNITY/bridge_orig_lerobot: meta/info.json
- IPEC-COMMUNITY/fractal20220817_data_lerobot: the google_robot slice at 3 fps
- huggingface/lerobot: SO follower, kinematics processor, aggregate and record configs
- openpi: DROID policy inputs and the pi05_droid checkpoint
- pi0: A Vision-Language-Action Flow Model for General Robot Control
- SmolVLA: A Vision-Language-Action Model for Affordable and Efficient Robotics
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started