<br> [MAS.865](../../index.html) > [Control](../../Control) > Model Based Control #Model-Based Control ##Optimization [Dynamic Programing and the Hamilton-Jacobi-Bellman Equations](http://underactuated.csail.mit.edu/underactuated.html?chapter=dp) ##LQR (PID++) [LQR Tutorial](http://underactuated.csail.mit.edu/underactuated.html?chapter=lqr) Two flavors: Time Variant, Time Invariant ###Time Invariant - Hold a pose! <video controls src="cartpole.mp4" width="640">Cart-Pole</video> <video controls src="multicoptor.mp4" width="640">Multi-Copter</video> ###Time Variant - Follow a Trajectory! ###Tools [MATLAB LQR](https://www.mathworks.com/help/control/ref/lqr.html) ##Iterative LQR Idea: Plan a linear trajectory many steps into the future efficiently using dynamic programming and optimization [Good Tutorial](https://studywolf.wordpress.com/2016/02/03/the-iterative-linear-quadratic-regulator-method/) [Good Paper](https://homes.cs.washington.edu/~todorov/papers/TassaIROS12.pdf) <video controls src="TassaIROS12.mp4" width="640">Cool Video</video> ##Model-Predictive Control (iLQR++) -Idea: Apply iterative LQR -Take First Step Best used with objects with simple dynamics since you need fast replanning. [Tutorial](http://www.control.lth.se/media/Education/DoctorateProgram/2016/Control%20System%20Synthesis/MPC.pdf) <video controls src="mpc.mp4" width="640">Cool Video</video> [MATLAB Toolbox](https://www.mathworks.com/products/mpc.html)