AY-Robots ordlisteuppslag för LeRobot datasetformatet, formatet som varje tränare på plattformen konsumerar oavsett om episoderna spelades in eller genererades.
syntetisk datasim-till-verklighetIsaac LabimitationsinlärningMimicGenSO-101

Syntetisk data för robotpolicyer: Där simulering hjälper

AY-Robots ResearchAugust 23, 202631 min läsning

Simulering kan mångfaldiga en handfull demonstrationer till tusentals. Här är vad de publicerade siffrorna verkligen säger, var sim-till-verklighet-gapet biter, och vad som fortfarande måste spelas in.

Några gånger om året kommer någon på att det är långsamt att spela in femtio episoder för hand, och frågar om en simulator istället skulle kunna producera dem. Det är en rimlig fråga. Det ärliga svaret har tre delar: genererad data hjälper, den ersätter inte de verkliga inspelningarna, och förhållandet mellan dessa två fakta beror helt på vilken typ av syntetisk data du menar.

Denna sida går igenom vad det publicerade arbetet faktiskt mätte, vad du kan köra idag på en lågkostnadsarm som SO-100, och var sim-till-verklighet-gapet äter upp vinsterna. Den korta versionen, innan detaljerna: systemen som rapporterar de största multiplikatorerna multiplicerar en liten uppsättning verkliga mänskliga demonstrationer. De tar inte bort behovet av dem.

Vad du behöver veta

  • Fyra orelaterade tekniker kallas syntetisk data inom manipulation: trajektorimultiplikation, fysiksimuleringar (rollouts), videovärldsmodeller och bildrumsaugmentation. De misslyckas på olika sätt och är värda olika mycket.
  • MimicGen omvandlade färre än 200 mänskliga demonstrationer till över 50 000 genererade demonstrationer över 18 uppgifter. På dess Square D0-uppgift gav 200 demonstrationer genererade från 10 mänskliga demonstrationer 79 procents framgång jämfört med 84 procent för 200 verkliga mänskliga demonstrationer.
  • RoboCasa är motexemplet: 72 000 genererade demonstrationer uppnådde 47,6 procent jämfört med 28,8 procent för 1 250 mänskliga demonstrationer. Det är en 58x volymfördel, inte en jämförbar vinst.
  • Studien om samträning med simulering och verklighet rapporterar en genomsnittlig förbättring på 38 procent i verklig uppgiftsprestanda. Receptet är samträning på en blandning, inte enbart simuleringsöverföring.
  • GR00T N1 bygger på 780 000 simuleringstrajektorier (motsvarande 6 500 timmar, genererade på 11 timmar) och 827 timmar av neurala trajektorier som vuxit fram från 88 verkliga timmar. Dessa 88 verkliga timmar är fortfarande pyramidens topp.
  • För en SO-101 finns det en fungerande öppen pipeline idag: LeIsaac inuti Isaac Lab, teleoperera med den fysiska ledararmen, multiplicera med Isaac Lab Mimic, exportera till LeRobot-format, finjustera GR00T.
  • AY-Robots genererar inte syntetisk data. Det tränar på LeRobot-datasetet du ger det, oavsett hur det datasetet producerades, och tränarna behöver minst 30 till 50 episoder beroende på modellen.

Fyra olika saker kallas syntetisk data

Innan man jämför siffror är det värt att separera familjerna, eftersom en artikel som rapporterar en 100x multiplikator och en artikel som rapporterar en 5-punkts framgångsökning ofta beskriver samma pipeline från olika håll. Den gemensamma nämnaren är att något i LeRobot-datasetet producerades av en maskin snarare än spelades in från en fysisk arm. Vad som skiljer sig är vilken del.

FamiljVad som förblir verkligtVad som genererasRapporterad multiplikatorHuvudsakligt felläge
Trajektorimultiplikation (MimicGen, DexMimicGen, Isaac Lab Mimic)En handfull mänskliga demonstrationer, objektets meshar, fysikmotornNya trajektorier anpassade till nya objektpositioner och scenlayouter10 mänskliga demonstrationer till 1 000 per återställningsdistribution; 60 till 21 000; under 200 till över 50 000Genereringsförsök misslyckas. Isaac Lab anger den potentiella framgångsfrekvensen så hög som 70 procent i enkla fall och under 1 procent i svåra fall
Fysiksimuleringar i en uppgiftssimulator (Isaac Lab, robosuite, RoboCasa)Fysikmotorn och tillgångsbiblioteketHela episoder, drivna av skriptade kontroller, planerare eller RLBegränsas endast av GPU-timmarDen simulerade armen är inte din arm. Kontakt- och servodynamik är approximationer
Videovärldsmodeller (DreamGen, Cosmos Transfer)Några verkliga teleoperationsavsnitt som används som konditioneringFotorealistisk video av nya beteenden, plus pseudo-aktioner som återställts efteråt88 timmar till 827 timmar i GR00T N1, cirka 10xAktioner härleds, inte mäts. En plausibel video kan innehålla en implausibel aktion
Bildrumsaugmentation (slumpmässig beskärning, färgjitter)Allt utom pixlarnaStörda vyer av episoder du redan har1x, det skapar ingen ny trajektoriaGeometrisk augmentation bryter kopplingen mellan bilden och aktionsetiketten

Endast de tre första är syntetisk data i den mening denna artikel avser. Den fjärde är värd att nämna eftersom den klumpas ihop i samma konversation och är överlägset det billigaste på listan. Om du inte redan har aktiverat de augmentationer som din tränare levereras med, gör det innan du installerar en simulator.

Du kan titta på verklig syntetisk data innan du genererar något

NVIDIA publicerade de simulerade trajektorierna som användes för GR00T N1 efter träning som nvidia/PhysicalAI-Robotics-GR00T-X-Embodiment-Sim på Hugging Face, cirka 1.87 TB under cc-by-4.0. Det delas upp i 9 000 kors-kroppsliga bimanuala Panda- och GR1-trajektorier, 240 000 humanoida bordstrajektorier, 72 000 enkel-Panda kökstrajektorier och 102 Unitree G1 loco-manipulationstrajektorier. Att ladda ner en delmängd med huggingface-cli download --include "gr1_arms_only.CanSort/**" och titta på några episoder är det snabbaste sättet att kalibrera hur genererade trajektorier ser ut, och det kostar inget annat än bandbredd.

Vad de publicerade siffrorna faktiskt säger

