Main Content

fusegps

Correct states using GPS data for insfilterNonholonomic

Description

example

[res,resCov] = fusegps(FUSE,position,positionCovariance) fuses GPS position data to correct the state estimate.

[res,resCov] = fusegps(FUSE,position,positionCovariance,velocity,velocityCovariance) fuses GPS position and velocity data to correct the state estimate.

Examples

collapse all

Create an insfilterNonholonomic object and display its state.

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

Fuse a GPS position measurement with its covariance.

position = [5 3 2] % in deg deg meters
position = 1×3

     5     3     2

positionCovariance = diag([1 1 1]);
[res,resCovariance] = fusegps(filter,position,positionCovariance)
res = 1×3
105 ×

    5.5218    3.3254    0.3282

resCovariance = 3×3

     2     0     0
     0     2     0
     0     0     2

Display the state after the fusing.

disp(filter.State')
   1.0e+05 *

    0.0000         0         0         0         0         0         0    2.7609    1.6627    0.1641         0         0         0         0         0         0

Input Arguments

collapse all

insfilterNonholonomic, specified as an object.

Position of GPS receiver in geodetic latitude, longitude, and altitude (LLA) specified as a real finite 3-element row vector. Latitude and longitude are in degrees with north and east being positive. Altitude is in meters.

Data Types: single | double

Position measurement covariance of GPS receiver in m2, specified as a 3-by-3 matrix.

Data Types: single | double

Velocity of the GPS receiver in the local NED coordinate system in m/s, specified as a 3-element row vector.

Data Types: single | double

Velocity measurement covariance of the GPS receiver in the local NED coordinate system in m2/s2, specified as a 3-by-3 matrix.

Data Types: single | double

Output Arguments

collapse all

Position and course residual, returned as a vector of real values in meters and radians.

  • If the input does not include velocity and velocity covariance, then res contains only the position residual, returned as a 1-by-3 vector of real values in [meters meters meters].

  • If the input includes velocity and velocity covariance, then res contains position and course residual, returned as a 1-by-4 vector of real values in [meters meters meters radians].

Residual covariance, returned as a 3-by-3 or a 4-by-4 matrix of real values.

Extended Capabilities

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

Version History

Introduced in R2018b