docs: auto-sync metadata [skip ci]

Co-Authored-By: PX4 BuildBot <bot@px4.io>
This commit is contained in:
PX4BuildBot
2026-05-25 21:34:46 +00:00
parent dd604072c4
commit 82c8d965d0
21 changed files with 1348 additions and 249 deletions

View File

@@ -0,0 +1,49 @@
---
pageClass: is-wide-page
---
# FiducialMarkerPosReport (UORB message)
Relative position of a precision-landing target detected by a vision pipeline (e.g. an ArUco marker).
Published by: vision pipelines (on-board or off-board over MAVLink TARGET_RELATIVE), decoded in mavlink_receiver.
Subscribed by: vision_target_estimator (VTEPosition).
The measurement is expressed in an arbitrary sensor frame; the quaternion q rotates it into the NED earth frame.
**TOPICS:** fiducial_marker_pos_report
## Fields
| Name | Type | Unit [Frame] | Range/Enum | Description |
| ---------------- | ------------ | ------------ | ---------- | ------------------------------------------------------------------------ |
| timestamp | `uint64` | us | | Time since system start |
| timestamp_sample | `uint64` | us | | Timestamp of the raw observation |
| rel_pos | `float32[3]` | m | | Target position relative to vehicle, expressed in the frame defined by q |
| cov_rel_pos | `float32[3]` | m^2 | | Target position variance, expressed in the frame defined by q |
| q | `float32[4]` | | | Quaternion rotation from the rel_pos frame to the NED earth frame |
## Source Message
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/FiducialMarkerPosReport.msg)
::: details Click here to see original file
```c
# Relative position of a precision-landing target detected by a vision pipeline (e.g. an ArUco marker).
#
# Published by: vision pipelines (on-board or off-board over MAVLink TARGET_RELATIVE), decoded in mavlink_receiver.
# Subscribed by: vision_target_estimator (VTEPosition).
#
# The measurement is expressed in an arbitrary sensor frame; the quaternion q rotates it into the NED earth frame.
uint64 timestamp # [us] Time since system start
uint64 timestamp_sample # [us] Timestamp of the raw observation
float32[3] rel_pos # [m] Target position relative to vehicle, expressed in the frame defined by q
float32[3] cov_rel_pos # [m^2] Target position variance, expressed in the frame defined by q
float32[4] q # [-] Quaternion rotation from the rel_pos frame to the NED earth frame
```
:::

View File

@@ -0,0 +1,42 @@
---
pageClass: is-wide-page
---
# FiducialMarkerYawReport (UORB message)
Yaw of a precision-landing target relative to the NED (North, East, Down) frame, reported by a vision pipeline.
Published by: vision pipelines (on-board or off-board over MAVLink TARGET_RELATIVE), decoded in mavlink_receiver.
Subscribed by: vision_target_estimator (VTEOrientation).
**TOPICS:** fiducial_marker_yaw_report
## Fields
| Name | Type | Unit [Frame] | Range/Enum | Description |
| ---------------- | --------- | ------------ | ---------- | -------------------------------------------------------------- |
| timestamp | `uint64` | us | | Time since system start |
| timestamp_sample | `uint64` | us | | Timestamp of the raw observation |
| yaw_ned | `float32` | rad [NED] | | Orientation of the target relative to the NED frame [-Pi ; Pi] |
| yaw_var_ned | `float32` | rad^2 | | Orientation uncertainty |
## Source Message
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/FiducialMarkerYawReport.msg)
::: details Click here to see original file
```c
# Yaw of a precision-landing target relative to the NED (North, East, Down) frame, reported by a vision pipeline.
#
# Published by: vision pipelines (on-board or off-board over MAVLink TARGET_RELATIVE), decoded in mavlink_receiver.
# Subscribed by: vision_target_estimator (VTEOrientation).
uint64 timestamp # [us] Time since system start
uint64 timestamp_sample # [us] Timestamp of the raw observation
float32 yaw_ned # [rad] [@frame NED] Orientation of the target relative to the NED frame [-Pi ; Pi]
float32 yaw_var_ned # [rad^2] Orientation uncertainty
```
:::

View File

