Polarith AI

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.
TargetObjectiveDetermines the objective for the values to be added.
MaxIncrease The maximum allowed increase of an objective value.
MaxAngleDetermines 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.