asam-ev / qc-framework

Mozilla Public License 2.0
13 stars 6 forks source link

Logo Image

The ASAM Quality Checker Framework is designed for quality assessment of the ASAM standards like OpenDRIVE, OpenSCENARIO and others. This quality assessment is done by so called checkers that are grouped into checker libraries.

The framework can easily be extended with additional checker libraries and users are able to select which checks will be included in their configuration. Checkers are implemented in checker bundles. These are executables, so it is possible to write checker bundles in any programming language.

All individual checker outputs are collected and merged into a single result file, that can be evaluated either automatically by parsing the XML output, manually by reading the text output or interactively using the provided "ReportGUI" module.

Use Cases

The ASAM Quality Checker Framework allows developers to write their own rule sets that go beyond the verification of the formal correctness by means of the XML Schema files. The formal correctness is only a first step and not sufficient to assess the quality. Hence more sophisticated quality checks are required.

The framework was designed to support a variety of use cases that require different types of checkers. Most applications require checkers that evaluate geometries, other physical properties or the data integrity of the static and dynamic parts of a virtual environment.

Other checkers may be created for statistical evaluation of the input files. This allows users to ensure the existence of specific objects, such as obstacles or traffic signs that are crucial for their use-case in the input files.

Additionally, there may be more checks necessary to ensure that the files can be used in a specific simulation environment, because not all simulation environments support the full feature set of the standard.

Besides performing static files checks, which read, evaluate and analyze the content, it can also be feasible to create checkers that run a simulation and analyze the simulation results, since non-plausible simulation behavior may point to problems in the input files.

Features

The following features are provided:

An architecture overview and documentation is provided in the documentation and a detailed changelog can be found here.

Getting Started

Using Docker-based demo pipeline

A Docker-based demo pipeline is provided to help users try out the latest development of the framework, as well as the OpenDrive and OpenScenario XML checker bundles.

Build the framework locally

As the framework is still under development, it is not recommended to build it locally. A complete build instruction will be available in the near future.

The software can be build for Windows and Linux. Currently there are no pre-built binaries available for the framework. Follow the build instructions to create a runnable binary on your machine. Examples are provided in this repository.

How to Contribute

A C++ base library is provided, so users can provide their own user defined modules. Since checker bundles are executables, it is also possible to write checker bundles in any other programming language. Check out the documentation for details on how to extend the framework and write your own checks. Contributions to the project in the form of code or feedback are encouraged, please keep in mind the contribution guidelines.

License Information

The ASAM Quality Checker Framework is delivered under the MPL - Mozilla Public License - Version 2.0. A detailed overview of the licenses used in all libraries is provided in the appendix.