15#include "../../util/planners/Nodes.hpp"
19#include <sl/Camera.hpp>
72 std::vector<geoops::Waypoint>
GetPath()
const;
83 std::vector<geoops::Waypoint> m_vPathCoordinates;
85 std::vector<geoops::Waypoint> m_vObstacles;
87 std::chrono::steady_clock::time_point m_tmStartTime;
88 std::atomic_bool m_bPathGenerationCancelled;
Implements the A* (ASTAR) algorithm with the ability to plan paths around obstacles and provide path ...
Definition AStar.h:42
void UpsertObstacleData(const geoops::Waypoint &stObstacle)
Adds new obstacle data to the class member variable m_vObstacles.
Definition AStar.cpp:346
std::vector< geoops::Waypoint > PlanAvoidancePath(const geoops::Waypoint &stStartCoordinate, const geoops::Waypoint &stGoalCoordinate)
Called in the obstacle avoidance state to plan a path around obstacles.
Definition AStar.cpp:65
geoops::Waypoint FindNearestStartPoint(const geoops::UTMCoordinate &stStartCoordinate)
Helper function to round a UTMCoordinate to align with the grid.
Definition AStar.cpp:626
std::string UTMCoordinateToString(const geoops::UTMCoordinate &stToTranslate)
Helper function used to translate a UTMCoordinate's dEasting and dNorthing values into a string that ...
Definition AStar.cpp:717
geoops::Waypoint FindNearestGoalPoint(const geoops::UTMCoordinate &stGoalCoordinate)
Helper function for the PlanAvoidancePath method. This method takes in a UTMCoordinate reference and ...
Definition AStar.cpp:508
std::vector< geoops::Waypoint > GetObstacleData() const
Getter for the current obstacle data.
Definition AStar.cpp:490
void CancelPathGeneration()
Cancels the path generation process.
Definition AStar.cpp:333
void ConstructPath(const nodes::AStarNode &stFinalNode)
Called when a goal node has been reached. Recursively builds a vector of UTMCoordinates by tracing th...
Definition AStar.cpp:794
bool ValidCoordinate(const double dEasting, const double dNorthing)
Helper function used to determine if a potential UTMCoordinate is valid. Returns False if there is an...
Definition AStar.cpp:737
std::vector< geoops::Waypoint > GetPath() const
Getter for the path calculated by ASTAR.
Definition AStar.cpp:477
void ClearObstacleData()
Helper function to destroy objects from m_vObstacles.
Definition AStar.cpp:464
AStar()
Construct a new AStar::AStar object.
Definition AStar.cpp:38
void RoundUTMCoordinate(geoops::UTMCoordinate &stCoordinateToRound)
Helper function used to round UTMCoordinates to the nearest constants::ASTAR_NODE_SIZE to avoid round...
Definition AStar.cpp:779
~AStar()
Destroy the AStar::AStar object.
Definition AStar.cpp:50
This namespace stores classes, functions, and structs that are used to implement different path plann...
Definition AStar.cpp:30
This struct stores/contains information about a GPS data.
Definition GeospatialOperations.hpp:99
This struct stores/contains information about a UTM coordinate.
Definition GeospatialOperations.hpp:195
This struct is used by the WaypointHandler class to store location, size, and type information about ...
Definition GeospatialOperations.hpp:392
This node struct stores point data needed by the A* (ASTAR) algorithm to properly plan a path....
Definition Nodes.hpp:57