Programming a robot to act intelligently is a challenging endeavor that is beyond the skill level of most people. Trained roboticists generally program robots for a single purpose. Enabling robots to be programmed by non-experts and to perform multiple tasks are both open challenges in robotics. The contributions of this work include a framework that allows a robot to learn tasks from demonstrations over the course of its functional lifetime, a task representation that uses Bayesian decision networks, and a method to transfer knowledge between similar tasks. The demonstration framework allows non-experts to demonstrate tasks to the robot in an intuitive manner.
In this work, tasks are complex time-extended decision processes that make use of a set of predefined basis behaviors for actuator control. Demonstrations from an instructor provide the necessary information for the robot to learn a control policy. An instructor guides the robot through a demonstration using a graphical interface that displays information from the robot and provides an intuitive action-object pairing mechanism to issue commands to the robot.
Each task is represented by an influence diagram, a generalization of Bayesian networks. The networks are human readable, compact, and have a simple refinement process. They are not subject to an exponential growth in states or in branches, and can be combined hierarchically, allowing for complex task models. Data from task demonstrations are used to learn the structure and utility functions of an influence diagram. A score-based learning algorithm is used to search through potential networks in order to find an optimal structure.
Both the means by which demonstrations are provided to the robot and the learned tasks are validated. Different communication modalities and environmental factors are analyzed in a set of user studies. The studies feature both engineer and non-engineer users instructing the Willow Garage PR2 on four tasks: Tower's of Hanoi, box sorting, cooking risotto, and table setting. The results validate that the approach enables the robot to learn complex tasks from a variety of teachers, refining those tasks during on-line performance, successfully completing the tasks in different environments, and transferring knowledge from one task to another.