Abstract
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.
Article PDF
Similar content being viewed by others
References
Andreae, P. M. (1985). Justified Generalization: Acquiring Procedures from Examples. Technical Report AI-TR-834. Artificial Intelligence Laboratory, MIT.
Atkeson, C. G., Aboaf, E. W., McIntyre, J., & Reinkensmeyer, D. J. (1987). Model-based robot learning. In Proceedings of the 4th International Symposium on Robotics Research.
Baroglio, C., Giordana, A., Kaiser, M., Nuttin, M., & Piola, R. (1996). Learning Controllers for Industrial Robots. Machine Learning, same issue.
Bocionek, S. (1995). Agent systems that negotiate and learn. International Journal Human-Computer Studies, 42, 265–288.
Bocionek, S. & Sassin, M. (1993). Dialog-Based Learning (DBL) for Adaptive Interface Agents and Programming-by-Demonstration Systems. Technical Report CMU-CS–93–175. Carnegie Mellon University, Pittsburgh.
Cypher, A. (1991). EAGER: Programming Repetitive Tasks by Example. In CHI '91 Conference Proceedings(pp. 33–39). New Orleans, Louisiana: ACM Press.
Dufay, B. & Latombe, J.-C. (1984). An approach to automatic robot programming based on inductive learning. International Journal of Robotics Research,3, 97–115.
Fikes, R. E. & Nilsson, N. J. (1971). Strips: A new approach to the application of theorem proving to problem solving Artificial Intelligence, 2, 189–208.
Flaig, T., Neugebauer, J.-G., & Wapler, M. (1994). VR4RobotS: a New Off-line Programming System Based on Virtual Reality Techniques. In Proceedings of the 25th International Symposium on Industrial Robots (pp. 671–678). Hannover, Germany.
Friedrich, H. & Kaiser, M. (1995). What can Robots learn from Humans?, In IFAC Workshop on Human-Oriented Design of Advanced Robotic Systems (pp. 1–6). Vienna, Austria.
Heise, R. (1989). Demonstration Instead of Programming: Focussing Attention in Robot Task Acquisition. Research Report 89/360/22. University of Calgary.
Heise, R. (1992). Programming Robots by Example. Research Report 92/476/14. University of Calgary.
Ikeuchi, K., Kawade, M., & Suehiro, T. (1993). Towards Assembly Plan from Observation: Task Recognition with Planar, Curved and Mechanical Contacts. In Proceedings of the IEEE/RJS International Conference on Intelligent Robots and Systems(pp. 2294–2301). Yokohama, Japan.
Kaiser, M., Giordana, A., & Nuttin, M. (1994). Integrated Acquisition, Execution, Evaluation and Tuning of Elementary Skills for Intelligent Robots. In Proceedings of the IFAC Symposium on Artificial Intelligence in Real Time Control 145–150. Valencia, Spain.
Kaiser, M., Retey, A., & Dillmann, R. (1995). Robot skill acquisition via human demonstration. In Proceedings of the International Conference on Advanced Robotics (pp. 763–768), Barcelona, Spain.
Kreuziger, J. & Hauser, M. (1993). A New System Architecture for Applying Symbolic Learning Techniques to Robot Manipulation. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems. Yokohama, Japan.
Kuniyoshi, Y., Masayuki, I., & Inoue, H. (1994). Learning by watching: Reusable task knowledge from visual observation of human performance. IEEE Transactions on Robotics and Automation, 10, 799–822.
Liu, S. & Asada, H. (1993). Teaching and training of deburring robots using neural networks. In IEEE International Conference on Robotics and Automation (pp. 339–345).
Lozano-Perez, T. (1983). Robot Programming. In Proceedings of the IEEE,, 71 (pp. 821–841).
Maulsby, D. L. & Witten, I. H. (1993). Metamouse: An Instructable Agent for Programming by Demonstration. In A. Cypher (Ed. ), Watch What I Do: Programming by Demonstration. MIT Press.
McKerrow, P. J. (1991). Introduction to Robotics. In Electronic Systems Engineering. Addison-Wesley.
Milne, R. (1991). Building Successful Applications: The Wrong Way and the Right Way. In G. Barth et al. (Eds.) KI-94-Anwendungen der K¨ unstlichen Intelligenz. Springer.
M¨unch, S., Kreuziger, J., Kaiser, M. & Dillmann, R. (1994). Robot Rrogramming by Demonstration (RPD)-Using Machine Learning and User Interaction Methods for the Development of Easy and Comfortable Robot Programming Systems. In Proceedings of the 25th International Symposium on Industrial Robots(pp. 685–693). Hannover, Germany.
M¨unch, S., Sassin, M. & Bocionek, S. (1994b) The Application of PbD Methods to Real-World Domains: Two Case Studies. In Proceedings of the 7th Australian Joint Conference on Artificial Intelligence (pp. 92–99). Armidale, Australia.
Neubauer, W., Bocionek, S., Möller, M. & Rencken, W. (1992). Learning Systems Behavior for the Automatic Correction and Optimization of Off-line Robot Programs. In Proceedings of the IEEE International Conference on Intelligent Robots and Systems, Raleigh.
Sassin, M. (1994). Creating user-intended programs with programming by demonstration. In 1994 Proceedings of the IEEE/CS Symposium on Visual Languages(pp. 153–160). St. Louis, Missouri.
Segre, A. M. (1988). Machine Learning of Robot Assembly Plans. Kluwer Academic Publishers.
Thrun, S. B. & Mitchell, T. M. (1993). Integrating Inductive Neural Network Learning and Explanation-based Learning. In Proceedings of the 13th International Joint Conference on AI(pp. 930–936). Chambery, France.
Ude, A. (1993). Trajectory Generation from Noisy Positions of Object Features for Teaching Robot Paths. Robotics and Autonomous Systems, 11, 113–127.
Ude, A., Bröde, H. & Dillmann, R. (1994). Object Localization Using Perceptual Organization and Structural Stereopsis. In Proceedings of the 3rd International Conference on Automation, Robotics and Computer Vision, Singapore.
Waibel, A., Hanazawa, T., Hinton, G., Shikano, K. & Lang, K. (1989). Phoneme recognition using time-delay neural networks. IEEE Transactions on acoustics, speech and signal processing, 328–339.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Friedrich, H., Mnch, S., Dillmann, R. et al. Robot Programming by Demonstration (RPD): Supporting the Induction by Human Interaction. Machine Learning 23, 163–189 (1996). https://doi.org/10.1023/A:1018224721118
Issue Date:
DOI: https://doi.org/10.1023/A:1018224721118