Code base for final project in ROB 498 Applied Optimal Control at Umich by Joseph Taylor and Connor Williams in Winter '23.
Main functions
runLQR.mruns LQR on planar system. Generates output animation asLQR_2D.mp4.runLQR3D.mruns LQR on full system. Generates output animation asLQR_3D.mp4.runMPC.mruns MPC on planar system. Generates output animation asMPC_2D.mp4.runMPC3D.mruns MPC on full system. Generates output animation asMPC_3D.mp4.
Helper functions
genfunctions.mgenerates dynamics functions and functions for running MPC.animate2D.manimates planar system and writes .mp4 of animation.animate3D.manimates full system and writes .mp4 of animation.transform_3D.mgenerates transformation matrix from translation vector and Euler angles. Used byanimate3D.m.modelValidation.msimulates planar system from different initial conditions and plots output energies.modelValidation3D.msimulates full system from different initial conditions and plots output energies.calculateEnergies.mcalculates energies of planar system.
Generated functions
Hfunc.mgenerates matrix for quadratic term in QP cost.cfunc.mgenerates vector for linear term in QP cost.Afunc.mgenerates inequality constraint matrix for QP constraints.bfunc.mgenerates inequality constraint vector for QP constraints.Aeqfunc.mgenerates equality constraint matrix for QP constraints.beqfunc.mgenerates equality constraint vector for QP constraints.dynamfunc.mstate space dynamics function for ball bot.