In the hands of a skilled pilot, a quadrocopter is an exceptionally agile flying machine. But what are the physical limits of their maneuverability, and how could these be attained in autonomous flight?

The dynamics of quadrocopters during rapid maneuvers are too complex for traditional control systems to cope with. While conventional control design techniques (e.g. PID control) allow the stable flight of quadrocopters, the flight performance is relatively low compared to the inherent capabilities of these vehicles. This is because strong assumptions are required to design the controllers: Typical designs are based on a simplified description of the system behavior (linearized models). While this is satisfactory at hover and low velocities, the descriptions do not correctly predict system behavior during fast maneuvers. In fact, most controllers are specifically designed for low velocities.
This research focuses on reducing the gap between autonomous flight performance and inherent capabilities of quadrocopters through novel control techniques for quadrotor flight controls. This should drastically increase the flight performance of quadrocopters while still providing stability. The research is carried out in the Flying Machine Arena and considers several aspects:

Physical maneuverability limits

Time-optimal maneuvers provide an absolute reference point that all other flight maneuvers can be compared to: They provide a lower bound on how quickly the quadrocopter vehicle is able to complete a maneuver based on its physical properties. This lower bound may then be used to benchmark the performance of other control strategies in order to determine their relative merits.
A tool has been developed in order to compute time-optimal two-dimensional maneuvers with arbitrary initial and final states [1]. Besides the possibility to benchmark other controllers, the tool also permits the evaluation of performance implications of quadrotor design parameters. For example, the effect of installing a larger or smaller battery can be quantified. The computed time-optimal maneuvers have also been verified experimentally:

While time-optimal maneuvers are a helpful tool when designing vehicles and controllers, the computational effort required to find them is too high to deploy such tools to guide quadrocopters in situations where the vehicle must be able to react to disturbances and a changing environment.

Real-time trajectory generation and control

When facing dynamic environments, changing objectives, or disturbances, the time available to plan and execute a maneuver does not suffice to compute time-optimal maneuvers. It is therefore necessary to find ways to simplify the maneuver computation on the fly. These simplified maneuvers should sacrifice as little as possible of the achievable performance.
A real-time trajectory generation algorithm, allowing the computation of trajectories from arbitrary initial states to a target position, has been presented [2]. This algorithm relies on approximations of the real quadrotor flight dynamics in order to simplify the trajectory generation problem. Using optimality conditions for the simplified model, it is possible to compute fast flight maneuvers at sub-millisecond computation times.
With the computation of flight maneuvers requiring significantly less than one millisecond, it becomes possible to dynamically react to disturbances or changing environments: When the vehicle deviates from its planned path, or when the objective changes, these changes can be incorporated in a new maneuver almost instantaneously. For example, it is possible to intercept a moving object (such as a ball) mid-air by continuously re-planning the maneuver as the vehicle moves and measurements of the ball flight path become available [3]:

This trajectory generation algorithm was also used in the Flight Assembled Architecture project, where the ability to efficiently compute trajectories was leveraged in order to plan flight paths and coordinate multiple vehicles through a space reservation system:


Optimality-based task controller design

In addition to the design of maneuvers for quadrotors in free flight, tasks involving the interaction of the vehicles with other objects and each other are investigated. The design of maneuvers and feedback control laws is based on a model-based approach and optimality conditions.
A control system permitting an inverted pendulum to be balanced on top of a quadrocopter has been designed [4]. Besides stabilizing the pendulum at hover, the system is also able to fly on circular trajectories, and follow set point changes:

In a further experimental setup, three quadrocopters are connected by a net and elastic strings. Using bang-bang and optimal control principles, trajectories and feedback control laws are designed for the fleet of quadrocopters [5]. These allow the system to toss a ball from the net into the air by rapidly stretching out the net, and then catch it again by executing a maneuver to the predicted impact point:


Learning-based performance improvement

Even without external disturbances (such as wind gusts), the maneuver design and feedback control strategies presented above will not be able to achieve the full performance potential. One of the reasons for this is that typical control designs are fundamentally reactive: The maneuvers are planned based on mathematical models of the quadrocopter. In reality, however, the vehicle does not react exactly as predicted by these models. This leads to errors when executing a planned maneuver. These errors are measured, and an appropriate reaction is executed when a deviation from the desired maneuver is observed.
In order to prevent these errors from happening in the first place, the reactive control designs are augmented by a proactive component: When executing a maneuver repeatedly, it is possible to use knowledge from previous executions and a model to derive how repeated errors can be avoided. The research focus of this aspect is the efficient computation of such corrections for maneuvers.

Putting it all together

The combination of real-time trajectory generation, optimality-based task controllers, and learning algorithms permits a dramatic performance improvement in quadrotor flight, enabling the execution of complex, precise, high-performance tasks. An experimental demonstration of such a task is the balancing, throwing, and catching of an inverted pendulum by quadrocopters [6]:


Please see the publications page to download these papers and find further papers

[1] Markus Hehn, Robin Ritz, and Raffaello D’Andrea. Performance Benchmarking of Quadrotor Systems Using Time-Optimal Control. Autonomous Robots, Volume 33, Numbers 1-2, 2012.

[2] Markus Hehn and Raffaello D’Andrea. Quadrocopter Trajectory Generation and Control. IFAC World Congress, 2011.

[3] Markus Hehn and Raffaello D’Andrea. Real-Time Trajectory Generation for Interception Maneuvers with Quadrocopters. IEEE/RSJ International Conference on Intelligent Robots and Systems, 2012.

[4] Markus Hehn and Raffaello D’Andrea. A Flying Inverted Pendulum. IEEE International Conference on Robotics and Automation, 2011.

[5] Robin Ritz, Mark W. Mueller, Markus Hehn, and Raffaello D’Andrea. Cooperative Quadrocopter Ball Throwing and Catching. IEEE/RSJ International Conference on Intelligent Robots and Systems, 2012.

[6] Dario Brescianini, Markus Hehn, and Raffaello D’Andrea. Quadrocopter Pole Acrobatics. IEEE/RSJ International Conference on Intelligent Robots and Systems, 2013.