Slashdot Mirror


Roomba Vacuum Robot Opens to Hackers

FleaPlus writes "iRobot has quietly released the specifications (pdf) for the Roomba Serial Control Interface. Using a serial port one can now tinker with the Roomba by controlling behaviors, programming new songs, and remotely monitoring sensors. Hopefully this will allow for some clever hacks."

12 of 127 comments (clear)

  1. Re:They actually built these things? by Therlin · · Score: 2, Informative

    It works really well. You'll have to keep an eye on it the first few times you run it to see where the problem areas and "traps" are at. This includes properly laying some of yours cables so that they are along the edge of the wall, etc.

    But once you get things set, it's really a great gadget. I've had mine for a couple of years and I love it. I turn it on on my way to work, and I come back to a vacuumed house (even under the bed, an area I couldn't reach if I was using a regular vacuum.)

    Plus it terrifies my cats.

  2. Re:They actually built these things? by Paul+Carver · · Score: 5, Informative

    I've got one and you're sort of right. Square is not particularly important, its search pattern does get into all the areas of a room.

    Cables are a big problem. Not just computer cables, if you have floor lamps or anything else where a power cord runs long the base of a wall Roomba will get caught on it and pull the cord away from the wall.

    Rugs are also a big problem. Wall to wall carpeting is fine and solid floors are fine, but Roomba can't climb from my hardwood floor onto the area rug in my living room. Even if I start it on the rug, it immediately drives off the rug and spends the rest of the cycle cleaning the perimeter around the outside of the rug without being able to get back on.

    Cats are a big problem. Not with Roomba, just in general. Cat claws carpet, loosens a thread, Roomba sees loose thread and sucks it up, unravelling carpet and jamming Roomba's roller brush.

    Steps are a problem. Roomba has drop sensors but the don't always work. I've repeatedly found my Roomba upside down after flipping off a single step down. I wouldn't trust Roomba to clean the area adjacent to the top of a staircase.

    Beds are a problem. If you have a bed skirt or sheets or blankets that dangle down to the floor, Roomba will get caught in them.

    Chairs are a problem. I have several chairs just the right size for Roomba to get wedged into the space between the legs. You wouldn't beleive how persistent Roomba is about wedging itself in tight.

    Other than that it works great. The cleaning suction is strong and the rotating brush works well. It picks up a lot of dirt and dust.

    Basically Roomba is like a baby. You have to baby proof a house when you have a baby and you have to Roomba proof a house if you want to have a Roomba.

  3. Wait a sec by rolypolyman · · Score: 2, Informative

    Come on... any real hacker wouldn't need to be spoon-fed the specifications! If they have that, then they're just programming.

  4. Stupid Roomba by Rumagent · · Score: 1, Informative

    I really want to like the Roomba. It is a cool, affordable and self destructs about once a month. After going through five Roombas, I finally gave up and bought a Trilobite instead. The Roomba is potentially nice, but the crap quality means that it is little more than a nifty toy.

    1. Re:Stupid Roomba by Rumagent · · Score: 2, Informative

      Standard use on hardwood floors. And I do not have children or dogs for that matter. What model do you own? I purchased the Discovery SE and I am certainly not the only one experiencing this - a quick search on roombareview can confirm this.

      So yeah, I still think they are crap.

    2. Re:Stupid Roomba by Dun+Malg · · Score: 2, Informative
      Standard use on hardwood floors. And I do not have children or dogs for that matter. What model do you own? I purchased the Discovery SE and I am certainly not the only one experiencing this - a quick search on roombareview can confirm this.

      Hmmmm....I have an "original Roomba" from when there was only one model, and I recently picked up a Discovery SE. Searching the Roombareview.com forum I find a few people complaining of bad sucker motors and erratic behavior with the Discovery, but the biggest complaint seems to be slow turnaround on warranty returns from iRobot. I haven't noticed any problems yet with my new roomba, but I've only had it a couple months...

      --
      If a job's not worth doing, it's not worth doing right.
  5. Re:They actually built these things? by Murphy+Murph · · Score: 4, Informative
    Roombas really are quite well thought out - knows when to go back and recharge...dozens of sensors help it learn...maps each room after one pass, etc. Very cool to watch in action, and a real treat to come home from work to a clean floor.


    knows when to go back and recharge

    True, if you have the charging dock (optional on the base model, comes with the more expensive models), and if Roomba can find the charging dock before it dies.

    dozens of sensors

    Stair sensor, optical wall sensor, bump sensor, dirt sensor, wheel sensorx2, battery sensor.
    7 sensors.

    help it learn

    It does not learn, it has no memory.

    maps each room after one pass

    It has no memory, it stores no internal map, it bounces around in a semi-random pattern and attempts to follow walls in a counter-clockwise direction.

    a real treat to come home from work to a clean floor

    True!
    --
    I dub thee... Sir Phobos, Knight of Mars, Beater of Ass.
  6. Re:They actually built these things? by djupedal · · Score: 4, Informative

    ...info from the manuf. site*, and my experience with at least one of the little beasts:
    *"Roomba is an intelligent and effective vacuuming robot. All Roomba Vacuuming Robots feature iRobot's unique AWARE(TM) Robot Intelligence Systems. AWARE uses dozens of sensors to monitor Roomba's environment, and adjusts Roomba's behavior up to 67 times per second, ensuring that Roomba cleans effectively, intelligently and safely."

    Mapping:
    "Roomba automatically calculates room size and run time based on a number of factors. Roomba will clean longer in rooms with more debris and furniture. Roomba also spends a little bit longer cleaning rugs than hard floors. In an empty 8x10 room with hard floors, Roomba will clean for approximately 20 minutes. Removing obstacles from a room will decrease the amount of time Roomba needs to spend in a room."

    Sensors:
    There are multiples of many of the single ones you listed. As an example, there are at least 4 'cliff' sensors, and 2 'Dirt Detect' sensors. That alone = 6, not 2.

    'It does not learn, it has no memory'
    Cleaning Intelligence:
    "Roomba automatically calculates how long it needs to work to clean the entire room." (calcs such as these, along with any cleaning schedules, have to be retained somehow, even if it is session based only...)

    '...bounces around in a semi-random pattern'
    (...semi-random? semi? random pattern?)
    How does Roomba know where to go?
    "Because it uses specially designed cleaning behaviours to decide. Roomba will switch between spiralling to cover open floor spaces, and wall following to clean edges and criss crossing the room. All the while it will use its non-marking bumper to feel for furniture and obstacles and move around them."

    All of which reminds me to contact them about correcting some of the grammar in their documentation.

  7. iRobot is Looking for More Geeks by sonpal · · Score: 5, Informative
    If you enjoy working on robots or being around robots, we have several openings listed on our careers web page. You don't have to be an engineer - it takes a lot of different types to operate any real company.

    In addition to the open positions, we generally have room for interns, especially if you are a hands-on type.

    All of our openings for both the Consumer and Government divisions are in our Burlington, MA headquarters located about 20 minutes from downtown Boston. The Government division also has a small facility in San Luis Obispo, CA about 4 hours from LA, where we make rare hires when we find the right people.

    Drop me a note at "hsonpal at our domain name" when you apply - I'll let HR know that I'm referring you.

    -- Hiten

  8. Re:They actually built these things? by ChaosDiscord · · Score: 2, Informative

    You're buying into Roomba's marketting hype. Fundamentally the Roomba is a really simple design. They made the right decision, most people tried to make really smart vacuums. The result was complex and expensive. Roomba's brilliant insight was that a pretty stupid machine could be Good Enough.

    Most people would suggest that "learning" and "memory" mean things like it remembers how big a room is between cleaning sessions, or that as you clean the same room repeatedly the Roomba will deduce more effectice cleaning paths. The Roomba does neither. It maintains some internal state while running, but that internal state clearly doesn't include anything as complex as a "map". If it had a map it would make fewer suboptimal choices.

    Have you watched a Roomba do a run? The cycle always starts the same: spiral. If it doesn't hit an edge (be it a hard object, an IR wall, or a drop off) while doing a core spiral (about 5 feet in diameter) it picks a direction and runs straight until it hits an edge. Either way, once it's found an edge it will follow the edge for "a while". Eventually it will decide to shoot off in a random direction against. Repeat. For added spice, sometimes while shooting off in a random direction, it will stop and try to spiral again.

    The result is that the Roomba often vacuums a given spot many times. Not because the spot is particularly dirty, it's just not smart enough to realize that it's doing so. The Roomba is also often missing some parts of the room. But the missed spots tend to be small and if you vary the initial placement and direction it will tend to catch them next time.

  9. SCI limitations by Blob+Pet · · Score: 2, Informative

    I was playing around with the SCI before it was officially released, and here are a few of problems I've had with it:

    1) You can send the Roomba direct commands for driving, controlling cleaning motors, and polling internal and external sensors, but you can't reprogram it. If you want to add any real intelligence, you're going to have to mount a small computer or PIC on top of the Roomba or keep it tethered to a desktop.

    2) You can't control the left and right drive wheels with independent power values. Instead, they've provided a higher-level system where you have to specify a value for foward/reverse velocity and a value for turning radius in either clockwise or counter-clockwise direction.

    3) The serial port is a not-so-common 7-pin mini-DIN connector, so you're probably going to be splicing your own mini-DIN-to-DB9 cables. Also, the Roomba's serial interface communicates at plus and minus 5 volts, while PCs talk at plus and minus 10 volts. This means that if you're going to use a PC to control the Roomba, you're going to use a MAX232 chip.

    --
    "...today consumers have been conditioned to think of beer when they see a bullfrog..."
  10. It will need a few first things to make it decent by EMIce · · Score: 2, Informative

    This thing won't be a viable robotics platform until extra inputs and outputs added. Not to mention it has to stay tethered to a PC. This is screaming for a circuit board with a $10 microcontroller on it, one that can provide for analog/digital inputs & outputs, as well as some program space so it doesn't have to be tethered. One of those gumstix computers would work, but I'd prefer something cheaper, though gumstix does wireless, and that could be handy.

    Another problem is that applications are limited due to roomba's form factor. It might be fun equip it with a camera and a wireless gumstix module, and then have a server do processing/control - oh for, you know, things every geek ought to have, like a personal sentry or a reconnaissance drone. I bet it could make its way pretty stealthily through the floor of an office building, if the low profile were maintained, and so that it only moved when no one was looking. Neat, but I just don't see it physically actuating to do any task besides vacuuming and pushing on objects.