mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
* Redirect 301/308 HTTP link fixes * Easy 404 fixes - easy * Add internal anchor fixes and generate msg docs fix
287 lines
21 KiB
Markdown
287 lines
21 KiB
Markdown
---
|
|
pageClass: is-wide-page
|
|
---
|
|
|
|
# VehicleStatusV1 (UORB message)
|
|
|
|
Encodes the system state of the vehicle published by commander.
|
|
|
|
**TOPICS:** vehicle_status_v1
|
|
|
|
## Fields
|
|
|
|
| Name | Type | Unit [Frame] | Range/Enum | Description |
|
|
| ---------------------------- | -------- | -------------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------- |
|
|
| timestamp | `uint64` | us | | Time since system start |
|
|
| armed_time | `uint64` | us | | Arming timestamp |
|
|
| takeoff_time | `uint64` | us | | Takeoff timestamp |
|
|
| arming_state | `uint8` | | |
|
|
| latest_arming_reason | `uint8` | | |
|
|
| latest_disarming_reason | `uint8` | | |
|
|
| nav_state_timestamp | `uint64` | | | Time when current nav_state activated |
|
|
| nav_state_user_intention | `uint8` | | | Mode that the user selected (might be different from nav_state in a failsafe situation) |
|
|
| nav_state | `uint8` | | [NAVIGATION_STATE](#NAVIGATION_STATE) | Currently active mode |
|
|
| executor_in_charge | `uint8` | | | Current mode executor in charge (0=Autopilot) |
|
|
| valid_nav_states_mask | `uint32` | | | Bitmask for all valid nav_state values |
|
|
| can_set_nav_states_mask | `uint32` | | | Bitmask for all modes that a user can select |
|
|
| failure_detector_status | `uint16` | | [FAILURE](#FAILURE) |
|
|
| hil_state | `uint8` | enum HIL_STATE | |
|
|
| vehicle_type | `uint8` | | [VEHICLE_TYPE](#VEHICLE_TYPE) |
|
|
| failsafe | `bool` | | | true if system is in failsafe state (e.g.:RTL, Hover, Terminate, ...) |
|
|
| failsafe_and_user_took_over | `bool` | | | true if system is in failsafe state but the user took over control |
|
|
| failsafe_defer_state | `uint8` | | [FAILSAFE_DEFER_STATE](#FAILSAFE_DEFER_STATE) |
|
|
| gcs_connection_lost | `bool` | | | datalink to GCS lost |
|
|
| gcs_connection_lost_counter | `uint8` | | | counts unique GCS connection lost events |
|
|
| high_latency_data_link_lost | `bool` | | | Set to true if the high latency data link (eg. RockBlock Iridium 9603 telemetry module) is lost |
|
|
| is_vtol | `bool` | | | True if the system is VTOL capable |
|
|
| is_vtol_tailsitter | `bool` | | | True if the system performs a 90° pitch down rotation during transition from MC to FW |
|
|
| in_transition_mode | `bool` | | | True if VTOL is doing a transition |
|
|
| in_transition_to_fw | `bool` | | | True if VTOL is doing a transition from MC to FW |
|
|
| system_type | `uint8` | | | system type, contains mavlink MAV_TYPE |
|
|
| system_id | `uint8` | | | system id, contains MAVLink's system ID field |
|
|
| component_id | `uint8` | | | subsystem / component id, contains MAVLink's component ID field |
|
|
| safety_button_available | `bool` | | | Set to true if a safety button is connected |
|
|
| safety_off | `bool` | | | Set to true if safety is off |
|
|
| power_input_valid | `bool` | | | Set if input power is valid |
|
|
| usb_connected | `bool` | | | Set to true (never cleared) once telemetry received from usb link |
|
|
| open_drone_id_system_present | `bool` | | |
|
|
| open_drone_id_system_healthy | `bool` | | |
|
|
| parachute_system_present | `bool` | | |
|
|
| parachute_system_healthy | `bool` | | |
|
|
| rc_calibration_in_progress | `bool` | | |
|
|
| calibration_enabled | `bool` | | |
|
|
| pre_flight_checks_pass | `bool` | | | true if all checks necessary to arm pass |
|
|
|
|
## Enums
|
|
|
|
### NAVIGATION_STATE {#NAVIGATION_STATE}
|
|
|
|
| Name | Type | Value | Description |
|
|
| ------------------------------------------------------------------------------------- | ------- | ----- | ------------------------------------- |
|
|
| <a id="#NAVIGATION_STATE_MANUAL"></a> NAVIGATION_STATE_MANUAL | `uint8` | 0 | Manual mode |
|
|
| <a id="#NAVIGATION_STATE_ALTCTL"></a> NAVIGATION_STATE_ALTCTL | `uint8` | 1 | Altitude control mode |
|
|
| <a id="#NAVIGATION_STATE_POSCTL"></a> NAVIGATION_STATE_POSCTL | `uint8` | 2 | Position control mode |
|
|
| <a id="#NAVIGATION_STATE_AUTO_MISSION"></a> NAVIGATION_STATE_AUTO_MISSION | `uint8` | 3 | Auto mission mode |
|
|
| <a id="#NAVIGATION_STATE_AUTO_LOITER"></a> NAVIGATION_STATE_AUTO_LOITER | `uint8` | 4 | Auto loiter mode |
|
|
| <a id="#NAVIGATION_STATE_AUTO_RTL"></a> NAVIGATION_STATE_AUTO_RTL | `uint8` | 5 | Auto return to launch mode |
|
|
| <a id="#NAVIGATION_STATE_POSITION_SLOW"></a> NAVIGATION_STATE_POSITION_SLOW | `uint8` | 6 |
|
|
| <a id="#NAVIGATION_STATE_FREE5"></a> NAVIGATION_STATE_FREE5 | `uint8` | 7 |
|
|
| <a id="#NAVIGATION_STATE_ALTITUDE_CRUISE"></a> NAVIGATION_STATE_ALTITUDE_CRUISE | `uint8` | 8 | Altitude with Cruise mode |
|
|
| <a id="#NAVIGATION_STATE_FREE3"></a> NAVIGATION_STATE_FREE3 | `uint8` | 9 |
|
|
| <a id="#NAVIGATION_STATE_ACRO"></a> NAVIGATION_STATE_ACRO | `uint8` | 10 | Acro mode |
|
|
| <a id="#NAVIGATION_STATE_FREE2"></a> NAVIGATION_STATE_FREE2 | `uint8` | 11 |
|
|
| <a id="#NAVIGATION_STATE_DESCEND"></a> NAVIGATION_STATE_DESCEND | `uint8` | 12 | Descend mode (no position control) |
|
|
| <a id="#NAVIGATION_STATE_TERMINATION"></a> NAVIGATION_STATE_TERMINATION | `uint8` | 13 | Termination mode |
|
|
| <a id="#NAVIGATION_STATE_OFFBOARD"></a> NAVIGATION_STATE_OFFBOARD | `uint8` | 14 |
|
|
| <a id="#NAVIGATION_STATE_STAB"></a> NAVIGATION_STATE_STAB | `uint8` | 15 | Stabilized mode |
|
|
| <a id="#NAVIGATION_STATE_FREE1"></a> NAVIGATION_STATE_FREE1 | `uint8` | 16 |
|
|
| <a id="#NAVIGATION_STATE_AUTO_TAKEOFF"></a> NAVIGATION_STATE_AUTO_TAKEOFF | `uint8` | 17 | Takeoff |
|
|
| <a id="#NAVIGATION_STATE_AUTO_LAND"></a> NAVIGATION_STATE_AUTO_LAND | `uint8` | 18 | Land |
|
|
| <a id="#NAVIGATION_STATE_AUTO_FOLLOW_TARGET"></a> NAVIGATION_STATE_AUTO_FOLLOW_TARGET | `uint8` | 19 | Auto Follow |
|
|
| <a id="#NAVIGATION_STATE_AUTO_PRECLAND"></a> NAVIGATION_STATE_AUTO_PRECLAND | `uint8` | 20 | Precision land with landing target |
|
|
| <a id="#NAVIGATION_STATE_ORBIT"></a> NAVIGATION_STATE_ORBIT | `uint8` | 21 | Orbit in a circle |
|
|
| <a id="#NAVIGATION_STATE_AUTO_VTOL_TAKEOFF"></a> NAVIGATION_STATE_AUTO_VTOL_TAKEOFF | `uint8` | 22 | Takeoff, transition, establish loiter |
|
|
| <a id="#NAVIGATION_STATE_EXTERNAL1"></a> NAVIGATION_STATE_EXTERNAL1 | `uint8` | 23 |
|
|
| <a id="#NAVIGATION_STATE_EXTERNAL2"></a> NAVIGATION_STATE_EXTERNAL2 | `uint8` | 24 |
|
|
| <a id="#NAVIGATION_STATE_EXTERNAL3"></a> NAVIGATION_STATE_EXTERNAL3 | `uint8` | 25 |
|
|
| <a id="#NAVIGATION_STATE_EXTERNAL4"></a> NAVIGATION_STATE_EXTERNAL4 | `uint8` | 26 |
|
|
| <a id="#NAVIGATION_STATE_EXTERNAL5"></a> NAVIGATION_STATE_EXTERNAL5 | `uint8` | 27 |
|
|
| <a id="#NAVIGATION_STATE_EXTERNAL6"></a> NAVIGATION_STATE_EXTERNAL6 | `uint8` | 28 |
|
|
| <a id="#NAVIGATION_STATE_EXTERNAL7"></a> NAVIGATION_STATE_EXTERNAL7 | `uint8` | 29 |
|
|
| <a id="#NAVIGATION_STATE_EXTERNAL8"></a> NAVIGATION_STATE_EXTERNAL8 | `uint8` | 30 |
|
|
| <a id="#NAVIGATION_STATE_MAX"></a> NAVIGATION_STATE_MAX | `uint8` | 31 |
|
|
|
|
### FAILURE {#FAILURE}
|
|
|
|
| Name | Type | Value | Description |
|
|
| ------------------------------------------------------------- | -------- | ----- | ----------- |
|
|
| <a id="#FAILURE_NONE"></a> FAILURE_NONE | `uint16` | 0 |
|
|
| <a id="#FAILURE_ROLL"></a> FAILURE_ROLL | `uint16` | 1 | (1 << 0) |
|
|
| <a id="#FAILURE_PITCH"></a> FAILURE_PITCH | `uint16` | 2 | (1 << 1) |
|
|
| <a id="#FAILURE_ALT"></a> FAILURE_ALT | `uint16` | 4 | (1 << 2) |
|
|
| <a id="#FAILURE_EXT"></a> FAILURE_EXT | `uint16` | 8 | (1 << 3) |
|
|
| <a id="#FAILURE_ARM_ESC"></a> FAILURE_ARM_ESC | `uint16` | 16 | (1 << 4) |
|
|
| <a id="#FAILURE_BATTERY"></a> FAILURE_BATTERY | `uint16` | 32 | (1 << 5) |
|
|
| <a id="#FAILURE_IMBALANCED_PROP"></a> FAILURE_IMBALANCED_PROP | `uint16` | 64 | (1 << 6) |
|
|
| <a id="#FAILURE_MOTOR"></a> FAILURE_MOTOR | `uint16` | 128 | (1 << 7) |
|
|
|
|
### VEHICLE_TYPE {#VEHICLE_TYPE}
|
|
|
|
| Name | Type | Value | Description |
|
|
| --------------------------------------------------------------- | ------- | ----- | ----------- |
|
|
| <a id="#VEHICLE_TYPE_UNSPECIFIED"></a> VEHICLE_TYPE_UNSPECIFIED | `uint8` | 0 |
|
|
| <a id="#VEHICLE_TYPE_ROTARY_WING"></a> VEHICLE_TYPE_ROTARY_WING | `uint8` | 1 |
|
|
| <a id="#VEHICLE_TYPE_FIXED_WING"></a> VEHICLE_TYPE_FIXED_WING | `uint8` | 2 |
|
|
| <a id="#VEHICLE_TYPE_ROVER"></a> VEHICLE_TYPE_ROVER | `uint8` | 3 |
|
|
|
|
### FAILSAFE_DEFER_STATE {#FAILSAFE_DEFER_STATE}
|
|
|
|
| Name | Type | Value | Description |
|
|
| ------------------------------------------------------------------------------------- | ------- | ----- | ------------------------------------------------ |
|
|
| <a id="#FAILSAFE_DEFER_STATE_DISABLED"></a> FAILSAFE_DEFER_STATE_DISABLED | `uint8` | 0 |
|
|
| <a id="#FAILSAFE_DEFER_STATE_ENABLED"></a> FAILSAFE_DEFER_STATE_ENABLED | `uint8` | 1 |
|
|
| <a id="#FAILSAFE_DEFER_STATE_WOULD_FAILSAFE"></a> FAILSAFE_DEFER_STATE_WOULD_FAILSAFE | `uint8` | 2 | Failsafes deferred, but would trigger a failsafe |
|
|
|
|
## Constants
|
|
|
|
| Name | Type | Value | Description |
|
|
| --------------------------------------------------------------------------------------- | -------- | ----- | ----------- |
|
|
| <a id="#MESSAGE_VERSION"></a> MESSAGE_VERSION | `uint32` | 1 |
|
|
| <a id="#ARMING_STATE_DISARMED"></a> ARMING_STATE_DISARMED | `uint8` | 1 |
|
|
| <a id="#ARMING_STATE_ARMED"></a> ARMING_STATE_ARMED | `uint8` | 2 |
|
|
| <a id="#ARM_DISARM_REASON_STICK_GESTURE"></a> ARM_DISARM_REASON_STICK_GESTURE | `uint8` | 1 |
|
|
| <a id="#ARM_DISARM_REASON_RC_SWITCH"></a> ARM_DISARM_REASON_RC_SWITCH | `uint8` | 2 |
|
|
| <a id="#ARM_DISARM_REASON_COMMAND_INTERNAL"></a> ARM_DISARM_REASON_COMMAND_INTERNAL | `uint8` | 3 |
|
|
| <a id="#ARM_DISARM_REASON_COMMAND_EXTERNAL"></a> ARM_DISARM_REASON_COMMAND_EXTERNAL | `uint8` | 4 |
|
|
| <a id="#ARM_DISARM_REASON_MISSION_START"></a> ARM_DISARM_REASON_MISSION_START | `uint8` | 5 |
|
|
| <a id="#ARM_DISARM_REASON_LANDING"></a> ARM_DISARM_REASON_LANDING | `uint8` | 6 |
|
|
| <a id="#ARM_DISARM_REASON_PREFLIGHT_INACTION"></a> ARM_DISARM_REASON_PREFLIGHT_INACTION | `uint8` | 7 |
|
|
| <a id="#ARM_DISARM_REASON_KILL_SWITCH"></a> ARM_DISARM_REASON_KILL_SWITCH | `uint8` | 8 |
|
|
| <a id="#ARM_DISARM_REASON_RC_BUTTON"></a> ARM_DISARM_REASON_RC_BUTTON | `uint8` | 13 |
|
|
| <a id="#ARM_DISARM_REASON_FAILSAFE"></a> ARM_DISARM_REASON_FAILSAFE | `uint8` | 14 |
|
|
| <a id="#HIL_STATE_OFF"></a> HIL_STATE_OFF | `uint8` | 0 |
|
|
| <a id="#HIL_STATE_ON"></a> HIL_STATE_ON | `uint8` | 1 |
|
|
|
|
## Source Message
|
|
|
|
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/px4_msgs_old/msg/VehicleStatusV1.msg)
|
|
|
|
::: details Click here to see original file
|
|
|
|
```c
|
|
# Encodes the system state of the vehicle published by commander
|
|
|
|
uint32 MESSAGE_VERSION = 1
|
|
|
|
uint64 timestamp # [us] Time since system start
|
|
|
|
uint64 armed_time # [us] Arming timestamp
|
|
uint64 takeoff_time # [us] Takeoff timestamp
|
|
|
|
uint8 arming_state
|
|
uint8 ARMING_STATE_DISARMED = 1
|
|
uint8 ARMING_STATE_ARMED = 2
|
|
|
|
uint8 latest_arming_reason
|
|
uint8 latest_disarming_reason
|
|
uint8 ARM_DISARM_REASON_STICK_GESTURE = 1
|
|
uint8 ARM_DISARM_REASON_RC_SWITCH = 2
|
|
uint8 ARM_DISARM_REASON_COMMAND_INTERNAL = 3
|
|
uint8 ARM_DISARM_REASON_COMMAND_EXTERNAL = 4
|
|
uint8 ARM_DISARM_REASON_MISSION_START = 5
|
|
uint8 ARM_DISARM_REASON_LANDING = 6
|
|
uint8 ARM_DISARM_REASON_PREFLIGHT_INACTION = 7
|
|
uint8 ARM_DISARM_REASON_KILL_SWITCH = 8
|
|
uint8 ARM_DISARM_REASON_RC_BUTTON = 13
|
|
uint8 ARM_DISARM_REASON_FAILSAFE = 14
|
|
|
|
uint64 nav_state_timestamp # Time when current nav_state activated
|
|
|
|
uint8 nav_state_user_intention # Mode that the user selected (might be different from nav_state in a failsafe situation)
|
|
|
|
uint8 nav_state # [@enum NAVIGATION_STATE] Currently active mode
|
|
uint8 NAVIGATION_STATE_MANUAL = 0 # Manual mode
|
|
uint8 NAVIGATION_STATE_ALTCTL = 1 # Altitude control mode
|
|
uint8 NAVIGATION_STATE_POSCTL = 2 # Position control mode
|
|
uint8 NAVIGATION_STATE_AUTO_MISSION = 3 # Auto mission mode
|
|
uint8 NAVIGATION_STATE_AUTO_LOITER = 4 # Auto loiter mode
|
|
uint8 NAVIGATION_STATE_AUTO_RTL = 5 # Auto return to launch mode
|
|
uint8 NAVIGATION_STATE_POSITION_SLOW = 6
|
|
uint8 NAVIGATION_STATE_FREE5 = 7
|
|
uint8 NAVIGATION_STATE_ALTITUDE_CRUISE = 8 # Altitude with Cruise mode
|
|
uint8 NAVIGATION_STATE_FREE3 = 9
|
|
uint8 NAVIGATION_STATE_ACRO = 10 # Acro mode
|
|
uint8 NAVIGATION_STATE_FREE2 = 11
|
|
uint8 NAVIGATION_STATE_DESCEND = 12 # Descend mode (no position control)
|
|
uint8 NAVIGATION_STATE_TERMINATION = 13 # Termination mode
|
|
uint8 NAVIGATION_STATE_OFFBOARD = 14
|
|
uint8 NAVIGATION_STATE_STAB = 15 # Stabilized mode
|
|
uint8 NAVIGATION_STATE_FREE1 = 16
|
|
uint8 NAVIGATION_STATE_AUTO_TAKEOFF = 17 # Takeoff
|
|
uint8 NAVIGATION_STATE_AUTO_LAND = 18 # Land
|
|
uint8 NAVIGATION_STATE_AUTO_FOLLOW_TARGET = 19 # Auto Follow
|
|
uint8 NAVIGATION_STATE_AUTO_PRECLAND = 20 # Precision land with landing target
|
|
uint8 NAVIGATION_STATE_ORBIT = 21 # Orbit in a circle
|
|
uint8 NAVIGATION_STATE_AUTO_VTOL_TAKEOFF = 22 # Takeoff, transition, establish loiter
|
|
uint8 NAVIGATION_STATE_EXTERNAL1 = 23
|
|
uint8 NAVIGATION_STATE_EXTERNAL2 = 24
|
|
uint8 NAVIGATION_STATE_EXTERNAL3 = 25
|
|
uint8 NAVIGATION_STATE_EXTERNAL4 = 26
|
|
uint8 NAVIGATION_STATE_EXTERNAL5 = 27
|
|
uint8 NAVIGATION_STATE_EXTERNAL6 = 28
|
|
uint8 NAVIGATION_STATE_EXTERNAL7 = 29
|
|
uint8 NAVIGATION_STATE_EXTERNAL8 = 30
|
|
uint8 NAVIGATION_STATE_MAX = 31
|
|
|
|
uint8 executor_in_charge # [-] Current mode executor in charge (0=Autopilot)
|
|
|
|
uint32 valid_nav_states_mask # [-] Bitmask for all valid nav_state values
|
|
uint32 can_set_nav_states_mask # [-] Bitmask for all modes that a user can select
|
|
|
|
# Bitmask of detected failures
|
|
uint16 failure_detector_status # [@enum FAILURE]
|
|
uint16 FAILURE_NONE = 0
|
|
uint16 FAILURE_ROLL = 1 # (1 << 0)
|
|
uint16 FAILURE_PITCH = 2 # (1 << 1)
|
|
uint16 FAILURE_ALT = 4 # (1 << 2)
|
|
uint16 FAILURE_EXT = 8 # (1 << 3)
|
|
uint16 FAILURE_ARM_ESC = 16 # (1 << 4)
|
|
uint16 FAILURE_BATTERY = 32 # (1 << 5)
|
|
uint16 FAILURE_IMBALANCED_PROP = 64 # (1 << 6)
|
|
uint16 FAILURE_MOTOR = 128 # (1 << 7)
|
|
|
|
uint8 hil_state # [enum HIL_STATE]
|
|
uint8 HIL_STATE_OFF = 0
|
|
uint8 HIL_STATE_ON = 1
|
|
|
|
# Current vehicle locomotion method. A vehicle can have different methods (e.g. VTOL transitions from RW to FW method)
|
|
uint8 vehicle_type # [@enum VEHICLE_TYPE]
|
|
uint8 VEHICLE_TYPE_UNSPECIFIED = 0
|
|
uint8 VEHICLE_TYPE_ROTARY_WING = 1
|
|
uint8 VEHICLE_TYPE_FIXED_WING = 2
|
|
uint8 VEHICLE_TYPE_ROVER = 3
|
|
|
|
uint8 FAILSAFE_DEFER_STATE_DISABLED = 0
|
|
uint8 FAILSAFE_DEFER_STATE_ENABLED = 1
|
|
uint8 FAILSAFE_DEFER_STATE_WOULD_FAILSAFE = 2 # Failsafes deferred, but would trigger a failsafe
|
|
|
|
bool failsafe # true if system is in failsafe state (e.g.:RTL, Hover, Terminate, ...)
|
|
bool failsafe_and_user_took_over # true if system is in failsafe state but the user took over control
|
|
uint8 failsafe_defer_state # [@enum FAILSAFE_DEFER_STATE]
|
|
|
|
# Link loss
|
|
bool gcs_connection_lost # datalink to GCS lost
|
|
uint8 gcs_connection_lost_counter # counts unique GCS connection lost events
|
|
bool high_latency_data_link_lost # Set to true if the high latency data link (eg. RockBlock Iridium 9603 telemetry module) is lost
|
|
|
|
# VTOL flags
|
|
bool is_vtol # True if the system is VTOL capable
|
|
bool is_vtol_tailsitter # True if the system performs a 90° pitch down rotation during transition from MC to FW
|
|
bool in_transition_mode # True if VTOL is doing a transition
|
|
bool in_transition_to_fw # True if VTOL is doing a transition from MC to FW
|
|
|
|
# MAVLink identification
|
|
uint8 system_type # system type, contains mavlink MAV_TYPE
|
|
uint8 system_id # system id, contains MAVLink's system ID field
|
|
uint8 component_id # subsystem / component id, contains MAVLink's component ID field
|
|
|
|
bool safety_button_available # Set to true if a safety button is connected
|
|
bool safety_off # Set to true if safety is off
|
|
|
|
bool power_input_valid # Set if input power is valid
|
|
bool usb_connected # Set to true (never cleared) once telemetry received from usb link
|
|
|
|
bool open_drone_id_system_present
|
|
bool open_drone_id_system_healthy
|
|
|
|
bool parachute_system_present
|
|
bool parachute_system_healthy
|
|
|
|
bool rc_calibration_in_progress
|
|
bool calibration_enabled
|
|
|
|
bool pre_flight_checks_pass # true if all checks necessary to arm pass
|
|
```
|
|
|
|
:::
|