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
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
set_asserv : link le client asserv
set_visio : link le client visio
set_extras : link les clients extras (ici la téléporation du simu)
set_actionneurs : link les actionneurs
reset : fait un reset du robot
reset_target_action : supprime l’action cible
set_new_path : positionne un nouveau chemin
set_target_action : postionne une nouvelle action
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
update_pos : update de la position
is_path_intersected : check si un segment est coupé par un autre