1. A method of training a robot to complete a specified task comprising performing an action on an object, the robot having at least one appendage for manipulating the object and a machine-vision system for capturing images within a camera field of view, the method comprising: (a) selecting, by the robot, an object in the field of view and displaying the selection on a robot-controlled visual display, the displayed selection including a camera view of the selected object; (b) overlaying, by the robot, a representation of an end-effector onto the camera view and displaying, on the display, performance of an action on the object by the end-effector; (c) based on the displayed performance, providing feedback to the robot indicating whether the action is performed correctly, the robot modifying the performance of the action in response to the feedback; and (d) repeating steps (b) through (c) until the action is performed correctly on the display.