Popis: |
In complex engineered systems, completing an objective is sometimes not enough. The system must be able to reach a set performance characteristic, such as an unmanned aerial vehicle flying from point A to point B, \textit{under 10 seconds}. This introduces the notion of optimality, what is the most efficient, the fastest, the cheapest way to complete a task. This report explores the two pillars of optimal control, Bellman's Dynamic Programming and Pontryagin's Maximum Principle, and compares implementations of both theories onto simulated systems. Dynamic Programming is realized through a Differential Dynamic Programming Algorithm, where utilizes a forward-backward pass to iteratively optimize a control sequence and trajectory. The Maximum Principle is realized via Gauss Pseudospectral Optimal Control, where the optimal control problem is first approximated through polynomial basis functions, then solved, with optimality being achieved through the costate equations of the Maximum Principle. The results of the report show that, for short time Horizons, DDP can optimize quickly and can generate a trajectory that utilizes less control effort for the same problem formulation. On the other hand Pseudospectral methods can optimize faster for longer time horizons, but require a key understanding of the problem structure. Future work involves completing an implementation of DDP in a C++ code, and testing the speed of convergence for both methods, as well as extended the Pseudospectral Optimal Control framework in to the world of stochastic optimal control. |