Outils d'utilisateurs

Outils du Site


explication_du_code_ia

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

explication_du_code_ia [2013/11/03 11:35]
tfuhrman [Code en détail]
— (Version actuelle)
Ligne 1: Ligne 1:
-====== 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). 
- 
- 
-===== Code en détail ===== 
- 
-[[ IA : main ]] 
  
explication_du_code_ia.1383474944.txt.gz · Dernière modification: 2013/11/03 11:35 par tfuhrman