It's the size of a large dinner plate, or one of those giant "professional" Frisbees; approximately 13.4 inches (34 cm) in diameter and less than 3.5 inches (9 cm) high.
It uses counter-rotating beater-bars and brushes, a circular side-brush, and a vacuum to get the dirt out: http://tinyurl.com/affsrj
It operates more or less autonomously, scooting around your rooms on its own: You don't guide it. It has several forward-looking infrared emitters and receivers so it can tell when it's getting close to an obstacle; the onboard computer reduces the Roomba's speed to a slow crawl when such an obstacle is encountered. The slow-moving robot then edges forward until a rubber bumper gently makes physical contact with the obstacle. The bumper is mounted with contact switches that are carefully calibrated so the robot can push drapes, cords, and such out of the way without treating them as impassible objects; but gentle enough that the Roomba doesn't bash its brains out running into solid walls, doors and such. (Click the "Light touch bumper" link here: http://tinyurl.com/affsrj )
Several downward-looking IR sensors scan the floor underneath the robot's edges. The iRobot company (makers of Roomba) calls these "cliff sensors." If the cliff sensors detect that the Roomba is approaching a void where the floor drops off--- say, the edge of stairs--- the on-board computer stops the Roomba and has it carefully back up the way it came, away from the "cliff."
The Roomba also has force sensors that can tell when the unit's wheels or brushes have gotten tangled in something--- carpet fringe, cords, etc. There again, the computer stops the unit and runs everything slowly in reverse to untangle itself.
iRobot is a Massachusetts company founded by a guy from MIT. The company actually modeled the Roomba's "intelligence" on insect behavior, where just a few very well developed patterns of action can result in complex behavior.
For example, the Roomba has three main modes of travel. The most obvious is straight ahead: The Roomba uses this to clean the open areas of a room and to gauge the size of the room its in--- the longest straight run it achieves "tells" the Roomba the room's largest open dimension, and it adjusts its cleaning time accordingly. When the Roomba encounters a wall or other obstacle in straight-line mode, it will gently rebound, heading off in a new direction. It changes its angle of deflection so it heads in a slightly different direction rather than using a simple complementary angle: Mathematically, this is known as a "drunken walk" or "random walk" (really!); this and other algorithms are at the heart of the Roomba's behavior.
Second is an edge-following mode. The Roomba uses its guess about room size and the number of obstacles it encounters to decide how much time to spend in straight-line cleaning, and when it should follow edges. It uses its IR and touch sensors in edge-following mode to clean along walls, into corners, around the legs of furniture, and such.
Here's an owner-created time-lapse video of a Roomba in action; you'll see its basic behavior--- straight line, contact detection, random walk and edge following. But (trust me on this) turn down the audio, which is a dubbed-in techno version of the song "Domo arigato, Mr. Roboto."
http://www.youtube.com/watch?v=ZnJUnCfh9Ow
Roomba also has a spiral "spot cleaning" mode, which is triggered by a grit detector; a small shielded microphone above the Roomba's brushes. When Roomba "hears"that it's picking up something more solid than just dust, it aborts whatever mode it was in and starts a widening gyre, spiraling around the area where it heard the grit. When it hears no more grit, it goes back to straight-line or edge-following cleaning.
Here's a video of someone running their older Roomba on a tabletop to show its spot-cleaning spiral and "cliff sensor" behaviors: http://www.youtube.com/watch?v=O9VGzoiNXN0 At least, that's what I hope they were doing--- I sure don't put mine on the table! 8-)
The different behaviors are governed by some very clever probabilistic programming: The robot doesn't map a room or learn where the furniture is, but instead switches among all three cleaning modes according to what it "finds" by way of room size, number and frequency of collisions, and amount of grit. Eventually, it passes over each floor area an average of about 4 times, usually from different directions. As such, it's a lot slower than a human pushing a vacuum around: Roomba takes about half an hour to clean an "average" room. (But who cares? You can be off doing something else.)
Because it's probabilistic, it's not foolproof. It can get itself stuck. (It beeps a little sad tune to tell you it needs help.) It can sometimes miss small areas (but will get them the next time--- that the nature of probabilistic programming). It's generally very thorough and good, and once you learn where to start it in a room and what what places give it trouble, you can more or less leave it alone to do its thing.
For example, I have air registers in my floors for heat and A/C. Although the registers have metal grates, Roomba sees them as cliffs, and won't go over them. I have one spot in my office where a bookcase and some table legs are near a floor register. If Roomba works its way into that corner in just the wrong way, it'll detect the "cliff" and back up into the table legs, and then turn and bump into the bookcase, and then head forward and detect the "cliff" and start the cycle over again--- table legs, bookcase, cliff, table legs, bookcase, cliff... etc etc etc.
The way around that is to start the robot from the danger spot, placing the "home base" recharger there. The Roomba will back away from the recharger, clean the room, and then return to the recharger when it's done, using its onboard IR sensors to "see" the IR beacon on the recharger and guide itself in properly, without starting the bump/avoid cycle. iRobot calls this "docking." You can watch a Roomba dock here; its first try fails, so it backs up and gets it right the second time: http://www.youtube.com/watch?v=f5UoHi7kcf4
iRobot also sells these hand-sized things, called "lighthouses."
It uses counter-rotating beater-bars and brushes, a circular side-brush, and a vacuum to get the dirt out: http://tinyurl.com/affsrj
It operates more or less autonomously, scooting around your rooms on its own: You don't guide it. It has several forward-looking infrared emitters and receivers so it can tell when it's getting close to an obstacle; the onboard computer reduces the Roomba's speed to a slow crawl when such an obstacle is encountered. The slow-moving robot then edges forward until a rubber bumper gently makes physical contact with the obstacle. The bumper is mounted with contact switches that are carefully calibrated so the robot can push drapes, cords, and such out of the way without treating them as impassible objects; but gentle enough that the Roomba doesn't bash its brains out running into solid walls, doors and such. (Click the "Light touch bumper" link here: http://tinyurl.com/affsrj )
Several downward-looking IR sensors scan the floor underneath the robot's edges. The iRobot company (makers of Roomba) calls these "cliff sensors." If the cliff sensors detect that the Roomba is approaching a void where the floor drops off--- say, the edge of stairs--- the on-board computer stops the Roomba and has it carefully back up the way it came, away from the "cliff."
The Roomba also has force sensors that can tell when the unit's wheels or brushes have gotten tangled in something--- carpet fringe, cords, etc. There again, the computer stops the unit and runs everything slowly in reverse to untangle itself.
iRobot is a Massachusetts company founded by a guy from MIT. The company actually modeled the Roomba's "intelligence" on insect behavior, where just a few very well developed patterns of action can result in complex behavior.
For example, the Roomba has three main modes of travel. The most obvious is straight ahead: The Roomba uses this to clean the open areas of a room and to gauge the size of the room its in--- the longest straight run it achieves "tells" the Roomba the room's largest open dimension, and it adjusts its cleaning time accordingly. When the Roomba encounters a wall or other obstacle in straight-line mode, it will gently rebound, heading off in a new direction. It changes its angle of deflection so it heads in a slightly different direction rather than using a simple complementary angle: Mathematically, this is known as a "drunken walk" or "random walk" (really!); this and other algorithms are at the heart of the Roomba's behavior.
Second is an edge-following mode. The Roomba uses its guess about room size and the number of obstacles it encounters to decide how much time to spend in straight-line cleaning, and when it should follow edges. It uses its IR and touch sensors in edge-following mode to clean along walls, into corners, around the legs of furniture, and such.
Here's an owner-created time-lapse video of a Roomba in action; you'll see its basic behavior--- straight line, contact detection, random walk and edge following. But (trust me on this) turn down the audio, which is a dubbed-in techno version of the song "Domo arigato, Mr. Roboto."
http://www.youtube.com/watch?v=ZnJUnCfh9Ow
Roomba also has a spiral "spot cleaning" mode, which is triggered by a grit detector; a small shielded microphone above the Roomba's brushes. When Roomba "hears"that it's picking up something more solid than just dust, it aborts whatever mode it was in and starts a widening gyre, spiraling around the area where it heard the grit. When it hears no more grit, it goes back to straight-line or edge-following cleaning.
Here's a video of someone running their older Roomba on a tabletop to show its spot-cleaning spiral and "cliff sensor" behaviors: http://www.youtube.com/watch?v=O9VGzoiNXN0 At least, that's what I hope they were doing--- I sure don't put mine on the table! 8-)
The different behaviors are governed by some very clever probabilistic programming: The robot doesn't map a room or learn where the furniture is, but instead switches among all three cleaning modes according to what it "finds" by way of room size, number and frequency of collisions, and amount of grit. Eventually, it passes over each floor area an average of about 4 times, usually from different directions. As such, it's a lot slower than a human pushing a vacuum around: Roomba takes about half an hour to clean an "average" room. (But who cares? You can be off doing something else.)
Because it's probabilistic, it's not foolproof. It can get itself stuck. (It beeps a little sad tune to tell you it needs help.) It can sometimes miss small areas (but will get them the next time--- that the nature of probabilistic programming). It's generally very thorough and good, and once you learn where to start it in a room and what what places give it trouble, you can more or less leave it alone to do its thing.
For example, I have air registers in my floors for heat and A/C. Although the registers have metal grates, Roomba sees them as cliffs, and won't go over them. I have one spot in my office where a bookcase and some table legs are near a floor register. If Roomba works its way into that corner in just the wrong way, it'll detect the "cliff" and back up into the table legs, and then turn and bump into the bookcase, and then head forward and detect the "cliff" and start the cycle over again--- table legs, bookcase, cliff, table legs, bookcase, cliff... etc etc etc.
The way around that is to start the robot from the danger spot, placing the "home base" recharger there. The Roomba will back away from the recharger, clean the room, and then return to the recharger when it's done, using its onboard IR sensors to "see" the IR beacon on the recharger and guide itself in properly, without starting the bump/avoid cycle. iRobot calls this "docking." You can watch a Roomba dock here; its first try fails, so it backs up and gets it right the second time: http://www.youtube.com/watch?v=f5UoHi7kcf4
iRobot also sells these hand-sized things, called "lighthouses."
They're freestanding, battery-powered IR and radio beacons you can place where needed. The Roomba uses radio (RF) to remotely turn the lighthouses on and off, and then uses IR to actually locate them as it trundles around. The lighthouses have two modes. In "virtual wall" mode, they tell the Roomba not to pass. You can use them this way to create a "forbidden zone" or otherwise confine the Roomba to a given area without having to create a physical barrier.
In "lighthouse" mode, the device helps the Roomba clean from room to room. You place the lighthouse in a doorway to tell the Roomba that that is, in fact, a door: The Roomba won't cross the threshold until it's finished in the first room. When room #1 is clean, the robot trundles past the lighthouse and cleans room #2 beyond.
My Roomba came with three lighthouses (you can buy more) so it can clean up to four rooms consecutively. If the Roomba's battery starts to run down before it's finished cleaning, it uses the lighthouses to reverse course and find its way back to the home base/charging station.
It took me a couple tries to figure out the best placement for the lighthouses, but now that I know where to put them, I can drop them in the best spots, hit the "clean" button on the Roomba, and walk away, knowing that the mindless little gizmo will clean whatever rooms I've told it to, then return and recharge itself for the next cleaning. (The site at http://www.robotreviews.com/chat/viewtopic.php?f=1&t=11048 has incredibly detailed info on how the lighthouses work.)
The video called "Lighthouse" here ( http://tinyurl.com/affsrj ) shows the room-to room operation, and also includes an actual time-lapse showing Roomba's navigation in an interesting way: The video traces the Roomba's movements in blue, letting you see exactly what is and is not covered in each room. You can see that the coverage isn't perfect (and kudos to iRobot for not over-hyping the Roomba), but it's very good. And when you add in the fact that the robot goes under furniture and into places where an upright can't reach, it's actually better overall than manual vacuuming--- at least, *my* manual vacuuming. 8-)
Tomorrow: Roomba anatomy!
The YouTube link is missing a "w" at the end:
ReplyDeletehttp://www.youtube.com/watch?v=ZnJUnCfh9Ow
thanks--- link fixed.
ReplyDeleteAw! Self-disentangling! Now I want a Roomba instead of a kitten.
ReplyDelete...although I'm a bit worried about tomorrow's topic. You're not going to vivisect it, are you, Fred? The little song would be even sadder after that.
ReplyDeleteOff to watch more Roomba videos.
>>You're not going to vivisect it, are you
ReplyDeletePicture me, soldering iron in hand, asking the tied-down Roomba, "Is it safe? Is it safe?"