Här är evidensbasen, med siffrorna som källorna anger dem snarare än som pressmeddelandena sammanfattar dem. Varje rad nedan kommer från en artikel eller projektsida läst den 23 augusti 2026.

SystemIndataGenereratRapporterat resultat
MimicGen, CoRL 2023Färre än 200 mänskliga demonstrationer; 10 mänskliga demonstrationer i direkt jämförelseÖver 50 000 demonstrationer, 18 uppgifter, fyra armar (Panda, Sawyer, IIWA, UR5e)Square D0: 79 procent från 200 demonstrationer genererade från 10 mänskliga demonstrationer, mot 84 procent från 200 mänskliga demonstrationer
DexMimicGen, 202460 mänskliga källdemonstrationer21 000 demonstrationer för tvåhandsmanövrerade robotarTvåhandsmanövrerade uppgifter i simulering, plus en real-till-sim-till-real humanoid burksorteringsimplementering
RoboCasa, 20241 250 mänskliga demonstrationer (50 per uppgift över 25 atomära uppgifter), 100 utvärderingsuppgifter, över 150 objektkategorier100 000 MimicGen-trajektorier; delmängden med 72 000 demonstrationer driver huvudjämförelsen28,8 procent totalt på den mänskliga uppsättningen mot 47,6 procent på den helt genererade uppsättningen, utvärderat endast på osedda objektinstanser
Sim-och-verklig samträning, 2025Verkliga demonstrationer plus simuleringsdatauppsättningar, två domäner (robotarm och humanoid)En blandning, inte en ersättningSimuleringsdata förbättrade prestandan för verkliga uppgifter med i genomsnitt 38 procent
DreamGen, 2025Teleoperationsdata från en enda plock-och-placera-uppgift i en miljöSyntetisk video plus pseudo-aktioner från en latent aktionsmodell eller en invers dynamikmodell22 nya beteenden på en humanoid, i sedda och osedda miljöer
GR00T N1 data pyramid, 202588 timmar intern GR-1 teleoperation827 timmar neurala trajektorier (ungefär 10x); 780 000 sim-trajektorier, motsvarande 6 500 timmar, producerade på 11 timmarNeurala trajektorier lade till 4,2, 8,8 och 6,8 poäng på RoboCasa vid 30, 100 och 300 demonstrationer per uppgift-regimerna, och 5,8 poäng i genomsnitt över 8 verkliga GR-1 uppgifter
Läs multiplikatorerna som antal trajektorier, inte förmåga

En multiplikator är ett radantal. MimicGens egen direkt jämförelse placerar genererad data något under samma antal mänsklig data (79 mot 84 procent), och GR00T N1-ablationsstudien lägger till ensiffriga procentenheter ovanpå en modell som redan hade de verkliga timmarna. RoboCasa slår mänsklig data, 47,6 mot 28,8 procent, men med 72 000 genererade demonstrationer mot 1 250 mänskliga. Volym köper täckning. Det köper inte information som dina demonstrationer aldrig innehöll.

Mönstret över varje ärlig ablation är detsamma. Syntetisk data utökar täckningen billigt. Den skapar inte information om din gripklo, din servos nedböjning, din belysning eller din bordshöjd som inte fanns i de verkliga demonstrationerna någonstans. Om din policy misslyckas för att gripdonet stänger ett halvt sekund för sent, ingen mängd simulerad variation fixar det. Det är ett problem med gripdonets timing i de verkliga inspelningarna.

Ett fynd från MimicGen är värt att ta med sig till dina egna inspelningssessioner, eftersom det går emot de vanliga råden. Projektet genererade två dataset på Square D2, ett med 10 demonstrationer från en mänsklig operatör av bättre kvalitet och ett med 10 demonstrationer från en operatör av sämre kvalitet, båda hämtade från robomimic multi-human Square dataset. Policyer tränade på vardera uppnådde jämförbara resultat, vilket författarna tolkade som ett tecken på att datakvalitet i storskaliga dataregimer kanske inte spelar lika stor roll. Läs noga, det är ett uttalande om de tio startdemonstrationerna, inte om dina femtio verkliga episoder. Det betyder att en något rörig startuppsättning inte är det som står mellan dig och ett användbart genererat dataset. Det betyder inte att de verkliga episoder du samtränar på kan vara röriga, eftersom det är de som bär den information som simulatorn inte har.

AY-Robots offentliga datasetkatalog som listar inspelade LeRobot-dataset med deras episodantal.
Den offentliga datasetkatalogen på /directory. Varje post här är verkliga inspelade episoder. Syntetisk data är en multiplikator ovanpå något sådant här, inte ett substitut för det.

Sim-till-verklighet-gapet, konkret

Gapet diskuteras vanligtvis som en enda kvantitet, vilket är till ingen hjälp. Det består av minst fem separata avvikelser, och de har olika storlekar på en hobbyarm för 110 till 150 EUR jämfört med en Franka.

  • Kontakt och friktion. Isaac Lab anger tydligt att med samma hårdvara och samma version av Isaac Sim och PhysX är simuleringen reproducerbar, men att resultaten varierar mellan olika hårdvarukonfigurationer på grund av flyttalsprecision och avrundningsfel, och att PhysX inte garanterar determinism för scener med icke-rigida kroppar som tyg eller mjuka kroppar.
  • Aktuering. Ett Feetech STS3215 busservo som körs vid 7.4 V sjunker under belastning, har glapp och ändrar beteende när det blir varmt. MJCF-modellen för SO-101 lånar sina motorparametrar från ett orelaterat projekt istället för att identifiera dem på din arm.
  • Rendering. Kamerabrus, rullande slutare, automatisk exponering och den exakta nyansen på ditt bord finns inte med i renderingen. Detta är den halva av gapet som Cosmos-Transfer1 byggdes för att täppa till: dess arbetsflöde för robotikaugmentation mappar ett syntetiskt robotikexempel till flera realistiska exempel från segmentering, djup- eller kantkonditionering.
  • Tidsaspekter. En simulator stegar med en fast hastighet. En verklig kontrollslinga gör det inte, och själva modellen kostar 20 till 485 ms per åtgärdssteg beroende på vilken du valde. Se inferenslatens.
  • Objektstatistik. Simulerade scener samplas från en distribution som någon har skrivit ner. Ditt köksbord är det inte.

Vad en simulerad SO-100 faktiskt vet om din arm

