Target Tracker

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, $\epsilon_{\theta}$, 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, $\epsilon_{\theta}=0$ and the imprecision is 0. If the target's location is obtained from the Visual Memory or computed by the Map Manager, $\epsilon_{\theta}$ is computed as the size of the interval corresponding to the 70% $\alpha$-cut of the fuzzy number representing the heading to the landmark. When the robot is completely lost, any direction can be correct, $\epsilon_{\theta}=2\pi$, and the imprecision level is 1. Thus, the imprecision level is computed as:

\begin{displaymath}
I_{a}=\left(\frac{\epsilon_{\theta}}{2\pi}\right)^{\beta}
\end{displaymath} (6)

where $\beta$ gives a particular increasing shape to the imprecision function. If $\beta$ is much smaller than 1, the imprecision increases quickly as the imprecision in angle grows. For $\beta$ values well over 1, imprecision will grow very slowly until the error angle gets very big.

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 $\kappa_{1}$ $(\leq 1)$ and decrease polynomially to 0, depending on a parameter $\alpha$. 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 $\kappa_{2}$ $(\leq 1)$ 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 :

$\displaystyle bid(move(\theta)) = \kappa_{1}(1 - I_{a}^{1/\alpha})$     (7)
$\displaystyle bid(look(\theta)) = \kappa_{2}\sin(\pi I_{a})$     (8)

where $\alpha$ controls how rapidly the moving bids decrease, and $\theta$ is the crisp angle where the target is thought to be. The bidding functions are shown in Figure 4.5.

This agent is constantly asking the Map Manager for the location of the target. When it receives an answer (obtaining $\theta$ and $\epsilon_{\theta}$), 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 $\theta$ and $\epsilon_{\theta}$ for each landmark) and computing their associated imprecision. The highest imprecision is used as $I_a$ 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 $\alpha$-cut of level $\phi$ of the fuzzy number modeling the distance to the target is less than $\delta$ times the body size of the robot. The parameters $\phi$ and $\delta$ can be tuned to modify the accuracy of the agent. In the case of the target being an edge (between landmarks $L_l$ and $L_r$), 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 $L_l$ and $L_r$, 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.

Figure 4.5: Target Tracker's bidding functions
\includegraphics[height=3cm]{figures/bidsTT}

© 2003 Dídac Busquets