mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-07-26 16:28:06 +08:00
docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
This commit is contained in:
@@ -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 |
|
||||
| ------- | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| ✓ | -1 | 16777215 | | 1194684 | | |
|
||||
| ✓ | -1 | 16777215 | | -1 | | |
|
||||
|
||||
### 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 |
|
||||
| ------- | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| ✓ | -1 | 16777215 | | -1 | | |
|
||||
|
||||
### ADSB_ICAO_SPECL (`INT32`) {#ADSB_ICAO_SPECL}
|
||||
|
||||
@@ -22599,6 +22609,212 @@ Configure on which serial port to run DShot Driver.
|
||||
| ------- | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| ✓ | | | | 0 | | |
|
||||
|
||||
## Detect and Avoid
|
||||
|
||||
### DAA_EN (`INT32`) {#DAA_EN}
|
||||
|
||||
Enable DAA.
|
||||
|
||||
**Values:**
|
||||
|
||||
- `0`: Disabled
|
||||
- `1`: Enabled
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
|
||||
| ------ | -------- | -------- | --------- | ----------- | ---- | --------- |
|
||||
| | | | | Enabled (1) | | |
|
||||
|
||||
### 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 |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| | 0 | 600 | | 20 | s | |
|
||||
|
||||
### DAA_TRAFF_TOUT (`INT32`) {#DAA_TRAFF_TOUT}
|
||||
|
||||
DAA stale conflict timeout.
|
||||
|
||||
Conflict age before removal.
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit | Read-Only |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| | 1 | 120 | | 20 | s | |
|
||||
|
||||
## 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 |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| | 0 | | | 10.0 | m/s | |
|
||||
|
||||
### 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 |
|
||||
| ------ | -------- | -------- | --------- | ----------- | ---- | --------- |
|
||||
| | | | | Enabled (1) | | |
|
||||
|
||||
### 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 |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| | 0 | 5 | | 1 | | |
|
||||
|
||||
### 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 |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| | 10 | | | 16.0 | m | |
|
||||
|
||||
### 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 |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| | 10 | | | 77.0 | m | |
|
||||
|
||||
### 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 |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| | 0 | 5 | | 1 | | |
|
||||
|
||||
### 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 |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| | 10 | | | 39.0 | m | |
|
||||
|
||||
### 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 |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| | 10 | | | 305.0 | m | |
|
||||
|
||||
### 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 |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| | 0 | 5 | | 1 | | |
|
||||
|
||||
### 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 |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| | 0 | | | 33 | s | |
|
||||
|
||||
### 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 |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| | 0 | 5 | | 1 | | |
|
||||
|
||||
### 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 |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| | 0 | | | 33 | s | |
|
||||
|
||||
## 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 |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- | --------- |
|
||||
| | | | | 1 | | |
|
||||
| | 0 | 5 | | 1 | | |
|
||||
|
||||
### 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 |
|
||||
| ------ | -------- | --------- | --------- | ------- | ---- | --------- |
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
92
docs/en/msg_docs/DetectAndAvoid.md
Normal file
92
docs/en/msg_docs/DetectAndAvoid.md
Normal 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
|
||||
```
|
||||
|
||||
:::
|
||||
76
docs/en/msg_docs/DetectAndAvoidMostUrgent.md
Normal file
76
docs/en/msg_docs/DetectAndAvoidMostUrgent.md
Normal 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)
|
||||
```
|
||||
|
||||
:::
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user