Contient les méthodes permettant de faire fonctionner correctement l'astar.
Plus de détails...
#include <navigation.hpp>
|
| Navigation (Node node) |
| Permet d'initialiser la classe Navigation à un point x y. Plus de détails...
|
|
std::vector< Node > | 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. Plus de détails...
|
|
std::vector< Node > | 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. 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< Node > | 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. Plus de détails...
|
|
Contient les méthodes permettant de faire fonctionner correctement l'astar.
◆ Navigation()
Navigation::Navigation |
( |
Node |
node | ) |
|
Permet d'initialiser la classe Navigation à un point x y.
- Paramètres
-
node | Le node où la classe Navigation doit s'initialiser |
◆ Astar()
Fonction principale de la classe, permet d'effecteur une recherche de chemin entre deux points.
- Paramètres
-
src | le point de départ |
dest | le point d'arrivée |
list_obstacle | la 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
◆ 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
-
back | entier représentant le retour du protocole |
dest | le point à atteindre |
list_obstacles | la liste des obstacles sur la table |
◆ MakePath()
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] | map | la grille représentant la table complété par la première partie de l'Astar |
| dest | Le point à atteindre |
- Renvoie
- Une suite de points constituant un chemin
◆ 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
-
usablePath | un chemin utilisable crée par MakePath par exemple |
dest | le point à atteindre |
list_obstacles | la liste des obstacles sur la table |
- Renvoie
- un entier correspondant au code d'erreur du protocole
◆ one_step()
Permet de réaliser une étape c'est à dire un déplacement d'un point principal à un autre point principal.
- Paramètres
-
src | le point de départ |
dest | le point d'arrivée |
list_obstacles | les obstacles sur le chemin |
◆ 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
-
usablePath | un chemin calculé par exemple par MakePath |
- Bogue:
- Affiche beaucoup beaucoup de lignes
La documentation de cette classe a été générée à partir du fichier suivant :
- code/rasp/src/navigation/navigation.hpp
- code/rasp/src/navigation/navigation.cpp