March 9, 2008

GPS Accuracy

My first attempt to use GPS for localization were very positive. It seemed that it would be possible to recognize the part of the house the robot was in based on the GPS fix. However, it turns out that the fix drifts considerably over the course of a few hours. The graph below shows the drift in meters for a stationary GPS receiver that was placed indoors on my computer for ten hours.


At some times the fix is as much as 14 meters away from the initial estimation. Most of the time, the fix is within five meters of the initial position, which is up to specification, so I have no reason to complain. Unfortunately, this is not as good as I would need for my application

There are several ways to increase the accuracy of the localization however. My GPS receiver is supposedly prepared for WAAS and EGNOS that are two systems (US and European based) that use stationary reference stations on the ground to correct for drift in the GPS signals. This is supposed to give 7 m accuracy 95% of the time which is good, but still not sufficient for my purposes.

These systems are instances of something called differential GPS (or DGPS). Since each reference station knows its absolute position, it is able to measure the accuracy of the GPS signal that it receives. The deviation from the correct location can then be transmitted to a GPS received to correct for these inaccuracies

This gives me an idea. Why not set up my own correction system within my house? It would be possible to use one or several stationary GPS receivers at known locations in the house to measure the accuracy of the fix. These measurements could then be transmitted to the robot using the wireless network to correct for the fix from the GPS on the robot. This could work if the drift is the same for all GPS receivers in the house. Although this method would certainly work outside, it is not at all clear that it will also function indoors where there are many reflection from walls and other objects. There is only one way to find out: time to get a second GPS receiver.