Der AY-Robots Glossareintrag für das LeRobot Datensatzformat, das Format, das jeder Trainer auf der Plattform konsumiert, egal ob die Episoden aufgezeichnet oder generiert wurden.
synthetische DatenSim-to-RealIsaac LabImitationslernenMimicGenSO-101

Synthetische Daten für Roboter-Policies: Wo Simulation hilft

AY-Robots Research23. August 202631 Min. Lesezeit

Simulation kann eine Handvoll Demonstrationen in Tausende vervielfachen. Hier erfahren Sie, was die veröffentlichten Zahlen wirklich aussagen, wo die Sim-to-Real-Lücke zuschlägt und was noch aufgezeichnet werden muss.

Alle paar Monate stellt jemand fest, dass das Aufzeichnen von fünfzig Episoden von Hand langsam ist, und fragt, ob ein Simulator sie stattdessen produzieren könnte. Das ist eine berechtigte Frage. Die ehrliche Antwort hat drei Teile: generierte Daten helfen, sie ersetzen die realen Aufnahmen nicht, und das Verhältnis zwischen diesen beiden Tatsachen hängt vollständig davon ab, welche Art von synthetischen Daten Sie meinen.

Diese Seite erläutert, was die veröffentlichten Arbeiten tatsächlich gemessen haben, was Sie heute auf einem kostengünstigen Arm wie dem SO-100, und wo die Sim-to-Real-Lücke die Vorteile zunichtemacht. Die Kurzversion, bevor wir ins Detail gehen: Die Systeme, die die größten Multiplikatoren melden, vervielfachen eine kleine Menge realer menschlicher Demonstrationen. Sie beseitigen nicht die Notwendigkeit dafür.

Was Sie wissen müssen

  • Vier voneinander unabhängige Techniken werden in der Manipulation als synthetische Daten bezeichnet: Trajektorienmultiplikation, Physik-Rollouts, Video-Weltmodelle und Bildraum-Augmentierung. Sie versagen auf unterschiedliche Weise und sind unterschiedlich viel wert.
  • MimicGen verwandelte weniger als 200 menschliche Demonstrationen in über 50.000 generierte Demonstrationen über 18 Aufgaben hinweg. Bei seiner Square D0-Aufgabe erzielten 200 Demos, die aus 10 menschlichen Demos generiert wurden, eine Erfolgsquote von 79 Prozent gegenüber 84 Prozent für 200 reale menschliche Demos.
  • RoboCasa ist das Gegenbeispiel: 72.000 generierte Demos erzielten 47,6 Prozent gegenüber 28,8 Prozent für 1.250 menschliche Demos. Das ist ein 58-facher Volumenvorteil, kein direkter Sieg.
  • Die Sim-und-Real-Co-Training-Studie berichtet von einer durchschnittlichen Verbesserung der realen Aufgabenleistung um 38 Prozent. Das Rezept ist Co-Training auf einer Mischung, nicht Sim-only-Transfer.
  • GR00T N1 sits on 780,000 simulation trajectories (6,500 hours equivalent, generated in 11 hours) and 827 hours of neural trajectories grown from 88 real hours. Those 88 real hours are still the peak of the pyramid.
  • Für einen SO-101 gibt es heute eine funktionierende offene Pipeline: LeIsaac inside Isaac Lab, teleoperate with the physical leader arm, multiply with Isaac Lab Mimic, export to LeRobot format, fine-tune GR00T.
  • AY-Robots generiert keine synthetischen Daten. Es trainiert mit dem LeRobot-Datensatz, den Sie ihm übergeben, unabhängig davon, wie dieser Datensatz produziert wurde, und die Trainer benötigen je nach Modell mindestens 30 bis 50 Episoden.

Vier verschiedene Dinge werden als synthetische Daten bezeichnet

Bevor man Zahlen vergleicht, lohnt es sich, die Familien zu trennen, denn ein Paper, das einen 100-fachen Multiplikator meldet, und ein Paper, das einen 5-Punkte-Erfolgsgewinn meldet, beschreiben oft dieselbe Pipeline von verschiedenen Enden aus. Der gemeinsame Nenner ist, dass etwas im LeRobot-Datensatz von einer Maschine produziert wurde, anstatt von einem physischen Arm aufgezeichnet zu werden. Was sich unterscheidet, ist welcher Teil.

FamilieWas real bleibtWas generiert wirdGemeldeter MultiplikatorHauptfehlerursache
Trajektorienmultiplikation (MimicGen, DexMimicGen, Isaac Lab Mimic)Eine Handvoll menschlicher Demos, die Objekt-Meshes, die Physik-EngineNeue Trajektorien, angepasst an neue Objektposen und Szenenlayouts10 human demos bis 1.000 pro Reset-Verteilung; 60 bis 21.000; unter 200 bis über 50.000Generierungsversuche schlagen fehl. Isaac Lab gibt die Erfolgsrate der Kandidaten in einfachen Fällen mit bis zu 70 Prozent und in schwierigen Fällen mit unter 1 Prozent an.
Physik-Rollouts in einem Aufgabensimulator (Isaac Lab, robosuite, RoboCasa)Die Physik-Engine und die Asset-BibliothekGanze Episoden, gesteuert durch geskriptete Controller, Planer oder RLNur durch GPU-Stunden begrenztDer simulierte Arm ist nicht Ihr Arm. Kontakt- und Servodynamik sind Annäherungen.
Video-Weltmodelle (DreamGen, Cosmos Transfer)Einige reale Teleoperations-Episoden, die als Konditionierung verwendet werdenFotorealistisches Video neuer Verhaltensweisen, plus nachträglich wiederhergestellte Pseudo-Aktionen88 hours to 827 hours in GR00T N1, about 10xAktionen werden abgeleitet, nicht gemessen. Ein plausibles Video kann eine unplausible Aktion enthalten.
Bildraum-Augmentierung (random crop, colour jitter)Alles außer den PixelnGestörte Ansichten von Episoden, die Sie bereits haben1x, es erzeugt keine neue TrajektorieGeometrische Augmentierung löst die Verbindung zwischen Bild und Aktionslabel auf.

Nur die ersten drei sind synthetische Daten in dem Sinne, wie dieser Artikel es meint. Die vierte ist erwähnenswert, weil sie in dieselbe Diskussion einbezogen wird und bei weitem das günstigste auf der Liste ist. Wenn Sie die Augmentierungen, die Ihr Trainer mitliefert, noch nicht aktiviert haben, tun Sie dies, bevor Sie einen Simulator installieren.

Sie können echte synthetische Daten ansehen, bevor Sie welche generieren

NVIDIA hat die simulierten Trajektorien, die für das GR00T N1 Post-Training verwendet wurden, als nvidia/PhysicalAI-Robotics-GR00T-X-Embodiment-Sim auf Hugging Face veröffentlicht, etwa 1.87 TB unter cc-by-4.0. Es gliedert sich in 9.000 körperübergreifende bimanuelle Panda- und GR1-Trajektorien, 240.000 humanoide Tisch-Trajektorien, 72.000 Einzel-Panda-Küchen-Trajektorien und 102 Unitree G1 Loco-Manipulations-Trajektorien. Das Herunterladen eines Subsets mit huggingface-cli download --include "gr1_arms_only.CanSort/**" und das Ansehen einiger Episoden ist der schnellste Weg, um zu kalibrieren, wie generierte Trajektorien aussehen, und es kostet nichts außer Bandbreite.

