The robot revolution will come in small steps and none bigger than Nao's climbing of a spiral staircase. Nao may be a small robot but the physics of climbing a complex staircase is more or less the same for a full size humanoid robot. Watch the video and see it happen.
The problem is more difficult than just walking on the flat or going up a step or two because a complex staircase involves navigation in 3D and planning vertical and horizontal displacements.
The approach developed by the Humanoid Robots Lab at the University of Freiburg (Germany) is for Nao to reconstruct a full 3D model using a laser rangefinder (located on top of its head). The robot then estimates his position and stance or pose within the model.
This isn't accurate enough to navigate the full staircase without some additional feedback so video images are used to confirm the location and pose using edge matching. The same method works for walking up and down ramps.
Notice that the model staircase haven't been prepared in any way to help Nao with the problem.
The Nao robot in the video is an old model and its 500Mhz processor isn't fast enough to do the 3D work. This is done by another computer away from the robot but in realtime. The latest Nao has a 1.6Ghz Atom CPU and can do the job.
Even so the progress up the staircase is painfully slow if you compare it to a human's performance. The way each step is taken after a pause and a long analysis reveals that there is some work to do before the entire performance becomes fluid. However speeding things up is probably a lesser problem than mastering the location and dynamic problems. There are also points where you feel that Nao should just reach out and grab the rail - but... that would be cheating.
If you would like to see the way the 3D point cloud data is used then this is illustrated in the following video:
It makes you realize the amount of computation that goes into the simple act of climbing a staircase. Think about it next time you skip the elevator.
My only disappointment is the way the laser rangefinder makes Nao look a robot from another planet. Perhaps the solution is to use a Kinect!?