Eirbot1A-2020
Référence de la classe Navigation

Contient les méthodes permettant de faire fonctionner correctement l'astar. Plus de détails...

#include <navigation.hpp>

Graphe de collaboration de Navigation:

Fonctions membres publiques

 Navigation (Node node)
 Permet d'initialiser la classe Navigation à un point x y. Plus de détails...
 
std::vector< NodeAstar (Navigation src, Navigation dest, std::vector< obstacle > list_obstacles)
 Fonction principale de la classe, permet d'effecteur une recherche de chemin entre deux points. Plus de détails...
 
std::vector< NodeMakePath (std::array< std::array< Node, Y_MAX >, X_MAX > map, Navigation dest)
 Permet de transformer une grille représentant la table en un chemin Cette fonction est utilisée dans l'Astar, l'Astar commence par remplir une grille représentant la table pour déterminer le trajet le plus court reliant les deux points évitant les obstacles, une fois cela fait cette fonction est appelée pour transformer cette grille en un chemin. Plus de détails...
 
void Print_path (std::vector< Node > usablePath, vector< obstacle > list_obstacles)
 Permet d'afficher un chemin calculé par l'Astar. Plus de détails...
 
int Navigate_to_asserv (std::vector< Node >usablePath, Navigation dest, std::vector< obstacle > list_obstacles)
 Permet de convertir un chemin en informations transmettables à l'asservissement. L'idée générale est de récupérer le chemin crée par MakePath chemin qui est précis case par case c'est à dire centimètre par centimètre. Pour ne pas transformer le robot en papybot on ne peut pas envoyer tous les points à l'asservissement, ainsi ne transmet à l'asservissement que les points de changement de direction. Plus de détails...
 
void back_effect (int back, Navigation dest, std::vector< obstacle > list_obstacles)
 Permet de prendre un branchement dans la stratégie en fonction du retour du protocole, si le protocole nous indique une détection ou un timeout cette fonction permet de refaire les actions qui n'ont pas été transmises ou d'éviter l'obstacle. Plus de détails...
 
vector< Nodeone_step (Node src, Node dest, vector< obstacle > list_obstacles)
 Permet de réaliser une étape c'est à dire un déplacement d'un point principal à un autre point principal. Plus de détails...
 

Attributs publics

Node node
 

Description détaillée

Contient les méthodes permettant de faire fonctionner correctement l'astar.

Documentation des constructeurs et destructeur

◆ Navigation()

Navigation::Navigation ( Node  node)

Permet d'initialiser la classe Navigation à un point x y.

Paramètres
nodeLe node où la classe Navigation doit s'initialiser

Documentation des fonctions membres

◆ Astar()

std::vector< Node > Navigation::Astar ( Navigation  src,
Navigation  dest,
std::vector< obstacle list_obstacles 
)

Fonction principale de la classe, permet d'effecteur une recherche de chemin entre deux points.

Paramètres
srcle point de départ
destle point d'arrivée
list_obstaclela liste des obstacles actuellement présent sur la table
Renvoie
Un vecteur de Node constituant le chemin entre les deux points en évitant les obstacles
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ back_effect()

void Navigation::back_effect ( int  back,
Navigation  dest,
std::vector< obstacle list_obstacles 
)

Permet de prendre un branchement dans la stratégie en fonction du retour du protocole, si le protocole nous indique une détection ou un timeout cette fonction permet de refaire les actions qui n'ont pas été transmises ou d'éviter l'obstacle.

Paramètres
backentier représentant le retour du protocole
destle point à atteindre
list_obstaclesla liste des obstacles sur la table

◆ MakePath()

std::vector< Node > Navigation::MakePath ( std::array< std::array< Node, Y_MAX >, X_MAX map,
Navigation  dest 
)

Permet de transformer une grille représentant la table en un chemin Cette fonction est utilisée dans l'Astar, l'Astar commence par remplir une grille représentant la table pour déterminer le trajet le plus court reliant les deux points évitant les obstacles, une fois cela fait cette fonction est appelée pour transformer cette grille en un chemin.

Paramètres
[in]mapla grille représentant la table complété par la première partie de l'Astar
destLe point à atteindre
Renvoie
Une suite de points constituant un chemin
Voici le graphe des appelants de cette fonction :

◆ Navigate_to_asserv()

int Navigation::Navigate_to_asserv ( std::vector< Node usablePath,
Navigation  dest,
std::vector< obstacle list_obstacles 
)

Permet de convertir un chemin en informations transmettables à l'asservissement. L'idée générale est de récupérer le chemin crée par MakePath chemin qui est précis case par case c'est à dire centimètre par centimètre. Pour ne pas transformer le robot en papybot on ne peut pas envoyer tous les points à l'asservissement, ainsi ne transmet à l'asservissement que les points de changement de direction.

Paramètres
usablePathun chemin utilisable crée par MakePath par exemple
destle point à atteindre
list_obstaclesla liste des obstacles sur la table
Renvoie
un entier correspondant au code d'erreur du protocole
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ one_step()

vector< Node > Navigation::one_step ( Node  src,
Node  dest,
vector< obstacle list_obstacles 
)

Permet de réaliser une étape c'est à dire un déplacement d'un point principal à un autre point principal.

Paramètres
srcle point de départ
destle point d'arrivée
list_obstaclesles obstacles sur le chemin
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ Print_path()

void Navigation::Print_path ( std::vector< Node usablePath,
vector< obstacle list_obstacles 
)

Permet d'afficher un chemin calculé par l'Astar.

Paramètres
usablePathun chemin calculé par exemple par MakePath
Bogue:
Affiche beaucoup beaucoup de lignes
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

La documentation de cette classe a été générée à partir du fichier suivant :