Go to file
mcarfagno 19532431dc plot demo for version 2 2020-06-30 11:05:30 +01:00
.ipynb_checkpoints updated README.md 2020-04-07 17:09:13 +01:00
img Added obstacle avoidance 2020-06-29 15:31:43 +01:00
mpc_demo added mpc output visualization in plot 2020-05-04 17:36:23 +01:00
mpc_demo_v2 plot demo for version 2 2020-06-30 11:05:30 +01:00
notebooks plot demo for version 2 2020-06-30 11:05:30 +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 obstacle avoidance 2020-06-29 15:31:43 +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