|
|
#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} |
Definition at line 38 of file OrientationOptimizer.h.
| int iterations {5} |
Definition at line 40 of file OrientationOptimizer.h.
| 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.
| float movementDirWeightEnd {0.5F} |
Definition at line 42 of file OrientationOptimizer.h.
| float movementDirWeightStart {0.0F} |
Definition at line 41 of file OrientationOptimizer.h.
| RotationDirection predefinedRotationDirection {RotationDirection::Any} |
Definition at line 52 of file OrientationOptimizer.h.
| float priorEndWeight {1.F} |
Definition at line 48 of file OrientationOptimizer.h.
| float priorStartWeight {1.F} |
Definition at line 47 of file OrientationOptimizer.h.
| float smoothnessWeight {0.4F} |
Definition at line 44 of file OrientationOptimizer.h.
| float smoothnessWeightStartGoal {1.F} |
Definition at line 45 of file OrientationOptimizer.h.
| float startGoalDistanceThreshold {500} |
Definition at line 50 of file OrientationOptimizer.h.