Page 205 - Designing Autonomous Mobile Robots : Inside the Mindo f an Intellegent Machine
P. 205
Chapter 12
interpretation. The arbitrator must keep track of the agents running, and assure that
they are terminated if no longer appropriate.
Since agents are essentially tasks in a multitasking environment, it is essential to as-
sure that they receive machine resources when needed. The most efficient way to
assure this is to activate an agent’s thread whenever new data is available from its
sensor. If the data processing routine acts on a large amount of data at a time, it may
be prudent to release the thread periodically to allow other tasks to run.
When an agent reports a potential correction to the arbitrator, the arbitrator must
decide whether to accept it, decline it, or suspend it. This decision will be based on
the image Q (quality) of the data and its believability Q. If the correction is suspended,
then the arbitrator may wait some short period for better data from another agent
before deciding to partially accept the marginal correction.
The arbitrator will accept a correction proportional to its Q. For example, if a lateral
correction of 0.1 meters is implied, and the fix Q is .25, the arbitrator will make a cor-
rection to the lateral position estimate by .025 meters. This will be translated into a
combination of x and y corrections.
Who to believe
Since agents can interfere with each other, it is up to the arbitrator to assure the
corrections that are most needed are accepted. Here we have another use for the ro-
bot’s uncertainty estimate. For example, it is quite possible for a robot to have an
excellent longitudinal estimate and an abysmal lateral estimate or vice-versa. The
uncertainty for these axes will make it possible to determine that this situation exists. If
one agent is allowed to repeatedly correct one axis, then it may interfere with a
correction of the other axis.
Take, for instance, a robot approaching a wall with sonar. Assume that there are two
agents active; one agent is looking for the wall ahead in hopes of providing a longi-
tudinal correction, while the other agent is collecting data from a wall parallel to the
robot’s path, trying to obtain lateral and heading corrections. The first agent can offer
a correction every time its forward sonar transducers measure the wall ahead, but the
second agent requires the vehicle to move several feet collecting sonar ranges nor-
mal to the wall. If the first agent is allowed to continually update the longitudinal
estimate, it may repeatedly invalidate the data being collected by the second agent.
188

