Skip to content

TUM-AVS/RBFN-Motion-Primitives

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux Python 3.11 Python 3.11 GPLv3 license

MP-RBFN - Radial-basis function based Motion Primitives

Sampling

MP-RBFN is a neural network based on Radial Basis Function Networks to efficiently learn motion primitives derived from optimal control problems. Traditional optimization-based methods for motion planning show compelling accuracy while being computationally prohibitive. In contrast, sampling-based approaches exhibit high performance but restrict the geometric shape of the trajectories. The proposed MP-RBFN combines the high fidelity of sampling methods with a precise description of vehicle dynamics. We demonstrate superior performance compared to previous methods, achieving a precise description of motion primitives at low inference times. MP-RBFN yields a seven times higher accuracy in generating optimized motion primitives than existing semi-analytic MPs. The integration into a sampling-based trajectory planner displays the applicability of MP-RBFN-based motion primitives in autonomous driving.

This repository provides the necessary resources to create a vehicle optimal control dataset, train the MP-RBFN and use it in a sampling-based motion planner.

🖥️ Framework

The repository consists of an implementation of an vehicle optimal control problem to generate the dataset of motion primitives. These are then used to train the MP-RBFN. Additionally, a sampling-based motion planner is provided using the trained MP-RBFN to calcualte accurate and computationally efficient motion primitives. Overview Framework MP-RBFN

🔧 Requirements & Installation

Requirements

The software is developed and tested on recent versions of Linux and Python 3.11. We strongly recommend using Ubuntu 22.04 or higher. For the Python installation, we suggest the usage of Virtual Environment with Python 3.12, Python 3.11, or Python 3.10. For the development IDE, we suggest PyCharm or VS Code

1. Clone this repository and create a new virtual environment:

git clone <repository-url>
cd <repository-folder>
python3.11 -m venv venv
source venv/bin/activate

2. Install all required packages

Installation with pip

You can install the project's requirements using pip:

pip install -e .

3. Optional: Download additional scenarios here.

🚀 Step-by-Step Manual

All scripts can be found in scripts

  1. If you want to create a customized dataset, run run_dataset_creation.py. The optimal control problem can be adjusted in in ml_planner.analytic_solution.

  2. For training a model, use run_training.py. The different networks are stored in ml_planner.planner.networks.

  3. To run a CommonRoad simulation, use the script run_cr_simulation.py. The configurations for the simulation and the planner can be found in ml_planner.simulation_interfaces.commonroad_utils.configuration.

If you want to run the benchmark analysis with the analytical planner, you need to clone and install Frenetix within the same virtual environment

🎮 Demonstration

You probably have to reopen the Readme to see the gifs.

Overtaking maneuver

📈 Test Data

Additional scenarios can be found here.

📇 Contact Info

Marc Kaufeld, Professorship Autonomous Vehicle Systems, School of Engineering and Design, Technical University of Munich, 85748 Garching, Germany

Mattia Piccinini, Professorship Autonomous Vehicle Systems, 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 in your research, please cite our related papers:

t.b.d

👥 Code Contributors

MP-RBFN

Marc kaufeld

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages