Some aspects include a method for operating a robot in a workspace, including: capturing, with an image sensor, image data of the workspace including objects within the workspace as the robot moves within the workspace; identifying, with a processor of the robot, at least one characteristic in the image data, wherein the at least one characteristic comprises one of: an edge, a shape, and a color; determining, with the processor, an object type of an object; and instructing, with the processor, the robot to execute at least one action based on the at least one characteristic, wherein the at least one action comprises one of: driving along a modified path and driving around the object.