1#ifndef __PUREPURSUIT_H__
2#define __PUREPURSUIT_H__
4#include "PositionController.h"
9#ifndef PUREPURSUIT_MAX_WAYPOINTS
10#define PUREPURSUIT_MAX_WAYPOINTS 16
28 Waypoint() : x(0), y(0){}
29 Waypoint(
float x,
float y) : x(x), y(y){}
30 Waypoint(
const Position& pos) : x(pos.
x), y(pos.
y){}
Interface de Stratégie de mouvement.
Definition PositionController.h:190
Trajectoire courbe le long d'une ligne brisée.
Definition PurePursuit.h:20
Direction getDirection() const
Getter de la direction courant.
Definition PurePursuit.h:88
void checkProjectionGoal(const float x, const float y)
Calcule le point intermediaire sur la ligne brisée.
Definition PurePursuit.cpp:99
float getFinalAngle() const
Getter de l'angle final.
Definition PurePursuit.h:97
float m_finalAngle
Definition PurePursuit.h:163
void setFinalAngle(float finalAngle)
Setter de l'angle à atteindre en fin de trajectoire.
Definition PurePursuit.cpp:14
int getNumWaypoints() const
Getter du nombre de point de passage.
Definition PurePursuit.h:112
float m_goalParam
Definition PurePursuit.h:167
Direction m_direction
Definition PurePursuit.h:162
float m_lookAhead
Definition PurePursuit.h:171
bool checkLookAheadGoal(const float x, const float y)
Calcul le point intermediaire sur la ligne brisée.
Definition PurePursuit.cpp:38
float getLookAhead() const
Getter du lookahead.
Definition PurePursuit.h:118
bool m_goalReached
Definition PurePursuit.h:168
Direction
Sens de déplacement pour le robot.
Definition PurePursuit.h:37
@ BACKWARD
Le robot avance en marche arrière.
Definition PurePursuit.h:39
@ FORWARD
Le robot avance en marche avant.
Definition PurePursuit.h:38
void setDirection(Direction direction)
Setter du sens de marche du robot.
Definition PurePursuit.cpp:9
virtual void computeVelSetpoints(float timestep)
Calcul les nouvelles vitesses désirer.
Definition PurePursuit.cpp:174
virtual bool getPositionReached()
Indique si la position désirée est atteinte.
Definition PurePursuit.cpp:243
float getLookAheadBis() const
Getter du LookAHead de fin de trajectoire.
Definition PurePursuit.h:124
int m_goalIndex
Definition PurePursuit.h:166
float m_lookAheadBis
Definition PurePursuit.h:172
void reset()
Initialise le Purpuisuit. Supprime les current_points de la ligne brisée et les paramètres temporaire...
Definition PurePursuit.cpp:29
int m_numWaypoints
Definition PurePursuit.h:161
void setLookAhead(float lookAhead)
Setter du lookAhead.
Definition PurePursuit.cpp:253
bool addWaypoint(const Waypoint &waypoint)
Ajout un point en fin de ligne brisée.
Definition PurePursuit.cpp:19
Waypoint m_waypoints[PUREPURSUIT_MAX_WAYPOINTS]
Definition PurePursuit.h:160
void setLookAheadBis(float lookAheadBis)
Setter du lookAheadBis.
Definition PurePursuit.cpp:248
const Waypoint & getWaypoint(int index) const
Getter d'un point de passage.
Definition PurePursuit.h:106
float getDistAfterGoal()
Retourne la distance restante à parcourir.
Definition PurePursuit.cpp:147
Structure de position.
Definition Odometry.h:14
float y
Definition Odometry.h:32
float x
Definition Odometry.h:31
Structure d'un point de passage de Purpursuit.
Definition PurePursuit.h:27