DPRG List  

[DPRG] Neato, Roomba, Mint comments

Subject: [DPRG] Neato, Roomba, Mint comments
From: Paradug paradug at gmail.com
Date: Fri Dec 19 15:24:07 CST 2014

   Several us are experimenting with Neato LiDAR units. In fact, James LeRoy  (DPRG member) is selling a Arduino based controller. Also, you missed something in your analysis that is important. The inefficiency of the Roomba's movement algorithm means that it wastes most of its battery life. I linked a very interesting lecture by a Neato Designer/Engineer that you might want to see. It is at 

Doug P.

-----Original Message----- 
From: John Swindle 
Sent: Friday, December 19, 2014 12:55 PM 
To: dprglist at dprg.org 
Cc: John Swindle 
Subject: [DPRG] Neato, Roomba, Mint comments 


You might find some useful items in my comments about Neato's 
mechanical design and escape ability. Otherwise, the following is 
my comparison of Neato to Roomba and Mint.

Neato vacuum cleaner observations:

Sam's Club has Neato vacuum cleaners for a reasonable price, and 
Sams has a very liberal return policy (including taking back 
half-eaten stuff, not for re-sale, I assume), so, even though I 
had a terrible experience with Roomba, I thought I would try 

Neato spanks the pants off Roomba, and Neato costs less.

1) Navigation: Instead of bumper-car, insect-like intelligence 
[not!] wandering, the Neato scans and maps. It cleans the entire 
surface, not just some of the surface as the Roomba usually does.

Nevertheless, I am more impressed with Mint's Northstar 
navigation localizer. Mint doesn't do initial mapping; it just 
starts. Neato often does more than 180-degree turns, which look 
like it's doing some remapping. After an escape, Neato sometimes 
does 360 degree rotations. Mint never does that. The Mint and the 
Neato are both very intelligent. Neato uses its laser to avoid 
furniture, instead of banging into everything like Roomba does. 
Mint also hits things, but it has a lot of drag and little 
momentum, so Mint's collision with stuff is not as bad as 
Roomba's collisions. Neato does still hit a few things, but it 
usually avoids everything. Neato has a good sense of its own 
dimensions, so it can avoid something, turn and move past the 
obstacle within a fraction of an inch. When iRobot bought Mint, 
they doubled the price of Mint, and I don't see any of the Mint 
intelligence being put into Roomba.

2) Vacuum and beater brush, carpet cleaning: Neato is not quiet. 
The exhaust from the vacuum can be felt across the room, and the 
beater brush really gets after it. It's a serious machine.

Nevertheless, Neato's brush and the vacuum opening on the floor 
are several inches narrower than Neato's outer dimensions, and 
positioned quite a ways back from the front. Not as bad as 
Roomba, but nowhere near edge-to-edge cleaning. Neato's square 
front is not quite what it appears to be: It is not where the 
cleaning is taking place, but it is a lot better than Roomba. I 
wondered why my Kirby's brush and opening are so much closer to 
the edge. I think it's because Kirby drives the brush from the 
center, while both Neato and Roomba drive their brushes from the 
edges, requiring mechanisms in the sides that make the brushes 
and openings narrower. So, why not drive from the center? Center 
drive makes brush removal more difficult on Kirby, but it is 
still just three steps, not much harder than on Neato. And why 
don't I feel the need to clean the Kirby brush often? I suppose 
it's because of the vast difference in power, so not as much 
stuff has a chance to impede the Kirby brush.

