docs: auto-sync metadata [skip ci]

Co-Authored-By: PX4 BuildBot <bot@px4.io>
This commit is contained in:
PX4BuildBot
2026-07-13 22:23:01 +00:00
parent 5ea3cf8cb9
commit fe71d3bec1
12 changed files with 436 additions and 47 deletions

View File

@@ -172,13 +172,23 @@ Sets GPS longitudinal offset encoding
### ADSB_ICAO_ID (`INT32`) {#ADSB_ICAO_ID}
ADSB-Out ICAO configuration.
ADSB-Out ICAO ID.
Defines the ICAO ID of the vehicle
Vehicle ICAO ID. Use -1 to disable.
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------- | -------- | -------- | --------- | ------- | ---- | --------- |
| &check; | -1 | 16777215 | | 1194684 | | &nbsp; |
| &check; | -1 | 16777215 | | -1 | | &nbsp; |
### ADSB_ICAO_ID_2 (`INT32`) {#ADSB_ICAO_ID_2}
Secondary ownship ICAO ID.
Optional second ownship ICAO ID used to filter self-detections. Use -1 to disable.
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------- | -------- | -------- | --------- | ------- | ---- | --------- |
| &check; | -1 | 16777215 | | -1 | | &nbsp; |
### ADSB_ICAO_SPECL (`INT32`) {#ADSB_ICAO_SPECL}
@@ -22599,6 +22609,212 @@ Configure on which serial port to run DShot Driver.
| ------- | -------- | -------- | --------- | ------- | ---- | --------- |
| &check; | | | | 0 | | &nbsp; |
## Detect and Avoid
### DAA_EN (`INT32`) {#DAA_EN}
Enable DAA.
**Values:**
- `0`: Disabled
- `1`: Enabled
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ----------- | ---- | --------- |
| &nbsp; | | | | Enabled (1) | | &nbsp; |
### DAA_NOTIF_STATE (`INT32`) {#DAA_NOTIF_STATE}
DAA status notification period.
Time between notifications for the most urgent conflict. Set to 0 to disable the periodic status notification.
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
| &nbsp; | 0 | 600 | | 20 | s | &nbsp; |
### DAA_TRAFF_TOUT (`INT32`) {#DAA_TRAFF_TOUT}
DAA stale conflict timeout.
Conflict age before removal.
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
| &nbsp; | 1 | 120 | | 20 | s | &nbsp; |
## Detect and Avoid F3442 Standard
### DAA_DFLT_VEL (`FLOAT`) {#DAA_DFLT_VEL}
Default vertical speed of other aircraft.
Used when DAA_EN_DFLT_VEL is enabled. Specific to the F3442 DAA standard.
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
| &nbsp; | 0 | | | 10.0 | m/s | &nbsp; |
### DAA_EN_DFLT_VEL (`INT32`) {#DAA_EN_DFLT_VEL}
Ignore reported vertical speed of other aircraft.
Use DAA_DFLT_VEL instead of reported traffic vertical speed. Specific to the F3442 DAA standard.
**Values:**
- `0`: Disabled
- `1`: Enabled
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ----------- | ---- | --------- |
| &nbsp; | | | | Enabled (1) | | &nbsp; |
### DAA_LVL_CRIT_ACT (`INT32`) {#DAA_LVL_CRIT_ACT}
Critical conflict action.
Action requested when the critical conflict level is reached.
Runtime changes apply on later conflict level transitions.
Specific to the F3442 DAA standard.
**Values:**
- `0`: Disabled
- `1`: Warn only
- `2`: Return mode
- `3`: Land mode
- `4`: Position Hold mode
- `5`: Terminate
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
| &nbsp; | 0 | 5 | | 1 | | &nbsp; |
### DAA_LVL_CRIT_HGT (`FLOAT`) {#DAA_LVL_CRIT_HGT}
Critical conflict zone cylinder height (NMAC).
Per-aircraft half-zone. Specific to the F3442 DAA standard.
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
| &nbsp; | 10 | | | 16.0 | m | &nbsp; |
### DAA_LVL_CRIT_RAD (`FLOAT`) {#DAA_LVL_CRIT_RAD}
Critical conflict zone cylinder radius (NMAC).
Per-aircraft half-zone. Specific to the F3442 DAA standard.
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
| &nbsp; | 10 | | | 77.0 | m | &nbsp; |
### DAA_LVL_HIGH_ACT (`INT32`) {#DAA_LVL_HIGH_ACT}
High conflict action.
Action requested when the high conflict level is reached.
Runtime changes apply on later conflict level transitions.
Specific to the F3442 DAA standard.
**Values:**
- `0`: Disabled
- `1`: Warn only
- `2`: Return mode
- `3`: Land mode
- `4`: Position Hold mode
- `5`: Terminate
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
| &nbsp; | 0 | 5 | | 1 | | &nbsp; |
### DAA_LVL_HIGH_HGT (`FLOAT`) {#DAA_LVL_HIGH_HGT}
High conflict zone cylinder height (WC).
Per-aircraft half-zone. Specific to the F3442 DAA standard.
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
| &nbsp; | 10 | | | 39.0 | m | &nbsp; |
### DAA_LVL_HIGH_RAD (`FLOAT`) {#DAA_LVL_HIGH_RAD}
High conflict zone cylinder radius (WC).
Per-aircraft half-zone. Specific to the F3442 DAA standard.
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
| &nbsp; | 10 | | | 305.0 | m | &nbsp; |
### DAA_LVL_LOW_ACT (`INT32`) {#DAA_LVL_LOW_ACT}
Low conflict action.
Action requested when the low conflict level is reached.
Runtime changes apply on later conflict level transitions.
Specific to the F3442 DAA standard.
**Values:**
- `0`: Disabled
- `1`: Warn only
- `2`: Return mode
- `3`: Land mode
- `4`: Position Hold mode
- `5`: Terminate
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
| &nbsp; | 0 | 5 | | 1 | | &nbsp; |
### DAA_LVL_LOW_TIME (`INT32`) {#DAA_LVL_LOW_TIME}
Low conflict latency time.
Expands well-clear bounds by aircraft speed times this value. Specific to the F3442 DAA standard.
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
| &nbsp; | 0 | | | 33 | s | &nbsp; |
### DAA_LVL_MED_ACT (`INT32`) {#DAA_LVL_MED_ACT}
Medium conflict action.
Action requested when the medium conflict level is reached.
Runtime changes apply on later conflict level transitions.
Specific to the F3442 DAA standard.
**Values:**
- `0`: Disabled
- `1`: Warn only
- `2`: Return mode
- `3`: Land mode
- `4`: Position Hold mode
- `5`: Terminate
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
| &nbsp; | 0 | 5 | | 1 | | &nbsp; |
### DAA_LVL_MED_TIME (`INT32`) {#DAA_LVL_MED_TIME}
Medium conflict latency time.
Expands NMAC bounds by aircraft speed times this value. Specific to the F3442 DAA standard.
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
| &nbsp; | 0 | | | 33 | s | &nbsp; |
## EKF2
### EKF2_ABIAS_INIT (`FLOAT`) {#EKF2_ABIAS_INIT}
@@ -31735,10 +31951,10 @@ Set to a negative value to disable.
### NAV_TRAFF_AVOID (`INT32`) {#NAV_TRAFF_AVOID}
Set traffic avoidance mode.
Set traffic avoidance action.
Enabling this will allow the system to respond
to transponder data from e.g. ADSB transponders
Action requested for a crosstrack traffic conflict.
Runtime changes apply on later conflict level transitions.
**Values:**
@@ -31747,16 +31963,17 @@ to transponder data from e.g. ADSB transponders
- `2`: Return mode
- `3`: Land mode
- `4`: Position Hold mode
- `5`: Terminate
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
| &nbsp; | | | | 1 | | &nbsp; |
| &nbsp; | 0 | 5 | | 1 | | &nbsp; |
### NAV_TRAFF_A_HOR (`FLOAT`) {#NAV_TRAFF_A_HOR}
Set NAV TRAFFIC AVOID horizontal distance.
Crosstrack conflict distance threshold.
Defines a crosstrack horizontal distance
Maximum absolute distance from the projected traffic track.
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
@@ -31764,7 +31981,7 @@ Defines a crosstrack horizontal distance
### NAV_TRAFF_A_VER (`FLOAT`) {#NAV_TRAFF_A_VER}
Set NAV TRAFFIC AVOID vertical distance.
Crosstrack vertical separation threshold.
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
@@ -31772,10 +31989,10 @@ Set NAV TRAFFIC AVOID vertical distance.
### NAV_TRAFF_COLL_T (`INT32`) {#NAV_TRAFF_COLL_T}
Estimated time until collision.
Crosstrack collision time threshold.
Minimum acceptable time until collsion.
Assumes constant speed over 3d distance.
A conflict is raised when the time estimate is below this threshold.
The estimate is the current 3D separation divided by the sum of the ownship and traffic speed magnitudes.
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
| ------ | -------- | --------- | --------- | ------- | ---- | --------- |

