Quadrocopters throw, catch, and balance an inverted pendulum
February 25, 2013
Apparently, balancing a pole on top of a flying quadrocopter robot wasn't challenging enough for the researchers at ETH Zurich's Institute for Dynamic Systems and Control. Their latest project has two quadrocopters playing catch with a precariously balanced pole – the first robot launches the pole into the air, while the second robot deftly moves into position in less than a second to catch it as it falls. The incredible precision flying achieved by the team can be seen in a video after the break.
The work, appropriately titled “Quadrocopter Pole Acrobatics,” was done by Dario Brescianini as part of his master thesis under the supervision of Markus Hehn and Raffaello D'Andrea at ETH Zurich's Flying Machine Arena – a special lab designed specifically for testing advanced flying maneuvers with quadrocopters. We've covered some of the lab's work before, including one example where three quadrocopters attached to a net used it to launch and catch a ball, which we thought was pretty impressive ... until we saw this.
They began with a 2D mathematical model that described how a quadrocopter would need to fly (including its speed and trajectory) in order to launch a pole it was balancing into the air. They then tested the model's accuracy on the physical robot, including how the airborne pendulum actually moves. They found that the pole's drag properties changed depending on its orientation, and so developed a state estimator to account for it.
The project's caveats include 12-cm (4.7-inch) discs attached to each robot (that serve as the balancing platforms) and the addition of balloons filled with flour on either end of the pendulum to serve as simple shock absorbers (you can see one explode at 94 seconds in the video below). These minor modifications make the job a tad easier, but don't diminish the demonstration's wow factor.
"This project was very interesting because it combined various areas of current research and many complex questions had to be answered: How can the pole be launched off the quadrocopter? Where should it be caught and – more importantly – when? What happens at impact?" Brescianini told RoboHub. "The biggest challenge to get the system running was the catching part. We tried various catching maneuvers, but none of them worked until we introduced a learning algorithm, which adapts parameters of the catching trajectory to eliminate systematic errors."
To successfully position the catching robot, the team developed a fast trajectory generator that could estimate the precise catching position in less than 0.65 seconds – the short time it takes complete the entire move. Early tests were hampered by mid-air collisions between the pole and the quadrocopter's delicate propellers, which resulted in time-consuming repairs and recalibration between experiments.
"As it turned out, it is probably the most challenging task we’ve had our quadrocopters do," added Hehn. "With significantly less than one second to measure the pendulum flight and get the catching vehicle in place, it’s the combination of mathematical models with real-time trajectory generation, optimal control, and learning from previous iterations that allowed us to implement this."
It may not be the most practical application for flying robots, but we won't know what these types of systems can do unless we put them to the test.