Skip to content
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

Commander: Rover failsafe and hold without gps #23647

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

sbtjagu
Copy link
Contributor

@sbtjagu sbtjagu commented Sep 5, 2024

Solved Problem

I needed my rover to use hold mode if it lost gps accuracy while in mission and I found that Hold mode requires position information.
Also if mode requirements are not met, then RTL is triggered and has a higher priority than Hold mode, and because I was trying it for gps loss, descend was activated, which is not the most appropriate mode for a rover.

Solution

  • Remove requirements for hold mode if in rover because it doesn't move and so doesn't need reposition
  • Add new parameter to choose the mode to use if mode requirements are not met

Changelog Entry

For release notes:

New parameter: COM_MOD_FAIL_ACT

Test coverage

  • Simulation SITL and Failsafe State Machine Simulation

@chfriedrich98
Copy link
Contributor

chfriedrich98 commented Sep 6, 2024

Thanks for bringing this up. It is defenitely something that needs to be adressed but there are some issues with your approach:

Remove requirements for hold mode if in rover because it doesn't move and so doesn't need reposition

This we can't do, because hold mode is also used for things such as Go to which requires a global position.
(This is a bit of a unfortunate naming convention and might be changed in the future)

It would make sense to have a new Stopp mode for UGVs, where the vehicle no longer moves but is not disarmed. This mode could then also be used as a failsafe, for example if you switch to an invalid mode, and as a replacement for Land and Descend. This is something I'll look into.

@chfriedrich98 chfriedrich98 self-assigned this Sep 6, 2024
@chfriedrich98 chfriedrich98 added the Rover 🚙 Rovers and other UGV label Sep 6, 2024
@sbtjagu
Copy link
Contributor Author

sbtjagu commented Sep 6, 2024

@chfriedrich98
Thank you, I didn't know that Hold mode was used for that. So I should bring back the requirements.

About the new mode, it seems like a big change, and I don't really know what it implies for px4 and even mavsdk or qgroundcontrol. Do you have any info about what have to be done and how ?

@chfriedrich98
Copy link
Contributor

@sbtjagu
Yes, the new mode is a much bigger feature. It will require implementation of the new mode in Mavlink, a way of displaying it in QGC and in PX4 it will need changes to both navigator and commander to handle mode switches, failsafes and phasing out the land/descend modes for UGVs. There are still some open questions on how exactly we want to handle UGVs in this regard, so I would not recommend to put in any time into this yet.
I opened an issue for this feature to keep track of it.
Also FYI, since you have been very active in rover related development: I'll start using the PX4 Rover project to keep tabs on requested features and offer an overview on what is being worked on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Rover 🚙 Rovers and other UGV
Projects
Status: 📋 Backlog
Development

Successfully merging this pull request may close these issues.

2 participants