I. Introduction
Programming by demonstration (PbD), also called imitation learning or learning from demonstration, is a recent approach that promises a rapid and efficient way to impart skills to robots [1]. In PbD, robots are taught new skills or tasks simply by having a human teacher (or possibly another robotic agent) perform demonstrations, which they capture using various sensors. The robot then utilizes learning algorithms to learn the task and reproduce it with a measure of adaptability.