Usually robots that do complex things are slow, so slow that the videos are often speeded up, but this robot arm moves fast and learns fast. Watch it catch objects with a perfection that is spooky.
OK, we have moaned enough about robots being slow, but just occasionally a mechanism is implemented with enough hardware power to move faster than a human doing the same job. The result is usually machine envy and a touch of anxiety In this case the robot catches casually thrown objects with a precision and speed that is uncanny - and yes I do mean in the valley sense.
Watch and see if you agree:
Notice that catching the bottle containing water is particularly difficult because the center of gravity moves as the bottle rotates along its trajectory.
If you would like to see a more polished presentation, complete with a partial explanation of how it works, then see this video as well:
This is the work of Learning Algorithms and Systems Laboratory at EPFL. As well as being impressively fast, the way that this robot is taught to do the task is also important. Teaching a machine by demonstration is not new, but usually it is just a simple recording and playback system. You move the robot arm through a set of positions and it repeats that movement as if it was a recording. In this case the teaching seems to be much more generalized.
The robot builds a model of the object and its kinematics by observing test throws via a set of cameras. From this data the software constructs an equation, which is used in the few milliseconds it has after the object is thrown to compute an intersecting path and orientation. Notice that the hand is placed so as to grip the object at an appropriate point - e.g. the tennis racket is caught by its handle.
You can also see a video of a cub robot catching objects but this is just a simulation:
What about applications?
If you focus on the catching part of the demo then the applications are more limited than they really are. A team of robot baseball players? Perhaps a safety robot catching people as they fall off things?
The real potential is in the speed of reaction and the sophistication of the learning. A robot that can catch is also a robot that can avoid. Avoiding people in real time would allow a robot to work alongside humans while doing useful things at high speed.
It is both a sad and a happy day. The new Kinect V2 is being shipped to eager programmers and SDK 2 is available for download. But the lack of any backward compatibility in SDK 2 is the end of the lin [ ... ]