Zurück zu Blog

Sim-to-Real-Transfer: Ein Handbuch für die Praxis für 2026

7 Kampf-testete Sim-to-Real-Tipps von Praktikern: Domänen-Randomisierung, Systemidentifizierung, Tiefe über RGB, Hybridtraining, Simulator-Auswahl und wann man Sim komplett überspringt.

[← Blog] T14)

Die meisten Sim-to-Real-Fehler sind vermeidbar. Dieser Leitfaden distillt die Praktiken, die Teams, die erfolgreich Richtlinien von der Simulation auf echte Hardware übertragen, gemeinsam haben - und die Fehler, die alle anderen zum Scheitern verursachen.

Die Realität der Lücke zwischen Sim und Real

Simulation verspricht unbegrenzte Daten, null Hardware-Verlust, parallelisiertes Training und perfekte Reproduzierbarkeit. In der Praxis ist jede Simulation eine Annäherung, und die Lücke zwischen dieser Annäherung und der Realität ist, wo die Politik zu sterben geht. Rendered-Bilder sehen für Menschen überzeugend aus, aktivieren aber Neuralnetzfunktionsdetektoren anders als echte Kamerabilder. Sensorgeräusche, Kabelsteifigkeit, Tischvibration - Dutzende kleiner Effekte, die Simulation ignoriert oder vereinfacht, verknüpfen sich in eine Lücke, die unbehandelte Politiken nicht überwinden können.

Aber die Lücke ist nicht gleichmäßig. Manche Aufgaben übertragen sich leicht, andere sind mit aktuellen Methoden fast unmöglich. Das Verständnis, wo Ihre Aufgabe in dieses Spektrum fällt - und die Anwendung der richtigen Techniken für Ihre spezifische Lücke - ist das, was Teams, die erfolgreich sim-trained-Politiken einsetzen, von Teams trennt, die Monate in Simulationen verbringen, nur um auf echtem Hardware zu versagen. Für die Vorgeschichte der theoretischen Grundlagen siehe unseren Begleitartikel über [sim-to-real-transfer-theorie]T15).

Was gut und was nicht überträgt

Gute Übertragung: Bewegung auf flachem und moderat rauen Gelände, Grundobjektgreifen mit parallelen Kiefergriffen, Navigation und Hindernisvermeidung und Bewegungen im freien Raum. Diese Aufgaben hängen von einer Dynamik ab, die Modelle genau simuliert (starr Körpermechanik, Grundreiz) und visuellen Merkmalen, die vernünftig übertragen (Objektformen, Arbeitsraumgeometrie).

** Übertragung mit Anstrengung:** Auswahl und Platzierung starrer Objekte, Schieben- und Schiebenmanipulation, Tür- und Schubladeöffnung und einfache Montage mit großzügigen Toleranzen. Diese Aufgaben beinhalten eine Kontaktdynamik, die sich in der Simulation annähernd anfügt, aber nicht perfekt passt.

Bei der Übertragung ist (noch) nicht gut: Kontaktreiche Manipulation von verformbaren Objekten (Toknis Falten, Kabelleitung), präzise Montage mit Submillimeter-Toleranzen (Verbindungspaarung, Schnellverfügung) und Aufgaben mit granularen Materialien, Flüssigkeiten oder weichen Körpern. Die Physik dieser Interaktionen ist entweder zu komplex, um sie genau zu simulieren, oder zu empfindlich für Parameterfehler für die Domänenrandomisierung, um die Lücke zu überbrücken.

Tipp 1: Systematische Domänenrandomisierung

Die Domänenrandomisierung ist die am weitesten validierte Technik für den Sim-to-Real-Transfer, aber "alles zufällig zu machen" ist keine Strategie. Beginnen Sie mit der Identifizierung Ihrer Fehlermodi auf der echten Hardware (auch 5-10 echte Tests geben ein nützliches Signal), und dann randomisieren Sie die Simulationsparameter, die diese Fehler am wahrscheinlichsten verursachen.

Für visuelle Richtlinien umfassen wirksame Randomisierungsbereiche: Kamerapositionverschiebung von plus oder minus 10 cm von nominal, Ansichtswinkelvariation von plus oder minus 10 Grad, Helligkeitsvariation von plus oder minus 30%, Farbverschiebung von plus oder minus 20%, Sättigungsvariation von plus oder minus 15%, Gauss-Verschmutzung mit Sigma 0-2 Pixel und zufällige rechteckige Occlusionen, die 5-20% des Bildes abdecken. Diese Bandbreiten lassen die simulierten Bilder unrealistisch abwechslungsreich aussehen - aber genau das ist der Punkt. Die Politik lernt Merkmale, die bei all diesen Variationen unveränderlich sind, was bedeutet, dass sie auch die visuellen Unterschiede zwischen der Simulation und Ihrer eigentlichen Kamera in der realen Welt behandelt.

Für physikalische Parameter priorisieren Sie: Kontakt-Friction-Koeffizienten (zu randomisieren um plus oder minus 50%), Objektmasse (plus oder minus 30%), Gelenkschwächung (plus oder minus 20%) und Aktoren-Latenz (zu hinzufügen 0-20 ms zufällig Verzögerung).

Tipp 2: Verwenden Sie Real-to-Sim-Kalibrierung

Standard-Simulationsparameter - Gelenkstiftheit, Dämpfung, Reibung, Trägheitstensoren - unterscheiden sich oft um 10 bis 50% von Ihrem echten Roboter. Vor dem Training verbringen Sie 2-4 Stunden damit, die Systemidentifizierung zu erledigen: Bewegen Sie jedes Gelenk durch seine Reichweite und messen Sie die tatsächliche Drehmoment-Positions-Geschwindigkeits-Beziehung. Verwenden Sie diese gemessenen Werte als Zentrum Ihrer Domänen-Randomisierungsverteilung. Dieser Schritt allein reduziert den Sim-to-Real-Fehler häufig um 30-50% bei Kontaktarbeiten.

Kalibrieren Sie auch Ihr Kamera-Modell. Messen Sie die tatsächlichen intrinsischen Parameter (Fokaltength, Hauptpunkt, Verzerrungskoeffizienten) und extrinsischen Parameter (Position und Orientierung im Vergleich zur Roboterbasis) Ihrer echten Kameras und stellen Sie Ihre Simulationskameras an. Die visuellen Richtlinien sind überraschend empfindlich auf die Abweichungen der Kameraparameter. Ein Fehler von 5% in der Brennweite kann zu einem Rückgang der Anhaltsgenauigkeit von 10-15% führen.

Tipp 3: Tiefe bevorzugen Sie RGB für die visuelle Eingabe

Die fotorealistische RGB-Rendering in der Simulation entspricht dennoch nicht den realen Kameras, um bei vielen Aufgaben direkt mit Null-Shoot-Übertragung zu arbeiten. Lichtmodelle, Material-Shaders und Schattenalgorithmen produzieren Bilder, die dem Menschen ähnlich aussehen, aber sich in der Art unterscheiden, auf die die Neuralnetzfunktionsdetektoren empfindlich sind. Tiefenbilder haben eine viel kleinere Sim-Real-Lücken, weil Tiefe eine direkte Darstellung der Geometrie ist, und Simulation stellt Geometrie genau dar.

Teams, die Tiefe als primäre visuelle Eingabe verwenden (mit RGB als sekundärer Kanal für semantische Informationen), berichten konsequent über eine Verbesserung von 20-40% im Zero-Shot-Sim-to-Real-Transfer bei Grappingaufgaben. Wenn es Farbinformationen erfordert (Objekte nach Farbe sortieren, zum Beispiel), verwenden Sie einen RGB-Kanal, aber wenden Sie aggressive visuelle Domänen-Randomisierung an.

Tipp 4: Nutze vorzügliche Informationen beim Training

Die privilegierte Informationstechnik - manchmal Lehrer-Schüler-Schulung genannt - ist der Standardansatz für Sim-zu-Reale-Lokomotion geworden und wird zunehmend für Manipulation verwendet. Die Idee: eine Lehrerpolitik in Simulation zu trainieren, die Zugang zu Grundwahrheitsdateninformationen hat, die auf echter Hardware nicht verfügbar wären (echte Objektposition, echte Reibungskoeffizienten, Grundwahrheitskontaktstandorte).

Dies funktioniert, weil die Lehrerpolitik die Aufgabe optimal mit perfekter Information lösen kann, und der Schüler lernt, dieses optimale Verhalten nur mit den lauten, teilweisen Beobachtungen, zu denen er auf der realen Hardware Zugang hat, zu annähern. Der Lehrer liefert ein viel stärkeres Trainingssignal als die Roh Belohnung allein. Diese Technik war zentral für den Erfolg des Vierfachen Lokomotionstransfers an der ETH Zürich, Carnegie Mellon und Unitree und wurde für Manipulationsarbeiten mit Kontaktempfindung und Kraftkontrolle angepasst.

Tipp 5: Randomisieren Sie die Kontaktparameter spezifisch

Bei jeder Aufgabe, die einen anhaltenden Kontakt mit sich bringt - Einfügen, Schieben, Drücken, Oberflächenfolgen - ist die Randomisierung von Kontaktparametern kritisch und oft unterbetont. Der Kontaktlöscher in der Simulation führt Artefakte ein (Penetration, Jitter, Frühschieben), die die reale Welt nicht hat, und die Randomisierung der Lösungsparameter zwingt die Politik, diese Artefakte zu handhaben, anstatt sie zu nutzen.

Ein praktischer Ansatz: Führen Sie Ihre Politik auf 100 Simulationsversuchen mit festen Kontaktparametern durch und erfassen Sie die Kontaktkraftprofile. Dann wiederholen Sie mit stark randomisierten Kontaktparametern. Wenn die Erfolgsrate der Politik bei randomisierten Kontakten deutlich sinkt, wurde spezifische Simulationsartefakte ausgenutzt. Trainieren Sie mit randomisierten Kontakten, bis die Erfolgsrate stabil ist, und dann übertragen Sie sie auf echte Hardware.

Tipp 6: Beginnen Sie mit grobigen Aufgaben, bevor Sie das Reinigungswerk abarbeiten

Der Versuch, eine Richtlinie für eine Präzisions-Tasche direkt aus der Simulation zu übertragen, ist ein Rezept für Frustration. Stattdessen zerlegen Sie Ihre Aufgabe in eine grobe Version und eine feine Version. Die grobe Version - nähert sich dem Objekt, richtet den Griff grob aus, macht den ersten Kontakt - überträgt sich gut aus der Simulation, weil es von Geometrie und der Flugbahnplanung abhängt, nicht von der genauen Kontaktdynamik. Die feine Version -- die endgültige Ausrichtung, Einfügung, kontrollierte Kraft Anwendung -- sollte auf realen Daten ausgebildet oder fein abgestimmt werden.

Dieser hierarchische Ansatz kombiniert das Simulationsvolumen mit der Treue von realen Daten. Die Simulationspolitik verwaltet 80% der Aufgaben, die Bewegung im freien Raum und grobe Positionierung beinhalten. Eine kleine Menge an realen Daten (50-200 Demonstrationen) verwaltet die 20%, die eine präzise Kontaktdynamik erfordern. Diese Hybrid-Anwendung übertrifft bei begrenztem Datenbudget sowohl sim- als auch real-only-Ausbildung konsequent.

Tipp 7: Test oft auf echtem Hardware

Der häufigste Fehler bei Sim-to-Real-Projekten ist, Monate lang in Simulationen zu optimieren, bevor sie auf echter Hardware testen. Bis das Team herausfindet, wie ihre Politik in der Realität versagt, haben sie enorme Anstrengungen in die Optimierung für das falsche investiert. Test auf echter Hardware früh und oft - mindestens alle 1-2 Wochen während der aktiven Entwicklung.

