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.
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.


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
git clone <repository-url>
cd <repository-folder>
python3.11 -m venv venv
source venv/bin/activate
You can install the project's requirements using pip:
pip install -e .
3. Optional: Download additional scenarios here.
All scripts can be found in scripts
-
If you want to create a customized dataset, run
run_dataset_creation.py
. The optimal control problem can be adjusted in inml_planner.analytic_solution
. -
For training a model, use
run_training.py
. The different networks are stored inml_planner.planner.networks
. -
To run a CommonRoad simulation, use the script
run_cr_simulation.py
. The configurations for the simulation and the planner can be found inml_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
Additional scenarios can be found here.
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