Frenetix Motion Planner: Sampling-based Frenet Planner
Project description
Frenetix Motion Planner
This repository includes a Frenet trajectory planning algorithm in the CommonRoad scenario format. The trajectories are generated according to the sampling-based approach in [1-5] including two different implementations. The Repo provides a python-based and a C++-accelerated Motion Planner Frenetix implementation.
Standard Planner Initialization
Requirements
The software is developed and tested on recent versions of Linux. We strongly recommend to use Ubuntu 22.04 or higher. For the python installation, we suggest the usage of Virtual Environment with Python 3.11, Python 3.10 or Python 3.9 For the development IDE we suggest PyCharm
Installation & Run Code
-
Make sure that the following dependencies are installed on your system for the C++ implementation:
- Eigen3
- On Ubuntu:
sudo apt-get install libeigen3-dev
- On Ubuntu:
- Boost
- On Ubuntu:
sudo apt-get install libboost-all-dev
- On Ubuntu:
- OpenMP
- On Ubuntu:
sudo apt-get install libomp-dev
- On Ubuntu:
- python3.10-full
- On Ubuntu:
sudo apt-get install python3.10-full
andsudo apt-get install python3.10-dev
- On Ubuntu:
- Eigen3
-
Clone this repository & create a new virtual environment
python3.10 -m venv venv
-
Install the package:
- Source & Install the package via pip:
source venv/bin/activate
&pip install -r .
- Frenetix should be installed automatically. If not please write rainer.trauth@tum.de.
- Source & Install the package via pip:
-
Optional: Download additional Scenarios:
- Clone commonroad scenarios on the same level as commonroad-reactive-planner --> not into commonroad-reactive-planner with:
git clone https://gitlab.lrz.de/tum-cps/commonroad-scenarios.git
- Clone commonroad scenarios on the same level as commonroad-reactive-planner --> not into commonroad-reactive-planner with:
-
Change Configurations in configurations/defaults/*.yaml if needed.
-
Change Settings in main.py if needed. Note that not all configuration combinations may work. The following options are available:
- use_cpp: If True: The C++ Frenet Implementations will be used.
- start_multiagent: If True: Start a multiagent run. For runtime reasons, C++ is automatically used.
- evaluation_pipeline: If True: Run many scenarios in a row. Set scenario folder accordingly.
- use_specific_scenario_list: If True: Run a specific scenario list. Example in example_scenarios/scenario_list.csv. Make sure all scnearios in the list are in the scenario folder.
-
Run the planner with
python3 main.py
-
Logs and Plots can be found in /logs/<scenario_name>
📈 Test Data
Additional scenarios can be found here.
🔧 Modules
Detailed documentation of the functionality behind the single modules can be found below.
📇 Contact Info
Rainer Trauth, Institute of Automotive Technology, School of Engineering and Design, Technical University of Munich, 85748 Garching, Germany
Johannes Betz, Professorship Autonomous Vehicle Systems, School of Engineering and Design, Technical University of Munich, 85748 Garching, Germany
📃 Citation
If you use this repository for any academic work, please cite our code:
@misc{GitHubRepo,
author = {Rainer Trauth},
title = {Frenetix Motion Planner},
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
doi = {10.5281/zenodo.10078062},
url = {https://github.com/TUM-AVS/Frenetix-Motion-Planner}
}
Project details
Release history Release notifications | RSS feed
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
Hashes for frenetix_motion_planner-2024.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd066937f1c336bd13ba9e5827538b1dbdab5da9c19ec0c4728fecce64aacfc8 |
|
MD5 | 1eb408e266b049d2cb97ae8a3b856878 |
|
BLAKE2b-256 | 10f3f9a4bd90a52267dd4b77487008e7e9acb3b6f3ff92d1f64fed7c87d9839b |
Hashes for frenetix_motion_planner-2024.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e10a1315f60613d2c3b9807c83bbf08bc5875c17c2b1184f113a94e5262f4701 |
|
MD5 | 69f25652c24d18c37dee523ea6c27f71 |
|
BLAKE2b-256 | 761f145f40ac11bffb75981d361db2671584ba0baddabfe8db59cd7fcb14a278 |