3) Hard-surface cleaning: As with all manual beater brush vacuum 
cleaners that I've tried to use on hard surfaces, Neato did a 
poor job of cleaning my kitchen, not picking up stuff unless it's 
right in front of Neato. Beater brushes fling debris so 
energetically that the suction can't capture the debris. Users 
think the room is clean because the debris is flung under the 
stove or refrigerator, just like how tire treads and other debris 
get flung or blown off a roadway as more people drive past the 
debris. Beaters need to be turned off for hard surfaces, not to 
protect the hard-surface finish, but to allow the suction a 
chance to capture the debris. It doesn't look like Neato can suck 
debris past its beater brush if the brush is stopped. The brush 
can be removed. I haven't tried running it without the brush yet. 
Neato has a squeegee that is supposed to redirect flung stuff 
into the vacuum. That looks like a good idea, but the squeegee is 
only as wide as the beater brush, so debris on the side doesn't 
get picked up. Neato has (at least) two styles of brushes, one of 
which is rotating squeegees with no bristles. That ought to work 
well on hard surfaces. I think my problem is the narrow width of 
the vacuum opening. In a kitchen, most of the debris is along the 
edges, in the corners, and under other things, not in the traffic 
area (due to the clearing effect that movement has, as on a 
roadway). Exactly the opposite is true for carpeted surfaces, 
where most of the debris will be in the traffic area, caught by 
the carpet. Neither Neato nor Roomba do well for edge and corner 
cleaning for hard surfaces. As far as I can see, the side brush 
of Roomba just throws the debris to another edge or corner and 
does not direct the debris into the vacuum. Mint does a far 
better job on hard surfaces, wiping the edges and corners 
thoroughly. Mint even seems to know that if it backs up, the 
debris it is pushing will be lost. I've never seen it lose a 
load. I am fascinated watching Mint.

4) Robot shape, Robotics 1.01, corner and edge cleaning: Neato 
avoids two freshman screwups of Roomba: 3a) It has a flat front 
so it can vacuum farther into corners. 3b) It has a squarer top 
than the Roomba, so it doesn't dive under stuff that traps it as 
easily. Robots should have a front that is NOT CURVED on the TOP 
so that they won't slip under stuff that they cannot extract 
themselves from. Roomba makes this mistake, jamming itself under 
furniture like a doorstop crammed under a door. Roomba can't yank 
itself away from these situations because its bumper sensors 
missed the problem, then the suspension starts to compress as 
Roomba continues under the obstacle, then the robot is halfway 
under the obstacle and it doesn't have the power to yank itself 
back. It might seem that a curved top would make sense, and it 
looks good, but it is a serious mistake. (These days, everything 
has to look good. Nothing has to work well.) Freshman error.

Mint is also square. Its mop is wider than the body of the robot, 
so it wipes under stuff that the body can't get under. Mint has a 
sloped front, which seems like a mistake, but I've never seen it 
get stuck even when it goes under something too short. I think 
this is because its suspension does not compress, as Roomba's 
suspension does, so Mint doesn't wedge itself. Also, Mint has a 
few pounds of dead-weight metal over the wheels in the back, so 
it can yank itself back.

5) Captive bushings: Roomba (at least the one I had) has one 
beater-brush bushing that is captive (which makes sense) and one 
that is not captive (which made no sense to me since the other 
one is captive). When cleaning the brush, one of the two bearings 
and its spring fling themselves across the room. If you don't 
notice them flying away, you wonder why the Roomba beater brush 
doesn't fit well afterwards. Odd design.

The printed instructions for Neato warn the user to keep track of 
the bushings. Initially, I was disappointed when I read this, 
but, apparently the printed documentation does not track the 
hardware very well, because both bearings are captive on the 
Neato, and the online instructions make no such warning. Nothing 
to get flung across the room. Good stuff. Maybe some Roombas have 
already fixed this problem.

The bearings/bushings for Neato beater brush seem to be closed up 
better so hair doesn't wrap into them as it does on Roomba, or at 
least I haven't seen a problem with hair on the Neato beater yet.

6) Climbing over thresholds: Roomba is stopped by thresholds 
between hard surfaces and carpets. Neato climbs over them with no 
problem. That's a big deal! Neato even climbs over tubular metal 
chair legs, the part of the legs that is on the floor. Sometimes, 
Neato could not get completely over the legs, but I was pleased 
that it never got caught on them. It would pull itself off of 
them. Later, it would work it's way between the legs to clean 
everything under the chairs and the table. Roomba is never so 
thorough. Mint also knows how to work around chair legs (but not 
over them) to clean everything.

