Main Content

fusegyro

Correct states using gyroscope data for insfilterAsync

Description

example

[res,resCov] = fusegyro(FUSE,gyroReadings,gyroCovariance) fuses gyroscope data to correct the state estimate.

Examples

collapse all

Create an insfilterAsync object and display its state.

filter = insfilterAsync;
disp(filter.State')
    1.0000         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0   27.5550   -2.4169  -16.0849         0         0         0

Fuse an gyroscope measurement with its covariance.

angularVel = [1 1 1] 
angularVel = 1×3

     1     1     1

angularVelCovariance = 0.01*diag([1 1 1]);
[res,resCovariance] = fusegyro(filter,angularVel,angularVelCovariance)
res = 1×3

     1     1     1

resCovariance = 3×3

    0.0120         0         0
         0    0.0120         0
         0         0    0.0120

Display the state after the fusing.

disp(filter.State')
    1.0000         0         0         0    0.0833    0.0833    0.0833         0         0         0         0         0         0         0         0         0         0         0         0    0.0833    0.0833    0.0833   27.5550   -2.4169  -16.0849         0         0         0

Input Arguments

collapse all

insfilterAsync, specified as an object.

Gyroscope readings in local sensor body coordinate system in rad/s, specified as a 3-element row vector.

Data Types: single | double

Covariance of gyroscope measurement error in (rad/s)2, specified as a scalar, 3-element row vector, or 3-by-3 matrix.

Data Types: single | double

Output Arguments

collapse all

Residual, returned as a 1-by-3 vector of real values in rad/s.

Residual covariance, returned as a 3-by-3 matrix of real values in (rad/s)2.

Extended Capabilities

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

Version History

Introduced in R2019a