Skip to main content

CommonRoad Reactive Planner

This project provides a trajectory planner for planning problems given in the CommonRoad scenario format. The trajectories are generated using the sampling-based approach in [1][2]. This approach plans motions by sampling a discrete set of trajectories, represented as quintic polynomials in a Frenet frame and selecting an optimal trajectory according to a given cost function.

reactive-planner

Getting Started

These instructions should help you to install the trajectory planner and use it for development and testing purposes.

To install the package from PyPi, please run:

pip install commonroad-reactive-planner

Requirements

The software is written in Python 3.8 and tested on Ubuntu 18.04-22.04. The required python dependencies are listed in pyproject.toml.

For the python installation, we suggest the usage of Anaconda.

For the development IDE we suggest PyCharm

Installation from Source

  1. Clone this repository & create a new conda environment, e.g., conda create -n commonroad-py38 python=3.8

  2. Go to cloned root directory and install the package:

    • Install the package via poetry: poetry install
    • Install the package via pip: pip install .

How to run

Main example script run_planner.py:

The example script shows how to run the planner on an exemplary CommonRoad scenario with the following steps:

  • creating a planner configuration
  • instantiating the reactive planner
  • running the planner in a cyclic replanning loop with a fixed replanning fequency

In addition we also provide an interactive Jupyter notebook tutorial in the tutorial/ folder.

Literature

[1] Werling M., et al. Optimal trajectory generation for dynamic street scenarios in a frenet frame. In: IEEE International Conference on Robotics and Automation, Anchorage, Alaska, 987–993.

[2] Werling M., et al. Optimal trajectories for time-critical street scenarios using discretized terminal manifolds In: The International Journal of Robotics Research, 2012

Metadata

Release files for commonroad-reactive-planner 2025.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-reactive-planner 2025.1
File Size Uploaded
commonroad_reactive_planner-2025.1.tar.gz 41.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for commonroad-reactive-planner 2025.1
File Interpreter ABI Platform
commonroad_reactive_planner-2025.1-py3-none-any.whl Python 3 none any Details

Total release size: 91.7 kB

Release files / commonroad_reactive_planner-2025.1.tar.gz

Download URL commonroad_reactive_planner-2025.1.tar.gz
Size 41.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4995a9b85220a2d4966bea8a4f316dcccc3bc4b4c1cd225b2679cfccdd74e892
BLAKE2b-256 checksum
How to use checksums
663457c576ce80dcab8796f30ea273c5ad2e8718ddd6cd18e1f7a7271a3b06a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.1 CPython/3.10.16 Linux/5.15.0-87-generic

Release files / commonroad_reactive_planner-2025.1-py3-none-any.whl

Download URL commonroad_reactive_planner-2025.1-py3-none-any.whl
Size 50.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aa15b378cf5a089a69aee8df4d29d2b506d486e9c055db980747342724428e83
BLAKE2b-256 checksum
How to use checksums
e43501802ff4c42acc3247e39459379811e5e11fb4a62e2eed11cf8d4660e5ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.1 CPython/3.10.16 Linux/5.15.0-87-generic

Release history Release notifications | RSS feed

This release

2025.1 This release

2 release files

2024.1

2 release files

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