• Aucun résultat trouvé

6.2 Les trajectoires de reconfiguration

6.2.2 L’algorithme A* multi-robots

Principe

Le principe de fonctionnement de l’algorithme, très proche des méthodes de fusion de plan (Plan Merging Protocol), est de calculer des trajectoires pour chacun des slots en utilisant

6.2. Les trajectoires de reconfiguration

A*, indépendamment des autres et sans contrainte. Une fois toutes ces trajectoires initialisées, on recherche à chaque étape s’il y a des conflits entre deux trajectoires et, si tel est le cas, on essaye de supprimer ce conflit en recalculant l’une ou l’autre des trajectoires incriminées. Rappelons également que ces trajectoires correspondent à des mouvements dans le repère local de la formation et non aux trajectoires réelles des avions dans un repère terrestre.

Il ressort de cette recherche des conflits que le temps doit être pris en compte dans le calcul des trajectoires. En effet, du point de vue d’un slot, les trajectoires des autres sont des obstacles mobiles dont la position est connue à chaque instant. Pour rendre l’algorithme plus efficace, il est également intéressant de permettre aux slots de marquer des temps d’arrêt pour laisser passer un autre slot. Par extension, le fait de pouvoir quitter sa position finale pour faciliter le passage d’un slot permet de mieux équilibrer les déplacements.

1 a 3 c 2 b 4 c 3 a 4 d 1 b d3a d3c d2a 2 c BO situation initiale UAVs équipés de BD situation finale

Fig. 6.2 – Exemple de configuration initiale et finale pour une reconfiguration.

Prenons l’exemple de la figure 6.2, correspondant au cas 1 de la figure 5.7. L’avion 3 a une longue distance à parcourir pour rejoindre la position a. Supposons qu’il ne peut pas passer entre les avions 1 et 2 à cause des distances de sécurité. Il se retrouve obligé de contourner les autres avions, ce qui rallonge sa trajectoire et affaiblit potentiellement la formation puisqu’il est supposé assurer le brouillage offensif. Pour être plus réactif, il faudrait que 1 ou 2 s’écarte pour le laisser passer. Cela n’est pas possible en ne prenant en compte que la distance, puisque les avions déjà sur leur position finale ne peuvent pas la quitter. Nous avons donc ajouté une dimension, correspondant au temps, à l’espace de recherche.

Le graphe de recherche du A* va donc se baser sur un maillage régulier avec trois dimensions d’espace et une dimension de temps, cette dernière n’étant bien sûr explorée que dans une seule direction. La figure 6.3 illustre cette structure. On remarque notamment la possibilité de rester sur place. La position finale est donc déterminée par une position et un temps (ou une étape de la trajectoire) minimum avant lequel le slot n’est pas considéré comme ayant atteint la position finale. Il y a plusieurs façons de choisir ce temps final que nous détaillons plus loin.

Cette dimension de temps pose inévitablement la question de la fonction de coût et en particulier de la pondération entre le coût d’un déplacement et le coût d’un « non-déplacement ». Notre objectif étant de favoriser les déplacements des avions, tout en leur permettant le cas

Chapitre 6. Planification et contrôle des déplacements au sein d’une formation z y x t t+1

Fig. 6.3 – Le maillage régulier du A*, avec trois dimensions d’espace et une dimension de temps. À partir d’un nœud à l’instant t, on peut accéder à 11 nœuds à l’instant t + 1.

échéant de rester sur place, le coût lié à l’action de ne pas bouger est plus important que celui d’un déplacement et a été arbitrairement fixé au double.

Initialisation

La phase d’initialisation consiste à calculer des trajectoires directes pour les avions sans tenir compte des autres. La seule contrainte est de ne pas sortir du corridor, c’est-à-dire de ne pas s’éloigner du centre de plus de la distance dcor. L’étape d’arrivée est fixée à t0, l’instant de

départ. Cela signifie que la recherche avec le A* est uniquement spatiale et que le résultat est le plus court chemin entre le slot de départ et le slot d’arrivée.

Itération

A chaque étape, on teste les positions des slots pour détecter d’éventuelles collisions, c’est- à-dire si deux slots passent en-deçà de la distance minimale ou au delà de la distance maximale. Ainsi, s’il y a une collision à l’instant ti entre deux slots, la trajectoire de l’un des deux est

recalculée. Une première tentative est faite pour la trajectoire la plus courte, puis, en cas d’échec, avec l’autre. L’objectif est d’équilibrer les longueurs des trajectoires et donc potentiellement la consommation des avions, même s’il n’y a pas de garantie pour ce dernier point. Dans tous les cas, entre t0 et ti, les trajectoires des autres avions sont prises en compte pour ne pas créer de

nouveaux conflits avant tiet le A* est utilisé dans l’espace spatio-temporelles. Ainsi l’étape finale

tf doit être choisie entre ti et tmax, le temps d’arrivée de la plus longue trajectoire. Au-delà, les

contraintes ne sont plus prises en compte et le slot se dirige vers sa position finale.

Une fois que tous les conflits à l’instant ti ont été supprimés, on passe à l’étape suivante. Il

est possible que l’algorithme ne puisse pas aboutir. Cela se produit quand un conflit n’a pas pu être éliminé en recalculant l’une ou l’autre des trajectoires incriminées, ou si la recherche dépasse certaines limites : nombre de nœuds explorés, nombre d’étape de reconfiguration ou temps de

6.2. Les trajectoires de reconfiguration

calcul maximal. Dans ces cas, la configuration de la formation reste inchangée, et une nouvelle planification est réalisée à l’itération suivante, avec de nouvelles conditions, si cela est nécessaire. La figure 6.4 résume la procédure.