Revisiting the original Roomba and its simple architecture

(robotsinplainenglish.com)

102 points | by ripe 3 days ago

8 comments

  • lightcrafter 20 hours ago
    Lead mechanical engineer of the original Roomba here. The article is good on the behavior based algorithmic approach, but equal weight should be given to both the clever sensor design, and the extremely unusual 'passive feedback' cleaning head system the team came up with.

    The bump sensor, cliff detection, and wall detection were all implemented with plain IR LED emitter/receiver pairs, and very carefully shaped plastic enclosures so that the sensors provided a binary signal (floor vs. cliff, wall present/absent, etc.) that would hold up for the millions of cycles the machines racked up. This 'filtering in the sensor' simplified the inputs to the 8 bit 8051 microcontroller, and lowered the cost to a couple of cents for each detector.

    The cleaning head used the torque of the brush motor to actively control the height of the cleaning head as the machine moved from carpet to hard floors and back. That's the 'core trick' that let the Roomba clean well on multiple surfaces with about 15 watts of brush power. Details in the now-expired patent -- https://patents.google.com/patent/US6883201B2/en.

    Dave Nugent came up with the original torque lift idea, and then we worked it into the 'floating pulley' approach used in the final design. It seems obvious now, but at the time this was a radically different approach to mobile cleaning. Everyone else (Electrolux, Karcher, etc.) tried to make a miniature vacuum, but that burned too much power for a mobile system.

    Joe Jones (project originator and team physicist) wrote a book about the original team and our development process that I recommend: https://dancingwithroomba.com/

    Minor tech notes: Phil Mass did the original programming on the first generation Roomba in C on the aforementioned Winbond 8051 microcontroller. I think it had 256 bytes (!!!) of RAM and 4K of ROM.

    The code was burned into the chip at its creation (no onboard flash!) so it had to be right the first time. For the 2nd generation system they ported the behavior code to the internal LISP dialect in use at iRobot.

    It was a wild ride. I'm both proud of what we did, and dismayed (but not surprised) at what happened afterwards.

    • digdugdirk 18 hours ago
      Thanks for the commentary! I love hearing stories about the team members behind the scenes, and the clever innovations that make things work. Cool stuff!
    • dgroshev 4 hours ago
      The original Roombas were also a joy to repair. I had one for a decade, and the only thing that eventually broke was the IR sensor at the top, which left the robot unable to park. I bought a replacement, opened the robot up, and it wasn't just easy to work on, it even had captive nuts everywhere! Thank you for your work on the roombas, they were an incredible feat of consumer product engineering.
  • pilingual 1 day ago
    Roomba was originally written in Lisp.

    In the pandemic I bought the cheapest one, and it worked very well. It had a handle so I could pick it up, responsive buttons, and intuitive tones.

    A few years later I bought one that automatically suctioned debris into a home base. That one had no handle, required reset frequently, and had tones that made you guess which Japanese train station it just arrived at.

    Something went wrong at that company, and I don't think competition is an excuse.

    • driscoll42 1 day ago
      When Roomba thought it was about to be acquired by Amazon, it did lay off 10% of its staff - https://www.therobotreport.com/irobot-laying-off-10-of-staff.... and after the deal was canceled, it was disclosed that they had reduced R&D and focused on margin improvements, and there was some brain drain as people left Roomba as it was in a 18 month limbo - https://www.verdict.co.uk/irobot-to-cut-over-a-third-of-its-.... And of course all this self inflicted pain only hurt them doubly as the Amazon deal fell through. If they had acted as if they weren't going to be acquired they might be fine, but they tried to maximize the shareholder revenue.
      • rwmj 1 day ago
        I wonder if Amazon did that deliberately.

        Back in the day (about 2002) I was working at an education software company which was trying to get itself acquired by Microsoft. MSFT came in and told us our software didn't conform to all these "standards" in the educational software space. Standards which, coincidentally, Microsoft themselves had written. These pseudo-standards did absolutely nothing to help our customers, and were pure bureaucracy and very very complicated to implement.

        I'd recently read Charles Ferguson's book about how his company was acquired by MSFT, and recognized this part of their standard operating procedure, along with extreme and invasive due diligence where they spend a lot of time working out if you're stupid/pliable enough to jump through these hoops while buying themselves time to work out if they can clone your product. I tried to warn management (yes, really - even bought them copies of the book) but naturally no one would listen, and reading a book was too much like hard work. At some point MSFT simply ceased returning management's calls, and rolled out a similar product a while later.

        The company imploded not long after, not for this reason in particular, but it was part of a general pattern of incompetence and mismanagement.

        • pseudohadamard 9 hours ago
          Friend of mine was in a company that was going to be acquired by $bigcompany. They strung them along and strung the along until their VC funding was exhausted, then picked up the remains for a song. Much cheaper than actually buying them up.
      • HPsquared 1 day ago
        Poor risk management!
    • steveBK123 1 day ago
      Agreed, putting aside the low cost competition, failed Amazon acquisition, etc.. the core product just literally got worse.

      I had over a ~10 year period purchased 3 roombas. Generally I purchased in the upper half of current product range at each purchase time.

      The most reliable, problem-free, longest lasting Roomba was the first initially purchased one. Every new one with more sensors/cameras/features worked worse. Cleaned worse, got stuck more often, was less easily fixed when in a bad state, etc. They got so bad I just stopped using them all together about a year ago.

      Every time I purchased a newer Dyson cordless by comparison, the product seemed better than the last generation.

      • ghaff 1 day ago
        I have to believe that cordless broom vacs have put a dent in robovacs generally as well. When I looked at robovacs last, I came to the conclusion that my house wasn't great for them and that a broom vac I could just pull off the wall and run in a couple heavily trafficked locations for a few minutes was really just fine. The issue previously was that it was sort of a pain to pull out my plug in canister vac--so I mostly didn't. (I have a housekeeper every 3 to 4 weeks.)
        • horsawlarway 1 day ago
          I tend to agree. I have a roomba, I like my roomba. But it's old and I probably won't get another robot vacuum because I have a cordless vac now.

          Is it my best vacuum if I'm comparing vacuums on technical specs? Hell no.

          Is it my best vacuum if I'm comparing by time used? Absolutely.

          • steveBK123 1 day ago
            I think also if you wfh then listening to the roomba go in circles for two hours versus just quickly vacuuming with a stick vacuum in fifteen minutes is a different equation.
            • imp0cat 23 hours ago
              The newer models are much more quiet compared to the older ones. In my case, the 980 vs 705 vac; the 980 can at times sound like a jet plane taking off. :)
  • alnwlsn 1 day ago
    I was a young kid when these came out. I remember being in a store that had one running around as a demo, bumping aimlessly around under shelves and off shopper's feet. With amusement, I watched it bump off a table leg, and rotate perfectly into position to drive through the open front door, then slowly drive forwards out of the store, never to be seen again.

    Not long after that is when I started reading hardware hacking stuff. The early Roombas were extremely hackable - each one had a serial port connector under a cover and you could connect it to a computer and drive them around. It was the pre-Raspberry Pi days; I remember people attaching a router or the lightest netbook they could find for some sort of wifi remote control.

    I was too young to ever get to play with one, but I did get to take a broken one apart once. Some highlights were the planetary gearbox contained inside the wheel hubs, and a cam on the rear caster which would trigger an optical limit switch once per rotation so it could estimate distance traveled.

    • WorldMaker 20 hours ago
      That original half-black/half-white caster for very simple/cheap optical limits was something of a known off-the-shelf approach. You'd often use them in various Lego Robotics environments a decade or two before the Roomba.

      It's easy to agree with the article here that the off-the-shelf simplicity of the early Roomba was a virtue. I appreciated that sense that you could look at a lot of the parts and guess what they were for or how the operated from the software side. That caster was one of those for "oh, yeah, that's probably for simple distance estimations".

  • ZiiS 1 day ago
    The modern vSLAM robots with mops and swing brushes for edges may seem ridiculously complex, but they do work well and a much cheaper than the original Roombas. I think this more proved that software is easier than hardware. (i.e. complex vSLAM is cheaper than a bigger battery needed for less optimal routing)
    • drpixie 1 day ago
      > software is easier than hardware

      Software is certainly easier to replicate that hardware, 1M copies cost almost exactly the same as 1 copy :)

    • lostlogin 1 day ago
      Risking this turning into some sort of ‘Wired Top 5’, but what is the go-to robot vacuum? My Roomba has become a hatefully little chaos monkey. The house small and has wooden floors, so it shouldn’t be too tough.
      • Nihilartikel 1 day ago
        Seconding Roborock - we have a mid range one and it's effective and a huge step up in smartness from my old Samsung. I love being able to dispatch it to one or two different rooms and walk away knowing that it will get the job done.

        As a bonus, there are open source drop in replacements for the mfg's cloud service so you can self host your floor maps and stats, if that's your jam. (this isn't roborock exclusive though).

        • forbiddenlake 1 day ago
          Can you link them?

          It's not valetudo is it?

      • shawabawa3 1 day ago
        I'm a fan of the roborock S8 (now the S10 i guess)

        It's a vacuum + mop combo which imo is way better for hard floors

        • HPsquared 1 day ago
          Does it choose based on the surface, or just let both run all the time? (Mop on carpet doesn't sound ideal)
          • baby_souffle 1 day ago
            They have an ultrasonic sensor to measure the type of floor and will not pump water when carpet is detected
          • imp0cat 22 hours ago
            https://www.youtube.com/watch?v=Tz6U9QkXn5I Check this for a short overview of the available robovac mop technologies - modern roller mop equipped units have ultrasonic carpet sensors and will actually cover the entire mop to avoid getting carpets wet.
      • JamesSwift 1 day ago
        Just check out Vacuum Wars on YouTube to find the best based on your own criteria
      • baby_souffle 1 day ago
        Anything valetudo supports is a good choice. Roborock has a semi official API that you can use to get ok levelers of integration with home assistant but valetudo is the gold standard.
    • qazxcvbnmlp 1 day ago
      I think this was the missing piece from the article. The simple behaviors enabled interest in a market, but at the end of the day, the original Roomba didn't work well. It's cool to romanticize the simple behaviors, but like they miss things.
  • itopaloglu83 1 day ago
    It’s not related to the engineering side of things, but the Roomba subreddit would ban people for mentioning anything negative about the product, such a great way to keep your product “successful”.
    • GardenLetter27 1 day ago
      The entirety of Reddit is like that.
      • Angostura 1 day ago
        I see you haven’t been to the Apple subreddits lately. Liquid Glass was not well received
        • resumenext 1 day ago
          I think by “like that” the person probably meant Reddit is filled with petite tyrants who cannot tolerate other people’s viewpoints. It wouldn’t surprise me if they call people who like Liquid Glass fascists.
          • stronglikedan 1 day ago
            that's a lot of words to say "reddit mod"
            • resumenext 23 hours ago
              I don’t think it makes sense to blame mods, rather the design and business model. HN has stiff moderation (thanks Dan g), but doesn’t suffer the same fate. Reddit rewards hysterical posts and attracts hysterical people and bans carry much more weight. HN isn’t designed to attract a huge user base, Reddit is.
      • dec0dedab0de 1 day ago
        i have never seen a subreddit about something that didn’t turn into mostly hating that thing.
        • itopaloglu83 1 day ago
          It’s more like Roomba silenced their customers, disregarded and disrespected their opinions, and now financially bankrupt after said customers didn’t buy their products.
          • ceejayoz 1 day ago
            Both of these things happened.
          • HPsquared 1 day ago
            Reddit sure is a lovely place.
        • adolph 1 day ago

            i have never seen an HN thread about Reddit that didn’t turn into mostly hating Reddit.
          
          Pretty much anywhere you go, people have a negativity bias both in what they say and in what they recall seeing. A great exception is Amazon reviews in which one must flip filters.
        • psunavy03 1 day ago
          It either turns into hating that thing or a place where mildly criticizing that thing gets you banned. Or a place where telling someone they're full of it as tactfully as you can still gets you banned or your post deleted for "incivility."

          Reddit is a weird place that is not real life.

      • expedition32 1 day ago
        Daily reminder companies have social media teams.
        • RealityVoid 1 day ago
          The entire internet is astroturfed and manipulated and full of bots and influence campaigns. Here included. Really not what I hoped it would turn into.
          • Forgeties79 1 day ago
            It happens here I’m sure but, and maybe this I naive of me, I do not think we are seeing the organized, funded efforts like they see on Reddit. It’s usually someone self promoting here in my experience. I’m sure it’s happened but idk, it just doesn’t seem like seem as coordinated and large scale. If it is well done y’all, you’re hiding well!

            My experience with HN is people generally prefer to dog pile onto whatever was mentioned, say it is the worst option, then bicker with each other about all the solutions being proposed. I say bicker, but those threads can be great sources of info.

  • fsh 1 day ago
    iRobot refused to incorporate LIDAR scanners, instead relying on some janky computer vision approach. Robots from Roborock and friends know their position with cm-accuracy at all times, whereas Roombas only have some vibe about which part of the building they are in. This makes them much less efficient at route planning and less reliable at adhering to exclusion zones.
    • distances 1 day ago
      Another upside of LIDAR is that it isn't a camera. The robot sees a one-pixel 360 scan, which is quite enough for navigation, but doesn't have the privacy implications that come with an IoT camera device. I would not take a camera equipped vacuum even for free, and I think I'm not the only one.
      • 1313ed01 1 day ago
      • kolinko 1 day ago
        Did you ever own a any robot vacuum?

        Robots without cameras have an extremely difficult time distinguishing obstacles like cables etc on the ground.

        • fullstop 1 day ago
          I have one, and specifically got one without a camera because I don't want that driving around my house. The first time it went through I made sure to stow cables and such, and I do a quick walk-through to make sure that none of the cats have barfed and that there's no obvious obstacles before I release the hypnodrone.

          It still saves me time, which was the reason that I bought it in the first place.

        • distances 1 day ago
          Yes, I've had an early random pattern robovac and a newer LIDAR equipped one. Both worked well enough, the LIDAR device obviously much better though.

          And yes, I keep the floors free of cables and clutter when it's vacuuming time. That isn't a hassle

      • CorrectHorseBat 1 day ago
        Sadly most new models have both camera and lidar. I can see the use of a camera for avoiding things like cables and pet poo, but I don't think it's worth is especially since all the robots are controlled via the cloud
    • pavlov 1 day ago
      > "iRobot refused to incorporate LIDAR scanners, instead relying on some janky computer vision approach"

      Reminds me of this one car company that sold me something called "FSD" that never worked. Hopefully they'll be bankrupt soon too.

    • hypercube33 1 day ago
      Yeah this is really my perspective. They were king then refused to reprice or innovate when the market changed and I went with a Chinese brand that did mapping and mopping instead for less.
      • iamflimflam1 1 day ago
        I would reframe this as unable to rather than refused to.

        It’s incredibly difficult in a successful business to change direction or even innovate.

        There’s a bunch of guys in the engine room throwing coal into the furnace.

        There might be one or two lookouts shouting - but they are drowned out by the noise of the engines.

        If you’re lucky there’s a guy in the wheelhouse desperately spinning the wheel - but the connection between the wheel and the rudder is broken.

    • jdlshore 23 hours ago
      I have a Roomba with a camera. It navigates very well, including figuring out where it’s at within seconds of being manually moved to a new location on a different floor.
      • imp0cat 22 hours ago
        I too have a Roomba with a camera (the 980) and I am mostly satisfied with it (after ten years I guess I got used to its quirks).

        I have also recently set-up the LIDAR-equipped 705 for my parents and let me tell you, there is no comparison.

        The navigation speed is greatly improved which means cleaning tasks take a lot less time. Furthermore, it works in complete darkness with no problems! The camera-equipped model just bumps into stuff randomly and then gives up when it's too dark.

    • ramon156 1 day ago
      Been meaning to try something like https://valetudo.cloud/ on my iRobot but I haven't checked out how hard it is.
      • jasondjk 1 day ago
        It’s not exactly easy but it is do-able if you have a compliant vacuum, order a pcb adapter and can boot a laptop into a recent Debian os to flash the firmware. Be careful what you say on the telegram group (I was banned for trying to buy a pcb instead of solder one).
      • Semaphor 1 day ago
        I wish my Xiaomi X20+ was supported. I knew it wasn’t when I bought it, but the price/capability alignment made me go with a dumb "smart" vacuum. There hasn’t been an update in supported robots in almost 2 years, so I’m still holding out hope it will eventually be added when Dennis Giese gets bored and starts looking into stuff again ;)
      • zero0529 1 day ago
        I wasn’t aware that it was possible on iRobot machines
        • cuu508 1 day ago
          There are no iRobot models in the Valetudo supported robots list.
    • systemtest 1 day ago
      That would be a dealbreaker for me. I don’t want a mobile camera live-streaming the interior of my home to a Chinese or American cloud service. LIDAR is the only acceptable option for me. I’m OK with having a very rough 2D map of my home stored on a server somewhere.
    • tokai 1 day ago
      But that was also a feature. No highres 3d scan of your home being phoned back to the producer.
      • 05 1 day ago
        > No highres 3d scan of your home being phoned back

        You should look at a teardown of one of those sensors. It's a 1D lidar (if you can even call it that, until recently all of those were not ToF but more triangulation/reflection angle) being spun, no high res scans of anything can be achieved using that tech :)

    • tguvot 1 day ago
      i have roomba with camera. it has no problem enforcing exclusion zone and does precise navigation decisions when it needs to move around
    • imp0cat 1 day ago
      That's not entirely true. Roombas nowadays do come equipped with LIDAR. iRobot scrapped most of their in-house designs and instead chose to use generic OEM parts to build modern robots in 2025. And they are quite good.
      • fullstop 1 day ago
        It's a little too late now, no?

        I wonder if they fell into a sunk cost fallacy with their camera-based approach.

        • imp0cat 23 hours ago
          Probably yes, but time will tell.

          Right now, their chinese OEM bought them and seems to be committed to keeping their robovacs alive.

          It is my understanding that US availability of the top models (such as 705 combo) may be limited, so here is a german youtube channel that has a lot of reviews of their newer units and compares them to the old ones (usually the S9 or 980, as those are the best units when it comes to vacuuming): https://www.youtube.com/@frickhelm/videos

          • fullstop 22 hours ago
            I'm guessing that the Chinese OEM bought them partially for the name itself, but mostly for their patents.
  • gugagore 1 day ago
    • cobbzilla 23 hours ago
      One of the stated disadvantages was “the difficulty of designing adaptable action selection through highly distributed system of inhibition and suppression”

      I can’t help but wonder how well a token-based AI could iteratively tune (or develop) a subsumption-based AI.

  • quadrature 1 day ago
    Slightly offtopic but i feel like someone around here might be able to help. I've been learning how to do SLAM with LIDAR data and I was curious what algorithms robot vacuums use. I'm currently implementing a particle filter and will also try out EKF.
    • martythemaniak 1 day ago
      I've been playing around with SLAM using a depth camera, so I can't really tell you about LIDAR specifically, but I'd suggest doing some Deep Researches on the topic to get you a good lay of the land. During my searches for example, I came across this great compilation of visual SLAM projects: https://github.com/VSLAM-LAB/VSLAM-LAB

      Unless you're a massive operation, you're probably just using an existing academic project, many of which handle a variety of inputs (depth, 2D lidar, 3D lidar etc), ie RTABMAP (what I started with), ORB-SLAM, nVidia Issac ROS SLAM (if you're on Jetson) etc. AMCL is an old-school algorithm for localization with 2D data - I tried it by taking a fake 2D scan from the depth camera and it was pretty terrible, so currently I'm trying to get visual-only SLAM working well enough for me because I don't want to spend $1k on a decent 3D lidar.

      • quadrature 1 day ago
        > but I'd suggest doing some Deep Researches on the topic to get you a good lay of the land

        thanks for the resources !. I've been trying to get a wide view by looking at different algorithms, but I was curious what was actually used in production systems especially for consumer products.

        RTABMAP and Cartographer came up in my searches, will definitely give these a closer look to understand how they work.

        Right now im starting off with filter based approaches like Particle filter and Kalman filter, but i'd also like to understand how the graph based approaches work.