PROGRAMMING ROBOTS BY EXAMPLE
Date
1992-05-01
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
This paper presents a prototypical machine learning system
\s+1(E\s-1TAR\s+1)\s-1 that acquires programs for robot tasks. The
long term goal of this project is to discover how to make computer
technology, in particular robots, more useful to (and controllable by)
people in general. Rather than require programming expertise, the
idea is to build a system which learns robot programs from users'
examples. Thus the \s+1E\s-1TAR learning algorithm begins by sampling
the robot path while a user physically leads it through the task. A
general procedure, possibly containing loops, branches, and variables,
is induced from these examples. The \s+1E\s-1TAR algorithm is
novel since an implicit focus mechanism is used to control the entire
generalization process. The focus forces \s+1E\s-1TAR to concentrate
on the important domain objects, thus eliminating useless steps and
translating the sampled sequence into a series of robot primitive
motions. Loops and branches are introduced as the focus objects
repeat or differ. Finally, robot positional variables are introduced
as functions of the common characteristics of the objects in the
focus. The programs that \s+1E\s-1TAR generates for three tasks ---
block stacking, obtaining an object with a certain characteristic, and
sorting --- are shown to provide an intuitive feel for the types of
tasks that \s+1E\s-1TAR can learn. The paper concludes with a general
discussion of the current issues in programming by example and
describes how this new learner is related to previous systems in this
area. \s+1E\s-1TAR has been implemented on an Excalibur robot.
Description
Keywords
Computer Science