Detta är den del som avgör om något av ovanstående är värt din helg, och den första överraskningen är att SO-100 och SO-101 inte är lika väl tillgodosedda. TheRobotStudios SO-ARM100-repository förvarar sina simuleringsresurser under Simulation/. SO100-mappen innehåller en enda URDF-fil och inget annat. SO101-mappen innehåller både URDF- och MuJoCo-filer: scene.xml, so101_new_calib.xml, so101_old_calib.xml, de matchande URDF-filerna och en joints_properties.xml. Om du vill ha en fysikmodell snarare än en kinematisk kedja, vill du ha SO-101-filerna.

De genererades med onshape-to-robot-pluginet från en CAD-modell designad i Onshape, vilket innebär att kinematiken och de visuella mesherna är lika bra som CAD-modellen. Dynamiken är en annan historia, och repositoryts egen README är uppriktig om tre saker. Kollisionsmesher för basen togs bort på grund av problematiskt kollisionsbeteende under simulering och planering. STS3215-motorns egenskaper är anpassade från Open Duck Mini-projektet snarare än mätta på en SO-101. Och LeRobot-griparens konvention, där 0 är helt stängd och 100 är helt öppen, återspeglas uttryckligen ännu inte i URDF- och MuJoCo-filerna. Var och en av dessa är en punkt där en policy tränad enbart i den modellen kommer att bete sig annorlunda på ditt skrivbord.

Kalibreringskonventionen som äter upp en dag

Det finns två nollkonventioner i de levererade MuJoCo-filerna, och scene.xml väljer mellan dem beroende på vilken robotfil den inkluderar. I so101_new_calib.xml, som är standard, ligger varje leds virtuella nollpunkt i mitten av dess ledområde. I so101_old_calib.xml är nollpunkten den konfiguration där roboten är helt utsträckt horisontellt. Om dina simulerade episoder använder en konvention och dina inspelade verkliga episoder använder den andra, förskjuts varje ledvinkel i den blandade datamängden med tiotals grader, förlusten sjunker fortfarande, och policyn gör något självsäkert fel. Kontrollera konventionen på båda sidor innan du samtränar, och läs kalibrering och förlusten sjunker, policyn gör ingenting först.

Domänrandomisering, och vad den inte åtgärdar

Standardsvaret på gapet är att sluta försöka matcha verkligheten och istället träna över en distribution som är tillräckligt bred för att verkligheten ska falla inom den. Tobin och kollegor visade den starka versionen av detta 2017: en objektdetektor tränad enbart på simulerade bilder med orealistiska slumpmässiga texturer, utan någon förträning på verkliga bilder alls, lokaliserade verkliga objekt med en noggrannhet på 1,5 cm och förblev robust mot distraktioner och partiella ocklusioner.

Isaac Lab exponerar samma idé som händelsetermer du kopplar till en miljökonfiguration. Dessa är rattarna, med deras faktiska funktionsnamn i isaaclab.envs.mdp, så du kan läsa dem istället för att gissa.

HändelsefunktionVad den stör
randomize_rigid_body_materialKontaktfriktion och restitution
randomize_rigid_body_mass, randomize_rigid_body_comObjekt- och länkmassa, förskjutningar av masscentrum
randomize_actuator_gainsLedkontrollens styvhet och dämpning
randomize_joint_parameters, randomize_fixed_tendon_parametersLedfriktion, armatur och gränser
randomize_visual_texture_material, randomize_visual_colorUtseende, den fotometriska halvan av gapet
randomize_physics_scene_gravityGravitationsvektorn
apply_external_force_torque, push_by_setting_velocityStörningar under körning
reset_root_state_uniform, reset_joints_by_offsetInitial tillståndsspridning vid varje episodåterställning

Här är gränsen, och det är den folk snubblar över. Randomisering breddar distributionen som policyn har sett inuti modellen du byggde. Den kan inte introducera en fysisk effekt som simulatorn inte representerar. Om PhysX inte modellerar glappet och den termiska nedgången hos dina STS3215-servon, lär randomisering av deras styvhet policyn ingenting om glapp. Det är därför en arm som under en sim-tränad policy inte är ett randomiseringsbudgetproblem. Det är ett modelleringsproblem.

Den manuella vägen: generera data i Isaac Lab

Isaac Gym är äldre programvara. NVIDIAs egen sida har rubriken "Isaac Gym - Nu föråldrad" och säger att utvecklare kan ladda ner och fortsätta använda den men att den inte längre stöds, och pekar istället på Isaac Lab. Om du vill ha historiken har vi täckt båda: och . För nytt arbete 2026, börja med Isaac Lab.

  1. 1
    Installera Isaac Sim och Isaac Lab

    Pip-installationssidan anger att instruktionerna är för Isaac Sim 5.X, vilket kräver Python 3.11. Källklonen ger dig de skript som nästa steg behöver.

    bash
    pip install "isaacsim[all,extscache]==5.1.0" \
        --extra-index-url https://pypi.nvidia.com
    
    git clone https://github.com/isaac-sim/IsaacLab.git --branch main
    cd IsaacLab
    sudo apt install cmake build-essential
    ./isaaclab.sh --install
    
    # smoke test
    ./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py
  2. 2
    Spela in cirka tio mänskliga demonstrationer

    Isaac Labs dokumentation är specifik: cirka 10 framgångsrika demonstrationer krävs för att följande steg ska lyckas. Dess tips är lika specifika. Håll demonstrationerna korta, ta en direkt väg snarare än att röra dig längs godtyckliga axlar, och pausa inte, eftersom det inte är uppenbart för en policy varför och när man ska pausa.

    bash
    ./isaaclab.sh -p scripts/tools/record_demos.py \
        --task Isaac-Stack-Cube-Franka-IK-Rel-v0 \
        --device cpu \
        --teleop_device spacemouse \
        --dataset_file ./datasets/dataset.hdf5 \
        --num_demos 10
  3. 3
    Annotera deluppgiftsgränserna

    Mimic delar upp indatademonstrationerna i deluppgifter så att den kan om-tidsbestämma och om-målsätta segmenten. Flaggan --auto gör detta utan en människa i loopen för uppgifter som definierar automatisk annotering; utan den pausar du med B, fortsätter med N och markerar en gräns med S. Observera att uppgifts-ID:t får suffixet -Mimic.

    bash
    ./isaaclab.sh -p scripts/imitation_learning/isaaclab_mimic/annotate_demos.py \
        --device cpu \
        --task Isaac-Stack-Cube-Franka-IK-Rel-Mimic-v0 \
        --auto \
        --input_file ./datasets/dataset.hdf5 \
        --output_file ./datasets/annotated_dataset.hdf5
  4. 4
    Generera den multiplicerade datamängden

    Detta är steget som förvandlar 10 till 1000. Mimic tillämpar ett booleskt framgångskriterium på varje kandidat och behåller endast de som slutförde uppgiften, så utdataantalet är lägre än antalet försök. Dokumentationen anger att kandidatens framgångsfrekvens är så hög som 70 procent i enkla fall och under 1 procent för svåra uppgifter och komplexa robotar: cirka 50 procent för Franka-kubstapeln, och 65 till 80 procent för GR1T2 pick and place, där 1000 demonstrationer tar 18 till 40 minuter (19 minuter på en RTX ADA 6000 vid 80 procent).

    bash
    ./isaaclab.sh -p scripts/imitation_learning/isaaclab_mimic/generate_dataset.py \
        --device cpu \
        --num_envs 10 \
        --generation_num_trials 1000 \
        --headless \
        --input_file ./datasets/annotated_dataset.hdf5 \
        --output_file ./datasets/generated_dataset.hdf5
  5. 5
    Konvertera HDF5 till en LeRobot-datamängd

    Allt ovan producerar robomimic-smaksatt HDF5, och Isaac Labs kärna levererar ingen egen LeRobot-konverterare: dess dokumentation säger bara att du kan konvertera den genererade datamängden till LeRobot-format. Två projekt tillhandahåller den faktiska konverteraren. IsaacLab-Arena levererar en GR00T-riktad som helt styrs av en YAML-konfiguration, och LeIsaac levererar sitt eget par för SO-101-vägen (se nedan).

    bash
    # IsaacLab-Arena, GR00T LeRobot format
    python isaaclab_arena_gr00t/lerobot/convert_hdf5_to_lerobot.py \
        --yaml_file isaaclab_arena_gr00t/lerobot/config/gr1_manip_config.yaml
Lås dina versioner, och lita inte på main

Den 23 augusti 2026 bär Isaac Labs dokumentation för main ett Isaac Sim 6.0.1-märke och erbjuder release/3.0.0 och v3.0.0-beta2 i sin versionsväxlare tillsammans med v2.3.2, medan pip-installationssidan på samma träd fortfarande låser isaacsim[all,extscache]==5.1.0 och beskriver instruktionerna som för Isaac Sim 5.X. NVIDIAs synthetic-manipulation-motion-generation blueprint-container är ännu äldre: Isaac Lab 2.0.2 på Isaac Sim 4.5.0. LeIsaacs egen kompatibilitetstabell parar Isaac Sim 5.1 med Isaac Lab v2.3.0. Dessa träd rör sig snabbare än dokumentationen hinner uppdateras. Välj en version, skriv ner den, och förvänta dig att skriptvägar och flaggnamn har flyttats om du följer en handledning skriven för tre månader sedan.

Varför genereringsförsök misslyckas, och vad man kan ändra

En kandidats framgångsfrekvens som svänger mellan 70 procent och under 1 procent är inget mysterium, och Isaac Lab dokumenterar de vanliga fallgroparna istället för att låta dig gissa. Var och en av dem är något du kontrollerar vid inspelningstillfället, vilket är anledningen till att det lönar sig att läsa denna lista innan du spelar in de tio startdemonstrationerna snarare än efter den första nedslående genereringskörningen.

  • Demonstrationerna är för långa. En längre tidshorisont är svårare för en policy att lära sig. Börja nära det första objektet och minimera rörelsen.
  • Demonstrationerna är inte jämna. Oregelbunden rörelse är svår för en policy att tyda, och bättre teleoperationshårdvara ger bättre data: dokumentationen säger tydligt att en SpaceMouse är bättre än ett tangentbord.
  • Pauser. Pauser är svåra att lära sig, eftersom det inte är uppenbart för en policy varför och när den ska pausa. Håll rörelsen flytande.
  • För många deluppgifter. Fler deluppgifter innebär mer sammansättning mellan trajektoriesegment, vilket ger mindre jämn rörelse och en lägre genereringsframgångsfrekvens. Annotera gränser där armen sannolikt inte kommer att kollidera med något.
  • Inget aktionsbrus. Aktionsbrus gör de resulterande policyerna mer robusta.
  • Inspelningen är för snävt beskuren. Om inspelningen stannar exakt på den bildruta då framgångsvillkoret utlöses, kanske det inte utlöses igen under uppspelning. Lämna en buffert i slutet.
  • Icke-deterministisk uppspelning. Fysiken i Isaac Lab är inte deterministiskt reproducerbar över env.reset, så vissa mänskliga demonstrationer misslyckas vid uppspelning. Samla in fler än du behöver och behåll de som överlever annotering. Allt som hamnar i en Mimic-genererad HDF5-fil är en framgångsrik demo och kan användas för träning även om uppspelningen senare misslyckas.

Interpolationssteget mellan sammansatta deluppgiftssegment har sin egen justeringsratt, och antalet interpolationssteg du behöver skalas med hur snabbt roboten rör sig och hur bred objektets återställningsdistribution är. En komplex uppgift med en stor återställningsdistribution lämnar större luckor mellan segmenten, vilket kräver fler interpolationssteg för att framstå som kontinuerlig rörelse. Om dina genererade videor visar armen rycka mellan faserna, är det den parametern du ska titta på innan du skyller på startdemonstrationerna.

Samma pipeline på en SO-101, med den riktiga ledararmen

Detta är det intressanta för alla som läser den här sidan, eftersom det är den enda öppna pipelinen som placerar en inuti Isaac Lab och låter dig styra den med den fysiska ledararmen du redan äger. LeIsaac, version 0.4.0 vid tidpunkten för skrivandet, är den officiella simuleringsmiljön för imitationsinlärning integrerad i LeRobots EnvHub. Dess kompatibilitetstabell listar tre fungerande kombinationer; den nyaste kombinerar Isaac Sim 5.1 med Isaac Lab v2.3.0, CUDA 12.8, PyTorch 2.7.0 och Python 3.11, och dokumentationen rekommenderar Isaac Sim 5.0 eller nyare för 50-seriekort.

bash
git clone https://github.com/LightwheelAI/leisaac.git --recursive
conda create -n leisaac python=3.11 && conda activate leisaac
conda install -c "nvidia/label/cuda-12.8.1" cuda-toolkit
pip install -U torch==2.7.0 torchvision==0.22.0 \
  --index-url https://download.pytorch.org/whl/cu128
