Simplified Robot Programming by Kinesthetic Teaching with Limited Demonstration Data

Research output: ThesisPh.D. thesis


Collaborative robots have changed the public perception of industrial robots by enabling Small and Medium-sized Enterprises (SMEs) to automate their production. They have achieved this by making robots safe and lowering their usability barrier, allowing non-experts to program them for a majority of common tasks. Yet, if robots are to become more widespread, even more intuitive methods for programming must be devised. This is especially true for more complex tasks, such as assembly, which require an understanding of different strategies, as well as how to program compliance into the robot.

In the research community, programming by demonstration and particularly kinesthetic teaching have been suggested as methods that are intuitive for non-experts. Using kinesthetic teaching, the user simply manually guides the robot manipulator through a demonstration of a task. The robot then uses this demonstration data to build a model of the task. Using this model, the robot is not only capable of executing the task, but also of generalizing the learned skill to new contexts. In general, the more data available, the more informed and accurate the model of the skill will be. This is also true for the sensing capabilities of the robot. By incorporating force-torque sensors or cameras, the robot can build sensorimotor representations of skills that will then be able to adapt to its environment.

However, a key challenge in the industrial domain is that costs for the customer must be kept low. Thus, a programming by demonstration approach that uses many sensors will require the user to buy them and set them up, which will often involve hiring qualified personnel, rendering the approach unprofitable. Similarly, as quick changeover times are crucial for SMEs, providing more than one demonstration of the task is often not viable.

In this thesis we investigate methods that target the problem of learning from demonstration using a collaborative robot in situations where limited sensory data is available and where the robot must learn from a single user demonstration. We specifically focus on three core problems: First, we examine the usability – for first time users – of a programming by demonstration system compared to the graphical programming interfaces available for collaborative robots. Then we focus on how to learn assembly task primitives from demonstration in a way that they can cope with the accuracy requirements of industrial assembly tasks. Finally, we investigate how to go beyond the user’s demonstration by learning primitives that can extend what was taught, e.g. by being stably reversible in time. By allowing for stable reversibility, we enable assembly tasks to be used for disassembly.
Original languageEnglish
Place of PublicationOdense
Publication statusPublished - 29. May 2019

Note re. dissertation

Grad tildelt 30-09-2019


  • programming by demonstration
  • collaborative robots
  • learning from demonstration
  • kinesthetic teaching
  • dynamic movement primitives


Dive into the research topics of 'Simplified Robot Programming by Kinesthetic Teaching with Limited Demonstration Data'. Together they form a unique fingerprint.

Cite this