The goal of this agent is to keep the target located at all times and move towards it. Ideally, the target should be always within the view field of the camera. If it is not, the imprecision associated to its location is computed by this agent using the information of the map. Actions of other systems are required to keep the imprecision as low as possible.
We model the imprecision as a function on the size of the angle arc,
,
from the robot's current position, where the target is thought to be
located.
When the robot is sure of the position of the target (because it is in
the current view field of the camera) we have a crisp direction and, hence,
and the imprecision is 0.
If the target's location is obtained from the Visual Memory or
computed by the Map Manager,
is computed as
the size of the interval corresponding to the 70%
-cut
of the fuzzy number representing the heading to the landmark.
When the robot is completely lost,
any direction can be correct,
, and the imprecision
level is 1. Thus, the imprecision level is computed as:
The actions required by this agent are to move towards the target
and to look towards the place where the target is assumed to be.
The bids for moving towards the target start at a value
and decrease polynomially to 0, depending on a
parameter
. The rationale for this is that when the
imprecision about the target location is low, this agent is
confident about the target's position and therefore bids high to
move towards it. As the imprecision increases, this
confidence decreases and so does the bid. Bids for looking at the
target increase from 0 to a maximum of
and then
decrease again to 0. The rationale being that when the imprecision
is low there is no urgency in looking to the target, since its
location is known with high precision. This urgency starts to
increase as the imprecision increases. When the imprecision
reaches a level in which the agent has no confidence on the target
location, it starts decreasing the bid so as to give the
opportunity to other agents to win the bid.
The equations involved are :
This agent is constantly asking the Map Manager for the location of
the target. When it receives an answer (obtaining and
), it computes the imprecision and informs
the rest of the agents about it. If the Target Tracker
is not informed about the target's location within a given time
limit, it sets the imprecision level to 1.
The behavior described above is applied when the goal is to reach a single
landmark. However, as mentioned in Section 3.4,
the goal can also be to cross the edge connecting
two landmarks (if the Rescuer has set it as the diverting
target).
In this latter case, this agent is constantly asking for
the location of the two landmarks (thus, obtaining and
for each landmark) and computing their associated imprecision.
The highest imprecision is used as
for computing the bidding
values for moving and looking actions. It is also
used to decide where the camera should look; it looks in the
direction of the landmark with highest imprecision.
Regarding the motion action, the agent bids to move in the direction of the angle
between the two landmarks.
The Target Tracker is also the responsible for deciding whether the robot is at target.
If the target is a single landmark, it considers
that the robot has reached the target if the upper bound of the -cut
of level
of the fuzzy number modeling the distance to the target is less
than
times the body size of the robot.
The parameters
and
can be tuned to modify the accuracy
of the agent.
In the case of the target being an edge (between landmarks
and
), it checks
whether the robot is on the desired side of line connecting the two
landmarks.
If the robot is on the left of the directed line through
and
, it is on the correct side, that is, the edge has been
crossed.
If it is on the right of the line,
it means that the robot has not still crossed the edge.
© 2003 Dídac Busquets