Abstract
A method may comprise receiving one or more primitives associated with a robot, each of the one or more primitives comprising a plurality of joints of the robot that move together; while a user teleoperates the robot to perform a task of manipulating an object, receiving robot configuration data associated with the robot, object configuration data associated with the object, and position commands input by the user based on the one or more primitives as training data; perturbing the training data; performing domain randomization on the training data; and learning a policy for controlling the robot to autonomously perform the task based on the training data.