Fun with a Roomba

So I purchased a Roomba at the Woot off the other day. After I bought the condo, a good friend of mine (who also lives here) mentioned the device, but didn’t know the name. Being the consummate geek that I am, I knew he was talking about the Roomba, and furthermore knew that they had several flavors of it now. And the fact of the matter is that he was right, it seems perfectly suited for this place. So when I saw one at the Woot off for only $120 (+$5 shipping), it seemed like a good idea. In fact, I think it turned out to be one of the best bargains ever.

The one I got is a “Discovery 4296” which is nothing more than a word with a number, really. The thing is basically an automatic sweeper. With hardwood or low carpets/rugs (not shag) it’s clearly perfect. Basically it sweeps the floor with rotating brushes and sweeps the crap into a bin, whereupon you dump it. It’s particularly good with hair and other small debris, like the weird pebbles that keep falling out of my ceiling. It also does a decent job of dust in general, although it tends to throw it about a bit. But it seems to get it after a few passes.

One thing I do not like is the bin. It’s too small, and it’s positioned wrong. The upshot of this is that you have to use it every other day, and you have to be *extremely* careful when emptying it. The first time I emptied it, I dumped a large amount of crap onto the floor. Takes some practice, so expect it.

Naturally, being a geek, I’m interested in the algorithms involved. It has a few. They probably have technical names, but here’s the lowdown:
1. Roaming – It roams off in some random direction for a long distance. This is the primary way that it cleans the center of rooms. However, when you consider it, the center areas of rooms don’t tend to be the dirty ones.. It’s the edges that build up the mess. So it has…
2. Edge finding – I think the manual calls this wall roaming. It tends to do this a lot, however I’ve seen it walking the edge of my rug as well. Which is actually a good thing, as those edges tend to pick up debris too. Finally, it has:
3. Spot cleaning – This is an interesting mode. You can force it by placing it somewhere and hitting the “spot” button, but in normal “clean” mode, it will wander around and occasionally switch into this mode. A blue light labeled “dirt detector” comes on, and it runs around in circles for a while, eventually heading off in some random direction.

Few other things:
– Home base – If you get the model with the home base charger, then after it’s satisfied with the area or low enough on battery, it will go home and dock for charging. This can be forced as well with the remote (if you have one). Watching it dock is a lot of fun for your average geek, because the way it does it is clearly via two infrared beams on either side of the dock. It hits them, and turns away from them, back and forth, hunting, until it finds the home point. Very clever.
– Virtual Walls – These are similar, just infrared transmitters (each takes 2 D-cell batteries!) that shoot out a beam which cause the thing to act like it hit a wall and turn. It will follow the beam just like it follows walls. The beams are a bit wide, so put them back a bit inside doorways and such.

The primary way it knows about things is hitting them. The whole front piece, about 140-150 degrees or so, is a movable bump mechanism. When it hits something, this pushes in and the thing stops and turns around some seemingly random amount, or just a bit in edge finding mode. It also appears to be able to sense distance from any wall, because in edge finding, it will follow a wall very precisely without touching it at all, which is weird, because I can’t find any obvious sensors there.

As far as cleaning goes, the one I got is basically a sweeper/vacuum. Works great on hardwood, decent on low cut rug/carpet, probably would not work on shag or similar. The gist of it is that it has a side sweeper to pull in things, a front sweeper to push things up, a rotor brush to pull things in, and a ramp to force things into the bin. There’s also a spinning mechanism inside which might produce some very minor vacuum effect, to get things “over the hump” of the bin and keep dust inside. The bin is on the back, and it sucks. Pick the thing upright before removing the bin. You’ll see the method after 1 spill, trust me.

The docking station does not work particularly well on hardwood floors. It slides, and the Roomba drags it around while trying to disengage. Put it on rug or carpet. I ended up putting it on some carpet samples underneath my bar area. Speaking of which, the dock *MUST* be in an area where it has a pretty good view of the room. Otherwise the Roomba will not find it. So forget a closet or something, it must be in the main area, somewhere.

The cat is completely freaked out by the thing, but the Roomba does not appear to mind his presence. :D

It’s loud. Not as loud as an actual vacuum cleaner, but the Roomba takes longer. However, given that mine has a scheduling feature, I can set it to work when I’m not here. Haven’t tried that yet, might try it later this week. The scheduler is cool, built into the remote. You program the times, and then send the schedule to the Roomba and to the virtual wall units. It runs for that time and the wall units turn on at the same moment. Very conservative on battery power that way.

One thing that bugs me is that the remote doesn’t offer any easy way to really remote control the thing. You can send it commands, but they’re really more like suggestions as far as I can tell. Which is frankly too much work. It covered my living room and kitchen by itself twice before running out of power, and since I didn’t follow the charging directions, it didn’t find home base when it did so. Follow the damn directions, charge it for 16 hours before the first use. Trust me on this one.

Hacking: There are myriad abilities to hack the thing. It has a serial port, and can accept commands to move around and such, as well as provide feedback of all the sensors on it. Worth a look if you’re into that sort of thing. I’m considering building a bluetooth serial link to it and hacking it a bit. With some minor effort (okay, maybe not so minor), I could control the thing and make it work much better for my specific space. Given that the unit’s more or less “random” method works pretty well, it does seem to take a while to accomplish anything. I mean, it works, but seems inefficient. I could improve that. I browsed through the documentation on irobot.com while it was working, and it’s pretty comprehensive. Worth a look if you’re the hackish type.

All in all, I’d say it’s worth the $125. Maybe $170. But not the default $220 price. Find the bargains on it, stick with those. Amazon has the remanufactured ones on the cheap (this is the same one I got). And if you’re all hardwood with no rugs/carpets, look for the one that actually mops instead of just sweeps and vacuums.

Bought a Roomba

Bought me a Roomba today. They had a deal going on Woot! and anyway I kind of need one. The hardwood in the new condo is proving difficult to keep clean on a regular basis. Since Mandy claimed to have gotten one while at the car dealership the other day, I figured I’d give it a shot too.

BTW, if you don’t check out Woot! daily, you should. It’s good stuff. Even when the deal of the day sucks, the text is pretty good. The daily podcast is usually pretty funny as well. Worth the trouble.