Learning complex tasks is an important goal for Learning from Demonstration. Dynamic Movement Primitives (DMPs), which can be used to encode a trajectory, are a common approach to skill learning. However, it can be difficult to use a DMP to encode a complex task, particularly one that must be flexible enough to accommodate multiple targets that are to be reached throughout the skill execution.
We take a different approach to task learning: chaining multiple DMPs to represent a series of sub-skills, which amount to a complex task. By splitting up a complicated task into several sub-skills and learning a DMP for each sub-skill, the resulting task execution can be more flexible in reaching multiple targets throughout completion. We tested a approach using a book-shelving problem in which the robot learner was taught to slide a book to the edge of a countertop, reorient it, and place it on a target area. We explored using this chained- DMP approach for two scenarios: one in which DMPs modeled a set of three demonstrations, and one in which DMPs modeled a single demonstration. We found that chaining multiple DMPs that were trained over a single demonstration may be an effective method for encoding complex skills.
Date: December 2014
Course: Interactive Robot Learning
Skills: Java, Python, DMPs