Record Struct Reference

What one planning request produced. More...

#include <armarx/navigation/applications/global_planning_evaluation/Metrics.h>

Public Attributes

float directness {0.F}
 Straight-line distance divided by path length. 1.0 is a straight run.
 
int foldsInResult {0}
 Folds in the trajectory the planner returned, measured independently of the smoother's own gate: the accepted path is what the robot would drive.
 
float goalClearance {0.F}
 
float meanTurnDeg {0.F}
 Mean absolute direction change per interior waypoint [deg].
 
float minClearance {0.F}
 Smallest costmap clearance along the returned path [mm], sampled at waypoints and along the segments between them.
 
float pathLength {0.F}
 
bool planned {false}
 
float plannedSeconds {0.F}
 
Request request
 
float separation {0.F}
 Straight-line start-to-goal distance and the length actually planned [mm].
 
float sharpestGridTurnDeg {0.F}
 The same, measured on the raw grid-search output before resampling and smoothing.
 
float sharpestTurnDeg {0.F}
 Sharpest direction change between consecutive segments [deg], and how many exceed 30 deg.
 
int sharpTurns {0}
 
global_planning::GlobalPlannerResult::SmoothingOutcome smoothing {}
 
bool smoothingApplied {false}
 
float spacingRatio {1.F}
 Longest / shortest segment. 1.0 is perfectly even; large values mean bunching.
 
float startClearance {0.F}
 Costmap clearance at the requested start and goal [mm].
 
float totalTurningDeg {0.F}
 Total turning along the path [deg] – the sum of the absolute direction change at every interior waypoint.
 
int waypoints {0}
 

Detailed Description

What one planning request produced.

Definition at line 35 of file Metrics.h.

Member Data Documentation

◆ directness

float directness {0.F}

Straight-line distance divided by path length. 1.0 is a straight run.

Definition at line 104 of file Metrics.h.

◆ foldsInResult

int foldsInResult {0}

Folds in the trajectory the planner returned, measured independently of the smoother's own gate: the accepted path is what the robot would drive.

Definition at line 54 of file Metrics.h.

◆ goalClearance

float goalClearance {0.F}

Definition at line 68 of file Metrics.h.

◆ meanTurnDeg

float meanTurnDeg {0.F}

Mean absolute direction change per interior waypoint [deg].

Definition at line 98 of file Metrics.h.

◆ minClearance

float minClearance {0.F}

Smallest costmap clearance along the returned path [mm], sampled at waypoints and along the segments between them.

Definition at line 58 of file Metrics.h.

◆ pathLength

float pathLength {0.F}

Definition at line 44 of file Metrics.h.

◆ planned

bool planned {false}

Definition at line 39 of file Metrics.h.

◆ plannedSeconds

float plannedSeconds {0.F}

Definition at line 60 of file Metrics.h.

◆ request

Request request

Definition at line 37 of file Metrics.h.

◆ separation

float separation {0.F}

Straight-line start-to-goal distance and the length actually planned [mm].

Definition at line 42 of file Metrics.h.

◆ sharpestGridTurnDeg

float sharpestGridTurnDeg {0.F}

The same, measured on the raw grid-search output before resampling and smoothing.

Definition at line 85 of file Metrics.h.

◆ sharpestTurnDeg

float sharpestTurnDeg {0.F}

Sharpest direction change between consecutive segments [deg], and how many exceed 30 deg.

foldsInResult uses the smoother's own detector, whose threshold reports only a reversal of 90 deg or more. The folds reported from the robot are small ones, and the harm they do downstream – a collapsing spline tangent in the reparametrization – grows continuously with the turn rather than switching on at 90 deg. Recording the angle directly lets a sweep be read without inheriting that threshold.

Definition at line 80 of file Metrics.h.

◆ sharpTurns

int sharpTurns {0}

Definition at line 82 of file Metrics.h.

◆ smoothing

Definition at line 48 of file Metrics.h.

◆ smoothingApplied

bool smoothingApplied {false}

Definition at line 50 of file Metrics.h.

◆ spacingRatio

float spacingRatio {1.F}

Longest / shortest segment. 1.0 is perfectly even; large values mean bunching.

Definition at line 101 of file Metrics.h.

◆ startClearance

float startClearance {0.F}

Costmap clearance at the requested start and goal [mm].

A request whose endpoint is closer to an obstacle than the checker's clearance cannot produce an acceptable path however well the middle is smoothed, so a rejection rate that does not separate these says nothing about the smoother.

Definition at line 66 of file Metrics.h.

◆ totalTurningDeg

float totalTurningDeg {0.F}

Total turning along the path [deg] – the sum of the absolute direction change at every interior waypoint.

The sharpest single turn says how bad the worst corner is; this says how much the path wanders overall. A path can have no severe corner and still be visibly ragged, and that is what the robot feels: every direction change is a lateral acceleration.

Definition at line 95 of file Metrics.h.

◆ waypoints

int waypoints {0}

Definition at line 46 of file Metrics.h.


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