7) Escape: Neato has large, grippy wheels with a couple inches of 
suspension travel, so it has not gotten trapped on thresholds, 
interfaces, or tubular chair legs, all of which cause Roomba to 
turn back. When Neato climbed over two sets of chair legs in a 
corner, it had some difficulty getting away, but it tried several 
maneuvers to get away and eventually resumed its cleaning. Roomba 
just tries one escape maneuver over and over until its battery 
runs down. Mint is also very smart with escapes, trying what 
looks like six or so maneuvers to try to escape. Mint seems to be 
the smartest of all these cleaning robots. I suppose it has to be 
smarter because Mint has no hope of climbing over an obstacle, 
what with the mop that it is carrying.

But, there is one spot that Neato got caught three times. There's 
a carpeted step down into my living room, and I had a stool near 
that step. Neato tried to make a turn at the step and hit the 
stool, which caused it to try to back up, but the step was behind 
it. It couldn't turn any further due to its flat front, and it 
could not back up. A similar problem occurs any time there's an 
obstacle near a step, an obstacle that is not a wall, and not 
right at the step but near the step.

Some would argue that this is why the front needs to be round, 
since the flat front doesn't allow Neato to rotate without 
hitting the obstacle again. I disagree. I think having a vacuum 
cleaner that will actually clean the corners is more important 
than having one that can handle one stool leg next to a step. 
Also, with better software, Neato could have escaped without 
hitting anything or falling if it had merely reversed the 
movements that got it trapped. It had not slipped into a trap; it 
had driven into it.

When escaping, it seems that Neato treats its cliff sensors 
differently than when doing normal navigation. That is, when 
normally skirting an edge, Neato lets one cliff sensor go over 
the edge without instantly turning away. But when escaping, it 
immediately backs away from an edge, which can cause it to hit 
another obstacle, trapping it. If Neato would rotate back to the 
direction that got it into trouble and back up, it would be OK, 
but it won't do that. Mint will do that.

Neato seems to have a good idea of where its front edge is, but 
it seems to forget where its rounded rear is, so it can back into 
walls or chair legs, causing its rear to rise up over the 

Neato seems to depend so much on its climbing ability that when 
it gets stuck, it is quite stuck. It would be better if it would 
reverse the movements that got it stuck, instead of going into a 
separate modal state of Escape. Remarkably simple triangular 
corners with just one additional obstacle (such as an open door 
next to the wall, or a stool leg) trap Neato. Since Neato backs 
up without regard to what it is driving over (indluding literally 
driving itself ONTO a wall), I see no reason why it should not 
disregard its bump sensors when trying to escape. This is what 
David Anderson's robots do when trapped outdoors. It would be 
nice if Neato had a level sensor so that it would know when it 
has its backside halfway up the wall. Overall, it would be best 
to merely reverse the movements when its gets trapped instead of 
struggling harder and harder. I am critisizing Neato here, but 
Neato gets stuck a tiny fraction of the times that Roomba gets 
stuck, so I am actually impressed overall. Mint almost never gets 
stuck. I am truly fascinated watching Mint do everything that it 
does. Mint is, by far, the smartest of the consumer robot 

8) Charging station: You may have seen the video of my (returned) 
Roomba banging its head against the wall while looking for the 
charging station, or ignoring its cliff sensors and leaping to 
its death while seeking a charge. Neato doesn't have any of those 
problems. Unlike Roomba that has to climb onto its charging 
station (which can cause it to fail to make contact), Neato just 
backs up to its station and then rubs against it. There's a lot 
of current flowing through a small area, and I wondered if the 
contacts would pit or corrode. Neato rubs the contacts several 
times, and I suppose this helps to keep the contacts clean.

