Go to file
Marcello Carfagno 7fd594bd6c
Update requirements.txt
2022-07-05 10:26:19 +01:00
img updated README with nicer gifs from latest implementation 2020-11-02 14:44:31 +00:00
mpc_pybullet_demo fix nosim demo not updating state correctly 2022-02-05 10:16:38 +00:00
notebooks cleaned up modelling notebooks, added notebook from autoware.ai 2021-07-19 14:01:45 +01:00
.gitignore update .gitignore 2020-12-10 21:11:37 +00:00
README.md Update README.md 2021-07-07 13:07:45 +01:00
requirements.txt Update requirements.txt 2022-07-05 10:26:19 +01:00

README.md

mpc_python

I keep here my Jupyter notebooks on R&D on Model Predictive Control applyied to path-following problems in driverless vehicles. Includes also a Pybullet simulation to showcase the results. This mainly uses CVXPY as a framework. This repo contains code from other projecs, check them out in thr special thanks section.

Contents

Python Scripts

The settings for tuning the MPC controller are in the mpc_config class.

Scripts for running the algorithm with/without the pybullet simulation, these require some tidy up :/

python mpc_pybullet_demo/mpc_demo_pybullet.py

A simpler demo wich does not use pybullet is also provided, this is useful for debugging

python mpc_pybullet_demo/mpc_demo_pybullet.py

Jupyter Notebooks

  1. State space model derivation -> analytical and numerical derivaion of the model

  2. MPC -> implementation and testing of various tweaks/improvements

  3. Obstacle Avoidance -> Using halfplane constrains to avaoid track collisions -> Sill work in progress

Results

Racing car model is from: https://github.com/erwincoumans/pybullet_robots.

Results:

To run the pybullet demo:

python3 mpc_demo/mpc_demo_pybullet.py

To run the simulation-less demo:

python3 mpc_demo/mpc_demo_pybullet.py

Requirements

The dependencies can be installed using pip ():

pip3 install --user --requirement requirements.txt

References & Special Thanks :