Quickly generate prototype test scenarios for automated driving
Project description
simple-scenario
Quickly generate prototype test scenarios for automated driving.
Examples
Generate all kinds of highway test scenarios from simple config files (see .json files in demo/examples/).
:bulb: To recreate these gifs use: demo/examples/generate_gifs.py.
Deceleration test scenario (example_scenario1.json):
Cut-in test scenario (example_scenario2.json):
Deceleration test scenario with surrounding traffic (example_scenario3.json):
Cut-in test scenario with surrounding traffic (example_scenario4.json):
:bulb: For more examples, see tutorials/.
Notice
[!IMPORTANT] This repository is open-sourced and maintained by the Institute for Automotive Engineering (ika) at RWTH Aachen University. We cover a wide variety of research topics within our Vehicle Intelligence & Automated Driving domain. If you would like to learn more about how we can support your automated driving or robotics efforts, feel free to reach out to us! :email: opensource@ika.rwth-aachen.de
Install
pip install simple-scenario
Use
simple-scenario offers a rich python API and a basic CLI for test scenario generation.
Python API
The python API supports various ways of generating and interacting with test scenarios.
Please conduct the tutorials/A_01_getting_started.ipynb to learn about the basic usage of simple-scenario.
Please find more in-depth examples in the test/ folder (E.g., test/test_scenario.py shows which input formats can be used).
:bulb: Have a look at the Dev section of this readme to find out how to setup the project and run the tutorial notebooks and tests.
CLI
The CLI supports generating a set of
- an OpenSCENARIO (
.xosc) - and an OpenDRIVE (
.xodr) file
for a given simple-scenario config file (.json) through the following command
simple-scenario create demo/cutout_example.json
Extras
commonroad-extra
:warning: Needs python version 3.8
pip install simple-scenario[commonroad]
Enables advanced features like feasibility checking of the scenario (powered by the CommonRoad Drivability Checker) and exporting the scenario to the CommonRoad (CR) format.
Please conduct the tutorials/B_01_commonroad_extra.ipynb for more details.
lxd-extra
pip install simple-scenario[lxd]
Enables reading leveLXData datasets through lxd-io.
:warning: Currently only the highD dataset is supported
Please conduct the tutorials/C_01_lxd_extra.ipynb for more details.
Dev
To develop simple-scenario, you must first clone the repository.
$ git clone git@github.com:ika-rwth-aachen/simple-scenario.git
$ cd simple-scenario
It is recommended to use uv for package management. If you do not want to use uv, please consult the Without uv section.
With uv
Install requirements with
$ uv sync
To run a script, use
$ uv run /path/to/script.py
or directly use the python interpreter from the .venv folder in e.g. VSCode.
To run the tests, install the dev requirements with
$ uv sync --dev
and run the tests
$ uv run pytest
To run the notebooks in the tutorials/ folder in VSCode, select the .venv's as the kernel (see here for more info).
Without uv
Install the project editable
$ python -m pip install -e .
To run the tests, first install pytest
$ python -m pip install pytest
and run
$ pytest
Acknowledgements
This package is developed as part of the SYNERGIES project.
Funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or European Climate, Infrastructure and Environment Executive Agency (CINEA). Neither the European Union nor the granting authority can be held responsible for them.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simple_scenario-1.0.1.tar.gz.
File metadata
- Download URL: simple_scenario-1.0.1.tar.gz
- Upload date:
- Size: 62.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac07b5faffe57bb7625b99892c483fc260220ae95c63349188bef31fcca81d23
|
|
| MD5 |
45ecaf789a261ddc468b0dd60cedc6b8
|
|
| BLAKE2b-256 |
30fe4da5c9db3a2c54a1a1e82370aa262a7c345a4306b3b5496c2534111abc28
|
Provenance
The following attestation bundles were made for simple_scenario-1.0.1.tar.gz:
Publisher:
release.yml on ika-rwth-aachen/simple-scenario
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simple_scenario-1.0.1.tar.gz -
Subject digest:
ac07b5faffe57bb7625b99892c483fc260220ae95c63349188bef31fcca81d23 - Sigstore transparency entry: 1090440940
- Sigstore integration time:
-
Permalink:
ika-rwth-aachen/simple-scenario@1d7d90b37521db64a8625de82bba5823d60beec3 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/ika-rwth-aachen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1d7d90b37521db64a8625de82bba5823d60beec3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file simple_scenario-1.0.1-py3-none-any.whl.
File metadata
- Download URL: simple_scenario-1.0.1-py3-none-any.whl
- Upload date:
- Size: 62.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a88a3c283cdc4241d9816ed364717772fb6605589f996c3de47b2682fa00a6a
|
|
| MD5 |
ce623cdcfc0df10201b5ecf1e14c0ae2
|
|
| BLAKE2b-256 |
e0da46963494fc12c2dea4ba5579018dffaf6406d5adb871cb252e1b1d337f3b
|
Provenance
The following attestation bundles were made for simple_scenario-1.0.1-py3-none-any.whl:
Publisher:
release.yml on ika-rwth-aachen/simple-scenario
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simple_scenario-1.0.1-py3-none-any.whl -
Subject digest:
0a88a3c283cdc4241d9816ed364717772fb6605589f996c3de47b2682fa00a6a - Sigstore transparency entry: 1090440946
- Sigstore integration time:
-
Permalink:
ika-rwth-aachen/simple-scenario@1d7d90b37521db64a8625de82bba5823d60beec3 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/ika-rwth-aachen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1d7d90b37521db64a8625de82bba5823d60beec3 -
Trigger Event:
push
-
Statement type: