1#ifndef __PUREPURSUIT_H__
2#define __PUREPURSUIT_H__
4#include "Controller/PositionController.h"
5#include "Components/Odometry.h"
7#ifndef PUREPURSUIT_MAX_WAYPOINTS
8#define PUREPURSUIT_MAX_WAYPOINTS 16
26 Waypoint() : x(0), y(0){}
27 Waypoint(
float x,
float y) : x(x), y(y){}
28 Waypoint(
const Position& pos) : x(pos.
x), y(pos.
y){}
Interface de Stratégie de mouvement.
Definition PositionController.h:195
Trajectoire courbe le long d'une ligne brisée.
Definition PurePursuit.h:18
Direction getDirection() const
Getter de la direction courant.
Definition PurePursuit.h:86
void checkProjectionGoal(const float x, const float y)
Calcule le point intermediaire sur la ligne brisée.
Definition PurePursuit.cpp:95
float getFinalAngle() const
Getter de l'angle final.
Definition PurePursuit.h:95
float m_finalAngle
Definition PurePursuit.h:161
void setFinalAngle(float finalAngle)
Setter de l'angle à atteindre en fin de trajectoire.
Definition PurePursuit.cpp:10
int getNumWaypoints() const
Getter du nombre de point de passage.
Definition PurePursuit.h:110
float m_goalParam
Definition PurePursuit.h:165
Direction m_direction
Definition PurePursuit.h:160
float m_lookAhead
Definition PurePursuit.h:169
bool checkLookAheadGoal(const float x, const float y)
Calcul le point intermediaire sur la ligne brisée.
Definition PurePursuit.cpp:34
float getLookAhead() const
Getter du lookahead.
Definition PurePursuit.h:116
bool m_goalReached
Definition PurePursuit.h:166
Direction
Sens de déplacement pour le robot.
Definition PurePursuit.h:35
@ BACKWARD
Le robot avance en marche arrière.
Definition PurePursuit.h:37
@ FORWARD
Le robot avance en marche avant.
Definition PurePursuit.h:36
void setDirection(Direction direction)
Setter du sens de marche du robot.
Definition PurePursuit.cpp:5
virtual void computeVelSetpoints(float timestep)
Calcul les nouvelles vitesses désirer.
Definition PurePursuit.cpp:170
virtual bool getPositionReached()
Indique si la position désirée est atteinte.
Definition PurePursuit.cpp:239
float getLookAheadBis() const
Getter du LookAHead de fin de trajectoire.
Definition PurePursuit.h:122
int m_goalIndex
Definition PurePursuit.h:164
float m_lookAheadBis
Definition PurePursuit.h:170
void reset()
Initialise le Purpuisuit. Supprime les current_points de la ligne brisée et les paramètres temporaire...
Definition PurePursuit.cpp:25
int m_numWaypoints
Definition PurePursuit.h:159
void setLookAhead(float lookAhead)
Setter du lookAhead.
Definition PurePursuit.cpp:249
bool addWaypoint(const Waypoint &waypoint)
Ajout un point en fin de ligne brisée.
Definition PurePursuit.cpp:15
Waypoint m_waypoints[PUREPURSUIT_MAX_WAYPOINTS]
Definition PurePursuit.h:158
void setLookAheadBis(float lookAheadBis)
Setter du lookAheadBis.
Definition PurePursuit.cpp:244
const Waypoint & getWaypoint(int index) const
Getter d'un point de passage.
Definition PurePursuit.h:104
float getDistAfterGoal()
Retourne la distance restante à parcourir.
Definition PurePursuit.cpp:143
Structure de position.
Definition Odometry.h:17
float y
Definition Odometry.h:35
float x
Definition Odometry.h:34
Structure d'un point de passage de Purpursuit.
Definition PurePursuit.h:25