@@ -10,25 +10,29 @@ Relative position of precision land target in navigation (body fixed, north alig
## Fields
| Name | Type | Unit [Frame] | Range/Enum | Description |
| ------------- | --------- | ------------ | ---------- | ----------------------------------------------------------------------------------------- |
| timestamp | `uint64` | | | time since system start (microseconds) |
| is_static | `bool` | | | Flag indicating whether the landing target is static or moving with respect to the ground |
| rel_pos_valid | `bool` | | | Flag showing whether relative position is valid |
| rel_vel_valid | `bool` | | | Flag showing whether relative velocity is valid |
| x_rel | `float32` | | | X/north position of target, relative to vehicle (navigation frame) [meters] |
| y_rel | `float32` | | | Y/east position of target, relative to vehicle (navigation frame) [meters] |
| z_rel | `float32` | | | Z/down position of target, relative to vehicle (navigation frame) [meters] |
| vx_rel | `float32` | | | X/north velocity of target, relative to vehicle (navigation frame) [meters/second] |
| vy_rel | `float32` | | | Y/east velocity of target, relative to vehicle (navigation frame) [meters/second] |
| cov_x_rel | `float32` | | | X/north position variance [meters^2] |
| cov_y_rel | `float32` | | | Y/east position variance [meters^2] |
| cov_vx_rel | `float32` | | | X/north velocity variance [(meters/second)^2] |
| cov_vy_rel | `float32` | | | Y/east velocity variance [(meters/second)^2] |
| abs_pos_valid | `bool` | | | Flag showing whether absolute position is valid |
| x_abs | `float32` | | | X/north position of target, relative to origin (navigation frame) [meters] |
| y_abs | `float32` | | | Y/east position of target, relative to origin (navigation frame) [meters] |
| z_abs | `float32` | | | Z/down position of target, relative to origin (navigation frame) [meters] |
| Name | Type | Unit [Frame] | Range/Enum | Description |
| ------------------ | --------- | ------------ | ---------- | ----------------------------------------------------------------------------------------- |
| timestamp | `uint64` | us | | Time since system start |
| is_static | `bool` | | | Flag indicating whether the landing target is static or moving with respect to the ground |
| rel_pos_valid | `bool` | | | Flag showing whether relative position is valid |
| rel_vel_valid | `bool` | | | Flag showing whether relative velocity is valid |
| rel_vel_ekf2_valid | `bool` | | | Flag showing whether relative velocity is valid for EKF2 auxiliary velocity aiding |
| x_rel | `float32` | m | | X/north position of target, relative to vehicle (navigation frame) |
| y_rel | `float32` | m | | Y/east position of target, relative to vehicle (navigation frame) |
| z_rel | `float32` | m | | Z/down position of target, relative to vehicle (navigation frame) |
| vx_rel | `float32` | m/s | | X/north velocity of target, relative to vehicle (navigation frame) |
| vy_rel | `float32` | m/s | | Y/east velocity of target, relative to vehicle (navigation frame) |
| vz_rel | `float32` | m/s | | Z/down velocity of target, relative to vehicle (navigation frame) |
| cov_x_rel | `float32` | m^2 | | X/north position variance |
| cov_y_rel | `float32` | m^2 | | Y/east position variance |
| cov_z_rel | `float32` | m^2 | | Z/down position variance |
| cov_vx_rel | `float32` | (m/s)^2 | | X/north velocity variance |
| cov_vy_rel | `float32` | (m/s)^2 | | Y/east velocity variance |
| cov_vz_rel | `float32` | (m/s)^2 | | Z/down velocity variance |
| abs_pos_valid | `bool` | | | Flag showing whether absolute position is valid |
| x_abs | `float32` | m | | X/north position of target, relative to origin (navigation frame) |
| y_abs | `float32` | m | | Y/east position of target, relative to origin (navigation frame) |
| z_abs | `float32` | m | | Z/down position of target, relative to origin (navigation frame) |
## Source Message
@@ -39,30 +43,35 @@ Relative position of precision land target in navigation (body fixed, north alig
```c
# Relative position of precision land target in navigation (body fixed, north aligned, NED) and inertial (world fixed, north aligned, NED) frames
uint64 timestamp # time since system start (microseconds)
uint64 timestamp # [us] Time since system start
bool is_static # Flag indicating whether the landing target is static or moving with respect to the ground
bool is_static # [-] Flag indicating whether the landing target is static or moving with respect to the ground
bool rel_pos_valid # Flag showing whether relative position is valid
bool rel_vel_valid # Flag showing whether relative velocity is valid
bool rel_pos_valid # [-] Flag showing whether relative position is valid
bool rel_vel_valid # [-] Flag showing whether relative velocity is valid
bool rel_vel_ekf2_valid # [-] Flag showing whether relative velocity is valid for EKF2 auxiliary velocity aiding
float32 x_rel # X/north position of target, relative to vehicle (navigation frame) [meters]
float32 y_rel # Y/east position of target, relative to vehicle (navigation frame) [meters]
float32 z_rel # Z/down position of target, relative to vehicle (navigation frame) [meters]
float32 x_rel # [m] X/north position of target, relative to vehicle (navigation frame)
float32 y_rel # [m] Y/east position of target, relative to vehicle (navigation frame)
float32 z_rel # [m] Z/down position of target, relative to vehicle (navigation frame)
float32 vx_rel # X/north velocity of target, relative to vehicle (navigation frame) [meters/second]
float32 vy_rel # Y/east velocity of target, relative to vehicle (navigation frame) [meters/second]
float32 vx_rel # [m/s] X/north velocity of target, relative to vehicle (navigation frame)
float32 vy_rel # [m/s] Y/east velocity of target, relative to vehicle (navigation frame)
float32 vz_rel # [m/s] Z/down velocity of target, relative to vehicle (navigation frame)
float32 cov_x_rel # X/north position variance [meters^2]
float32 cov_y_rel # Y/east position variance [meters^2]
float32 cov_x_rel # [m^2] X/north position variance
float32 cov_y_rel # [m^2] Y/east position variance
float32 cov_z_rel # [m^2] Z/down position variance
float32 cov_vx_rel # X/north velocity variance [(meters/second)^2]
float32 cov_vy_rel # Y/east velocity variance [(meters/second)^2]
float32 cov_vx_rel # [(m/s)^2] X/north velocity variance
float32 cov_vy_rel # [(m/s)^2] Y/east velocity variance
float32 cov_vz_rel # [(m/s)^2] Z/down velocity variance
bool abs_pos_valid # Flag showing whether absolute position is valid
float32 x_abs # X/north position of target, relative to origin (navigation frame) [meters]
float32 y_abs # Y/east position of target, relative to origin (navigation frame) [meters]
float32 z_abs # Z/down position of target, relative to origin (navigation frame) [meters]
bool abs_pos_valid # [-] Flag showing whether absolute position is valid
float32 x_abs # [m] X/north position of target, relative to origin (navigation frame)
float32 y_abs # [m] Y/east position of target, relative to origin (navigation frame)
float32 z_abs # [m] Z/down position of target, relative to origin (navigation frame)
```
:::

View File

@@ -0,0 +1,69 @@
---
pageClass: is-wide-page
---
# PrecLandStatus (UORB message)
Precision-landing runtime status: a single state captures both whether precision landing is active and which phase it is in.
Published by: navigator (precland.cpp).
Subscribed by: vision_target_estimator, flight_mode_manager (FlightTaskAuto).
STOPPED is published when the precision-landing task is not active (just inactivated, or never started).
The phase values (START..FALLBACK) are only published while the task is running and not yet finished.
DONE is published once on successful completion, then STOPPED on the subsequent inactivation.
**TOPICS:** prec_land_status
## Fields
| Name | Type | Unit [Frame] | Range/Enum | Description |
| --------- | -------- | ------------ | ----------------------------------- | ------------------------------- |
| timestamp | `uint64` | us | | Time since system start |
| state | `uint8` | | [PREC_LAND_STATE](#PREC_LAND_STATE) | Current precision-landing state |
## Enums
### PREC_LAND_STATE {#PREC_LAND_STATE}
| Name | Type | Value | Description |
| ------------------------------------------------------------------- | ------- | ----- | --------------------------------------------------------------- |
| <a id="#PREC_LAND_STATE_STOPPED"></a> PREC_LAND_STATE_STOPPED | `uint8` | 0 | Task not active (inactivated or never started) |
| <a id="#PREC_LAND_STATE_START"></a> PREC_LAND_STATE_START | `uint8` | 1 | Task just activated, initial setup |
| <a id="#PREC_LAND_STATE_HORIZONTAL"></a> PREC_LAND_STATE_HORIZONTAL | `uint8` | 2 | Positioning over landing target while maintaining altitude |
| <a id="#PREC_LAND_STATE_DESCEND"></a> PREC_LAND_STATE_DESCEND | `uint8` | 3 | Descending while staying over the target |
| <a id="#PREC_LAND_STATE_FINAL"></a> PREC_LAND_STATE_FINAL | `uint8` | 4 | Final landing approach (continues even without target in sight) |
| <a id="#PREC_LAND_STATE_SEARCH"></a> PREC_LAND_STATE_SEARCH | `uint8` | 5 | Searching for the landing target |
| <a id="#PREC_LAND_STATE_FALLBACK"></a> PREC_LAND_STATE_FALLBACK | `uint8` | 6 | Fallback landing method (no precision) |
| <a id="#PREC_LAND_STATE_DONE"></a> PREC_LAND_STATE_DONE | `uint8` | 7 | Precision landing finished |
## Source Message
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/PrecLandStatus.msg)
::: details Click here to see original file
```c
# Precision-landing runtime status: a single state captures both whether precision landing is active and which phase it is in.
#
# Published by: navigator (precland.cpp).
# Subscribed by: vision_target_estimator, flight_mode_manager (FlightTaskAuto).
#
# STOPPED is published when the precision-landing task is not active (just inactivated, or never started).
# The phase values (START..FALLBACK) are only published while the task is running and not yet finished.
# DONE is published once on successful completion, then STOPPED on the subsequent inactivation.
uint64 timestamp # [us] Time since system start
uint8 state # [@enum PREC_LAND_STATE] Current precision-landing state
uint8 PREC_LAND_STATE_STOPPED = 0 # Task not active (inactivated or never started)
uint8 PREC_LAND_STATE_START = 1 # Task just activated, initial setup
uint8 PREC_LAND_STATE_HORIZONTAL = 2 # Positioning over landing target while maintaining altitude
uint8 PREC_LAND_STATE_DESCEND = 3 # Descending while staying over the target
uint8 PREC_LAND_STATE_FINAL = 4 # Final landing approach (continues even without target in sight)
uint8 PREC_LAND_STATE_SEARCH = 5 # Searching for the landing target
uint8 PREC_LAND_STATE_FALLBACK = 6 # Fallback landing method (no precision)
uint8 PREC_LAND_STATE_DONE = 7 # Precision landing finished
```
:::

View File

@@ -0,0 +1,69 @@
---
pageClass: is-wide-page
---
# TargetGnss (UORB message)
Landing target GNSS position in WGS84 coordinates, and optional NED velocity, from a target-mounted receiver.
Published by: mavlink_receiver (when decoding TARGET_ABSOLUTE with position/velocity capability bits set).
Subscribed by: vision_target_estimator (VTEPosition).
abs_pos_updated / vel_ned_updated tell the estimator which fields in this sample are fresh.
**TOPICS:** target_gnss
## Fields
| Name | Type | Unit [Frame] | Range/Enum | Description |
| ---------------- | --------- | ------------ | ---------- | ------------------------------------------------ |
| timestamp | `uint64` | us | | Time since system start |
| timestamp_sample | `uint64` | us | | Timestamp of the raw observation |
| latitude_deg | `float64` | deg | | Latitude, allows centimeter level RTK precision |
| longitude_deg | `float64` | deg | | Longitude, allows centimeter level RTK precision |
| altitude_msl_m | `float32` | m | | Altitude above MSL |
| eph | `float32` | m | | GNSS horizontal position accuracy |
| epv | `float32` | m | | GNSS vertical position accuracy |
| abs_pos_updated | `bool` | | | True if WGS84 position is updated |
| vel_n_m_s | `float32` | m/s | | GNSS North velocity |
| vel_e_m_s | `float32` | m/s | | GNSS East velocity |
| vel_d_m_s | `float32` | m/s | | GNSS Down velocity |
| s_acc_m_s | `float32` | m/s | | GNSS speed accuracy estimate |
| vel_ned_updated | `bool` | | | True if NED velocity is updated |
## Source Message
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/TargetGnss.msg)
::: details Click here to see original file
```c
# Landing target GNSS position in WGS84 coordinates, and optional NED velocity, from a target-mounted receiver.
#
# Published by: mavlink_receiver (when decoding TARGET_ABSOLUTE with position/velocity capability bits set).
# Subscribed by: vision_target_estimator (VTEPosition).
#
# abs_pos_updated / vel_ned_updated tell the estimator which fields in this sample are fresh.
uint64 timestamp # [us] Time since system start
uint64 timestamp_sample # [us] Timestamp of the raw observation
float64 latitude_deg # [deg] Latitude, allows centimeter level RTK precision
float64 longitude_deg # [deg] Longitude, allows centimeter level RTK precision
float32 altitude_msl_m # [m] Altitude above MSL
float32 eph # [m] GNSS horizontal position accuracy
float32 epv # [m] GNSS vertical position accuracy
bool abs_pos_updated # True if WGS84 position is updated
float32 vel_n_m_s # [m/s] GNSS North velocity
float32 vel_e_m_s # [m/s] GNSS East velocity
float32 vel_d_m_s # [m/s] GNSS Down velocity
float32 s_acc_m_s # [m/s] GNSS speed accuracy estimate
bool vel_ned_updated # True if NED velocity is updated
```
:::

View File

@@ -0,0 +1,94 @@
---
pageClass: is-wide-page
---
# VteAidSource1d (UORB message)
Vision Target Estimator 1D fusion aid-source diagnostics (e.g. yaw).
Published by: vision_target_estimator (VTEOrientation) on every fusion attempt, including rejected ones.
Subscribed by: logger only. Inspect observation, innovation, test_ratio, and fusion_status to debug why a measurement was or was not fused.
**TOPICS:** vte_aid_ev_yaw
## Fields
| Name | Type | Unit [Frame] | Range/Enum | Description |
| -------------------- | --------- | ------------ | --------------------------------------- | --------------------------------------------------------- |
| timestamp | `uint64` | us | | Time since system start |
| timestamp_sample | `uint64` | us | | Timestamp of the raw observation |
| time_last_predict | `uint64` | us | | Timestamp of last filter prediction |
| observation | `float32` | | | Observation attempted to be fused |
| observation_variance | `float32` | | | Variance of observation attempted to be fused |
| innovation | `float32` | | | Kalman Filter innovation (y = z - Hx) |
| innovation_variance | `float32` | | | Kalman Filter variance of the innovation |
| test_ratio | `float32` | | | Normalized innovation squared (NIS) |
| fusion_status | `uint8` | | [VTE_FUSION_STATUS](#VTE_FUSION_STATUS) | Fusion status code |
| time_since_meas_ms | `float32` | ms | | (now - timestamp_sample) |
| history_steps | `uint8` | | | Number of steps replayed in OOSM (0 if current or failed) |
## Enums
### VTE_FUSION_STATUS {#VTE_FUSION_STATUS}
| Name | Type | Value | Description |
| ---- | ---- | ----- | ----------- |
## Constants
| Name | Type | Value | Description |
| --------------------------------------------------------- | ------- | ----- | ------------------------------------------------------------------- |
| <a id="#STATUS_IDLE"></a> STATUS_IDLE | `uint8` | 0 | No fusion attempted yet |
| <a id="#STATUS_FUSED_CURRENT"></a> STATUS_FUSED_CURRENT | `uint8` | 1 | Fused immediately (low latency) |
| <a id="#STATUS_FUSED_OOSM"></a> STATUS_FUSED_OOSM | `uint8` | 2 | Fused via history buffer |
| <a id="#STATUS_REJECT_NIS"></a> STATUS_REJECT_NIS | `uint8` | 3 | Rejected by Normalized Innovation Squared check |
| <a id="#STATUS_REJECT_COV"></a> STATUS_REJECT_COV | `uint8` | 4 | Rejected due to invalid/infinite covariance or numerical error |
| <a id="#STATUS_REJECT_TOO_OLD"></a> STATUS_REJECT_TOO_OLD | `uint8` | 5 | Rejected: older than buffer limit (kOosmMaxTimeUs) or oldest sample |
| <a id="#STATUS_REJECT_TOO_NEW"></a> STATUS_REJECT_TOO_NEW | `uint8` | 6 | Rejected: timestamp in the future (beyond tolerance) |
| <a id="#STATUS_REJECT_STALE"></a> STATUS_REJECT_STALE | `uint8` | 7 | Rejected: history was reset due to staleness/discontinuity |
| <a id="#STATUS_REJECT_EMPTY"></a> STATUS_REJECT_EMPTY | `uint8` | 8 | Rejected: history buffer not yet populated |
## Source Message
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VteAidSource1d.msg)
::: details Click here to see original file
```c
# Vision Target Estimator 1D fusion aid-source diagnostics (e.g. yaw).
#
# Published by: vision_target_estimator (VTEOrientation) on every fusion attempt, including rejected ones.
# Subscribed by: logger only. Inspect observation, innovation, test_ratio, and fusion_status to debug why a measurement was or was not fused.
uint64 timestamp # [us] Time since system start
uint64 timestamp_sample # [us] Timestamp of the raw observation
uint64 time_last_predict # [us] Timestamp of last filter prediction
# Observation & Innovation
float32 observation # [-] Observation attempted to be fused
float32 observation_variance # [-] Variance of observation attempted to be fused
float32 innovation # [-] Kalman Filter innovation (y = z - Hx)
float32 innovation_variance # [-] Kalman Filter variance of the innovation
float32 test_ratio # [-] Normalized innovation squared (NIS)
uint8 fusion_status # [@enum VTE_FUSION_STATUS] Fusion status code
uint8 STATUS_IDLE = 0 # No fusion attempted yet
uint8 STATUS_FUSED_CURRENT = 1 # Fused immediately (low latency)
uint8 STATUS_FUSED_OOSM = 2 # Fused via history buffer
uint8 STATUS_REJECT_NIS = 3 # Rejected by Normalized Innovation Squared check
uint8 STATUS_REJECT_COV = 4 # Rejected due to invalid/infinite covariance or numerical error
uint8 STATUS_REJECT_TOO_OLD = 5 # Rejected: older than buffer limit (kOosmMaxTimeUs) or oldest sample
uint8 STATUS_REJECT_TOO_NEW = 6 # Rejected: timestamp in the future (beyond tolerance)
uint8 STATUS_REJECT_STALE = 7 # Rejected: history was reset due to staleness/discontinuity
uint8 STATUS_REJECT_EMPTY = 8 # Rejected: history buffer not yet populated
# OOSM Diagnostics
float32 time_since_meas_ms # [ms] (now - timestamp_sample)
uint8 history_steps # [-] Number of steps replayed in OOSM (0 if current or failed)
# TOPICS vte_aid_ev_yaw
```
:::

View File

@@ -0,0 +1,95 @@
---
pageClass: is-wide-page
---
# VteAidSource3d (UORB message)
Vision Target Estimator 3D fusion aid-source diagnostics, one fusion_status per NED axis.
Published by: vision_target_estimator (VTEPosition) on every fusion attempt, including rejected ones.
Subscribed by: logger only. Inspect observation, innovation, test_ratio, and per-axis fusion_status to debug why a measurement was or was not fused.
**TOPICS:** vte_aid_gps_pos_target vte_aid_gps_pos_mission vte_aid_gps_vel_target vte_aid_gps_vel_uav vte_aid_fiducial_marker
## Fields
| Name | Type | Unit [Frame] | Range/Enum | Description |
| -------------------- | ------------ | ------------ | --------------------------------------- | --------------------------------------------------------- |
| timestamp | `uint64` | us | | Time since system start |
| timestamp_sample | `uint64` | us | | Timestamp of the raw observation |
| time_last_predict | `uint64` | us | | Timestamp of last filter prediction |
| observation | `float32[3]` | [NED] | | Sensor observation attempted to be fused |
| observation_variance | `float32[3]` | [NED] | | Variance of the observation attempted to be fused |
| innovation | `float32[3]` | [NED] | | Kalman Filter innovation (y = z - Hx) |
| innovation_variance | `float32[3]` | [NED] | | Kalman Filter variance of the innovation |
| test_ratio | `float32[3]` | | | Normalized innovation squared (NIS) |
| fusion_status | `uint8[3]` | | [VTE_FUSION_STATUS](#VTE_FUSION_STATUS) | Fusion status code per axis |
| time_since_meas_ms | `float32` | ms | | (now - timestamp_sample) |
| history_steps | `uint8` | | | Number of steps replayed in OOSM (0 if current or failed) |
## Enums
### VTE_FUSION_STATUS {#VTE_FUSION_STATUS}
| Name | Type | Value | Description |
| ---- | ---- | ----- | ----------- |
## Constants
| Name | Type | Value | Description |
| --------------------------------------------------------- | ------- | ----- | ------------------------------------------------------------------- |
| <a id="#STATUS_IDLE"></a> STATUS_IDLE | `uint8` | 0 | No fusion attempted yet |
| <a id="#STATUS_FUSED_CURRENT"></a> STATUS_FUSED_CURRENT | `uint8` | 1 | Fused immediately (low latency) |
| <a id="#STATUS_FUSED_OOSM"></a> STATUS_FUSED_OOSM | `uint8` | 2 | Fused via history buffer |
| <a id="#STATUS_REJECT_NIS"></a> STATUS_REJECT_NIS | `uint8` | 3 | Rejected by Normalized Innovation Squared check |
| <a id="#STATUS_REJECT_COV"></a> STATUS_REJECT_COV | `uint8` | 4 | Rejected due to invalid/infinite covariance or numerical error |
| <a id="#STATUS_REJECT_TOO_OLD"></a> STATUS_REJECT_TOO_OLD | `uint8` | 5 | Rejected: older than buffer limit (kOosmMaxTimeUs) or oldest sample |
| <a id="#STATUS_REJECT_TOO_NEW"></a> STATUS_REJECT_TOO_NEW | `uint8` | 6 | Rejected: timestamp in the future (beyond tolerance) |
| <a id="#STATUS_REJECT_STALE"></a> STATUS_REJECT_STALE | `uint8` | 7 | Rejected: history was reset due to staleness/discontinuity |
| <a id="#STATUS_REJECT_EMPTY"></a> STATUS_REJECT_EMPTY | `uint8` | 8 | Rejected: history buffer not yet populated |
## Source Message
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VteAidSource3d.msg)
::: details Click here to see original file
```c
# Vision Target Estimator 3D fusion aid-source diagnostics, one fusion_status per NED axis.
#
# Published by: vision_target_estimator (VTEPosition) on every fusion attempt, including rejected ones.
# Subscribed by: logger only. Inspect observation, innovation, test_ratio, and per-axis fusion_status to debug why a measurement was or was not fused.
uint64 timestamp # [us] Time since system start
uint64 timestamp_sample # [us] Timestamp of the raw observation
uint64 time_last_predict # [us] Timestamp of last filter prediction
# Observation & Innovation
float32[3] observation # [-] [@frame NED] Sensor observation attempted to be fused
float32[3] observation_variance # [-] [@frame NED] Variance of the observation attempted to be fused
float32[3] innovation # [-] [@frame NED] Kalman Filter innovation (y = z - Hx)
float32[3] innovation_variance # [-] [@frame NED] Kalman Filter variance of the innovation
float32[3] test_ratio # [-] Normalized innovation squared (NIS)
uint8[3] fusion_status # [@enum VTE_FUSION_STATUS] Fusion status code per axis
uint8 STATUS_IDLE = 0 # No fusion attempted yet
uint8 STATUS_FUSED_CURRENT = 1 # Fused immediately (low latency)
uint8 STATUS_FUSED_OOSM = 2 # Fused via history buffer
uint8 STATUS_REJECT_NIS = 3 # Rejected by Normalized Innovation Squared check
uint8 STATUS_REJECT_COV = 4 # Rejected due to invalid/infinite covariance or numerical error
uint8 STATUS_REJECT_TOO_OLD = 5 # Rejected: older than buffer limit (kOosmMaxTimeUs) or oldest sample
uint8 STATUS_REJECT_TOO_NEW = 6 # Rejected: timestamp in the future (beyond tolerance)
uint8 STATUS_REJECT_STALE = 7 # Rejected: history was reset due to staleness/discontinuity
uint8 STATUS_REJECT_EMPTY = 8 # Rejected: history buffer not yet populated
# OOSM Diagnostics (Shared across axes)
float32 time_since_meas_ms # [ms] (now - timestamp_sample)
uint8 history_steps # [-] Number of steps replayed in OOSM (0 if current or failed)
# TOPICS vte_aid_gps_pos_target vte_aid_gps_pos_mission vte_aid_gps_vel_target vte_aid_gps_vel_uav
# TOPICS vte_aid_fiducial_marker
```
:::

View File

@@ -0,0 +1,42 @@
---
pageClass: is-wide-page
---
# VteBiasInitStatus (UORB message)
Diagnostics for the initial GNSS/vision bias averaging phase in the Vision Target Estimator.
Published by: vision_target_estimator (VTEPosition) while the bias low-pass filter is running.
Subscribed by: logger only, to verify that the bias settles before the estimator starts fusing vision.
**TOPICS:** vte_bias_init_status
## Fields
| Name | Type | Unit [Frame] | Range/Enum | Description |
| ------------- | ------------ | ------------ | ---------- | ------------------------------- |
| timestamp | `uint64` | us | | Time since system start |
| raw_bias | `float32[3]` | m [NED] | | Current GNSS-vision bias sample |
| filtered_bias | `float32[3]` | m [NED] | | Low-pass filtered bias sample |
| delta_norm | `float32` | m | | norm(raw_bias_k - raw_bias_k-1) |
## Source Message
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VteBiasInitStatus.msg)
::: details Click here to see original file
```c
# Diagnostics for the initial GNSS/vision bias averaging phase in the Vision Target Estimator.
#
# Published by: vision_target_estimator (VTEPosition) while the bias low-pass filter is running.
# Subscribed by: logger only, to verify that the bias settles before the estimator starts fusing vision.
uint64 timestamp # [us] Time since system start
float32[3] raw_bias # [m] [@frame NED] Current GNSS-vision bias sample
float32[3] filtered_bias # [m] [@frame NED] Low-pass filtered bias sample
float32 delta_norm # [m] norm(raw_bias_k - raw_bias_k-1)
```
:::

