However, as AI researcher Hans Moravec’s “Moravec’s paradox” states, when it comes to robotics and artificial intelligence, the human skills we think are going to be difficult for a machine to replicate often turn out to be easy, while the skills we think will be easy turn out to be difficult.
In a new piece of research, investigators from Switzerland’s ETH Zurich trained a drone equipped with a net to be able to catch a ball when it is thrown. The drone in question is something called an “omnicopter,” described by the researchers in a previous paper. It boasts eight motors oriented in different directions, giving it an enormous amount of range of movement — thereby allowing it to play fetch in a way that most drones would be unable to.
“We use an external camera system to detect both the position of the ball and the omnicopter,” researcher Dario Brescianini told Digital Trends. “As soon as the ball is thrown into the air, we calculate its flight path and plan a trajectory to catch it. The key element behind making a successful catch is the computationally efficient generation of trajectories. This enables the generation of thousands of different trajectories in real time that achieve the same high level goal of catching the ball. The algorithm then selects the best trajectory and the vehicle executes 20ms of this trajectory, before the entire process is repeated.”
However, as much fun as we could imagine a ball-catching drone would be around the office, Brescianini says the work has other, broader applications. Specifically, the vehicle and trajectory generation algorithm presented could be used in any scenario that requires flying to any desired attitude and position with a high degree of exactness and timing.