fusegps

Correct states using GPS data for `insfilterNonholonomic`

Syntax

``[res,resCov] = fusegps(FUSE,position,positionCovariance)``
``[res,resCov] = fusegps(FUSE,position,positionCovariance,velocity,velocityCovariance)``

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.

Version History

Introduced in R2018b