Die Tests auf der realen Hardware sollen als systematische Störungsprüfungen und nicht als zufällige Beurteilung gestaltet werden. Diese strukturierte Bewertung zeigt, ob Fehler unter bestimmten Bedingungen (diagnostizierbar und beheben) oder zufällig verteilt sind (schwieriger zu beheben, was eine grundlegende Lücke anzeigt).

Tipp 8: Verwenden Sie Ihr Aktuatormodell richtig

Standardmodelle der Simulations-Aktuatoren nehmen idealisiertes Verhalten an: sofortige Drehmomentantwort, Null-Trendrückung, perfekte Positionsverfolgung. Bei den seriellen elastischen Aktoren von OpenArm 1 ist die Konformität im Getriebe ein Sicherheitsmerkmal, führt aber zu einer Dynamik, die das Standardmodell des starren Aktoren in MuJoCo oder Isaac Sim völlig ignoriert.

Die Lösung: Messen Sie Ihre tatsächliche Aktualisierungsreaktion. Senden Sie einen Schrittbefehl an jedes Gelenk und erfassen Sie die Positionsreaktion im Laufe der Zeit. Passen Sie eine zweitrangige Übertragungfunktion (natürliche Frequenz, Dämpfungsverhältnis und Gewinn) an jedes Gelenk. Verwenden Sie diese angebrachten Modelle als Aktualisierungsmodell in der Simulation. Für MuJoCo, setzen Sie die T3, T4 und T5 Attribute auf jedem Aktualisierenden zu passen. Für Isaac Sim konfigurieren Sie die PD-Gewinne und Dämpfung im ArticulationController. Dieser Schritt dauert 2-4 Stunden und reduziert in der Regel den Joint Tracking-Fehler bei der Sim-to-Real-Transfer um 30-50%.

Tipp 9: Systematisch Material und Texturen zu randomisieren

Für visuelle Politiken muss das Erscheinungsbild von Objekten und Oberflächen in Simulationen entweder der Realität eng entsprechen oder so weit randomisiert werden, dass die Realität in die randomisierte Verteilung fällt. Der zweite Ansatz ist robuster. Wirksame Texturenzufrichtigung umfasst: zufällige feste Farben über den gesamten HSV-Bereich für alle Objekte und Oberflächen, prozedural Texturgenerierung (Perlin-Lärm, Schachbrett, Gradient) auf Tischoberflächen und Hintergründe und zufällige HDRI-Umgebungskarten für Beleuchtung (unterladen Sie 20-50 kostenlose HDRI-Karten von Polyhaven und fahren Sie während des Trainings durch sie).

Eine kontraintuitive Erkenntnis: Fotorealistische Darstellung ist oft kontraproduktiv für Sim-zu-Realen Transfer. Eine mit fotorealistischem Simulationsdarstellung ausgerichtete Politik lernt, visuelle Details (spezifische Schattenmuster, Oberflächenreflektionen) auszunutzen, die nicht mit der Realität übereinstimmen. Eine mit stark randomisierten, unrealistischen Texturen ausgebildete Politik lernt geometrische und strukturelle Merkmale, die besser übertragen. Wenn Sie Zugang zu hochwertiger Rendering (Isaac Sim Omniverse) haben, nutzen Sie sie für die Bewertung und Debugging, nicht für die Ausbildung der Datengenerierung.

Tipp 10: Einführung einer Physikparameter-Identifizierung Pipeline

