GeometryLimits Struct Reference

Thresholds for what counts as a geometrically usable path. More...

#include <armarx/navigation/algorithms/spfa/smoothing/PathGeometry.h>

Public Attributes

double maxTurnRate = 0.8 / 150.0
 Most the commanded heading may turn per millimetre travelled [rad/mm].
 
double minDirectionDot = 0.0
 Consecutive travel directions whose dot product is below this have reversed.
 
double minSegmentLength = 1.0
 Segments shorter than this [mm] carry no reliable direction, and the heading a downstream spline reads off them is numerical noise.
 

Detailed Description

Thresholds for what counts as a geometrically usable path.

Separate from the smoothing weights: these describe the result the optimizer has to produce, not how it gets there.

Definition at line 32 of file PathGeometry.h.

Member Data Documentation

◆ maxTurnRate

double maxTurnRate = 0.8 / 150.0

Most the commanded heading may turn per millimetre travelled [rad/mm].

A path-length bound, not a rate: ‘yaw’(s) * v` is the yaw rate the base is asked for, so a profile that turns faster than this per millimetre can only be executed by slowing down, and past some point by not moving at all.

The default is what a base holding limits.angular (0.8 rad/s on ARMAR-7) can turn while still making the boundaryVelocity the profile is floored at (150 mm/s): 0.8 / 150 = 0.00533 rad/mm. Healthy ARMAR-7 runs measure 0.0016 rad/mm at their worst; the run this bound was derived from reached 0.0259.

Definition at line 54 of file PathGeometry.h.

◆ minDirectionDot

double minDirectionDot = 0.0

Consecutive travel directions whose dot product is below this have reversed.

Slightly above zero so a numerically flat vertex is not reported as a fold.

Definition at line 36 of file PathGeometry.h.

◆ minSegmentLength

double minSegmentLength = 1.0

Segments shorter than this [mm] carry no reliable direction, and the heading a downstream spline reads off them is numerical noise.

Definition at line 40 of file PathGeometry.h.


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