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 16:58]
trecouvr [Fichiers :]
— (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_base.py :** Regroupe les méthodes de base d'une ia (setup des connections, setup de l'état interne, etc...), cette class implémente une ia basic qui ne fait rien à part demander les informations de l'hokyo et de l'asservissement puis de mettre à jour son état interne. La class doit être surchargée.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). 
- 
-  * **ia_utcoupe.py :** L'ia d'utcoupe, c'est la classe qui surcharge IaBase, elle implémente tooutes les spécificités de l'IA de cette année, elle pourrait être renommé en IAUtcoupe20XX pour avoir une trace d'année en année. 
- 
-  * **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 représentant la connaissance de l'IA, toutes les infos récupérées et filtrées des différents drivers (hokuyo, asservissement, visio, ...). La classe possède une méthode pour mettre à jour ses informations au fil du match. 
- 
-  * **robot.py :** Classe représentant la connaissance de l'ia sur un robot. La classe fournit aussi quelques méthodes utilitaires sur les calculs de chemins. 
- 
-  * **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 ]] 
-  * [[ IA : ia_base ]] 
-  * [[ IA : robot ]] 
-  * [[ IA : gamestate ]] 
-  * [[ IA : action ]] 
-  * [[ IA : actions ]] 
explication_du_code_ia.1383494313.txt.gz · Dernière modification: 2013/11/03 16:58 par trecouvr