Was die veröffentlichten Zahlen tatsächlich aussagen

Hier ist die Evidenzbasis, mit den Zahlen, wie die Quellen sie angeben, und nicht, wie die Pressemitteilungen sie zusammenfassen. Jede Zeile unten stammt aus einem Paper oder einer Projektseite, die am 23. August 2026 gelesen wurde.

SystemEingabeGeneriertGemeldetes Ergebnis
MimicGen, CoRL 2023Weniger als 200 menschliche Demos; 10 menschliche Demos im direkten VergleichÜber 50.000 Demos, 18 Aufgaben, vier Arme (Panda, Sawyer, IIWA, UR5e)Quadrat D0: 79 Prozent aus 200 Demos, generiert aus 10 menschlichen Demos, gegenüber 84 Prozent aus 200 menschlichen Demos
DexMimicGen, 202460 menschliche Quelldemos21.000 Demos für beidhändige, geschickte RoboterBeidhändige, geschickte Aufgaben in der Simulation, plus eine Real-zu-Sim-zu-Real-Bereitstellung für das Sortieren von Dosen durch einen Humanoiden
RoboCasa, 20241.250 menschliche Demos (50 pro Aufgabe über 25 atomare Aufgaben), 100 Bewertungsaufgaben, über 150 Objektkategorien100.000 MimicGen-Trajektorien; die 72.000-Demo-Untermenge treibt den Hauptvergleich an28,8 Prozent insgesamt auf dem menschlichen Set gegenüber 47,6 Prozent auf dem vollständig generierten Set, nur auf ungesehenen Objektinstanzen bewertet
Sim-and-real Co-Training, 2025Reale Demos plus Simulationsdatensätze, zwei Domänen (Roboterarm und Humanoide)Eine Mischung, kein ErsatzSimulationsdaten verbesserten die Leistung bei realen Aufgaben um durchschnittlich 38 Prozent
DreamGen, 2025Teleoperationsdaten von einer einzelnen Pick-and-Place-Aufgabe in einer UmgebungSynthetisches Video plus Pseudo-Aktionen von einem latenten Aktionsmodell oder einem inversen Dynamikmodell22 neue Verhaltensweisen an einem Humanoiden, in bekannten und unbekannten Umgebungen
GR00T N1 Datenpyramide, 202588 Stunden interner GR-1-Teleoperation827 Stunden neuronale Trajektorien (etwa 10x); 780.000 Sim-Trajektorien, 6.500 Stunden Äquivalent, in 11 Stunden produziertNeuronale Trajektorien fügten 4,2, 8,8 und 6,8 Punkte auf RoboCasa bei den 30, 100 und 300 Demos-pro-Aufgabe-Regimen hinzu, und durchschnittlich 5,8 Punkte über 8 reale GR-1-Aufgaben
Multiplikatoren als Trajektorienzahlen lesen, nicht als Fähigkeit

Ein Multiplikator ist eine Zeilenanzahl. MimicGens eigener direkter Vergleich platziert generierte Daten leicht unter der gleichen Anzahl menschlicher Daten (79 gegenüber 84 Prozent), und die GR00T N1 Ablation fügt einstellige Prozentpunkte zu einem Modell hinzu, das bereits die realen Stunden hatte. RoboCasa schlägt menschliche Daten, 47,6 gegenüber 28,8 Prozent, aber mit 72.000 generierten Demos gegenüber 1.250 menschlichen. Volumen kauft Abdeckung. Es kauft keine Informationen, die Ihre Demonstrationen nie enthielten.

Das Muster bei jeder ehrlichen Ablation ist dasselbe. Synthetische Daten erweitern die Abdeckung kostengünstig. Sie erzeugen keine Informationen über Ihren Greifer, Ihr Servo-Durchhängen, Ihre Beleuchtung oder Ihre Tischhöhe, die nicht bereits irgendwo in den realen Demonstrationen vorhanden waren. Wenn Ihre Policy fehlschlägt, weil der Endeffektor eine halbe Sekunde zu spät schließt, behebt keine Menge an simulierter Variation das Problem. Das ist ein Greifer-Timing-Problem in den realen Aufzeichnungen.

Eine Erkenntnis von MimicGen ist es wert, in Ihre eigenen Aufnahmesitzungen übernommen zu werden, da sie dem üblichen Ratschlag widerspricht. Das Projekt generierte zwei Datensätze auf Square D2, einer mit 10 Demos von einem menschlichen Bediener besserer Qualität und einer mit 10 Demos von einem Bediener schlechterer Qualität, beide aus dem robomimic Multi-Human Square Datensatz. Auf jedem trainierte Policies erzielten vergleichbare Ergebnisse, was die Autoren als Zeichen dafür interpretierten, dass im Regime großer Datenmengen die Datenqualität möglicherweise nicht so wichtig ist. Genau gelesen ist das eine Aussage über die zehn Seed-Demonstrationen, nicht über Ihre fünfzig realen Episoden. Es bedeutet, dass ein leicht unordentlicher Seed-Satz nicht das ist, was zwischen Ihnen und einem nutzbaren generierten Datensatz steht. Es bedeutet nicht, dass die realen Episoden, auf denen Sie mittrainieren, unordentlich sein können, denn diese tragen die Informationen, die der Simulator nicht hat.

Die öffentliche Datensatzverzeichnisliste von AY-Robots, die aufgezeichnete LeRobot-Datensätze mit ihren Episodenzahlen auflistet.
Das öffentliche Datensatzverzeichnis unter /directory. Jeder Eintrag hier sind tatsächlich aufgezeichnete Episoden. Synthetische Daten sind ein Multiplikator auf etwas Ähnlichem, kein Ersatz dafür.

Die Sim-to-Real-Lücke, konkret

Die Lücke wird üblicherweise als eine einzige Größe diskutiert, was wenig hilfreich ist. Es handelt sich um mindestens fünf separate Diskrepanzen, und diese haben bei einem 110 bis 150 EUR Hobbyarm andere Ausmaße als bei einem Franka.

  • Kontakt und Reibung. Isaac Lab stellt klar fest, dass bei gleicher Hardware und gleicher Isaac Sim- und PhysX-Version die Simulation reproduzierbar ist, die Ergebnisse jedoch aufgrund von Gleitkomma-Genauigkeit und Rundungsfehlern über verschiedene Hardwarekonfigurationen hinweg variieren, und dass PhysX keine Determinismus für Szenen mit nicht-starren Körpern wie Stoff oder weichen Körpern garantiert.
  • Aktorik. Ein Feetech STS3215 Bus-Servo, der mit 7.4 V betrieben wird, gibt unter Last nach, hat Spiel und ändert sein Verhalten beim Erwärmen. Das MJCF-Modell für den SO-101 übernimmt seine Motorparameter von einem unabhängigen Projekt, anstatt sie an Ihrem Arm zu identifizieren.
  • Rendering. Kamerarauschen, Rolling Shutter, automatische Belichtung und der genaue Farbton Ihres Tisches sind nicht im Render enthalten. Dies ist die Hälfte der Lücke, die Cosmos-Transfer1 schließen sollte: Sein Robotik-Augmentierungs-Workflow bildet ein synthetisches Robotik-Beispiel auf mehrere realistische Beispiele aus Segmentierung, Tiefe oder Kantenkonditionierung ab.
  • Timing. Ein Simulator läuft mit einer festen Rate. Eine reale Regelschleife tut dies nicht, und das Modell selbst kostet je nach Wahl 20 bis 485 ms pro Aktionsschritt. Siehe inference latency.
  • Objektstatistiken. Simulierte Szenen werden aus einer Verteilung abgetastet, die jemand aufgeschrieben hat. Ihr Küchentisch nicht.

