Quadrotors are still the robot of choice when you want to work in 3D. Not content with doing stunts like flying through small spaces, the latest video demonstrates co-operation in the form of throwing a ball - it's more impressive than you might think.
Take three Quadrotors and tie them to an elastic net. Now you have a mechanism that can not only catch a ball but throw one - but only if the three Quadrotors work as a team. This demands a lot of careful real-time computation. When the Quadrotors throw they pull against the elastic of the net and are yanked back. This destabilizes them in a big way and the only thing that saves them from crashing to the floor is a rapid correction - watch the slow motion section in the video at about 35 seconds.
The work is a continuation of the Quadrotor research at ETH Zurich:
"To achieve this task, novel approaches are required. Unlike previous algorithms used to perform very rapid flips, juggle balls individually, or move in synchrony with each other, this task requires cooperation between physically coupled flying vehicles that fly at the limits of their capabilities, exploiting the dynamical potential that these vehicles provide."
It makes catching the ball look comparatively easy!
"The algorithms that are used include an optimality-based real-time trajectory generation for the catching maneuver, a time-varying trajectory following control strategy to control the individual vehicles under consideration of the forces induced by the net, and learning algorithms that accommodate model inaccuracies in the aiming of the ball."
I like the way in which, at the end of the video, to play a game of basketball the Quadrotors simply suspend a hoop between another two Quadrotors. That's co-operation!