View File

@@ -0,0 +1,44 @@
---
pageClass: is-wide-page
---
# VteInput (UORB message)
Vehicle inputs fed into the Vision Target Estimator position prediction step, logged for tuning.
Published by: vision_target_estimator (VisionTargetEst work item).
Subscribed by: logger only.
**TOPICS:** vte_input
## Fields
| Name | Type | Unit [Frame] | Range/Enum | Description |
| ---------------- | ------------ | ------------ | ---------- | --------------------------------------------------------------- |
| timestamp | `uint64` | us | | Time since system start |
| timestamp_sample | `uint64` | us | | Timestamp of the raw input data |
| acc_xyz | `float32[3]` | m/s^2 [NED] | | Downsampled UAV bias-corrected acceleration (including gravity) |
| q_att | `float32[4]` | | | Downsampled UAV attitude quaternion (FRD body -> NED earth) |
| acc_sample_count | `uint32` | | | Number of raw samples averaged into acc_xyz this cycle |
## Source Message
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VteInput.msg)
::: details Click here to see original file
```c
# Vehicle inputs fed into the Vision Target Estimator position prediction step, logged for tuning.
#
# Published by: vision_target_estimator (VisionTargetEst work item).
# Subscribed by: logger only.
uint64 timestamp # [us] Time since system start
uint64 timestamp_sample # [us] Timestamp of the raw input data
float32[3] acc_xyz # [m/s^2] [@frame NED] Downsampled UAV bias-corrected acceleration (including gravity)
float32[4] q_att # [-] Downsampled UAV attitude quaternion (FRD body -> NED earth)
uint32 acc_sample_count # [-] Number of raw samples averaged into acc_xyz this cycle
```
:::

