Skip to content

What is OpenDRIVE?

OpenDRIVE is the ASAM open standard for describing the static road network in driving simulations. The format carries an .xodr extension and is the canonical road-geometry container that OpenSCENARIO files reference.

An .xodr document describes the road network analytically — not as a set of polygons, but as parametric geometry:

  • Roads with reference lines, expressed as line, arc, spiral, poly3, or paramPoly3 segments along the s-axis.
  • Lane sections with left, center, and right lanes; each lane has widths, types, and lane-to-lane successor / predecessor links.
  • Junctions that connect roads at intersections, with explicit incoming-road to connecting-road mappings.
  • Road objects like guardrails, traffic signs, traffic lights, and crosswalks.
  • Elevation and superelevation profiles for the road’s 3D shape.

The analytical representation is what lets simulators query “what is the lane center at s=42m on road 7” cheaply. It is also why the format is generally edited through tools rather than by hand.

  • OpenDRIVE 1.4 / 1.5 — long-time stable revisions, still common in older tools.
  • OpenDRIVE 1.6 / 1.7 — incremental improvements and clarifications.
  • OpenDRIVE 1.8 — the current revision that drawtonomy targets in its export. RoadRunner supports the full 1.4–1.8 range for import and export.

Tools tend to be backward-compatible but not forward-compatible — check what your simulator expects.

Two HD-map-adjacent formats often confused:

AspectOpenDRIVELanelet2
OriginASAM, simulation industryAutoware, FZI
GeometryAnalytical (arc, spiral, polynomial)Polylines (lanelets bounded by linestrings)
Primary consumerCARLA, esmini, RoadRunner, Cognata, SCANeRAutoware planning, perception ground truth
StorageXML .xodrOSM XML

Both can describe similar road networks but optimise for different downstream tasks. See What is Lanelet2? for the other side.

  • MathWorks RoadRunner — a widely used HD-map editor with full OpenDRIVE 1.4–1.8 support. Commercial, with campus licenses available at many universities.
  • Truevision Designer — a desktop OpenDRIVE editor, free for non-commercial use, often used as an open alternative to RoadRunner.
  • Blender Driving Scenario Creator — open-source Blender add-on with triple clothoid road geometry and proper junction support.
  • LaneMaker — a free, Apache-2.0 desktop editor for road networks with built-in traffic simulation, aimed at casual users.
  • odrviewer.io and odrplot — viewer-side tools for inspecting .xodr files in the browser, without editing.
  • drawtonomy — a browser whiteboard that imports and exports OpenDRIVE (up to 1.8), with carry-through round-trips.

drawtonomy is a 2D, browser-based OpenDRIVE editor. It is not a RoadRunner / Truevision / BDSC replacement for 3D HD-map authoring, but for 2D road-network work it covers a full loop:

  • Import a .xodr, select the roads you need, and edit lanes, junctions, and connections visually.
  • Draw road layouts from scratch — intersections, lane merges, lane geometry — and place traffic lights, traffic signs, stop lines, and right-of-way relations as editable regulatory elements linked to the lanes they govern.
  • Export OpenDRIVE 1.8 alongside an OpenSCENARIO 1.2 file, or together as an esmini-ready zip.
  • Round-trip: roads, signals, and signs you don’t edit are re-emitted from the original .xodr verbatim through carry-through, so their analytical geometry and the full <signal> attribute set are preserved (verified in esmini 3.3.0).
  • Everything runs in the browser. No install, no account.

Where the 2D polyline model shows its limits:

  • 3D detail — elevation, banking, bridges, grade separation. drawtonomy’s canvas is 2D, so vertical geometry is dropped on import and not authored on export. For 3D HD maps, use a dedicated HD-mapping tool.
  • Analytical curvature of roads you draw from scratch. They’re fitted to OpenDRIVE geometry from sampled points rather than edited as native clothoid coefficients. Fine for esmini / CARLA / Autoware playback, not for road-design CAD. Roads you imported and didn’t reshape keep their original analytical geometry via carry-through.

See the Exporter Developer Guide for exact converter behaviour.