Hacker News new | ask | show | jobs
by walrus01 1914 days ago
It would be interesting to try as a DIY project on a small ship, for an electronics experiment... Since high quality GPS+Glonass receivers with the ublock m8n chipset are like $35 a piece now, and have standard UART interfaces on them. You could find a very small IP69 rated enclosure, connect one at the front of the ship to a small arduino with a RS485 link or ethernet back to some electronics in the pilothouse.
2 comments

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.
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.

The issue here is less about the GPS signals and more about the math to compute heading. Its complicated, we did this in the early 2000's for ship pilots (portable heading system) in the US with mixed results. By the way you can get heading, COG and rate of turn. Rate of TURN is really what these pilots use from what I understand. (give you future prediction of bow / stern)