Pixhawk Stabilize=OK, Loiter= flip/crash at takeoff

I bought used, an original 3DR DIY Quad with the genuine Pixhawk early version, and have rebuilt it after a crash (bad motor, bad GPS cable, bad I2C bus/board).
So I go through the entire setup, latest f/w and Mission Planner, calibrate everything, etc.
I see the internal compass has very high offsets (500+), so I turn this off and only use the GPS/compass.
I also have no voltage on Telem1, so Modem Radio is hooked to Telem2.
I’m using a cheapo 915MHz radio modem set, no camera or gimbal.
I take off in Stabilize mode and it flies great, hovers perfect, control response is great.
I land, switch to Loiter mode. As soon as I start to increase throttle the quad starts jumping around on the ground, then does a slow flip to the left. I’m on grass, so nothing broke. I try it again and same results.
I switch back to Stabilize and it flies normal, even auto lands with low battery voltage.
So, I’m guessing a bad GPS (from crash w/prior owner). Even though HDOP was 1.4 with 8 sats ???
Thanks for the support!
I finally figured out how to look at the logs:

Auto Analysis:
Log File C:\LOGS\5.log
Size (kb) 2957.9755859375
No of lines 42414
Duration 0:00:00
Vehicletype ArduCopter
Firmware Version V3.1.5
Firmware Hash ee63c88b
Hardware Type
Free Mem 0
Skipped Lines 0
Test: Autotune = NA -
Test: Brownout = GOOD -
Test: Compass = WARN - Moderate change in mag_field (25.80%)
Max mag field length (585.72) > recommended (550.00)

Test: Dupe Log Data = GOOD -
Test: Empty = GOOD -
Test: Event/Failsafe = GOOD -
Test: GPS = FAIL - Min satellites: 0, Max HDop: 99.99
Test: IMU Mismatch = GOOD - (Mismatch: 0.17, WARN: 0.75, FAIL: 1.50)
Test: Motor Balance = WARN - Motor channel averages = [1368, 1452, 1315, 1460]
Average motor output = 1399
Difference between min and max motor averages = 145
Test: Parameters = GOOD -
Test: PM = NA -
Test: Pitch/Roll = NA -
Test: Thrust = NA -
Test: VCC = GOOD -

Be aware that if trying to take off in Loiter the position will be moving around even while the copter is on the ground.
In grass, or other ‘catchy’ surfaces, this usually results in a tip over.
Stab or AltHold are the best takeoff modes then switch to Loiter.
In Auto with a Takeoff command the copter ‘Launches’ itself off the ground to avoid this.

If you want to takeoff in Loiter then do so with authority.

Thanks, I didn’t know that about takeoff.

Also, looking closer at my logs my GPS appears to have no signal (HDOP=99 with 0 sats). Even though the HDOP was 1.4 with 8 sats before I armed. Not sure what is going on here, will check cables and test hop again after the rain stops.

Absolutely agree here. I NEVER take off in a GPS assisted mode (unless I’m starting an autonomous mission that way). It’s almost always in Althold…I let it settle for about 30 seconds and then I switch to PosHold or Loiter.

Yep, that was it -don’t take off on GPS mode. Switching to GPS once in hover worked fine. Used ch7 as auto tune. Flies great, even in a 12mph wind.
Thx! !!

Last week I had to teach flying with a large Hexa (3.5.4 firmware) to two students that never took a radio control on their hands.

Obviously we got two days of wind with a constant speed of 5-6 m/s , they take off in Loiter mode from grass without any problem .
A very good Gps signal with Hdop 0.8 and 12-13 satellites helped a lot.
I was surprise how good was the take off in Loiter even if I always suggest to take off in stabilise mode to check the drone behavior.

Is it possible for the throttle to wind up when launching in loiter mode? I recently had a launch from loiter that did nothing, then suddenly rocketed to about 30 to 40 feet.

If you think about what’s happening when armed in Loiter
Throttle middle = stay at altitude
Throttle up = increase altitude
Throttle down = decrease altitude, but what about when you are on the ground, armed with the throttle down?
You’re telling the controller to decrease altitude, but it can’t, but it still thinks it is below ground.
So you move the stick up above centre to takeoff and you see nothing happening, but in the controllers ‘mind’ it is increasing altitude as asked, it just hasn’t reached ground level yet.
The usual reaction is to keep increasing the throttle to get something to happen, but the controller is obeying and increasing its climb rate, it just hasn’t reached ground level yet.
So by the time it has reached ground level you have increased the throttle to max and you observe … what you observed.

Mike - Thank you for that explanation. I saw some threads saying that launch in Loiter mode was the best thing to do. But clearly, if low throttle has the impact of decreasing the EKF estimate of altitude, then my experience makes perfect sense. If the GPS was to be believed this should not happen. But my recent experience is that i get these “Bad AHRS” messages (I don’t remember getting those a couple years ago when using previous versions of firmware). Perhaps that is why the throttle command being low in Loiter mode is causing the altitude error to build up? Any of this make sense to you? Do you know what i might look at in the log to determine if there is this altitude effect going on?

I would say Arm in Loiter mode has some value as it won’t arm in that mode w/o a proper GPS fix. So if you don’t have feedback from a GCS or on your transmitter to indicate status it’s a good idea. Then switch to Stabilize to get it off the ground hover for a brief time and then switch modes.

Dave - I can see the logic in what you’re saying, but even with GPS fix, I get this Bad-AHRS message and see the position dancing around - a few meters in any direction. I have seen that other people have this same case this message is disconcerting. If there is good reason for concern about the position estimate, then maybe you could have the altitude error building up and not know it? Good GPS fix is a necessary, but not sufficient condition for good EKF position estimate.

It also seems that launch in Loiter Mode is predicated on your hover being in the 40-60% throttle position. My model was originally able to hover at 20% throttle. So the combination of an integrated altitude error combined with a throttle input that, when reaching the 60% value,… maybe that’s why it launch so abruptly without listening to throttle input for a second or two?? I don’t know. I feel like i could rationalize a lot of answers right now - not a good thing.