Was ein simulierter SO-100 tatsächlich über Ihren Arm weiß

Dies ist der Teil, der entscheidet, ob sich das Obige für Ihr Wochenende lohnt, und die erste Überraschung ist, dass der SO-100 und der SO-101 nicht gleichermaßen bedient werden. TheRobotStudio's SO-ARM100 repository keeps its simulation assets under Simulation/. Der SO100-Ordner enthält eine einzelne URDF-Datei und sonst nichts. Der SO101-Ordner enthält sowohl URDF- als auch MuJoCo-Dateien: scene.xml, so101_new_calib.xml, so101_old_calib.xml, die passenden URDFs und eine joints_properties.xml. Wenn Sie ein Physikmodell anstelle einer kinematischen Kette wünschen, benötigen Sie die SO-101-Dateien.

Sie wurden mit dem onshape-to-robot Plugin aus einem in Onshape entworfenen CAD-Modell generiert, was bedeutet, dass die Kinematik und die visuellen Meshes so gut sind wie das CAD. Die Dynamik ist eine andere Geschichte, und die README des Repositories ist offen bezüglich dreier Punkte. Basis-Kollisions-Meshes wurden aufgrund problematischen Kollisionsverhaltens während der Simulation und Planung entfernt. Die STS3215-Motoreigenschaften sind vom Open Duck Mini-Projekt adaptiert und nicht an einem SO-101 gemessen. Und die LeRobot-Greiferkonvention, bei der 0 vollständig geschlossen und 100 vollständig geöffnet ist, ist explizit noch nicht in den URDF- und MuJoCo-Dateien widergespiegelt. Jeder dieser Punkte ist ein Bereich, in dem eine rein in diesem Modell trainierte Policy auf Ihrem Schreibtisch anders reagieren wird.

Die Kalibrierungskonvention, die einen Tag kostet

Es gibt zwei Nullkonventionen in den mitgelieferten MuJoCo-Dateien, und scene.xml wählt zwischen ihnen, je nachdem, welche Roboterdatei es einbindet. In so101_new_calib.xml, der Standardeinstellung, liegt das virtuelle Null jedes Gelenks in der Mitte seines Gelenkbereichs. In so101_old_calib.xml ist die Null die Konfiguration, in der der Roboter vollständig horizontal ausgefahren ist. Wenn Ihre simulierten Episoden eine Konvention verwenden und Ihre aufgezeichneten realen Episoden die andere, ist jeder Gelenkwinkel im gemischten Datensatz um zig Grad verschoben, der Verlust sinkt trotzdem, und die Policy macht etwas selbstbewusst Falsches. Überprüfen Sie die Konvention auf beiden Seiten, bevor Sie gemeinsam trainieren, und lesen Sie zuerst Kalibrierung und Verlust sinkt, Policy tut nichts.

Domänenrandomisierung und was sie nicht behebt

Die Standardantwort auf die Lücke ist, nicht mehr zu versuchen, die Realität abzugleichen, sondern stattdessen über eine ausreichend breite Verteilung zu trainieren, sodass die Realität darin enthalten ist. Tobin und Kollegen zeigten 2017 die starke Version davon: Ein Objektdetektor, der nur auf simulierten Bildern mit unrealistischen Zufallstexturen trainiert wurde, ohne jegliches Vortraining auf realen Bildern, lokalisierte reale Objekte mit einer Genauigkeit von 1,5 cm und blieb robust gegenüber Ablenkungen und teilweisen Verdeckungen.

Isaac Lab bietet die gleiche Idee wie Ereignisbegriffe, die Sie an eine Umgebungskonfiguration anhängen. Dies sind die Stellschrauben, benannt nach ihren tatsächlichen Funktionsnamen in isaaclab.envs.mdp, damit Sie sie nachlesen können, anstatt zu raten.

EreignisfunktionWas es stört
randomize_rigid_body_materialKontaktreibung und Restitution
randomize_rigid_body_mass, randomize_rigid_body_comObjekt- und Gliedermasse, Schwerpunktoffsets
randomize_actuator_gainsGelenkreglersteifigkeit und Dämpfung
randomize_joint_parameters, randomize_fixed_tendon_parametersGelenkreibung, Anker und Grenzen
randomize_visual_texture_material, randomize_visual_colorAussehen, die photometrische Hälfte der Lücke
randomize_physics_scene_gravityDer Gravitationsvektor
apply_external_force_torque, push_by_setting_velocityLaufzeitstörungen
reset_root_state_uniform, reset_joints_by_offsetAnfängliche Zustandsverteilung bei jedem Episoden-Reset

Hier ist die Grenze, und es ist die, über die Leute stolpern. Randomisierung erweitert die Verteilung, die die Policy innerhalb des von Ihnen erstellten Modells gesehen hat. Sie kann keinen physikalischen Effekt einführen, den der Simulator nicht darstellt. Wenn PhysX das Spiel und die thermische Absenkung Ihrer STS3215-Servos nicht modelliert, lehrt die Randomisierung ihrer Steifigkeit die Policy nichts über Spiel. Deshalb ist ein Arm, der unter einer im Simulator trainierten Policy kein Problem des Randomisierungsbudgets ist. Es ist ein Modellierungsproblem.

Der manuelle Pfad: Daten in Isaac Lab generieren

