Skip to main content

CommonRoad-Reach: A Toolbox for Reachability Analysis of Automated Vehicles

Reachability analysis has gained increasing popularity in motion planning and safeguarding of automated vehicles (AVs). While existing tools for reachability analysis mainly focus on general-purpose algorithms for formal verification of dynamical systems, a toolbox tailored to AV-specific applications is not yet available. The CommonRoad-Reach toolbox

  • integrates different methods for computing reachable sets using polytopic set propagation and graph-based propagation;
  • provides Python and C++ implementations of the algorithms, thus offering convenient prototyping and real-time computation for the users; and
  • extracts driving corridors which can be used as planning constraints for motion planners.

System Requirements

The software is written in Python 3.10 and C++17, and was tested on Ubuntu 18.04, 20.04 and 22.04. It should be compatible with later versions. For building the code, the following minimum versions are required:

  • GCC and G++: version 10 or above
  • CMake: version 3.20 or above.
  • Pip: version 21.3 or above

We further recommend using Anaconda to manage your virtual python environment.

Installation options

We provide two installation options for CommonRoad-Reach: Installation as a Python package or building from source.

  1. Python Package: Install the python package via pip in your Conda environment:

    pip install commonroad-reach
    
  2. Build from source: To build the project from source and install it in your Conda environment, please refer to the README_FOR_DEVS. This option is only recommended for advanced users and those who are looking to contribute to the development of CommonRoad-Reach.

Getting Started

Run the exemplary scripts to compute reachable sets and extract driving corridors.

  • To compute reachable sets, run compute_reachable_set.py.

  • To extract driving corridors, run extract_driving_corridors.py.

The outputs will be stored in the ./output/ folder. Default and scenario-specific configurations are stored in the ./configurations/ folder.

Documentation

The documentation of our toolbox is available on our website: https://cps.pages.gitlab.lrz.de/commonroad/commonroad-reachable-set/.

In order to generate the documentation via Sphinx locally, run the following commands in the root directory:

pip install -r ./docs/requirements_doc.txt
cd docs/Sphinx
make html

The documentation can then be launched by browsing ./docs/Sphinx/build/html/index.html/.

Citation

If you use our toolbox for your research, please cite our paper:

@InProceedings{iraniliu2022commonroad,
      title     = {{CommonRoad-Reach}: {A} toolbox for reachability analysis of automated vehicles},
      author    = {Irani Liu, Edmond and W\"ursching, Gerald and Klischat, Moritz and Althoff, Matthias},
      booktitle = {Proc. of the IEEE Int. Conf. Intell. Transp. Syst.},
      pages     = {2313--2320},
      year      = {2022},
   }

Metadata

Release files for commonroad-reach 2025.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for commonroad-reach 2025.2.1
File Size Uploaded Provenance Actions
commonroad_reach-2025.2.1.tar.gz 10.4 MB Without provenance Details for commonroad_reach-2025.2.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for commonroad-reach 2025.2.1
File Interpreter ABI Platform Actions
commonroad_reach-2025.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for commonroad_reach-2025.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
commonroad_reach-2025.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for commonroad_reach-2025.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Total release size: 13.8 MB

Release files / commonroad_reach-2025.2.1.tar.gz

Download URL commonroad_reach-2025.2.1.tar.gz
Size 10.4 MB
Tags Source
SHA-256 checksum
How to use checksums
15bf985b978ec00d5cac78e377d31173bf7d88037adaa1e0063b9c8aef3401c4
BLAKE2b-256 checksum
How to use checksums
fb1f22d408f4ef33e323dbc6d5e064857bcbef5d288978b64e08dbf864fe6d19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.9

Release files / commonroad_reach-2025.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL commonroad_reach-2025.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.7 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9fd731699bdd59a0ecd186b2510d672dd49c12ad1cc2eeba6d0d5efb90464ecc
BLAKE2b-256 checksum
How to use checksums
343f82c391acd65f4bb21c4df5513ae4ab8a09aab0832514b85ebbc5bef8a17f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.9

Release files / commonroad_reach-2025.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL commonroad_reach-2025.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.7 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
df3f8f36c0ed0325174033483f82f1ceb848710d5314917166bc591b79db1294
BLAKE2b-256 checksum
How to use checksums
be6f04ea0145e3fce7fa1a08855a65ade021ed80ff03d5f13c64fb145f7f4a30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.9

Security for commonroad-reach 2025.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page