A control system for a mobile robot (
) is provided to effectively cover a given area by operating in a plurality of modes, including an obstacle following mode (
) and a random bounce mode (
). In other embodiments, spot coverage, such as spiraling (
), 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.