-
Notifications
You must be signed in to change notification settings - Fork 13.6k
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
Feature: go-around patterns for missions #11067
Conversation
This looks right, I just want to give it a more careful review as the navigator states are becoming more intertwined. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this intended to be a VTOL only feature?
No, the statement is for both NAV_CMD_LAND and NAV_CMD_VTOL_LAND cases. |
Does this change impact the various RTL_TYPE options? Specifically RTL_TYPE 1 and 2 where parts of the mission are used during Return Mode? I'm wondering if there is a use case where some people would want this feature disabled? - I have to think about it some more. If this is the case, maybe the correct place to effectively "disable" this feature would be Mission Feasibility checker. Thoughts? |
I haven't considered if this will interfere with any return modes. A quick investigation showed that:
Another thing comes to mind concerning the FW position controller: Maybe it would be better to disable landing aborts under some situations, such as the "low battery immediate landing". I don't know if it is already implemented though. |
this is an interesting idea and maybe could be discussed in a separate issue post? I might suggest tying it to BAT_EMERGEN_THR with some logic for BAT_EMERGEN_THR where if already in a landing state, stay in the landing state and block the ability to abort? |
@almaaro please rebase. Thanks |
If this feature were to move forward, I think it should need to be enabled via parameter, e.g. MIS_DO_GO-AROUND or maybe MIS_ABORT_CONTINUE or something. Actually the term "go-around" doesn't accurately reflect the proposed feature - it is more of an "abort pattern" or "continue after abort" or something. The current default behavior of aborting to loiter over the landing is generally pretty safe, consistent, and easily understood by the general user. If a user intentionally or accidentally adds waypoints after a Land waypoint, the system should still behave safely. I think a user should be required to enable the feature via a parameter so they have some understanding that the vehicle will go somewhere else (like maybe into some trees/buildings) after an abort. |
Please reopen. See #11099 (comment) |
Test data / coverage
Here is one flight with one go-around. In total, I have tested this feature at least over 10 times.
https://logs.px4.io/plot_app?log=4f523186-44dc-439f-8c31-2da5a1d66e86
Describe problem solved by the proposed pull request
To my understanding (please correct me if this is nonsense), the vehicle will always loiter above the landing waypoint after an aborted landing. So it is not possible to add regular waypoints after the LAND
point that the vehicle would follow automatically after the aborted landing.
Describe your preferred solution
If the landing is aborted and a valid waypoint exists after the LAND, just continue to the next item.
Edit. Some explanation of the code that might help (happens within Mission:on_active()):