ROBOT PROGRAMMING BY DEMONSTRATION: SUPPORTING THE INDUCTION by
HUMAN INTERACTION
by H. Friedrich, S. Muench, R. Dillmann, S. Bocionek, and M. Sassin
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 bowl 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.