Isaac Gym ist veraltete Software. NVIDIAs eigene Seite trägt die Überschrift „Isaac Gym – Jetzt veraltet“ und besagt, dass Entwickler es herunterladen und weiterhin verwenden dürfen, es aber nicht mehr unterstützt wird, und verweist stattdessen auf Isaac Lab. Wenn Sie die Geschichte wissen möchten, haben wir beides behandelt: und . Für neue Arbeiten im Jahr 2026 beginnen Sie mit Isaac Lab.

  1. 1
    Isaac Sim und Isaac Lab installieren

    Die pip-Installationsseite besagt, dass die Anweisungen für Isaac Sim 5.X gelten, welches Python 3.11 erfordert. Der Quell-Klon liefert die Skripte, die für die nächsten Schritte benötigt werden.

    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
    Etwa zehn menschliche Demonstrationen aufzeichnen

    Die Isaac Lab-Dokumentation ist spezifisch: Etwa 10 erfolgreiche Demonstrationen sind erforderlich, damit die folgenden Schritte gelingen. Die Tipps sind ebenso spezifisch. Halten Sie Demonstrationen kurz, wählen Sie einen direkten Pfad, anstatt sich entlang beliebiger Achsen zu bewegen, und pausieren Sie nicht, da es für eine Policy nicht offensichtlich ist, warum und wann pausiert werden sollte.

    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
    Die Unteraufgaben-Grenzen annotieren

    Mimic teilt die Eingabedemonstrationen in Unteraufgaben auf, damit es die Segmente neu timen und neu ausrichten kann. Das --auto-Flag erledigt dies ohne menschliches Eingreifen für Aufgaben, die eine automatische Annotation definieren; ohne es pausieren Sie mit B, fahren mit N fort und markieren eine Grenze mit S. Beachten Sie, dass die Aufgaben-ID ein -Mimic-Suffix erhält.

    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
    Den multiplizierten Datensatz generieren

    Dies ist der Schritt, der 10 zu 1000 macht. Mimic wendet ein boolesches Erfolgskriterium auf jeden Kandidaten an und behält nur diejenigen, die die Aufgabe abgeschlossen haben, sodass die Ausgabezahl niedriger ist als die Anzahl der Versuche. Die Dokumentation gibt an, dass die Erfolgsrate der Kandidaten in einfachen Fällen bis zu 70 Prozent und bei schwierigen Aufgaben und komplexen Robotern unter 1 Prozent liegt: etwa 50 Prozent für den Franka-Würfelstapel und 65 bis 80 Prozent für das GR1T2 Pick-and-Place, wobei 1000 Demos 18 bis 40 Minuten dauern (19 Minuten auf einer RTX ADA 6000 bei 80 Prozent).

    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
    HDF5 in einen LeRobot-Datensatz konvertieren

    Alles oben Genannte erzeugt robomimic-flavoured HDF5, und Isaac Lab Core liefert keinen eigenen LeRobot-Konverter: Die Dokumentation besagt lediglich, dass Sie den generierten Datensatz in das LeRobot-Format konvertieren können. Zwei Projekte liefern den eigentlichen Konverter. IsaacLab-Arena liefert einen GR00T-spezifischen, der vollständig von einer YAML-Konfiguration gesteuert wird, und LeIsaac liefert sein eigenes Paar für den SO-101-Weg (siehe unten).

    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
Ihre Versionen festlegen und <code>main</code> nicht vertrauen

Am 23. August 2026 trägt die Isaac Lab-Dokumentation für main ein Isaac Sim 6.0.1-Badge und bietet release/3.0.0 und v3.0.0-beta2 in ihrem Versionswechsler neben v2.3.2 an, während die pip-Installationsseite desselben Baums immer noch isaacsim[all,extscache]==5.1.0 festlegt und die Anweisungen als für Isaac Sim 5.X beschrieben werden. Der NVIDIA synthetic-manipulation-motion-generation Blueprint-Container ist noch älter: Isaac Lab 2.0.2 auf Isaac Sim 4.5.0. LeIsaacs eigene Kompatibilitätstabelle paart Isaac Sim 5.1 mit Isaac Lab v2.3.0. Diese Bäume bewegen sich schneller, als die Dokumentation es widerspiegelt. Wählen Sie eine Version, notieren Sie sie und erwarten Sie, dass sich Skriptpfade und Flag-Namen verschoben haben, wenn Sie einem vor drei Monaten geschriebenen Tutorial folgen.

Warum Generierungsversuche fehlschlagen und was zu ändern ist

Eine Kandidaten-Erfolgsrate, die zwischen 70 Prozent und unter 1 Prozent schwankt, ist kein Geheimnis, und Isaac Lab dokumentiert die häufigsten Fallstricke, anstatt Sie raten zu lassen. Jeder einzelne davon ist etwas, das Sie zum Zeitpunkt der Aufzeichnung kontrollieren, weshalb es sich lohnt, diese Liste zu lesen, bevor Sie die zehn Seed-Demonstrationen aufzeichnen, anstatt nach dem ersten enttäuschenden Generierungslauf.

  • Demonstrationen sind zu lang. Ein längerer Zeithorizont ist für eine Policy schwieriger zu lernen. Beginnen Sie nah am ersten Objekt und minimieren Sie die Bewegung.
  • Demonstrationen sind nicht flüssig. Unregelmäßige Bewegungen sind für eine Policy schwer zu entschlüsseln, und bessere Teleoperations-Hardware liefert bessere Daten: Die Dokumentation besagt klar, dass eine SpaceMouse einer Tastatur überlegen ist.
  • Pausen. Pausen sind schwer zu lernen, da es für eine Policy nicht offensichtlich ist, warum und wann pausiert werden soll. Halten Sie die Bewegung flüssig.
  • Zu viele Unteraufgaben. Mehr Unteraufgaben bedeuten mehr Verknüpfungen zwischen Trajektoriensegmenten, was zu weniger flüssiger Bewegung und einer geringeren Generierungs-Erfolgsrate führt. Annotieren Sie Grenzen, an denen der Arm unwahrscheinlich mit etwas kollidiert.
  • Kein Aktionsrauschen. Aktionsrauschen macht die resultierenden Policies robuster.
  • Aufnahme zu knapp beschnitten. Wenn die Aufnahme genau in dem Frame stoppt, in dem der Erfolgsterm ausgelöst wird, wird er bei der Wiedergabe möglicherweise nicht erneut ausgelöst. Lassen Sie am Ende einen Puffer.
  • Nicht-deterministische Wiedergabe. Die Physik in Isaac Lab ist über env.reset hinweg nicht deterministisch reproduzierbar, daher schlagen einige menschliche Demos bei der Wiedergabe fehl. Sammeln Sie mehr, als Sie benötigen, und behalten Sie diejenigen, die die Annotation überleben. Alles, was in einer von Mimic generierten HDF5-Datei landet, ist eine erfolgreiche Demo und kann zum Training verwendet werden, selbst wenn die Wiedergabe später fehlschlägt.

Der Interpolationsschritt zwischen verknüpften Unteraufgaben-Segmenten hat seinen eigenen Einstellknopf, und die Anzahl der benötigten Interpolationsschritte skaliert mit der Geschwindigkeit, mit der sich der Roboter bewegt, und der Breite der Objekt-Reset-Verteilung. Eine komplexe Aufgabe mit einer großen Reset-Verteilung hinterlässt größere Lücken zwischen den Segmenten, was mehr Interpolationsschritte erfordert, um eine kontinuierliche Bewegung zu erzielen. Wenn Ihre generierten Videos zeigen, wie der Arm zwischen den Phasen ruckelt, ist dies der Parameter, den Sie überprüfen sollten, bevor Sie die Seed-Demos verantwortlich machen.

Die gleiche Pipeline auf einem SO-101, mit dem echten Leader-Arm

Dies ist der interessante Punkt für jeden, der diese Seite liest, denn es ist die einzige offene Pipeline, die einen in Isaac Lab integriert und es Ihnen ermöglicht, ihn mit dem physischen Leader-Arm zu steuern, den Sie bereits besitzen. LeIsaac, Version 0.4.0 zum Zeitpunkt des Schreibens, ist der offizielle Simulationsspielplatz für Imitationslernen, der in LeRobots EnvHub integriert ist. Seine Kompatibilitätstabelle listet drei funktionierende Kombinationen auf; die neueste kombiniert Isaac Sim 5.1 mit Isaac Lab v2.3.0, CUDA 12.8, PyTorch 2.7.0 und Python 3.11, und die Dokumentation empfiehlt Isaac Sim 5.0 oder neuer für 50er-Serienkarten.

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 aus dem Quellcode. Die Numpy-Fixierung ist in den offiziellen Anweisungen enthalten, kein Workaround.

