Hacker News new | ask | show | jobs
by WJW 1904 days ago
If you do this, do read up on Kalman and/or particle filters to stabilize the output and maybe even add in an IMU module. GNSS sensors have a fair amount of variance from atmospheric disturbances, so their reported position can jump around a fair bit. If you are out of range of DGPS stations you can have errors of 1-2m easily, which could lead to jumps in perceived course of tens of degrees.
2 comments

Better yet, ignore Kalman filtering and read up on RTKLIB. You want moving baseline for this and you need some receivers that will give you raw measurements. Basically if you're trying to measure the distance between two GPS receivers that are relatively close together much of the error will be the same so measuring the delta between them is highly accurate. Here's a guy who did this on a kayak and the accuracy was quite good with only a 3m baseline.

https://community.emlid.com/t/using-a-pair-of-reach-units-as...

He was post processing the data, but part of RTKLIB is RTKNAVI which is real time and I haven't used it but in theory I'd think RTKNAVI would support moving baseline as well. Post processing should be slightly more accurate as you can use measurements in the future as well but it should still be very accurate real time.

Two receivers in the same general location tend to see the same atmospheric distortion, so a naive solution for demonstration purposes can still work well assuming the receivers mostly use the same satellites. No need to make an experiment for fun more complicated than you want to, although filters can be fun!

As others have mentioned, There's much better you can do if you're going for optimal and you have the raw satellite timing information from both receivers.

You can go to the extreme and build a full blown IMU that's tolerant to GPS outages. If it's sensitive enough, you can even measure the rotation of the planet. Big expensive ships presumably have that. The boats on a tracker that glitch their orientation when stopped seemingly don't have that, or at least don't have it integrated with that tracking system.