mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
100 lines
5.2 KiB
Markdown
100 lines
5.2 KiB
Markdown
# Flight Termination Configuration
|
|
|
|
The _Flight termination_ [failsafe action](../config/safety.md#failsafe-actions) irreversibly turns off controllers and sets PWM values to their parameter configured failsafe values.
|
|
|
|
::: info
|
|
Flight termination differs from the [Kill action](../config/safety.md#kill-switch) in that it is permanent until after reboot.
|
|
:::
|
|
|
|
::: warning
|
|
This is _not_ an independent _Flight Termination System_.
|
|
If power is lost or if the autopilot crashes completely, the failsafe devices will not be triggered.
|
|
:::
|
|
|
|
## Overview
|
|
|
|
### Termination Triggers
|
|
|
|
Termination may be triggered by:
|
|
|
|
- [Safety checks](../config/safety.md) for RC Loss, geofence violation, and so on (on any vehicle type or in any flight mode).
|
|
- [Failure Detector](../config/safety.md#failure-detector) trigger
|
|
- RC termination switch (mapped to an RC channel using [RC_MAP_TERM_SW](../advanced_config/parameter_reference.md#RC_MAP_TERM_SW)).
|
|
- The MAVLink [MAV_CMD_DO_FLIGHTTERMINATION](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_FLIGHTTERMINATION) MAVLink command from a GCS or companion computer (see [MAVLink Trigger](#mavlink-trigger) below).
|
|
|
|
There is no way to recover from flight termination.
|
|
After triggering you should unplug the battery as soon as possible.
|
|
You will need to reboot/power cycle the vehicle before it can be used again.
|
|
|
|
### Termination Actions
|
|
|
|
When _Flight termination_ is activated, PX4 simultaneously turns off all controllers and sets all PWM outputs to their failsafe values.
|
|
|
|
Depending on what devices are connected, the PWM failsafe outputs can be used to:
|
|
|
|
- Deploy a [parachute](../peripherals/parachute.md).
|
|
- Extend retractable landing gear.
|
|
- Move a PWM-connected gimbal to a safe orientation (or retract it) in order to protect the camera.
|
|
- Trigger an inflatable device like an airbag.
|
|
- Trigger an alarm.
|
|
|
|
:::tip
|
|
PX4 does not know what safety devices are attached - it just applies a predefined set of PWM values to its outputs.
|
|
:::
|
|
|
|
:::tip
|
|
Failsafe values are applied to all outputs on termination.
|
|
There is no way to configure independent time-based (or other) triggering of the motors or specific safety devices.
|
|
:::
|
|
|
|
## Hardware Configuration
|
|
|
|
Any _safety device(s)_ (e.g. a [parachute](../peripherals/parachute.md)) that can be triggered by changing a PWM value can be used, and may be connected to any free PWM port (both MAIN and AUX).
|
|
|
|
::: info
|
|
If you're using Pixhawk-series board you will have to separately power the servo rail (i.e. from a 5V BEC, which is often also available from your ESC).
|
|
:::
|
|
|
|
## Software Configuration
|
|
|
|
The [Safety](../config/safety.md) topic explains how to set the _flight termination_ as the [failsafe action](../config/safety.md#failsafe-actions) to be performed for particular failsafe check.
|
|
|
|
The [Failure Detector](../config/safety.md#failure-detector) can also (optionally) be configured to trigger flight termination if the vehicle flips (exceeds a certain attitude) or if failure is detected by an external automatic trigger system (ATS):
|
|
|
|
- Enable the failure detector during flight by setting [CBRK_FLIGHTTERM=0](../advanced_config/parameter_reference.md#CBRK_FLIGHTTERM).
|
|
- [Safety > Failure Detector > Attitude Trigger](../config/safety.md#attitude-trigger) explains how to configure the attitude limits that trigger _Flight termination_.
|
|
::: info
|
|
During _takeoff_ excessive attitutes will trigger _lockdown_ (kill motors, but not launch parachute) rather than flight termination.
|
|
This is always enabled, irrespective of the value of `CBRK_FLIGHTTERM`.
|
|
:::
|
|
- [Safety > External Automatic Trigger System (ATS)](../config/safety.md#external-automatic-trigger-system-ats) explains how to configure an external trigger system.
|
|
|
|
For each MAIN output to which a safety device is attached, where "n" is the PWM port number, set:
|
|
|
|
- [PWM_MAIN_DISn](../advanced_config/parameter_reference.md#PWM_MAIN_DIS1) to the device's "OFF" PWM value.
|
|
- [PWM_MAIN_FAILn](../advanced_config/parameter_reference.md#PWM_MAIN_FAIL1) to the device's "ON" PWM value.
|
|
|
|
For each AUX output to which a safety device is attached, where "n" is the PWM port number, set:
|
|
|
|
- [PWM_AUX_DIS1](../advanced_config/parameter_reference.md#PWM_AUX_DIS1) to the device's "OFF" PWM value.
|
|
- [PWM_AUX_FAILn](../advanced_config/parameter_reference.md#PWM_AUX_FAIL1) to the device's "ON" PWM value.
|
|
|
|
Finally, set the `PWM_AUX_FAILn` and `PWM_MAIN_FAILn` PWM values for any motors.
|
|
|
|
::: info
|
|
Flight termination via ATS only works if `drivers/pwm_input` is included in the firmware for your board.
|
|
If not, you need to add it manually to your board configuration using [boardconfig](../hardware/porting_guide_config.md#px4-menuconfig-setup).
|
|
:::
|
|
|
|
## MAVLink Trigger
|
|
|
|
The [MAV_CMD_DO_FLIGHTTERMINATION](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_FLIGHTTERMINATION) command can be used to trigger Flight termination from a ground station or companion computer.
|
|
|
|
This is sent, for example, when you call the [MAVSDK Action plugin](https://mavsdk.mavlink.io/main/en/cpp/api_reference/classmavsdk_1_1_action.html#classmavsdk_1_1_action_1a47536c4a4bc8367ccd30a92eb09781c5) `terminate()` or `terminate_async()` methods.
|
|
|
|
## Logic Diagram
|
|
|
|
The diagram below shows the logical flow around flight termination.
|
|
|
|

|