The rise of the machines won't be as dramatic as those in Terminator or the Animatrix if people can simply outrun the murderbots. And, currently, we can do that quite comfortably. Some robots can walk, some can run, but they tend to fall over pretty often, and most are not that fast. Autonomous flying drones are also having a very hard time keeping up with human-controlled ones, as well.
New research at the University of Zurich, however, might finally give robots the edge they need to catch up to their makers -- or, at least, give flying drones that edge. The team developed a new algorithm that calculates optimal trajectories for each drone, taking into account their individual capabilities and limitations.
"Our drone beat the fastest lap of two world-class human pilots on an experimental race track," says Davide Scaramuzza, who heads the Robotics and Perception Group at UZH and corresponding author of the paper."The novelty of the algorithm is that it is the first to generate time-optimal trajectories that fully consider the drones' limitations".
"The key idea is, rather than assigning sections of the flight path to specific waypoints, that our algorithm just tells the drone to pass through all waypoints, but not how or when to do that," adds Philipp Foehn, Ph.D. student and first author of the paper.
Battery life is one of the most stringent constraints drones today face. Because of this, they need to be fast. The approach their software uses today is to break down their flight route into a series of waypoints and then calculate the best trajectory, acceleration, and deceleration patterns needed over each segment.
Previous drone piloting software relied on various simplifications of the vehicle's systems -- such as the configuration of its rotors or flight path -- in order to save on processing power and run more smoothly (which in turn saves on battery power). While practical, such an approach also produces suboptimal results, in the form of lower speeds, as the program works with approximations.
I won't go into the details of the code here, mainly because I don't understand code. But results-wise, the drone was pitted against two human pilots -- all three navigating the same quadrotor drone -- through a race circuit, and came in first place. The team set up cameras along the route to monitor the drones' movements and to feed real-time information to the algorithm. The human pilots were allowed to train on the course before the race.
In the end, the algorithm was faster than the pilots on every lap, and its performance was more consistent between laps. The team explains that this isn't very surprising, as once the algorithm identifies the best path to take, it can reproduce it accurately time and time again, unlike human pilots.
Although promising, the algorithm still needs some tweaking. For starters, it consumes a lot of processing power right now: it took the system one hour to calculate the optimal trajectory for the drone. Furthermore, it still relies on external cameras to keep track of the drone, and ideally, we'd want onboard cameras to handle this step.
The paper "Time-optimal planning for quadrotor waypoint flight" has been published in the journal Science Robotics.