1. A method for training a robot to execute a robotic task in a work environment, the method comprising: moving the robot across its configuration space through multiple states of the robotic task to thereby demonstrate the robotic task to the robot, wherein the configuration space is the set of all possible configurations for the robot; recording motor schema describing a sequence of behavior of the robot; recording sensory data describing performance and state values of the robot while moving the robot across its configuration space; detecting perceptual features of objects located in the environment; assigning virtual deictic markers to the detected perceptual features; and using the assigned virtual deictic markers and the recorded motor schema to subsequently control the robot in an automated execution of another robotic task.