# Air Traffic Avoidance: UAS Traffic Management (UTM)

PX4 can use MAVLink UTM_GLOBAL_POSITION (opens new window) messages to support simple air traffic avoidance in missions. If a potential collision is detected, PX4 can warn, immediately land, or return (depending on the value of NAV_TRAFF_AVOID).


This implementation is exactly the same as for ADS-B traffic avoidance (except for the source of other-vehicle data). For more information see implementation below.

# Configure Traffic Avoidance

Configure the trigger distance and action when there is a potential collision using the parameters below:

Parameter Description
NAV_TRAFF_AVOID Enable traffic avoidance mode specify avoidance response. 0: Disable, 1: Warn only, 2: Return mode, 3: Land mode.
NAV_TRAFF_A_HOR Horizonal radius of cylinder around the vehicle that defines its airspace (i.e. the airspace in the ground plane).
NAV_TRAFF_A_VER Vertical height above and below vehicle of the cylinder that defines its airspace (also see NAV_TRAFF_A_HOR).
NAV_TRAFF_COLL_T Collision time threshold. Avoidance will trigger if the estimated time until collision drops below this value (the estimated time is based on relative speed of traffic and UAV).

# Implementation

PX4 listens for UTM_GLOBAL_POSITION MAVLink messages during missions. When a valid message is received, its validity flags, position and heading are mapped into the same transponder_report UORB topic used for ADS-B traffic avoidance.

The implementation is otherwise exactly as described in: ADS-B traffic avoidance > Implementation.


UTM_GLOBAL_POSITION (opens new window) contains additional fields that are not provided by an ADSB transponder (see ADSB_VEHICLE (opens new window)). The current implementation simply drops the additional fields (including information about the vehicle's planned next waypoint).

# Further Information