Roomba Red's "cleaning algorithm"
When How Stuff Works tried it out, we found that Roomba starts cleaning in an outward-moving spiral and then heads for the perimeter of the room. Once it hits an obstacle, it believes it has reached the perimeter of the room. It then cleans along the "perimeter" until it hits another obstacle, at which point it cleans around it, finds a clear path and proceeds to traverse the room between objects like walls and furniture until the allotted cleaning time is up. The idea appears to be that if it cleans for a certain amount of time, it'll cover the whole floor, but whether it actually achieves complete floor coverage is pretty much hit or miss.
Roomba can clean for about two hours on a single charge. If you have the self-charger, Roomba will return and connect to the charger all by itself when the battery power is low (the self-charger is sold as an add-on to the Roomba base model but comes included on most of the higher Discovery models). It accomplishes this using the infrared receiver on its front bumper. When the battery power gets low, the vacuum starts looking for the infrared signal emitted by the charger. Once it finds it, Roomba follows the signal and docks itself to the charger. Some robotic vacuums with this self-charging feature will head back out to resume cleaning once they're fully recharged.
So the Roomba is smart enough to clean your floors while you're at the movies, but there are still some decisions you need to make for it. First, you need to remove small obstacles from the floor so Roomba doesn't get stuck on them or try to suck them up. You also need to tell Roomba where it should not go. Using included virtual wall units, you can keep the robot within certain boundaries. Virtual walls send out infrared signals that Roomba picks up with the receiver on its bumper. When it picks up a signal from a virtual wall, it knows to turn around and head the other way.
Roomba's sensors allow it navigate your home with relative autonomy. Now let's find out how it accomplishes its real purpose: vacuuming.