Provided is a method for operating a robot, including capturing images of a workspace, comparing at least one object from the captured images to objects in an object dictionary, identifying a class to which the at least one object belongs using an object classification unit, instructing the robot to execute at least one action based on the object class identified, capturing movement data of the robot, and generating a planar representation of the workspace based on the captured images and the movement data, wherein the captured images indicate a position of the robot relative to objects within the workspace and the movement data indicates movement of the robot. For details visit website: https://patents.justia.com/patent/20210089040