Recall from Section 9.1 that the sensor outputs are distorted due to calibration issues. In the one-dimensional angular velocity case, there were only two parameters, for scale and offset, which appeared in (9.1). In the 3D setting, this would naturally extend to $ 3$ scale and $ 3$ offset parameters; however, the situation is worse because there may also be errors due to non-orthogonality of the MEMS elements. All of these can be accounted for by $ 12$ parameters arranged in a homogeneous transform matrix:

$\displaystyle \begin{bmatrix}\hat{\omega}_x  \hat{\omega}_y  \hat{\omega}_z...
...{bmatrix} \begin{bmatrix}\omega_x  \omega_y  \omega_z  1  \end{bmatrix}$ (9.13)

There are $ 12$ and not $ 6$ DOFs because the upper left, $ 3$-by-$ 3$, matrix is not constrained to be a rotation matrix. The $ j$, $ k$, and $ \ell $ parameters correspond to offset, whereas all others handle scale and non-orthogonality. Following the same methodology as in Section 9.1, the inverse of this transform can be estimated by minimizing the least squares error with respect to outputs of a better sensor, which provides ground truth. The outputs of the MEMS sensor are then adjusted by applying the estimated homogeneous transform to improve performance (this is an extension of (9.7) to the $ 12$-parameter case). This general methodology applies to calibrating gyroscopes and accelerometers. Magnetometers may also be calibrated in this way, but have further complications such as soft iron bias.

An additional challenge with MEMS sensors is dealing with other subtle dependencies. For example, the outputs are sensitive to the particular temperature of the MEMS elements. If a VR headset heats up during use, then calibration parameters are needed for every temperature that might arise in practice. Fortunately, IMUs usually contain a temperature sensor that can be used to associate the calibration parameters with the corresponding temperatures. Finally, MEMS elements may be sensitive to forces acting on the circuit board, which could be changed, for example, by a dangling connector. Care must be given to isolate external board forces from the MEMS circuit.

Steven M LaValle 2016-12-31