Page 46 - Sensing, Intelligence, Motion : How Robots and Humans Move in an Unstructured World
P. 46
BASIC CONCEPTS 21
A serious analysis of holonomic and nonholonomic systems requires more
rigorous mathematical definitions. These will be introduced later as needed.
1.2.6 Robot Programming
A robot executes a given motion because it is programmed to do so. The meaning
of the words robot motion programming is not dissimilar to what an adult does
when teaching a child how to walk.
One can distinguish between two basic approaches to robot motion pro-
gramming:
• Explicit robot motion programming—when every robot configuration along
the path is prescribed explicitly. One variation of this is when a set of
configurations is given explicitly beforehand, and the robot interpolates con-
figurations between the set points using some rule.
• Task-level robot motion programming—in which contents-based subtasks
are given, such as “Grasp a part” or “Insert a peg in a hole,” and the robot
figures out further details on its own.
The “subtask” above can be a complex motion or procedure that has been pro-
grammed separately beforehand. For example, details of the task “Grasp a part”
may differ from one task instantiation to the other, depending on the sensing
data. Clearly, task-level programming is, in general, preferable to explicit pro-
gramming. It is also significantly more difficult to realize because it requires
much beforehand knowledge on the part of the robot.
The “programming” of a dancer or a gymnast is clearly closer to the task-level
approach than to the explicit programming. The choreographer can, for example,
say to the ballerina, “Here you do a pirouette followed by an arabesque.” A
pirouette is a rather complex combination of little motions that the ballerina
learned while at school. The motions have been “programmed” into her, so just
naming it is sufficient for her to know what to do. The same is so for an arabesque.
On the other hand, this does not mean the pirouette will be exactly the same at
all times: For instance, the ballerina may slightly deviate from her usual pirouette
when seeing another dancer backing up toward her.
Another classification of robot motion programming is given by different types
of robot teaching systems. A robot teaching system is a specific technique for
robot programming. The following list applies primarily to robot arm manipu-
lators; the corresponding analogues for mobile robots are simpler and present a
subset of this list:
• Manually guiding a robot through the path in real time
• Point-to-point guidance, with an automatic generation of the time pattern
• Teach pendant
• Off-line programming, procedural languages
• Automatic programming using the task database