Sobald dies eingerichtet ist, steuert der Leader-Arm an /dev/ttyACM0 den simulierten Follower und zeichnet direkt in HDF5 auf. Die Schleife ist dieselbe, die Sie bereits von der realen Aufzeichnung kennen, nur dass der Follower ein starrer Körper in PhysX ist.

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
Environment IDAufgabenbeschreibungRoboter
LeIsaac-SO101-PickOrange-v0Nimm drei Orangen und lege sie auf den Teller, dann bringe den Arm in die Ruhestellung zurück.Einarmiger SO101-Follower
LeIsaac-SO101-LiftCube-v0Hebe den roten Würfel hoch.Einarmiger SO101-Follower
LeIsaac-SO101-CleanToyTable-v0Nimm zwei Objekte mit dem Buchstaben 'e' und lege sie in die Box, dann bringe den Arm in die Ruhestellung zurück.Einarmiger SO101-Follower
LeIsaac-SO101-CleanToyTable-BiArm-v0Die gleiche Aufgabe mit zwei Armen.Zweiarmiger SO101-Follower
LeIsaac-SO101-FoldCloth-BiArm-v0Falte das Tuch, dann bringe den Arm in die Ruhestellung zurück. Nur die DirectEnv-Variante unterstützt check_success.Zweiarmiger SO101-Follower
LeIsaac-LeKiwi-CleanupTrash-v0Hebe Papiermüll vom Boden auf und wirf ihn in den Mülleimer.LeKiwi

Die meisten dieser IDs existieren auch als -Direct-v0-Variante, und python scripts/environments/list_envs.py gibt die aktuelle Liste aus. Sie können den HDF5-Umweg auch ganz überspringen und das LeRobot-Format während der Teleoperation schreiben, indem Sie drei Flags hinzufügen. Zwei Vorbehalte ergeben sich aus der Dokumentation selbst: Der Recorder überspringt automatisch die ersten 5 Frames jeder Episode, um Instabilität durch Anfangszustände zu vermeiden, und er kann leichte Verzögerungen bei der Teleoperation verursachen, was genau die Art von Sache ist, die den Charakter Ihrer Demonstrationen leise verändert. Er speichert auch nur Episoden, die die Aufgabe als erfolgreich markiert hat.

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

Der Multiplikationsschritt läuft dann auf diesen Aufzeichnungen. LeIsaac kapselt Isaac Lab Mimic in vier Befehle, da Mimic Trajektorien aus Endeffektor- und Objektposen verallgemeinert: Konvertieren der Gelenkraum-Aktionen in IK-basierte Aktionen, Annotieren, Generieren und dann Zurückkonvertieren in den Gelenkraum.

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

Konvertieren Sie dann zu LeRobot. Dies ist der Schritt, bei dem die Formatregel der Plattform zum Tragen kommt, und LeIsaac liefert zufällig genau die beiden Konverter, die Sie benötigen: isaaclab2lerobot.py schreibt LeRobot v2, was von den GR00T-Ladern verwendet wird, und isaaclab2lerobotv3.py schreibt v3 für Pi0.5, SmolVLA und ACT. Die beiden Skripte akzeptieren identische Argumente, verwenden aber unterschiedliche LeRobot-Versionen, und nur erfolgreiche Episoden werden konvertiert.

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-Ausgabe für GR00T. Tauschen Sie isaaclab2lerobotv3.py mit LeRobot 0.4.2 für die v3-Trainer ein.
Es gibt einen Ausweg ohne GPU

LeIsaac dokumentiert das Ausführen des gesamten Stacks auf NVIDIA Brev: Bereitstellen, klicken Sie auf den Port-80-Link, um einen browserbasierten VS Code Server zu öffnen, und steuern Sie die vier vorinstallierten Szenarien mit --kit_args="--no-window --enable omni.kit.livestream.webrtc". Die Renderansicht erhalten Sie unter derselben Adresse mit angehängtem /viewer. Wenn Sie keine Workstation-Karte unter Ihrem Schreibtisch haben, ist dies eine günstigere Möglichkeit herauszufinden, ob die simulierte Version Ihrer Aufgabe überhaupt annähernd passt, bevor Sie Hardware dafür einsetzen.

Zwei Wege zu einer trainierten Policy

Sie bauen die Szene, generieren die Daten, mieten die GPU und richten das Serving selbst ein. Dies ist die richtige Wahl, wenn die Aufgabe Umgebungsabweichungen erfordert, die Sie physisch nicht inszenieren können, oder wenn Sie eine wiederholbare Evaluierung wünschen.

  1. Installieren Sie Isaac Sim 5.1 und Isaac Lab, oder den LeIsaac-Stack, wenn Ihr Roboter ein SO-101 ist.
  2. Modellieren oder importieren Sie die Szene. Dies ist der Schritt, für den niemand budgetiert und der meist der längste ist.
  3. Zeichnen Sie etwa 10 saubere Demonstrationen über den simulierten Follower auf.
  4. Annotieren Sie Unteraufgaben, führen Sie generate_dataset.py aus und akzeptieren Sie, dass die Fehler verworfen werden.
  5. Konvertieren Sie HDF5 in das LeRobot-Format, wählen Sie v2 für GR00T und v3 für die anderen.
  6. Zeichnen Sie trotzdem reale Episoden mit dem physischen Arm auf und trainieren Sie dann gemeinsam mit der Mischung.
  7. Mieten Sie eine GPU, führen Sie das Fine-Tuning aus, stellen Sie den Checkpoint neben dem Arm bereit.
RessourceWas die Quellen angeben
Lokale Simulations-GPUDer NVIDIA Synthetic-Manipulation-Blueprint erfordert Ubuntu 22.04 und eine NVIDIA RTX A6000 mit 48 GB VRAM
Weltmodell-KnotenDerselbe Blueprint erfordert eine H100 oder höher mit 80 GB, auf einem Knoten, der von der Isaac Lab Simulation getrennt ist
Container-VersionenIsaac Lab 2.0.2 auf Isaac Sim 4.5.0 innerhalb dieses Blueprint-Images
GenerierungsdurchsatzIsaac Lab meldet 1000 GR1T2 Pick-and-Place-Demos in 18 bis 40 Minuten, 19 Minuten auf einer RTX ADA 6000 bei 80 Prozent Erfolg
Kosten für neuronale TrajektorienGR00T N1 meldet etwa 105.000 L40 GPU-Stunden, ungefähr 1,5 Tage auf 3.600 L40s, für seine 827 Stunden Träume
Die wahren Kosten sind Kalenderzeit, nicht GPU-Zeit

1000 Trajektorien zu generieren ist eine Nachmittagsaufgabe. Wochen vergehen damit, Ihre Szene, Ihre Kamera-Extrinsics, Ihre Objekt-Meshes und Ihr Servomodell so nah zu bekommen, dass diese Trajektorien übertragen werden. Budgetieren Sie für die Modellierung, nicht für die Stichprobenentnahme.

