Polarith AI
1.8
Processing

Processing behaviours are a special type of behaviours which are applied for different use cases. So we decided to classify every behaviour which works significantly different to steering as processing behaviour. Steering behaviours generate magnitudes based on percept positions and other related information, as against the intension of processing behaviours is to modify or to process these values afterwards. Thus, processing behaviours have a default order of 1000 or even 2000 (in the case of the Planar Interpolation). It simply would have no effect to execute, for instance, Planar Convolution before Seek. However, it is possible to have an interleaved setup like the following (although the example does not make much sense for a real use case).

Seek -> PlanarConvolution -> Seek -> Planar Convolution

For most cases, it is recommended to stick to the default order values. steering behaviours should be processed first (0 - 999), then, the processing behaviours are executed (1000 - 1999). At last but not least, the Interpolation is executed (2000 - xxxx) if there is any.

The following table lists all current processing behaviours.

Behaviour Task
Planar Convolution A 1D filter that can be applied on objective values.
Planar Interpolation Attempts to find possible better solutions in between receptor directions. Thus, it increases the accuracy without increasing the receptor count (which saves you a lot of performance).
Reduction Is intended to decrease objective values based on the proximity and the direction towards other objects.
Retention Includes information of the last time-step into the current time-step by blending both old and current objective values.
Stabilization Modifies an objective based on an agent's movement direction. It is intended to prioritize the former movement direction of an agent in order to avoid small and sudden changes so that the overall movement appears to be much smoother.

Remarks on Interpolation

Interpolation behaviours are classified as processing behaviours (note that Planar Interpolation is the only available interpolation behaviour at the moment). However, they needs to be called after the Context executed the MCO solver because these behaviours work with the values of an already made decision. Thus, it is impossible to assign an Order equal to or greater than 2000. This way it is ensured that the interpolator is called after the MCO solver has done its work.

In contrast, all other processing behaviours besides interpolators are intended to be executed before the MCO solver.

Imprint