pip install "isaacsim[all,extscache]==5.1.0" --extra-index-url https://pypi.nvidia.com
sudo apt install cmake build-essential
cd leisaac/dependencies/IsaacLab && ./isaaclab.sh --install && cd ../..
pip install -e source/leisaac
pip install -e "source/leisaac[lerobot]"
pip install numpy==1.26.0
LeIsaac från källkod. Numpy-låsningen finns i de officiella instruktionerna, inte en lösning.

Med detta på plats driver ledararmen på /dev/ttyACM0 den simulerade följaren och spelar in direkt till HDF5. Loopen är densamma som du redan känner till från verklig inspelning, bara följaren är en styv kropp i PhysX.

bash
python scripts/environments/teleoperation/teleop_se3_agent.py \
    --task=LeIsaac-SO101-PickOrange-v0 \
    --teleop_device=so101leader \
    --port=/dev/ttyACM0 \
    --num_envs=1 \
    --device=cuda \
    --enable_cameras \
    --record \
    --dataset_file=./datasets/dataset.hdf5
Miljö-IDUppgiftsbeskrivningRobot
LeIsaac-SO101-PickOrange-v0Plocka tre apelsiner och lägg dem på tallriken, återställ sedan armen till vilolägeEnarms SO101-följare
LeIsaac-SO101-LiftCube-v0Lyft upp den röda kubenEnarms SO101-följare
LeIsaac-SO101-CleanToyTable-v0Plocka två 'e'-formade objekt i lådan, återställ sedan armen till vilolägeEnarms SO101-följare
LeIsaac-SO101-CleanToyTable-BiArm-v0Samma uppgift med två armarTvåarms SO101-följare
LeIsaac-SO101-FoldCloth-BiArm-v0Vik tyget, återställ sedan armen till viloläge. Endast DirectEnv-varianten stöder check_successTvåarms SO101-följare
LeIsaac-LeKiwi-CleanupTrash-v0Plocka upp pappersskräp från golvet och kasta det i soptunnanLeKiwi

De flesta av dessa ID:n finns också som en -Direct-v0 variant, och python scripts/environments/list_envs.py skriver ut den aktuella listan. Du kan också helt hoppa över HDF5-omvägen och skriva LeRobot-format under teleoperation genom att lägga till tre flaggor. Två förbehåll kommer från dokumentationen själv: inspelaren hoppar automatiskt över de första 5 bildrutorna i varje episod för att undvika instabilitet från initiala tillstånd, och det kan orsaka små fördröjningar i teleoperationen, vilket är precis den typ av sak som tyst förändrar karaktären på dina demonstrationer. Den spolar också bara ut episoder som uppgiften markerat som framgångsrika.

bash
python scripts/environments/teleoperation/teleop_se3_agent.py \
    --task=LeIsaac-SO101-PickOrange-v0 \
    --teleop_device=so101leader \
    --port=/dev/ttyACM0 \
    --num_envs=1 --device=cuda --enable_cameras --record \
    --use_lerobot_recorder \
    --lerobot_dataset_repo_id=<your-user>/<dataset-name> \
    --lerobot_dataset_fps=30

Multiplikationssteget körs sedan på dessa inspelningar. LeIsaac omsluter Isaac Lab Mimic i fyra kommandon, eftersom Mimic generaliserar trajektorier från ändeffektor- och objektpositioner: konvertera ledrumsaktionerna till IK-baserade aktioner, annotera, generera, konvertera sedan tillbaka till ledrum.

bash
python scripts/mimic/eef_action_process.py \
  --input_file ./datasets/mimic-lift-cube-example.hdf5 \
  --output_file ./datasets/processed_mimic-lift-cube-example.hdf5 \
  --to_ik --headless

python scripts/mimic/annotate_demos.py --device cuda \
  --task LeIsaac-SO101-LiftCube-Mimic-v0 \
  --input_file ./datasets/processed_mimic-lift-cube-example.hdf5 \
  --output_file ./datasets/annotated_mimic-lift-cube-example.hdf5 \
  --enable_cameras

python scripts/mimic/generate_dataset.py --device cuda \
  --num_envs 1 --generation_num_trials 10 \
  --input_file ./datasets/annotated_mimic-lift-cube-example.hdf5 \
  --output_file ./datasets/generated_mimic-lift-cube-example.hdf5 \
  --enable_cameras

python scripts/mimic/eef_action_process.py \
  --input_file ./datasets/generated_mimic-lift-cube-example.hdf5 \
  --output_file ./datasets/final_generated_mimic-lift-cube-example.hdf5 \
  --to_joint --headless

Konvertera sedan till LeRobot. Detta är steget där plattformens formatregel slår till, och LeIsaac råkar leverera exakt de två konverterare du behöver: isaaclab2lerobot.py skriver LeRobot v2, vilket är vad GR00T-laddarna använder, och isaaclab2lerobotv3.py skriver v3 för Pi0.5, SmolVLA och ACT.

bash
pip install lerobot==0.3.3
pip install numpy==1.26.0

python scripts/convert/isaaclab2lerobot.py \
    --task_name=LeIsaac-SO101-PickOrange-v0 \
    --repo_id=<your-user>/so101_pick_orange_sim \
    --hdf5_root=./datasets \
    --hdf5_files=dataset.hdf5
LeRobot v2-utdata för GR00T. Byt till isaaclab2lerobotv3.py, med lerobot 0.4.2, för v3-tränarna.
Det finns en nödlösning utan GPU

LeIsaac dokumenterar hur man kör hela stacken på NVIDIA Brev: distribuera, klicka på port 80-länken för att öppna en webbläsarbaserad VS Code Server, och kör de fyra förinstallerade scenarierna med --kit_args="--no-window --enable omni.kit.livestream.webrtc", och visa renderingen på samma adress med /viewer tillagt. Om du inte har ett arbetsstationskort under ditt skrivbord är det ett billigare sätt att ta reda på om den simulerade versionen av din uppgift ens är nära innan du investerar i hårdvara för den.

Två vägar till en tränad policy

