Main Content

residual

Residuals and residual covariances from direct state measurements for insfilterErrorState

Since R2020a

Description

[res, resCov]= residual(FUSE,idx,measurement,measurementCovariance) computes the residual, res, and the residual covariance, resCov, based on the direct state measurement and measurement covariance. The measurement maps directly to the states specified by indices, idx.

example

Examples

collapse all

Create an insfilterErrorState object and display its state.

filter = insfilterErrorState;
disp(filter.State')
     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     1

Specify a measurement of altitude and vertical velocity.

idx = [5 6 7];
measure = [10 20 30];
measureCov = 1e-2*diag([5 5 5]);

Obtain the residual for the measurement.

[res,rescov] = residual(filter,idx,measure,measureCov)
res = 1×3

    10    20    30

rescov = 3×3

    1.0500    1.0000    1.0000
    1.0000    1.0500    1.0000
    1.0000    1.0000    1.0500

Input Arguments

collapse all

insfilterErrorState, specified as an object.

State vector index of measurements to correct, specified as an N-element vector of increasing integers in the range [1, 17].

The state values represent:

StateUnitsIndex
Orientation (quaternion parts)N/A1:4
Position (NED)m5:7
Velocity (NED)m/s8:10
Gyroscope Bias (XYZ)rad/s11:13
Accelerometer Bias (XYZ)m/s214:16
Visual Odometry Scale (XYZ)N/A17

Data Types: single | double

Direct measurement of state, specified as a N-element vector. N is the number of elements of the index argument, idx.

Covariance of measurement, specified as an N-by-N matrix. N is the number of elements of the index argument, idx.

Output Arguments

collapse all

Measurement residual, returned as a 1-by-N vector of real values.

Residual covariance, returned as a N-by-N matrix of real values.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2020a