Page 154 - Introduction to AI Robotics
P. 154
137
4.4 Potential Fields Methodologies
seen by revisiting the example behaviors used to describe the subsumption
architecture. In the case of Level 0 in subsumption, if there are no obstacles
within range, the robot feels no repulsive force and is motionless. If an obsta-
cle comes within range and is detected by more than one sonar, each of the
sonar readings create a vector, pointing the robot in the opposite direction.
In the subsumption example, it could be imagined that these vectors were
summed in the RUNAWAY module as shown in Fig. 4.20. In a potential fields
system, each sonar reading would release an instance of the RUNAWAYpf be-
havior (the “pf” will be used to make it clear which runaway is being referred
to). The RUNAWAYpf behavior uses a repulsive potential field. The output
vectors would then be summed, and then the resultant vector would be used
to guide the turn and forward motors.
while (robot==ON)
{
vector.magnitude=vector.direction=0;
for (i=0; i<=numberSonars; i++) {
reading=readSonar(); //perceptual schema
currentVector=runaway(reading); // motor schema
vector = vectorSum(vector, currentVector);
}
turn(vector.direction);
forward(vector.magnitude*MAX-VELOCITY);
}
The COLLIDE module in subsumption does not map over to a behavior
in a potential fields methodology. Recall that the purpose of COLLIDE is
to stop the robot if it touches an obstacle; in effect, if the RUNAWAY behav-
ior has failed. This fits the definition of a behavior: it has a sensory input
(range to obstacle = 0) and a recognizable pattern of motor activity (stop).
But it doesn’t produce a potential field, unless a uniform field of vectors
with 0 magnitude is permissible. If it were treated as a behavior, the vec-
tor it contributes to would be summed with any other vectors contributed
by other behaviors. But a vector with 0 magnitude is the identity function
for vector addition, so a COLLISION vector would have no impact. Instead,
collisions are often treated as “panic” situations, triggering an emergency
response outside the potential field framework.
Some of the subtle differences between potential fields and subsumption
appear when the case of Level 2 is considered. The same functionality can
be accomplished by adding only a single instance of the WANDER behavior,
as shown in Fig. 4.21. As before, the behavior generates a new direction