Du bygger scenen, genererar data, hyr GPU:n och kopplar upp serveringen själv. Detta är rätt val om uppgiften kräver miljövariation som du inte fysiskt kan iscensätta, eller om du vill ha repeterbar utvärdering.

  1. Installera Isaac Sim 5.1 och Isaac Lab, eller LeIsaac-stacken om din robot är en SO-101.
  2. Modellera eller importera scenen. Detta är steget ingen budgeterar för och det är oftast det längsta.
  3. Spela in ungefär 10 rena demonstrationer via den simulerade följaren.
  4. Annotera deluppgifter, kör generate_dataset.py och acceptera att misslyckanden kasseras.
  5. Konvertera HDF5 till LeRobot-format, välj v2 för GR00T och v3 för de andra.
  6. Spela in verkliga episoder på den fysiska armen ändå, träna sedan tillsammans på blandningen.
  7. Hyr en GPU, kör finjusteringen, servera checkpointen bredvid armen.
ResursVad källorna anger
Lokal simulerings-GPUNVIDIA:s blueprint för syntetisk manipulation kräver Ubuntu 22.04 och en NVIDIA RTX A6000 med 48 GB VRAM
Världsmodell-nodSamma blueprint kräver en H100 eller högre med 80 GB, på en nod separat från Isaac Lab-simuleringen
ContainerversionerIsaac Lab 2.0.2 på Isaac Sim 4.5.0 inuti den blueprint-imagen
GenereringsgenomströmningIsaac Lab rapporterar 1000 GR1T2 pick-and-place-demos på 18 till 40 minuter, 19 minuter på en RTX ADA 6000 med 80 procents framgång
Neural banekostnadGR00T N1 rapporterar cirka 105 000 L40 GPU-timmar, ungefär 1,5 dagar på 3 600 L40, för sina 827 timmar av drömmar
Den verkliga kostnaden är kalendertid, inte GPU-tid

Att generera 1000 trajektorier är en eftermiddag. Att få din scen, dina kameraextrinsicer, dina objektmesh och din servomodell tillräckligt nära för att dessa trajektorier ska överföras är där veckorna går. Budgetera för modelleringen, inte för samplingen.

Videovärldsmodeller: det nyaste lagret, och det minst mätta

Idén bakom DreamGen är att en videogenerativ modell, anpassad till den avsedda robotkroppen, kan föreställa sig plausibla episoder i scener du aldrig besökt. Pipeline har fyra steg: finjustera videovärldsmodellen, generera fotorealistiska syntetiska robotvideor, återställa pseudo-aktionssekvenser med en latent aktionsmodell eller en invers dynamikmodell, och sedan träna robotpolicyn på resultatet. NVIDIAs GR00T-dreams-repository implementerar exakt detta.

Huvudresultatet är verkligt och värt att ta på allvar: teleoperationsdata från endast en enda plock-och-placera-uppgift i en miljö producerade 22 nya beteenden på en humanoid, i både sedda och osedda miljöer. Förbehållet är lika verkligt och finns i det tredje steget.

Videovärldsmodeller som datakälla
Fördelar
  • De skalar längs den axel som är genuint dyr i den verkliga världen: nya scener, nya objektarrangemang, nya formuleringar av instruktionen.
  • GR00T-dreams listar fyra stödda utföranden för sina skript för åtgärdsutvinning och finjustering: franka, gr1, robocasa och so100. Detta är inte en teknik endast för humanoider.
  • Cosmos-Transfer1 angriper den fotometriska halvan av gapet direkt, genom att mappa ett robotik-syntetiskt exempel till flera realistiska från segmentering, djup- eller kantkonditionering. Isaac Lab levererar själv promptverktyg för detta under scripts/tools/cosmos.
  • DreamGen-arbetet levererar DreamGen Bench, ett benchmark för videogenerering som visar en stark korrelation mellan benchmarkprestanda och framgång för efterföljande policy, så att du kan granska generationer innan du tränar på dem.
Kompromisser
  • Åtgärder återställs av en modell, inte mätts av en encoder. En video som ser rätt ut kan innehålla en ledrörelse som din arm inte kan utföra.
  • Generering är dyrt. GR00T N1 rapporterar två minuter för att generera en sekund video på en L40, ungefär 105 000 L40 GPU-timmar, cirka 1,5 dagar på 3 600 L40 GPU:er, för dess 827 timmar av neurala trajektorier.
  • Den uppmätta vinsten ligger på ensiffriga tal: 4.2, 8.8 och 6.8 poäng på RoboCasa över de tre dataregimerna, och 5.8 poäng i genomsnitt över 8 verkliga GR-1-uppgifter, utöver en modell som redan hade den verkliga datan.
  • Ingen publicerad metod validerar detta för en 7.4 V hobbyservoarm från början till slut. Du skulle porta, inte följa.
Mata aldrig en STS3215 med 12 V

Orelaterat till simulering, men det dyker upp när någon flyttar från en simulerad arm till en verklig och improviserar en strömförsörjning. SO-100, SO-101 och LeKiwi-armen kör alla Feetech STS3215-servon på 7.4 V. Att mata dem med 12 V förstör dem, och LeKiwi är en särskild fälla eftersom dess basräls är 12 V. Se SO-100 hårdvarusida innan du kopplar något.

Samträning är metoden som faktiskt visar vinster

Om du tar en operativ lärdom från litteraturen, ta den här. Sim-och-verklig samträningsstudien (Maddukuri och kollegor, 2025) syftade till att hitta ett enkelt recept för att använda simuleringsdata för att lösa synbaserade robotmanipulationsuppgifter, över två domäner, en robotarm och en humanoid, och dess slutsats är att du tränar på en blandning. Simuleringsdata förbättrade verklig uppgiftsprestanda med i genomsnitt 38 procent, och artikeln är tydlig med att detta gällde även med märkbara skillnader mellan simuleringen och verklighetsdata.

Den sista satsen är viktigare än de 38 procenten. Det betyder att simuleringen inte behöver vara en perfekt digital tvilling för att vara användbar, förutsatt att verklig data finns med i blandningen för att förankra den. Överföring enbart från simulering är den dyra vägen: samma artikel anger att träning av en policy enbart i simulering och överföring till den verkliga världen ofta kräver betydande mänsklig ansträngning för att överbrygga verklighetsgapet. Samträning hoppar över det mesta av den ansträngningen genom att aldrig be policyn att stänga gapet på egen hand.

AY-Robots policyjämförelsetabell som visar parametrar, GPU-nivå, inferenslatens och minimi-episoder för GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA och ACT.
De fem träningsbara policyerna på /policies. Kolumnen för minimi-episoder är det antal som avgör om syntetisk data är ett trevligt tillskott eller det enda sättet att nå en träningsbar datamängd.

