Hi,
I'm looking for a solution to the coordinates' drift problem.
The problem is that even when the module I'm using is completely stationary in relation to Earth's surface, both latitude and longitude drift by 0.4 ms - 1.25 ms (which means a constant few centimeter drift per measurement).
I suppose that it's because the satellites' orbits and motion isn't perfect and consistent (obviously), and, just like every other measuring equipment, clocks aboard satellites also have their inaccuracies.
I noticed that the first measurement spit out by the module after power-up is always the most accurate one. I've searched Google and the forum but didn't find any useful info. The module is an old SparkFun Venus GPS. I'd appreciate every useful bit of information you could give me.
And I know that the module has ~20 m accuracy but coordinates seem to drift to infinity. After ~an hour they drifted to well beyond 20 meter range. And also I'm not very good with IMUs, so I'd need a ready-to-go solution, as I'm incapable of using or developing a correction algorithm utilizing an IMU.
I'm looking for a free, software solution. I don't need greater accuracy, I need to get rid of drifting.
Is there a way I can set up the module to prevent drifting? Because as I said, after restart (power-down, power-up) the coordinates start drifting again but the first measured location is always the closest one to the module's real position.
If DGPSs are so expensive, how could old stand-alone navigations cost less than 200$?
I don't see why there wouldn't be a cheaper solution.
So let's assume that an IMU and a Kalman filter algorithm are the only option.
What do I do? Is there a tutorial, a library, or something, which I can implement straight away?
I just don't want the module to show that I'm on the opposite side of my country. The 20 m accuracy is totally enough.
You should expect some drift - that's the nature of the beast. But if you're getting significant drift way over the expected 20m error, something is wrong.
It could be that you don't have an adequate view of the sky - can you tell how many satellites the device can see? I assume that the GPS is outside at least.
That it drifts more over time is odd too. Do you have an overheating problem?
wildbill:
You should expect some drift - that's the nature of the beast.
As I said earlier - I do expect some drift :). But not as much as I get.
wildbill:
It could be that you don't have an adequate view of the sky - can you tell how many satellites the device can see?
Worst conditions - 4 satellites, best conditions: 15. More satellites = less drift, but it still goes way beyond specified 20 meter error.
wildbill:
That it drifts more over time is odd too. Do you have an overheating problem?
I don't think so. I have an IR thermometer and the temperature doesn't exceed 30*C.
Also everything is connected properly. There is no problem with voltages 'cuz I'm using a high quality UART to USB converter with voltage regulation and read the data directly from it. No Arduino in the way.
srnet:
A GPS that has such bad drift that it can show your on the other side of the country is either just not very good or faulty.
Oh no no, about that I was just kidding. From the looks of where it all was going. Sorry. After a few kilometers I stopped measuring.
7_Eschaton_:
Oh no no, about that I was just kidding. From the looks of where it all was going. Sorry. After a few kilometers I stopped measuring.
I test a lot of GPSs as trackers, I cannot recall ever seeing one that had a good view of the sky, and a decent antenna, making such very large shifts in position.
What do you intend to use the GPS for? Why is it a problem that it may be 3m off or is it the fact that readings vary when standing still ?
I assume it's going to be moving at some point which makes it tricky to distinguish from natural drift. If it's stationary for a time, presumably you could do some averaging, but I don't really believe that your average reading will really be your actual position. GPS is incredibly precise, but it will always have some error.
It's a hard problem to solve - I notice that the Uber app flips from time to time between driver is coming towards my location and then briefly away. There are a lot of tree lined roads where I live though.
wildbill:
What do you intend to use the GPS for? Why is it a problem that it may be 3m off or is it the fact that readings vary when standing still ?
I intend to use it in a car to show it's position on a map and calculate velocity. No navigation.
wildbill:
It's a hard problem to solve - I notice that the Uber app flips from time to time between driver is coming towards my location and then briefly away. There are a lot of tree lined roads where I live though.
Indeed it is. But apps like Free Now (myTaxi), Google Maps and Uber also use multiple localization and error correction techniques. Cellular network, IMUs etc.
Anyway. What do you think about Waveshare L76X? The specs say it supports DGPS, but there's no info on accuracy.
The specs say it supports DGPS, but there's no info on accuracy.
All the current modules (from reputable manufacturers and sellers) have very similar performance. Accuracy depends on the antenna, the immediate environment and the number of satellites in the sky, not the module.
There is something wrong with the old one that you now have.
7_Eschaton_:
The problem is that even when the module I'm using is completely stationary in relation to Earth's surface, both latitude and longitude drift by 0.4 ms - 1.25 ms (which means a constant few centimeter drift per measurement).
Either the device is faulty or the problem description is.
If there was constant drift the GPS would eventually show you on the other side of a continent or an ocean - which would be daft.
Some uncertainty in the position should average out over several readings.
The uncertainty will be greater if fewer satellites are visible to the GPS but, as long as there are enough satellites visible to get a fix there should be no constant drift.
True, but some positional drifting can be over quite a large distance, and take a long time to be self-corrected. See these examples taken from a GPS on mountain tops.
jremington:
See these examples taken from a GPS on mountain tops.
I am often wrong but it seems to me that your chart shows the position consistently within +/- 1.5 metres. I reckon that would be perfectly good enough to find your way on a mountain.
srnet:
That is a completly different requirement to what you have said in previous posts which have all been to do with position drift of a stationary GPS!
Uhm, have you ever heard of traffic jams? It'll (unfortunately) be stationary 50% of the time.
Robin2:
If there was constant drift the GPS would eventually show you on the other side of a continent or an ocean - which would be daft.
Well, there's no contradiction in what I'm saying. As I said earlier - I stopped measuring after a few kilometers.
Robin2:
The uncertainty will be greater if fewer satellites are visible to the GPS
Welp, that's obvious.
jremington:
All the current modules (from reputable manufacturers and sellers) have very similar performance. Accuracy depends on the antenna, the immediate environment and the number of satellites in the sky, not the module.
Well, that's not entirely true since some modules use additional technologies (not every module supports DGPS or has an integrated IMU) to increase accuracy.
I'm repeating the question 'cause it seems that nobody noticed it - how does Waveshare L76X sound? Any good?
As it's becoming clearer that the whole topic gets closer to an end, thank you all for your replies.
it seems to me that your chart shows the position consistently within +/- 1.5 metres
Squint a bit harder! The Y axis shows a drift of 10 meters.
not every module supports DGPS or has an integrated IMU) to increase accuracy
The integrated IMU won't do anything at all for positional accuracy. You are being misled if you believe claims to the contrary. Instead, the GPS is used to correct the egregious errors in IMU position and velocity estimates, which are useful when GPS coordinates are not available.
If you can find a "current module" that does not support DGPS, don't buy it.
Since you seem to like the Waveshare L76X, buy it and let us know if it meets your approval.