¿Qué es esmini?
esmini es un reproductor de OpenSCENARIO de código abierto desarrollado por la comunidad sueca de ADAS. Es deliberadamente mínimo y se usa mucho como referencia ligera para OpenSCENARIO 1.x: lo bastante pequeño para leer su código, lo bastante rápido para integrarlo y lo bastante predecible para usarlo como verificación básica.
Qué hace esmini
Sección titulada «Qué hace esmini»esmini analiza un .xosc de OpenSCENARIO 1.x, carga la red vial .xodr de OpenDRIVE que referencia y ejecuta el storyboard: conduce las entidades a lo largo de trayectorias o controladores y transmite el estado resultante.
No es un simulador físico completo como CARLA o LGSVL. Esa minimalidad es justo el punto: esmini es la referencia de código abierto que responde “¿este escenario se analiza y reproduce correctamente?”, y la mayoría del tooling de OpenSCENARIO la usa como objetivo.
Por qué esmini importa para el tooling
Sección titulada «Por qué esmini importa para el tooling»Como esmini es el consumidor de código abierto más habitual de OpenSCENARIO 1.x, “¿funciona en esmini?” es la verificación estándar para cualquier pipeline de exportación de OpenSCENARIO. La mayoría de las herramientas que producen archivos ASAM validan contra esmini antes de declarar soporte de OpenSCENARIO, entre ellas RoadRunner (que exporta escenarios “compatibles con cualquier simulador o reproductor conforme a OpenSCENARIO, como CARLA, esmini e IPG CarMaker”) y muchas otras.
Entradas típicas de esmini
Sección titulada «Entradas típicas de esmini»Como mínimo, esmini necesita:
- Un
.xosc(escenario OpenSCENARIO). - Un
.xodr(red vial OpenDRIVE) referenciado desde el.xosc. - Opcionalmente, un archivo
.osgbpara el renderizado del visor 3D, o un directorioModels/con los activos de los vehículos.
Empaquetar todo esto en un zip autocontenido — a veces llamado informalmente “paquete esmini” — hace que los escenarios sean portables entre máquinas y entornos de CI.
Dónde encaja drawtonomy
Sección titulada «Dónde encaja drawtonomy»drawtonomy ejecuta esmini directamente en el navegador, compilado a WebAssembly. Creas un storyboard (o abres un .xosc existente), pulsas play, y el editor de escenarios lo ejecuta en la propia página: controles de transporte, búsqueda temporal, cámara de seguimiento, estelas fantasma y un veredicto PASS / FAIL a partir de tus condiciones END y FAIL — sin instalar nada, sin un reproductor aparte. El núcleo de simulación es esmini; drawtonomy añade la capa nativa de lienzo alrededor.
Si prefieres ejecutar el escenario en una instalación nativa de esmini (para el visor 3D de OpenSceneGraph, barridos en CI o un pipeline en Python/C++), drawtonomy también exporta un zip con el .xosc, el .xodr y una invocación run.sh:
unzip <nombre>.zipesmini --osc <nombre>/<nombre>.xosc --window 60 60 1024 768Aspectos a tener en cuenta:
- El reproductor en el navegador lee OpenSCENARIO 1.x, y la exportación ASAM escribe OpenSCENARIO 1.0–1.2 / OpenDRIVE 1.8 — ambos cubren un subconjunto de la especificación: se ejecutan acciones, disparadores condicionales, fases y eventos, y también se generan primitivas de cruce de OpenDRIVE y entradas
<signal>. Los cruces que se conservan sin editar desde un.xodrimportado tienen alta fidelidad; los cruces sintetizados a partir de una red de carriles dibujada a mano todavía no son fiables. Los barridos de parámetros y los controladores personalizados o impulsados por ML no se generan hoy. - Los activos de vehículos usan por defecto los modelos integrados de esmini, así que no hace falta ningún
.osgbadicional. - Para escenarios a gran escala o con barridos paramétricos, genera la flota desde un DSL o una biblioteca de Python; eso sigue quedando fuera del alcance del editor visual.
Lecturas relacionadas
Sección titulada «Lecturas relacionadas»- Editor de escenarios — crea y ejecuta storyboards en el navegador sobre esmini-WASM.
- Abrir y reproducir un .xosc existente — arrastra un
.xoscy pulsa play. - ¿Qué es OpenSCENARIO?
- ¿Qué es OpenDRIVE?
- Exportar a ASAM OpenDRIVE / OpenSCENARIO