Package it. unibo. alchemist. model. implementations. actions. steeringstrategies
Types
Weighted strategy where the weight of each steering action is the inverse of the pedestrian's distance from the action's target (the closer the target, the more important the action). defaultWeight is used for actions without a target.
Exponential smoothing is a trivial way of smoothing signals. Let s(t) be the smoothed signal at time t, given a discrete signal g: s(t) = alpha * g(t) + (1 - alpha) * s(t-1) s(0) = g(0)
SteeringStrategy decorator applying a filter to the list of steering actions (see computeNextPosition).
Filtered strategy considering only the group steering action and the non-group steering action whose targets are nearest to the pedestrian's position. The two actions are combined using DistanceWeighted strategy.
A SteeringStrategy in which one action is prevalent. Only NavigationActions can be prevalent, because they guarantee to navigate the environment consciously (e.g. without getting stuck in obstacles). The purpose of this strategy is to linearly combine the potentially contrasting forces to which the pedestrian is subject, while maintaining that warranty. Such forces are combined as follows: let f be the prevalent force,
A Weighted steering strategy assigning weights based on actions' types (each type has its own weight, specified by the client).
A SteeringStrategy performing a weighted sum of steering actions (see computeNextPosition).
Functions
Picks the SteeringActionWithTarget whose target is nearest to the pedestrian's current position, or the first action of the list if none of them has a defined target. If the list is empty, null is returned.