Was ist esmini?
esmini ist ein Open-Source-OpenSCENARIO-Player aus der schwedischen ADAS-Community. Er ist bewusst minimal gehalten und dient weithin als leichtgewichtige Referenz für OpenSCENARIO 1.x — klein genug, um den Code zu lesen, schnell genug für eingebettete Anwendungen und verlässlich genug als Plausibilitätsprüfung.
Was esmini leistet
Abschnitt betitelt „Was esmini leistet“esmini parst eine OpenSCENARIO-1.x-Datei (.xosc), lädt das referenzierte OpenDRIVE-Straßennetz (.xodr) und führt das Storyboard aus: Es bewegt Entitäten entlang von Trajektorien oder Controllern und streamt den resultierenden Zustand.
Ein vollständiger physikbasierter Simulator wie CARLA oder LGSVL ist esmini nicht — und genau das ist der Punkt. esmini ist die Open-Source-Baseline, an der sich die meisten OpenSCENARIO-Werkzeuge messen, wenn sie prüfen wollen: „Parst und spielt dieses Szenario korrekt ab?”
Warum esmini für Tooling relevant ist
Abschnitt betitelt „Warum esmini für Tooling relevant ist“Weil esmini der verbreitetste Open-Source-Abnehmer für OpenSCENARIO 1.x ist, gilt „Läuft es in esmini?” als Standard-Plausibilitätsprüfung für jede OpenSCENARIO-Export-Pipeline. Die meisten Werkzeuge, die ASAM-Dateien erzeugen, validieren gegen esmini, bevor sie OpenSCENARIO-Unterstützung beanspruchen — darunter RoadRunner (das Szenarien exportiert, die „mit jedem OpenSCENARIO-konformen Simulator und Player kompatibel sind, etwa CARLA, esmini und IPG CarMaker”) und viele andere.
Typische esmini-Eingaben
Abschnitt betitelt „Typische esmini-Eingaben“esmini benötigt mindestens:
- Eine
.xosc-Datei (OpenSCENARIO-Szenario). - Eine
.xodr-Datei (OpenDRIVE-Straßennetz), auf die die.xoscverweist. - Optional eine
.osgb-Datei für das 3D-Viewer-Rendering oder einModels/-Verzeichnis mit Fahrzeug-Assets.
Werden diese Dateien zu einem eigenständigen Zip gebündelt — manchmal informell „esmini-Bundle” genannt —, lassen sich Szenarien problemlos zwischen Rechnern und CI-Systemen austauschen.
Wo drawtonomy ansetzt
Abschnitt betitelt „Wo drawtonomy ansetzt“drawtonomy führt esmini selbst aus — kompiliert zu WebAssembly — direkt im Browser. Sie erstellen ein Storyboard (oder öffnen eine bestehende .xosc), drücken Play, und der Szenario-Editor führt es direkt auf der Seite aus: Wiedergabesteuerung, Sprungmarken, eine Verfolgungskamera, Ghost-Trails und ein PASS-/FAIL-Urteil auf Basis Ihrer END- und FAIL-Bedingungen — ohne Installation, ohne separaten Player. Der Simulationskern ist esmini; drawtonomy ergänzt lediglich die canvas-native Hülle darum.
Wer das Szenario lieber in einer nativen esmini-Installation ausführen möchte (für den 3D-OpenSceneGraph-Viewer, CI-Sweeps oder eine Python-/C++-Pipeline), kann in drawtonomy auch ein Zip mit .xosc, .xodr und einem run.sh-Aufruf exportieren:
unzip <name>.zipesmini --osc <name>/<name>.xosc --window 60 60 1024 768Wissenswertes:
- Der Player im Browser liest OpenSCENARIO 1.x, und der ASAM-Export schreibt OpenSCENARIO 1.0–1.2 / OpenDRIVE 1.8 — beide decken eine Teilmenge der Spezifikation ab: Aktionen, bedingte Trigger, Phasen und Events laufen korrekt, und auch OpenDRIVE-Junction-Primitive sowie
<signal>-Einträge werden erzeugt. Junctions, die unverändert aus einer importierten.xodrübernommen werden, sind hochpräzise; Junctions, die aus einem handgezeichneten Fahrspurnetz neu synthetisiert werden, sind noch nicht zuverlässig. Parametervariationen sowie eigene oder ML-gesteuerte Controller werden derzeit nicht erzeugt. - Fahrzeug-Assets greifen standardmäßig auf esminis integrierte Modelle zurück, sodass keine zusätzliche
.osgb-Datei nötig ist. - Für groß angelegte oder parametrisierte Szenario-Sweeps empfiehlt sich die Generierung der Flotte aus einer DSL oder einer Python-Bibliothek — das bleibt außerhalb des Funktionsumfangs des visuellen Editors.
Weiterführende Informationen
Abschnitt betitelt „Weiterführende Informationen“- Szenario-Editor — Storyboards im Browser auf esmini-WASM erstellen und ausführen.
- Eine bestehende .xosc öffnen und abspielen —
.xoscablegen und Play drücken. - Was ist OpenSCENARIO?
- Was ist OpenDRIVE?
- Nach ASAM OpenDRIVE / OpenSCENARIO exportieren