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:
I wish they had also created a diverse dataset of rugs so that it didn’t confuse black stripes with cliffs and I could finally get my entire house cleaned 😂 pic.twitter.com/zgPza5pyYw
— Dmitry Krotov (@DimaKrotov) September 10, 2021
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:
Hi @DimaKrotov don’t know you but apparently we have the exact same rug! My old roomba did the same as yours, but the new i7 I have seems to handle black on rugs a little better 🙂 pic.twitter.com/fLj7cZCOoy
— Scott Hicok (@scotthicok) September 22, 2021
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.