Video-Weltmodelle: die neueste Schicht und die am wenigsten gemessene

Die Idee hinter DreamGen ist, dass ein generatives Videomodell, angepasst an die Zielroboter-Embodiment, plausible Episoden in Szenen imaginieren kann, die Sie nie besucht haben. Die Pipeline hat vier Stufen: Feinabstimmung des Video-Weltmodells, Generierung fotorealistischer synthetischer Robotervideos, Wiederherstellung von Pseudo-Aktionssequenzen mit einem latenten Aktionsmodell oder einem inversen Dynamikmodell, und dann Training der Roboter-Policy auf dem Ergebnis. NVIDIAs GR00T-dreams Repository implementiert genau das.

Das Hauptergebnis ist real und ernst zu nehmen: Teleoperationsdaten aus nur einer Pick-and-Place-Aufgabe in einer Umgebung führten zu 22 neuen Verhaltensweisen bei einem Humanoiden, sowohl in bekannten als auch in unbekannten Umgebungen. Der Vorbehalt ist ebenso real und liegt in der dritten Phase.

Video-Weltmodelle als Datenquelle
Vorteile
  • Sie skalieren entlang der Achse, die in der realen Welt wirklich teuer ist: neue Szenen, neue Objektanordnungen, neue Formulierungen der Anweisung.
  • GR00T-dreams listet vier unterstützte Ausführungsformen für seine Skripte zur Aktions-Extraktion und Feinabstimmung auf: franka, gr1, robocasa und so100. Dies ist keine rein humanoide Technik.
  • Cosmos-Transfer1 greift die photometrische Hälfte der Lücke direkt an, indem es ein synthetisches Robotik-Beispiel auf mehrere realistische Beispiele aus Segmentierung, Tiefen- oder Kantenkonditionierung abbildet. Isaac Lab selbst liefert dafür Prompt-Tools unter scripts/tools/cosmos.
  • Die DreamGen-Arbeit liefert DreamGen Bench, einen Video-Generierungs-Benchmark, der eine starke Korrelation zwischen Benchmark-Leistung und nachgelagertem Policy-Erfolg zeigt, sodass Sie Generierungen vor dem Training überprüfen können.
Kompromisse
  • Aktionen werden von einem Modell wiederhergestellt, nicht von einem Encoder gemessen. Ein Video, das richtig aussieht, kann eine Gelenktrajektorie enthalten, die Ihr Arm nicht ausführen kann.
  • Die Generierung ist teuer. GR00T N1 meldet zwei Minuten zur Generierung einer Sekunde Video auf einer L40, etwa 105.000 L40 GPU-Stunden, etwa 1,5 Tage auf 3.600 L40 GPUs, für seine 827 Stunden neuronaler Trajektorien.
  • Der gemessene Gewinn liegt im einstelligen Bereich: 4,2, 8,8 und 6,8 Punkte auf RoboCasa über die drei Datenregime hinweg und durchschnittlich 5,8 Punkte über 8 reale GR-1-Aufgaben, zusätzlich zu einem Modell, das bereits die realen Daten hatte.
  • Kein veröffentlichtes Rezept validiert dies für einen 7,4 V Hobby-Servoarm Ende-zu-Ende. Sie würden portieren, nicht folgen.
Niemals 12 V an einen STS3215 anlegen

Unabhängig von der Simulation, aber es taucht immer wieder auf, wenn jemand von einem simulierten Arm zu einem echten wechselt und eine Stromversorgung improvisiert. Der SO-100, der SO-101 und der LeKiwi-Arm verwenden alle Feetech STS3215 Servos mit 7,4 V. Das Anlegen von 12 V zerstört sie, und der LeKiwi ist eine besondere Falle, da seine Basisschiene 12 V beträgt. Siehe die SO-100 Hardware-Seite, bevor Sie etwas verdrahten.

Co-Training ist das Rezept, das tatsächlich Gewinne zeigt

Wenn Sie eine operative Lektion aus der Literatur mitnehmen, dann diese. Die Sim-und-Real-Co-Training-Studie (Maddukuri und Kollegen, 2025) hatte zum Ziel, ein einfaches Rezept für die Verwendung von Simulationsdaten zur Lösung von bildbasierten Roboter-Manipulationsaufgaben in zwei Domänen – einem Roboterarm und einem Humanoiden – zu finden, und ihre Schlussfolgerung ist, dass man mit einer Mischung trainiert. Simulationsdaten verbesserten die reale Aufgabenleistung um durchschnittlich 38 Prozent, und das Papier macht deutlich, dass dies auch bei bemerkenswerten Unterschieden zwischen den Simulations- und den realen Daten galt.

Dieser letzte Satz ist wichtiger als die 38 Prozent. Er bedeutet, dass die Simulation kein perfekter digitaler Zwilling sein muss, um nützlich zu sein, vorausgesetzt, die realen Daten sind in der Mischung enthalten, um sie zu verankern. Der reine Sim-Transfer ist der teure Weg: Dasselbe Papier besagt, dass das Training einer Policy ausschließlich in der Simulation und deren Übertragung in die reale Welt oft erheblichen menschlichen Aufwand erfordert, um die Realitätslücke zu überbrücken. Co-Training überspringt den größten Teil dieses Aufwands, indem es die Policy nie auffordert, die Lücke eigenständig zu schließen.

Die AY-Robots Policy-Vergleichstabelle zeigt Parameter, GPU-Tier, Inferenzlatenz und minimale Episoden für GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA und ACT.
Die fünf trainierbaren Policies unter /policies. Die Spalte 'Minimum-Episoden' ist die Zahl, die entscheidet, ob synthetische Daten ein 'Nice-to-have' sind oder der einzige Weg, um einen trainierbaren Datensatz zu erhalten.

Praktisch bedeutet Co-Training auf dieser Plattform eines: Legen Sie beide Sätze von Episoden in denselben LeRobot Datensatz mit konsistenten Kamerakeys, konsistenter Gelenkreihenfolge und konsistenten Einheiten, und führen Sie dann ein normales Fine-Tuning. Es gibt keinen Mischgewichtsregler im Trainingsformular. Wenn Sie ein Sim-zu-Real-Verhältnis von 3:1 wünschen, drücken Sie dies durch die Anzahl der Episoden aus, die Sie von jeder Art in den Datensatz aufnehmen.

Der günstigste Gewinn aus der Simulation sind nicht Trainingsdaten

Es ist die Evaluierung. Dutzende von realen Versuchen pro Aufgabe durchzuführen, um zwei bedeutet einen Tag Armzeit, und der Arm driftet zwischen den Versuchen. SIMPLER (Li und Kollegen, 2024) entwickelte simulierte Umgebungen, deren Zweck es ist, reale Policies zu bewerten, anstatt sie zu trainieren, und maß dann, wie gut das Sim-Ranking das reale vorhersagt. Eine einzelne SIMPLER-Umgebung rendert mit 3.500 Simulationsschritten pro Sekunde auf einer Consumer RTX 4090 bei einer Auflösung von 640 mal 512, was bei einer Simulationsfrequenz von 500 Hz eine 7-fache Beschleunigung gegenüber der realen Evaluierung darstellt.

