WitMotion sensor for Motion compensation
Introduction
If your actuators are slow or unpredictable, motion compensation might get off. If playing with motion compensation smoothing or scaling can't fill the gap, you can add a physical sensor.
The physical sensor will help Simhub to know the real orientation and feed accordingly the motion compensation layer ( OpenXR Motion compensation or OpenVR Motion compensation) Physical sensors allows to sense the 3 following components
Yaw (can sometime overshoot or drift) in case of high velocity
Pitch angle
Roll angle
It does not allows to measure heave, sway, surge moves.
Due to the nature of this sensor which includes high smoothing, the position might still be late. But if your actuators are unpredictable it will get closer to the truth
Simhub will mix and inject those values into the existing computations when the sensor is available
This feature will be available from SimHub 9.8
Before investing money into hardware please keep in mind that both OpenVR and OpenXR motion compensation relies on third party software not guaranteed to work on ony game and or headset and which can be broken at any time in the future (VR framework update, game update)
Required hardware
The witmotion range have many variations, please pay attention to the model you're buying.
Sensor : WT901C-232 , 9-Axis Vibration Inclinometer MPU9250
Asin : B01N91GCJX
This exists in two models, RS232 or TTL, you need the RS232 version (WT901C-232)
Official RS232 to USB Adapter with CH340 chip.
Asin : B07WF7BJJH
The kit (sensor + adapter) can be found here
Amazon:
Physical installation
Wiring
Plug the cable to the sensor
Plug the sensor to an usb port
Mounting
Install firmly the sensor on your simulator, you can install it vertically or horizontally.
Please install it far away from magnetic interferences (motors, wheel, bass shakers)
Horizontal mounting
In horizontal mounting you must have label on top, connector pointing to the right, you can adjust later the rotation if you could not keep the connector pointing to the right, but try to keep it as flat as possible.
Vertical mounting
In vertical mounting you must have label on the right, connector pointing to the floor, you can adjust later the rotation if you could not keep the label pointing to the right, but try to keep it as vertical as possible.
Simhub setup
In motion compensation settings, go into the physical sensor tab.
Enable the sensor
Select the serial port
Select the mounting mode
Adjust the yaw offset, if you could not keep the sensor straight as shown in Mounting, the preview will show you a visual overview of the offset, for instance a 45° offset :
Adjusting the yaw offset is critical, it ensures a correct understanding from SimHub of the sensor rig mounting orientation, this includes
The pitch and roll direction : if the sensor is rotated of 90° this mean pitch and roll are swapped and optionally with direction reversed. At 180° pitch and roll directions are reversed. SimHub takes care of it, as long as you give it the correct offset.
The pitch and roll "reference" : a wrong offset will get mixed pitch and roll components.
Do a first zero calibration
Optional : enable the yaw drift correction so Yaw drifts gets progressively compensated
About yaw drift : Yaw drift on the Witmotion sensor occurs easily, Simhub will only adjust the drift when expected yaw and sensor yaw are steady (and expected yaw close to 0). That means it won't try to compensate unstable values during yaw movements even if actively drifting.
Calibration
Start your platform, if it's staying in idle (out of the game), use the
force unpark
button to force it unpark, then open theVR MC Monitor
dialog.
If the settings are not visible click on
Show MC settings
When the platform is running and flat, click on calibrate zero :
The calibration should not be done every time, but do not hesitate to redo it periodically, or after a complete rig move or rework
Motion compensation mixing
Simhub offers to "mix" and "tune" the sensor motion compensation with the SimHub's own computations offering the best of both worlds
Open the MC monitor (see #fine-calibration) and open the Global tab
You can now adjust for each motion compensation components how much of the compensation you want by enabling the physical sensor mixing
.
100% means Simhub will only trust the sensor
50% means simhub will average evenly the simhub expected position with the sensor.
If the sensor reports slightly off values you can also scale it using the sensor gain
Motion is a complex kinematic, not limited to yaw, pitch and roll. Some missing components will still be computed by SimHub (and the "mixing" option won't be available), you can smoth,scale, or disable those at your will.
Smoothing should not be necessary for the sensor, the sensor internal smoothing and latency being already strong it would add even more latency.
The physical sensor values gets injected to the compensation using the same center of rotations as Simhub computations, please pay attention to the following parameters
In Simhub's geometry settings : Seat position and height for 2/3/6 DOFs and traction loss dimensions
In Game, make sure to get a matching COR (see OpenXr or OpenVR instructions). Unmatched COR, makes any computations senseless.
Last updated