O que é esmini?
esmini é um player de OpenSCENARIO de código aberto desenvolvido pela comunidade ADAS sueca. É um player deliberadamente minimalista, usado amplamente como referência leve para OpenSCENARIO 1.x — pequeno o bastante para ler, rápido o bastante para embarcar em outros projetos e previsível o bastante para servir de verificação de sanidade.
O que o esmini faz
Seção intitulada “O que o esmini faz”O esmini analisa um .xosc (OpenSCENARIO 1.x), carrega a rede viária OpenDRIVE .xodr referenciada e executa o storyboard — conduzindo as entidades por trajetórias ou controladores e transmitindo o estado resultante.
Não é um simulador completo baseado em física como CARLA ou LGSVL. A minimalidade é justamente o ponto: o esmini é a base de código aberto que responde “esse cenário carrega e roda corretamente?”, e é nela que a maior parte das ferramentas de OpenSCENARIO se apoia.
Por que o esmini importa para o ecossistema de ferramentas
Seção intitulada “Por que o esmini importa para o ecossistema de ferramentas”Como o esmini é o consumidor de OpenSCENARIO 1.x de código aberto mais usado, “roda no esmini?” virou a verificação de sanidade padrão para qualquer pipeline de exportação OpenSCENARIO. A maioria das ferramentas que geram arquivos ASAM valida contra o esmini antes de anunciar suporte a OpenSCENARIO — incluindo o RoadRunner (que exporta cenários “compatíveis com qualquer simulador ou player compatível com OpenSCENARIO, como CARLA, esmini e IPG CarMaker”) e vários outros.
Entradas típicas do esmini
Seção intitulada “Entradas típicas do esmini”No mínimo, o esmini precisa de:
- Um
.xosc(cenário OpenSCENARIO). - Um
.xodr(rede viária OpenDRIVE) referenciado pelo.xosc. - Opcionalmente, um arquivo
.osgbpara o visualizador 3D, ou um diretórioModels/com os ativos dos veículos.
Empacotar tudo isso em um zip autossuficiente — às vezes chamado informalmente de “bundle esmini” — torna os cenários portáveis entre máquinas e pipelines de CI.
Onde o drawtonomy entra
Seção intitulada “Onde o drawtonomy entra”O drawtonomy roda o próprio esmini — compilado para WebAssembly — direto no navegador. Você monta um storyboard (ou abre um .xosc já existente), aperta play, e o editor de cenários executa tudo na página: controles de transporte, seek, câmera de acompanhamento, rastros fantasma e um veredito PASS / FAIL a partir das suas condições END e FAIL — sem instalação, sem player separado. O núcleo de simulação é o esmini; o drawtonomy só adiciona a camada nativa de canvas ao redor dele.
Se você preferir rodar o cenário em uma instalação nativa do esmini (para usar o visualizador 3D OpenSceneGraph, varreduras em CI ou um pipeline Python/C++), o drawtonomy também exporta um zip com o .xosc, o .xodr e uma chamada run.sh:
unzip <name>.zipesmini --osc <name>/<name>.xosc --window 60 60 1024 768O que você precisa saber:
- O player no navegador lê OpenSCENARIO 1.x, e a exportação ASAM escreve OpenSCENARIO 1.0–1.2 / OpenDRIVE 1.8 — os dois cobrem um subconjunto da especificação: ações, triggers condicionais, phases e events rodam normalmente, e primitivas de junção do OpenDRIVE e entradas
<signal>também são emitidas. Junções que vêm de um.xodrimportado e não foram editadas têm alta fidelidade; já junções sintetizadas a partir de uma rede de faixas desenhada à mão ainda não são totalmente confiáveis. Varreduras de parâmetros e controladores customizados ou orientados a ML continuam não sendo emitidos. - Os ativos de veículos usam por padrão os modelos embutidos do esmini, então nenhum
.osgbextra é necessário. - Para varreduras de cenários em larga escala ou parametrizadas, gere a frota a partir de uma DSL ou de uma biblioteca Python — isso continua fora do escopo do editor visual.
Leitura relacionada
Seção intitulada “Leitura relacionada”- Editor de cenários — monte e rode storyboards no navegador, sobre o esmini-WASM.
- Abrir e reproduzir um .xosc existente — solte um
.xosce aperte play. - O que é OpenSCENARIO?
- O que é OpenDRIVE?
- Exportar para ASAM OpenDRIVE / OpenSCENARIO