Outils d'utilisateurs

Outils du Site


explication_du_code_ia

Ceci est une ancienne révision du document !


Le code de l'IA

Vous l'avez surement remarqué, mais le code actuel n'est presque pas commenté, ce qui le rend extrêmement difficile à comprendre. Je vais tâcher de vous expliquer dans les grandes lignes la façon dont le code a été structuré à travers les différents fichiers. Je n'entrerai pas trop dans les détails pour 2 raisons : j'en suis incapable, et certaines parties seront amenées à être modifiée pour la coupe 2014.

Dossier "graph" :

Regroupe le code pour la construction du graph de recherche et la recherche de chemin pour le robot, en prenant en compte les parties de la table qui son inaccessible. N'ayant pas regardé cette partie du code, j'ignore comment ça fonctionne exactement (mais je ferais mon possible pour compléter les points noirs).

Dossier "load" :

Idem que le graph, code non touché.

Fichiers :

  • .ia_utcoupe.py : De mémoire cette classe n'a pas été utilisée (ou tout du moins je n'y ai pas touché).
  • ia_base.py : Regroupe les méthodes de base de contrôle de l'IA, à savoir start/stop, la détection du jack, les boucles et quelques autres méthodes relatives aux actionneurs (la classe risque d'être éclatée pour en avoir une dédiée aux actionneurs).
  • action.py : Super classe de actions.py. Cette classe regroupe l'ensemble des méthodes relatives à toutes les actions. A savoir principalement les calculs de chemins, de score et de priorité.
  • actions.py : Fichier qui regroupe toutes les classes d'actions. Cette architecture là sera amenée à évoluer.
  • gamestate.py : Classe qui permet de récupérer les informations sur le déroulement du jeu, au cours de celui-ci. Elle permet de mettre à jour les différents éléments de l'IA au fil du match.
  • robot.py : Classe qui permet d'avoir l'état réel du robot au cours du match. Permet d'activer l'ensemble des organes physiques (visio, actionneurs, asserv, etc) et de savoir ce que le robot fait.
  • smartasserv.py : Ne fonctionne pas actuellement, mais permet de gérer l'asserv d'une façon “intelligente”. C'est un module qu'il faudra absolument rendre fonctionnel pour la coupe 2014 afin de passer par celui-ci et non d'interroger directement l'asserv à partir de l'IA (ce qui est actuellement fait).

gateau.py, ia_test.py et verre.py ne sont plus utilisés (gateau et verre étaient des classes séparées pour els actions sur le gateau et avec les verres durant la coupe 2013).

explication_du_code_ia.1382384544.txt.gz · Dernière modification: 2013/10/21 21:42 par tfuhrman