  This paper provides new results for control of complex flight maneuvers for a
quadrotor unmanned aerial vehicle (UAV). The flight maneuvers are defined by a
concatenation of flight modes or primitives, each of which is achieved by a
nonlinear controller that solves an output tracking problem. A mathematical
model of the quadrotor UAV rigid body dynamics, defined on the configuration
space $\SE$, is introduced as a basis for the analysis. The quadrotor UAV has
four input degrees of freedom, namely the magnitudes of the four rotor thrusts;
each flight mode is defined by solving an asymptotic optimal tracking problem.
Although many flight modes can be studied, we focus on three output tracking
problems, namely (1) outputs given by the vehicle attitude, (2) outputs given
by the three position variables for the vehicle center of mass, and (3) output
given by the three velocity variables for the vehicle center of mass. A
nonlinear tracking controller is developed on the special Euclidean group $\SE$
for each flight mode, and the closed loop is shown to have desirable closed
loop properties that are almost global in each case. Several numerical
examples, including one example in which the quadrotor recovers from being
initially upside down and another example that includes switching and
transitions between different flight modes, illustrate the versatility and
generality of the proposed approach.
