This may be a dumb question, but, lets say we have three GPS modules. They are all next to one another, same part number GPS module. Lets say that they have an accuracy of 12 feet. That leaves us with a output of locatio somewhere within 12 feet square. Now all three are not likely to give exactly the same position (will be a little different). Now if we average the readings wouldn’t that give us a more acurate location.
Example: accuracy within 10 feet. First = 2, Second = 9, Third = 5, Total = 16, Divide by three = 5.333.
What you are suggesting will probably work, but not enough to be worthwhile. If the errors in the readings from the three GPS modules were totally uncorrelated, you would theoretically be able to reduce the errors by a factor of sqrt(3) by averaging them together, which would bring that 12 ft down to 7 ft. That is the best you could possibly hope for. However, I believe that most of the error in GPS is correlated between receivers, since it has to do with things like variations in the orbits of the satellites. So you might only be able to reduce the error to 10 or 11 ft. It is probably more economical to just buy a better receiver!
On the other hand, if you average readings over time, you can get more precise results. I have heard of people averaging readings over hours or days to get the best possible measurement of some fixed position. Also, you could definitely use three receivers for redundancy in case one temporarily receives a bad signal.
Thanks for the feed back.
Let me give a little more information. I am building an auto pilot for a RC plane that is a photo platform for HD video. The purpose is to be able to have dual control of the airplane(both transmitter and auto pilot as a slave for accurate flight for flying between objects(trees etc) at the right height( as set in weigh points), this system will also be able to land or land assist in the wind in small landing sites.
I have order two very accurate barometers, accurate to 7 inches altitude, they are temperature compensated. One will be used for altitude and one for a air speed indicator(pitot tube). The LS20031 global positioning system (GPS) receiver module gives an accuracy of 9.84251969 feet, giving me a known position of 9.8 feet square X 7 inches at all time. I am hoping to narrow the 9.8 feet square down a little bit more by averaging. With 9.8 feet I will not be able to fly between objects that are closer than 30 feet apart due to safety margins (gusts of wind etc).
Looking forward to more of your thoughts on this problem.
I have not done any precision GPS myself, so I do not have a solution for you, but I think that one thing you need to do is be much more specific when talking about the accuracy of your measurements. Saying “9.8 feet square” makes it sound like you think the readings will somehow fall within a sharply defined square of width 9.8’, when actually they will probably be distributed in something more like a fuzzy circular blob with radius 9.8’. Depending on how this error is specified, you might be more than 9.8’ away from your measured position 50% of the time. If you want something like a 99% chance of not hitting an object, you should be making plots of your measurements over time - probably over several days - (some example GPS error plots are here) and checking how big of a circle you need to draw around the actual position to enclose 99% of your measurements.
Hopefully, doing that kind of analysis will prepare you to evaluate different techniques for improving your precision. I would be very interested to hear what you come up with!
Thanks so much for your time and feedback. The data about understanding GPS errors was very helpful. The error problem is the reason that it is so hard to land a plane autonomously (as in drones or unmanned aircraft) on an aircraft carrier.
The flight position system will also have CHR-6dm Attitude and Heading Reference System.
I am not believing that I can overcome all the error factors, but, what I hope to do is program a “smoothing” of the data. By using heading, pitch, roll, yaw data with the heading aided by GPS, the altitude and air speed given by accurate barometers, I hope to give the aircraft as accurate a picture of where it is in 3D space. Also know that the aircraft is a very slow flying aircraft, less than 15 MPH air speed at full speed and a stall speed of about 2 MPH air speed. Therefore with a slight breeze the aircraft will almost stand still in the air with no power applied. This is not a normal aircraft. The plane without camera and batteries (it is electric motor power) weighs less than two pounds and has a wing span of over eight feet. It is made of carbon fiber, a little dense foam thin plywood and film. It is a little difficult to take off in a five MPH wind because wind never is really straight and smooth. This causes the wing on one side to gain more lift than the other side and has a tendency to want to want to flip over. But once in the air it flies very well, though it has a bit of a wandering problem when flown by RC transmitter. From the ground we don’t see all of the affects of the wind/thermals and we don’t have the ability to react fast enough or correctly for those effects. It is hoped that the onboard sensors will give the necessary control to make the aircraft a truly great photo platform for the HD video we want to be able to shoot,
The best sensors are of no use if the programming is lacking. This is a fun project and am looking forward to the challenge it poses. I am lucky that I am retired and this is a hobby. There will be many failures and that is where the learning comes in. If it was easy everyone would do this.
Your project sounds exciting, but it is way beyond my experience with GPS. I would be more than happy to take a look at some error plots or give you advice about how to analyze your data if you start collecting some, but I do not have any great suggestions for you right now. Are you using any of the CHR-6dm output for stabilization yet?