Thursday 14 February 2013

Sensor Fusion Effects (SFX)


Sensor Fusion Effects (SFX)

Another managerial style of architecture is the Sensor Fusion Effects (SFX)
architecture, which started out as an extension to AuRA by Murphy to incorporate
pathways for sensing. The extension was to add modules to specify
how sensing, including sensor fusion and handling sensor failures, are
handled. Over time, SFX has reorganized both the reactive and deliberative
components of AuRA although the two architectures remain philosophically
identical. SFX is an example of how robustness can be built into an architecture.
SFX has been used on eight robots for indoor office navigation, outdoor
road following, and urban search and rescue.
Fig. 7.4 shows a neurophysiological model of sensing based on studies
with sensing in cats. The model suggests that sensory processing is initially
local to each sensor, and may have its own sensor-dependent receptive field.
This is consistent with reactive robot behaviors, and at least with the motivation
for sensor fission. Sensor processing then appears to branch, with
duplicates going to the superior colliculus (a mid-brain structure responsible
formotor behaviors) and the other to the cerebral cortex (responsible for more
cognitive functions). The branching allows the same sensor stream to be
used simultaneously in multiple ways. In SFX, the equivalent superior colliculus
functions are implemented in the reactive layer, and cortical activities
in the deliberative layer. Branching of perception is done through the use
of whiteboards, common in numerous AI systems as global cognitive data
structures.
The deliberative component is divided into modules or object classes, each
of which is actually a software agent, a self-contained software program
which specializes in some area of competence and can interact with other


































agents. The dominant agent is called the Mission Planner agent. This agent
serves to interact with the human and specify the mission constraints to the
other agents in the deliberative layer. The agents in the deliberative layer
attempt to find (and maintain) a set of behaviors which can accomplish the
mission while meeting the constraints. The software agents in each deliberative
layer are peers; just as with behaviors, they operate independently of
each other. But the nature of deliberation suggests that they have to negotiate
with other peers to find a satisfactory set of behaviors to accomplish the
current task. One way to think of this partitioning is that the Mission Planner
acts as a president or CEO in a large company, giving directions, while
the behaviors are the workers. The agents in the lower deliberative layer are
middle-management, planning how to organize the workers’ assignments,
monitoring productivity, and adapting assignments if necessary.
Within the deliberative layer, the TaskManager, Sensing Manager, and Effector
Manager serve as the resource managers. The resource manager functions
are divided across managers because the types of knowledge and algorithms
are different for managing sensors and actions. The managers use AI
planning, scheduling, and problem solving techniques to determine the best
allocation of effector and sensing resources given the set of motor and perceptual
schemas for a behavior. They are not allowed to relax any constraints
specified by the Mission Planner, so they essentially know what the robot is
supposed to do, but only the Mission Planner knows why. The advantage of
this middle-management layer is that it simplifies the AI techniques needed
for behavioral management.
The Sensing Manager in SFX is particularly noteworthy because of its explicit
commitment to performance monitoring and problem solving. It has
two software agents for monitoring both the task performance and whether
the habitat has changed (if so, a performance failure is likely to occur). If
a behavior fails or a perceptual schema detects that sensor values are not
consistent or reasonable, the Sensing Manager is alerted. It can then identify
alternative perceptual schemas, or even behaviors, to replace the problematic
behavior immediately. Imagine a mobile robot in a convoy of robots hauling
food to refugees. If the robot had a glitch in a sensor, it shouldn’t suddenly
just stop and think about the problem. Instead, it should immediately switch
to a back-up plan or even begin to smoothly slow down while it identifies
a back-up plan. Otherwise, the whole convoy would stop, there might be
wrecks, etc. Then working in a background mode, the Sensing Manager can
attempt to diagnose the cause of the problem and correct it. In one demonstration,
a robot using SFX resorted to shaking its camera to shake off a T-































Shirt covering the lens, as shown in Fig. 7.5.
The lower deliberative layer also contains a Cartographer agent and performance
monitoring agents. The Cartographer is responsible for map making
and path planning, while the performance agents attempt to observe the
progress of the robot toward its goals and notice when the robot is unsuccessful,
using work by Hughes.71 An example is when a robot gets stuck in
the mud on a dirt road. The follow-road behavior is executing correctly; it is
seeing the road and giving actuator commands correctly. The shaft encoders
show that the wheels are turning. So some other process with more selfawareness
than a reactive behavior is needed to notice that the robot isn’t
moving. In this case, if the robot is moving, the vision should change over
time, not remain the same.
STRATEGIC TACTICAL BEHAVIORS

The reactive component is also divided into two layers. In this case, the
layers reflect strategic versus  tactical behaviors, defined below. As noted ear-
lier, just about every hybrid architecture has its own method of combining
behaviors in the reactive portion. AuRA uses potential field combination,
whereas SFX uses a filtering method. The SFX philosophy is similar to subsumption:
there are some fundamental behaviors that should override other
behaviors. The difference is that in SFX, it is the “lowest” tactical behaviors
which do the subsuming, not the “higher” strategic ones.
The idea of a tactical behavior is best seen by example. Recall the case
of obstacle avoidance with potential fields. The use of a repulsive field was
simple, but could lead to a global minima, where the repulsion could cancel
out any other motive fields such as move-to-goal. The NaTs132 solution
was to use the vector created by that other field as an input to the avoidobstacle
field. That vector would lead to a tangential field in addition to the
repulsive field, resulting in an avoid-obstacle field which repulses the robot
towards the direction it was heading in to begin with. In this case, the moveto-
goal field was offering a strategic command; like a general, it was telling
the troops to move ahead. But the avoid-obstacle field was like an infantry
man; it was trying to go in the direction given by the general but not hit
anything. The avoid-obstacle behavior filters the strategic direction (given
by move-to-goal) with the immediate tactical situation (the presence of an
obstacle).

Another example of a tactical behavior in SFX is speed-control. Speedcontrol
in AuRA and many architectures is a by-product of the mechanism
used for combining behaviors. The emergent speed in AuRA is the magnitude
of the vector summed from all the active behaviors. In SFX, speedcontrol
is considered a separate behavior. The safe velocity of a robot depends
on many influences. If the robot cannot turn in place (in effect, turns
like a car), it will need to be operating at a slow speed to make the turn without
overshooting. Likewise, it may need to go slower as it goes up or down
hills. These influences are derived from sensors, and the action is a template
(the robot always slows down on hills), so speed control is a legitimate behavior.
But the other behaviors should have some influence on the speed as
well. So these other, strategic behaviors contribute a strategic speed to the
speed-control behavior. If the strategic speed is less than the safe speed computed
from tactical influences, then the output speed is the strategic speed.
But if the tactical safe speed is lower, the output speed to the actuator is the
tactical speed. Tactical behaviors serve as filters on strategic commands to
















































No comments:

Post a Comment