I was impressed that Neato found its charging station even though 
it was in a different room. Neato was probably just navigating 
back to its starting position and found the charger there. 
Without the charger, it goes back to the starting position 
anyway. Mint also returns to its starting point, though it does 
not have an automatic charging station. I couldn't get Roomba to 
successfully find and mount its charging station (ever). Roomba 
seems to use the same IR frequencies for everything, so the 
keep-away beacons, the charging station, and the remote control 
all interfere with one another. And even if it's just the charger 
that's on, IR reflective (white) walls confuse Roomba. I put 
Neato's charger in the same place that I had previously put 
Roomba's, and Neato was not confused by the IR reflections off 
the opposite white wall as Roomba was. No head banging.

If Neato is returning to a starting point that is NOT the 
charging station, it moves its body to the starting point, but 
does not rotate itself to the original orientation. I suppose 
this lets the user know that Neato did the cleaning, since it 
looks different when it has finished. But, if the starting point 
is the charging station, Neato will re-orient itself to the 
charging station when it returns. That may seem obvious, because 
you may be thinking that Neato is recharging. No. If Neato does 
not need a charge, it does not touch the charging station. It 
moves into position, backing up to the station, but then stops 
about an eighth of an inch from the station, not making contact. 
If it needs charging, it continues backward to make contact and 
then rubs the contacts. The seems inconsistent because if I place 
Neato on the charger when Neato does NOT need a charge, Neato 
will rub the contacts and charge itself. If I pull it away, it 
will roll back to the charger and rub the contacts, continuing 
the charge that it apparently didn't need. So, there's something 
inconsistent in how it decides whether to continue to charge 

9) Boundary markers: Neato's keep-away markers are magnetic 
strips. It notices the magnet when it is under paper, so it's the 
magnet, not the color or shininess of the strips. Neato hasn't 
responded to other magnets that I put in its path. The 
instructions say Neato can be confused by shiny floors. Roomba's 
IR beacons are more convenient than Neato's strips, but Roomba's 
IR interference problem is really bad.

Roomba treated its charging station as if it were a keep-away 
beacon and refused to vacuum the area close to the charging 
station. I had to move the charging station in order for that 
area to be vacuumed with Roomba. Neato moves away from the 
charging station before beginning cleaning, but it will vacuum 
right up to the edges of the charging station.

10) Spot cleaning: Roomba has a capacitive sensor on it's bottom 
which supposedly detects dirt. When spot cleaning, Roomba moves 
in a spiral, spending more time (as much time as it thinks it 
needs) where the sensor detects dirt. When spot cleaning, Neato 
cleans a fixed rectangle in front of Neato, making one pass over 
that rectangle. It does not check the cleanliness of the surface.

Neato has a switch to detect the presence of the dustbin, but 
there is no switch to indicate the presence of the filter! The 
filter is on the dustbin. It won't vacuum without the dustbin, 
but it will vacuum without the filter. I assume that vacuuming 
without the filter for more than a short while (to test it) would 
mess up the blower. I would prefer Neato to check for the proper 
positioning of the filter instead of looking for the proper 
positioning of the dustbin. I don't like the choice Neato made.

Roomba's mechanical and software designs never made any sense to 
me. The insect analogy seems bogus to me, as if it were just 
marketing, or someone's wish about how he thought things could 
be, without actually accomplishing any useful intelligence in the 
product. Roomba acts like a kid's toy bouncing off things. 
Mechanically, Roomba has odd inconsistencies and odd choices. 
Mint and Neato help to point out the design issues in Roomba. 
Roomba may be fine as a development platform for hobbyists, but I 
didn't find it useful for cleaning floors. Some bachelors say 
it's better than having nothing. I disagree. For light cleaning, 
I think a cordless Dustbuster-like manual vacuum, such as the 
SLA-battery Orick with powered brush is more convenient (not 
requiring anything to picked up or put away first), stronger, and 
easier to clean. Meanwhile, Mint and Neato seem to be very 
effective machines.

Best to y'all,
John Swindle

DPRGlist mailing list
DPRGlist at dprg.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.dprg.org/pipermail/dprglist/attachments/20141219/309623ee/attachment.html 

More information about the DPRG mailing list