What is esmini?
esmini is an open-source OpenSCENARIO player developed by the Swedish ADAS community. It’s a deliberately minimal player widely used as a lightweight reference for OpenSCENARIO 1.x — small enough to read, fast enough to embed, and predictable enough to use as a sanity check.
What esmini does
Section titled “What esmini does”esmini parses an OpenSCENARIO 1.x .xosc, loads the referenced OpenDRIVE .xodr road network, and executes the storyboard — driving entities along trajectories or controllers and streaming the resulting state.
It’s not a full physics-based simulator like CARLA or LGSVL. The minimality is the point: esmini is the open-source “does this scenario parse and play correctly?” baseline that most OpenSCENARIO tooling targets.
Why esmini matters for tooling
Section titled “Why esmini matters for tooling”Because esmini is the most common open-source OpenSCENARIO 1.x consumer, “does it run in esmini?” is the standard sanity check for any OpenSCENARIO export pipeline. Most tools that produce ASAM files validate against esmini before claiming OpenSCENARIO support — including RoadRunner (which exports scenarios “compatible with any OpenSCENARIO-compliant simulators and players, such as CARLA, esmini, and IPG CarMaker”) and many others.
Typical esmini inputs
Section titled “Typical esmini inputs”esmini wants, at minimum:
- A
.xosc(OpenSCENARIO scenario). - A
.xodr(OpenDRIVE road network) referenced from the.xosc. - Optionally a
.osgbfile for 3D viewer rendering, or aModels/directory of vehicle assets.
Packaging these together as a self-contained zip — sometimes informally called an “esmini bundle” — makes scenarios portable across machines and CI.
Where drawtonomy fits
Section titled “Where drawtonomy fits”drawtonomy can export a zip with a .xosc, .xodr, and a run.sh invocation, targeted at a stock esmini install. Per drawtonomy’s exporter docs:
unzip <name>.zipesmini --osc <name>/<name>.xosc --window 60 60 1024 768Things to know:
- The exporter covers a subset of OpenSCENARIO 1.3 / OpenDRIVE 1.8 — simple scenes play back; conditional triggers, parameter sweeps, complex storyboards, and OpenDRIVE junctions aren’t emitted today.
- Vehicle assets default to esmini’s built-in models, so no extra
.osgbis required. - The output is meant as a starting point — useful for sketching, teaching, demos, and minimal reproducers. For large-scale or parameterised scenario sweeps, hand-edit the XML or generate it from a DSL.