I am a confessed Roomba evangelist. One of the most frequent questions I get is how Roomba knows where to go -- does it build a map? Does it do rows of your carpet? Why is it spinning in circles?
Since I'm friends with a few past and current Roomba engineers, I've always known that Roomba is mostly random. It does have a few behaviors -- for example, wall-following, or the spiral pattern it uses when it starts up or when it's in "dirt detect" mode -- but mostly, it wanders, as anyone who's spent time watching their Roomba with rapt attention may have noticed.
The next question, of course, is how effective this random pattern is. We humans are very methodical about our vacuuming to make sure it covers the whole floor; how can we be sure that our wandering robots are getting the same coverage?
Well, wonder no more. An enterprising Roomba user took a long-exposure shot of his Roomba in a dark room as it did its cleaning to see exactly where it went over the full cleaning cycle.
Long-exposure shot of Roomba in action (from signaltheorist.com)
You can see where Roomba starts -- the spiral pattern in the middle of the room -- and how it covered the remainder in a criss-cross pattern. Keep in mind that the light this photograph shows is a point on the Roomba itself; on either side of the line is about six inches of actual vacuum coverage. As you can see, the Roomba gets darn near everywhere in that room, and arguably covers the space more often than most of us would with our normal upright vacuums (if, indeed, we vacuum at all. Cough cough).
It wouldn't be impossible for Roomba to build a map or to follow a traditional "lawn mower" pattern across your floor; the technology exists, and there have been plenty of Roomba clones that do that, actually. iRobot seems to subscribe to the KISS principle of design, making the Roomba more cost-effective compared to its competitors -- but at the end of the day, still keeping my floor squeaky clean.