Nobody Gets A Quadcopter To The Face Thanks To This Algorithm

In his 60 Minutes profile, Amazon CEO Jeff Bezos tried his best to assuage our fears about delivery drones in our neighborhoods. "Look, this thing can’t land on somebody’s head while they’re walking around their neighborhood," he assured Charlie Rose.

Sure they can't.

Quadcopters are mechanically simple and built for durability. As aircraft go, they're also extremely agile, a flip side to their instability. That also makes them potentially very dangerous.

A group of researchers from the Dynamic Systems and Control (IDSC) department of ETH Zurich think they have come up with a solution: an algorithm able to detect propellor faults and allow a quadcopter to be brought in for a safe controlled landing—even in situations in which it has lost 75% of its engine power. So how exactly does it work?

Today, the software controlling most quadcopters is designed to have all four propellers functional at the same time. As ETH Zurich doctoral student (and key researcher on this algorithm) Mark Müller explains, drone software doesn't do a good job accounting for emergency scenarios.

"During normal flight, a quadcopter can produce three independent torques to control its attitude: ‘roll,’ 'pitch,' and ‘yaw,’" says Müller. "If a propeller fails, this is no longer possible—the strategy for our algorithm is to give up the yaw torque, and let the machine spin uncontrolled about this axis. We then use the remaining propellers to tilt this axis of rotation, allowing the machine to move around."

If it’s difficult to imagine what this might look like, here’s a video of the algorithm in action:

"The hardest part of the work was the initial mathematics," says Müller. "How [do you] describe the system in a way that captures the relevant dynamics, but is still simple enough for us to analyze and manipulate? We started with Euler's law—a set of three differential equations that describe the rotation of a body as a function of the torques applied to that body. These equations are a gold mine of unexpected and surprising results, and trying to wrap our heads around this was probably the biggest challenge."

If the initial mathematics proved a steep learning curve, however, what surprised Müller about the eventual algorithm was its conceptual simplicity. "The derivation is quite complex, and required a lot of time," he continues. "The implementation on a quadcopter was relatively simple. The control law that we use (the set of equations that calculate the required motor forces) ends up being very concise: To calculate the motor forces only requires a handful of multiplications and additions."

While the idea of an algorithm for quadcopter safety wasn’t one that immediately jumped out as the most exciting potential project, it was one the team at ETH Zurich nevertheless realized needed solving early on.

"We enjoy doing public demonstrations of our work, either inviting people to visit the Flying Machine Arena in Zurich, or taking the arena on tour, [as we did] at TEDGlobal 2013," Müller says. The two main questions they worried about were 'What happens if there is a power failure?' and 'What happens if there is interference on the radios used to control them?'"

What started as a safety precaution, however, quickly developed into an intriguing computer science question in its own right as the team realized the complexity of the problem they were dealing with.

"The idea of allowing the machine to spin at high speed, and still being able to control its position, had the perfect flavor for us," Müller says. "It sounded surprising and hard to do, but our intuition said that it should be possible. We first looked at the problem of flying the machine with only two propellers, and only later discovered a solution that uses three propellers. After that, we could also show that it is possible to fly the machines with only one propeller."

What makes the ETH Zurich algorithm different to previous attempted solutions is that it is entirely software-based—requiring no added hardware whatsoever. Previous solutions were mainly centered on physical additions to the quadcopter concept—often proposing hexa- and even octocopters, equipped with six or eight motors/propellers.

While these may have improved safety, they would also have done away with many of the plus-sides of quadcopters—since the augmentations would make the machines heavier, more complex, less maneuverable, and more expensive to manufacture.

By creating an entirely software-based solution, the ETH Zurich team have not only found a way past these issues, but have also come up with a concept that could easily be applied to a large batch of existing quadcopters.

"[In this way] our work is not focused on quadcopters as such, but rather on algorithms and mathematics that allow us to fully explore and exploit the capabilities of dynamic machines," Müller says. "As such we do a lot of work on mathematical modeling and abstraction, allowing us to control complicated systems, and getting them to do interesting things."

Currently the ETH Zurich team has a patent pending on their algorithm, while a paper detailing the invention will be published in 2014.

So could this be the key to making quadcopters the mass market machines Jeff Bezos (and others) clearly believe they can be?

"We certainly hope so—if flying machines are to become an accepted part of daily life, they will have to be able to deal with failures and unexpected events, and they will have to be provably safe," Müller says. "This algorithm might be a part of a larger safety suite, which helps to reduce the probability of a machine falling from the sky and thus promote the use of these machines in everyday life."

All indications indicate that quadcopters are an immensely valuable tool that we’re about to see a whole lot more of. Whether it’s a consumer delivery service like Amazon Prime Air, serving food in restaurants, or flying defibrillators to people requiring medical assistance, the potential applications are vast—and growing on a daily basis.

Thanks to ETH Zurich, we’re now one step closer to seeing these solutions realized.

"Machines that significantly interact with their environment are fundamentally different than mobile phones, tablets, et cetera," says ETH Zurich group head and cofounder of Kiva Systems, Raffaello D’Andrea. "You can’t ‘reboot’ a flying machine if something goes wrong, for example. Safety, reliability, and predictability are going to be the most important attributes of intelligent machines."