11#ifndef PURE_PURSUIT_CONTROLLER_H
12#define PURE_PURSUIT_CONTROLLER_H
14#include "../../util/GeospatialOperations.hpp"
102 double m_dLookaheadDistance;
103 int m_nLookaheadIndex;
104 int m_nCurrentReferencePathTargetIndex;
105 std::vector<geoops::Waypoint> m_vReferencePath;
This class implements the Pure Pursuit Controller. This controller is used to follow a path by calcul...
Definition PurePursuitController.h:41
DriveVector Calculate(const geoops::RoverPose &stCurrentPose, const double dMaxSpeed)
Calculate an updated drive vector for the rover based on the current pose using the pure pursuit cont...
Definition PurePursuitController.cpp:59
geoops::Waypoint FindLookaheadWaypoint(const geoops::UTMCoordinate &stCurrentPosition)
Searches forward from the current target index to find a point that is at least the lookahead distanc...
Definition PurePursuitController.cpp:266
void SetLookaheadDistance(const double dLookaheadDistance)
Set the Lookahead Distance object.
Definition PurePursuitController.cpp:145
std::vector< geoops::Waypoint > GetReferencePath() const
Get the Reference Path object.
Definition PurePursuitController.cpp:171
void SetLookaheadIndex(const int nLookaheadIndex)
This will allow us to set the max amount of indices to lookahead.
Definition PurePursuitController.cpp:158
int GetReferencePathTargetIndex() const
Get the Reference Path Target Index object.
Definition PurePursuitController.cpp:197
int FindClosestWaypointIndex(const geoops::UTMCoordinate &stCurrentPosition)
Finds the closest waypoint index in the path to the current position, enforcing topological blinders ...
Definition PurePursuitController.cpp:212
void SetReferencePath(const std::vector< geoops::Waypoint > &vReferencePath)
Set the Reference Path object.
Definition PurePursuitController.cpp:130
double GetLookaheadDistance() const
Get the Lookahead Distance object.
Definition PurePursuitController.cpp:184
This namespace stores classes, functions, and structs that are used to implement different controller...
Definition PIDController.cpp:26
The struct for the drive vector that includes heading and velocity.
Definition PurePursuitController.h:55
This struct is used by the WaypointHandler to provide an easy way to store all pose data about the ro...
Definition GeospatialOperations.hpp:708
This struct stores/contains information about a UTM coordinate.
Definition GeospatialOperations.hpp:211
This struct is used by the WaypointHandler class to store location, size, and type information about ...
Definition GeospatialOperations.hpp:423