====== Classe Robot ====== ===== Explications ===== La classe robot s'occupe de l'ensemble de la gestion liée au robot lui-même. C'est à dire que la classe va gérer les appels aux actionneurs/capteurs, gérer le chemin du robot, les actions, etc... ===== Propriétés ===== * init_actions : liste des actions * init_pos : param p, tuple de position (x,y) * ng : param ng, graphe de navigation * asserv : lien vers l’asserv * path_was_intersected : booléan pour savoir si le chemin calcul du robot est coupé * trajectoire : liste de coordonnées pour la trajectoire * sharps : liste des sharp * sharps_time : heure où les sharp ont detectés qqch * stopped_by_sharps : pour savoir si le robot a été stoppé à cause des sharp * actions (dans set_actions) * visio * extras * actionneurs * pos (dans reset) * a (dans reset) * time_pos_updated (dans reset) * in_action (dans reset) * path (dans reset), liste * target_action (dans reset) * current_goal (dans set_new_path) ===== 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). * set_sharp_alert : positionne le temps dans sharp_time * position (du sharp dans la liste) * process_sharps : check dernière alerte sharp et si temps > seuil, on repart (modif des drapeaux) * set_actions : copy la liste des actions dans actions * actions * set_asserv : link le client asserv * asserv * set_visio : link le client visio * visio * set_extras : link les clients extras (ici la téléporation du simu) * extras * set_actionneurs : link les actionneurs * actionneurs * reset : fait un reset du robot * reset_target_action : supprime l’action cible * set_new_path : positionne un nouveau chemin * path * set_target_action : postionne une nouvelle action * action * path * reach_next_checkpoint : ? * get_next_checkpoint : à voir avec path * is_arrive : booléan pour savoir si on est arrivé * is_new_action : booléan pour savoir si nouvelle action * action * update_pos : update de la position * p * is_path_intersected : check si un segment est coupé par un autre * poly