Skip to main content

Drivability checker for CommonRoad scenarios.

Project description

CommonRoad Drivability Checker

:warning: Deprecation Notice

:warning: Starting from version 2025.1 the curvilinear coordinate system has been moved to a standalone package (commonroad-clcs).

To continue using it and the commonroad_dc.geometry submodule either install the standalone package (pip install commonroad-clcs) and update your imports OR use commonroad-drivability-checker == 2024.1.

Collision avoidance, kinematic feasibility, and road-compliance must be validated to ensure the drivability of planned motions for autonomous vehicles. The CommonRoad Drivability Checker toolbox unifies these checks in order to simplify the development and validation of motion planning algorithms. It is compatible with the CommonRoad benchmark suite, which additionally facilitates and drastically reduces the effort of the development of motion planning algorithms.

Please post questions, bug reports, etc. related to our tools or website in our forum.

Installation

We provide two installation options: 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-drivability-checker
    

    Note for MacOS M1 users: You need to use the 64-bit Anaconda Installer (graphical or command-line) in order to install the MacOS PyPi package.

  2. Build from source: To build the drivability checker from source, please refer to the installation description in the documentation.

System Requirements

The software is written in Python 3.10 and C++17 and tested on MacOS and Linux (Ubuntu 18.04, 20.04 and 22.04).

The usage of the Anaconda Python distribution is strongly recommended.

For building the code from source, 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

Note for MacOS users (M1 or Intel):

  • We additionally recommend using the Homebrew package manager, to install required dependencies such as Eigen.
  • The installation has been tested for the AppleClang (15.0) and the GCC (13) compiler.

Third Party Libraries and Packages

The following third-party dependencies of the C++ code are only required for building the project from source!

Essential dependencies:

Manual installation required:

Automatic installation via CMake FetchContent:

Source code included:

Optional dependencies:

  • pybind11 (optional for building Python bindings directly without using pip)
  • Triangle (optional library for triangulation, not built by default)
  • CGAL (optional library for triangulation, not built by default)
  • Pandoc (optional for building documentation)
  • Doxygen (optional for building documentation)

Note: Please be aware of the specific licensing conditions when including the optional dependencies Triangle and CGAL. See also notes.txt and the licensing information on the respective package websites for more details.

The Python dependencies are listed in pyproject.toml.

Documentation

A full documentation as well as tutorials to get started with the tool can be found on our toolpage.

Publication

CommonRoad Drivability Checker: Simplifying the Development and Validation of Motion Planning Algorithms

Christian Pek, Vitaliy Rusinov, Stefanie Manzinger, Murat Can Üste, and Matthias Althoff

Abstract— Collision avoidance, kinematic feasibility, and road-compliance must be validated to ensure the drivability of planned motions for autonomous vehicles. Although these tasks are highly repetitive, computationally efficient toolboxes are still unavailable. The CommonRoad Drivability Checker—an open-source toolbox—unifies these mentioned checks. It is compatible with the CommonRoad benchmark suite, which additionally facilitates the development of motion planners. Our toolbox drastically reduces the effort of developing and validating motion planning algorithms. Numerical experiments show that our toolbox is real-time capable and can be used in real test vehicles.

Fulltext is available on mediaTUM.

Bibtex:
@inproceedings{ PekIV20.pdf,
	author = "Christian Pek, Vitaliy Rusinov, Stefanie Manzinger, Murat Can Üste, and Matthias Althoff",
	title = "CommonRoad Drivability Checker: Simplifying the Development and Validation of Motion Planning Algorithms",
	pages = "1-8",
	booktitle = "Proc. of the IEEE Intelligent Vehicles Symposium",
	year = "2020",
	abstract = "Collision avoidance, kinematic feasibility, and road-compliance must be validated to ensure the drivability of planned motions for autonomous vehicles. Although these tasks are highly repetitive, computationally efficient toolboxes are still unavailable. The CommonRoad Drivability Checker— an open-source toolbox—unifies these mentioned checks. It is compatible with the CommonRoad benchmark suite, which additionally facilitates the development of motion planners. Our toolbox drastically reduces the effort of developing and validating motion planning algorithms. Numerical experiments show that our toolbox is real-time capable and can be used in real test vehicles."
}

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

commonroad_drivability_checker-2025.4.0.tar.gz (3.8 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

commonroad_drivability_checker-2025.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

commonroad_drivability_checker-2025.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

commonroad_drivability_checker-2025.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

commonroad_drivability_checker-2025.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

File details

Details for the file commonroad_drivability_checker-2025.4.0.tar.gz.

File metadata

File hashes

Hashes for commonroad_drivability_checker-2025.4.0.tar.gz
Algorithm Hash digest
SHA256 77ccc5ffb36becc2a528e09b01526997742a3f946fe77506cc1732fe325147d0
MD5 43a5640ff1a8f0bf5906e316da3dab0d
BLAKE2b-256 4ea5d6a89e441963e61218b55f61117d5cdc22dccddba2d2f79959e08acd1096

See more details on using hashes here.

File details

Details for the file commonroad_drivability_checker-2025.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for commonroad_drivability_checker-2025.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 640ed40720446dbe3141c72bbe5650169f2193be7a05d0d37064aad44d401e96
MD5 9a2ff4fd94fe5f1923648dc6406d1c3a
BLAKE2b-256 adf051d84d2077533605a50753a1d98908418d64c44e54b27bbe484cd6b51782

See more details on using hashes here.

File details

Details for the file commonroad_drivability_checker-2025.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for commonroad_drivability_checker-2025.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5b59c2f217d7cca5ca6e2412d952adc8660b8416499ffe775a7495cf09a7d471
MD5 141d22932f3efd79025a8eb0d161b1ef
BLAKE2b-256 9f99704940a8bea9460d0d69d5c69bcdd80a8eef808f02c481b44240b3753dbb

See more details on using hashes here.

File details

Details for the file commonroad_drivability_checker-2025.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for commonroad_drivability_checker-2025.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 238ba05d02909ebbfe57a6d8f0bf041e138cd50248609be4c55dd5b9e7fc77c9
MD5 3d50d7a8799d1fe1bc7b494ac0144759
BLAKE2b-256 96dc76ab568830a305f09825ec1f96bf2031ab163ab61a52db1a511a4e3f1a91

See more details on using hashes here.

File details

Details for the file commonroad_drivability_checker-2025.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for commonroad_drivability_checker-2025.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5f9c12ccdfdf9dba34899e1a65b038b593abf6192e5591f109e0147936455112
MD5 f3327da581cbbbce5225ce5afe8298d0
BLAKE2b-256 fa8a6897d9f5e7466b8cbae216457dd01f00e142f594d9760a682a962112e538

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page