Vad är esmini?
esmini är en OpenSCENARIO-spelare med öppen källkod, utvecklad av den svenska ADAS-communityn. Det är en medvetet minimal spelare som är brett använd som lätt referensimplementation för OpenSCENARIO 1.x — liten nog att läsa igenom, snabb nog att bädda in och förutsägbar nog att använda som sanitetskontroll.
Vad esmini gör
Section titled “Vad esmini gör”esmini tolkar en OpenSCENARIO 1.x-fil (.xosc), laddar det refererade OpenDRIVE-vägnätverket (.xodr) och kör storyboardet — driver entiteterna längs banor eller styrenheter och strömmar det resulterande tillståndet.
Det är ingen fullständig fysikbaserad simulator som CARLA eller LGSVL. Minimaliteten är själva poängen: esmini är den öppna källkods-baseline för “tolkar och spelar det här scenariot korrekt?” som de flesta OpenSCENARIO-verktyg mäter sig mot.
Varför esmini spelar roll för verktygskedjan
Section titled “Varför esmini spelar roll för verktygskedjan”Eftersom esmini är den vanligaste öppen källkods-konsumenten av OpenSCENARIO 1.x är frågan “fungerar det i esmini?” standardsanitetskontrollen för varje OpenSCENARIO-exportpipeline. De flesta verktyg som producerar ASAM-filer validerar mot esmini innan de påstår sig ha OpenSCENARIO-stöd — inklusive RoadRunner (som exporterar scenarier “kompatibla med alla OpenSCENARIO-kompatibla simulatorer och spelare, som CARLA, esmini och IPG CarMaker”) och många andra.
Typiska indata till esmini
Section titled “Typiska indata till esmini”esmini behöver som minimum:
- En
.xosc(OpenSCENARIO-scenario). - En
.xodr(OpenDRIVE-vägnätverk) refererad från.xosc. - Eventuellt en
.osgb-fil för 3D-rendering i visaren, eller enModels/-katalog med fordonstillgångar.
Att paketera dessa som en självständig zip — ibland informellt kallad en “esmini-bunt” — gör scenarier portabla mellan maskiner och CI.
Var drawtonomy passar in
Section titled “Var drawtonomy passar in”drawtonomy kör esmini själv — kompilerat till WebAssembly — direkt i webbläsaren. Du bygger ett storyboard (eller öppnar en befintlig .xosc), trycker på play, och scenarioredigeraren kör det i sidan: transportkontroller, sökning i tidslinjen, en följekamera, spökspår och ett PASS/FAIL-utslag från dina END- och FAIL-villkor — ingen installation, ingen separat spelare krävs. Simuleringskärnan är esmini; drawtonomy lägger till skalet med kanvasen runt den.
Vill du hellre köra scenariot i en native esmini-installation (för 3D-visaren med OpenSceneGraph, CI-svep eller en Python-/C++-pipeline), exporterar drawtonomy också en zip med .xosc, .xodr och ett run.sh-anrop:
unzip <namn>.zipesmini --osc <namn>/<namn>.xosc --window 60 60 1024 768Bra att veta:
- Spelaren i webbläsaren läser OpenSCENARIO 1.x, och ASAM-exporten skriver OpenSCENARIO 1.0–1.2 / OpenDRIVE 1.8 — båda täcker en delmängd av specifikationen: actions, villkorsstyrda triggers, faser och händelser körs, och även OpenDRIVE-korsningsprimitiver och
<signal>-poster genereras. Korsningar som förs vidare oredigerade från en importerad.xodrhar hög trohet; korsningar som byggs upp från ett handritat körfältsnätverk är ännu inte lika tillförlitliga. Parametersvep och anpassade eller ML-drivna styrenheter genereras inte i dag. - Fordonstillgångar använder esmini:s inbyggda modeller som standard, så ingen extra
.osgbbehövs. - För storskaliga eller parametriserade scenariosvep genererar du flottan från en DSL eller ett Python-bibliotek — det ligger utanför det visuella redigeringsverktygets fokus.
Relaterad läsning
Section titled “Relaterad läsning”- Scenarioredigerare — bygg och kör storyboards i webbläsaren på esmini-WASM.
- Öppna och spela upp en befintlig .xosc — släpp en
.xoscoch tryck på play. - Vad är OpenSCENARIO?
- Vad är OpenDRIVE?
- Exportera till ASAM OpenDRIVE / OpenSCENARIO