1. A floor cleaning device that autonomously traverses an area to be cleaned, the floor cleaning device comprising: a housing; a drive mechanism attached to the housing for propelling the floor cleaning device across a floor; and a controller in communication with at least one sensor and with the drive mechanism for controlling movement of the floor cleaning device across the floor, the controller having a training mode wherein manual user manipulation of the floor cleaning device defines a cleaning route and alternate cleaning modes defined by operation of alternate cleaning apparatus supported by the floor cleaning modes wherein the controller initiates the cleaning route and respective cleaning modes automatically, and automatically deviates from the cleaning route and returns to the cleaning route, in response to signals from the at least one sensor to avoid unexpected obstructions that would result in unacceptable changes in elevation of the work area.