Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
explication_du_code_ia [2013/11/03 11:31] tfuhrman [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_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 ===== | ||
- | |||
- | [[ main ]] | ||