The EKF position innovations are in the range of -20 to 20 cm.
I would expect this value to be much lower.
We use a UBLOX @5Hz and a Septentrio AsteRX-m2 at 10Hz.
The GPS library has been patched send ONLY GPS2 to the EKF.
The flight speed is mostly constant at ~5 m/s the flight path is a circle.
When Vx is aprox 0 the X position innovations are also almost zero.
The larger the Vx the larger the X innovations.
The same on the Y axis. Small Vy -> small Ypos innovations, the bigger the Vy the bigger the innovations.
So it looks like at small speeds the EKF does a good job.
At 5m/s it just fails miserably.
When comparing GPS positions with EKF positions we used this formula:
(GPS2.Lat-Pos.Lat)*111275.93
(GPS2.Lgn-POS.Lgn)*67980.245
And see that they differ up to 60cm from each other.
How can the difference between EKF and GPS grow from zero to up-to 60cm within 100ms ??
The copter is flying at ~5m/s that is 50cm/100ms.
We flew with previously with EK2_GPS_DELAY at 110ms (default).
To try to compensate for the innovation errors I’ve reduced the EK2_GPS_DELAY to 55 ms.
The position of the GPS relative to the PH2.1 has been taken care by a (0.11, 0, -0.125) meter offset.
What testing was done to determine the 55 ms lag? When I did flight tests with a AsteRx-M it came out to 80 ms lag. (It’s of course possible the M2 is faster, but the driver is only providing the 80 ms number to EKF3 at the moment, and if we should be more flexible that’s worth knowing/bringing in).
thanks Amilcar, that shows 80ms lag on the SBP, and 200ms on the uBlox. The long lag on the uBlox is a surprise. If you fly again, can you setup faster LOG_BITMASK? (use 65535) so we get better time resolution