Regarding the subject of GPS Latency (due to filtering internal to the GPS - necessary for a weighted output of multi-satellite estimation):
"The simplest to implement, but also the most inaccurate, solution is to simply ignore the fact that the sensor measurement is lagged. A normal Kalman measurement update is then performed to fuse the delayed sensor measurement with the current state estimate. This is the option that was used for the GPS sensor fusion in MIT’s EKF based UAV state estimator. Their rationale was that the 50ms latency of the Ashtech G12 GPS receiver was short enough to not cause significant errors if ignored. Even though this assumption is probably reasonable for the specific time-delay at hand, we felt that valuable information in the measurements were still being discarded using this approach and that compensating for the latency will in fact result in a significant increase in estimation performance. This was experimentally confirmed earlier in the Experimental Results section."
"Latency in various GPS receivers' NMEA navigation strings has proven to be less than "real time." In fact, one of the early differentially corrected GPS systems widely integrated into the leading yield monitor had as much as a 6-8 second latency. The receiver's latency in this case was directly tied to the differential correction of the raw pseudoranges." Lew: Unfortunately, this and several other papers fail to acknowledge the fact that GPS output is, by it's very nature, lagged due to the filtering employed. In order to determine a vector, the GPS must employ some form of averaging or smoothing. The same holds true for stationary position fix, which requires the integration of several measurements, each exhibiting hysteresis due to the innacuracies associated with pseudo-range and carrier-phase observations along with multipath errors. What's really needed is an algorithm that models GPS latency (which likely varies from GPS model to model).
Raw-Data Update GPS Hardware: