RTL altitude is set to 100m (dafault)
You fly over higher terrain (150m) - then need RTL.
RTL would now fly into terrain.
Maybe we should not descend until xxx maters from home ?
What would be a nice solution to this problem - provided that we do not have a decent radio based altimeter/ground detection ?
good idea, maybe:
1 .Spiral up to a *the flight's max altitude* or predefined. The spiral should be reasonably tight to minimise collision risk.
2. Return home.
4. Optionally reduce altitude and potentially land.
I fly near mountains a lot and this is a big problem. I lost one drone as a result, although the real fault was mine for flying sort of around the mountain.
The problem is worse than you might think. Imagine you take off from a field at the base of a mountain and fly up the flank of the mountain. If the mountain slope is, say, 20 degrees and your maximum dive angle is set to 30 degrees, when you hit RTL the plane will dive at 30 degrees in a mad dash to get to the RTL_ALTITUDE (default is 100m). The end result: crash into a mountain slope when you have plenty of altitude to glide home. I almost did this once as well, but was able to notice the approaching treetops in time and switch to stabilize.
As discussed in this thread, there's no real fix for this problem that anyone has identified. There are work-arounds, such as using AUTO instead of RTL, setting your RTL_ALTITUDE to be as high as the maximum terrain height and setting your descent angle to very shallow (around your plane's glide slope).
APM already has this.
If you set 0 or -1 for home hight, than the plane will maintain current altitude till home.
I don't remember well if it is 0 or -1.