Previous post:

Next post:

Roomba Discovery Review and Testing

January 1, 2005

in All Articles,Games

(Read the review or jump to Does the Roomba work?Testing the RoombaProblems with Roomba and potential solutions , and Review Conclusion).

So you don’t like vacuuming. And you want a robot to do it. No problem, say the folks atiRobot, who develop robots for government, industrial and residential uses. They’ve created the Roomba, billed as “the first affordable, robotic floorvac in the United States“.

The unit tested was the iRobot Roomba Discovery.

Retailing at $280, it comes with the following parts:


The Roomba robot is a big, thick dinner-plate about thirteen inches in diameter. Here are shots of the top and bottom of the unit:

The brushes, air filter and dirt tray are all removable, allowing for easy cleaning and replacement. There is a little telescoping wheel (just above the large yellow battery) in the front of the unit allowing it to sense “cliffs” like a stairway. I tested this extensively, and it worked very well. The Roomba will not fall down stairs. That’s much better than some humans I know.

Self-charging home base

The base is a small platform that plugs into your wall socket. The Roomba can rest there and recharge. If, during cleaning, the Roomba senses its battery is low, it will automatically look for the charging station and will re-dock itself to charge its battery.

Roomba remote

The Roomba’s remote control allows you most of the features accessed on the Roomba itself. Also, you can “steer” and pause the unit. Requires two AA batteries.

Wall mount

If you have the home base, it’s easiest to leave the unit on the floor. If this isn’t possible, use the wall mount to hang the Roomba out of the way. Comes with wall-mounting hardware.

Two virtual walls

When cleaning, you may want the Roomba to stay in the confines of a room. The “Virtual wall” is a small box that projects a short beam of infrared light. Think of it like a specialized flashlight. If this flashlight is shining across a doorway, the Roomba knows not to cross that doorway, and will turn around when it hits that beam. Each unit (there are two) requires two D batteries, which is my only gripe about the virtual wall units. I’d much rather have to pay for, say, eight rechargeable AA batteries. In the long run, that would be far less expensive, and allow me to make use of a more common battery size.

Replaceable air filter and cleaning comb

The Roomba’s air filter is easily accessed and removable. The Discovery kit comes with a plastic fork-like comb, meant for cleaning bristles and brushes. The Roomba comes with one extra air filter, which to me seems like hardly enough, as the instructions recommend you change the filter every 1-2 months.

Does the Roomba work?

My house’s largest room is our “family room”, consisting of 420 square feet. I charged up the Roomba, placed it in the center of the room, and pressed the “Clean” button. The Roomba scooted and sniffed around, vacuuming my room in an odd pattern of circles and diagonal lines. It bumped around furniture, and while it took a long time navigating the 52 table and chair legs, it did make it through that maze.

The instructions tell us the Roomba is not meant to completely replace a vacuum cleaner. It can’t clean stairs. It will get tangled in electric cords, like those on a lamp. I was impressed when it slid under our armoire, a place our normal vacuum cleaner can’t reach. Then I realized it was stuck under there in TV antenna and power cords.

Then I noticed it was not only taking a long time, it was missing parts of the room. Some areas were being cleaned and recleaned, and others weren’t covered at all. A few more tests confirmed this. The Roomba’s artificial intelligence and cleaning algorithm needs some work.

So, I decided to test the Roomba’s programming in simpler, more controlled circumstances.

Testing the Roomba

The challenger: A bottle of baby powder.

I sprinkled this around my kitchen. The goal here was not to clean the floor – I knew it cleaned fairly well from earlier tests – but the powder would help me analyze where the Roomba traveled. I wanted visual confirmation that it was or wasn’t covering an entire floor.

The defender: iRobot’s Roomba Discovery

The place: My kitchen.

I blocked off an area of 71 square feet, essentially just a small rectangle. Blocking off one side (unseen in the photos) I used the Roomba’s virtual wall unit. Seen in the top corner of some photos, I created a “poor-man’s virtual wall”, a big box held down by the weight of network certification manuals and a toaster oven. I’m sure that’s really symbolic for something, though I have no idea what.

The tests and results:

