I. Introduction
With the development of related technologies, e.g., automation, sensor, and computer technology, robots have been widely used in the industrial manufacturing to accomplish various manipulations, especially for the assembly task. One of the key challenges in this area is that robot programming is too complex to adapt to environmental changes. Compared with traditional robot programming methods, such as teaching/playback, programing by demonstration (PbD) is able to transform the complicated manipulation task into the robot control program efficiently.