Programming by demonstration

In this field, the operator often has implicit knowledge on the task to achieve (he/she knows how to do it), but does not have usually the programming skills (or the time) required to reconfigure the robot.As a humanoid robot is supposed by its nature to adapt to new environments, not only the human appearance is important but the algorithms used for its control require flexibility and versatility.Research in PbD also progressively departed from its original purely engineering perspective to adopt an interdisciplinary approach, taking insights from neuroscience and social sciences to emulate the process of imitation in humans and animals.A skill is an interface between task names, given in natural language and the underlying spatiotemporal movement in the 3d space, which consists of points.Single skills can be combined into a task for defining longer motion sequences from a high level perspective.[6] For final users, to automate a workflow in a complex tool (e.g. Photoshop), the most simple case of PbD is the macro recorder.
computer scienceend-user developmentprogramming by examplea row in the desired results of a queryBayesian program synthesishumanoid robotsExtreme Learning Machinestrajectoryconstraintsnatural languagespatiotemporalPhotoshopmacro recorderIntentional programmingInductive programmingSupervised learning