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:

Disabling autocalibration

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