Robust One-Shot Robot Programming by Demonstration Using Entity-Based Resources

  • Eric M. Orendt
  • Michael Riedl
  • Dominik Henrich
Conference paper
Part of the Mechanisms and Machine Science book series (Mechan. Machine Science, volume 49)


General purpose robots are established tools in a variety of industrial applications. An important goal in actual research is to transfer the advantages of these tools into more unstructured environments like househoulds or small and medium sized enterprises. One challenge in this field is to enable non-experts to use all the capabilities of a robot. This includes two aspects: Robots must be intuitive to program and robust to execute. The main contribution of this work is a novel programming approach, that concerns both aspects.

Thus our system enables users to guide a robot kinesthetically through a task without prior knowledge. By observing resources in the workspace, the demonstrated task is encoded as a finite state machine (FSM). This FSM allows the reproduction of a task by the robot itself. Furthermore, our approach can integrate a deviation detection method to robustify task reproductions.


Programming by demonstration Entity actor system Finite state machines Behavior based robotics Kinesthetic programming 



This work has been supported by the Deutsche Forschungsgemeinschaft (DFG) under grant agreement He2696/15 INTROP.


  1. 1.
    Argall BD et al (2009) A survey of robot learning from demonstration. Robot Autonom Syst 57(5):469–483CrossRefGoogle Scholar
  2. 2.
    Atkeson C, Schaal S (1997) Robot learning from demonstration. In: Machine Learning-International Workshop Then Conference, pp 12–20Google Scholar
  3. 3.
    Billard A, Calinon S (2007) Robot programming by demonstration. In: Handbook of Robotics, vol 48, pp 1371–1394. Chap 59Google Scholar
  4. 4.
    Wu Y, Demiris Y (2010) Towards one shot learning by imitation for humanoid robots. In: Proceedings of IEEE ICRA, pp 2889–2894Google Scholar
  5. 5.
    Zöllner R et al (2005) Towards cognitive robots: building hierarchical task representations of manipulations from human demonstration. In: IEEE ICRA, pp 1535–1540Google Scholar
  6. 6.
    Orendt EM et al (2016) Robot programming by non-experts: intuitiveness and robustness of one-shot robot programming. In: Proceedings of IEEE RO-MANGoogle Scholar
  7. 7.
    Akgun B et al (2012) Keyframe-based learning from demonstration: method and evaluation. Int J Soc Robot 4:343–355CrossRefGoogle Scholar
  8. 8.
    Groth C, Henrich D (2014) One-shot robot programming by Demonstration using an online oriented particles simulation. In: Proceedings of IEEE ROBIOGoogle Scholar
  9. 9.
    Calinon S, Billard AG (2007) What is the teacher’s role in robot programming by demonstration? Science 8:441–464Google Scholar
  10. 10.
    Werner T et al (2016) ENACT: an efficient and extensible entity-actor framework for modular robotics software components. In: International Symposium on Robotics, pp 157–163Google Scholar
  11. 11.
    Pirjanian P (1999) Behavior coordination mechanisms - state-of-the-art. Institute of Robotics and Intelligent Systems, USC. Technical report 213Google Scholar
  12. 12.
    Grollman DH, Jenkins OC (2010) Can we learn finite state machine robot controllers from interactive demonstration? In: Studies in Computational Intelligence, pp 407–430Google Scholar
  13. 13.
    Bentivegna DC et al (2006) Learning similar tasks from observation and practice. In: Proceedings of IEEE/RSJ IROS, vol 47, pp 2677–2683Google Scholar
  14. 14.
    Abbeel P et al (2007) An application of reinforcement learning to aerobatic helicopter flight. Education 19:1Google Scholar
  15. 15.
    Orendt EM, Henrich D (2015) Design of robust robot programs: deviation detection and classification using entity-based resources. In: Proceedings of IEEE ROBIOGoogle Scholar
  16. 16.
    Nicolescu MN, Mataric MJ (2003) Natural methods for robot task learning: instructive demonstrations, generalization and practice. In: Proceedings of AAMASGoogle Scholar
  17. 17.
    Zöllner R et al (2004) Programming by demonstration: Dual-arm manipulation tasks for humanoid robots. In: Proceedings of IEEE/RSJ IROS, vol 1Google Scholar
  18. 18.
    Groth C, Henrich D (2014) Single-shot learning and scheduled execution of behaviors for a robotic manipulator. In: International Symposium on Robotics, vol 41, pp 1–6Google Scholar
  19. 19.
    Rusu RB, Cousins S (2011) 3D is here: point cloud library. In: IEEE International Conference on Robotics and Automation, pp 1–4Google Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  • Eric M. Orendt
    • 1
  • Michael Riedl
    • 1
  • Dominik Henrich
    • 1
  1. 1.Chair for Applied Computer Science III Robotics and Embedded SystemsUniversity of BayreuthBayreuthGermany

Personalised recommendations