MPC Final Project
Description
Final project for AEROSP: 740 Model Predictive Control (MPC) (Winter 2018).
Files (Inside the "Our Model" directory)
- Segway_anim.m Code (Written by Jessy Grizzle and Eric Westervelt) to create cool animations of a planar MIP
- formQPMatrices.m Generated matrices used for QP. Implementation from one of the AERO740 homework assignments
- formQPMatricesSlack.m Generates matrices used for QP with slack variables. Implementation from one of the AERO740 homework assignments. Prince's implementation
- formQPMatrices_slack.m Generates matrices used for QP with slack variables. Implementation from one of the AERO740 homework assignments. Matt's implementation
- getDiscrete.m Given A, B, C, D matrices of a linear system and a sampling time T_s, returns the discrete time matrices A_d and B_d. Our code
- main.n Main script that runs the simulation.
- mip_model.m Takes the MIP equations of motion and computes \ddot{\phi} and \ddot{\theta} using symbolic variables.
- mip_model_fast.m Takes the MIP equations of motion and computes \ddot{\phi} and \ddot{\theta} WITHOUT symbolic variables.
- myQP.m Quadratic program solver. Implementation from one of the AERO740 homework assignments.
- symLin.m Linearizes the MIP equations of motion about a reference state and reference input. Returns continuous-time A and B matrices which are the Jacobians of equations of motion. Uses symbolic variables.
- symLinFast.m Linearizes the MIP equations of motion about a reference state and reference input. Returns continuous-time A and B matrices which are the Jacobians of equations of motion. WITHOUT symbolic variables.
- test_model.m Small script to test pieces of our code as we were writing it up. Nothing of value here.
Authors
Prince Kuevor and Matthew Romano