WitMotion sensor for Motion compensation
Last updated
Last updated
If your actuators are slow, imprecise, or unpredictable, motion compensation may become inaccurate. When tuning motion compensation smoothing or scaling is not enough to fill the gap, adding a physical sensor can significantly improve the result.
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 can measure the following three components:
Yaw (can sometime overshoot or drift) in case of high velocity
Pitch angle
Roll angle
However, physical sensors are not perfect. Because this type of sensor applies strong internal smoothing, the measured position can be delayed. It also cannot measure heave, sway, or surge movements.
Nevertheless, when a sensor is available, SimHub blends its data with internal calculations to build complete motion compensation. If the sensor is disconnected or missing, SimHub will continue working using only its internal computations. Naturally, the result will differ — otherwise, there would be no reason to add a sensor.
This feature will be available from SimHub 9.8
Before investing in hardware, please note that both OpenVR and OpenXR motion compensation rely on third-party software that is not guaranteed to work with every game or headset and may become incompatible following VR framework or game updates.
The WitMotion range has many variations, so please pay close attention to the model you purchase.
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:
Plug the cable to the sensor
Plug the sensor to an usb port
Install firmly the sensor on your simulator, you can install it vertically or horizontally .
Ensure it is installed far from magnetic interference sources (motors, wheels, bass shakers).
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.
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.
In reversed horizontal mounting you must have label pointing to the floor, 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.
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 align the sensor as shown in the Mounting instructions; the preview will display a visual representation of the offset (for example, a 45° rotation).
Adjusting the yaw offset is critical, as it ensures SimHub correctly interprets the sensor’s mounting orientation, including:
Pitch and roll direction: if the sensor is rotated by 90°, pitch and roll will be swapped, and their directions may also be reversed.
Pitch and roll reference: an incorrect offset will result in mixed pitch and roll components.
SimHub takes care of it, as long as you give it the correct offset.
Perform an initial zero calibration.
Optional: Enable yaw drift correction to progressively compensate for yaw drifts.
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). This means it will not attempt to compensate for unstable values during active yaw movements, even if drifting occurs.
Start your platform. If it remains idle (outside of a game), use the "Force Unpark" button to unpark it, then open the VR 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 :
Calibration is not required every time, but it is recommended to redo it periodically or after any significant rig movement or modifications.
SimHub allows you to "mix" and "tune" sensor-based motion compensation with its own calculations, 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 complex and not limited to yaw, pitch, and roll alone. 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, as its internal smoothing and latency are already significant and additional smoothing would increase latency further.
Physical sensor values are injected into the compensation system using the same center of rotation as SimHub’s 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.
ERacing lab :
Sensor :
Cable :