Files
PX4-Autopilot/docs/en/advanced_config/flight_termination.md
T
Hamish Willee 5415aeb9fe
Container build / Set Tags and Variables (push) Has been cancelled
Container build / Build Container (amd64) (push) Has been cancelled
Container build / Build Container (arm64) (push) Has been cancelled
Container build / Deploy To Registry (push) Has been cancelled
Docs - Crowdin - Upload Guide sources (en) / upload-to-crowdin (push) Has been cancelled
Docs - Deploy PX4 User Guide / build (push) Has been cancelled
Docs - Deploy PX4 User Guide / deploy (push) Has been cancelled
Handle stale issues and PRs / stale (push) Has been cancelled
Build all targets / Scan for Board Targets (push) Has been cancelled
Build all targets / Build Group [${{ matrix.group }}][${{ matrix.arch == 'nuttx' && 'x86' || 'arm64' }}] (push) Has been cancelled
Build all targets / Upload Artifacts to S3 (push) Has been cancelled
Build all targets / Create Release and Upload Artifacts (push) Has been cancelled
Checks / build (NO_NINJA_BUILD=1 px4_fmu-v5_default) (push) Has been cancelled
Checks / build (NO_NINJA_BUILD=1 px4_sitl_default) (push) Has been cancelled
Checks / build (check_format) (push) Has been cancelled
Checks / build (check_newlines) (push) Has been cancelled
Checks / build (module_documentation) (push) Has been cancelled
Checks / build (px4_fmu-v2_default stack_check) (push) Has been cancelled
Checks / build (px4_sitl_allyes) (push) Has been cancelled
Checks / build (shellcheck_all) (push) Has been cancelled
Checks / build (tests) (push) Has been cancelled
Checks / build (tests_coverage) (push) Has been cancelled
Checks / build (validate_module_configs) (push) Has been cancelled
Clang Tidy / build (push) Has been cancelled
MacOS build / build (px4_fmu-v5_default) (push) Has been cancelled
MacOS build / build (px4_sitl) (push) Has been cancelled
Ubuntu environment build / Build and Test (ubuntu:22.04) (push) Has been cancelled
Ubuntu environment build / Build and Test (ubuntu:24.04) (push) Has been cancelled
EKF Update Change Indicator / unit_tests (push) Has been cancelled
Failsafe Simulator Build / build (failsafe_web) (push) Has been cancelled
FLASH usage analysis / Analyzing px4_fmu-v5x (push) Has been cancelled
FLASH usage analysis / Analyzing px4_fmu-v6x (push) Has been cancelled
FLASH usage analysis / Publish Results (push) Has been cancelled
ITCM check / Checking nxp_tropic-community (push) Has been cancelled
ITCM check / Checking px4_fmu-v5x (push) Has been cancelled
ITCM check / Checking px4_fmu-v6xrt (push) Has been cancelled
MAVROS Mission Tests / build (map[mission:MC_mission_box vehicle:iris]) (push) Has been cancelled
MAVROS Offboard Tests / build (map[test_file:mavros_posix_tests_offboard_posctl.test vehicle:iris]) (push) Has been cancelled
Nuttx Target with extra env config / build (px4_fmu-v5_default) (push) Has been cancelled
Python CI Checks / build (push) Has been cancelled
ROS Integration Tests / build (push) Has been cancelled
ROS Translation Node Tests / Build and test (map[ros_version:humble ubuntu:jammy]) (push) Has been cancelled
ROS Translation Node Tests / Build and test (map[ros_version:jazzy ubuntu:noble]) (push) Has been cancelled
SITL Tests / Testing PX4 tailsitter (push) Has been cancelled
SITL Tests / Testing PX4 iris (push) Has been cancelled
SITL Tests / Testing PX4 standard_vtol (push) Has been cancelled
Fuzzing / Fuzzing (push) Has been cancelled
Metadata update and fixes to internallinkerrors
2025-08-07 09:47:51 +10:00

5.2 KiB

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:

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):

For each MAIN output to which a safety device is attached, where "n" is the PWM port number, set:

For each AUX output to which a safety device is attached, where "n" is the PWM port number, set:

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. :::

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.

Logic diagram