Cos'è esmini?
esmini è un player OpenSCENARIO open-source sviluppato dalla comunità ADAS svedese. È un player deliberatamente minimale ampiamente utilizzato come riferimento leggero per OpenSCENARIO 1.x — abbastanza piccolo da leggere, abbastanza veloce da incorporare e abbastanza prevedibile da usare come sanity check.
Cosa fa esmini
Sezione intitolata “Cosa fa esmini”esmini analizza un OpenSCENARIO 1.x .xosc, carica la rete stradale OpenDRIVE .xodr a cui si fa riferimento ed esegue lo storyboard — guidando le entità lungo traiettorie o controller e trasmettendo lo stato risultante.
Non è un simulatore fisico completo come CARLA o LGSVL. La minimalità è il punto: esmini è il “questo scenario si analizza e riproduce correttamente?” open-source di riferimento che la maggior parte degli strumenti OpenSCENARIO ha come target.
Perché esmini è importante per gli strumenti
Sezione intitolata “Perché esmini è importante per gli strumenti”Poiché esmini è il consumer OpenSCENARIO 1.x open-source più comune, “funziona in esmini?” è il sanity check standard per qualsiasi pipeline di esportazione OpenSCENARIO. La maggior parte degli strumenti che producono file ASAM validano contro esmini prima di affermare il supporto OpenSCENARIO — incluso RoadRunner e molti altri.
Input tipici di esmini
Sezione intitolata “Input tipici di esmini”esmini richiede, come minimo:
- Un
.xosc(scenario OpenSCENARIO). - Un
.xodr(rete stradale OpenDRIVE) a cui si fa riferimento nel.xosc. - Opzionalmente un file
.osgbper il rendering del visualizzatore 3D, o una directoryModels/di asset veicoli.
Impacchettarli insieme come zip autonomo — a volte informalmente chiamato “bundle esmini” — rende gli scenari portabili tra macchine e CI.
Dove si inserisce drawtonomy
Sezione intitolata “Dove si inserisce drawtonomy”drawtonomy esegue esmini stesso — compilato in WebAssembly — direttamente nel browser. Componi uno storyboard (o apri un .xosc esistente), premi play, e l’editor di scenari lo esegue nella pagina: controlli di riproduzione, seek, una camera di inseguimento, tracce ghost e un verdetto PASS / FAIL basato sulle tue condizioni END e FAIL — nessuna installazione, nessun player separato. Il motore di simulazione è esmini; drawtonomy aggiunge il guscio nativo del canvas attorno ad esso.
Se preferisci eseguire lo scenario in un’installazione esmini nativa (per il visualizzatore 3D OpenSceneGraph, sweep CI, o una pipeline Python/C++), drawtonomy esporta anche uno zip con .xosc, .xodr e un’invocazione run.sh:
unzip <nome>.zipesmini --osc <nome>/<nome>.xosc --window 60 60 1024 768Cose da sapere:
- Il player in-browser legge OpenSCENARIO 1.x, e l’export ASAM scrive OpenSCENARIO 1.0–1.2 / OpenDRIVE 1.8 — entrambi coprono un sottoinsieme della specifica: azioni, trigger condizionali, fasi ed eventi funzionano, e vengono emesse anche le primitive di giunzione OpenDRIVE e le voci
<signal>. Le giunzioni riportate invariate da un.xodrimportato sono ad alta fedeltà; le giunzioni sintetizzate da una rete di corsie disegnate a mano non sono ancora affidabili. Gli sweep di parametri e i controller personalizzati o guidati da ML non vengono emessi oggi. - I modelli di veicoli usano di default i modelli integrati di esmini, quindi non è necessario alcun
.osgbextra. - Per sweep di scenari a larga scala o parametrizzati, genera la flotta da un DSL o da una libreria Python — restano fuori dall’ambito dell’editor visuale.
Letture correlate
Sezione intitolata “Letture correlate”- Editor di scenari — componi ed esegui storyboard nel browser su esmini-WASM.
- Apri ed esegui un .xosc esistente — trascina un
.xosce premi play. - Cos’è OpenSCENARIO?
- Cos’è OpenDRIVE?
- Esporta in ASAM OpenDRIVE / OpenSCENARIO