Outils d'utilisateurs

Outils du Site


informatique:ia:explication-code

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

informatique:ia:explication-code [2014/06/20 22:27]
bacheced [Fichiers :]
informatique:ia:explication-code [2014/06/20 23:00] (Version actuelle)
bacheced [Dossier : /ia/event/goals/viso]
Ligne 6: Ligne 6:
  
  
-===== Dossier "ia/event/navigation=====+===== Dossier "/ia" ===== 
 +Contient tout le code source de l'ia 
 +  *  main.py Permet se lancer directement l'ia ou peut être lancé par le simulateur pour démarrer l'ia 
 +  *  constantes.py Contient toutes les constantes utiles à l'ia
  
-Ce code n'a pratiquement pas évoluée depuis l'année 2012.+ 
 +===== Dossier : "/ia/communication" ===== 
 +Pour discuter avec les tourelles et le petit robot 
 +  *  - commSimulateur.py Uniquement destiné à simuler la communication dans le cas où l'ia est démarré par le simulateur 
 +  *  - parser_c.py Parse les ordres directement depuis le fichier de define des arduino. 
 +  *  - communicationGlobale.py Gérer toute la communication, son but est d'assurer la bonne réception des tous les messages 
 +  *  - conversion.py Effectue la conversion des ordres des types usuels vers le binaire 
 +  *  - serial_comm.py Gère un port de communication série 
 +  *  - metaData.py Gère toutes les autres données, tel que le temps, la couleur de départ 
 +  *  - pullData.py Maintient les données ci dessus à jour avec les données réel. 
 +  *  - script_*.xml Contient le script de départ d'un robot 
 + 
 +===== Dossier : "/ia/data" ===== 
 +Stocke toutes les données relatives aux robots et aux tourelles. 
 +  *  - data.py Classe principale, elle instancie toutes les autres 
 +  *  - ourBot.py et enemyBot.py stocke les données des robots 
 +  *  - tourelle.py gère les tourelles 
 + 
 + 
 +===== Dossier : "/ia/event" ===== 
 +Gère les évènements et apport une réponse au besoin. 
 + - eventManager.py Gère les évènements et notamment l'envoi des actions au bon moment. 
 + - collision.py Détecte un collision sur le chemin prévu 
 + - timeManager.py Gère le temps de jeu 
 + - subProcessCommunicate.py Gère la communication avec les subprocess de choix d'objectif (un sub par robot) 
 + 
 +===== Dossier : "/ia/event/goals" ===== 
 +  *  - subProcessManager.py Gère le démarrage d'un subprocess ainsi que sa communication avec son père 
 +  *  - goalsChoice.py Choisi les objectifs à effectuer en fonction des données 
 +  *  - goalsLibrary.py Contient des fonctions de base pour le choix et la gestion des objectifs 
 +  *  - goalsManager.py Charge et gère les objectifs disponibles 
 +  *  - goal.py Représente un objectif 
 +  *  - elemGoal.py Représente un des points d'entrée d'un objectif ainsi que toutes données associé à cette entrée 
 +  *  - goals.xml Contient la liste des objectifs et de leurs points d'entrée 
 +  *  - elemScripts.xml Contient la liste des tous les enchainements d'actions possible. 
 + 
 +===== Dossier : "/ia/event/goals/viso" ===== 
 +Permet à la camera embarqué dans le robot de renvoyer la position des triangles ainsi que leur couleur 
 +  *  - visio.py Interface vers le lib de viso: /superviso 
 + 
 +===== Dossier "ia/event/goals/navigation" : ===== 
 + 
 +Ce code n'a pratiquement pas évoluée depuis l'année 2012. On a rencontré quelques difficultés avec celui-ci cette année 2014, mais globalement ça fonctionne très bien.
 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. Le graph possède une fonction de mise à jour permettant de prendre en compte le déplacement des obstacles. 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. Le graph possède une fonction de mise à jour permettant de prendre en compte le déplacement des obstacles.
 Deux stratégies sont fournies pour la construction du graph : un découpage par tiles et un découpage par polygones convexes (polygones qui n'ont pas d'angle rentrant). Deux stratégies sont fournies pour la construction du graph : un découpage par tiles et un découpage par polygones convexes (polygones qui n'ont pas d'angle rentrant).
Ligne 33: Ligne 78:
  
  
-===== Dossier : ===== 
- 
- 
-===== Code en détail ===== 
- 
-  * [[ .:Main ]] 
-  * [[ .:IA_base ]] 
-  * [[ .:Robot ]] 
-  * [[ .:Gamestate ]] 
-  * [[ .:Action ]] 
-  * [[ .:Actions ]] 
informatique/ia/explication-code.1403296040.txt.gz · Dernière modification: 2014/06/20 22:27 par bacheced