Qu'est-ce qu'esmini ?
esmini est un lecteur OpenSCENARIO open-source développé par la communauté ADAS suédoise. C’est un lecteur délibérément minimal, largement utilisé comme référence légère pour OpenSCENARIO 1.x — assez compact pour être lisible, assez rapide pour être embarqué, et assez prévisible pour servir de test de cohérence.
Ce que fait esmini
Section intitulée « Ce que fait esmini »esmini analyse un fichier OpenSCENARIO 1.x .xosc, charge le réseau routier OpenDRIVE .xodr qu’il référence, puis exécute le storyboard : il fait avancer les entités le long de trajectoires ou via des contrôleurs, et diffuse l’état résultant.
Ce n’est pas un simulateur physique complet comme CARLA ou LGSVL. Cette sobriété est justement l’intérêt : esmini fait office de référence open-source « ce scénario s’analyse-t-il et se joue-t-il correctement ? », celle que vise la majorité des outillages OpenSCENARIO.
Pourquoi esmini compte pour l’outillage
Section intitulée « Pourquoi esmini compte pour l’outillage »esmini étant le consommateur open-source OpenSCENARIO 1.x le plus répandu, « est-ce que ça tourne dans esmini ? » constitue le test de cohérence standard pour tout pipeline d’export OpenSCENARIO. La plupart des outils qui produisent des fichiers ASAM valident contre esmini avant de revendiquer un support OpenSCENARIO — dont RoadRunner (qui exporte des scénarios « compatibles avec tout simulateur ou lecteur conforme OpenSCENARIO, tels que CARLA, esmini ou IPG CarMaker ») et bien d’autres.
Entrées typiques d’esmini
Section intitulée « Entrées typiques d’esmini »esmini a besoin, au minimum, de :
- Un
.xosc(scénario OpenSCENARIO). - Un
.xodr(réseau routier OpenDRIVE) référencé depuis le.xosc. - Éventuellement un fichier
.osgbpour le rendu dans le viewer 3D, ou un répertoireModels/d’assets véhicules.
Regrouper ces fichiers dans un zip autonome — parfois appelé informellement un « bundle esmini » — rend les scénarios portables d’une machine à l’autre et en intégration continue.
La place de drawtonomy
Section intitulée « La place de drawtonomy »drawtonomy exécute esmini lui-même — compilé en WebAssembly — directement dans le navigateur. Vous rédigez un storyboard (ou ouvrez un .xosc existant), appuyez sur lecture, et l’éditeur de scénario l’exécute dans la page : contrôles de lecture, navigation temporelle, caméra de poursuite, traînées fantômes, et un verdict PASS / FAIL calculé à partir de vos conditions de fin et d’échec — sans installation, sans lecteur séparé. Le cœur de simulation est esmini ; drawtonomy y ajoute l’écrin natif du canevas.
Si vous préférez exécuter le scénario dans une installation esmini native (pour le viewer 3D OpenSceneGraph, des campagnes CI, ou un pipeline Python/C++), drawtonomy exporte aussi un zip avec le .xosc, le .xodr, et une invocation run.sh :
unzip <nom>.zipesmini --osc <nom>/<nom>.xosc --window 60 60 1024 768Points à connaître :
- Le lecteur intégré au navigateur lit OpenSCENARIO 1.x, et l’export ASAM écrit OpenSCENARIO 1.0–1.2 / OpenDRIVE 1.8 — les deux couvrent un sous-ensemble de la spécification : actions, déclencheurs conditionnels, phases et événements s’exécutent, et les primitives de jonction OpenDRIVE ainsi que les entrées
<signal>sont également émises. Les jonctions reprises telles quelles depuis un.xodrimporté sont fidèles ; celles synthétisées à partir d’un réseau de voies dessiné à la main ne sont pas encore fiables. Les balayages de paramètres et les contrôleurs personnalisés ou pilotés par IA ne sont pas encore émis. - Les assets véhicules utilisent par défaut les modèles intégrés d’esmini, donc aucun
.osgbsupplémentaire n’est requis. - Pour les campagnes de scénarios à grande échelle ou paramétrées, générez la flotte depuis un DSL ou une bibliothèque Python — cela reste hors du périmètre de l’éditeur visuel.
Pour aller plus loin
Section intitulée « Pour aller plus loin »- Éditeur de scénario — rédigez et exécutez des storyboards dans le navigateur sur esmini-WASM.
- Ouvrir et lire un .xosc existant — déposez un
.xoscet appuyez sur lecture. - Qu’est-ce qu’OpenSCENARIO ?
- Qu’est-ce qu’OpenDRIVE ?
- Exporter vers ASAM OpenDRIVE / OpenSCENARIO