• Aucun résultat trouvé

Chapitre IV : Validation du modèle proposé :

2. Application du modèle proposé à la navigation

2.5 Comportement d'évitement inter-agents

Concevoir un agent capable de prendre en compte un environnement dynamique et continu, et d'interagir avec d'autres agents, constitue un exercice délicat. C'est pourquoi il s'avère nécessaire de faire un certain nombre d'hypothèses. Rappelons que nous avons choisi de dupliquer les comportements et que, par conséquent, à une instance de comportement est associée un unique agent à éviter (de même qu'une instance de comportement est associée à un unique obstacle statique). Nous avons également fait l'hypothèse que les agents en interaction se trouvent sur la même voie. Ces deux hypothèses permettent de limiter le nombre d'interactions entre agents et de les caractériser simplement.

Chapitre IV : Validation du modèle proposé : application à la navigation autonome. 110

Le comportement que nous avons développé possède une granularité légèrement plus importante que les comportements déjà présentés car il gère un aspect complexe de la navigation. Afin de prendre en compte les différentes alternatives auxquelles sont confrontés les agents en interaction, un automate est mis en oeuvre. En outre, cet automate permet également de modéliser l'aspect séquentiel de certaines interactions.

2.5.1. Diagramme d'état du comportement d'évitement inter-agents

La figure IV.13 représente l'automate modélisant le comportement d'évitement inter-agents (Par souci de simplicité, une partie des transitions a été omise). Lors de l'initialisation du comportement les transitions C0 à C3 permettent de sélectionner si l'agent évité doit être suivi ou doublé, s'il convient de ne rien faire ou s'il s'agit d'un croisement. L'action de doubler comporte 3 étapes qui permettent à l'agent de déboîter en accélérant puis de maintenir une vitesse rapide et enfin, lorsque l'action est terminée, de reprendre sa vitesse de préférence.

Figure IV.13 : Diagramme d'états du comportement d'évitement inter-agents.

Le comportement étant décrit par un automate à état fini, il convient de définir les options et veto proposés en fonction de l'état dans lequel se trouve l'automate.

2.5.2. Options et veto proposés par l'évitement inter-agents

La figure IV.14 présente les différentes possibilités pour éviter un obstacle mobile. Pour prendre en compte l'incertitude relative à la position future de l'agent évité, il est nécessaire de définir une zone de sécurité dont le rayon est défini par la vitesse maximale de cet agent.

Croiser Suivre Doubler C5 Ne rienfaire C4

C0 C3 Légende :

C0 : Obstacle devant, même sens et vitesse préférée inférieure à la vitesse de l'agent

C1 : Obstacle devant, même sens et vitesse préférée supérieure à la vitesse de l'agent évité

C2 : Obstacle derrière.

C3 : Obstacle devant et sens différent C4 : Obstacle derrière.

C5 : Vitesse courante = Vitesse préférée C11 : Déboîté ou obstacle derrière

C12 : Obstacle derrière et distance à l'obstacle > 200 l Etat initial C1 C 2 Déboîter et accélérer Continuer à vitesse rapide Reprendre la vitesse normale C11 C12 C5 C1

Chapitre IV : Validation du modèle proposé : application à la navigation autonome. 111

Figure IV.14 : Évitement par « forces de répulsion »

Dans un premier temps nous avions envisagé de ne pas tenir compte de l'état de l'automate et de proposer toutes les options quel que soit son état. Nous avons abandonné cette idée car cela conduisait à prendre en compte beaucoup de propositions inutiles (en particulier lorsque beaucoup d'autres agents étaient pris en compte par le modèle décisionnel). La formule IV.7 liste les différentes options proposées en fonction de l'état de l'automate de la figure IV.13.

Etat "croiser" : o11=T ,* o12=T ' ,* Etat "suivre" : o21=AA' ,VA 't Etat "déboiter" : o31=T , VAmaxo32=T ' ,VAmax Etat "vite" : o41=* ,VAmax avec :

T et T ' l'angle entre les tangentes à l'obstacle et l'axe des abcisses

AA ' l'angle entre l'axe  AA '  et l'axe des abcisses

VA't la vitesse de l'agent A' à l'instant t

VAmax la vitesse maximale de l'agent A (formule IV.7)

Le veto éventuellement déposé par ce comportement est similaire à celui de l'évitement statique (cf. formule IV.4) et permet d'éviter la collision à l'instant suivant de la simulation. L'unique différence étant qu'il faille également tenir compte de l'incertitude relative à la position future de l'agent évité. Pour prendre en compte cette incertitude, la zone prise en compte est une zone circulaire dont le rayon correspond à la vitesse maximale de l'agent.

Les veto et options relatifs à l'évitement inter-agents ayant été décrites, il reste à définir la la manière dont ce comportement exprime ses préférences.

2.5.3. Vote du comportement d'évitement d'agent

De même que pour les options proposées, le vote du comportement dépend de l'état dans lequel se trouve l'automate. Les différents critères de classement relatifs à chacun des états du comportement sont résumés par la formule IV.8. Comme pour l'évitement d'obstacle statique, nous proposons 2 alternatives pour le vote relatif à l'état « croiser » du comportement, nous verrons les avantages de chaque solution un peu plus loin. La fonction d'évaluation permettant de « déboîter » maximise le décalage et la vitesse. Pendant que l'agent double un autre agent la

T T' Évitement à droite Évi tem ent à gau che Agent A' à éviter Zone de sécurité A' A Su ivre VA'max Agent A considéré

Chapitre IV : Validation du modèle proposé : application à la navigation autonome. 112

vitesse est maximisée. Enfin, lorsque l'agent a terminé de doubler, le comportement favorise les options proches de la vitesse favorite. Les autres états n'évaluent pas les options.

Etat "croiser" :

∣dAt1oi−dA't∣∣dAt1oj−dA't∣⇒oioj

ou

rangoi:

{

=1 si oi ,1∉]T , T ' [ >1 sinon

Etat "déboiter" :

∣dAt1oi−dA't∣oi ,1∣dAt1oj−dA't∣oj ,1⇒ oioj Etat "vite" :

oi ,1oj ,1⇒ oioj

Etat "Revenir à la vitesse normale" ∣oi ,1−VApref∣∣oj ,1−VApref∣⇒ oioj

avec :

rangoi le rang de l'option i dans le pré-ordre des préférences du comportement

dAt1ok : l'ordonnée curviligne de l'agent à l'instant t1 si l'option okest sélectionnée

dA 't : l'ordonnée curviligne de l'agent A ' à l'instant t

VApref la vitesse préférée de l'agent A

T et T' l'angle entre les tangentes à l'obstacle et l'axe des abcisses (formule IV.8)

A ce stade du développement, l'agent est capable de naviguer dans un environnement dynamique si la densité n'est pas trop importante. Nous reviendrons sur ce point lors de l'évaluation du modèle. Avant de clore cette parie destinée à la mise en oeuvre du modèle, il reste à définir le comportement aléatoire qui sera utilisé pour évaluer la robustesse du modèle.