EvaluierungsprotokollMMRV (niedriger ist besser)Pearson r (höher ist besser)
Validation MSE0.3750.308
SIMPLER, variant aggregation0.1430.778
SIMPLER, visual matching0.0560.924

Dies sind Durchschnittswerte über drei Google Robot Aufgabengruppen für sechs gängige Open-Source-Checkpoints: drei RT-1 Checkpoints in verschiedenen Trainingsphasen, RT-1-X, RT-2-X und Octo-Base. Die reale Seite hat keine einheitliche Versuchszahl, was man wissen sollte, bevor man sie zitiert: 75 Versuche für das Aufheben einer Coladose, 60 für das Bewegen in die Nähe, 54 für die Aufgaben zum Öffnen und Schließen von Schubladen und 27 für die längere Schubladen-und-Apfel-Aufgabe. Der Vergleich mit dem Validierungs-MSE ist der nützliche Teil. Die Modellauswahl durch Validierungsverlust bewertet diese Checkpoints schlecht, und ein Pearson r von 0,924 unter visueller Übereinstimmung bedeutet, dass, wenn ein Checkpoint in SIMPLER besser abschneidet, er sehr wahrscheinlich auch auf dem Prüfstand besser abschneidet. Das ist eine wiederholbare Übernacht-Anzeigetafel, und es erfordert nicht, dass Sie an irgendetwas bezüglich des Sim-to-Real-Trainingstransfers glauben.

Die AY-Robots Arena-Bestenliste, eine sortierbare Tabelle von 85 Vision-Language-Action-Modellen mit 332 Benchmark-Ergebnissen, wobei jeder Wert mit dem Quellpapier oder der Modellkarte verknüpft ist.
Die Arena unter /arena sammelt 332 Benchmark-Ergebnisse von 85 Modellen. Fast alle davon sind simulierte Benchmarks, was genau der Punkt des SIMPLER-Arguments ist: Simulation ist ein gutes Scoreboard, lange bevor sie eine gute Datenquelle ist.

Wenn Sie den breiteren Kontext darüber erfahren möchten, was diese Benchmark-Zahlen Ihnen über ein , haben wir das separat in .

Wo diese Plattform Ihnen nicht hilft

Klarheit über die Grenzen spart allen Zeit. AY-Robots ist eine Plattform zum Aufzeichnen, Trainieren und Bereitstellen. Sie enthält keinen Simulator.

  • Kein Isaac Lab, kein MimicGen, kein Weltmodell, keine Szenenerstellung. Wenn Sie generierte Daten wünschen, generieren Sie diese an anderer Stelle und bringen das Ergebnis mit.
  • Die Trainer verbrauchen ausschließlich LeRobot-Datensätze. Ein Simulator-Export muss konvertiert werden, bevor er als Eingabe dient, und er muss die richtige Version haben: v2.0 oder v2.1 für GR00T N1.5 und N1.7, v3.0 für Pi0.5, SmolVLA und ACT.
  • Der Fine-Tuning-Einstiegspunkt von GR00T ist eine tyro CLI, die keinen Seed offenlegt, sodass GR00T-Läufe nicht bit-für-bit reproduzierbar sind. Wenn Sie eine sorgfältige Sim-versus-Real-Ablation durchführen, ist dies eine echte Einschränkung. Der Standard-Seed von lerobot selbst ist 1000, und die ACT-, SmolVLA- und Pi0.5-Formen legen ein Seed-Feld offen.
  • Gradientenakkumulation wird tatsächlich nur für die beiden GR00T-Trainer angewendet. Für Pi0.5 und SmolVLA existiert das Feld im Formular, aber lerobot 0.5.1 hat kein solches Flag, daher bewirkt es nichts.
  • Inferenz muss für schnelle Aufgaben neben den Servos sitzen. Die Regelschleife beträgt je nach Modell 20 bis 485 ms pro Aktionsschritt, und das Hinzufügen von Roundtrips über das öffentliche Internet verwandelt eine funktionierende Richtlinie in eine zögerliche. Remote-Inferenz ist für langsames Pick-and-Place praktikabel, nicht für schnelle reaktive Bewegungen.
Was Sie hier tun können, das anderswo wirklich schwierig ist

Nehmen Sie die reale Hälfte einer Co-Training-Mischung auf, ohne einen Arm zu besitzen. /live streamt einen physischen SO-100 ohne Anmeldung, warteschlangenbasiert, und das Operator-Programm existiert, weil jemand sie steuern muss. Wenn Ihr Engpass darin besteht, dass Sie einen Simulator und keine realen Episoden haben, ist dies die Lücke, die diese Plattform schließt.

Ein Budget, das Sie verteidigen können

Stellen Sie die beiden Pfade nebeneinander mit den Zahlen, die jeder tatsächlich veröffentlicht, und die Entscheidung trifft sich in der Regel von selbst für ein Einzelaufgabenprojekt an einem kostengünstigen Arm.

PositionSimulation zuerstAufnahme zuerst
Vorab-ModellierungSzene, Meshes, Kameraplatzierung, Servomodell. Tage bis WochenKeine
DatenerfassungEtwa 10 Demos in der Simulation, dann Generierung30 bis 50 reale Episoden, einige Stunden Teleoperation
Benötigte Hardware48 GB Karte für den Isaac Lab Blueprint, 80 GB für die Cosmos-BühneEin Arm und ein Laptop
TrainingskostenGleich wie die rechte Spalte, dem Trainer ist es egal, woher die Daten stammen1 bis 3 USD auf der 4090-Stufe, 4 bis 12 USD auf der A100- oder H100-Stufe
Bester Nachweis des Nutzens38 Prozent durchschnittlicher realer Gewinn bei Co-Training, 4 bis 9 Punkte aus neuronalen TrajektorienDie Basislinie, an der alles oben Genannte gemessen wird
Fehler tritt auf, wennIhre Aufgabe von Kontakt, verformbaren Objekten oder Servokonformität abhängtSie Umgebungsabweichungen benötigen, die Sie physisch nicht inszenieren können

Für eine erste Policy auf einem SO-100, aufnehmen. Die und der bringen Sie zu einem bereitgestellten Checkpoint zum Preis eines Kaffees, und Sie werden die reale Hälfte jeder zukünftigen Co-Trainingsmischung haben. Greifen Sie zum Simulator, wenn Sie eine funktionierende Basislinie und einen spezifischen Generalisierungsfehler benennen können, wie z.B. eine Policy, die .

Noch kein Arm auf Ihrem Schreibtisch?

Steuern Sie einen echten SO-100 im Browser, warteschlangenbasiert, ohne Anmeldung, und sehen Sie, wie eine echte Episode tatsächlich aussieht, bevor Sie ein Wochenende damit verbringen, eine in einem Simulator zu modellieren.

Einen echten Arm steuern

