The Roomba 980 caught our attention when it was announced back in September because it’s the first iRobot vacuum robot in a very long time to incorporate a major upgrade to its cleaning technique. For generations, Roombas have used a sensor-driven pseudorandom coverage method to bounce around a room, cleaning every part of your floor an average of three times, from several different angles. This is an effective way to clean, but it’s not particularly efficient, and it’s often difficult for Roomba to cover an entire level of a home with multiple rooms.
What’s new about the Roomba 980 is that it can localize: it builds a map of its environment (your house) and then intelligently navigates to make sure that it covers every spot. Previous Roomba models can typically clean up to three rooms on a single charge; they can’t handle more than that because, once they go back to the charging dock, they don’t have a map to know where to resume from. Roomba 980 solves that problem: it can make its way from room to room, beeline back to its charging dock when its battery gets low, and then continue right where it left off. For the first time, you can rely on your Roomba to clean your entire single-level floor without supervision or assistance, which is incredibly awesome.
It’s no surprise that the most sophisticated Roomba ever is the most expensive: it costs just shy of US $900. Is it worth the premium? We’ve spent some time with the Roomba 980, and we have a full review for you to check out. We also spoke with Melissa O’Dea, Roomba 980 product manager at iRobot, to learn more about how the robot’s navigation system works.
At first glance, the Roomba 980 looks a lot like its predecessors: the basic design (round) is the same. The cleaning mechanism hasn’t changed either, relying on the easy-to-maintain bristle-less brushes and more powerful vacuuming system that iRobot introduced with the 800 series.
The rubber brushes are easy to remove and maintain.Photo: Evan Ackerman/IEEE Spectrum
The one thing you immediately notice that is different is the camera, which is embedded under a clear window at the top of the robot, pointing forwards and upwards. Since this is The Big Deal of the 980, let’s talk about it.
The Roomba 980’s top VSLAM camera.Photo: Evan Ackerman/IEEE Spectrum
Having vision allows the Roomba 980 to perform VSLAM (Visual Simultaneous Localization and Mapping). The camera looks for distinctive features and remembers them, and when it sees the same pattern of features again, it knows where it is. By combining this with relative positioning (which the robot does using wheel odometry, plus gyro and IMU data), the robot can build a map of its environment as it goes.
But it turns out that building a robust localization system—so that the Roomba can flawlessly drive in straight lines, navigate between rooms, and return to its dock when necessary—is tricky when you’re building a robot that will be operating in thousands of different homes. When iRobot engineers did preliminary tests with the system, they quickly realized that they couldn’t rely on the camera alone. In particular, they were satisfied with the robot’s performance in dark environments. Their camera can operate well in low light, but if it’s really dark, building a reliable map is difficult.
iRobot’s Melissa O’Dea explains that the solution was adding an infrared floor-tracking sensor that works in conjunction with the camera:
iRobot added a new floor-tracking sensor underneath the Roomba 980.Photo: Evan Ackerman/IEEE Spectrum
The floor-tracking sensor is on the bottom of the robot, and it works like an optical mouse, tracking any movement of the robot very precisely. That’s really the first thing that’s used to create the most rudimentary of maps as the robot is driving around. Then, we use our other sensors to add detail onto that floor plan, like the bumpers and the IR sensors that are looking for the dock and virtual walls.
In addition to that, we use the new camera. The camera is used to observe patterns throughout the home that we call visual landmarks, and the robot remembers those landmarks and tags on its map where that landmark was observed from. As the robot is driving around, it’s always looking for these types of landmarks, and if it sees anything familiar from a previously recorded landmark, that allows the robot to be able to calculate very precisely where it is as compared to where it was when it saw that original landmark.
The floor tracking sensor is very precise in tracking movement, but over time, it accumulates drift. So the camera sensor is used to kind of snap the robot back to reality. Any time that a landmark is validated, the robot readjusts its whole map to correct any errors that might have been accumulated over time.
Another thing you may notice just by looking at the robot is that the number of buttons on top of the Roomba 980 has been reduced to three: a home button, a sort of target button (which, it turns out, is for spot cleaning), and the big fat CLEAN button.
The Roomba 980 can get away with so few buttons because it comes with an official iRobot app (for Android or iPhone). This is new. Unlike the Roomba 790’s wireless command center, this is an actual app that runs on your phone that will talk to your Roomba through your home WiFi network from wherever you have Internet access, and lets you control all kinds of things.
The Roomba 980 is controllable through iRobot’s app.Photo: Evan Ackerman/IEEE Spectrum
Once you’ve got your home base plugged in, the battery activated, and the robot charging (this takes about 30 seconds), you complete the setup process through the app. There’s a little dance between your home WiFi, your phone’s WiFi, and the robot’s WiFi, and after a few clicks, you get to name your robot (mine is called Piglet) and it joins your home network. Surprisingly, this worked for me on the first try.
iRobot’s app is well designed and easy to use, and through it, you can do basic stuff like starting and stopping your 980 and scheduling cleaning times, things that you used to have to do with buttons and the tiny display on top of earlier generation Roombas. Even better, you have access to this screen:
Cleaning preferences in the iRobot app.Photo: Evan Ackerman/IEEE Spectrum
This lets you tweak your 980’s cleaning behavior in a bunch of different ways:
Carpet Boost: Roomba boosts its vacuum power on carpets and reduces it on hard floors, where it’s not as necessary. You can set this to automatic, always on, or always off.
Two Cleaning Passes: Roomba cleans each spot twice instead of once, for serious dirt control.
Finish Cleaning When Bin Is Full: This setting controls whether your Roomba will stop and let you know if it has a full bin in the middle of a cleaning cycle to give you the opportunity to empty it, or just keep going anyway.
Edge Clean: Roomba will drive around the edges of rooms and around furniture at the end of the cycle to make sure it didn’t miss any little corners.
The app also provides a bunch of information, like the status of the 980’s dust bin, maintenance reports and reminders, care instructions and how-tos, general settings (like measurement units and language and stuff), and coolest of all, a job history screen that shows you lifetime cleaning statistics as well as a job-by-job history. There also seem to be invisible over the air software updates, since I first set up the robot a couple of months ago and now I see that its software was updated just this week. Nifty.
The new Virtual Walls are smaller, and squarer.Photo: Evan Ackerman/IEEE Spectrum
The last piece of setup is to get your Virtual Walls placed. The new Virtual Walls use a pair of standard AA batteries (good for 8 to 10 months) instead of those what-were-they-thinking C batteries, and there was much rejoicing. They’re also much better looking, smaller, and squarer, which makes a lot of sense since you usually put them up against flat things like walls. A toggle switch lets you choose between wall mode (projects a virtual barrier to block openings up to 3 meters wide) and a brand new halo mode, which will keep the robot out of a 1.2 meter diameter circle. This is useful for keeping the robot away from stuff on the floor, like pet food dishes.
Ready to Clean!
Before we get to the cleaning performance, a word about maintenance and repair: iRobot does a great job of making it obvious which parts of your robot you should mess with: they’re all yellow. If you see a yellow thing, you can probably unclip it or remove it or clean or replace it with (at worst) some simple tools. I’ve had to occasionally replace bearings that I didn’t clean often enough, and a battery once, but I’ve never had trouble with any major component. And the cleaner you keep your robot, the longer it’ll last.
Roombas do not like black carpet.Photo: Evan Ackerman/IEEE Spectrum
As I started up my 980, I had some concerns, because my Roomba 880 could never get the hang of the carpet in my apartment: whenever I put it onto one of the black areas, it would freak out, thinking that it was dropping through a void, because the black carpet absorbs the IR emitted from the Roomba’s cliff sensors and it thought it was perpetually about to fall to its doom.
Fingers crossed, I hit the CLEAN button on the app, and immediately my 980 backed up off of its dock and powered up its vacuum. It ran like a champ in a straight line across the floor, and got up on the carpet, where it activated its Carpet Boost, getting twice as loud. At first, the 980 seemed to do much better than my 880 had, zipping right over the black areas, and I got very excited. However, it soon started to panic a little bit, asking for help once (audibly and through the app), and otherwise moving tentatively around some of the larger black patches like it was afraid. Eventually, the poor thing got stuck in a corner, refusing to venture onto the carpet at all. Other than getting rid of black carpets, there’s a simple hack to fix the problem, but it’s not pretty:
Roomba 980 with “modified” cliff sensors.Photo: Evan Ackerman/IEEE Spectrum
The fix is cutting up rectangles of aluminum foil (they’ll reflect the infrared), placing them over the cliff sensors, and then taping them down. It’s a straightforward process, and your Roomba will now happily vacuum away on black carpet. But of course, taping foil over the sensors like this disables them completely. So be warned: covering the cliff sensors means your Roomba won’t be able to detect stairways and balconies and will hurl itself off of them without hesitation.
Modifying cliff sensors on Roomba 980 with aluminum foil and electrical tape.Photos: Evan Ackerman/IEEE Spectrum
I solved this problem by using a Virtual Wall to block off my stairs, which mostly works, but a year ago my 880 tossed itself down them anyway when the Virtual Wall ran out of batteries during the middle of a cleaning cycle. Oops. For the record, the 880 was totally fine, not a scratch on it (props to iRobot quality on that one), but I still recommend trying to avoid this.
In fact, it would be great if iRobot figures out how to improve the way the sensing works, so it can tell the difference between a real void and a black rug. Or at least, the company could give users the ability to disable the cliff sensors using the app (although I suspect that even if users acknowledge that they will accept responsibility if something happens to their Roomba, iRobot won’t be comfortable with that).
Post modification, my 980 had no issues at all with the carpet. Most of my living room was vacuumed in about 20 minutes, with the 980 moving back and forth in straight lines and covering the area maybe twice as fast as my 880 can do. The 980 spent perhaps 5 more minutes poking into corners, making sure it got every last piece of dust, before returning to its dock. That second 5 minutes included some additional transitory passes over areas that it had already cleaned. After docking, the app’s job record helpfully informed me that Piglet spent 26 minutes cleaning 172 square feet, and that it had zero Dirt Detect events (I keep my pad tidy, thank you).
One adorable side effect of VSLAM is that it gives the Roomba 980 a lot of personality. At times, it will pause, rotate left a little bit and then right a little bit (sort of it’s looking from side to side), and then choose a direction and then continue on. At first, I thought this was just a cute little behavior, and then I realized that looking from side to side is exactly what the robot is doing. If it isn’t sure where it is, it will search for recognizable features by looking around a little bit, and when it finds one, it can relocalize on its map and then keep on vacuuming. It also pauses occasionally to calibrate its gyro, which makes it look like it’s thinking. You don’t have to watch your Roomba vacuum, but if you do, it’s very entertaining. Spunky, even.
Rooomba vs. Roomba
Roomba 980 (left) meets 880.Photo: Evan Ackerman/IEEE Spectrum
I’m not sure how to quantitatively compare my 880’s cleaning performance with my 980’s, but the 980 did a fantastic job. It was faster, more complete, and my carpet did somehow look cleaner. More importantly, the straight line approach also makes the 980 better at reaching every part of your floor. My 880’s pseudo-random behavior never managed to find the one-Roomba-width entrance to the area under my spiral staircase, but the 980 did on its first run.
To directly compare the cleaning patterns of the 980 and the 880, I put some red LEDs on top of each robot, and took long exposure pictures of each of them cleaning for about 20 minutes. Here’s my trusty old 880:
Roomba 880’s pseudorandom approach.Photo: Evan Ackerman/IEEE Spectrum
And here’s the 980, with very patient girlfriend on couch for scale:
Roomba 980’s straight-line cleaning.Photo: Evan Ackerman/IEEE Spectrum
A few things to note: the radial patterns in the 880 image show it executing its dirt detect behavior. I stopped it after 20 minutes to provide a more accurate comparison with the 980; 20 minutes is about half the time it usually takes before it decides on its own that it’s finished, which explains why it looks like it missed a few spots (because it did). Given more time, it likely would have caught them.
In the 980 image, I believe that the checkerboard pattern resulted from my selection of the “Two Cleaning Passes” option in the app. The two circles in the lower right are the 980 preparing to return to its dock. The most amazing thing about this picture is that, in order to take it, the room had to be dark. Like, pitch black. And you can see the robot had no problem with that. So clearly iRobot made the right decision when it decided to add the floor-tracking sensor to work together with the VSLAM camera.
Unlike previous models, the new Roomba can vacuum an entire floor of a home.Photo: Evan Ackerman/IEEE Spectrum
So far, this review has been focused on how the 980 does in my living room, but it’s designed to be able to handle a lot more. The ground floor of my apartment consists of a living room, bedroom, bathroom, and a kitchen with an attached dining area. With my 880, I usually Virtual Wall-off the dining area and kitchen and close the door to my bedroom, and then manually move the robot between those areas and my living room. I do this because the 880 can’t make it across all of those areas in one shot, and it’ll randomly end up cleaning half of like three rooms before running out of battery, which isn’t a very effective way of doing things.
Ideally, the 980 would be able to clean all of these rooms by itself without me having to futz with it, even if it has to pause to recharge itself. So how’d it do? I turned off two cleaning passes and edge cleaning to get a better sense of the minimum time that the 980 would take, set it loose with an empty bin and a full battery, and tried not to obsessively watch it except to verify that it did make it into each area of my apartment. Exactly 40 minutes later, the 980 docked itself, job completed. According to the stats in the app, the vacuumable area of the ground floor of my apartment was 375 square feet, which seems generally plausible, and the carpet in the bedroom showed neat Roomba vacuum lines, proving that it did make it everywhere. Nicely done, Piglet.
Photo: Evan Ackerman/IEEE Spectrum
Overall, I’m very happy (and more than a little bit impressed) by how the Roomba 980 handles itself. It can get around my entire apartment without me having to think about it, it doesn’t miss spots, it’s fast and efficient, and it easily cleans as well as my 880 does. I’ve never owned an upright vacuum (I’ve survived on Roombas for years), but I honestly can’t imagine that an upright would make my carpets cleaner than the robots do.
Top 10 Most Popular Roomba 980 Names
Total Combined Area Cleaned
43,971,002 square feet
(Or 1.2 New York City Central Parks)
Source: iRobot; data is aggregate and anonymous, based on users who opt-in and register their robot.
iRobot’s willingness to throw the 980 into thousands of completely unknown homes is a reflection of the confidence that they have in their technology, and so far, it seems to be completely justified. I feel like the issue that Roombas have with black carpets should be solvable, though, and I’m a bit disappointed that the 980 has the same issues as my 880 does, necessitating a solution that can potentially result in a Roomba that finds a way to damage or even destroy itself. And there are, of course, other inconveniences, like the fact that you do still have to empty the dustbin yourself, and if you have stairs, you’ll be hauling your robot up and down them frequently if you want it to clean multiple levels.
iRobot’s Melissa O’Dea says they want to keep improving the robot’s mapping capabilities, hoping to develop new features that make cleaning and scheduling even more convenient: “This robot uses its map really to know, ‘did it go everywhere it can, and is it time to go back to the home base?’ But you could imagine that in the future, you could use a map for a lot more than that,” she explains. “So this is really just setting the foundation for having maps that are persistent on the robot, and maybe a customer could say, ‘clean my kitchen on Mondays, clean my bathroom on Tuesdays, clean my whole house on Fridays.’ That’s something that we don’t have out there today, but it’s a vision for the future.”
This is a premium robot, for people who want the absolute newest and best. It’s intelligent, efficient, fantastic at cleaning on both carpet and hard floors, and has lots of cool features out of the box and potential for even more. But, at $900, there’s no getting around the fact that it’s very, very expensive. In the context of robot vacuums in general, $900 is not necessarily a crazy price, but the thing to keep in mind is that iRobot’s own older Roombas, like the 500 and 600 series, probably clean 70-80 percent as well for as little as 30 percent of the cost if you buy a refurbished one. Having said that, if you do decide to buy a Roomba 980, you definitely won’t be disappointed. It’s the best Roomba yet.
Evan Ackerman is a senior editor at IEEE Spectrum. Since 2007, he has written over 6,000 articles on robotics and technology. He has a degree in Martian geology and is excellent at playing bagpipes.