I would like to receive the GPS position from the Arducopter every 500ms. I think the copter is sending the gps position every 2 seconds as default. Where is it possible to change or implement this?
The copter is connected via telemetry and I need the 500ms to improve the Position Hold mode.
Thanks for your help!
The civvy version of GPS has a HDOP of no better than about 5 meters.
Worse if you are moving in and out of the influence of reflecting surfaces.
Those are trees, building, etc.
Which means that even if you update at x rate, and your platform can respond at that speed, your platform will still be scooting around in a 5 meter area.
Worse in the vertical plane.
Rather just average out the position fixes you are getting, to maintain position.
Your GPS data rate is controlled by two factors. How fast the GPS publishes updates, which is GPS dependent, and how frequently the APM reads these. But as Gustav is alluding to, unless you are moving (and fast,) the GPS fix is just not that accurate that adding more position reports over the 4 or 5 times a second that you get them now will produce a more accurate position for ArduCopter, especially while it is not moving to begin with.
Now, that being said, there can be benefits gained with filtering/averaging and dead reconning calculations between fix reports, damping GPS position changes based on accelerometer data (if we know we didn't move, feed that into a filter on your GPS position estimation to further dampen changes, etc) and none of that can be "configured" right now, you'd have to get into the code and write it, or wait for the dev team to do the same.
But you have to ask yourself what your goal is here... if it is improving the position hold to within feet and inches, you need to look at options besides GPS.... you need to be playing with optical hold flow sensors, maybe, or other solutions. GPS can only take you just so far, and every step you make beyond that is some type of calculation, fusion w/ other sensors, or filter on the GPS data.... and ultimately to get very refined positions, you have to look to other sensors and complex calculations.
Would it be possible to add Differential GPS to get better position information? I'm not sure it is needed for "weekend flying for fun" but for a commercial application it might be an added benefit.