ASAM OpenSCENARIO provides a solution space for describing and executing the dynamic content of driving and traffic situations. In both areas, development and Validation, the Simulation domain needs machine readable reproducible descriptions of maneuvers connecting to complex external systems like sensor models, driver models and road network models. ASAM standards such as ASAM OSI or ASAM OpenDRIVE cover these systems and share common concepts with ASAM OpenSCENARIO such as road coordinate system or the description of traffic participants.
Published in early 2020, the ASAM OpenSCENARIO 1.0 Standard offers a detailed Data Model and an exchange format (XML) for the shared use of driving and traffic situations. Various Simulation environments have already implemented ASAM OpenSCENARIO (e.g esmini [5]).
OEMs and tool vendors have started a broad initiative to develop tools and to use ASAM OpenSCENARIO as an abstract shared language to describe maneuvers for development and Homologation. For example, in automated lane keeping systems (ALKS).
To create a common basis for the development, RA Consulting has initiated the open source project OpenSCENARIO API [1]. It defines a completely Standard-compliant software API for reading, writing and checking scenarios. It is available in C++ and in Java and is published under Apache 2.0 license. The library offers both an integrable API and a checker framework. This extension point allows the definition of customer specific validations.
RA Consulting ‘s portfolio includes automotive products such as DiagRA MCD Toolset and ODX Viewer. Their customers benefit from professional components such as A2L library, ODX API and MCD3 toolset, all implementing ASAM standards. RA Consulting‘s expertise in the areas of software architecture, development and data modelling was used when founding and creating the OpenSCENARIO API project.
It was fascinating to see how only a few months after the release of ASAM OpenSCENARIO V1.0 interested developers at BMW, Volvo (esmini [5]) and RA Consulting demonstrated the common understanding of defining scenarios in the Standard with the concatenation of their projects.
Carlo van Driesten - Systems Architect for Virtual Test & Validation, BMW AG
It is extremely time consuming and multiplies the effort to implement different versions of the API for each OEM and tool vendor, for this Standard. Each implementation could end up with slightly different results. The development and implementation of reading, writing and Validation features follows the same patterns, only to end up on slightly different solutions.
Another reason why various OEMs and tool providers are pooling their efforts in software development is to build strong supply chains based on the ASAM OpenSCENARIO Standard. The semantic Validation on both sides, the supplier, and the customer, requires a common tool to verify the delivered goods as a reference for the quality along the entire supply chain. There is no dispute about defects that one checker implementation finds and the other leaves undetected.
Various vendors integrate the library into their editors, their Simulation environments, and their infrastructure. The OpenSCENARIO API is already the backbone of scenario testing in the public ALKS scenario project, provided by BMW AG. Other OEMs like Volvo Cars are currently evaluating the library.
The OpenSCENARIO API was created fully compliant to the ASAM OpenSCENARIO Standard 1.0. It offers the following features:
This includes aspects that go far beyond simple XML Schema Validation:
Architectural features:
The open source project OpenSCENARIO API [1] provides complete source code (C++, Java) and instructions how to build the software components on different operating systems and platforms. Tutorials on how to use the standalone checker and how to integrate the library are provided.
At the end of 2020, the United Nations regulations for Automated Lane Keeping Systems (ALKS Regulation UN R157" ECE/TRANS/WP.29/2020/81) will soon come into force in Germany. It offers the opportunity to OEMs to implement a first automated driving system in series vehicles. BMW AG has taken on the task of implementing the test scenarios from the ALKS regulations using ASAM OpenSCENARIO and ASAM OpenDRIVE. The publication includes XML files executable with Standard compliant simulators. The project has been opened to specific contributors. To ensure scenario quality and to guarantee the validity against the ASAM OpenSCENARIO 1.0 model, the OpenSCENARIO API checker component is deployed into the continuous integration (CI) environment of the hosting repository. The component is provided as a configurable github action [3], [4].
Whenever a new scenario or a changed scenario is pushed to the repository, the checker validates the files against the ASAM OpenSCENARIO model constraints. The component is configurable in different variants and can be equipped with customer-specific checker rules. E.g. to enforce project specific authoring policies or other extended rules. For a detailed article to use the checker rule framework, see the “Tutorial on Checker Rules“ in the OpenSCENARIO API github project [1].