Synthesizing Robot Manipulation Programs from a Single Observed Human Demonstration Programming by Demonstration (PbD) lets users with little technical background program a wide variety of manipulation tasks for robots, but it should be as intuitive as possible for users while requiring as little time as possible. In this paper, we present a Programming by Demonstration system that synthesizes manipulation programs from a single observed demonstration, allowing users to program new tasks for a robot simply by performing the task once themselves. A humanintheloop interface helps users make corrections to the perceptual state as needed. We introduce Object Interaction Programs as a representation of multiobject, bimanual manipulation tasks and present algorithms for extracting programs from observed demonstrations and transferring programs to a robot to perform the task in a new scene. We demonstrate the expressivity and generalizability of our approach through an evaluation on a benchmark of complex tasks.

Robot Programming by Demonstration with Local Human Correction for Assembly For the sake of boosting the usability of robots in assembly applications, Programming by Demonstration (PbD) has been regarded as a feasible solution to transfer human workerxe2x80x99s skills to robots. With one or more human assembly demonstrations, an assembly policy, which serves to generate a robot motion trajectory given a specific target, can be learned and then used to generate a smooth robot assembly trajectory. However, when it comes to complex and subtle assembly tasks that are widely spreading in industries, the success rate of the learned policy is limited by physical constraints introduced by the human demonstrations, the robot and the task. Motivated by this problem, this work proposes a robot PbD method of the humanintheloop framework that draws support from a human operator to reinforce the learned assembly policy. The Gaussian Mixture Model is utilized to prestructure the policy and it is adjusted by requesting the human operator to provide corrections at critical positions, where unexpected collisions occur. A kinesthetic teaching experiment has demonstrated the effectiveness of the proposed method.