front-end / back-end: AIMStabilization
| Stabilization
inherits from: AIMBehaviour
| MoveBehaviour
Stabilization ensures that an agent holds its current movement direction, and thus, appears to have a much smoother overall movement. For this, a magnitude is added where corresponding receptor directions match the (local) DecidedDirection
. The strength and the number of objective values which are modified can be controlled via MaxIncrease
and MaxAngle
.
This component has got the following specific properties.
Property | Description |
---|---|
AngleMapping | Specifies how objective values are mapped within the range from 0 to MaxAngle . |
TargetObjective | Determines the objective for the values to be added. |
MaxIncrease | The maximum allowed increase of an objective value. |
MaxAngle | Determines the maximum allowed deviation in degrees for a receptor direction compared to the computed context direction. If this threshold is exceeded, the corresponding objective value of the affected receptor is not modified. |
The use of this behaviour leads to two positive effects. First, the mechanism avoids that the movement direction of the agent varies too strong from frame to frame. Second, it ensures that the agent continues to move towards the most recent target. The effects of this behaviour are shown by the following figure.
Figure 1: The left agent prefers the right object which is located slightly closer to it, as against the right agent reaches out for the top object which is slightly further away. This is because of the active stabilization mechanism.