RTL does not stop decending

Hi all (ardu) pilots,

I have been flying ardupilot controlled multicopters for many years without any crash. This months, I tried arduplane for the first time. The pixhawk is installed on a 1.2m flying wing that should be converted to a VTOL later. At my first flight, I checked all flight modes and everything was fine.

At my second flight, my video signal was lost so I switched to RTL. At this moment, the wing was already descending but the flight mode did not stop decending. So my wing crashed into ground at 90kph and almost 30 degree angle.

Is this behavoiur normal or do I have to change any params? The plane started cycling but did not stop descending. Please tell me if you need any log files.

I am not sure about the auto anlyzer. It says compass fail although I calibrated the compass before successfully. I says GPS fail altough I had good signal at arming and take-off. I think it failed after crashing.

The green part on google earth is RTL, the orange part ist manual.


Please post the dataflash log so we can see all the parameters and data streams – not just your screenshots.

For sure…here it is. Could not upload on this page. Here is the link

Password: apmlog

Could anyone find out anything?

You never went to RTL mode.

Your plane was always in manual mode till around 10 meters altitude , till then ATT.DesPitch is aways at zero, after, the plane had a very high pitch attitude, it tries to recover but finally crashed.

How do you mean I never went to RTL mode? The GPS log and parameters show “RTL”.

What has ATT.DesPitch to do with RTL? I thought it is only for pilot’s inputs. From docs: “The pilot’s desired pitch angle in degrees (pitch forward is negative, pitch back is positive)”.

I cannot see where the plane tries to recover. Rate of decent seems to be constant. And it did not stall because it was still fast.

Okay, yes, you did switch to rtl… about 2 seconds before impact. Unfortunately that was too late to tell what is going on. Have you flown in any stabilization mode before?

Looking at the desired roll and pitch, your plane places a very high priority on turning home just before impact. The additional bank did not help your pitch recover. Your plane probably needed to pull at least 2g’s of vertical acceleration to stop the dive, and the RTL system uses TECS… that was set to pull 7m/s^2 (0.7g) at max. RTL is intended for returning to launch; not recovering from unusual attitudes.

Yes I tried FBWA, stabilize and RTL before. All were working.
So I just need to change the value “TECS_VERT_ACC”? Which mode stops descending faster? 0,7g is not much at small aiplanes. Even autopilots of manned airplanes can fly at higher g-forces.

I thought RTL is for bringing back your plane safely. When I loose my video signal, it just takes seconds until the plane flies in unusual attitudes. So I thought RTL can recover from decendings of 20-30 degree nose down angle, which is not much in my oppinion.

I’m sure that TECS_VERT_ACC would probably help. FBWA would be the first mode to switch to because it will immediately try to level the airplane (wings level too). Then pitch up and add full throttle to climb. After that, switch to RTL to let it turn and come home. Switching to RTL immediately will cause a turn that you don’t want at low altitude.

Keep in mind that if planes are diving, they may be going too fast for the elevator servo to be effective. Forces are a log higher, and each aircraft is different.

1 Like

Thank you for your analysis.

So FBWA should be the choise for saving the airplane? That would mean that one “panic button” would not work. There would have to be two panic buttons. I really have to reconsider the usage of RTL. It seems to be totally different from RTL of copters. RTL arducopter levels the copter immediately from any (really any) position, ascends, flies to home position and decends.

Forces on flaps were not that problem in that situation. I testet that at much higher speeds before.

So I will try TECS_VERT_ACC and tell if it helps. Thank you again for your help!

As of now, yes. There has been a formal issue raised on github (where the code is maintained) to clarify or change that. You’re not the only user that had an issue with that. https://github.com/ArduPilot/ardupilot/issues/8670

It is hard for me to understand that it was not discussed before. A more than 5 year old firmware. If I knew that before, I would have one destroyed plane less. So I will go on on that guthub thread. When it’s flagged for a topic on today’s dev call, there meight be a light at the end of the tunnel.

Not that it makes a difference now, but I have also put in a request to change the language on the RTL mode page to state that it is not used to recover unstable planes. https://github.com/ArduPilot/ardupilot_wiki/pull/1279/commits/4223dd8d65878364fdc88d355b9cc870156394e6

1 Like

Looking good! :+1:
Should be added here at “warnings” as well http://ardupilot.org/plane/docs/rtl-mode.html

1 Like

That’s the webpage that will change. Github uses raw text, and a website builder pulls from that text to create the webpage you referenced. It’s all good as soon a maintainer approves and merges it. I expect that soon.


Did you done autotune ? Did you tested ascending/descending behavior in FBWB-Mode ?