We select and review products independently. When you purchase through our links we may earn a commission. Learn more.

Why Roombas Can’t Navigate This Simple Rug

A Roomba in the middle of dark and white square patterned carpet
Karlis Dambrans / Shutterstock.com

Over the years, iRobot Roomba vacuums have grown smarter and better able to navigate. But for the longest time, the weirdest navigation they ran into came from an unlikely source: carpets and rugs. With just the right pattern, older Roombas found themselves trapped. And the reason is pretty simple.

If you haven’t seen it before, IBM researcher Dmitry Krotov demonstrated the problem well over on Twitter:

As you can see, when older Roombas make their way onto dark carpets or rugs with dark borders, they can get stuck. If you have a connected app, the Roomba will ping you with warnings that it encountered a cliff. That’s right; it thinks the dark portion of rugs and carpets are cliffs or stairs.

A quick search on Twitter reveals dozens of similar complaints in various scenarios, including moving from a wood floor to a dark solid color rug. In the worst-case scenario, as above, the Roomba can get onto the carpet only to find itself unable to leave.

Thanks to a tweet from iRobot research scientist Ben Kehoe, we know the problem and how the company solved it. And if you’re guessing bad programing or machine learning gone awry, that’s not it at all. Instead, it’s a hardware problem.

Older Roombas used two pieces of hardware to avoid cliffs (or stairs). An LED to shine light down and a photodiode to detect light reflected off the floor. If the diode detects light, then there must be floor beneath the Roomba. But if the light doesn’t bounce back, then it’s assumed the Roomba encountered a cliff. That’s the initial solution iRobot chose for one simple reason: Those sensors are incredibly inexpensive. Any other software or hardware solution would have required more effort and money, not to mention failure scenarios.

But you’ll notice that the problem only happens on “older” Roombas. That’s right, according to Kehoe, iRobot did devise an affordable solution to the problem. Specifically, the i3+, i7+, s9+, and j7+ models all use a new sensor that better detects cliffs and does not throw false positives on rugs. Just look at this other Twitter user’s video with the same carpet:

Of course, those are more expensive models, starting at $550 and only going up the line. But hopefully, the sensors will continue to drop in price and make their way to more affordable solutions. That might be a while, though. Kehoe explained it took years to devise the solution that finally worked.

Josh Hendrickson Josh Hendrickson
Josh Hendrickson is the Editor in Chief of Review Geek and is responsible for the site's content direction. He has worked in IT for nearly a decade, including four years spent repairing and servicing computers for Microsoft. He’s also a smart home enthusiast who built his own smart mirror with just a frame, some electronics, a Raspberry Pi, and open-source code. Read Full Bio »