Neben der Aktualisierungsmodellierung beeinflussen die physikalischen Eigenschaften der Objekte in Ihrer Aufgabe das Kontaktverhalten erheblich.

  • Objektmasse: Wiegen Sie jedes Objekt, das Ihr Roboter manipulieren wird. Setzen Sie Simulationsmassen, um zu passen. Ein Massenfehler von 10% auf einem schweren Objekt führt zu bemerkenswerten Kraft- und Bahnfehlern.
  • Friction Coefficients: Stellen Sie Objekte auf eine geneigte Oberfläche und erfassen Sie den Winkel, in dem sie zu rutschen beginnen. Berechnen Sie den statischen Reibungskoeffizient als Tan ((Winkel). Setzen Sie die Simulation Reibung entsprechend und randomisieren Sie +/-30% um den gemessenen Wert.
  • Massenzentrum: Bei asymmetrischen Objekten beeinflusst das Massenzentrum die Greifstabilität und die Transportdynamik.
  • Inertientensor: Für die meisten Tischmanipulationen reicht es aus, Objekte mit gleicher Dichte als Festkörper mit der richtigen Masse und Geometrie zu annähern.

Dieser Kalibrierungspipel sollte automatisch und immer wiederholt werden, wenn sich Ihre Objektmenge ändert.

Tipp 11: Wählen Sie das richtige Kontaktmodell für Ihre Aufgabe

Verschiedene Simulatoren bieten verschiedene Kontaktmodelle an, und die Wahl spielt mehr Wert als die meisten Teams erkennen. Das konvexe Kontaktmodell von MuJoCo ist schnell und stabil, produziert aber Artefakte mit nicht konvexen Geometrien (Objekte durchdringen sich in Konkavitäten). Isaac Sims GPU-beschleunigtes PhysX verwendet ein kompatibles Kontaktmodell, das nicht konvexe Formen besser behandelt, aber bei niedrigen Kontaktstiffheitseinrichtungen Schwingungen erzeugen kann. Genesis bietet differenzierbaren Kontakt, der für Optimierung leistungsfähig ist, aber für allgemeine Kontaktsimulation weniger reif ist.

Für die Aufnahme von Aufgaben mit einfachen Griffgeräten: Das Standardkontaktmodell von MuJoCo reicht in der Regel aus. Für Montageaufgaben mit engen Berechtigungen: erhöhen Sie die Zahl der Lösungsspannungen (MuJoCo: T6 und T7; Isaac Sim: Position und Geschwindigkeitsspannungen des Lösungsspanners) und verwenden Sie nicht primitive Formen, sondern maschenbasierte Kollision. Bei deformierbaren oder weichen Objekten: Verwenden Sie FEM-basierte Softbody-Simulationen (in Isaac Sim und SOFA verfügbar) anstelle von starren Körpernäherungen.

Tipp 12: Verwenden Sie asymmetrische Aktorkritik für RL-basierte Übertragung

Wenn Sie im Simulationsbereich Verstärkung lernen (statt im Imitationsbereich lernen), ist die asymmetrische Akteur-Kritik-Architektur jetzt Standardpraxis für den Sim-zu-Realen-Transfer. Der Kritiker (Wertfunktion) hat während des Trainings in der Simulation Zugriff auf privilegierte Grund-Wahrheits-Zustand-Informationen. Der Akteur (Politiker) verwendet nur die Beobachtungen, die auf der realen Hardware verfügbar sind. Dies ermöglicht es dem Kritiker, genaue Wertschätzungen zu liefern, die den Schauspieler dazu führen, wirksame Verhaltensweisen zu lernen, indem nur real-weltkompatible Beobachtungen verwendet werden.

Dies ist die Architektur hinter der erfolgreichen Bewegungsübertragung bei der ETH Zürich (ANYmal), Carnegie Mellon und Unitree. Für die Manipulation ist das Muster das gleiche: Der Kritiker sieht genaue Objektposen und Kontaktzustände; der Schauspieler sieht nur Kamerabilder und proprioception. Das Ergebnis ist eine Politik, die nur reale Sensoren verwendet, wurde aber während des Trainings durch perfekte Informationen geleitet.

Tipp 13: Bauen Sie eine Sim-to-Real-Regression-Test-Suite

Sim-to-Real-Transfer wie Software-Engineering: Erstellen Sie eine Testsuite und führen Sie sie bei jedem Policy-Update aus. Definieren Sie 10-20 spezifische Testkonfigurationen (Objekttypen, Positionen, Orientierungen) und führen Sie jede in Simulation und echte Hardware aus. Verfolgen Sie die Korrelation zwischen Sim und realen Erfolgsraten im Laufe der Zeit. Eine gesunde Sim-to-Real-Pipeline zeigt eine Korrelation zwischen Sim und der tatsächlichen Leistung in allen Testkonfigurationen von >0,8. Wenn die Korrelation unter 0,6 fällt, ist etwas in Ihrer Simulation von der Realität abweicht (Kamera verschoben, Objekt eingestellt, Akteur abgebaut) und muss umkalibriert werden.

Tipp 14: Beobachtungsraumunterschiede klar behandeln

Simulation bietet eine perfekte Propriozeption: exakte Gelenkpositionen, Geschwindigkeiten und Beschleunigungen bei jedem Zeitschritt. Fügen Sie realistische Geräusche zu simulierten Beobachtungen hinzu: Gaussgeräusche mit Standardabweichung, die mit Ihren Encoder-Spezifikationen übereinstimmt (typischerweise 0,001-0,01 Radiane für gemeinsame Positionen), zufällige Ablesungen mit einer Rate von 0,1-1% und Quantifizierung, die mit Ihrer tatsächlichen Encoder-Auflösung übereinstimmt. Ohne diese lernt die Politik, sich auf eine Präzision zu verlassen, die nicht auf der realen Hardware verfügbar ist.

Tipp 15: Erkennen Sie, wann Ihre Lücke unüberwindbar ist

Einige Sim-to-Real-Lücken können mit aktuellen Techniken nicht geschlossen werden, und dies frühzeitig zu erkennen, spart Monate Mühe. Anzeichen dafür, dass der direkte Sim-to-Real-Transfer für Ihre Aufgabe nicht funktioniert: Ihr Erfolg hängt von Material-Eigenschaften ab, die zwischen den Objekten variieren (Textileifigkeit, Oberflächentexturenreibung), Ihre Aufgabe erfordert eine Präzision im Kontakt von submillimeter (und Ihr Roboter hat >1mm Wiederholbarkeit) oder Ihre Aufgabe beinhaltet Flüssigkeiten, granulare Materialien oder hoch verformbare Objekte. In diesen Fällen können Sie Simulationen für die groben Phasen der Aufgabe verwenden und reale Daten für die feinen Phasen sammeln oder Simulationen vollständig überspringen und die [Real-Data Collection Services] von RCSV*T16] von Anfang an verwenden.

Simulator-spezifische Tipps

Simulator Best Practice Common Pitfall
Isaac Sim Use GPU-accelerated environments with at least 256 parallel instances for RL; disable ray-traced rendering during training Leaving ray tracing on tanks throughput 10x; Omniverse USD scene setup takes days if unfamiliar
MuJoCo Use mj_step with 4-5 substeps for contact stability; set solimp and solref per-geom for different materials Default solver settings produce unstable contacts for tight assemblies; convex decomposition needed for non-convex meshes
Genesis Leverage differentiable physics for system identification (optimize sim parameters to match real trajectories) Ecosystem is less mature; fewer pre-built robot models; community support is smaller
PyBullet Good for quick prototyping and education; use URDF models directly from manufacturer Contact physics is less accurate than MuJoCo; no longer actively developed; avoid for production sim-to-real

Identifizierung von physikalischen Parametern: Messprotokoll

Systemidentifizierung ist der höchste ROI-Schritt in einer Sim-to-Real-Pipeline, aber die meisten Teams überspringen es oder tun es zufällig. Hier ist ein strenges Messprotokoll, das 4-6 Stunden dauert und die Transfer-Fidelität dramatisch verbessert.

