[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!
###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)
##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)
[MATLAB Toolbox](https://www.mathworks.com/products/mpc.html)