Praktiskt sett, på denna plattform, betyder samträning en sak: lägg båda uppsättningarna av episoder i samma LeRobot dataset med konsekventa kameranycklar, konsekvent ledordning och konsekventa enheter, kör sedan en normal finjustering. Det finns ingen ratt för blandningsvikt i träningsformuläret. Om du vill ha ett 3:1 sim-till-verklighet-förhållande, uttrycker du det genom hur många episoder av varje du lägger i datamängden.

Den billigaste vinsten från simulering är inte träningsdata

Det är utvärdering. Att köra dussintals verkliga försök per uppgift för att jämföra två är en dags armtid, och armen driver mellan försök. SIMPLER (Li och kollegor, 2024) byggde simulerade miljöer vars syfte är att poängsätta verkliga policyer snarare än att träna dem, och mätte sedan hur väl simuleringsrankningen förutsäger den verkliga. En enda SIMPLER-miljö renderar med 3 500 simuleringssteg per sekund på ett konsument-RTX 4090 med 640 gånger 512 upplösning, vilket under en simuleringsfrekvens på 500 Hz är en 7x snabbare än verklig utvärdering.

UtvärderingsprotokollMMRV (lägre är bättre)Pearson r (högre är bättre)
Validation MSE0.3750.308
SIMPLER, variant aggregation0.1430.778
SIMPLER, visual matching0.0560.924

Dessa är medelvärden över tre Google Robot-uppgiftsgrupper för sex vanliga öppen källkods-kontrollpunkter: tre RT-1-kontrollpunkter i olika träningsstadier, RT-1-X, RT-2-X och Octo-Base. Den verkliga sidan har inte ett enhetligt antal försök, vilket är värt att veta innan du citerar det: 75 försök för att plocka colaburk, 60 för att flytta nära, 54 för uppgifterna att öppna och stänga lådor och 27 för den längre låd- och äppeluppgiften. Jämförelsen mot validerings-MSE är den användbara delen. Modellval genom valideringsförlust rankar dessa kontrollpunkter dåligt, och ett Pearson r på 0.924 under visuell matchning betyder att om en kontrollpunkt får bättre poäng i SIMPLER så får den mycket troligt bättre poäng i verkligheten. Det är en repeterbar resultattavla över natten, och det kräver inte att du tror på något om sim-till-verklighet träningsöverföring.

AY-Robots Arenans topplista, en sorterbar tabell över 85 syn-språk-handlingsmodeller med 332 benchmarkresultat, där varje värde är länkat till dess källpublikation eller modellkort.
Arenan på /arena samlar 332 benchmarkresultat från 85 modeller. Nästan alla är simulerade benchmarks, vilket är precis poängen med SIMPLER-argumentet: simulering är en bra resultattavla långt innan det är en bra datakälla.

Om du vill ha ett bredare sammanhang om vad dessa benchmarknummer berättar och inte berättar om en , har vi skrivit om det separat i .

Vad denna plattform inte hjälper dig med

Att vara tydlig med gränsen sparar allas tid. AY-Robots är en plattform för inspelning, träning och driftsättning. Den innehåller ingen simulator.

  • Inget Isaac Lab, inget MimicGen, ingen världsmodell, ingen scenredigering. Om du vill ha genererad data genererar du den någon annanstans och tar med resultatet.
  • Tränarna konsumerar LeRobot-dataset och inget annat. En simulator-export måste konverteras innan den kan användas som indata, och den måste ha rätt version: v2.0 eller v2.1 för GR00T N1.5 och N1.7, v3.0 för Pi0.5, SmolVLA och ACT.
  • GR00T:s finjusteringsingång är en tyro CLI som inte exponerar något seed, så GR00T-körningar är inte bit-för-bit reproducerbara. Om du kör en noggrann sim-mot-verklighet-ablationsstudie är detta en verklig begränsning. lerobot:s eget standard-seed är 1000, och ACT-, SmolVLA- och Pi0.5-formerna exponerar ett seed-fält.
  • Gradientackumulering tillämpas endast för de två GR00T-tränarna. För Pi0.5 och SmolVLA finns fältet i formuläret men lerobot 0.5.1 har ingen sådan flagga, så det gör ingenting.
  • Inferens måste sitta nära servona för snabba uppgifter. Kontrollloopen är 20 till 485 ms per åtgärdssteg beroende på modell, och att lägga till rundresor över det publika internet förvandlar en fungerande policy till en tveksam. Fjärrinferens är genomförbart för långsam plock-och-placering, inte för snabb reaktiv rörelse.
Vad du kan göra här som är genuint svårt någon annanstans

Spela in den verkliga halvan av en samträningsblandning utan att äga en arm. /live strömmar en fysisk SO-100 utan registrering, köbaserat, och operatörsprogrammet finns för att någon måste köra dem. Om din flaskhals är att du har en simulator och inga verkliga episoder, är det den luckan denna plattform täpper till.

En budget du kan försvara

Ställ de två vägarna sida vid sida med de siffror som var och en faktiskt publicerar, så fattar beslutet sig oftast självt för ett enskilt uppgiftsprojekt på en lågkostnadsarm.

PunktSimulering förstInspelning först
Initial modelleringScen, nät, kameraplacering, servomodell. Dagar till veckorIngen
DatainsamlingCirka 10 demonstrationer i sim, sedan generering30 till 50 verkliga episoder, några timmars teleoperation
Hårdvara att äga48 GB card for the Isaac Lab blueprint, 80 GB for the Cosmos stageEn arm och en bärbar dator
TräningskostnadSamma som höger kolumn, tränaren bryr sig inte om var data kom ifrån1 to 3 USD on the 4090 tier, 4 to 12 USD on the A100 or H100 tier
Bästa bevis på utdelning38 procents genomsnittlig verklig vinst vid samträning, 4 till 9 poäng från neurala banorBaslinjen som allt ovan mäts mot
Misslyckas närDin uppgift beror på kontakt, deformerbara objekt eller servoefterlevnadDu behöver miljövariation som du inte fysiskt kan iscensätta

För en första policy på en SO-100, spela in. Den och tar dig till en serverad checkpoint för priset av en kopp kaffe, och du kommer att ha den verkliga halvan av varje framtida samträningsblandning. Använd simulatorn när du har en fungerande baslinje och ett specifikt generaliseringsfel du kan namnge, till exempel en policy som .

