The Nao robot is a mega toy just waiting to happen. If you want proof just watch it interact while playing the game Connect Four.
Allowing for the fact that these are still early days it seems to work - Nao is appealing as an opponent and how many chess playing programs can you say that about?
When AI meets robotics new things start to happen.
The Connect Four project is something that a team at HumaRobotics is working on and they have made a few well polished videos of their progress. If you know the Connect Four game you can probably see that actually working out an algorithm to play the game is fairly straightforward - you can use a classic minimax algorithm for example. This is indeed what Nao uses in these videos, but the game play isn't the point - the playing is.
It is the ability to interact with the human player and the world that is the real experiment here. First a skin tracking algorithm is used to make the robot locate the player. The player puts a hand in front of the robot's face and it tracks the hand to locate the player. It then uses face recognition to identify the opponent. Nao then locates the board and the holes - using Bayesian particle filters. Once the state of the board has been determined, a classical alpha-beta pruning minimax search determines the move to be played - this is the easy part.
The final phase is that Nao stands up and moves towards the board - the recognition phase needs Nao to be further away from the board. The robot next requests a token from its opponent, locating and picking up a piece is currently too difficult, and then uses a multi-linear controller algorithm to place the disc in the correct slot - currently operating at around an 80% success rate.
It also checks that the play has been made correctly and if not asks its opponent to make the play for it. There are some "emotional" routines that react to cheating, failing etc. to increase the level of interaction with the human.
All of the processing is done internally using the embedded PC and no off-robot CPU is involved.
There are two videos to show Nao working. The first is a little short and doesn't feature enough of the robot in action - it is much more of a promo than the second video:
A second video presents Nao explaining what it is doing and is slow in places:
If you are lucky enough to have a Nao, you can download version 0.4 of the software and try it out for yourself. Eventually it would make a really good robot app for the RobotAppStore.
Perhaps this really is the way robots finally become a mass market.