A control system for a mobile robot (10) is provided to effectively cover
a given area by operating in a plurality of modes, including an obstacle
following mode (51) and a random bounce mode (49). In other embodiments,
spot coverage, such as spiraling (45), or other modes are also used to
increase effectiveness. In addition, a behavior based architecture is
used to implement the control system, and various escape behaviors are
used to ensure full coverage.