How to make loiter more accurate with RTK


In order to avoid GPS drift, I change GNSS to rtk, it can provide position correctly in ±1cm.

although the ardupilot can receiver accurate position information,

drone still have flight drift in loiter mode ,the range around 45 cm.

【Video here!!!】

as i know, there are some weighting(IMU/GPS) parameters can be adjust if ekf is used,

related item such as:




EKF_RNG_GATE (maybe?)




Does someone have experience tuning these,

any idea or advice please discus with me, thanks

of course, i’m going to have more experiments to figure out these ekf parameters.

At present the Ardupilot internal representation of GPS values is only to 7 decimal places and cannot give more than +/- 1.5cm accuracy, no matter what system you are using.

We are setting up a much higher accuracy RTK system (+/-6mm) but as the RTK corrections have to go through Ardupilot, which fortunately does not modify the accuracy, so as long as GNSS can do the logging you will get better accuracy. If you are relying on the Ardupilot logs the you are stuck with 1e7 or +/-1.5cm.


Randy MacKay or Leonard Hall may be able to answer your question.



I want to reopen this discussion, in order to get more information on how to increase the loiter accuracy in arducopter, I could not find documentation on how to tune and what can be the expected accuracy XYZ from arducopter.

Can @rmackay9 or @Leonardthall Give guide us?


There are lots of documentation of PID tuning, notch filter tuning mag fit tuning etc and tons of forum threads regarding loiter tuning. No need to hijack this thread old.

Could you please point me to a document where it shows how to tune loiter? More precisely what precision can we expect from loiter? Mine sometimes drifts more than 3 meters.

Is it normal for it to be drifting 45cm with rtk on? Is ardupilot GPS still only using 7 decimal places? what kind of precision can we expect from loiter without RTK (Assuming we have a good GPS lock IE 16 sats)

If you could point me in the right direction I would appreciate it, I havent found this documentation online.

Here is the documentation regarding loiter tuning:
Loiter Mode — Copter documentation (

What GPS are you using? What fix type are you achieving? RTK Float can be imprecise on the order of meters depending on the proximity and quality of the base station solution.

Geodetic coordinates to 7 decimal places are precise to approximately 1cm. I doubt it’s practical to even try to hold millimeter precise position on any air vehicle (in other words, 7 decimal places is a reasonable practical limit).

You can force the EKF to use GPS altitude rather than barometric altitude to tighten vertical positioning. I would not use this method without the expectation of a reliable, continuous RTK Fixed solution.
Using GPS for Altitude Sensing — Copter documentation (

Here is a good discussion regarding practical limits:
Chasing better accuracy - Blog - ArduPilot Discourse

I don’t think you’ll find much discussion of expected loiter mode precision because it is nearly impossible to set a reasonable expectation across the wide array of vehicle types and hardware covered by the ArduPilot ecosystem.

1 Like

Thanks for the info Yuri!

I am familiar with that documentation of loiter tunning and its tracking precisely in the logs, so i think tuning is ok.

The GPS im using is HEX Here3+. I also fly some DJIs and I cant help but notice that their loiter performance is much more precise than with my arducopters (although it may be because of visual positioning as well).

I will go throught the links you mentioned. Thanks for the help!

To put it bluntly, the Here3+ uses an M8P module which sucks for precision applications. It’s an excellent general purpose GPS, but its RTK performance has always been weak.

Recommend a newer module that uses an F9P or similar.

H-RTK F9P GNSS Series – Holybro Store
C-RTK 2 PPK Module – CUAV 雷迅创新
mRo u-Blox ZED-F9 RTK L1/L2 GPS (

1 Like

DJI machines use optical flow for loiter when close to the ground. thats why they can hold position so well when low to the ground.

M8P gps has an accuricy of 30cm even with RTK fixed, with RTK float its about 1 meter.