Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
GeoPlanner.h File Reference

Define the GeoPlanner class. More...

Include dependency graph for GeoPlanner.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  pathplanners::KDQueryPoint
 Small POD used for KDTree searches (2D point) More...
 
struct  pathplanners::PointKDAccessor
 Accessor for KDTree that exposes easting/northing for both PointRow and KDQueryPoint. More...
 
class  pathplanners::GeoPlanner
 This class implements a geospatial path planner that uses AStar's algorithm with a bias towards travel scores to find the optimal path between two points. geospatial data is fetched from the LidarHandler, and the path is planned using the Eigen library for matrix operations. More...
 
struct  pathplanners::GeoPlanner::PlannerState
 This struct represents the state of a node in the path planning algorithm. More...
 
struct  pathplanners::GeoPlanner::PlannerStateCompare
 This struct is used to compare two PlannerState objects based on their cost. More...
 
struct  pathplanners::GeoPlanner::TileKey
 This struct represents a tile key in the implicit graph representation. We divide the plan into a regular grid of tiles of size dTileSize*dTileSize meters. A tile covering the real-world X coordinate in [i*dTileSize, (i+1)*dTileSize) and Y coordinate in [j*dTileSize, (j+1)*dTileSize) is represented by the key (i, j). More...
 
struct  pathplanners::GeoPlanner::TileKeyHash
 This struct is used to hash TileKey objects for use in unordered maps. It combines the X and Y coordinates to create a unique hash for each tile key. We hash stKey.nX and stKey.nY separately and combine them using XOR and bit shifting. More...
 
struct  pathplanners::GeoPlanner::TileKeyEqual
 This struct is used to compare two TileKey objects for equality. After the hashbuckets narrow down candidates, we need to still confirm that the X and Y coordinates are equal to ensure they are the same tile. More...
 

Namespaces

namespace  pathplanners
 This namespace stores classes, functions, and structs that are used to implement different path planner algorithms used by the rover to determine the optimal path to take for any given situation.
 

Typedefs

using pathplanners::KDTree2D = KDTree::KDTree< 2, LiDARHandler::PointRow, PointKDAccessor >
 

Detailed Description

Define the GeoPlanner class.

Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2025-07-14