Using a pair of Reach units as a GPS compass

Just for fun - and whilst we wait for the IMU logging to be implemented on the Reach :slight_smile: - I thought I would experiment with using my pair of Reach units as a “GPS compass”. A GPS, or satellite, compass is a way of deriving headings using a pair of GPS receivers, the benefits of which include the fact that they are not affected by magnetic fields in any way - commercial examples are usually quite expensive.
For this test, I mounted reach units fore and aft on my kayak about 3m apart, and logged GPS+Glonass 5Hz. I then processed one set of observations against the other, using the “moving baseline” mode in RTKLib.
Results were fantastic - here’s an image showing the results, which - as you would expect - form a circle. There are about 35k observations in this image, taken over 2 hours. Note that although it appears that there are some erroneous positions within the circle, this is not the case. We are looking at the 2D distance between the fore and aft receivers, and the shortened baseline represented by the points within the circle are explained by the fact that the kayak was at a steep angle (wheeled up and down a ramp) during these observations (think of the circle as actually being a sphere, that we are looking down on - the inner points lie on the surface of this sphere).

Deriving the headings during post-processing is very simple; simply generate the solution with enu (east/north/up) output and use trig to derive the heading from the east and north components.

I was also able to then post-process the same data using local CORS data to get my absolute positions, which also worked very well (99% fix).

Obviously this is not a real-time solution but for my purposes it works very well, and although I can’t give you any precise figures my guess is that the accuracy is very good - perhaps in the order of 0.5 degree. This is based on the size of my baseline (almost 3m) and the 1.1cm standard deviation I get when I calculated the baseline length of all of my observations.


Very nice! All the way around…

I’m using a dual RTK (NVS-NV08C-RTK-A) and I love getting a solid heading from it. It would be great if REACH would be extended to handle two receivers (with a single controller).

1 Like

Hi @matt1973!

Very exciting project, please share updates with us :slight_smile:

Hi Matt.
Very interesting.
Have you tested to get Compass direction during real time operation?
I have started with two RTK units and a Arduino DUE to calculate Compass but not ready yet.
I would love having a GPS-Compass.

1 Like

Hi Pelle,
No, I haven’t tried doing this in real time. For my application (logging sonar from a kayak for later processing) there really isn’t any need for super high precision in real time - it can all be done in post processing.