GPS Horizon error

Hi all,

I’m getting a good GPS lock but my GPS flight modes won’t work.

I’ve got 8 or 9 satellites at all times but when I try to arm, I’m getting an angry beep and a GPS Horiz error between 5 and 9.9 - does anyone know what this actually means? It seems that a few people have asked this question with no real answer.

Additionally, when on the ground, the green LED flashes when I’m in stabilise mode indicating a good GPS lock. However, it switches back to blue as soon as I switch to a GPS flight mode and it’s absolutely bizarre! Is it possible that I’m disabling GPS somehow with my channel 5 switch?

Any advice would be massively appreciated!!

I am getting the same thing see Here and Here

But I too am being ignored by the developers.

I am starting to think that there is a movement to kill Arducopter with the over complexity of EKF that just doesn’t work.

@mboland @nikanand
Sorry I cant help with the problem but I have opened an issue for it on the ArduPilot github issues list. Please feel free to update and comment on that

“GPS horiz error” is the horizontal accuracy of the GPS as reported by the GPS unit. The value is provided in meters, so failing this check with values of 5 to 9.9 indicate that your GPS is only estimating it’s accuracy as between 5 to 9.9 meters.

I’m not a copter person, but I believe there are some changes to the arming requirements between flight modes that require GPS and those that don’t. @rmackay9 would need to chime in here, but I suspect that you are passing the arming requirements for stabilize as it doesn’t need GPS for Stabilize to work, however when you swap to a mode that requires GPS you are now failing arming checks. I can easily see how this is extremely confusing to the user though.

10 m error is acceptable for a cheap GPS though isnt it?

A really good fix should be less then 1.0… I would not fly if it was above 3


@skyscraper The EKF is looking for a accuracy better then 5m horizontally. In general 8-9 satellites is a fairly low count.

@EddieWeeks 1 meter is better accuracy then a U-blox chip is rated for (unless using RTK) :slight_smile: To truly get below 1m accuracy you end up needing either L1/L2, DGPS, RTK.

Can you adjust that setting? I have some old mediatek GPS where you are lucky to get 10 m accuracy and 9 satellites ! I am sure that in the good old APM days the default was more than 4 satellites and you were good to go

We will be testing RTK in the next couple of days.

I will report back if I am still getting this refusal to go to Loiter due to Horiz Error >5m

At present with a HDOP of < 0.75 and Sat counts between 12 and 15 I am still getting this error.

There is a parameter listed here EK2_GPS_CHECK
Maybe setting bit 3 to 0 will disable the error message? Use with caution :slight_smile:

@mboland What GPS unit? Are you outdoors without a lot of sources of multipath?

We are using the Septentrio AsteRx-m UAS

Yes there is a lot of multipathing around (trees) and now that I have the RTK boxed up and ready to test (everything arrived as bare circuit boards) I can also check for multiparth issues using the Septentrio GPS software.

We never get below 12 sats nor above 0.75 HDOP. In the open it is a consistent 20 sats on most days.
Although thats not the values the GIS guy looks at.

Will report more when I know more.

Currently tuning another large Octo and I have seen this refusal to go into Loiter.
I do a test on the ground now before arming, switching to loiter, and observed the RGB LED go from Green to Blue and stay there.
Switched back to Stab and waited a minute, switched to loiter and it stayed Green.
Unfortunately it is before Arming so no log entries.

When we are testing the RTK I will turn on Logging before Arm.

Log of one of Todays Flights
2016-09-26 (1.4 MB)

@WickedShell This is the quick test flight area with some multipath

And for extended testing the back paddocks

@mboland 12 satellites is actually really low for a AsteRx-M. If you watch the satellites tracked with RxControl what is your split between constellations? I’d guess you are only seeing ~6-7 satellites per constellation which isn’t terribly great. The AsterRx-M is pretty good about reporting accuracies, and I normally have that as sub 1 meter horizontal position without any correction data.

Couple of questions: Are you trying to use the equipment in just a PPK mode, or providing real time correction data?

I’d check the signal strength of the GPS units you are receiving. I’ve seen a couple of problems where your reception strength is just to weak to be achieving a high accuracy position (including PPK’ing).

@WickedShell Thanks for the questions.

We have a job on Wednesday with another copter at a power station but should be able to get back into testing this later in the week.

I will pay particular attention to the Constellations and accuracy from RxControl when testing.
In NMEA mode we would get an instant 20 sats, it is only since switching to SBF thats things have gotten rather strange.
The copter flew with great accuracy in NMEA, as you say, with sub 1m position variances.

We are setting up for Real time RTK with the radio on the GCS Com1 injecting corrections.
This has raised a few more question about GPS position updates and the delays we are seeing in those updates.

but rather than hijack this thread I will open another with our fresh test results.

If I’m reading your post correctly, you arm the 'copter while in “Stabilize” flight mode, get airborne, then switch to “Loiter” flight mode, and get an “arming error”?

  1. What happens next? Does the 'copter go into “Loiter” mode or does it stay in “Stabilize”? Does it remain controllable or does it do erratic or strange maneuvers that you are NOT telling it to do?

  2. What flight controller hardware (and version) are you using?

  3. What flight controller firmware (and version) are you using?

  4. What radio transmitter and receiver are you using?

Answering these questions might be helpful in someone finding out what is going on and, possibly, coming up with a solution to the problem you described.

Hi Jerald,

I’ve actually managed to get it to work now, and it appears that the GPS signal in my area might have been too poor. However, I’m not 100% so…

Pre-arming, I would have the quad in stabilise mode and await the green light to indicate GPS lock. After achieving GPS lock (with HDOP of approximately 1.0 and 9/10 satellites) I would switch flight modes to loiter (still pre arm) and the green light would switch to blue.

If I tried to arm in loiter, I would get loud tones and the GPS Horiz error on screen.

Since then, I have been operating in more open areas and have been able to get a GPS lock, however I’ve noticed the same issue to a lesser degree.

Pre-arm, if I have GPS lock whilst in stabilise mode (indicated by the green light), I can move over to a GPS mode but the blue light seems to flash for a few moments before returning to green. My theory is that the pixhawk has a lower threshold for GPS lock in non-GPS modes but needs a few extra seconds to reach the required strength for loiter or auto.

I will update if I continue to see issues

I will second that.

I now do exactly the same, wait for green, wait some more, switch to Loiter pre arm and get blue, switch back to Stab, wait some more, try again until it stays green in Loiter, then arm and fly.

With an SBF GPS this arm and fly bit never happens though.

So there is some issues still to be found in 3.4

@mboland if you can’t get a good position with a SBF GPS then I’d check for interference. Do you have some logs from it that you can share (the SBF log specifically)

We will be setting up the GPS Base Station this week and doing further tests.
In particular to get some logs to post for analysis.

The last FC logs were >46Mb as I had log while disarmed turned on.

I will post the logs as soon as the tests are done.