I implemented something like this in College:
Basically we just passed the vertices of the boustrophedon path as goals to move_base. Here's a video of a bag file being played back:
Here's the class paper we did for the planner:
This thing is generally called coverage path planning.
If you are particularly interested in Boustrophedon Cell Decomposition, you may have a look at the paper introducing it: Choset and Pignon (1998).
You may also want to check out this survey paper.
In the end, I found that the best way to do this was to employ a very simple concept: Flood Fill. I used a stack-based iterative approach instead of the recursive option, and modified it for physical space by using an A* search to find a path from the current location to the next location in the stack (using only those grid squares that have already been ...
I'm not sure if you still need it, but for those who happened to google for this thread, I have made one simple version of the algorithm.
Basically, it tries to build the map of the area while it cleans, and it uses the map to find the nearest unvisted node (part of the room). When it can't find any, that means the room is cleaned (or the uncleaned parts ...
Yes, it works fine in a plastic (or wood) case. I've used the PA6H GPS from Adafruit in a Hammond 1553B plastic case with no issues.
Mostly what you want to avoid is any sort of conductor that might block a signal. This includes copper and iron.
If you can't localize, you can't do anything that requires localizing.
If you can't use wheel encoders accurately enough to do a rectangular fill (parallel lines) then, by the same reasoning, you can't use them to do any other shaped fill pattern either (concentric circles, spirals, etc.).
I only see one real solution here (that's not random walk), but its ...
You might like the algorithms run on PR-2 robot. Two papers I can think of are "A single planner for a composite task of approaching, opening and navigating through non-spring and spring-loaded doors" and "Motion planning for smooth pickup of moving objects". Both can be found on IEEE Xplore.
Distributed cooperative coverage algorithms for robots sounds like an area of active research. I suggest looking at some academic papers. Here are a few to get you started:
Multirobot Cooperative Model applied to Coverage of Unknown Regions
Cooperative Coverage of Rectilinear Environments
Looking at the simpler problem that you were asked - a rectangular room, with no obstacles and clean every part at least once.
The solution is to find a corner of the room, and finding a corner won't be a big problem. Once that has been achieved, then just follow a spiral path to the center of the room.