View File

@@ -0,0 +1,48 @@
---
pageClass: is-wide-page
---
# VteOrientation (UORB message)
Vision Target Estimator orientation state, exposing the full yaw filter output with covariances for logging and tuning.
Published by: vision_target_estimator (VTEOrientation).
Subscribed by: logger only. The orientation-related fields consumed elsewhere (precision landing) are exposed on landing_target_pose.
**TOPICS:** vte_orientation
## Fields
| Name | Type | Unit [Frame] | Range/Enum | Description |
| ----------------- | --------- | ------------ | ---------- | ----------------------------------- |
| timestamp | `uint64` | us | | Time since system start |
| orientation_valid | `bool` | | | Relative orientation estimate valid |
| yaw | `float32` | rad [NED] | | Target yaw angle |
| cov_yaw | `float32` | rad^2 | | Variance of yaw |
| yaw_rate | `float32` | rad/s [NED] | | Target yaw rate |
| cov_yaw_rate | `float32` | (rad/s)^2 | | Variance of yaw_rate |
## Source Message
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VteOrientation.msg)
::: details Click here to see original file
```c
# Vision Target Estimator orientation state, exposing the full yaw filter output with covariances for logging and tuning.
#
# Published by: vision_target_estimator (VTEOrientation).
# Subscribed by: logger only. The orientation-related fields consumed elsewhere (precision landing) are exposed on landing_target_pose.
uint64 timestamp # [us] Time since system start
bool orientation_valid # [-] Relative orientation estimate valid
float32 yaw # [rad] [@frame NED] Target yaw angle
float32 cov_yaw # [rad^2] Variance of yaw
float32 yaw_rate # [rad/s] [@frame NED] Target yaw rate
float32 cov_yaw_rate # [(rad/s)^2] Variance of yaw_rate
```
:::

