Problem with Roomba Cleaning Algorithm

The very latest news and updates for the iRobot Roomba robotic vacuum, the Scooba Robotic Washer and the Dirt Dog workshop sweeper. All discussion and troubleshooting questions go here.

Problem with Roomba Cleaning Algorithm

Postby Julian » June 6th, 2009, 9:16 am

I've just confirmed my suspicions with a stopwatch and it looks as if Roomba's cleaning algorithm (as implemented in a born-in March 2009 Roomba 560) is sub-optimal for my room layout. Below is a very crude and simplified schematic of my room layout.

SR.JPG


The dotted lines are not virtual walls or anything, they're just me hypothetically breaking up the room into two areas (Zones A and B). Zone A is about 4 times the size of Zone B in terms of the carpet area that Roomba needs to clean. The two rectangles in the image are sofas which go all the way to the floor so they form a clearly defined set of walls for the Roomba

Roomba start from the docking station which is in the top right corner of the room (i.e. in Zone A) and after 28 minutes it traversed the lighthouse to go onto the next room. My issue is that of the 28 minutes that it spent in the room shown below, it spent a total of 17.5 minutes in Zone B and only 10.5 minutes in Zone A. In terms of even coverage this is terrible, in terms of effort it is spending almost 7 times as much time per square foot in Zone A vs Zone B. I'm pretty sure that this is a persistent problem because I've noticed in the last few days that whenever I go and check on my Roomba it is usually in Zone B but today I followed it around with a stopwatch and clicked the stopwatch on and off as it entered and exited Zone B.

The thing that seems to cause this is that whenever the Roomba is in Zone A and it encounters the lower sofa then it usually (probably 3 times out of 4) turns left (towards the other sofa), follows the edge of the lower sofa and, once it gets to the corner of the sofa, it then follows round the corner to take it straight into Zone B. At this point it usually follows the next corner of the sofa so that it is now following the lower side of the small sofa but it rarely goes to the end, it usually takes a left turn about half way along and just enters a cleaning pattern in Zone B.

I know that the obvious thing to do is to put some virtual walls or lighthouses in the middle of this room, probably one each side of the small sofa where my dotted lines are in the diagram above, because I think the room is too wide (about 14 feet) for a single VW/LH to span it, but I'd prefer to find another solution because a VW/LH does create a dead zone along its Fence and around its Halo where Roomba will never clean and I'd like to avoid that in the middle of my most used room.

This is a bit of a long shot because I really don't know what anyone can suggest in specific terms beyond just "rearrange the furniture" but has anyone else encountered similar problems or have any suggestions as to how to improve this situation?

- Julian
Julian
Robot Addict
 
Posts: 103
Joined: May 29th, 2009, 7:23 pm

Re: Problem with Roomba Cleaning Algorithm

Postby Fraggboy » June 6th, 2009, 9:44 am

Julian,

How big is this room? I'm sure if you were to move the Home Base around, maybe try to place it in Zone B, your times will change. The Roomba doesn't 'map', or know where it's been. That's why it relies on going over the same path repeatedly to get an area clean.

How long did Roomba clean that room for?
Chris

:confusion-shrug:
Website Question? Check out the FAQ section.
Roomba/Scooba Question? Check out the READ FIRST section.
:text-search:
Before posting, check out the improved Search engine. Your question might have been answered already.
User avatar
Fraggboy
Robot Master
 
Posts: 3661
Joined: March 2nd, 2007, 4:13 pm
Location: In sunny California

Re: Problem with Roomba Cleaning Algorithm

Postby Julian » June 6th, 2009, 10:13 am

Fraggboy wrote:Julian,

How big is this room? I'm sure if you were to move the Home Base around, maybe try to place it in Zone B, your times will change. The Roomba doesn't 'map', or know where it's been. That's why it relies on going over the same path repeatedly to get an area clean.

How long did Roomba clean that room for?

The room is about 18 feet by 14 feet. Roomba cleaned the room for exactly 28 minutes which I'm sure is 25 minutes plus 3 minutes extra until it stumbled upon the LH (it happened to be in Zone A when my clock showed it hitting the 25 minute mark which is when I think the software would have set a flag to tell it to traverse the LH as soon as it next encountered it).

I'm trying to keep the home base somewhere that is as discreet as possible (i.e. out of human sight) but is also easy for the Roomba to see when it needs to dock and there just isn't anywhere in zone B where I could put it that comes close to meeting those criteria. I'm even considering moving the home base to another room in this cleaning zone (once Roomba has traversed to LH to get out of this room it then goes on to clean my hallway and my kitchen and ultimately, once I clear a load of building debris out of it, probably a second reception room as well).

In any event, I would have thought that starting Roomba in zone B would make things worse. During the 28 minutes it probably transitioned between zones A and B about 6 or 7 times so the problem isn't that it doesn't go into Zone A, the trouble is caused by the fact that the algorithms seem to make it very easy for Roomba to re-enter Zone B so as soon as it leaves Zone B and enters Zone A then, rather than give zone A the cleaning time it deserves, Roomba maybe spends 1 or 2 minutes in zone A before it finds its way back into Zone B where it spends 3 or 4 minutes in the relatively much smaller area before it finds its way back out for another paltry minute or two in Zone A and then it's back to zone B and so on.

