Applications such as vacuum cleaning require an extension of the basic motion planning problem to consider a path on which a robot passes over all free space. Even in two-dimensions, finding an optimal length solution is NP-hard by reduction to the Traveling Salesman Problem, but it may to possible to improve on the heuristic and randomized approach used by devices such as the Roomba by iRobot Corporation.
At present the Roomba is unable to use localization due to the simplicity of its sensors, and a common approach among coverage planning robots is to use simple pre-defined behaviors, such as following a wall or traveling in a spiral, to perform a random search. More sophisticated solutions use approximate, semi-approximate, or exact cellular decompositions, but require more advanced sensors, with associated higher costs.
To implement a coverage planning algorithm using the iRobot Create programmable robot.
http://wwwx.cs.unc.edu/~snape/coursework/comp790-058/project.pdf (340 KB)
http://wwwx.cs.unc.edu/~snape/coursework/comp790-058/code.zip (11 KB)