Automatically Encoding, Modifying, and Finding Robot Skills to Repair High-Level Tasks
A typical approach for producing complex robot behaviors is to compose atomic controllers (or skills) such that the resulting behavior satisfies a high-level task. However, when a task cannot be accomplished with a given set of skills, it is difficult to know the reason, and even more difficult to know how to modify the skills to make the task feasible. In this dissertation, I will present methods to automatically symbolically encode and modify existing robot skills in order to make infeasible tasks feasible. This requires starting from the given physical robot skills, going to a symbolic representation of the skills to find modifications, and then physically implementing the modified skills. I will automatically encode robot skills in the Generalized Reactivity (1) (GR(1)) fragment of Linear Temporal Logic. Given the robot skills and an infeasible user-provided task encoded in GR(1), I will present methods to symbolically modify the robot skills to make the task feasible. Furthermore, I will explore feedback between the automatic symbolic and physical modification of skills. I will demonstrate these methods on both simulated and physical robots, including a Baxter and a Clearpath Jackal.