You could buy a sensor and start using it with the assumption that it is already well calibrated. For a cheaper sensor, however, the calibration is often unreliable. Suppose we have one expensive, well-calibrated sensor that reports angular velocities with very little error. Let $ \hat{\omega}'$ denote its output, to distinguish it from the forever unknown true value $ \omega $. Now suppose that we want to calibrate a bunch of cheap sensors so that they behave as closely as possible to the expensive sensor. This could be accomplished by mounting them together on a movable surface and comparing their outputs. For greater accuracy and control, the most expensive sensor may be part of a complete mechanical system such as an expensive turntable, calibration rig, or robot. Let $ \hat{\omega}$ denote the output of one cheap sensor to be calibrated; each cheap sensor must be calibrated separately.

Calibration involves taking many samples, sometimes thousands, and comparing $ \hat{\omega}'$ to $ \hat{\omega}$. A common criterion is the sum of squares error, which is given by

$\displaystyle \sum_{i=1}^n (\hat{\omega}_i - \hat{\omega}'_i)^2$ (9.5)

for $ n$ samples of the angular velocity. The task is to determine a transformation to apply to the cheap sensor outputs $ \hat{\omega}$ so that it behaves as closely as possible to the expensive sensor outputs $ \hat{\omega}'$.

Using the error model from (9.1), we can select constants $ c_1$ and $ c_2$ that optimize the error:

$\displaystyle \sum_{i=1}^n (c_1 + c_2  \hat{\omega}- \hat{\omega}')^2 .$ (9.6)

This is a classical regression problem referred to as linear least-squares. It is typically solved by calculating the Moore-Penrose pseudoinverse of an non-square matrix that contains the sampled data [341].

Once $ c_1$ and $ c_2$ are calculated, every future sensor reading is transformed as

$\displaystyle \hat{\omega}_{cal} = c_1 + c_2  \hat{\omega},$ (9.7)

in which $ \hat{\omega}$ is the original, raw sensor output, and $ \hat{\omega}_{cal}$ is the calibrated output. Thus, the calibration produces a kind of invisible wrapper around the cheap sensor outputs so that the expensive sensor is simulated. The raw, cheap sensor outputs are no longer visible to outside processes. The calibrated outputs will therefore simply be referred to as $ \hat{\omega}$ in the remainder of this chapter.

Steven M LaValle 2016-12-31