wiki:TrajectoryManager

Cette partie du projet comporte deux grands axes :

'1.gestion des ordres de trajectoire

'2.triangulation contrainte de delaunay en vue du pathfinding

1.gestion des ordres de trajectoire

implementation de la class Trajectory Manager qui a pour rôle de gérer les trajectoires qui sont retournées par le pathfinding

En effet les trajectoires sont renvoyées sous forme d'une liste de point (Waypoint) pour accomplir la

trajectoire le robot doit atteindre les points dans leur ordre d'apparition dans la liste et cela ne présente pas de difficultés majeur.

Ce qui a par contre a constitué une réelle difficulté c'est que le cahier des charges spécifiait que la

classe TrajectoryManager devait être capable de recevoir plusieurs trajectoires successives les garder en mémoire, et en cas d'arrêt d'urgence (ex: pour éviter une collision avec le robot adverse) être capable, selon le contexte, soit de sauvegarder la liste de trajectoire pour reprendre la progression ou de réinitialiser cette liste pour reprendre une nouvelle trajectoire.

2.riangulation contrainte de delaunay en vue du pathfinding

Pour la deuxième partie du PPE concernant l'IA il a été convenue de lancer l'implémentation

d'algorithmes permettant la navigation du robot dans une aire de jeu dont la surface pourra présenter des zones interdites (obstacles, fossé...) comme ça à été le cas lors de la coupe robotique E=M6 en 2005.

voici les trois axes de cette partie:

• implémenter une triangulation de Delaunay contrainte sur les coins des rectangles de l'air de jeu (ce qui permettra d'éliminer les zones interdites).

• récupérer les barycentres des tringles obtenus ce qui nous fournira un ensemble de points correctement disposés pour un pathfinding optimisé. => perspective (à faire "rien de mechant")

• chercher une trajectoire en passant par les points récupérés précédemment et en utilisant un algorithme A* (On choisie A* ca c'est le plus performant quand la taille de l'aire à traiter et donc du graph lui correspondant devient trop grande).=> perspective ( à faire "interessant")

Triangulation

une triangulation consiste à mailler un semis avec des triangles ayant pour sommets les points de ce semis. On dit qu’un ensemble de triangles constitue une triangulation de la surface qu’ils recouvrent :

• Si l’intérieur des deux triangles est vide quels que soient les deux triangles (ne contient aucun point du semis)

• Si l’intersection de deux triangles est soit vide, soit un coté, soit un sommet.

la triangulation contrainte de Delaunay est une variante de la triangulation basique a laquelle on ajoute des contraintes.

Attachments