Go to file
mcarfagno 5c9af78022 added mpc output visualization in plot 2020-05-04 17:36:23 +01:00
.ipynb_checkpoints updated README.md 2020-04-07 17:09:13 +01:00
img added pybullet simulation 2020-04-08 11:43:38 +01:00
mpc_demo added mpc output visualization in plot 2020-05-04 17:36:23 +01:00
notebook added mpc output visualization in plot 2020-05-04 17:36:23 +01:00
.gitignore fixed equations spacing in notebook, updated gitignore 2020-04-07 16:51:12 +01:00
README.md updated README.md 2020-04-08 11:48:10 +01:00
requirements.txt added pybullet simulation 2020-04-08 11:43:38 +01:00

README.md

mpc_python

Python implementation of a mpc controller for path tracking using CVXPY.

About

The MPC is a model predictive path following controller which does follow a predefined reference path Xref and Yref by solving an optimization problem. The resulting optimization problem is shown in the following equation:

The vehicle dynamics are described by the differential drive model:

The state variables of the model are:

  • x coordinate of the robot
  • y coordinate of the robot
  • theta heading of the robot

The inputs of the model are:

  • v linear velocity of the robot
  • w angular velocity of the robot

Demo

The MPC implementation is tested using bullet physics simulator. Turtlebot 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

pip3 install --user --requirement requirements.txt