Programming a robot to perform tasks in dynamic environments is a complex process. Teleo-Reactive Programs (TRPs) have proved to be an effective framework to continuously perform a set of actions to achieve particular goals and react in the presence of unexpected events, however, their definition is a difficult and time-consuming process. In this paper, it is shown how a robot can learn TRPs from human guided traces. A user guides a robot to perform a task and the robot learns how to perform such task in similar dynamic environments. Our approach follows three steps: (i) it transforms traces with low-level sensor information into high-level traces based on natural landmarks, (ii) it learns TRPs that express when to perform an action to achieve simple tasks using an Inductive Logic Programming (ILP) system, and (iii) it learns hierarchical TRPs that express how to achieve goals by following particular sequences of actions using a grammar induction algorithm. The learned TRPs were used to solve navigation tasks in different unknown and dynamic environments, both in simulation and in a service robot called Markovito.
展开▼