Ein Rezept, das die Beweise respektiert

  1. 1
    Zuerst die reale Baseline aufzeichnen

    30 Episoden für SmolVLA, 50 für ACT, GR00T N1.7 und Pi0.5. Einmal trainieren. Woran diese Policy scheitert, ist Ihre Spezifikation für die synthetischen Daten.

  2. 2
    Benennen Sie den Generalisierungsfehler

    Objektpose? Beleuchtung? Tischhöhe? Ablenkungen? Eine andere Formulierung der Anweisung? Synthetische Daten sind jeweils nur in genau einem dieser Punkte gut und nutzlos, wenn Sie nicht sagen können, in welchem.

  3. 3
    Wählen Sie die günstigste Familie, die es abdeckt

    Variationen von Pose und Layout: Trajektorienmultiplikation. Beleuchtung und Textur: zuerst Bildaugmentation, dann Weltmodell. Ganz neue Szenen: Physik-Rollouts, und die Modellierungskosten akzeptieren.

  4. 4
    Generieren, dann aggressiv verwerfen

    Generierungsversuche schlagen fehl, und die eigene Kandidaten-Erfolgsrate von Isaac Lab reicht je nach Aufgabe von 70 Prozent bis unter 1 Prozent. Behalten Sie nur erfolgreiche, aufgabenabschließende Trajektorien und prüfen Sie eine Stichprobe als Video, bevor Sie dem Batch vertrauen.

    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
    Co-trainieren, nicht ersetzen

    Führen Sie die generierten Episoden mit den realen zu einem einzigen LeRobot-Datensatz mit identischen Kamerakeys und Gelenkreihenfolge zusammen. Die 38-Prozent-Angabe ist eine Co-Training-Zahl.

  6. 6
    Auf dem realen Arm evaluieren, und nur dort

    Simulierte Evaluation ist ein gutes Ranking-Signal (Pearson r 0.924 in SIMPLERs visueller Matching-Konfiguration), aber kein Akzeptanztest. Führen Sie den Checkpoint auf dem Prüfstand aus, bevor Sie ihm vertrauen.

Wenn Sie lieber mit einer Checkliste für die realen Aufnahmen selbst beginnen möchten, deckt der Leitfaden zur Datenerfassung die Kameraplatzierung, die Auswirkungen von Action Chunking und die Fehlermodi ab, die einen Imitationslern-Datensatz unbrauchbar machen. Details zum Format selbst finden Sie in den Datensatz-Dokumenten, und die Hyperparameter-Seite in den Trainings-Dokumenten.

Kann ich eine Roboter-Policy vollständig mit synthetischen Daten trainieren?

Für eine Manipulationsaufgabe an einem realen Arm nicht zuverlässig. Jedes veröffentlichte Ergebnis mit einer starken Zahl ist ein Co-Training-Ergebnis oder ein Augmentations-auf-realen-Daten-Ergebnis. MimicGens eigener Vergleich setzt 200 generierte Demos bei 79 Prozent gegenüber 84 Prozent für 200 menschliche Demos bei derselben Aufgabe, und das 2025er Sim-und-Real-Co-Training-Paper besagt, dass das Training ausschließlich in der Simulation und die Übertragung oft erheblichen menschlichen Aufwand erfordert, um die Realitätslücke zu überbrücken. RoboCasa zeigt zwar, dass generierte Daten menschliche Daten mit 47.6 gegenüber 28.8 Prozent übertreffen, aber nur mit 72.000 generierten Demos gegenüber 1.250 menschlichen, innerhalb des Simulators, der beide erzeugt hat.

Wie viele reale Episoden benötige ich noch, wenn ich synthetische generiere?

Auf AY-Robots benötigen die Trainer mindestens 30 Episoden für SmolVLA und 50 für ACT, GR00T N1.5, GR00T N1.7 und Pi0.5, unabhängig davon, woher die Episoden stammen. Die Mimic-Dokumentation von Isaac Lab besagt, dass etwa 10 erfolgreiche menschliche Demonstrationen als Startpunkt für die Generierung erforderlich sind. Das sind unterschiedliche Zahlen, die unterschiedliche Fragen beantworten: 10 ist das, was der Generator benötigt, 30 bis 50 ist das, was der Trainer benötigt.

Müssen simulierte Daten im LeRobot-Format vorliegen?

Um auf dieser Plattform zu trainieren, ja. Isaac Lab und LeIsaac produzieren beide robomimic-ähnliche HDF5-Dateien. Isaac Lab Core liefert keinen LeRobot-Konverter, aber LeIsaac liefert isaaclab2lerobot.py für LeRobot v2 und isaaclab2lerobotv3.py für v3, und IsaacLab-Arena liefert ein auf GR00T zugeschnittenes convert_hdf5_to_lerobot.py, das von einer YAML-Konfiguration gesteuert wird. Achten Sie auf die Version: GR00T N1.5 und N1.7 verwenden LeRobot v2.0 oder v2.1, während Pi0.5, SmolVLA und ACT v3.0 verwenden. Ein v3.0-Datensatz lässt den GR00T-Loader abstürzen und muss auf v2.1 herunterkonvertiert werden.

Ist Isaac Gym im Jahr 2026 noch das Richtige zum Lernen?

Nein. NVIDIAs eigene Produktseite ist mit „Isaac Gym – Jetzt veraltet“ überschrieben und besagt, dass es sich um Legacy-Software handelt, die Entwickler herunterladen und weiterhin verwenden dürfen, die aber nicht mehr unterstützt wird, und verweist auf Isaac Lab als Ersatz. Isaac Lab liefert Migrationsleitfäden von IsaacGymEnvs, von OmniIsaacGymEnvs und von Orbit, sodass eine bestehende Umgebung portierbar und nicht verloren ist.

Kann ich einen SO-100 oder SO-101 in Isaac Lab verwenden?

Den SO-101, ja, ordnungsgemäß. Das TheRobotStudio-Repository liefert sowohl URDF- als auch MJCF-Dateien für den SO-101, generiert mit onshape-to-robot aus dem Onshape CAD-Modell, und LeIsaac bietet vorgefertigte Isaac Lab-Aufgaben wie LeIsaac-SO101-PickOrange-v0 mit Teleoperation vom physischen SO101-Führungsarm. Für den SO-100 liefert dasselbe Repository nur eine einzelne URDF und kein MuJoCo-Modell. Beachten Sie die Einschränkungen, die das SO-101 README in jedem Fall angibt: Basis-Kollisionsnetze wurden aufgrund problematischer Kollisionsverhalten entfernt, die STS3215-Motoreigenschaften wurden vom Open Duck Mini-Projekt übernommen und nicht an einem SO-101 identifiziert, und die Konvention 0-geschlossen bis 100-offen für den Greifer ist noch nicht in den Modelldateien abgebildet.

Führt die Plattform Simulationen für mich aus?

Nein. AY-Robots zeichnet LeRobot-Datensätze von realer Teleoperation auf, feintunt die fünf unterstützten Policies auf gemieteten GPUs und liefert den resultierenden Checkpoint an den Arm zurück. Es gibt keinen Simulator, keine synthetische Datengenerierung und keine Szenenerstellung darin. Wenn Sie Daten an anderer Stelle generieren und in einen gültigen LeRobot-Datensatz konvertieren, werden die Trainer diese genau wie reale Aufnahmen akzeptieren.

Quellen

Bereit für hochwertige Robotik-Daten?

AY-Robots verbindet Ihre Roboter mit qualifizierten Operatoren weltweit.

Jetzt starten