Outils d'utilisateurs

Outils du Site


ia:ia_base

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

ia:ia_base [2013/11/28 19:23]
qchateau effacée
— (Version actuelle)
Ligne 1: Ligne 1:
-====== Classe IaBase ====== 
- 
-===== Explications ===== 
- 
-La classe IaBase sert de base à l'IA. Concrètement, la classe se charge d'effectuer l'ensemble des contrôles nécessaires pour que l'IA puisse évoluer correctement puis elle entre dans une boucle principale. 
-Cette boucle se charge d'appeler les méthodes adéquates pour suivre l'état du robot (qui a une boucle dédiée appelée par la boucle principale), l'état du match et l'état des différents organes du robot (détection d'un adversaire, etc...). 
- 
-Donc cette classe sert à poser l'environnement minimal de l'IA afin qu'elle puisse fonctionner. 
- 
- 
-===== Propriétés ===== 
- 
-  * team : désigne la team qu’on est (passé en paramètre) 
-  * init_pos : dico des positions initiales des 4 robots (passé en paramètre) 
-  * enemy1, enemy2 : objet de type Robot 
-  * ng : graph de navigation (passé au cstr de Robot pour nos robots) 
-  * bigrobot : objet de type Robot (notre big) 
-  * minirobot : idem que bigrobot 
-  * asserv, visio, actionneurs : variables temporaires pour créer les organes du robot  
-  * hokuyo : client zerobot 
-  * gamestate : état du jeu (construit via Gamestate) 
-  * skip_recalage : ?, param 
-  * autostart : param, désigne le start auto 
-  * match_timeout : param, donne le timeout 
-  * state_match : état actuel du match 
-  * time_last_show_stats : ?, statistiques 
-  * sums : dico avec dico t et n, statistiques 
-  * t_begin_match : temps de début du match (reset) 
-  * e_jack : si ya un event jack (reset) 
- 
-===== Méthodes ===== 
- 
-Le deuxième niveau des lites à puce représente les paramètres envoyés à la méthode (ou dans de rares cas les différentes actions effectuées par la méthode). 
- 
-  * reset : permet de faire un reset (modif gamestate, actionneurs du robot et recharge l’ensemble des actions, attend le jack et match n’a pas encore commencé) 
-  * detect_ax12_big : parcours le param resp pour ajouter les aX12 détectés 
-       * resp 
-  * detect_ax12_mini : idem 
-       * resp 
-  * cb_sharp_big : parcours les sharp et active les alertes sharp dans gamestate du robot 
-       * event 
-       * service 
-       * resp 
-  * cb_jack : démarre le match 
-       * event 
-       * service 
-       * resp 
-  * cb_stop : stop l’IA (via stop) 
-  * start : démarre l’IA (loopsetup) 
-  * stop : stop le client zerobot 
-  * loopsetup : reset et premier rafraichissement (gamestate) 
-  * loop : vérifie fin du match et si ya pas un robot adverse (via gamestate us_detect et ennemies_angle_mort) et loopRobot si ya rien 
-  * loopRobot : param : robot 
-      * variables locales : actions, ng, asserv (tout de robot) 
-      * test si ya encore 1 action à réaliser, sinon reset (pour recalculer) 
-      * évitement si sharp detect qqch 
-      * recherche de la meilleur action à effectuer (partie moi) 
-  * low_prio : cherche l’action avec la prio la plus basse 
-      * actions 
-  * stats : appel affichage des stats depuis dernier passage (time_since_last_show_stats et time_last_show_stats) 
-  * print_stats : affiche les stats (via gamestate et calcul chelou se basant sur sums) 
-  * p : inverse la position sir le robot est rouge 
-  * x : inverse x si le robot est rouge 
-  * a : inverse l’angle si le robot est rouge 
-  * match_over : pour savoir si le match est terminé 
-  * get_latency : permet de connaitre la latence des services 
-      * service 
  
ia/ia_base.1385663007.txt.gz · Dernière modification: 2013/11/28 19:23 par qchateau