View File

@@ -0,0 +1,66 @@
---
pageClass: is-wide-page
---
# VtePosition (UORB message)
Vision Target Estimator position state, exposing the full per-axis Kalman filter state with covariances for logging and tuning.
Published by: vision_target_estimator (VTEPosition).
Subscribed by: logger only. The position-related fields consumed elsewhere (precision landing, EKF2 aiding) are exposed on landing_target_pose.
vel_target and acc_target are only populated when the firmware is built with CONFIG_VTEST_MOVING=y; otherwise they stay at zero.
**TOPICS:** vte_position
## Fields
| Name | Type | Unit [Frame] | Range/Enum | Description |
| -------------- | ------------ | --------------- | ---------- | ---------------------------------------------- |
| timestamp | `uint64` | us | | Time since system start |
| rel_pos_valid | `bool` | | | Relative position estimate valid |
| rel_vel_valid | `bool` | | | Relative velocity estimate valid |
| rel_pos | `float32[3]` | m [NED] | | Target position relative to vehicle |
| vel_uav | `float32[3]` | m/s [NED] | | Vehicle velocity |
| vel_target | `float32[3]` | m/s [NED] | | Target velocity |
| bias | `float32[3]` | m [NED] | | GNSS bias between vehicle and target receivers |
| acc_target | `float32[3]` | m/s^2 [NED] | | Target acceleration |
| cov_rel_pos | `float32[3]` | m^2 [NED] | | Variance of rel_pos |
| cov_vel_uav | `float32[3]` | (m/s)^2 [NED] | | Variance of vel_uav |
| cov_bias | `float32[3]` | m^2 [NED] | | Variance of bias |
| cov_vel_target | `float32[3]` | (m/s)^2 [NED] | | Variance of vel_target |
| cov_acc_target | `float32[3]` | (m/s^2)^2 [NED] | | Variance of acc_target |
## Source Message
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VtePosition.msg)
::: details Click here to see original file
```c
# Vision Target Estimator position state, exposing the full per-axis Kalman filter state with covariances for logging and tuning.
#
# Published by: vision_target_estimator (VTEPosition).
# Subscribed by: logger only. The position-related fields consumed elsewhere (precision landing, EKF2 aiding) are exposed on landing_target_pose.
#
# vel_target and acc_target are only populated when the firmware is built with CONFIG_VTEST_MOVING=y; otherwise they stay at zero.
uint64 timestamp # [us] Time since system start
bool rel_pos_valid # [-] Relative position estimate valid
bool rel_vel_valid # [-] Relative velocity estimate valid
float32[3] rel_pos # [m] [@frame NED] Target position relative to vehicle
float32[3] vel_uav # [m/s] [@frame NED] Vehicle velocity
float32[3] vel_target # [m/s] [@frame NED] Target velocity
float32[3] bias # [m] [@frame NED] GNSS bias between vehicle and target receivers
float32[3] acc_target # [m/s^2] [@frame NED] Target acceleration
float32[3] cov_rel_pos # [m^2] [@frame NED] Variance of rel_pos
float32[3] cov_vel_uav # [(m/s)^2] [@frame NED] Variance of vel_uav
float32[3] cov_bias # [m^2] [@frame NED] Variance of bias
float32[3] cov_vel_target # [(m/s)^2] [@frame NED] Variance of vel_target
float32[3] cov_acc_target # [(m/s^2)^2] [@frame NED] Variance of acc_target
```
:::

