This project is the course project of EE 372 Dynamic Programming and Optimal Control The aim of this project is to devclope a NMPC-based controller to achieve trajectory tracking of a quadrotor subject to constrained inputs.

The optimal control problem is reformulated into a nonlinear programming problem, then being solved by open-source optimization tool CasADi.