ugv_nav4d
Public Attributes | List of all members
ugv_nav4d::PlannerConfig Struct Reference

#include <PlannerConfig.hpp>

Collaboration diagram for ugv_nav4d::PlannerConfig:
Collaboration graph

Public Attributes

bool usePathStatistics = false
 
bool searchUntilFirstSolution = false
 
double initialEpsilon = 20.0
 
double epsilonSteps = 2.0
 
unsigned numThreads = 1
 
double corridorWidth = -1.0
 
double maxTime = 5.0
 
double goalOrientationMargin = 0.0
 
double goalDistanceMargin = 0.0
 
bool useReedsSheppFinalPath = false
 
double reedsSheppStepSize = 0.0
 
int reedsSheppMaxShortcut = 0
 
bool useReedsSheppGoalShot = false
 
double reedsSheppGoalShotMaxDistance = 15.0
 
int reedsSheppMaxCusps = 1
 

Detailed Description

Describes the planner config of the path planner.

Member Data Documentation

◆ corridorWidth

double ugv_nav4d::PlannerConfig::corridorWidth = -1.0

Corridor width (in meters) to constrain A* search around the 2D Dijkstra path. Set to <= 0.0 to disable corridor pruning.

◆ epsilonSteps

double ugv_nav4d::PlannerConfig::epsilonSteps = 2.0

The epsilon step size for the internal ARA* algoritm. See SBPL documentation for an explantion of this value

◆ goalDistanceMargin

double ugv_nav4d::PlannerConfig::goalDistanceMargin = 0.0

Margin around the goal position in meters. If the successor node's position is within this margin of the goal position, it is mapped to the goal state. Set to <= 0.0 to disable.

◆ goalOrientationMargin

double ugv_nav4d::PlannerConfig::goalOrientationMargin = 0.0

Margin around the end orientation in radians. If the successor node's heading is within this margin of the goal heading, it is mapped to the goal state. Set to <= 0.0 to disable.

◆ initialEpsilon

double ugv_nav4d::PlannerConfig::initialEpsilon = 20.0

The initial epsilon for the internal ARA* algorithm. See SBPL documentation for an explantion of this value

◆ maxTime

double ugv_nav4d::PlannerConfig::maxTime = 5.0

Maximum processor time to use (in seconds).

◆ numThreads

unsigned ugv_nav4d::PlannerConfig::numThreads = 1

Number of threads to use during planning

◆ reedsSheppGoalShotMaxDistance

double ugv_nav4d::PlannerConfig::reedsSheppGoalShotMaxDistance = 15.0

Only attempt the goal shot when the (point-robot) distance to the goal is within this many meters. Keeps the shot near the goal where it pays off.

◆ reedsSheppMaxCusps

int ugv_nav4d::PlannerConfig::reedsSheppMaxCusps = 1

Maximum number of direction changes (cusps) a single accepted Reeds-Shepp curve may contain. During shortcutting a direction flip relative to the previously emitted segment counts towards the budget as well, so chains of alternating short curves are suppressed too. The goal shot only offers connections within this budget. Curves over the budget are skipped; the primitive path remains as fallback so feasibility is unaffected. < 0 disables the limit (legacy behavior: any collision-free curve).

◆ reedsSheppMaxShortcut

int ugv_nav4d::PlannerConfig::reedsSheppMaxShortcut = 0

Maximum number of solution waypoints a single Reeds-Shepp shortcut may span. <= 0 means unlimited (best path quality, O(n^2) shortcut search).

◆ reedsSheppStepSize

double ugv_nav4d::PlannerConfig::reedsSheppStepSize = 0.0

Sampling resolution (meters) of the Reeds-Shepp final path. If <= 0.0 a value of half the grid resolution is used.

◆ searchUntilFirstSolution

bool ugv_nav4d::PlannerConfig::searchUntilFirstSolution = false

Search only until the first solution and then stop planning See SBPL documentation for an explantion of this value

◆ usePathStatistics

bool ugv_nav4d::PlannerConfig::usePathStatistics = false

Should a computationally expensive obstacle check be done to check whether the robot bounding box is in collision with obstacles. This mode is useful for highly cluttered and tight spaced environments

◆ useReedsSheppFinalPath

bool ugv_nav4d::PlannerConfig::useReedsSheppFinalPath = false

If true, the final path is reconstructed from the solution states using Reeds-Shepp steering (greedy shortcutting) instead of the search motion primitives. The primitive-based search itself is unchanged. Requires Mobility::minTurningRadius > 0, otherwise the primitive path is used.

◆ useReedsSheppGoalShot

bool ugv_nav4d::PlannerConfig::useReedsSheppGoalShot = false

Hybrid-A* style analytic goal connection: during the search, attempt to connect an expanded state directly to the goal with a single collision-free Reeds-Shepp curve. When it succeeds the search terminates immediately, skipping the expensive expansion of states around the goal heading. Requires useReedsSheppFinalPath = true (the final path reconstruction recreates the curve).


The documentation for this struct was generated from the following file: