GPS Accuracy, Refresh Rate, and Kalman Filtering?

Hello All!
I am working on a project where I have two devices that constantly trying to locate eachother using GPS modules and LoRa transcievers.
Its a buddy tracker for spearfishermen, to make it easier to locate your partner when you're out in the ocean.

Here's a quick example:

And a less quick demo:


However, I am having some growing pains with the precision of my gps modules.
I'd like to be able to use the two gps coordinates to calculate a bearing between the two devices, and use the IMU heading to determine its actual heading.
The IMU is actually working great (BNO055), its actually the gps precision that is gumming up the works.

For example, imagine the red markers are the devices true location, and the circle around them represents their maximum error.
The green line represents the true bearing between devices, and the red the worst case bearing output.

8390777863?profile=RESIZE_584xBearing Error vs Distance:

8390914897?profile=RESIZE_710x

This small plot shows how severe the bearing error can be in degrees (y axis), and the distance between devices in meters (x axis) given that both units are off by 2m.
So, if you're 5 meters away from your partner, the device could be 40 degrees off - not exactly what I'm shooting for.


Heres about 5 minutes of data from my gps modules at the beach:

8390854488?profile=RESIZE_710xIn this setup, the modules are about 10cm apart from eachother and stationary the entire time. Modules 1 & 2 are some NEO-6M cheapies, and module 3 is an adafruit 'ultimate' gps. 
I'm wondering what options are available to me to help improve this performance a bit and I know the DIY drones community has a lot of experience with this sort of thing.


Some specific questions:
1) If I use a faster refresh rate on my gps module, can I use a moving average to improve the accuracy of the units? Or do the GPS modules already do that kind of thing automatically if you have them in a slow refresh mode?

2) Given that I have some linear acceleration data in global reference frame from the BNO055, it seems like some sort of Kalman filter should be possible to improve the GPS accuracy. I know that the acceleration is noisy, and that some versions of ardupilot have this option available, but I've never deployed a Kalman filter before (lots of FIR filters...) and I was wondering if anybody had really good example or literature of this? What kind of performance improvements would be reasonable to expect if I deployed it correctly? Just need a little hand holding XD

Thanks for your time! Let me know what you think!

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Activity

DIY Robocars via Twitter
Jan 28
DIY Robocars via Twitter
RT @Heavy02011: ⁦@diyrobocars⁩ : A Home-brew computer club* for Connected Autonomous Driving. talk at #piandmore ⁦@PiAndMore⁩ on Jan 23rd h…
Jan 23
DIY Robocars via Twitter
RT @a1k0n: New blog post! Deep dive into my ceiling light based localization algorithm which runs in 1ms on a Raspberry Pi 3: https://t.co/…
Jan 23
DIY Robocars via Twitter
Great new guide to using @donkey_car https://custom-build-robots.com/donkey-car-e-book-en
Jan 23
DIY Robocars via Twitter
RT @chr1sa: The next @DIYRobocars virtual AI race is tomorrow morn at 9:00am PT. You can watch live on Twitch https://www.meetup.com/DIYRobocars/events/275268196/
Jan 22
DIY Robocars via Twitter
New version of Intel OpenBot! This resolves many of the issues with the first version, including a much smoother tr… https://twitter.com/i/web/status/1352395636369313798
Jan 21
DIY Drones via Twitter
Using ArduRover with an RTK GPS https://ift.tt/2N9I3RO
Jan 18
DIY Drones via Twitter
Jan 18
DIY Robocars via Twitter
Jan 18
DIY Robocars via Twitter
Jan 15
DIY Robocars via Twitter
Jan 15
DIY Drones via Twitter
Jan 14
DIY Robocars via Twitter
RT @Heavy02011: @diyrobocars : A Home-brew computer club* for Connected Autonomous Driving on Jan 23rd, 2021 https://www.meetup.com/Connected-Autonomous-Driving/events/275728684/ #Meetu…
Jan 14
DIY Robocars via Twitter
Jan 14
DIY Robocars via Twitter
RT @Heavy02011: ⁦@diyrobocars⁩ Autonomous Driving Assembly at #rC3. join us at https://rc3.world/rc3/assembly/diyrobocars-f1tenth/ ⁦@f1tenth⁩ ⁦@DAVGtech⁩ ⁦@DWalmroth⁩…
Jan 11
DIY Robocars via Twitter
RT @chr1sa: New car designs coming for our next @DIYRobocars @donkey_car virtual race on the 23rd. Choose any one you want at race time Le…
Jan 11
More…