This is a video of a robot that can anticipate human action by examining changes in its environment and using an algorithm to determine what a human needs next, and acting accordingly. The screencap above though is from when the robot is NOT anticipating human action because it continues to pour a beer on the table after dude moved his cup. That's a pretty shitty butler.
First, it identifies the people and the main objects in the environment using a Microsoft Kinect camera [a 3-D camera for use with the Xbox gaming console]. The camera gives you something like a skeleton view of the humans, and we use our algorithm to figure out the main objects in the environment. Then, using what it has learned in its previous training, the robot considers both how the people have been moving in the last few seconds, and what the objects are used for. It reasons that because the people have been moving in a certain way, and certain objects are present, therefore it is very likely the person is about to take a certain action.
So basically if you're drinking beer and finish a beer the robot will know to go get you a fresh one from the fridge. But what happens if I finish a beer AND DON'T WANT another one? That was a trick question, I will always want another one. You know what, robot? Just anticipate this: bring me the rest of those brewskis in a cooler then throw yourself down the stairs.
Hit the jump for a video of the beerbot in action.
Thanks to Tallon, who agrees the algorithms must be based on a cat's brain because they can always tell what a human is going to do and then RUIN EVERYTHING.