mpc_python_learn/README.md

2.9 KiB

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 :