** Identifizierung der Dynamik der Gelenke (2 Stunden).** Für jedes Gelenk Ihres Roboterarms:

  1. Befehle eine sinusförmige Positionbahn bei 0,1 Hz, 0,5 Hz, 1 Hz und 2 Hz. Registriere die befehlte Position, die tatsächliche Position und den Motorstrom bei 1 kHz.
  2. Berechnen Sie die Frequenzreaktion (Gewinn und Phase) bei jeder Frequenz. Finden Sie eine zweitrangige Übertragungfunktion: H(s) = K * omega_n^2 / (s^2 + 2*zeta*omega_n*s + omega_n^2).
  3. Messung der Rückschlag: Befehl eine langsame Rampen nach oben und dann Rampen nach unten. Die Hysterese Breite in der Positionspur ist die Rückschlag. Typische Werte: 0,1-0,3 Grad für harmonische Antriebe (Franka), 0,5-2,0 Grad für planetare Getriebe (OpenArm, Kinova), 0,02-0,05 Grad für direkte Antriebe.
  4. Messung der Reibung: Erfassen Sie das erforderliche Drehmoment, um jedes Gelenk mit sehr geringer Geschwindigkeit (< 0,01 rad/s) zu bewegen. Dies ist die Coulomb-Reibung. Messen Sie dann das Drehmoment gegen die Geschwindigkeit bei höheren Geschwindigkeiten, um die viskose Reibung zu schätzen. Modell: tau_friction = tau_coulomb * Zeichen(v) + b_viscous * v.

Messung der Eigenschaften des Objekts (1 Stunde pro 10 Objekte).

  • Mass: Küchenskala auf 1g. Aufzeichnen auf Gramm.
  • Friction Coefficient: Platzieren Sie das Objekt auf einer flachen Oberfläche, die an einem digitalen Steigungsmessgerät befestigt ist. Zunahme des Winkel langsam, bis das Objekt rutscht. mu_s = tan(Winkel. Messen Sie auf mindestens 3 Oberflächen (Metall, Holz, Gummi Mat). Verwenden Sie das Mittel als Simulationsstandard, den Bereich als Randomisierungsgrenzen.
  • Massenzentrum (asymmetrische Objekte): Suspendieren Sie das Objekt an zwei verschiedenen Punkten mit einer Schnur.
  • Re-Restitutionskoeffizient: Werfen Sie das Objekt von 30 cm auf eine harte Oberfläche und erfassen Sie die Sprunghöhe. COR = sqrt(h_bounce / h_drop).
# sys_id.py -- Minimal joint dynamics identification
import numpy as np
from scipy.optimize import curve_fit

def second_order_response(t, K, wn, zeta):
    """Second-order underdamped step response."""
    wd = wn * np.sqrt(1 - zeta**2)
    return K * (1 - np.exp(-zeta * wn * t) *
           (np.cos(wd * t) + (zeta / np.sqrt(1 - zeta**2)) * np.sin(wd * t)))

# Record step response: send a 0.1 rad step command and log at 1kHz
# t_data, pos_data = record_step_response(joint=3, amplitude=0.1)

# Fit parameters
popt, pcov = curve_fit(second_order_response, t_data, pos_data,
                       p0=[1.0, 50.0, 0.7], bounds=([0.5, 5, 0.1], [1.5, 200, 1.0]))
K, wn, zeta = popt
print(f"Joint 3: K={K:.3f}, wn={wn:.1f} rad/s, zeta={zeta:.3f}")
# Typical values for OpenArm 1: K=0.95-1.0, wn=30-60, zeta=0.6-0.9

Diese Messparameter gehen direkt in Ihre Simulationskonfiguration. Für MuJoCo setzen Sie T11 auf [K * wn^2, 0, 0] und T12 auf [0, -K * wn^2, -2 * K * zeta * wn] auf jedem Aktoren. Für Isaac Sim konfigurieren Sie die PD-Gewinne im ArticulationController, um die identifizierten natürlichen Frequenzen und Dämpfung zu entsprechen.

Erfolgsrate für Sim-Real-Transfer nach Aufgabenart

Auf der Grundlage der veröffentlichten Ergebnisse und der RCSV-Evaluierungsdaten wird in der folgenden Tabelle die erwartete Sim-to-Real-Transfer-Erfolgsrate nach Aufgabenkategorie dargestellt, vorausgesetzt, die oben beschriebenen Techniken werden korrekt angewendet.

Task Category Sim Success Real Transfer (naive) Real Transfer (w/ DR + SysID) Gap Closure
Flat-ground locomotion 98% 70-80% 90-95% High
Rigid object pick-and-place 95% 40-55% 75-85% Medium-High
Door/drawer opening 92% 30-45% 65-80% Medium
Peg insertion (>1mm tolerance) 90% 15-25% 55-70% Medium
Präzision assembly (<0.5mm) 88% 5-15% 30-50% Low-Medium
Cloth folding 85% 5-10% 15-30% Low
Fluid pouring 80% < 5% 10-20% Very Low

Das Muster ist klar: Der Transfererfolg korreliert umgekehrt mit der Kontaktkomplexität. Aufgaben, die von Bewegung im freien Raum und einfachen starren Kontakten dominiert werden, übertragen gut. Aufgaben, die von komplexer Kontaktdynamik (deformierbare Materialien, enge Toleranzen, Flüssigkeiten) dominiert werden, übertragen unabhängig von der Technik schlecht. Bei Aufgaben in der Kategorie "niedriges" Lückenschließung bleibt Simulation für die Vorbildung und das grob geschickte Lernen wertvoll, aber die Feinasting mit realen Daten ist für die Qualitätsleistung der Bereitstellung unerlässlich.

Domain-Randomisierungskonfiguration: Ein vollständiges Beispiel

Hier ist eine praktische Domänen-Randomisierungskonfiguration für eine Tabelltop-Manipulationsaufgabe in MuJoCo, die die wichtigsten Parameter für den Sim-to-Real-Transfer abdeckt.

# domain_randomization.py -- MuJoCo domain randomization for manipulation
import numpy as np
import mujoco

class DomainRandomizer:
    """Randomize physics and visual parameters each episode."""

    def __init__(self, model):
        self.model = model
        self.defaults = {
            'friction': model.geom_friction.copy(),
            'mass': model.body_mass.copy(),
            'damping': model.dof_damping.copy(),
        }

    def randomize(self):
        m = self.model
        # Contact friction: +/- 50% (critical for grasping)
        m.geom_friction[:] = self.defaults['friction'] * np.random.uniform(0.5, 1.5, m.geom_friction.shape)

        # Object mass: +/- 30%
        for i in range(m.nbody):
            if m.body_mass[i] > 0.01:  # Skip fixed bodies
                m.body_mass[i] = self.defaults['mass'][i] * np.random.uniform(0.7, 1.3)

        # Joint damping: +/- 25%
        m.dof_damping[:] = self.defaults['damping'] * np.random.uniform(0.75, 1.25, m.dof_damping.shape)

        # Actuator latency: 0-20ms random delay (model in policy loop)
        self.actuator_delay_ms = np.random.uniform(0, 20)

        # Camera perturbation: +/- 3cm position, +/- 5deg rotation
        for cam_id in range(m.ncam):
            m.cam_pos[cam_id] += np.random.uniform(-0.03, 0.03, 3)
            m.cam_quat[cam_id] += np.random.uniform(-0.05, 0.05, 4)
            m.cam_quat[cam_id] /= np.linalg.norm(m.cam_quat[cam_id])

        # Lighting randomization
        for light_id in range(m.nlight):
            m.light_diffuse[light_id] = np.random.uniform(0.3, 1.0, 3)
            m.light_pos[light_id] += np.random.uniform(-0.5, 0.5, 3)

Die Politik wird zunächst schlechter als bei festen Parametern funktionieren, aber nach der Konvergenz wird sie wesentlich besser auf echte Hardware übertragen, weil sie gelernt hat, sich auf Parametervariationen zu halten, anstatt bestimmte Simulationswerte zu nutzen.

Die Diagnose von Sim-to-Real-Fehlern: Ein systematischer Ansatz

Wenn eine sim-trained-richtlinie auf echter hardware fehlschlägt, verwenden sie dieses diagnostische framework, um die spezifische lücke zu identifizieren, die den fehl verursacht.

  1. Fehlervideos auf echter Hardware aufzeichnen. Erfassen Sie mindestens 10 Fehler-Episoden mit allen aktiven Kameras.
  2. Lauft die gleichen Anfangsbedingungen in der Simulation aus. Setzt die Simulation so ein, dass sie den realen Fehlerbedingungen so nah wie möglich entspricht.
  3. Vergleichen Sie visuelle Beobachtungen. Seite an Seite das Sim-Kamera-Bild und das reale Kamera-Bild beim Fehlerzeitraum. Sind die Bilder in der Art und Weise, in der die Richtlinie empfindlich sein könnte, bedeutend unterschiedlich? Überprüfen Sie Beleuchtung, Reflexionen, Schatten und Objekte-Textur.
  4. Vergleichen Sie den proprioceptive Zustand. Schaltet den Joint-Positions-Tracking-Fehler zwischen kommando und tatsächlichen Positionen auf der realen Hardware ein. Wenn der Tracking-Fehler auf einem Joint mehr als 2-3 Grad beträgt, ist das Aktualisierungsmodell in Sim wahrscheinlich das Problem.
  5. Vergleichen Sie das Kontaktverhalten. Wenn der Fehler während des Kontakts auftritt (Griff, Einfügung), vergleichen Sie die F/T-Sensorwerte auf der realen Hardware mit den simulierten Kontaktkräften. Große Diskrepanzen (> 50% Unterschied in der Spitzenkraft) deuten auf Kontaktmodellprobleme hin.

Diese diagnostische Pipeline identifiziert in der Regel die Ursache innerhalb von 2-3 Iterationen. Die häufigsten Ursachen in der Häufigkeit: (1) Kameraposition/kalibrierungsschwankungen, (2) Aktorenmodellungsgenauigkeit, (3) Kontaktreizungsschwankungen, (4) visuelle Domänenlücken.

Auswahl des Simulators: Isaac Sim, MuJoCo oder Genesis

NVIDIA Isaac Sim (auf PhysX 5 gebaut, mit Omniverse integriert) ist die führende Wahl für High-Fidelity-Simulation ab 2026. Die GPU-beschleunigte Physik ermöglicht Tausende von Parallel-Simulation-Instanzen, wodurch das Verstärken des Lernens für komplexe Aufgaben handfeste ist. Isaac Sim bietet auch die beste Rendering-Qualität für visuelle Politik-Schulung. Die Hauptnachteile sind die Komplexität der Einrichtung, die Hardwareanforderungen (High-End-NVIDIA-GPU) und die Lernkurve für das Omniverse-Ökosystem.

MuJoCo (heute Open-Source von DeepMind) bleibt der Standard für schnelle, genaue Kontaktphysik in Forschungsumgebungen. Es ist schneller pro Umgebung als Isaac Sim, verfügt über eine einfachere API und bietet das umfangreichste Ökosystem vorgebauter Umgebungen und Benchmarks. MuJoCo ist die richtige Wahl, wenn Sie eine schnelle Iteration der Politikarchitektur und des Belohnungsdesigns benötigen und keine fotorealistische Darstellung benötigen.

Genesis ist ein neuerer Simulator, der Geschwindigkeit und Differenzierbarkeit betont. Es unterstützt differenzierbare Physik und ermöglicht durch die Simulation gradientbasierte Optimierung, die das kontaktreiche Aufgabenlernen beschleunigen kann. Genesis gewinnt an Annahme für Aufgaben, bei denen differenzierbare Simulation einen klaren Vorteil bietet - Parameteroptimierung, Bahnoptimierung - aber sein Ökosystem ist weniger reif als MuJoCo oder Isaac Sim.

Visuelle Domänenrandomisierung: Überbrückung der Rendering-Lücken

Die physikalische Parameterrandomisierung behandelt die Dynamiklücken, aber die visuelle Lücke zwischen simulierten und echten Kamerabildern ist oft die dominante Quelle für den Übertragungsversagen für vision-basierte Richtlinien.

Visual Parameter Randomization Range Impact on Transfer Notes
Object texture Random RGB per face or procedural noise High (+15-25%) Prevents policy from relying on sim-specific textures
Lighting position + color +/-1m position, 3000K-6500K color temp High (+10-20%) Shadows are the biggest visual gap; randomize shadow direction
Camera position + orientation +/-3cm position, +/-5deg rotation Medium (+8-15%) Matches real-world camera mounting imprecision
Table/background color Random RGB or texture from dataset Medium (+8-12%) Prevents background shortcuts; use real-photo textures for best results
Distractor objects 0-5 random objects in workspace Medium (+5-10%) Crucial for cluttered deployment environments
Camera noise + blur Gaussian noise (sigma 0-0.05), motion blur (0-3px) Low (+3-5%) Simulates real camera imperfections; more important for low-light deployment

Die Bedeutung für die visuelle Randomisierung ist: Objekttexturen > Beleuchtung > Kameraposition > Hintergrund > Ablenker > Lärm. Teams mit begrenztem Ingenieurzeit sollte sich auf die ersten drei konzentrieren. Für fotorealistische Alternativen beseitigt Training mit Isaac Sims path-traced rendering die Notwendigkeit einer aggressiven Texturrandomisierung, erfordert jedoch deutlich mehr GPU-Zeit pro Episode.

Der Hybridansatz: Sim-Vor-Training + echte Fein-Tuning

Die höchste Leistungsschwindigkeit der Sim-to-Real-Pipeline im Jahr 2026 kombiniert groß angelegte Simulationsschulungen mit einer geringen Menge an Real-Welt-Feinabstimmung. Dieser hybride Ansatz nutzt die Skalierbarkeit der Simulation für das Erlernen großer Fähigkeiten und die Treue der realen Daten, um die endgültige Lücke zu schließen.

# hybrid_sim_real_pipeline.py -- Sim pre-train + real fine-tune
from pathlib import Path

def hybrid_pipeline(task_name, sim_episodes=10000, real_episodes=100):
    """
    Stage 1: Pre-train in simulation with domain randomization
    Stage 2: Fine-tune on real-world demonstrations
    Stage 3: Evaluate on real hardware
    """
    # Stage 1: Sim pre-training (runs on GPU cluster, 4-24 hours)
    sim_config = {
        "environment": f"sim/{task_name}",
        "domain_randomization": True,
        "visual_randomization": True,
        "num_episodes": sim_episodes,
        "architecture": "act",
        "epochs": 500,
        "checkpoint_dir": f"checkpoints/{task_name}_sim",
    }
    sim_model = train_policy(**sim_config)

    # Stage 2: Real fine-tuning (uses sim checkpoint as init)
    real_config = {
        "dataset": f"data/real/{task_name}",
        "num_episodes": real_episodes,
        "pretrained_checkpoint": sim_model.checkpoint_path,
        "learning_rate": 1e-5,  # 10x lower than sim training
        "epochs": 200,
        "freeze_encoder_epochs": 100,  # Freeze visual encoder initially
        "checkpoint_dir": f"checkpoints/{task_name}_hybrid",
    }
    hybrid_model = finetune_policy(**real_config)

    # Expected results:
    # Sim-only: 40-60% real success (pick-place)
    # Real-only (100 demos): 70-80% success
    # Hybrid (10K sim + 100 real): 80-90% success
    return hybrid_model

Der Hybridansatz entspricht in der Regel der Leistung von 3-5x mehr echten Demonstrationen: 100 echten Demonstrationen plus 10K Sim-Episoden erzielt eine vergleichbare Leistung wie 300-500 nur echten Demonstrationen. Der [RL-Umgebungsdienst] von RCSV (T17) bietet vorgebaute Simulationsumgebungen für gemeinsame Manipulationsarbeiten, wodurch die Einrichtungstunde auf 1-2 Tage reduziert wird.

Tipps für die richtige Einstellung nach dem Sim-Vortraining

Die Schritt-Abstimmung ist der Punkt, in dem die meisten Teams Fehler machen, die die Vorteile des Sim-Vortrainings verweigern.

  • Verwenden Sie eine 10 mal niedrigere Lernrate als Sim-Trainings. Das sim-vorgebildete Modell hat bereits visuelle Merkmale und grob motorische Fähigkeiten gelernt.
  • Freien Sie den visuellen Encoder für die ersten 50% der Fein-Tuning-Epochen. Der vorgebildete Encoder hat visuelle Merkmale gelernt, die allgemeiner sein können als das, was 100 echte Demo's lehren können. Lassen Sie den Aktionsvorhersage-Kopf sich zuerst anpassen, dann entfrieren Sie den Encoder mit einem sehr niedrigen LR (1/100th des Aktionskopfs LR).
  • Misch 10-20% Simdaten während der Feinschaltung. Wenn man den realen Feinschaltungspartien einen kleinen Teil der Sim-Episoden hinzufügt, verhindert es, dass die von der Sim gelernten Fähigkeiten katastrophal vergessen werden und wirkt als Regulierer.
  • **Sammeln Sie echte Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-Demo-emo-Demo-emo-Demo-Demo-emo-Demo-Demo-Demo-emo-Demo-Demo-Demo

Simulationsmaschinenvergleich für Roboternutzung

Die Wahl des richtigen Simulators beeinflusst sowohl die Qualität Ihrer Sim-Trainingdaten als auch die technischen Anstrengungen, die zur Einrichtung der Umgebung erforderlich sind.

Simulator Physics Quality Rendering Quality Speed (steps/sec) Setup Effort Best For
MuJoCo 3.x Excellent Good (basic PBR) 100K+ (CPU) Low (MJCF/URDF) RL training, contact-rich tasks, rapid prototyping
Isaac Sim / Isaac Lab Very Good Excellent (RTX raytracing) 10K-50K (GPU) High (USD, NVIDIA stack) Visual sim-to-real, domain randomization, GPU-parallel RL
Genesis Good Good 50K-200K (GPU) Low-Medium Fast parallel sim, soft body, generative tasks
PyBullet Adequate Basic 5K-20K (CPU) Very Low Quick experiments, education, lightweight benchmarks
RoboCasa / Robosuite Good (MuJoCo-based) Good 10K-50K (CPU) Low (pre-built tasks) Home/kitchen manipulation, benchmark tasks, multi-task RL

** Empfehlung für die meisten Teams:** Beginnen Sie mit MuJoCo 3.x für seine Kombination aus Physikqualität, Geschwindigkeit und geringer Setup-Anstrengung. Wechseln Sie nur zu Isaac Sim, wenn Sie eine fotorealistische Darstellung für die visuelle Domäne-Randomisierung oder GPU-paralleles Training im massiven Maßstab (1000+ parallele Umgebungen) benötigen. Die Genesis ist für Teams, die mit verformbaren Objekten arbeiten oder die den schnellsten parallelen Durchsatz benötigen, wertvoll zu bewerten. PyBullet ist für schnelle Prototypenarbeit geeignet, erzeugt jedoch qualitativ geringere Trainingsdaten, die weniger zuverlässig übertragen werden.

Messung des Sim-Real-Gefäudes: ein quantitatives Protokoll

Bevor Sie in eine komplexe Domänenrandomisierung investieren, messen Sie die Baseline-Sim-to-Real-Lücken für Ihre spezifische Aufgabe.

  1. Sicherheit in Simulation (keine Domänen-Randomisierung, mit dem Standard-Simulator-Renderer).
  2. Die gleiche Richtlinie auf echtem Hardware ohne Änderungen implementieren. 20 echte Bewertungsversuche durchführen. Der Unterschied zwischen der Sim-Erfolgsrate und der Real-Erfolgsrate ist die Ausgangsliste zwischen Sim-Real-Lücken.
  3. ** Kategorisieren Sie Fehler.** Für jeden Fehler in der realen Welt bestimmen Sie die Ursache: Missverhältnis des visuellen Erscheinungsbildes (Sim-Rendering entspricht nicht der realen Kamera), Physikmischung (Objektdynamik unterscheidet sich) oder Steuerungmischung (motorische Reaktion unterscheidet sich von simulierten Aktoren).
  4. Wir wenden gezielte Lückenschließungen an. Wenn visuelle Fehler dominieren, investieren Sie in Domänenrandomisierung und bessere Rendering. Wenn Physik-Fehler dominieren, investieren Sie in Systemidentifizierung. Wenn Kontrollfehler dominieren, investieren Sie in Aktorenmodellierung oder Restpolitiklernung.
  5. Wiedermessung. Nach jeder Runde der Lücke schließen Sie die Schritte 2-3 wiederholen.

Typische Baseline-Lücken (keine Domänen-Randomisierung, keine System-ID): Pick-and-Place-Starrobjekte: 20-40% Lücke; Einfügungsaufgaben: 30-50% Lücke; verformbare Objektmanipulation: 50-70% Lücke. Nach vollständiger Domänen-Randomisierung plus Systemidentifizierung reduzieren sich diese Lüken in der Regel auf: 5-15%, 10-25% und 25-40% bzw. Die verbleibende Lücke wird durch realen Fein-Tuning geschlossen.

Wann Sie Sim vollständig überspringen

Simulation ist nicht immer die richtige Wahl. Überspringen Sie die Simulation und gehen Sie direkt zur Echtdatenerhebung, wenn: Ihre Aufgabe verformbare Objekte oder Materialien beinhaltet, die schlecht simuliert werden (Kleidung, Kabel, Lebensmittel); Sie haben Zugang zu einer schnellen Echtdatenerhebung (RCSV's [Datenservice]T18) kann 500+ Episoden pro Tag sammeln); Ihre Aufgabe erfordert weniger als 1.000 Demonstrationen; oder wenn der Aufwand, eine genaue Simulationsumgebung zu errichten, den Aufwand, echte Daten zu sammeln, übersteigt.

Der Entscheidungsrahmen ist einfach: Schätzen Sie die Kosten für den Aufbau und die Kalibrierung einer Simulationsumgebung für Ihre spezifische Aufgabe (einschließlich der Ingenieurzeit, der Hardware für die Rendering und der Debug-Zeit für den Sim-to-Real-Transfer). Vergleichen Sie sie mit den Kosten für die Sammlung einer gleichwertigen Menge an echten Daten. Für viele Manipulationsarbeiten im Jahr 2026 ist der Weg für reale Daten schneller und vorhersehbarer. Die Simulation ist hervorragend, wenn Millionen von Episoden benötigt werden (Verstärkung des Lernens), wenn die Aufgabe gut übertragen wird (Lokomotion) oder wenn die tatsächliche Datenerhebung gefährlich oder teuer ist (chirurgische Robotik, gefährliche Umgebungen).

Beginnen Sie Ihre Übertragungspipeline

RCSV bietet RL-Umgebungsdienst verwaltete Simulationsumgebungen mit Systemidentifizierung und Physikkalibrierung für Ihre spezifische Hardware. Für Teams, die den Hybridansatz verfolgen, bieten wir auch die Sammlung von realen Daten über unsere Datendienste an, um Ihr Simulationstraining mit den echten Demonstrationen zu ergänzen, die die letzte Lücke schließen.

Verwandte Lesungen

  • [Roboterpolitik-Generalisierung: Warum Ihr Roboter bei neuen Objekten versagt]
  • [Roboter-Lernen vs. klassische Robotik: Wann welche zu verwenden]
  • [Skalierungsgesetze für Roboterlernen: Was wissen wir in 2026] T23)
  • [Roboter-Kontrollerliste: 12 Schritte vor dem Start]
  • [ACT vs. Diffusion Policy: Wann welche zu verwenden]
  • [RCSV RL Umweltdienst]
  • RCSV Datenerhebungdienste

Erhalten Sie eine kalibrierte Simulationsumgebung

RCSV's RL-Umgebungsservice umfasst Systemidentifizierung und Physikkalibrierung für Ihre spezifische Roboterhardware.

[Erforschen Sie die RL-Umgebungen]