ArduCopter 4.0 Failsafe Refactoring
The radio, GCS, and battery failsafe handling in ArduCopter 4.0 has received a significant enhancement. Numerous additional options and capabilities have been added to meet a variety of use-cases. The autotest system has also been significantly enhanced to always verify that all failsafe logic and actions are working as intended. All of this was merged into master through this PR on Saturday 11/2/2019. Randy will be backporting it to be part of the Copter 4.0-RC2 release.
FS_OPTIONS: New Parameter
A new parameter
FS_OPTIONS has been added been added. This is a bitmask parameter, which allows the operator select one or more options that alter the basic failsafe logic. The default value is 0, which disables all options. There are many new options not previously available in prior versions.
FS_OPTIONS parameter now also handles the ability to continue in an auto mode mission after a radio or GCS failsafe, previously set with
FS_GCS_ENABLE=2. If you used this setting to fly auto mode missions beyond RC/GCS range, be sure to read this!
In the Mission Planner full parameter list or full parameter tree, the handy checkbox popup window is an easy what to set this (and any other bitmask) parameter. Be sure to go to Help > Check Beta Updates to pull the latest parameter definitions first while connected to the internet.
FS_OPTIONS parameter details can also be found in the ArduCopter Parameters wiki page.
|Continue if in auto mode on RC failsafe||Allow an auto mode mission to continue when the RC signal is lost. This option replaces the
|Continue if in auto mode on GCS failsafe||Allow an auto mode mission to continue when the GCS telemetry signal is lost. This option replaces the
|Continue if in guided mode on RC failsafe||Allow guided mode to continue when the RC signal is lost. If you are in guided mode, and lose RC signal, you can keep operating in guided mode uninterrupted. In the interest of safety, you must have the GCS Failsafe enabled to do this. (
|Continue if landing on any failsafe||Allow the copter to continue landing while in land mode or a landing phase. If you are in land mode, or the landing phase of an RTL, or the landing phase of a mission, and the RC, GCS, or Battery failsafe activate, the copter will continue landing. This saves time and battery power if desired.||8|
|Continue in pilot control on GCS failsafe||Allow the operator to continue flying in pilot controlled modes when the GCS telemetry signal is lost. If you are operating in any pilot controlled mode (Stabilize, Alt Hold, Loiter, Acro, Drift, etc), and the GCS telemetry signal is lost, the GCS failsafe actions will not trigger and you can continue flying uninterrupted.||16|
GCS Failsafe Enhancements
Prior to ArduCopter 4.0, the GCS failsafe had minimal implementation, only having any impact in Guided Mode. Now in ArduCopter 4.0, the GCS Failsafe operates in all modes per the settings of parameter
FS_GCS_ENABLE. This is a major safety enhancement for operators that must have a link at all times. This is also useful for those with a critical companion computer that must always have a link. The GCS failsafe settings have been expanded to now work in the same manner as the radio failsafe settings. The GCS Failsafe also makes use of the above new
FS_OPTIONS parameter settings. Note, if you enter an invalid parameter value in the
FS_GCS_ENABLE parameter, it will RTL in the interest of safety. The ArduCopter Parameters wiki page now reflects these updates.
The ArduPilot autotest system has been extended to cover all logic and actions of the radio, GCS, and battery failsafe. In previous versions, the autotest scripts only covered one aspect of the radio and battery failsafe, and no aspects of the GCS failsafe. This enhancement will ensure these critical safety systems are not compromised by ongoing firmware modifications.
The wiki pagaes for radio failsafe, GCS failsafe, and battery failsafe will be updated once this PR is merged in shortly.