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

Copter: Add GCS Failsafe Brake option #23832

Merged
merged 1 commit into from
May 20, 2023

Conversation

tatsuy
Copy link
Contributor

@tatsuy tatsuy commented May 19, 2023

I've added a "Brake Mode" option, which allows the copter to hover in place (in Brake Mode) if the connection to the GCS is lost while in Auto or Guided flight modes.

When conducting BVLOS operations, it is crucial to maintain control over the drone via the GCS at all times. In the event of a GCS disconnection, the drone switches to Brake mode, halting flight without GCS control. Upon reestablishing the connection, the drone can be returned to Auto mode via the GCS.

In the case where the connection does not recover, the drone will take RTL or Land actions through a battery failsafe.

This feature follows a similar implementation as in the PR #23110, which added a Brake Mode option to the Radio Failsafe.

I tested this in SITL.
image

@khancyr khancyr added the Copter label May 19, 2023
Copy link
Contributor

@khancyr khancyr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine.
Not a big change, already tested with RC failsafe
Sequence for gcs failsafe is similar so good to go

@muramura
Copy link
Contributor

muramura commented May 19, 2023

Braking at GCS fail would be slow.
Braking at GCS fail is not necessary.
Because communication with the GCS is lost, the vehicle cannot obtain instructions from the GCS.
Automatic flight out of sight, GUIDED mode is assumed.
In this case, it is better to brake after seeing the communication degradation with the GCS.
Vehicles flying under the direction of the GCS can continue to fly by braking on communication degradation.

@@ -162,7 +162,7 @@ const AP_Param::Info Copter::var_info[] = {
// @Param: FS_GCS_ENABLE
// @DisplayName: Ground Station Failsafe Enable
// @Description: Controls whether failsafe will be invoked (and what action to take) when connection with Ground station is lost for at least 5 seconds. See FS_OPTIONS param for additional actions, or for cases allowing Mission continuation, when GCS failsafe is enabled.
// @Values: 0:Disabled/NoAction,1:RTL,2:RTL or Continue with Mission in Auto Mode (Removed in 4.0+-see FS_OPTIONS),3:SmartRTL or RTL,4:SmartRTL or Land,5:Land,6:Auto DO_LAND_START or RTL
// @Values: 0:Disabled/NoAction,1:RTL,2:RTL or Continue with Mission in Auto Mode (Removed in 4.0+-see FS_OPTIONS),3:SmartRTL or RTL,4:SmartRTL or Land,5:Land,6:Auto DO_LAND_START or RTL,7:Enabled always Brake or Land
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, could we shorten the description to just "Brake or Land"? This makes it more consistent with the other options.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed it

@rmackay9
Copy link
Contributor

rmackay9 commented May 20, 2023

This looks fine to me so I'm happy for us to merge once the small parameter description is done. We don't need to second guess the situation in which an operator wants to use this.

I've added the EUDevCall just so that we don't forget about this PR. If the change is made before the EUDevCall we can go ahead and merge it.

Thanks!

@tatsuy tatsuy force-pushed the pr-gcs-failsafe-brake branch from 06a6865 to 4b45d11 Compare May 20, 2023 00:17
@peterbarker peterbarker merged commit 6b40fd1 into ArduPilot:master May 20, 2023
@peterbarker
Copy link
Contributor

Merged it - thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants