Zum Inhalt springen

OpenSCENARIO-Simulator — Führe .xosc im Browser aus, angetrieben durch esmini-WASM

drawtonomy ist ein kostenloses, Browser-basiertes Whiteboard für Fahrszenarien. Da OpenSCENARIO-Entitäten, Pfade und Trigger-Zonen als Formen auf der gleichen Leinwand gespeichert sind, funktioniert drawtonomy auch als kostenloser, Browser-basierter OpenSCENARIO-Simulator: Lade einfach eine .xosc und die zugehörige .xodr hoch, und die eingebettete esmini-WASM-Runtime simuliert das Szenario direkt in deinem Browser — mit Navigation, Frame-Stepping, Ghost-Trails, einer Follow-Ego-Kamera, die dem Ego-Fahrzeug folgt, und direktem .webm-Export per Klick.

Es läuft vollständig im Browser. Es gibt nichts zu installieren, keine MATLAB-Lizenz, keinen C++-Build und kein Benutzerkonto.

Simulation eines ACC-Cut-in-.xosc im Browser über esmini-WASM, Navigation durch die Timeline und Aufzeichnung der Simulation als .webm.

drawtonomy basiert auf esmini — der Open-Source-Referenz-Implementation für OpenSCENARIO 1.x, entwickelt von der schwedischen ADAS-Community — compiliert zu WebAssembly. Wenn du eine .xosc hochlädst:

  1. Das OpenDRIVE-Netzwerk wird geparst und auf der Leinwand platziert.
  2. Die .xosc wird an esmini-WASM übergeben, das das OpenSCENARIO-Szenario genau so ausführt wie native esmini — Acts, Sequences, Maneuvers, bedingte Trigger, Parameter-Deklarationen und Controller.
  3. In jedem Frame liest drawtonomy die simulierten Entity-Positionen zurück und zeichnet sie auf der Leinwand.

Die Simulator-Semantik stammt also von esmini, nicht von einer separaten Neuimplementierung, und der gesamte Verdienst für die korrekte Runtime gehört dem esmini-Projekt und seinen Betreuern. Was drawtonomy zusätzlich bietet, ist die Leinwand-native Shell rund um diese Runtime: Timeline-Scrubber, Follow-Ego, Ghost-Trails, .webm-Export, Teilen einer .drawtonomy.svg-Quelle und die gleiche Leinwand, auf der du Szenarien erstellst. Das alles wäre ohne esmini’s Hard Work darunter nicht möglich.

  • Lade ein .xosc + .xodr-Paar durch Ziehen auf die Leinwand (oder über Hamburger-Menü → Import → OpenSCENARIO).
  • Simuliere, pausiere und navigiere mit Frame-genauer Präzision — Space, Pfeiltasten, Timeline-Scrubber.
  • Passe die Simulationsgeschwindigkeit von 0,25× bis 4× an (Vorset-Schaltflächen + Schieberegler).
  • Follow Ego für eine Kamera, die das Ego-Fahrzeug zentral verfolgt — Bbox / Follow-Ego Modi sind auch als Kamera für Video-Export verfügbar.
  • Ghost-Trails — Path (Polylinie) und Footprint (gesampeltes Fahrzeugsymbol) in einem konfigurierbaren Zeitintervall, um Bewegungsverlauf auf einen Blick zu sehen.
  • Führe das Szenario neu aus nach jeder Leinwand-Änderung (verschiebe eine Entität, ändere einen Pfad, tausche ein Fahrzeug aus), sodass die Simulation immer den aktuellen Zustand anzeigt, nicht einen alten Snapshot.
  • Exportiere zu .webm mit Seitenverhältnis-Voreinstellungen (16:9, 9:16, 1:1, 4:3, Frei) — die Aufzeichnung findet lokal über den Browser’s MediaRecorder statt, kein Upload, kein Benutzerkonto.

Die vollständigen Abläufe findest du im Handbuch So wird es gemacht: OpenSCENARIO-Datei simulieren.

  • esmini — die Open-Source-Referenz-Implementation für OpenSCENARIO 1.x, die drawtonomy einbettet. esmini ist die gleiche Simulator-Engine; drawtonomy läuft sie nur im Browser statt auf der Kommandozeile. Wähle native esmini, wenn du den OpenSceneGraph 3D Viewer, den Headless-CI-Modus oder die C++/Python-APIs benötigst.
  • CARLA — Open-Source-AV-Simulator mit vollständigen Sensor-Modellen (Kamera, LiDAR, Radar) und einen Python-OpenSCENARIO-Runner. Schwere Installation (mehrere GB, GPU erforderlich). Nutze es, wenn du Sensordaten brauchst; zu viel, wenn du nur das Szenario simulieren und sehen möchtest.
  • MathWorks RoadRunner Scenario — kommerzielle Szenario-Erstellung und Wiedergabe in RoadRunner. Hervorragend in einem MATLAB/Simulink-lastigen Team; nicht kostenlos, nicht im Browser.
  • Foretellix Foretify / IPG CarMaker / dSPACE ASM — Enterprise-Szenario-Simulationsplattformen mit OpenSCENARIO-Unterstützung, tiefe Fahrzeugdynamik und umfangreiche Kataloge. Werkzeuge im Beschaffungsmaßstab; drawtonomy hat eine viel kleinere Nische.
  • Truevision Designer — kommerzielle 3D-HD-Karten- und Szenario-Editor mit Wiedergabe. Ein Desktop-Werkzeug, kein Browser-Werkzeug.
  • LGSVL Simulator — war ein beliebter Open-Source-AV-Simulator mit OpenSCENARIO-Unterstützung; der gehostete Dienst wird nicht mehr gepflegt.

drawtonomy’s Platz in dieser Übersicht ist absichtlich eng: Es ist die kostenlose, Browser-basierte, Installations-freie Option zum Simulieren und Aufzeichnen von OpenSCENARIO-Dateien. Wenn du eine .xosc anschauen möchtest und keinen Desktop-Simulator nur dafür starten willst, ist das der richtige Ort.

Für Sensor-Simulation oder einen Regressions-Sweep über Tausende von Szenarien übergibst du die gleiche .xosc an esmini, CARLA oder einen Enterprise-Simulator. Siehe drawtonomy vs esmini und drawtonomy vs CARLA für die Unterscheidung.

  • Triage ein fehlgeschlagenes CI-Szenario. Lade die .xosc aus CI in den Browser, navigiere zum Fehlerzeitpunkt, mache ein Screenshot. Schneller als ein vollständiger Simulator-Start.
  • Code Review eines Szenario-PR. Ein Reviewer ohne esmini-Installation kann das Szenario trotzdem simulieren, indem er es in drawtonomy öffnet.
  • OpenSCENARIO unterrichten. Ein Kurs oder Workshop kann .xosc-Dateien auf Schüler-Laptops simulieren ohne lokale Installation.
  • Eine Demo .webm aufzeichnen der Szene für eine Folie, einen Bug-Report, eine Kundendemo oder einen Social-Post — direkt in 16:9, 9:16 oder 1:1.
  • Zwei Szenarien visuell vergleichen indem du sie in zwei Tabs öffnest und jedes durchscrollst.
  • Ein generiertes Szenario visuell überprüfen von scenariogeneration oder Scenic bevor du einen langen Simulator-Durchlauf startest.
  • Du brauchst Sensor-Simulation für Kamera / LiDAR / Radar → verwende CARLA, IPG CarMaker, Foretellix oder einen anderen vollständigen Simulator. drawtonomy simuliert das Szenario, nicht die Sensoren.
  • Du führst einen Regressions-Sweep über Tausende von Szenarien durch → steuere esmini oder CARLA per Skript an.
  • Du brauchst HD-Karten-Bearbeitung im Produktionsmaßstab → verwende RoadRunner oder Truevision Designer.
  • Du brauchst den OpenSceneGraph 3D Viewer, der bei native esmini mitkommt → führe einfach native esmini aus.

Der Simulator lädt ASAM OpenSCENARIO 1.x .xosc-Dateien zusammen mit den ASAM OpenDRIVE .xodr-Dateien, auf denen sie basieren. Beide sind offene Standards. Die gleiche .xosc, die du in drawtonomy simulierst, kann an native esmini, CARLA, RoadRunner Scenario oder jeden anderen OpenSCENARIO-konformen Runtime übergeben werden — ohne Konvertierungsschritte.

Der Browser-Simulator auf dieser Seite basiert direkt auf dem esmini-Projekt. Der Simulations-Kern ist esmini kompiliert zu WebAssembly; die Szenario-Semantik, die OpenSCENARIO-1.x-Korrektheit und die Jahre sorgfältiger Arbeit dahinter — alles stammt von den esmini-Betreuern und Beitragenden, nicht von drawtonomy. Großen Dank an dieses Team für die Unterstützung der De-facto-Referenz für OpenSCENARIO-Wiedergabe. Wenn dir drawtonomy’s Browser-Simulator nützlich ist, bitte auch esmini auf GitHub einen Stern geben und unterstütze das Projekt upstream.