  Accurate trajectory tracking control for quadrotors is essential for safe
navigation in cluttered environments. However, this is challenging in agile
flights due to nonlinear dynamics, complex aerodynamic effects, and actuation
constraints. In this article, we empirically compare two state-of-the-art
control frameworks: the nonlinear-model-predictive controller (NMPC) and the
differential-flatness-based controller (DFBC), by tracking a wide variety of
agile trajectories at speeds up to 20 m/s (i.e.,72 km/h). The comparisons are
performed in both simulation and real-world environments to systematically
evaluate both methods from the aspect of tracking accuracy, robustness, and
computational efficiency. We show the superiority of NMPC in tracking
dynamically infeasible trajectories, at the cost of higher computation time and
risk of numerical convergence issues. For both methods, we also quantitatively
study the effect of adding an inner-loop controller using the incremental
nonlinear dynamic inversion (INDI) method, and the effect of adding an
aerodynamic drag model. Our real-world experiments, performed in one of the
world's largest motion capture systems, demonstrate more than 78% tracking
error reduction of both NMPC and DFBC, indicating the necessity of using an
inner-loop controller and aerodynamic drag model for agile trajectory tracking.
