OrientationOptimizerParams Struct Reference

#include <armarx/navigation/global_planning/optimization/OrientationOptimizer.h>

Public Attributes

int iterations {5}
 
double maxTurnRate {0.8 / 150.0}
 Most the heading may turn per millimetre travelled [rad/mm].
 
float movementDirWeightEnd {0.5F}
 
float movementDirWeightStart {0.0F}
 
RotationDirection predefinedRotationDirection {RotationDirection::Any}
 
float priorEndWeight {1.F}
 
float priorStartWeight {1.F}
 
float smoothnessWeight {0.4F}
 
float smoothnessWeightStartGoal {1.F}
 
float startGoalDistanceThreshold {500}
 

Detailed Description

Definition at line 38 of file OrientationOptimizer.h.

Member Data Documentation

◆ iterations

int iterations {5}

Definition at line 40 of file OrientationOptimizer.h.

◆ maxTurnRate

double maxTurnRate {0.8 / 150.0}

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

The rotation a profile needs is fixed by its start and goal; how much path it is spread over is this optimizer's choice, and that choice decides whether the result can be executed at all – the yaw rate asked of the base is ‘yaw’(s) * v`.

Nothing in the cost function is expressed per unit distance. The movement-direction prior pulls every interior heading onto the path tangent and only the smoothness term resists, so the profile holds the tangent as long as it can and then swings the whole rotation across a narrow band – the same band whether the path is one metre or six. On ARMAR-7 that put a 116 deg rotation into 300 mm of a 3212 mm path and asked for 3.9 rad/s against a 0.8 rad/s limit.

The default is what a base holding 0.8 rad/s can turn while still making the 150 mm/s the profile is floored at. Deliberately not an aron parameter: it is a property of the drive, and every shipped config would have to grow a member to add it.

Definition at line 72 of file OrientationOptimizer.h.

◆ movementDirWeightEnd

float movementDirWeightEnd {0.5F}

Definition at line 42 of file OrientationOptimizer.h.

◆ movementDirWeightStart

float movementDirWeightStart {0.0F}

Definition at line 41 of file OrientationOptimizer.h.

◆ predefinedRotationDirection

RotationDirection predefinedRotationDirection {RotationDirection::Any}

Definition at line 52 of file OrientationOptimizer.h.

◆ priorEndWeight

float priorEndWeight {1.F}

Definition at line 48 of file OrientationOptimizer.h.

◆ priorStartWeight

float priorStartWeight {1.F}

Definition at line 47 of file OrientationOptimizer.h.

◆ smoothnessWeight

float smoothnessWeight {0.4F}

Definition at line 44 of file OrientationOptimizer.h.

◆ smoothnessWeightStartGoal

float smoothnessWeightStartGoal {1.F}

Definition at line 45 of file OrientationOptimizer.h.

◆ startGoalDistanceThreshold

float startGoalDistanceThreshold {500}

Definition at line 50 of file OrientationOptimizer.h.


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