View File

@@ -377,14 +377,14 @@ Before sending a vehicle command, PX4 maps the current navigator state into the
::: details Click here to view the full navigator-state to DAA-action mapping
| Current navigator state | Equivalent DAA action | Practical effect |
| ------------------------------------------------------------------------------------------------------------------------ | --------------------- | -------------------------------------------------- |
| `AUTO_MISSION`, `AUTO_TAKEOFF`, `AUTO_FOLLOW_TARGET`, `AUTO_VTOL_TAKEOFF`, `GUIDED_COURSE` | `DISABLED` | Any automatic DAA action may still escalate |
| `ORBIT`, `AUTO_LOITER` | `POSITION_HOLD_MODE` | Only `Return`, `Land`, or `Terminate` can escalate |
| `AUTO_RTL` | `RETURN_MODE` | Only `Land` or `Terminate` can escalate |
| Current navigator state | Equivalent DAA action | Practical effect |
| ------------------------------------------------------------------------------------------------------------------------- | --------------------- | -------------------------------------------------- |
| `AUTO_MISSION`, `AUTO_TAKEOFF`, `AUTO_FOLLOW_TARGET`, `AUTO_VTOL_TAKEOFF`, `GUIDED_COURSE` | `DISABLED` | Any automatic DAA action may still escalate |
| `ORBIT`, `AUTO_LOITER` | `POSITION_HOLD_MODE` | Only `Return`, `Land`, or `Terminate` can escalate |
| `AUTO_RTL` | `RETURN_MODE` | Only `Land` or `Terminate` can escalate |
| `AUTO_LAND`, `DESCEND`, `AUTO_PRECLAND`, `MANUAL`, `ALTCTL`, `ALTITUDE_CRUISE`, `POSCTL`, `POSITION_SLOW`, `ACRO`, `STAB` | `LAND_MODE` | Only `Terminate` can escalate |
| `TERMINATION` | `TERMINATE` | No stronger DAA action exists |
| `OFFBOARD`, `EXTERNAL1` through `EXTERNAL8`, and unknown states | `MAX_ACTION_VALUE` | PX4 will not inject an automatic DAA mode change |
| `TERMINATION` | `TERMINATE` | No stronger DAA action exists |
| `OFFBOARD`, `EXTERNAL1` through `EXTERNAL8`, and unknown states | `MAX_ACTION_VALUE` | PX4 will not inject an automatic DAA mode change |
Manual modes are intentionally treated as `LAND_MODE`.
That means DAA will not automatically switch a manually flown vehicle into Hold, Return, or Land; only `Terminate` is considered a stronger action than those modes.
@@ -461,7 +461,7 @@ To decode a logged `unique_id` back into an ICAO address, callsign, or shortened
| Identifier source | Accepted if | Stored value |
| ----------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| ICAO address | `0 < icao_address <= 0xFFFFFF` | Stored directly in the low bits of `unique_id` with `UNIQUE_ID_ENCODING_ICAO` |
| ICAO address | `0 < icao_address <= 0xFFFFFF` | Stored directly in the low bits of `unique_id` with `UNIQUE_ID_ENCODING_ICAO` |
| ADS-B callsign | `PX4_ADSB_FLAGS_VALID_CALLSIGN` is set and the `callsign[9]` field is null-terminated | Packs up to 8 callsign characters into a `uint64`. Byte `0` is the first character. Bytes `0-3` correspond to [ADSB_CALLSIGN_1](../advanced_config/parameter_reference.md#ADSB_CALLSIGN_1) and bytes `4-7` correspond to [ADSB_CALLSIGN_2](../advanced_config/parameter_reference.md#ADSB_CALLSIGN_2). |
| UAS ID | At least one of the final 8 bytes in `uas_id[18]` is non-zero | Packs those final 8 bytes into a `uint64` with `UNIQUE_ID_ENCODING_UAS_ID` |
@@ -806,14 +806,14 @@ listener detect_and_avoid_most_urgent
Exact distances and message text depend on the selected parameters and vehicle state. With the default warn-only F3442 actions:
| Scenario | Expected behavior |
| --- | --- |
| `unique_ids` | Three otherwise similar encounters are tracked by ICAO address, callsign, and UAS ID respectively. |
| `escalation` | One aircraft progresses through increasing conflict levels, then becomes stale and is removed. |
| `spam_same` | Repeated reports refresh one tracked conflict without producing a message for every sample. |
| `spam_new` | Multiple aircraft fill the conflict buffer; less urgent reports are evicted or ignored according to buffer priority. |
| `flags` | F3442 accepts missing traffic velocity and applies its configured defaults; Crosstrack rejects the report. |
| `queue_fill` | DAA drains a full queued burst and retains the highest-priority conflicts. |
| Scenario | Expected behavior |
| ------------ | -------------------------------------------------------------------------------------------------------------------- |
| `unique_ids` | Three otherwise similar encounters are tracked by ICAO address, callsign, and UAS ID respectively. |
| `escalation` | One aircraft progresses through increasing conflict levels, then becomes stale and is removed. |
| `spam_same` | Repeated reports refresh one tracked conflict without producing a message for every sample. |
| `spam_new` | Multiple aircraft fill the conflict buffer; less urgent reports are evicted or ignored according to buffer priority. |
| `flags` | F3442 accepts missing traffic velocity and applies its configured defaults; Crosstrack rejects the report. |
| `queue_fill` | DAA drains a full queued burst and retains the highest-priority conflicts. |
Use the uORB topics and operator messages above to verify the result. Automated-action testing should use a controlled simulation environment.

View File

@@ -281,14 +281,14 @@ The action parameters depend on the conflict model selected when the firmware is
The relevant parameters are shown below:
| Parameter | Description |
| -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| [DAA_EN](../advanced_config/parameter_reference.md#DAA_EN) | Enables or disables Detect and Avoid. |
| [NAV_TRAFF_AVOID](../advanced_config/parameter_reference.md#NAV_TRAFF_AVOID) | Action for the Crosstrack model. |
| [DAA_LVL_LOW_ACT](../advanced_config/parameter_reference.md#DAA_LVL_LOW_ACT) | F3442-mode action for a `LOW` conflict. |
| [DAA_LVL_MED_ACT](../advanced_config/parameter_reference.md#DAA_LVL_MED_ACT) | F3442-mode action for a `MEDIUM` conflict. |
| [DAA_LVL_HIGH_ACT](../advanced_config/parameter_reference.md#DAA_LVL_HIGH_ACT) | F3442-mode action for a `HIGH` conflict. |
| [DAA_LVL_CRIT_ACT](../advanced_config/parameter_reference.md#DAA_LVL_CRIT_ACT) | F3442-mode action for a `CRITICAL` conflict. |
| Parameter | Description |
| ------------------------------------------------------------------------------ | -------------------------------------------- |
| [DAA_EN](../advanced_config/parameter_reference.md#DAA_EN) | Enables or disables Detect and Avoid. |
| [NAV_TRAFF_AVOID](../advanced_config/parameter_reference.md#NAV_TRAFF_AVOID) | Action for the Crosstrack model. |
| [DAA_LVL_LOW_ACT](../advanced_config/parameter_reference.md#DAA_LVL_LOW_ACT) | F3442-mode action for a `LOW` conflict. |
| [DAA_LVL_MED_ACT](../advanced_config/parameter_reference.md#DAA_LVL_MED_ACT) | F3442-mode action for a `MEDIUM` conflict. |
| [DAA_LVL_HIGH_ACT](../advanced_config/parameter_reference.md#DAA_LVL_HIGH_ACT) | F3442-mode action for a `HIGH` conflict. |
| [DAA_LVL_CRIT_ACT](../advanced_config/parameter_reference.md#DAA_LVL_CRIT_ACT) | F3442-mode action for a `CRITICAL` conflict. |
All action parameters use `Disabled`, `Warn only`, `Return mode`, `Land mode`, `Position Hold mode`, and `Terminate`.
See [Detect and Avoid](../advanced_features/detect_and_avoid.md) for conflict-model and action-transition details.

View File

@@ -130,6 +130,8 @@ They are not build into the module, and hence are neither published or subscribe
- [DebugKeyValue](../msg_docs/DebugKeyValue.md)
- [DebugValue](../msg_docs/DebugValue.md)
- [DebugVect](../msg_docs/DebugVect.md)
- [DetectAndAvoid](../msg_docs/DetectAndAvoid.md)
- [DetectAndAvoidMostUrgent](../msg_docs/DetectAndAvoidMostUrgent.md)
- [DeviceInformation](../msg_docs/DeviceInformation.md)
- [DifferentialPressure](../msg_docs/DifferentialPressure.md)
- [DistanceSensorModeChangeRequest](../msg_docs/DistanceSensorModeChangeRequest.md)

View File

@@ -287,7 +287,7 @@ navigator <command> [arguments...]
fencefile load a geofence file from SD card, stored at etc/geofence.txt
fake_traffic publishes 24 fake transponder_report_s uORB messages
fake_traffic run synthetic DAA traffic; use 'navigator fake_traffic help'
stop

View File

@@ -0,0 +1,92 @@
---
pageClass: is-wide-page
---
# DetectAndAvoid (UORB message)
Detect-and-avoid conflict assessment for one traffic aircraft.
Detailed per-traffic output from navigator's `DetectAndAvoid` component.
A sample is published when an evaluated report indicates a conflict or updates
an aircraft already tracked as a conflict. New reports assessed at NONE are omitted.
Unlike `detect_and_avoid_most_urgent`, this topic does not summarize the single
active conflict driving DAA actions or prearm checks. It reports the conflict level
and geometry for the specific traffic aircraft that was just evaluated.
Published by: `navigator` (`DetectAndAvoid`)
Used by: logging and tests
**TOPICS:** detect_and_avoid
## Fields
| Name | Type | Unit [Frame] | Range/Enum | Description |
| ------------------------------------------------------------- | --------- | ------------ | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| <a id="fld_timestamp"></a>timestamp | `uint64` | us | | Time since system start |
| <a id="fld_unique_id"></a>unique_id | `uint64` | | | Encoded traffic identifier selected in priority order: ICAO address, ADS-B callsign, then reduced UAS ID tail bytes |
| <a id="fld_unique_id_encoding"></a>unique_id_encoding | `uint8` | | | Namespace used to decode `unique_id` |
| <a id="fld_conflict_level"></a>conflict_level | `uint8` | | | Conflict level calculated for this traffic aircraft |
| <a id="fld_aircraft_dist"></a>aircraft_dist | `float32` | m | | Current 3D point-to-point range between ownship and the traffic aircraft |
| <a id="fld_aircraft_dist_hor"></a>aircraft_dist_hor | `float32` | m [NED] | | Horizontal separation metric. In Crosstrack mode this is the signed crosstrack distance when available, otherwise direct horizontal range |
| <a id="fld_aircraft_dist_vert"></a>aircraft_dist_vert | `float32` | m [NED] | | Vertical separation between ownship (the current vehicle) and the traffic aircraft |
| <a id="fld_expected_min_dist_time"></a>expected_min_dist_time | `float32` | s | | Conservative collision-time estimate from current 3D separation and the sum of ownship and traffic speed magnitudes |
## Constants
| Name | Type | Value | Description |
| ------------------------------------------------------------------------------- | ------- | ----- | ------------------------------------------------------------- |
| <a id="#DAA_CONFLICT_LVL_NONE"></a> DAA_CONFLICT_LVL_NONE | `uint8` | 0 |
| <a id="#DAA_CONFLICT_LVL_LOW"></a> DAA_CONFLICT_LVL_LOW | `uint8` | 1 |
| <a id="#DAA_CONFLICT_LVL_MEDIUM"></a> DAA_CONFLICT_LVL_MEDIUM | `uint8` | 2 |
| <a id="#DAA_CONFLICT_LVL_HIGH"></a> DAA_CONFLICT_LVL_HIGH | `uint8` | 3 |
| <a id="#DAA_CONFLICT_LVL_CRITICAL"></a> DAA_CONFLICT_LVL_CRITICAL | `uint8` | 4 |
| <a id="#UNIQUE_ID_ENCODING_ICAO"></a> UNIQUE_ID_ENCODING_ICAO | `uint8` | 0 | `unique_id` contains an ICAO address |
| <a id="#UNIQUE_ID_ENCODING_ADSB_CALLSIGN"></a> UNIQUE_ID_ENCODING_ADSB_CALLSIGN | `uint8` | 1 | `unique_id` contains an ADS-B callsign packed into a `uint64` |
| <a id="#UNIQUE_ID_ENCODING_UAS_ID"></a> UNIQUE_ID_ENCODING_UAS_ID | `uint8` | 2 | `unique_id` contains the reduced tail bytes of a UAS ID |
| <a id="#ORB_QUEUE_LENGTH"></a> ORB_QUEUE_LENGTH | `uint8` | 16 |
## Source Message
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/DetectAndAvoid.msg)
::: details Click here to see original file
```c
# Detect-and-avoid conflict assessment for one traffic aircraft.
#
# Detailed per-traffic output from navigator's `DetectAndAvoid` component.
# A sample is published when an evaluated report indicates a conflict or updates
# an aircraft already tracked as a conflict. New reports assessed at NONE are omitted.
#
# Unlike `detect_and_avoid_most_urgent`, this topic does not summarize the single
# active conflict driving DAA actions or prearm checks. It reports the conflict level
# and geometry for the specific traffic aircraft that was just evaluated.
#
# Published by: `navigator` (`DetectAndAvoid`)
# Used by: logging and tests
uint8 DAA_CONFLICT_LVL_NONE = 0
uint8 DAA_CONFLICT_LVL_LOW = 1
uint8 DAA_CONFLICT_LVL_MEDIUM = 2
uint8 DAA_CONFLICT_LVL_HIGH = 3
uint8 DAA_CONFLICT_LVL_CRITICAL = 4
uint8 UNIQUE_ID_ENCODING_ICAO = 0 # `unique_id` contains an ICAO address
uint8 UNIQUE_ID_ENCODING_ADSB_CALLSIGN = 1 # `unique_id` contains an ADS-B callsign packed into a `uint64`
uint8 UNIQUE_ID_ENCODING_UAS_ID = 2 # `unique_id` contains the reduced tail bytes of a UAS ID
uint8 ORB_QUEUE_LENGTH = 16
uint64 timestamp # [us] Time since system start
uint64 unique_id # [-] Encoded traffic identifier selected in priority order: ICAO address, ADS-B callsign, then reduced UAS ID tail bytes
uint8 unique_id_encoding # [-] Namespace used to decode `unique_id`
uint8 conflict_level # [-] Conflict level calculated for this traffic aircraft
float32 aircraft_dist # [m] Current 3D point-to-point range between ownship and the traffic aircraft
float32 aircraft_dist_hor # [m] [@frame NED] Horizontal separation metric. In Crosstrack mode this is the signed crosstrack distance when available, otherwise direct horizontal range
float32 aircraft_dist_vert # [m] [@frame NED] Vertical separation between ownship (the current vehicle) and the traffic aircraft
float32 expected_min_dist_time # [s] Conservative collision-time estimate from current 3D separation and the sum of ownship and traffic speed magnitudes
```
:::

View File

@@ -0,0 +1,76 @@
---
pageClass: is-wide-page
---
# DetectAndAvoidMostUrgent (UORB message)
Detect-and-avoid summary for the most urgent active conflict.
Aggregated DAA status from navigator's `DetectAndAvoid` component.
It publishes the single active conflict that currently has the highest urgency
after the per-traffic conflict buffer has been updated.
Unlike `detect_and_avoid`, this topic is not published for every processed
traffic report and does not include the detailed horizontal and vertical geometry.
It is the topic used for overall DAA status, automatic-action decisions, and
prearm checks.
Published by: `navigator` (`DetectAndAvoid`)
Used by: `commander` DAA arming checks, logging, and tests
**TOPICS:** detect_and_avoid_most_urgent
## Fields
| Name | Type | Unit [Frame] | Range/Enum | Description |
| ----------------------------------------------------- | --------- | ------------ | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a id="fld_timestamp"></a>timestamp | `uint64` | us | | Time since system start |
| <a id="fld_unique_id"></a>unique_id | `uint64` | | | Encoded identifier of the current most urgent traffic aircraft, selected in priority order: ICAO address, ADS-B callsign, then reduced UAS ID tail bytes |
| <a id="fld_unique_id_encoding"></a>unique_id_encoding | `uint8` | | | Namespace used to decode `unique_id` |
| <a id="fld_has_action"></a>has_action | `bool` | | | True if the configured DAA response for this most urgent conflict is stronger than Warn only |
| <a id="fld_conflict_level"></a>conflict_level | `uint8` | | | Conflict level of the current most urgent active conflict |
| <a id="fld_aircraft_dist"></a>aircraft_dist | `float32` | m | | Approximate 3D range to the most urgent traffic aircraft (9999 when empty) |
## Constants
| Name | Type | Value | Description |
| ------------------------------------------------------------------------------- | ------- | ----- | ------------------------------------------------------------- |
| <a id="#UNIQUE_ID_ENCODING_ICAO"></a> UNIQUE_ID_ENCODING_ICAO | `uint8` | 0 | `unique_id` contains an ICAO address |
| <a id="#UNIQUE_ID_ENCODING_ADSB_CALLSIGN"></a> UNIQUE_ID_ENCODING_ADSB_CALLSIGN | `uint8` | 1 | `unique_id` contains an ADS-B callsign packed into a `uint64` |
| <a id="#UNIQUE_ID_ENCODING_UAS_ID"></a> UNIQUE_ID_ENCODING_UAS_ID | `uint8` | 2 | `unique_id` contains the reduced tail bytes of a UAS ID |
## Source Message
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/DetectAndAvoidMostUrgent.msg)
::: details Click here to see original file
```c
# Detect-and-avoid summary for the most urgent active conflict.
#
# Aggregated DAA status from navigator's `DetectAndAvoid` component.
# It publishes the single active conflict that currently has the highest urgency
# after the per-traffic conflict buffer has been updated.
#
# Unlike `detect_and_avoid`, this topic is not published for every processed
# traffic report and does not include the detailed horizontal and vertical geometry.
# It is the topic used for overall DAA status, automatic-action decisions, and
# prearm checks.
#
# Published by: `navigator` (`DetectAndAvoid`)
# Used by: `commander` DAA arming checks, logging, and tests
uint8 UNIQUE_ID_ENCODING_ICAO = 0 # `unique_id` contains an ICAO address
uint8 UNIQUE_ID_ENCODING_ADSB_CALLSIGN = 1 # `unique_id` contains an ADS-B callsign packed into a `uint64`
uint8 UNIQUE_ID_ENCODING_UAS_ID = 2 # `unique_id` contains the reduced tail bytes of a UAS ID
uint64 timestamp # [us] Time since system start
uint64 unique_id # [-] Encoded identifier of the current most urgent traffic aircraft, selected in priority order: ICAO address, ADS-B callsign, then reduced UAS ID tail bytes
uint8 unique_id_encoding # [-] Namespace used to decode `unique_id`
bool has_action # [-] True if the configured DAA response for this most urgent conflict is stronger than Warn only
uint8 conflict_level # [-] Conflict level of the current most urgent active conflict
float32 aircraft_dist # [m] Approximate 3D range to the most urgent traffic aircraft (9999 when empty)
```
:::

View File

@@ -104,6 +104,8 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
- [DebugKeyValue](DebugKeyValue.md)
- [DebugValue](DebugValue.md)
- [DebugVect](DebugVect.md)
- [DetectAndAvoid](DetectAndAvoid.md) — Detect-and-avoid conflict assessment for one traffic aircraft.
- [DetectAndAvoidMostUrgent](DetectAndAvoidMostUrgent.md) — Detect-and-avoid summary for the most urgent active conflict.
- [DeviceInformation](DeviceInformation.md) — Device information.
- [DifferentialPressure](DifferentialPressure.md) — Differential-pressure (airspeed) sensor.
- [DistanceSensor](DistanceSensor.md) — DISTANCE_SENSOR message data.

View File

@@ -150,13 +150,13 @@ PX4 evaluates four conflict levels and maps each level to an action:
F3442 mode evaluates four cylindrical alert tests in priority order.
A test is breached when both horizontal and vertical separation are inside its combined ownship (the current vehicle) plus traffic bounds.
| Item | Parameters | Meaning |
| -------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `CRITICAL` | [DAA_LVL_CRIT_RAD], [DAA_LVL_CRIT_HGT] | Per-aircraft NMAC base radius and vertical bound. |
| `HIGH` | [DAA_LVL_HIGH_RAD], [DAA_LVL_HIGH_HGT] | Per-aircraft Well Clear base radius and vertical bound. |
| `MEDIUM` | [DAA_LVL_MED_TIME] | Expands the NMAC base volume using aircraft speed and the configured time margin. |
| `LOW` | [DAA_LVL_LOW_TIME] | Expands the Well Clear base volume using aircraft speed and the configured time margin. |
| Velocity input | [DAA_EN_DFLT_VEL], [DAA_DFLT_VEL] | Optional replacement for the reported traffic vertical speed. |
| Item | Parameters | Meaning |
| -------------- | -------------------------------------- | --------------------------------------------------------------------------------------- |
| `CRITICAL` | [DAA_LVL_CRIT_RAD], [DAA_LVL_CRIT_HGT] | Per-aircraft NMAC base radius and vertical bound. |
| `HIGH` | [DAA_LVL_HIGH_RAD], [DAA_LVL_HIGH_HGT] | Per-aircraft Well Clear base radius and vertical bound. |
| `MEDIUM` | [DAA_LVL_MED_TIME] | Expands the NMAC base volume using aircraft speed and the configured time margin. |
| `LOW` | [DAA_LVL_LOW_TIME] | Expands the Well Clear base volume using aircraft speed and the configured time margin. |
| Velocity input | [DAA_EN_DFLT_VEL], [DAA_DFLT_VEL] | Optional replacement for the reported traffic vertical speed. |
[DAA_LVL_CRIT_RAD]: ../advanced_config/parameter_reference.md#DAA_LVL_CRIT_RAD
[DAA_LVL_CRIT_HGT]: ../advanced_config/parameter_reference.md#DAA_LVL_CRIT_HGT