-
Notifications
You must be signed in to change notification settings - Fork 16.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Plane: Climb before turn on RTL #8670
Comments
I agree with this request. Here is another recent case of a crash that may have been saved by RTL climbing BEFORE turning: https://discuss.ardupilot.org/t/rtl-does-not-stop-decending/29573 Another semi-related issue is when a pitch and roll are commanded at the same time as can happen in RTL: #8064. Many planes can hit pitch max and roll max individually just fine. When both are commanded at the same time, it's a dangerous time with a very high potential for stalls/spins. |
I've flagged it for a topic on today's dev call |
@JeyPi Thank you for the video. That is a very compelling example. |
Thanks a lot for working on it. I am happy already that it is being discussed. |
I have two suggestions for implementing this behavior.
|
Sorry @Naterater, but climbing to a minimum altitude before commanding turns in combination with maladjusted TECS-parameters and not performed autotune does not solve the problem. Another disadvantage of your suggestion: Pilots in the mountains have the disadvantage that the aircraft does not dodge in time in front of a vertical rock face. My Planes are immediatly climbing and turning simultaneously if RTL is trigggered due to well adjusted TECS/Autotune Parameters. You can test the quality of your TECS-Parameters by changing quickly between climb and descend in FBWB-Mode. Regards Rolf |
That is what I mean. There will always be positive as well as negative thoughts to a suggestion. |
Unfortunately, you have no logfile and I do not know how you have programmed radio failure: Throttle failsafe ? According to the subtitles of your video, RTL (or CIRCLE ????) was almost triggered on the ground but RC loss have happened 4 seconds before? |
@Rolf-G, the bigger problem brought up here (that is also a safety problem) failsafes command multiple actions at once. I've had stalls due to climbing turns when RTL engaged, and I have a very well tuned airframe. The plane here was not tuned improperly, and it crashed because of unpredictable RTL behavior near the ground. Speaking of improperly tuned planes, we should definitely not be commanding a maximum bank angle turn and a simultaneous pitch up. That's just begging for the plane to stall, spin, roll over and lose all control. For 99% of planes, altitude is far more important than heading. If there are obstacles ahead, RTL is NOT the mode that should be entered. FBWA or manual would be much better. Being in the mountains and not being able to climb straight-ahead is a corner case and definitely not going to harm most users. My suggestion would probably use parameters with values 0 or -1 for traditional behavior. The final problem as placed in this initial post, is that planes are probably very close to stall speed during landing. I'm sure that most planes will enter into RTL just fine during cruise, but that doesn't matter here. |
Hi Nathan, |
Maybe call it "recover" AKA wings-level then climb to an altitude or for a period of time. Followed by RTL? It actually sounds like takeoff mode might work better... For the original post here, takeoff mode would probably be the most appropriate followed by RTL. Any time the land has started, a takeoff should be commanded before RTL. |
Without posting your params how do you/we know it RTL'd instead of going into LOITER? Is that your failsafe behavior? How do we know you didn't trigger RTL manually? If you did trigger it manually, would we want an intentional RTL mode-change to pitch up like you propose? There are lots of interesting corner cases not being considered here. This RTL didn't know/care what your altitude was. Using the terrain library would have given it the knowledge of it's altitude to behave better but the current RTL logic would have caused the same behavior. Knowing how close to the ground is helpful since it could have climbed to RTL altitude. What I'm getting at is:
Sooo.. tough call on how this can be improved in a universal way. I'm thinking that this behavior can onyl happen in a subset of scenarios. Also, this AUTO abort landing behavior is slightly related: #7052 |
I see a lot of thoughts is coming up. The problem with RTL now is also this: Now how the new behaviour should work: Now the importance of a log of this event is not such a big deal. This situation is to be easily reproduced. |
This was discussed in the devcall. We are considering a few options:
|
Two meters might not be enough. |
Has there been any development? |
This is very important improvement. please add it. Better to make desired climb alt as adjusted param in meters that will be added to current alt. |
I've finally implemented this here: |
It work just perfectly. |
Before I write anything let me point out that other people were requesting this RTL behavior change in a more or less similar way.
My today's FPV experience:
I took off from a spot 280 meters AMSL (altitude above mean sea level)
I was remotely landing the plane while in the stabilized mode at an RC field that was a 1000 meters away from me and a bit lower - 240 AMSL.
I was gliding in for landing. All was great. I had a perfect video link to make a nice landing. Just before the touch down, the plane lost RC link and the RTL mode kicked in. I was no longer in control. The ardupilot software executed an immediate right turn towards the Take off position without any climb. Just a turn. That of course was followed by a crash as the plane was so low and the tip of the wing touched the ground. My RTL altitude was set to 100 meters.
I suggest the code should be adjusted to climb the plane to a safe altitude before turning to the home position. I understand this could not suite to all platforms so at least this behavior could be user pick able.
The only data that survived was the camera footage. The flight deck SDcard was destroyed.
Video of the event here
As you can see, the only thing needed for a happy ending, was a little climb before the turn and the plane would had been saved. Can someone make this a priority before other people crash their planes during a low altitude RTL triggering?
The text was updated successfully, but these errors were encountered: