A curated list of awesome applications, libraries and datasets concerning the development and testing of automated driving functions with a focus on ASAM OpenX Standards (e.g. OpenDRIVE, OpenSCENARIO, OpenLABEL, ...).
This is a list of free software and datasets, whereas non-free software will be listed on the non-free page. Also, check out ASAM's official open source platform. The structure of this list was inspired by awesome selfhosted.
- CARLA - Driving simulator based on the Unreal Engine. (Demo, Source Code)
MIT
C++
- scenario_runner - Traffic scenario definition and execution for CARLA.
MIT
Python
- scenario_runner - Traffic scenario definition and execution for CARLA.
- esmini - OpenSCENARIO player. (Source Code)
MPL-2.0
C++
- OpenRoadEd - GUI application to create road networks in OpenDRIVE and a corresponding graphical representation in OpenSceneGraph. (Source Code)
C++
- ODDLOT - GUI application for the creation of road networks and graphical representations as part of COVISE. (Source Code)
LGPL-2.1
C++
- Blender Driving Scenario Creator - Blender add-on for creating simple OpenDRIVE and OpenSCENARIO-based driving scenarios, including 3D models.
GPL-3.0
Python
- Unreal Engine OpenDRIVE plugin - Plugin for creating and manipulating OpenDRIVE road networks based esmini's RoadManager.
MPL-2.0
C++
- r:trån - Transformer of OpenDRIVE geometries and semantics to CityGML enabling the usage of the 3dcitydb, FME and much more. (Source Code, Demos)
Apache-2.0
Kotlin
- OpenDRIVE2Lanelet Converter - Python converter of OpenDRIVE datasets to the Lanelet format as part of the CommonRoad project. (Source Code)
GPL-3.0
Python
- OpenDRIVE to NetworkX and GeoPandas Converter - Converter of OpenDRIVE geometries to
geopandas.GeoDataFrame
and network intersections to NetworkX, using OpenDRIVE2Lanelet Converter.MIT
Python
- GDAL Driver - OpenDRIVE driver for the library GDAL (translation of raster and vector geospatial data).
C++
- osm2opendrive - Tool for generating OpenDRIVE datasets from OpenStreetMap data.
GPL-3.0
Python
- osm2xodr - Tool for generating OpenDRIVE datasets from OpenStreetMap data.
GPL-3.0
Python
- OpenDRIVE
- pyeulerspiral - Python implementation of euler spirals (clothoids).
MIT
Python
- C++ Object Structures - Data structures of OpenDRIVE 1.4 in C++.
Apache-2.0
C++
- odrSpiral - C++ implementation of euler spirals (clothoids).
Apache-2.0
C++
- libOpenDRIVE - Lightweight, fast C++ library providing OpenDRIVE file parsing and 3D model generation as well as a web-based viewer.
Apache-2.0
C++
- pyeulerspiral - Python implementation of euler spirals (clothoids).
- OpenSCENARIO
- openscenario.api.test - Java library for reading and processing scenarios.
Apache-2.0
C++
- openscenario.api.test - Java library for reading and processing scenarios.
- OpenSCENARIO + OpenDRIVE
- scenariogeneration - Python wrapper for parametrizing and generating linked OpenSCENARIO and OpenDRIVE datasets (formerly known as pyodrx & pyoscx project).
MPL-2.0
Python
- scenariogeneration - Python wrapper for parametrizing and generating linked OpenSCENARIO and OpenDRIVE datasets (formerly known as pyodrx & pyoscx project).
- OpenLABEL
- Video Content Description (VCD) - API for creating and editing JSON data compliant with OpenLabel 1.0.
MIT
Python
TypeScript
C++
- Video Content Description (VCD) - API for creating and editing JSON data compliant with OpenLabel 1.0.
- Open Simulation Interface (OSI)
- OpenSimulationInterface.CSharp - NuGet package for using OSI in C#/.NET.
MPL-2.0
C#
Protobuf
- OpenSimulationInterface.CSharp - NuGet package for using OSI in C#/.NET.
- OpenMaterial - glTF extension for physical material properties in 3D models with pathtracer implementation.
MPL-2.0
JSON
- Open Simulation Interface (OSI) - Generic interface based on protobuf for the environmental perception of automated driving functions in virtual scenarios. (Source Code)
MPL-2.0
- OpenMSL - The Open Source Model & Simulation Library is a central hub demonstrating the interaction between models, standards and tools.
MPL-2.0
- OpenDRIVE
- ASAM OpenDRIVE 1.7.0 - Along with the official standard specification, example OpenDRIVE 1.7.0 datasets are distributed by ASAM.
- 3D Mapping Solutions - Seven surveyed tracks in OpenDRIVE and partly in OpenCRG, including a complex intersection and the inner city of Ingolstadt (complementary to LoD3 models).
CC-BY-NC-SA-4.0
- German Autobahn A9 - Two sections of the German Autobahn A9 with a total length of 52km (Mirror).
- Brunswick ring road - Inner ring road of Brunswick surveyed in 2012 by 3D Mapping Solutions.
CC-BY-4.0
- TUMDOT-MUC - Vehicle trajectories observed from aerial drones with accompanied OpenDRIVE map. (Article)
CC-BY-NC-4.0
- Brunswick ring road to airport - ViVre research track in Brunswick surveyed in 2021 by 3D Mapping Solutions.
CC-BY-4.0
- Wolfsburg - 5G Living Lab research track in Wolfsburg surveyed in 2022 by Atlatec.
CC-BY-4.0
- CARLA - A set of seven road networks generated with MathWorks RoadRunner.
- esmini - Sample datasets distributed as part of esmini project.
- ODDLOT - Sample datasets distributed as part of ODDLOT project.
- OpenSCENARIO
- OSC-ALKS-scenarios - Test scenarios for the approval of an "Automated Lane Keeping System" on motorways according to the ALKS Regulation UN R157.
MPL-2.0
- OSC-NCAP-scenarios - Test scenarios for the verification of "Automated Emergency Braking (AEB)" and "Lane Support Systems (LSS)" according to Euro NCAP protocols.
MPL-2.0
- OSC-ALKS-scenarios - Test scenarios for the approval of an "Automated Lane Keeping System" on motorways according to the ALKS Regulation UN R157.
- Nicco Hagedorn's YouTube channel - Concise explanations of the OpenDRIVE concepts along with practical examples compiled in a video series.