A method for controllably moving an autoscrubber on a surface, the method comprising: providing an autoscrubber comprising: a chassis supporting a cleaning system for cleaning a surface located under the autoscrubber and one or more torque mechanisms connected to apply left torque to a left drive wheel and right torque to a right drive wheel ; providing one or more cameras mounted to the chassis for capturing images of an environment in which the autoscrubber operates; connecting a controller to provide a teach mode and repeat mode wherein: during the teach mode, the autoscrubber is in a manual operational mode wherein: the autoscrubber is steered by an operator who applies steering force to the autoscrubber and the one or more cameras capture and store image data at each of a plurality of nodes along a path during movement of the autoscrubber along the path ; and during the repeat mode, the autoscrubber is in an autonomous operational mode, the one or more cameras capture image data to provide image data feedback and the controller is: configured to determine one or more torque drive signals based at least in part on a comparison of the image data feedback and at least some of the image data captured and stored at each of the plurality of nodes during the teach mode; and connected to provide one or more torque drive signals to the one or more torque mechanisms to thereby generate the left torque and the right torque and to controllably move the autoscrubber on the surface. providing an autoscrubber comprising: a chassis supporting a cleaning system for cleaning a surface located under the autoscrubber and one or more torque mechanisms connected to apply left torque to a left drive wheel and right torque to a right drive wheel ; providing one or more cameras mounted to the chassis for capturing images of an environment in which the autoscrubber operates; connecting a controller to provide a teach mode and repeat mode wherein: during the teach mode, the autoscrubber is in a manual operational mode wherein: the autoscrubber is steered by an operator who applies steering force to the autoscrubber and the one or more cameras capture and store image data at each of a plurality of nodes along a path during movement of the autoscrubber along the path ; and during the repeat mode, the autoscrubber is in an autonomous operational mode, the one or more cameras capture image data to provide image data feedback and the controller is: configured to determine one or more torque drive signals based at least in part on a comparison of the image data feedback and at least some of the image data captured and stored at each of the plurality of nodes during the teach mode; and connected to provide one or more torque drive signals to the one or more torque mechanisms to thereby generate the left torque and the right torque and to controllably move the autoscrubber on the surface. during the teach mode, the autoscrubber is in a manual operational mode wherein: the autoscrubber is steered by an operator who applies steering force to the autoscrubber and the one or more cameras capture and store image data at each of a plurality of nodes along a path during movement of the autoscrubber along the path ; and during the repeat mode, the autoscrubber is in an autonomous operational mode, the one or more cameras capture image data to provide image data feedback and the controller is: configured to determine one or more torque drive signals based at least in part on a comparison of the image data feedback and at least some of the image data captured and stored at each of the plurality of nodes during the teach mode; and connected to provide one or more torque drive signals to the one or more torque mechanisms to thereby generate the left torque and the right torque and to controllably move the autoscrubber on the surface. <EOS>