Motion smoothing
Knowledge base article
The raw 3D position received from the Follow-Me Track-iT server is sometimes unstable or too jittery. The Motion Smoothing Filter (MSF) aims at smoothing the position, while ensuring snappiness for fast moving performers or stability for static performers. It can be entirely disabled: in that case, the raw 3D position received from the Follow-Me Track-iT server is used.
The MSF classifies a performer’s dynamics in 3 categories, based on their movement of the past few seconds:
- Dynamic: a fast moving performer needs snappy tracking, their position will only be lightly filtered.
- Static: a slow moving performer needs more stability, so their position is more heavily filtered.
- Frozen: when a performer is immobile, their position is frozen and only moves when the performer get’s dynamic again. Their speed is set to zero and so the fixture prediction also stays on target. The frozen status can be disabled, in which case an immobile performer will stay in static status and fixtures might slowly wobble around them.
The MSF is at all times computing three filtered positions (static, dynamic, frozen), and outputs the position that best fits the performer’s current behaviour. The MSF tries to smartly switch between the states: a dynamic performer will slowly switch to the static state if they slow down, but a static performer will instantly become dynamic when their perceived movement gets significantly faster. You can fine tune the MSF behaviour by customising its parameters, based on the specificities of your show and performers.
MSF Parameters
Parameter | Value range | Default value |
Static radius (in meters) | Typical range min 0.01 to 0.5m | 0.2m |
Static time constant (in seconds) | Typical range min 0.1 to 10s | 2s |
Dynamic radius (in meters) | Typical range min 0.01 to 0.5m | 0.3m |
Dynamic time constant (in seconds) | Typical range min 0.01 to 1s | 0.1s |
Status change time (in seconds) | Typical range min 0 to 10s | 1s |
Static cooldown time (in seconds) | Typical range min 0 to 10s | 2s |
Freeze radius (in meters) | Typical range min 0.05 to 0.5m | 0.2m |
Freeze time (in seconds) | Typical range min 0.5 to 5s | 1s |
Parameters description
Static, dynamic and freeze radius
They represent the distance threshold after which the SMF switches state. Those radii create a zone around the performer’s currently filtered position. A dynamic performer will start getting static when their raw position lies inside the static radius. A static or frozen performer will instantly become dynamic when their position gets outside the dynamic radius.
Static and dynamic time constant
Those time constants represent the amount of filtering applied to the raw position. Simply speaking, the time constant is the time it takes for the filtered position to catch up with the raw position. The higher this number is, the slower (but also more filtered) the position gets. This is why the static time constant should always be much larger than the dynamic time constant, because we need the static position to be more heavily filtered.
Let’s imagine you are standing perfectly still for 10 seconds, and suddenly takes one big step in front of you. The time constant is roughly the time it takes the filtered position to reach your new location.
Status change time
Switching between dynamic and static states is not instantaneous, to avoid jumps in the filtered position. The status change time represent the time it takes for a performer to become static once their position lies inside the static radius.
Static cooldown time
The SMF might be confused when a performer backtracks rapidly, it might think the performer is becoming static again. For that reason, the static status is only triggered after some cooldown time. Increase this parameter’s value if you notice the filtered position slows down when a performer suddenly changes direction and walks back on their previous track.
Freeze time
When a performer’s raw position continuously lies inside the freeze radius longer than the freeze time, then their status changes to frozen. Their position is then fully immobile and will only snap back to dynamic if the raw position gets outside of the freeze dynamic radius.
Have a great install & reach out to us if you need help!
Your Follow-Me team.