View File

@@ -105,6 +105,8 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
- [EstimatorStatusFlags](EstimatorStatusFlags.md)
- [FailsafeFlags](FailsafeFlags.md) — Input flags for the failsafe state machine set by the arming & health checks.
- [FailureDetectorStatus](FailureDetectorStatus.md)
- [FiducialMarkerPosReport](FiducialMarkerPosReport.md) — Relative position of a precision-landing target detected by a vision pipeline (e.g. an ArUco marker).
- [FiducialMarkerYawReport](FiducialMarkerYawReport.md) — Yaw of a precision-landing target relative to the NED (North, East, Down) frame, reported by a vision pipeline.
- [FigureEightStatus](FigureEightStatus.md)
- [FixedWingLateralGuidanceStatus](FixedWingLateralGuidanceStatus.md) — Fixed Wing Lateral Guidance Status message. Published by fw_pos_control module to report the resultant lateral setpoints and NPFG debug outputs.
- [FixedWingLateralStatus](FixedWingLateralStatus.md) — Fixed Wing Lateral Status message. Published by the fw_lateral_longitudinal_control module to report the resultant lateral setpoint.
@@ -187,6 +189,7 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
- [PowerButtonState](PowerButtonState.md) — power button state notification message.
- [PowerMonitor](PowerMonitor.md) — power monitor message.
- [PpsCapture](PpsCapture.md)
- [PrecLandStatus](PrecLandStatus.md) — Precision-landing runtime status: a single state captures both whether precision landing is active and which phase it is in.
- [PurePursuitStatus](PurePursuitStatus.md) — Pure pursuit status.
- [PwmInput](PwmInput.md)
- [Px4ioStatus](Px4ioStatus.md)
@@ -233,6 +236,7 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
- [SensorsStatusImu](SensorsStatusImu.md) — Sensor check metrics. This will be zero for a sensor that's primary or unpopulated.
- [SystemPower](SystemPower.md)
- [TakeoffStatus](TakeoffStatus.md) — Status of the takeoff state machine currently just available for multicopters.
- [TargetGnss](TargetGnss.md) — Landing target GNSS position in WGS84 coordinates, and optional NED velocity, from a target-mounted receiver.
- [TaskStackInfo](TaskStackInfo.md) — stack information for a single running process.
- [TecsStatus](TecsStatus.md)
- [TelemetryStatus](TelemetryStatus.md)
@@ -259,6 +263,12 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
- [VehicleThrustSetpoint](VehicleThrustSetpoint.md)
- [VehicleTorqueSetpoint](VehicleTorqueSetpoint.md)
- [VelocityLimits](VelocityLimits.md) — Velocity and yaw rate limits for a multicopter position slow mode only.
- [VteAidSource1d](VteAidSource1d.md) — Vision Target Estimator 1D fusion aid-source diagnostics (e.g. yaw).
- [VteAidSource3d](VteAidSource3d.md) — Vision Target Estimator 3D fusion aid-source diagnostics, one fusion_status per NED axis.
- [VteBiasInitStatus](VteBiasInitStatus.md) — Diagnostics for the initial GNSS/vision bias averaging phase in the Vision Target Estimator.
- [VteInput](VteInput.md) — Vehicle inputs fed into the Vision Target Estimator position prediction step, logged for tuning.
- [VteOrientation](VteOrientation.md) — Vision Target Estimator orientation state, exposing the full yaw filter output with covariances for logging and tuning.
- [VtePosition](VtePosition.md) — Vision Target Estimator position state, exposing the full per-axis Kalman filter state with covariances for logging and tuning.
- [Vtx](Vtx.md)
- [WheelEncoders](WheelEncoders.md)
- [YawEstimatorStatus](YawEstimatorStatus.md)