Reaching out from under a table to grab a cup of coffee on top might seem like a simple task, but it actually involves planning a mathematically complex journey. That's no problem for humans, who can intuitively skip the maths and jump straight to the caffeine fix, but robots are forced to crunch the numbers. Now researchers have found a shortcut that could help make robots a little more human.
Current motion-planning algorithms take too long to find the most efficient path from one position to another, so they simply fall back on calculating a path that won't cause the robot's limbs to smack into the table. This gets the job done, but can lead to peculiar sets of motion that waste time and energy - not to mentioning potentially frightening any nearby humans. "People are most comfortable when the robot behaves in the way that a human would," says Matthew Walter, a computer scientist at MIT, whose team have developed a new algorithm.
The problem lies with the number of separate motions a robot arm can make, known as the degrees of freedom. A human arm has seven degrees of freedom - the shoulder moves in three directions, while the wrist and elbow moves in two. Finding the most efficient path involves evaluating every possible path and choosing the best, but this takes too long, so current algorithms instead choose random points in the environment and determine which ones are reachable from the closest known point while still avoiding collisions. This builds up a map of collision-free paths, but leads to the jerky movements you see in the video above.
The new algorithm takes a different approach. The robot now assumes that each point it evaluates is surrounded by a sphere of open space, so the points within this space can be ignored. As the robot builds its map and encounters potential collisions it shrinks or expands these spheres to match, creating an overlapping volume of clear space that it can move through naturally and freely to grab a hot mug of its favourite beverage.