AP_NavEKF: Use GPS reported speed accuracy if available
UBlox receivers report an estimate of the speed accuracy that tests show correlates well to speed glitches. Using this to scale the GPS velocity observation noise will reduce the effect of bad GPS velocity data.
mission-4.1.18
priseborough10 years agocommitted byAndrew Tridgell
// @Description: This is the RMS value of noise in the North and East GPS velocity measurements. Increasing it reduces the weighting on these measurements.
// @Description: This is the scaler that is applied to the speed accuracy reported by the receiver to estimate the horizontal velocity observation noise. If the model of receiver used does not provide a speed accurcy estimate, then a speed acuracy of 1 is assumed. Increasing it reduces the weighting on these measurements.
// @Description: This is the scaler that is applied to the speed accuracy reported by the receiver to estimate the vertical velocity observation noise. If the model of receiver used does not provide a speed accurcy estimate, then a speed acuracy of 1 is assumed. Increasing it reduces the weighting on this measurement.
gpsNEVelVarAccScale(0.05f),// Scale factor applied to horizontal velocity measurement variance due to manoeuvre acceleration
gpsDVelVarAccScale(0.07f),// Scale factor applied to vertical velocity measurement variance due to manoeuvre acceleration
gpsNEVelVarAccScale(0.05f),// Scale factor applied to horizontal velocity measurement variance due to manoeuvre acceleration - used when GPS doesn't report speed error
gpsDVelVarAccScale(0.07f),// Scale factor applied to vertical velocity measurement variance due to manoeuvre acceleration - used when GPS doesn't report speed error
gpsPosVarAccScale(0.05f),// Scale factor applied to horizontal position measurement variance due to manoeuvre acceleration
boolprevVehicleArmed;// vehicleArmed from previous frame
structLocationEKF_origin;// LLH origin of the NED axis system - do not change unless filter is reset
boolvalidOrigin;// true when the EKF origin is valid
floatgpsSpdAccuracy;// estimated speed accuracy in m/s returned by the UBlox GPS receiver
// Used by smoothing of state corrections
Vector10gpsIncrStateDelta;// vector of corrections to attitude, velocity and position to be applied over the period between the current and next GPS measurement