Designing a Reactive
Implementation
Use schema theory to design and program behaviors using object-oriented
programming principles.
Design a complete behavioral system, including coordinating and controlling
multiple concurrent behaviors.
For a given behavioral system, draw a behavioral table specifying the releasers,
perceptual schemas, and motor schemas for each behavior.
Describe the two methods for assembling and coordinating primitive behaviors
within an abstract behavior: finite state automata and scripts. Be able
to represent a sequence of behaviorswith a state diagram or with a pseudocode
script.
Overview
By this point, the sheer simplicity and elegance of reactive behaviors tend
to incite people to start designing and implementing their own robots. Kits
such as Lego Mindstorms and the Rug Warrior permit the rapid coupling
of sensors and actuators, enabling users to build reactive behaviors. However,
the new issues are how to program more intelligence into the software
and how to exploit better sensors than come with kits. Unfortunately, good
intentions in robot programming are often frustrated by two deficits. First,
designing behaviors tends to be an art, not a science. Novice roboticists often
are uncertain as to how to even start the design process, much less how to
know when they’ve got a reasonable system. The second deficit is more subtle.
Once the designer has a few well-designed and tested behaviors, how
are they integrated into a system? The Reactive movement and early work
described in Ch. 4 was characterized by robots running a very small set of
behaviors which were combined EMERGENT BEHAVIOR internally to produce an overall emergent
behavior. The key components of a reactive architecture were shown to be
the behaviors plus the mechanism for merging the output of the concurrent
behaviors.
SERIES OF BEHAVIORS However, many applications are best thought of as a series of behaviors,
each operating in a recognizable sequence. One of the first popular applications
that many roboticists looked at was picking up and disposing of an
empty soft drink can. This involved search for a can, move toward the can
when it is found, pick up the can, search for the recycle bin, move toward
the recycle bin, drop the can.39;129;66 It’s counterintuitive to think of these behaviors
as being concurrent or merged. (There is certainly the possibility of
concurrency, for example avoiding obstacles while moving to the soda can
or recycle bin.) Therefore, new techniques had to be introduced for controlling
sequences of behaviors. Most of these techniques are conceptually the
equivalent of constructing a macro behavior, where the schema structure is
used recursively to simplify programming the control program.
This chapter attempts to aid the novice designer in constructing a reactive
robot system by addressing each of these two deficits. First, an objectoriented
programming approach to designing behaviors is introduced. This
approach is based on schema theory, which was introduced in Ch. 3. The
“art” of design is presented in a flow chart following the waterfall method
of software engineering, along with a case study of a winning entry in the
1994 International Association for Unmanned Systems’ Unmanned Ground
Robotics Competition. The case study emphasizes the importance of establishing
the ecological niche of a reactive robot. Second, two techniques for
managing sequences of behaviors are introduced: finite-state automata and
scripts. As could be expected from the material presented in Ch. 3, both of
these techniques will look very similar to the Innate Releasing Mechanisms
from Tinbergen and Lorenz. Finally, the chapter shows how these techniques
were applied to entries in the “Pick Up the Trash” events of the 1994 AAAI
and 1995 IJCAI Mobile Robot Competitions. The focus of these examples is
how the logic for coordinating a sequence of behaviors is developed, represented,
and implemented. The use of schemas to “factor out” and program a
small set of generic behaviors rather than designing a large set of specialized
behaviors is emphasized throughout the chapter.
No comments:
Post a Comment