Agents code schemas

In this section we present the code schemas for the agents Map Manager, Target Tracker, Risk Manager and Rescuer, and also for the Pilot system. The schemas have some parameters, such as the target that has to be reached, its initial heading, and some other particular parameters for each agent (bidding function parameters, thresholds...). These particular parameters define the behavior of the agents, and thereby, the overall behavior of the robot. Varying the values of the parameters, we may obtain better or worst navigation performances, and we may also adjust the conservativeness or riskiness of the robot. Thus, appropriately tuning these parameters is very important. In the next chapter we explore the use of learning techniques in order to do such parameter tuning.

When describing the algorithm schemas, the speech acts will appear as expressions in a KQML-style language [26]. Agents refer to themselves by the special symbol ``self''. When referring to all the agents of the society, they use the symbol ``all''.

Agents have a hybrid architecture. We will use the following construct to model the reactive component of agents:

On condition do action

Whenever the condition holds (typically an illocution arriving to the agent), the action is executed immediately. The illocutions used by the agents are the following: $ask(asking\_agent,
asked\_agent, question)$ and $inform(informing\_agent, informed\_agent, information)$.

$\textstyle \parbox{10cm}{
\begin{tabbing}
\hspace{0.5cm}\=\hspace{0.4cm}\=\h...
...
\>\textbf{End reactive}  \\
\par
\textbf{End system}
\par
\end{tabbing}
}$

System NavigationSystem( $\alpha,\beta,\kappa_1,\kappa_2,\phi,\delta,\gamma_A,
\gamma_B, \gamma_r,\overline{I}_{a},\omega$) =

$\textstyle \parbox{10cm}{
\begin{tabbing}
\hspace{0.5cm}\=\hspace{0.4cm}\=\h...
...\\
\par
\>\textbf{End reactive} \\
\par
\textbf{End agent}
\end{tabbing}
}$

$\textstyle \parbox{10cm}{
\begin{tabbing}
\hspace{0.5cm}\=\hspace{0.4cm}\=\h...
...\textbf{then}
inform(self,all,at-target(target))  \\
\par
\end{tabbing}
}$

$\textstyle \parbox{10cm}{
\begin{tabbing}
\hspace{0.5cm}\=\hspace{0.4cm}\=\h...
...\
\par
\>\textbf{End reactive} \\
\textbf{End agent}
\par
\end{tabbing}
}$

$\textstyle \parbox{10cm}{
\begin{tabbing}
\hspace{0.5cm}\=\hspace{0.4cm}\=\h...
...r
\>\textbf{End reactive}  \\
\par
\textbf{End agent}
\par
\end{tabbing}
}$







$\textstyle \parbox{10cm}{
\begin{tabbing}
\hspace{0.5cm}\=\hspace{0.4cm}\=\h...
...ar
\>\textbf{End reactive}  \\
\par
\textbf{End agent}
\par
\end{tabbing}
}$

End system

© 2003 Dídac Busquets