mpc_python_learn/README.md

1.2 KiB

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