back
ShakeIt Formulae JavaScript
Variations on these are reused among ShakeIt profiles
AbsAcc
- applied to
AccelerationSway and AccelerationSurge for ProxyL
high-pass IIR
- Generate low-pass IIR values, but return differences between
new samples and previous low-pass values.
low-pass IIR
- Discrete IIR is basically a modified rolling average,
where part of that value is each time replaced by
some fraction of the difference between a new sample and previous value.
proxyL
- In new SimHub, inline code to estimate wheel load
from AccelerationSway and AccelerationSurge
using AbsAcc()
Loaded wheel slip
- Applies proxyL to proxyS
noisy
- Applies
Gamma 0.50 to noise() applied to ProxyS/grip
proxyS
SimHub WHEELS SLIP effect with specific Gain and Threshold :
... exported as a property: 
tire haptic
- Scales noisy, which gets modulated by Loaded wheel slip
AC proxyL
- tweak unportable
GameRawData.Physics.WheelLoad
 
- AC proxyS
- tweak unportable
GameRawData.Physics.WheelSlip
 
- AC proxy_G
- tweak unportable
GameRawData.Physics.AccG
 
proxy_G from OrientationYaw
and SpeedKmh
- applys low-pass IIR to yaw and speed changes.
This is the original proxy for accelerations, before SimHub added (AC-specific) acceleration properties,
then eventually AccelerationSurge and AccelerationSway e.g. for harness tensioners.
 
proxyG from AccelerationSurge and AccelerationSway
- portable acceleration properties in recend SimHub versions
 
- proxyL from proxy_G or AC property
- estimate each corner wheel load from all 4 proxy_G values
By default, each wheel is supposed to have 25% load.
For 100% (braking) deceleration, each front wheel would have 50% load
and rear wheels would be fully unloaded. For some peak braking while turning,
one front wheel could have 100% load.
 
- proxyL from AbsAcc
- estimate
proxyL from AbsAcc, AccelerationSurge, AccelerationSway properties
 
- Loaded WheelSlip
- apply
proxyL to proxyS
or GameRawData.Physics.WheelSlip property
 
- Unloaded rear WheelSlip (trailing oversteer)
- apply (- rear
proxyL ) to rear proxyS properties
 
- Unloaded WheelSlip (trailing oversteer) from proxy_G
- apply (front - rear
proxy_G ) to rear proxyS properties
 
- Loaded over, understeer from
proxyLS
- correlated front corner
proxyLS , rear corner proxyLS properties
 
- gated under, oversteer
- uses
proxyS and AbsAcc , sorting acceleration from deceleration
 
- under, oversteer
- uses
proxyS and AbsAcc , but neglects to recover sign to sort acceleration from deceleration
 
- mix slips and oversteer
- mixes
proxyS , UnderOversteer and LoadedSlip
 
- joystick
- uses
InputStatus.JoystickPlugin.SideWinder_Precision_2_Joystick_B07
and JoystickPlugin.SideWinder_Precision_2_Joystick_Slider0
from Controls and events plugin, which enables HID device events as properties.
 
- Brake pedal tactile: rotor runout and road noise
- rotor runout for low pedal effort,
road noise for higher pedal effort.
 
property portability
A year ago, SimHub lacked properties for lateral accelerations.
Consequently those were derived from changes in the OrientationYaw property.
SimHub subsequently made GameRawData.Physics.Acc available in AC but not elsewhere.
The profile version currently on GitHub uses those unportable properties.
SimHub now has GameData.Accelerations that seeemingly are available for most games.
Here is a comparison of the original formulae:
.. and SimHub's properties, rescaled:
.. where Front right is deceleration, Rear right is acceleration,
Front left is right G and Rear left is left G.
While agreement between these implementations is acceptable,
neither acceleration and deceleration
  nor left and right G should ever be simultaneously positive.
Whether observed violations are plotting artifacts
  or actual property implementation bugs is unknown.
telemetry proxies
Some telemetry which can be helpful for generating driving aid effects
is unavailable from some games.
Profile proliferation was driven by ad hoc experiments for improving that telemetry.
- proxyG
- lateral acceleration can be derived from changes in yaw.
This proxy is liable to jitter distortion if time between yaws samples varies.
After accounting for jitter, various derivations of proxyG are acceptably comparable.
- proxyL
- Wheel loads can be roughly estimated from accelerations if otherwise unavailable.
Here are simultaneous plots, first from Assetto Corsa GameRawData.Physics.WheelLoad0[1-4] :
... then a proxy for loads estimated from accelerations:
- proxyS
- Wheel slips can be calculated from vehicle and wheel speeds, if available.
iRacing wheel slip is estimated from relative changes between engine and vehicle speeds,
so relevant only for driven wheels.
             
       
|