Adjusting the autocalibration of the vehicle-fixed IMU

Summary

By default LPVR-DUO uses the built-in gyroscope autocalibration of the LPMS-IG1 platform IMU to keep the gyroscope static offset parameters up to date. As the internal parameters of the built-in autocalibration are not adjustable, we offer more flexible autocalibration on the host side.

Configuration

Follow the steps below to switch from built-in autocalibration to host-side autocalibration.

Go to the LPVR-DUO configuration page: http://localhost:7119/

In the configuration script, the relevant flag for the platform imu source is "hardwareAutocalibration": false. This switches LPMS-IG1 to software autocalibration. The modified platform IMU block could look like the following:

"imuSources": { "ref_imu": { "type": "OpenZen", "settings": { "autodetectType": "ig1", "hardwareAutocalibration": false, "autocalibrationSettings": { "noiseRmsLimit": 0.02 } } },

Parameter adjustment

Software autocalibration has a number of configurable parameters which can be tuned to achieve the desired result. The most important parameter is "noiseRmsLimit" with a default value of 0.02 degrees/second. Increase this parameter if the autocalibration doesn’t respond quickly enough or doesn’t calibrate at all. Decrease this parameter if you see the autocalibration “kick-in” too easily.

There is no perfect way at the moment to confirm when the platform IMU has been autocalibrated. One way to check if the calibration of both the HMD gyroscope and the platform IMU gyroscope have been successful with some certainty is outlined below:

  • Put the HMD and the platform IMU in a motion-less state (eg. stop the vehicle and put the HMD on one of the seats).

  • Stop the optical tracking software (eg. DTrack).

  • Observe on the computer screen if the image slowly difts in any direction.

Disabling autocalibration

Autocalibration can be effectively disabled by setting "noiseRmsLimit" to 0.