Measurement Processors

Given a sensor measurement, Measurement Processors (MPs) provide the Fusion plugin with a model to update the states. Given a set of observations \(\mathbf{z}\) which contain information about the state estimates, \(\mathbf{x}\), the Measurement Processor produces the model which relate the two. Let \(\mathbf{x}_k\) be the Mx1 vector representing the value of \(\mathbf{x}\) at time \(t_k\) and \(\mathbf{z}_k\) be the Nx1 set of observations collected at \(t_k\). Then the Fusion plugin assumes that the observations are related to the state vector \(\mathbf{x}\) by

\[\mathbf{z}_{k}\mathbf{=h}(\mathbf{x}_{k})\mathbf{+v}_{k},\ \ \ \mathbf{v}_{k}\overset{\mathrm{iid}}{\sim}N(0,\sigma_{v})\]

where \(\mathbf{h}\) is the measurement model function, and \(\mathbf{v}\) is a white Gaussian noise source. In the special case of a linear model, \(\mathbf{h}(\mathbf{x})\) can be written \(\mathbf{h}(\mathbf{x})=\mathbf{Hx}\), where \(\mathbf{H}\) is the Jacobian matrix and \(\mathbf{h}(\mathbf{x})\), respectively. The discrete-time measurement noise covariance matrix is defined as \(\mathbf{R}=E[\mathbf{v}_{k}\mathbf{v}_{k}^T]\).

When a Fusion plugin wants to update a set of states with a measurement, it queries the Measurement Processor associated with that update for the update model which contains three things: \(\mathbf{h}(\mathbf{x})\), \(\mathbf{H}\), and \(\mathbf{R}\).