Page 28 - Introduction to AI Robotics
P. 28
11
Part I
To see the importance of an architecture, consider building a house or a
car. There is no “right” design for a house, although most houses share the
same components (kitchens, bathrooms, walls, floors, doors, etc.). Likewise
with designing robots, there can be multiple ways of organizing the compo-
nents, even if all the designs follow the same paradigm. This is similar to cars
designed by different manufacturers. All internal combustion engine types
of cars have the same basic components, but the cars look different (BMWs
and Jaguars look quite different than Hondas and Fords). The internal com-
bustion (IC) engine car is a paradigm (as contrasted to the paradigm of an
electric car). Within the IC engine car community, the car manufacturers each
have their own architecture. The car manufacturers may make slight mod-
ifications to the architecture for sedans, convertibles, sport-utility vehicles,
etc., to throw out unnecessary options, but each style of car is a particular
instance of the architecture. The point is: by studying representative robot
architectures and the instances where they were used for a robot application,
we can learn the different ways that the components and tools associated
with a paradigm can be used to build an artificially intelligent robot.
Since a major objective in robotics is to learn how to build them, an im-
portant skill to develop is evaluating whether or not a previously developed
architecture (or large chunks of it) will suit the current application. This skill
will save both time spent on re-inventing the wheel and avoid subtle prob-
lems that other people have encountered and solved. Evaluation requires a
set of criteria. The set that will be used in this book is adapted from Behavior-
Based Robotics: 10
MODULARITY 1. Support for modularity: does it show good software engineering princi-
ples?
NICHE TARGETABILITY 2. Niche targetability: how well does it work for the intended application?
PORTABILITY 3. Ease of portability to other domains: how well would it work for other
applications or other robots?
ROBUSTNESS 4. Robustness: where is the system vulnerable, and how does it try to re-
duce that vulnerability?
Note that niche targetability and ease of portability are often at odds with
each other. Most of the architectures described in this book were intended to
be generic, therefore emphasizing portability. The generic structures, how-
ever, often introduce undesirable computational and storage overhead, so in
practice the designer must make trade-offs.