Skip to content

A Python library for reading, writing and visualizing the OMEGA Format, targeted towards storing reference and perception data in the automotive context on an object list basis with a focus on an urban use case.

License

Notifications You must be signed in to change notification settings

ika-rwth-aachen/omega_format

Repository files navigation

OMEGAFormat - Python Library

The OMEGAFormat is a data foramt for storing reference and perception data from pilotings, test drives and simulation in urban traffic (and highway). It stores object-list-based trajectory information about dynamic objects together with map information and more. This module enables the creation, and visualization of data conforming to this data format. Additionally, it can check files for conformance and perform basic sanity checks on the data and convert data in OpenDrive and LevelXData data format into the OMEGAFormat.

The OMEGAFormat itself is specified in the OMEGAFormat specification and reference list of signals.

The OMEGAFormat was developed in the German VVMethods Project. For a detailed insight in the role of the OMEGAFormat for Validation and Verification of Automated Driving Systems proposed by VVMethods, take a look at Deliverable 13: Scenario-based Model of the ODD through Scenario Databases

Check out the tutorials in ./tutorials

  • 01_Introduction: Introduction to using the library and basic knowledge about the OMEGAFormat.
  • 02_CLI_Usage: Examples of how to use the command line interface.
  • 03_Converters: Examples of how to convert from existing data formats into the OMEGAFormat.

Installation

If you want an editable install (modifications to the files in the directory are immediately used by the module) run:

pip install -e .[visualization]

Converters

The python library allows the conversion of following data formats into the OMEGAFormat.

  • OpenDrive
  • LevelXData [tested with inD, highD and exiD]
  • Lanelet2 [comming soon]
  • OSI [planned]

Data Format

The base of both, the reference data format and the perception data format is the HDF5 file format. This library utilizes h5py to interact with those.

Reference Data

The OMEGAFormat reference recording format is used to store data that represents the 'true' state of road users, infrastructure information, weather and more during a piloting, testing or simulation. The representation is on an object list basis. The following diagram shows an overview of the hierarchy in the OMEGAFormat reference recording format. A more detailed description can be found in the specification document and the signal list.

Perception Data

The PerceptionRecording format is used to store data that represents what a vehicle under test, sensor under test or similar perceives from its surroundings. It is designed to be compared against the ReferenceRecording format. The following diagram shows an overview of the hierarchy in the PerceptionRecording format. A more detailed description is coming soon.

Further Help

Standalone viewer of hdf5 files

There are plenty of tools, e.g.

Documentation

You can create a documentation with pdoc3. To do this first install pdoc3 with pip install pdoc3 and then run pdoc3 --http localhost:8889 --template-dir .\doc\templates\ .\omega_format from the root of this repo to view the documentation in your web browser.

License

The library is published under the MIT license specified in LICENSE. An overview over the licenses of the dependencies in this library is listed in LICENSES_OF_REQUIREMENTS.md.

Contact

In case of questions regarding the format, this repository or otherwise related feel free to raise an issue or contact Michael Schuldes ([email protected]).

Acknowledgement

This module is developed by ika - RWTH Aachen as a contribution to the VVM project which aims to develop test procedures and to provide frameworks and methods for the safety verification of automated vehicles. VVM is working on the use case of Urban Intersections and focuses on driving functions up to full automation of vehicles (SAE Level 4 and 5).

The research leading to these results is funded by the German Federal Ministry for Economic Affairs and Energy within the project “Verifikations- und Validierungsmethoden automatisierter Fahrzesuge im urbanen Umfeld". The authors would like to thank the consortium for the successful cooperation.

bmwi_logo

About

A Python library for reading, writing and visualizing the OMEGA Format, targeted towards storing reference and perception data in the automotive context on an object list basis with a focus on an urban use case.

Topics

Resources

License

Stars

Watchers

Forks