RTL not working why not?

I have a nitro 3 channel fixed wing I’ve been setting it up and had a successful first two flights. Tried it out… tried FBWA for the first time WOW Awesome!! However when I tried RTL in two separate flights it seemed to do the altitude correctly, the speed correctly, but the direction I don’t get. It seemed to fly off away from me aka where I took off from. I did wait until I have several sats before taking off. Two things… I have arming just ON… no rudder arming. And… I did notice after I landed I accidentally had the waypoint radius at 270 meters instead of 27. Could either of these two things be the cause? Without ruddwe arming when or how does 3.7 know where the RTL location is being as it’s not where it’s armed right? because with rudder arming off it doesn’t / shouldn’t just use the location that basically zero gps’s have the second it’s tuned on right? So how / when does it decide where the RTL location is? … That… or perhaps it just decided when I hit RTL it was already inside that 270 meters and was simply taking the shortest distance to the ‘circle’??? At any rate I have no way to know and cannot fly again for several weeks so was hoping I could get somebody much more experienced in reading logs to take a look and see if somebody can figure it out. Here is the log… could not get it to upload here direct for some reason so here it is on google drive https://drive.google.com/open?id=0B3MgBBZGOf88eUJQdWZxeXNORzQ Thanks!

FYI even if I tried to turn rudder arming ON I could never arm. Calibrations went fine. Checks set to 1. No errors on start. So that’s another issue I guess… why couldn’t I arm even with no errors??? Not sure if that’s related to my RTL fly off in strange direction issue???

Try changing the value of how many satellites is considered armed because your home position might not be being recorded? It might be flying to the location it first had gps lock? Home position is set when first gps lock is acquired during arming. Did you have gps lock when taking off? Seems like it’s perhaps a more obscure issue as I assume you know that already.

When I power up the pixhawk it arms immediately. There is a setting to set a minimum GPS count before it will arm?

I did find this… perhaps this is the issue… I must say I read this several times and I’m not sure I get it. What happens if your in the air and lose gps lock? Surely it doesn’t un-arm in mid flight?

okay so 64 =8 =72 got it… but how do you change the ‘number’ of gps’s acquired to = a ‘lock’?

BTW sorry for the confusion on the identity… not sure whats going on with that but govsux and govsux1 are both me. aka Richard.

re-“Try changing the value of how many satellites is considered armed”… I would loved to know how to do this. Thx

govsux ive been reading so much ardupilot code lately ive forgot where I saw it. It might actually be an AT command you need to send to the GPS for its own internal firmware to set how many satellites it needs to have to return an OK, as ive also been reading the manual for the Ublox. I’m going to try and dig it up for you and make another post. Don’t take what I said as gospel, I could of been mistaken.

found it; sort of

// @Param: GPS_MINSATS

// @DisplayName: AHRS GPS Minimum satellites

// @Description: Minimum number of satellites visible to use GPS for velocity based corrections attitude correction. This defaults to 6, which is about the point at which the velocity numbers from a GPS become too unreliable for accurate correction of the accelerometers.

// @Range: 0 10

// @Increment: 1

// @User: Advanced 

Since during arming it is checking if AHRS is healthy, you could in theory set this parameter to something like say 18 satellites required, and until your GPS has that many locks, AHRS will fail during ARMING if you have GPS assisted AHRS enabled by setting the following parameter to Enabled

// @Param: GPS_USE

// @DisplayName: AHRS use GPS for navigation

// @Description: This controls whether to use dead-reckoning or GPS based navigation. If set to 0 then the GPS won't be used for navigation, and only dead reckoning will be used. A value of zero should never be used for normal flight.

// @Values: 0:Disabled,1:Enabled

// @User: Advanced

In theory, maybe :slight_smile:

There is always the option to write your own code to do it :wink:

You will need

// number of locked satellites

uint8_t num_sats(uint8_t instance) const {

    return state[instance].num_sats;


uint8_t num_sats() const {

    return num_sats(primary_instance);


Once I get my Pixhawk and start messing around with it, if ardupilot doesn’t have that feature; it would be nice to add.

Hey thanks for the info. Not sure I’ll be writing my own code anytime soon that might be pushing the envelope on my computer skills there… lol re- Param: GPS_MINSATS hmm I don’t have that in ‘Plane’ I see GPS_MIN_DGPS. But It’s set to the default of 100. Not even sure what that is. At this point I don’t know why the plane didn’t turn around and try and fly back to me. I did wait until I had at least 7-8 sats as I recall however even if it was only 2-3 that might account for 20 yards but not flying completely away from me. So I did two things I’ll try next time I get a chance in a chance [ 2-3 weeks grrr ] I turned on rudder arming this way I can be sure when it sets it’s RTL location it’s after it has a decent sat count and also corrected my way point radius to 27 meters not 270. Hopefully one of those things with fix it!