Not to be confused with the cliff sensors that are located at the bottom of the bumper itself, there are two pairs of optical sensors which are on the main chassis and work together with the bumper to detect that the robot has reached an obstacle in front.
To start, follow the common procedure to remove four screws inside the bumper, remove the bumper from the chassis by detaching a cable connector inside, and locate a black plastic arm on both sides in the chassis as shown in the following two photos. I've pointed out where the sensors are with big fat arrows.
Roomba bumper left arm
Roomba bumper right arm
Once you have found them, use a wet tissue or wipe to clean the sensors. Then test if the cleaning helps by connecting the bumper's cable back and giving the robot a go.
If it still doesn't work, you may have to try cleaning something else.
If it works for you, here's why. Examine the following photo, which indicates the direction of the plastic arm when it is actuated by some contact on the bumper. As long as the sensors cannot "see" through the hole in the arm (in this case due to the dirt covering them), the robot would think that it has hit an obstacle and tries to turn itself away from that side. Ergo, Roomba dance.
Roomba bumper arm movement direction
Now, put the screws back inside, take your Roomba for a spin, and do the chicken dance yourself.
Technorati Tags: roomba, roomba dance, circle dance, optical sensor