Ingen arm på ditt skrivbord ännu?

Kör en riktig SO-100 i webbläsaren, köbaserat, ingen registrering, och se hur en verklig episod faktiskt ser ut innan du spenderar en helg med att modellera en i en simulator.

Kör en riktig arm

Ett recept som respekterar bevisen

  1. 1
    Spela in den verkliga baslinjen först

    30 episoder för SmolVLA, 50 för ACT, GR00T N1.7 och Pi0.5. Träna en gång. Vad policyn än misslyckas med är din specifikation för syntetisk data.

  2. 2
    Namnge generaliseringsfelet

    Objektposition? Belysning? Bordshöjd? Distraktorer? En annorlunda formulering av instruktionen? Syntetisk data är bra på exakt en av dessa i taget, och värdelös om du inte kan säga vilken.

  3. 3
    Välj den billigaste familjen som täcker det

    Variation i position och layout: trajektorimultiplikation. Belysning och textur: bildaugmentation först, världsmodell sedan. Helt nya scener: fysiksimuleringar, och acceptera modelleringskostnaden.

  4. 4
    Generera, kasta sedan bort aggressivt

    Genereringsförsök misslyckas, och Isaac Labs egen kandidatsuccesfrekvens varierar från 70 procent ner till under 1 procent beroende på uppgiften. Behåll endast framgångsrika, uppgiftskompletterande trajektorier, och granska ett urval som video innan du litar på batchen.

    bash
    python scripts/mimic/generate_dataset.py --device cuda \
        --num_envs 8 --generation_num_trials 500 \
        --input_file ./datasets/annotated.hdf5 \
        --output_file ./datasets/generated.hdf5 --enable_cameras
  5. 5
    Samträna, ersätt inte

    Slå samman de genererade episoderna med de verkliga till ett enda LeRobot-dataset med identiska kameranycklar och ledordning. Siffran 38 procent är en siffra för samträning.

  6. 6
    Utvärdera på den verkliga armen, och endast där

    Simulerad utvärdering är en bra rankningssignal (Pearson r 0.924 i SIMPLERs visuella matchningsuppsättning) men det är inte acceptanstestet. Kör kontrollpunkten på testbänken innan du tror på den.

Om du hellre vill börja med en checklista för de verkliga inspelningarna själva, täcker kameraplacering, implikationer och de fellägen som gör ett dataset oanvändbart. Detaljer om formatet finns i , och hyperparametersidan i .

Kan jag träna en robotpolicy helt på syntetisk data?

För en manipulationsuppgift på en verklig arm, inte tillförlitligt. Varje publicerat resultat med en stark siffra är ett samträningsresultat eller ett augmentationsresultat ovanpå verklig data. MimicGens egen jämförelse sätter 200 genererade demonstrationer till 79 procent mot 84 procent för 200 mänskliga demonstrationer på samma uppgift, och 2025 års samträningsartikel för simulering och verklighet anger att träning enbart i simulering och överföring ofta kräver betydande mänsklig ansträngning för att överbrygga verklighetsgapet. RoboCasa visar att genererad data slår mänsklig data med 47.6 mot 28.8 procent, men endast med 72 000 genererade demonstrationer mot 1 250 mänskliga, inuti simulatorn som producerade båda.

Hur många verkliga episoder behöver jag fortfarande om jag genererar syntetiska?

På AY-Robots behöver tränarna minst 30 episoder för SmolVLA och 50 för ACT, GR00T N1.5, GR00T N1.7 och Pi0.5, oavsett var episoderna kom ifrån. Isaac Labs Mimic-dokumentation säger att cirka 10 framgångsrika mänskliga demonstrationer krävs som frö för generering. Dessa är olika siffror som svarar på olika frågor: 10 är vad generatorn behöver, 30 till 50 är vad tränaren behöver.

Måste simulerad data vara i LeRobot-format?

För att träna på denna plattform, ja. Isaac Lab och LeIsaac producerar båda robomimic-smaksatt HDF5. Isaac Lab core levererar ingen LeRobot-konverterare, men LeIsaac levererar isaaclab2lerobot.py för LeRobot v2 och isaaclab2lerobotv3.py för v3, och IsaacLab-Arena levererar en GR00T-riktad convert_hdf5_to_lerobot.py driven av en YAML-konfiguration. Observera versionen: GR00T N1.5 och N1.7 använder LeRobot v2.0 eller v2.1, medan Pi0.5, SmolVLA och ACT använder v3.0. Ett v3.0-dataset kraschar GR00T-laddaren och måste konverteras ner till v2.1.

Är Isaac Gym fortfarande rätt sak att lära sig 2026?

Nej. NVIDIAs egen produktsida har rubriken "Isaac Gym - Nu föråldrad" och anger att detta är äldre programvara, att utvecklare får ladda ner och fortsätta använda den men att den inte längre stöds, och pekar på Isaac Lab som ersättare. Isaac Lab levererar migreringsguider från IsaacGymEnvs, från OmniIsaacGymEnvs och från Orbit, så en befintlig miljö är portabel snarare än förlorad.

Kan jag placera en SO-100 eller SO-101 i Isaac Lab?

SO-101, ja, korrekt. TheRobotStudio-förrådet levererar både URDF- och MJCF-filer för SO-101, genererade med onshape-to-robot från Onshape CAD-modellen, och LeIsaac tillhandahåller färdiga Isaac Lab-uppgifter som LeIsaac-SO101-PickOrange-v0 med teleoperation från den fysiska SO101-ledararmen. För SO-100 levererar samma förråd endast en enda URDF och ingen MuJoCo-modell. Var medveten om de begränsningar som SO-101 README anger i båda fallen: baskollisionsnät togs bort på grund av problematiskt kollisionsbeteende, STS3215-motoregenskaperna anpassades från Open Duck Mini-projektet snarare än identifierades på en SO-101, och konventionen 0-stängd till 100-öppen gripare återspeglas ännu inte i modellfilerna.

Kör plattformen simulering åt mig?

Nej. AY-Robots spelar in LeRobot-dataset från verklig teleoperation, finjusterar de fem stödda policyerna på hyrda GPU:er och skickar tillbaka den resulterande kontrollpunkten till armen. Det finns ingen simulator, ingen syntetisk datagenerering och ingen scenförfattning i den. Om du genererar data någon annanstans och konverterar den till ett giltigt LeRobot-dataset, kommer tränarna att acceptera det precis som verkliga inspelningar.

Sources

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started