跳至内容

载具状态(UORB 消息)

对指挥员发布的载具系统状态进行编码

源文件

c
# 对指挥员发布的载具系统状态进行编码

uint64 timestamp # 系统运行以来的时间 启动 (微秒)

uint64 armed_time # 上膛 时戳 (微秒)
uint64 takeoff_time # 起飞时间 时戳 (微秒)

uint8 arming_state
uint8 解除上膛状态 = 1
uint8 ARMING_STATE_ARMED    = 2

uint8 最新上膛原因
uint8 最新解除警报原因
uint8 ARM_DISARM_REASON_TRANSITION_TO_STANDBY = 0
uint8 ARM_DISARM_REASON_RC_STICK = 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_SAFETY_BUTTON = 6
uint8 ARM_DISARM_REASON_AUTO_DISARM_LAND = 7
uint8 ARM_DISARM_REASON_AUTO_DISARM_PREFLIGHT = 8
uint8 ARM_DISARM_REASON_KILL_SWITCH = 9
uint8 ARM_DISARM_REASON_LOCKDOWN = 10
uint8 ARM_DISARM_REASON_FAILURE_DETECTOR = 11
uint8 ARM_DISARM_REASON_SHUTDOWN = 12
uint8 ARM_DISARM_REASON_UNIT_TEST = 13

uint64 nav_state_timestamp # 当前导航状态激活的时间

uint8 nav_state_user_intention # 用户使用的模式 选定的 (可能与故障安全系统中的 nav_state 不同 情势)

uint8 nav_state # 当前激活的模式
uint8 导航状态手册 = 0               # 手动模式
uint8 NAVIGATION_STATE_ALTCTL = 1               # 高度控制模式
uint8 NAVIGATION_STATE_POSCTL = 2               # 位置控制模式
uint8 NAVIGATION_STATE_AUTO_MISSION = 3         # 自动任务模式
uint8 NAVIGATION_STATE_AUTO_LOITER = 4          # 自动巡航模式
uint8 NAVIGATION_STATE_AUTO_RTL = 5             # 自动 返回 启动模式
uint8 NAVIGATION_STATE_POSITION_SLOW = 6
uint8 NAVIGATION_STATE_FREE5 = 7
uint8 NAVIGATION_STATE_FREE4 = 8
uint8 NAVIGATION_STATE_FREE3 = 9
uint8 NAVIGATION_STATE_ACRO = 10                # Acro 模式
uint8 NAVIGATION_STATE_FREE2 = 11
uint8 NAVIGATION_STATE_DESCEND = 12             # 下降 模式 (无位置 控制权)
uint8 NAVIGATION_STATE_TERMINATION = 13         # 终止模式
uint8 NAVIGATION_STATE_OFFBOARD = 14
uint8 NAVIGATION_STATE_STAB = 15                # 稳定模式
uint8 NAVIGATION_STATE_FREE1 = 16
uint8 NAVIGATION_STATE_AUTO_TAKEOFF = 17        # 起飞
uint8 NAVIGATION_STATE_AUTO_LAND = 18           # 陆地
uint8 NAVIGATION_STATE_AUTO_FOLLOW_TARGET = 19  # 自动跟踪
uint8 NAVIGATION_STATE_AUTO_PRECLAND = 20       # 带有着陆目标的精确着陆
uint8 NAVIGATION_STATE_ORBIT = 21               # 绕圈运行
uint8 NAVIGATION_STATE_AUTO_VTOL_TAKEOFF = 22   # 起飞、过渡、建立停机坪
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 导航状态最大值 = 31

uint8 executor_in_charge # 当前模式下的执行器 收费 (0=自动驾驶仪)

uint32 valid_nav_states_mask # 位掩码 对于 所有有效的导航状态值
uint32 can_set_nav_states_mask # 位掩码 对于 用户可选择的所有模式

# 检测到故障的位掩码
uint16 故障检测器状态
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
uint8 HIL_STATE_OFF = 0
uint8 HIL_STATE_ON = 1

# 如果它如果是 VTOL,那么在作为多旋翼飞行时,值将是 VEHICLE_TYPE_ROTARY_WING,而在作为固定翼飞行时,值将是 VEHICLE_TYPE_FIXED_WING。
uint8 载具类型
uint8 VEHICLE_TYPE_UNKNOWN = 0
uint8 VEHICLE_TYPE_ROTARY_WING = 1
uint8 VEHICLE_TYPE_FIXED_WING = 2
uint8 VEHICLE_TYPE_ROVER = 3
uint8 VEHICLE_TYPE_AIRSHIP = 4

uint8 FAILSAFE_DEFER_STATE_DISABLED = 0
uint8 FAILSAFE_DEFER_STATE_ENABLED = 1
uint8 FAILSAFE_DEFER_STATE_WOULD_FAILSAFE = 2 # 推迟故障保护,但会触发故障保护

bool failsafe # 如果系统处于故障安全状态,则为 true(例如:RTL、悬停、终止......)。
bool failsafe_and_user_took_over # 如果系统处于故障安全状态,但用户接管了控制权,则为 true
uint8 failsafe_defer_state # FAILSAFE_DEFER_STATE_* 中的一个

# 链接丢失
bool gcs_connection_lost # 连接到 GCS 的数据链路丢失
uint8 gcs_connection_lost_counter # 计数唯一的 GCS 连接丢失事件
bool high_latency_data_link_lost # 如果高延迟数据链路(例如 RockBlock Iridium 9603 遥测模块)丢失,则设为 true

# VTOL旗帜
bool is_vtol # 如果系统具有 VTOL 功能,则为 True
bool is_vtol_tailsitter # 如果系统在从 多旋翼 过渡到 FW 时执行 90° 俯仰旋转,则为 True
bool in_transition_mode # 如果 VTOL 正在进行过渡,则为 True
bool in_transition_too_fw # 如果 VTOL 正在从 多旋翼 向 FW 过渡,则为 True

# MAVLink 识别
uint8 system_type # 系统类型,包含 mavlink MAV_TYPE
uint8 system_id # 系统 ID,包含 MAVLink';系统 ID 字段
uint8 component_id # 子系统 / 组件 ID,包含 MAVLink组件 ID 字段

bool safety_button_available # 如果连接了安全按钮,则设为 true
bool safety_off # 如果安全关闭,则设为 true

bool power_input_valid # 设置输入功率是否有效
bool usb_connected # 从 usb 链接接收到遥测数据后,设置为 true(永不清除)。

bool open_drone_id_system_present
bool open_drone_id_system_healthy

bool 降落伞系统是否存在
bool 降落伞系统健康

bool avoidance_system_required # 如果通过 COM_OBS_AVOID 参数启用了避让系统,则设为 true
bool avoidance_system_valid # 避障系统的状态

bool rc_calibration_in_progress
bool 校准已启用

bool pre_flight_checks_pass # 如果上膛所需的所有检查都通过,则为 true