At the beginning all the robots are waiting for my signal to start. While dancing, they are constantly synchronizing with each other, so if a robot lags behind they will wait for him and the late robot will accelerate. When I remove a robot from the choreography, the others continue dancing. When he stands up again and resumes his dance, he asks the others for a starting position. Then he goes to this position, and starts dancing. Since he starts with a little latency, he will dances a little faster and the others a little slower to synchronize.
The music is played by another robot, and is a part of the synchronization process : the robots are synchronizing with the music too.
This work is the result of the collaboration between the Nonlinear System Laboratory at MIT (http://web.mit.edu/nsl/www/) and Aldebaran Robotics.
NAO Developer Program trailer
Aldebaran Robotics launched the NAO Developer Program.