DPRG List  

[DPRG] how is GPS covariance estimation done?

Subject: [DPRG] how is GPS covariance estimation done?
From: Kipton Moravec kip at kdream.com
Date: Sat May 19 19:13:10 CDT 2007

On Sat, 2007-05-19 at 19:15 -0400, Chris Jang wrote:
> Hello,
> I've been reading about the Kalman filter and wonder where the
> covariance matrices come from? The theory is interesting. But
> eventually to use it, the filter requires statistics for both
> the system process and the measurements. The measurements can
> be many things - but for most robot builders, they will be GPS
> position readings.
> Allow me to provide a concrete example so it makes more sense.
> If a robot has odometry, then when it drives around, it has a
> good idea where it is. This location belief will have drift in
> it. UMBmark is a way of figuring out the systematic and random
> errors. Ok, let's make this simpler and assume the robot has
> been tuned so there is no systematic error anymore. So it can
> drive around in a square (both clockwise and counterclockwise)
> and on average comes back right to where it started. If these
> final positions are recorded, we can estimate the covariance
> experimentally.
> This is a lot of work. But now there is a statistical
> representation of uncertainty for the "system process" that is
> based on odometry readings from the robot's driving. As it
> drives around, an ever widening Gaussian distribution blob
> represents the robot position. On average, the robot is really
> located at the tallest point of the blob.
> Now say the robot has a GPS receiver. With some assumptions,
> the Kalman filter combines the odometry based belief as to
> location with the GPS measurements for an optimal location.
> To do this, the statistical covariances of the GPS measurement
> is necessary, just as it was for the odometry.
> How is this done? I've googled around and notice that as soon
> as "GPS" and "covariance" are combined, there are more patents.
> It looks like some methods measure jitter in satellite readings
> from a fixed position and then try to estimate covariance. But
> then we know that terrestial GPS is prone to large systematic
> errors (buildings block the signal). Then there is differential
> GPS, especially the WAAS corrections common in commercial
> products. And to make it more complicated, I know the US armed
> forces has a "GPS weather forecast". Depending on conditions,
> GPS accuracy can be better or worse. Is this information
> uploaded into ordnance like the JDAM (GPS guided bomb) on the
> day it is used?

I am not an expert, but this is what I understand. (It is even more

What WAAS does is measure the time of flight for the radio wave from
each satellite a WAAS receiver can see. It uses this to make the
adjustment of the radio wave coming through different kinds of
atmospheres. Then it generates these values for all the areas WAAS
covers (mostly just the U.S.). This data is sent to your GPS from one of
the 3 WAAS satellites if your GPS is set to receive it and you are in
LOS of the WAAS satellite. This improves your estimate of position. 

Since there are only three WAAS satellites and they cover the U.S. the
military has to add that data for better accuracy of their missiles in
other parts of the world, or they use Differential GPS (see below.) 

Even with WAAS turned on, if you leave a GPS on in a fixed location, and
track where it thinks it is you can see it wander a path around the real
location over a 24 hour period. It will be a good experiment for you to
try. There are free GPS programs on the web that will track and graph
this for you.

The interesting thing is that two GPS units (same model, built by the
same manufacturer) will wonder the same, and have the same differences
if they are not too far apart, (couple of miles) because they see the
same atmospheric errors in the waves and calculate the equations the
same. If one is fixed at a known location, then if the GPS says it is 10
feet north of where you know it is, then you know its partner is also
reported 10 feet north of where it really is. This is what Differential
GPS is all about, and it is another way to improve your GPS accuracy.

The GPS units use a Kalman Filter to generate the position on the earth,
from the time of arrival, the position of the satellites, and the real
time estimates. There are a couple of measures of "goodness" of the
track in the GPS data, which are probably taken from the covariance
data. Taking that data and manipulating it you can probably generate a
close enough approximation of the covariance.  The Kalman filter will
improve the estimate so you can see if you are wrong. With a few
iterations you can probably figure out the mapping from the numbers to a
close estimate of covariance.   

> I'm wondering if anyone has experience with real GPS systems to
> know how this actually works. I have no experience. I'm only
> reading theory. And it may be that covariance estimation is the
> really valuable part that no one will reveal. Everyone knows
> the same theory. But usually in practice, reality decides how
> things must work.
> By the way, I'm not using GPS myself. But I do plan on using
> Kalman filters for computer vision. I'm trying to get my mind
> around how this will work and hope the GPS case provides some
> insight.
> Chris
> _______________________________________________
> DPRGlist mailing list
> DPRGlist at dprg.org
> http://list.dprg.org/mailman/listinfo/dprglist
Kipton Moravec KE5NGX
"Always do right; this will gratify some people and astonish the rest."
--Mark Twain

More information about the DPRG mailing list