Copyright © 2006 jsd

1  Roomba : What it Can and Cannot Do

Executive summary: It’s not fast, it’s not smart, and it needs your help … but it does clean the carpets.

2  Clutter

You need to learn how to use a Roomba. Here’s an example of what I mean.

Suppose you are vacuuming the dining room. You need to vacuum under each of the chairs.

3  Battery

The batteries can be recharged, but only a few hundred times. Eventually the battery becomes worn-out and useless. Then you have to buy a new battery pack.

The Roomba is remarkably stupid about this. Sometimes – not always – here’s what happens: When it is on the charger, it thinks it is fully charged, but as soon as you take it off the charger it thinks the battery is empty. Another symptom of a messed-up battery is that sometimes – not always – leaving it on the charger overnight is less helpful then using it immediately after charging. I’m not sure I understand this, but it may be related to the Roobma’s non-understanding of open/loaded issue discussed below.

Typically when the battery fails, almost all of the cells within the battery are still good; only one or two cells have died.

Therefore, keep the old battery pack whenever you buy a new one. The reason is that when the second one fails, you can repair it by clipping out the bad cell and replacing it with a good one from the other pack. This requires some soldering skills.

You usually cannot detect a bad cell by looking at its open-circuit voltage. Instead, you should load the battery pack using a 50 Ω resistor with a 5 W (or better) power rating, and look at the cell voltages under load. To say the same thing another way, typically the cell fails by developing an unacceptably large internal resistance.

Note: On the cover of the battery pack, the screws may have a funny three-cornered socket head. You could buy a special tool for dealing with these, but it is just as easy to make one. One solution is to start with a #10 machine screw and put a triangular tip on it using a file or a grinding wheel.

4  Error Codes

If the Roomba detects a problem, it will stop and play a “song” consisting of the two-tone “uh-oh” prefix followed by a number of beeps. The meaning of the beeps is:

0: Wheel drop — Either a wheel is physically dropped or one of the wheel drop switches/wires is broken. You commonly hear this when the robot is picked up.
1: Main Brush stall — Check for something wrapped around the main brush.
2: Side Brush stall — Check for something wrapped around the spinning side brush.
3: Vacuum stall — Check for something stuck in the vacuum chamber.
4: Drive Stall — Either the robot got stuck on or under something, or something got wrapped around a drive wheel. Other possible causes include internal failures of the motor, drive circuitry, encoders, or wheel belts, failure of string that raises cleaning head, failure of main brush motor (which would cause the cleaning head to not raise up).
5: Constant Cliff — Cliff sensor failure. Check for debris stuck in the cliff sensors.
6: Wheel Drop Rate — too many wheel drops within a certain period of time. This can happen if the robot is stuck on an extension cord or similar object.
7: Stasis Stuck — The stasis switch has failed. This should never happen – it has been disabled in the code – but this code remains here to avoid re-numbering the higher-numbered codes.
8: Vacuum fell out — This has also been disabled in the code.
9: Wheel Drop Failed — Hard failure of a wheel drop switch/wire. This happens when a wheel drop switch is failed at startup and stays that way for 3 minutes after startup. During this time, the robot will engage in a ‘wiggling’ behavior to try to nudge the switch into working again.

5  References

Tod E. Kurt, “Roombongle! A Roomba USB dongle” http://todbot.com/blog/2006/07/19/roombongle-a-roomba-usb-dongle/
Roomba Review – Roomba Robotic Vacuum reviews, news and user forums.


Copyright © 2006 jsd