Getting the most accurate location/position? (GPS/Kalman/Android)

Bernd Kampl picture Bernd Kampl · Nov 27, 2012 · Viewed 12.8k times · Source

I'm developing an AR app for android and I need a really accurate position (under 1m). The app is pedestrian based (outdoors) and needs the location in real time. I'm aware that the problem is probably a really hard one, but hopefully others have come across a solution to this.

I've already looked into Kalman filters and extended Kalman filters, but so far I haven't found a solution that I have been able to use or adapt. I think that a kalman filter is probably the direction I need to go.

Right now i'm using the raw gps data to set my location, but this is too inaccurate and can move around or even jump by about 5-10 meters when the device is standing still in one place.

So my question is: while I am using now the raw unfiltered gps data to get a position, how would I need to filter it (kalman? extended kalman?) and which sensors would i need to use (gps position? gps speed? accelerometer?) to get the most possible accurate location pedestrian outdoor location.

UPDATE: i need to update my question, since it's not possible to do what my initial question was, getting a sub 1-meter accuracy on tablet/phone gps. my question now is: how can i apply filtering so that subsequent gps position measurements stay within a manageable distance. e.g. so that when i go 10m north with my device that my gps also measures that i went 10m north +/-1m (10%) from my initial position and not the jumping/moving around that the gps measures.