- Julian
Julian
Robot Addict
 
Posts: 103
Joined: May 29th, 2009, 7:23 pm

Re: Problem with Roomba Cleaning Algorithm

Postby RoombaRules » June 6th, 2009, 10:44 am

To expand on what Chris said, because Roomba uses a lot of math for it's movement rather than mapping the room, you can actualy change the outcome of it's routines quite easily by changing some very simple things. I think you will be surprised at how easily you can change it's behavior simply by turning some furniture to a new angle, moving a lamp, keeping shoes in a different corner, putting something new in the room (a potted plant or an end stand for example), putting something that is normaly on a shelf or table on the floor (or the other way around), etc.

None of these involve much heavy lifting, none of them are terribly time-intensive, etc. but yet they can have quite an effect on where and when Roomba travels to different places because it changes the angle, time, and place at which Roomba hits objects and then turns or follows them.

I also strongly agree with Chris though, you should definitely experiment with the Home Base.

Good luck,

~Seth
There is no such thing as gravity, the Earth sucks.
User avatar
RoombaRules
Forum Moderator
 
Posts: 482
Joined: September 17th, 2005, 1:16 pm
Location: Boston, MA

Re: Problem with Roomba Cleaning Algorithm

Postby Julian » June 11th, 2009, 6:24 am

Thanks for the advice. I'm sure I can tune things up regarding furniture and possibly dock placement. I just had a really spectacular failure of the algorithms though. Here is the scenario:

Exp 3.JPG


My Roomba had finished the cleaning and was supposed to be going back to the dock. It had traversed all the lighthouses and so the two lighthouses shown to the left and right at the bottom were both now acting as walls. The two horizontal dotted lines across the corridor running vertically upwards on the picture are nothing, they're just reference points for me to talk about.

Essentially my Roomba got trapped in Zone A for over 20 minutes before I finally picked it up and placed it in front of the dock at which point it docked. Zone A is the area below the bottom dotted line and, to illustrate how spectacular this failure is, the total area of Zone A is about 24 square feet with absolutely no furniture (it's just a 7 foot long stretch of corridor, 3 feet wide, and that little opening at the bottom is the doorway to a closed door which is about 3 feet wide and 6 inches deep. The total length of wall area of Zone A is about 21 feet of which a full one seventh of that (i.e. 3 feet) is the opening to the upper corridor which I had hoped that Roomba would quickly find. On two occasions it did enter the corridor but never made it further than the upper dotted line and never got to that doorway at the top left which is where the docking station was.

I know I'll just need to replan the layout to avoid this setup since it is clearly just a peculiar case of a layout being incompatible with Roomba's algorithms but I though some people might be interested in a case of a pretty catastrophic algorithm failure within a fairly simple space.

- Julian
Julian
Robot Addict
 
Posts: 103
Joined: May 29th, 2009, 7:23 pm

Re: Problem with Roomba Cleaning Algorithm

Postby _JP_ » June 11th, 2009, 11:27 pm

I have my 560 cleaning a 12 x 28 room, hallway, and 12 x 10 kitchen as one unit, with a Lighthouse splitting off the bedroom, bath, and more hallway into a second unit. Coverage is just fine. I suggest that you don't split up the room to begin with, the robot can handle it and probably better as a single space.
Dances With Roombas
User avatar
_JP_
Robot Addict
 
Posts: 232
Joined: December 13th, 2007, 12:03 am

Re: Problem with Roomba Cleaning Algorithm

Postby Julian » June 12th, 2009, 5:56 am

_JP_ wrote:I have my 560 cleaning a 12 x 28 room, hallway, and 12 x 10 kitchen as one unit, with a Lighthouse splitting off the bedroom, bath, and more hallway into a second unit. Coverage is just fine. I suggest that you don't split up the room to begin with, the robot can handle it and probably better as a single space.

I've had some bad experiences with unified spaces. In fact beyond that right lighthouse is more hallway with a bathroom and a bedroom off it which I had as a single space. Once through the LH the Roomba immediately turned left into the 25 sq foot bathroom, cleaned it for about 15 minutes and then decided it had cleaned the entire space so it came out, found the LH and exited the area without even once setting foot into the 220 square feet of bedroom space to be cleaned. I think the message here is that one has to tune the setup quite carefully for each specific environment so I'm just trying lots of different things at the moment. I wasn't really complaining about the situation in my last post, I'll just re-jig things to avoid the situation, but I found it interesting that, despite the sophisticated algorithms, it was possible for Roomba to get stuck in such a small and simple area which had such a large and obvious exit; it's got to be a one in a thousand chance to get a situation like that.

I do hear your advice though JP. I won't be blind to the possibilities of setting up large undivided spaces if Roomba works well with them.

- Julian
Julian
Robot Addict
 
Posts: 103
Joined: May 29th, 2009, 7:23 pm


Return to iRobot Roomba and Scooba Chat

Who is online

Users browsing this forum: doublem, moonlightshaker, piokrza, Snokia and 333 guests