Skip to content

drawtonomy and CARLA ScenarioRunner

drawtonomy and CARLA ScenarioRunner are not competing tools. They sit at different layers in the same ecosystem:

  • drawtonomy — a 2D browser editor that authors an OpenSCENARIO 1.2 storyboard (actions, triggers, end / fail conditions) and runs it in the browser on esmini-WASM. Outputs OpenSCENARIO 1.2 + OpenDRIVE 1.8.
  • CARLA ScenarioRunner — a Python-based scenario definition and execution engine for the CARLA simulator, with full sensor simulation. Consumes OpenSCENARIO 1.0 / 2.0 (and scenarios defined in its Python interface).

The relationship is “drawtonomy produces, ScenarioRunner consumes” — when the formats line up.

Per the official docs:

  • Scenario definition through a Python interface, or through the OpenSCENARIO standard.
  • Support for OpenSCENARIO 1.0 — covers initial support for maneuver Actions, Conditions, Stories, and the Storyboard.
  • Support for the OpenSCENARIO 2.0 standard.
  • Python-based, no build step required.
  • Open-source under the same license as CARLA.

ScenarioRunner is the standard way to define and execute scenarios inside CARLA.

drawtonomy’s exporter emits a subset of OpenSCENARIO 1.2. ScenarioRunner targets OpenSCENARIO 1.0 primarily, so there may be spec-version mismatches at the edges. drawtonomy’s primary playback target is esmini, which handles 1.x more uniformly.

If you want to use drawtonomy output with CARLA:

  • The .xosc may need aligning with the spec version ScenarioRunner accepts (drawtonomy exports up to 1.2, ScenarioRunner primarily 1.0), so a few elements can need adjustment at the edges.
  • The .xodr is OpenDRIVE 1.8 — CARLA accepts a range of OpenDRIVE versions.
  • What genuinely belongs in ScenarioRunner’s Python interface rather than drawtonomy: ML controllers, parameter sweeps, and anything that needs CARLA’s sensor simulation. drawtonomy authors and runs the storyboard logic — actions, triggers, end / fail conditions — but does not produce sensor data.

A reasonable pattern: author and validate the scenario in drawtonomy’s browser player (fast, no CARLA install), then run the same .xosc through ScenarioRunner when you need CARLA’s sensor-grade simulation.

CARLA, ScenarioRunner, drawtonomy, esmini, Scenic, scenariogeneration, RoadRunner, and Blender DSC are all part of the same OpenSCENARIO ecosystem, working on different layers (authoring, generation, execution, playback). drawtonomy’s role is visual authoring plus a fast in-browser player; CARLA’s is sensor-grade closed-loop simulation.