¿Qué es OpenSCENARIO?
OpenSCENARIO es un estándar abierto de ASAM para describir escenarios de conducción dinámicos — qué hacen el vehículo ego y los demás participantes en el tráfico a lo largo del tiempo, en una forma que los simuladores pueden reproducir. Es el formato de intercambio de facto para las pruebas de sistemas de conducción automatizada basadas en escenarios.
Las dos familias de OpenSCENARIO
Sección titulada «Las dos familias de OpenSCENARIO»Existen dos especificaciones en gran medida independientes que comparten el nombre:
- OpenSCENARIO 1.x — basado en XML. Estable y ampliamente compatible. La revisión 1.3 es el objetivo de producción actual para la mayoría de las herramientas.
- OpenSCENARIO 2.0 / DSL — un lenguaje de dominio específico para escenarios abstractos, paramétricos y probabilísticos. Más nuevo y expresivo, con soporte de herramientas en crecimiento.
Los dos formatos no son intercambiables, pero 1.x es el que la mayoría de los simuladores y los pipelines de prueba SOTIF / ISO 21448 consumen hoy en día.
Qué contiene un archivo OpenSCENARIO 1.x
Sección titulada «Qué contiene un archivo OpenSCENARIO 1.x»Un escenario 1.x generalmente consta de:
- Una referencia RoadNetwork — normalmente un archivo OpenDRIVE
.xodr, opcionalmente acompañado de un archivo de grafo de escena como.osgb. - Un bloque Entities — los vehículos, peatones y objetos varios.
- Storyboard — los actos, maniobras y eventos ordenados en el tiempo que realizan las entidades.
- Acciones Init — posiciones de inicio, velocidades y asignaciones de parámetros.
El XML resulta legible de forma natural para un escenario corto único, pero se vuelve difícil de mantener al escalar a docenas de variantes. Ahí es donde ayudan las herramientas de autoría y los DSLs.
Enfoques de autoría habituales
Sección titulada «Enfoques de autoría habituales»- XML escrito a mano. Común en equipos pequeños y para fixtures de referencia.
- DSL / generación de código. El DSL de OpenSCENARIO 2.0, Scenic, o generadores internos producen XML a partir de descripciones de alto nivel.
- Bibliotecas Python. scenariogeneration (anteriormente
pyoscx/pyodrx) ofrece una API programática para OpenSCENARIO + OpenDRIVE, con cobertura de las versiones V1.0 a V1.3.1. - Motores de escenarios incluidos en simuladores. CARLA ScenarioRunner define y ejecuta escenarios para CARLA, con soporte de Python y OpenSCENARIO 1.0 / 2.0.
- Editores visuales. MathWorks RoadRunner (exporta XML y DSL), Truevision Designer (centrado en OpenDRIVE), Blender Driving Scenario Creator (complemento para Blender) y drawtonomy (pizarra en el navegador con exportación parcial).
La autoría de escenarios en producción suele usar una o varias de estas opciones — frecuentemente una biblioteca Python o DSL para los escenarios en sí, junto a un editor visual para la red vial.
El papel de drawtonomy
Sección titulada «El papel de drawtonomy»drawtonomy es una pizarra en el navegador con exportación parcial de OpenSCENARIO 1.3 / OpenDRIVE 1.8. Según su documentación del exportador:
- Coloca carriles, intersecciones, vehículos, peatones, semáforos y marcas viales en un lienzo 2D desde arriba.
- Exporta un zip
.xosc+.xodr+run.shque reproduce escenas simples en esmini.
El exportador cubre un subconjunto deliberado de la especificación. Cosas que no emite hoy (señaladas como elementos de la hoja de ruta en el SDK):
- Primitivas de cruce de OpenDRIVE (
<junction>). - Señales de tráfico como entradas
<signal>de OpenDRIVE. - Perfiles de aceleración, eventos de parada / espera, rutas con semáforos, acciones de cambio de carril o guiones con múltiples actores complejos.
- Disparadores condicionales, barridos de parámetros, controladores personalizados o impulsados por ML.
En la práctica, trata la exportación de OpenSCENARIO de drawtonomy como un punto de partida de boceto — útil como base que puedes editar a mano o para producir la figura que acompaña a un escenario, no como un flujo de autoría de escenarios en producción.