I ran two tests, ten minutes each. If the Roomba couldn’t cover all parts of the floor in that time, I would consider the test a failure. One test would be as simple as I could make it. The second test added an obstacle: A chair. Since obstacles slowed the Roomba down, I wanted to see what affect that had on the floor coverage.

Test 1

The Roomba took about nine minutes to cover all parts of the floor. The two pictures below illustrate the Roomba’s coverage pattern: Again, that white stuff on the floor is baby powder, too fine to be easily cleaned, but perfect for leaving tracks so I could see where the robot had and had not visited:

Test 2

After sweeping the floor and reapplying some baby powder, the second test was the same as the first, only it included a single chair.

While the Roomba swooped and swirled around and through the chair legs just fine, there was a problem: It failed cleaning parts of the rest of the floor.

This photo shows areas the Roomba missed cleaning, due to the extra complexity and time involved in navigating the chair.

As the above photo is a little hard to see at Web-resolution, I’ve enhanced the areas missed in purpley-blue. Each kitchen tile is one square foot, so the Roomba missed cleaning approximately three square feet, or 4% of the floor.

Test Conclusions

One test succeeded, that of a small rectangle with no obstacles. Adding a single chair caused a miss rate of 4%. Compare the ratio from the small area I tested (71 square feet) to the area of my largest room (420 feet), and the 4% becomes 17 square feet of uncleaned space. And that’s assuming a room shaped like a rectangle with only one chair in the very center, neither of which are common in my house.

Lessons learned:

The Roomba works when the rooms are small and simple. As you add size and complexity, effectiveness decreases greatly.

While laughing maniacally and spraying baby powder across a room might seem like fun, realize that cleanup takes ten times longer than you’d expect. And when you’re testing something that cleans dirt for a living, you’ve gotta get things dirty first. Or as my wife put it, “You’re taking me out to dinner.”

I’m not allowed near the baby supplies again without supervision.

I now have an odd (but understandable) fear of baby powder.

Problems with Roomba and potential solutions

The Roomba’s problem is it’s not a visual machine. So without eyes, it has to “feel” its way around the room blindly, much like I do when I’m awake and thirsty at 2am.

It seems to use an algorithm allowing it to cover most of an area, bouncing off walls and objects to cover most of the floor space. The problems with this technique are moving objects and lack of precision in the Roomba itself. If the Roomba is picked up and placed somewhere else (say because it sucked up a cable, or got stuck bouncing around chair legs), it can’t remember where it’s cleaned already because it doesn’t know where it is – it has to restart its blind exploration. In addition, it bounces off objects frequently to find its way around. A couple hundred “bounces” make for tiny adjustments in navigation – those bounces may alter Roomba’s sense of where it’s been.

Even if you exactly know the shape of the area you’re vacuuming, without sight you need more deductive logic and memory than Roomba currently has. Or as my wife Gena summarized, “The minute something hits the floor, that robot should perk up its ears and come running over. That would be genius.”

But I won’t criticize without offering a solution: Give the Roomba a low-power radio beacon. Put this radio beacon in the center of a room you’d like to clean. The Roomba can use the beacon to find out where it is in the room, and consequently where it’s been. As long as you don’t move the beacon, you can move the Roomba all you want and the navigation will still be fine: The Roomba will know where it’s been and where it still needs to go.

Review Conclusion

I have respect for the innovation presented by the Roomba and the iRobot engineers. I’m a gadget guy, I love robots and things that beep and boop. I really want to like the Roomba. In fact, I do like it. Though big rooms and lots of obstacles are a problem, it handles smaller and simpler rooms pretty well. But I have trouble recommending it.

The Roomba is just not advanced enough to handle most room types, it’s annoying and impractical to hide all your power cords before cleaning (at least in my house), and the rooms it does handle take a long time compared to manually vacuuming. This vacuum cleaner robot is best as a fun gadget for those who have extra money available. If you’re not in this category, stick to your usual vacuum cleaner. The biggest impediment to the Roomba is not dirt or a deep carpet, but itself.

For those interested in Roomba programming, see the Roomba development tools and communication hardware, including USB, serial and Bluetooth interfaces. Or go to theiRobot Roomba hacking site, with specifics on the SCI (Serial Command Interface).

Previous post:

Next post: