Robot Programming by Demonstration (RPD): Supporting the Induction by Human Interaction

Programming by Demonstration (PbD) is a programming method that allows software developers to add new functionalities to a system by simply showing them in the form of few examples. In the robotics domain it has the potential to reduce the amount of time required for programming and also to make programming more natural. Just imagine the task of assembling a torch by a manipulator. Wouldn't it be nice to just assemble the torch with one's own hands, watched by video and laser cameras and maybe wearing data gloves, i.e. sensors that provide the data to automatically generate the necessary robot program for the assembly task? And wouldn't it be even nicer to demonstrate the task with few different torches, but achieving an assembly function for all possible variants of them?In order to realize such a PbD environment, at least two major problems have to be solved. First, the sensor data have to be transformed to high-level situation-action descriptors, a task that is not yet solved in general. Second, if a generalization is required, induction algorithms must be applied to the recorded and transformed traces, aiming to find the most general user-intended function from only few examples. In this article we will concentrate only on the second problem. The described experimental environment consists of an industrial robot (PUMA 260b), a 6D teach mouse input device, and some sensors. Various data can be recorded during a demonstration for further processing in the PbD system running on a workstation. The objective is to explore the possibilities of integrating learning and clustering algorithms for automated robot programming. In particular it is investigated how human interaction within system- as well as user-initiated dialogs can support the induction component.

[1]  Ales Ude,et al.  Object Localization Using Perceptual Organization and Structural Stereopsis , 1994 .

[2]  Marnix Nuttin,et al.  Integrated Acquisition, Execution, Evaluation, and Tuning of Elementary Skills for Intelligent robots , 1994, AIRTC.

[3]  Sebastian Thrun,et al.  Integrating Inductive Neural Network Learning and Explanation-Based Learning , 1993, IJCAI.

[4]  T. Lozano-Perez,et al.  Robot programming , 1983, Proceedings of the IEEE.

[5]  Rosanna Heise,et al.  Programming robots by example , 1993, Int. J. Intell. Syst..

[6]  Richard Fikes,et al.  STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving , 1971, IJCAI.

[7]  Rüdiger Dillmann,et al.  What Can Robots Learn from Humans , 1996 .

[8]  Robert Milne,et al.  Building Successful Applications: The Wrong Way and the Right Way , 1994 .

[9]  Sheng Liu,et al.  Teaching and learning of deburring robots using neural networks , 1993, [1993] Proceedings IEEE International Conference on Robotics and Automation.

[10]  MICHAEL SASSIN,et al.  The Application of Pbd Methods to Real-world Domains: Two Case Studies , 1994 .

[11]  Allen Cypher,et al.  EAGER: programming repetitive tasks by example , 1991, CHI.

[12]  Siegfried R. Bocionek Agent systems that negotiate and learn , 1995, Int. J. Hum. Comput. Stud..

[13]  Phillip J. McKerrow,et al.  Introduction to robotics , 1991 .

[14]  David J. Reinkensmeyer,et al.  Model-based robot learning , 1988 .

[15]  Geoffrey E. Hinton,et al.  Phoneme recognition using time-delay neural networks , 1989, IEEE Trans. Acoust. Speech Signal Process..

[16]  Ian H. Witten,et al.  Metamouse: an instructible agent for programming by demonstration , 1993 .

[17]  Ales Ude,et al.  Trajectory generation from noisy positions of object features for teaching robot paths , 1993, Robotics Auton. Syst..

[18]  Michael Sassin,et al.  Creating user-intended programs with programming by demonstration , 1994, Proceedings of 1994 IEEE Symposium on Visual Languages.

[19]  Katsushi Ikeuchi,et al.  Toward assembly plan from observation - Task recognition with planar, curved and mechanical contacts , 1993, Proceedings of 1993 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS '93).

[20]  Cristina Baroglio,et al.  Learning Controllers for Industrial Robots , 2005, Machine Learning.

[21]  Masayuki Inaba,et al.  Learning by watching: extracting reusable task knowledge from visual observation of human performance , 1994, IEEE Trans. Robotics Autom..

[22]  Siegfried Bocionek,et al.  Learning Systems Behavior For The Automatic Correction And Optimization Of Off-line Robot Programs , 1992, Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems.

[23]  M. Hauser,et al.  A new system architecture for applying symbolic learning techniques to robot manipulation tasks , 1993, Proceedings of 1993 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS '93).

[24]  Jean-Claude Latombe,et al.  An Approach to Automatic Robot Programming Based on Inductive Learning , 1984 .

[25]  Peter M. Andreae Justified generalization: acquiring procedures from examples , 1984 .