Flight Termination Configuration
The Flight termination failsafe action irreversibly turns off controllers and sets PWM values to their parameter configured failsafe values.
INFO
Flight termination differs from the Kill action 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 for RC Loss, geofence violation, and so on (on any vehicle type or in any flight mode).
- Failure Detector trigger
- RC termination switch (mapped to an RC channel using RC_MAP_TERM_SW).
- The MAVLink MAV_CMD_DO_FLIGHTTERMINATION MAVLink command from a GCS or companion computer (see 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.
- 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) 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 topic explains how to set the flight termination as the failsafe action to be performed for particular failsafe check.
The 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.
- Safety > Failure Detector > 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) 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 to the device's "OFF" PWM value.
- PWM_MAIN_FAILn 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 to the device's "OFF" PWM value.
- PWM_AUX_FAILn 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.
MAVLink Trigger
The 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 terminate()
or terminate_async()
methods.
Logic Diagram
The diagram below shows the logical flow around flight termination.