跳转至

姿态传感器与估计器异常

飞行器“自己倾斜”“地平线跳变”或“姿态漂移”可能来自传感器测量、安装方向、振动、电磁干扰、时间同步、估计器状态、控制输出或真实机体运动。只看姿态图无法区分这些路径。

本节沿着实体运动到估计状态的链条逐层定位,不把估计器告警自动当成估计器算法缺陷。

传感器与估计器诊断链

前提条件

  • 已完成证据保全和日志质量门禁;
  • 已固定机体坐标、飞控安装方向和传感器实例;
  • 已知日志字段是原始、校准后、滤波后还是估计后数据;
  • 涉及撞击、进水、过热或异常振动时,飞行批准保持阻断
  • 地面复现全部拆桨并固定飞行器;
  • 不通过关闭传感器健康检查或增大创新门限推进测试。

诊断链

真实机体运动
→ 传感器敏感元件
→ 电源与总线传输
→ 方向、比例、偏置和温度补偿
→ 滤波与时间戳
→ 多传感器一致性
→ 状态估计
→ 姿态/速度/位置输出
→ 控制器命令

每一层都可能产生相似表象。应找出最早出现异常的层级。

先定义现象

现象 需要量化
静止漂移 轴、速率、持续时间、温度和上电时间
瞬时跳变 幅度、时间、是否伴随重置或传感器切换
持续倾斜 目标与实际、加速度、姿态、输出和环境
航向旋转 磁场、GNSS航向、偏航角速度和模式
高度突变 气压、GNSS高度、测距、垂向加速度和气流
传感器不一致 实例、轴、偏差、温度、振动和错误计数
估计器告警 原始消息、状态标志、创新、一致性和重置

“漂”“抽风”“姿态不对”不能作为测试输入。

传感器层检查

身份与安装

记录:

  • 传感器型号、实例和主备关系;
  • 飞控与外置传感器安装方向;
  • 机体坐标定义;
  • 固件中的旋转配置;
  • 固定、减振、线束接触和壳体间隙;
  • 最近拆装、撞击或更换。

用已知方向的小角度手动动作验证轴和符号。飞行器静止在水平基准上时,界面模型、原始加速度和姿态应与定义一致。

电源与总线

检查:

  • 传感器供电轨和参考地;
  • 总线错误、超时、重试和复位;
  • 连接器、焊点和线束应力;
  • 高负载或温度变化时错误是否增加;
  • 多个传感器是否同时中断。

多个不同传感器在同一时刻停止更新,优先考虑共享电源、总线、处理器或时间戳,而不是多个敏感元件同时损坏。

量程、削波和饱和

确认:

  • 实际量程设置;
  • 原始值是否到达量程边界;
  • 削波计数是否增加;
  • 撞击、起降和稳定飞行窗口是否分开;
  • 采样率和滤波是否足以捕捉峰值。

削波后的波形不能还原真实峰值。增加滤波也不能修复已经在传感器量程处截断的数据。

温度与偏置

记录从冷启动到稳定温度的:

  • 传感器温度;
  • 零偏;
  • 静止输出;
  • 估计器状态;
  • 校准或补偿状态。

如果异常只在特定温度出现,应在无桨、受控温度范围内重复,不能用手工加热或超出器件条件的方法快速复现。

时间戳与延迟

状态估计不仅需要数值正确,还需要时间正确。检查:

  • 不同传感器时间基准;
  • 样本时间与接收时间;
  • 队列积压和延迟;
  • 时间跳变、重复或乱序;
  • 固件配置的传感器延迟;
  • 地面站显示是否额外平滑或延迟。

若传感器值本身合理但时间错位,估计器可能产生创新突增、重置或相位滞后。不能通过任意平移曲线让结果“看起来对齐”。

多传感器一致性

多惯性测量单元(IMU,Inertial Measurement Unit)或多导航传感器系统应比较:

  • 同一物理量的幅值和方向;
  • 采样、滤波和量程差异;
  • 温度;
  • 错误计数;
  • 主传感器选择和切换时间;
  • 切换前后的状态连续性。

备用传感器曲线不同不一定代表故障,可能来自安装位置、滤波或更新率不同。比较前先转换到同一坐标系和带宽。

估计器层检查

常见实现包括扩展卡尔曼滤波器(EKF,Extended Kalman Filter),但不同平台的状态、创新和故障标志不能逐字互译。

保存并分析:

  • 健康与故障状态;
  • 传感器融合选择;
  • 创新或残差及其一致性指标;
  • 状态方差或等效置信信息;
  • 重置计数、重置量和发生时间;
  • 主估计器或传感器切换;
  • 模式变化和失效保护动作;
  • 对控制器发布的最终状态。

创新增大表示测量与预测不一致,不直接说明测量一定错误。模型、时间、坐标、环境和其他传感器都可能造成不一致。

固定诊断步骤

  1. 定义现象、轴、时间和模式;
  2. 选择异常前、异常中、异常后的窗口;
  3. 核对日志质量和字段实例;
  4. 对齐真实动作、原始传感器、校准值和估计状态;
  5. 检查电源、总线、时间戳、温度、量程和削波;
  6. 比较主备传感器;
  7. 标记估计器告警、重置和切换;
  8. 对齐目标、估计状态和执行器响应;
  9. 写出至少两个假设;
  10. 优先在静止、手动小角度、SITL或HITL中验证;
  11. 单一变量纠正后重复相同低风险测试;
  12. 根据改动范围决定回退层级。

典型分流

界面地平线方向错误

先检查安装旋转和轴映射,再检查校准。若手动向右倾斜时界面向左,属于方向链问题,不应通过调PID修复。

上电后静止姿态缓慢变化

比较陀螺仪零偏、温度、校准状态和估计器融合。确认飞行器是否真正静止、是否受到桌面振动或气流。

动力增加时姿态开始异常

同步检查:

  • 原始惯性数据和削波;
  • 电机转速或输出;
  • 电源轨;
  • 飞控安装和线束接触;
  • 磁场与电流;
  • 估计器创新和重置。

该现象可能同时涉及振动、电源和磁干扰,不能只归因于“算法不稳”。

姿态突然跳变

查找:

  • 估计器重置量;
  • 传感器切换;
  • 时间戳中断;
  • 总线错误;
  • 飞控重启;
  • 撞击或真实快速运动;
  • 日志dropout。

跳变恰好位于日志缺口边界时,保持未知

四平台证据入口

Betaflight 2026.6.2

  • 核对飞控板方向、陀螺仪实例、校准和状态;
  • Blackbox中对齐原始/滤波陀螺仪、加速度、姿态、目标和输出,具体字段取决于日志配置;
  • 检查削波、异常噪声和传感器错误;
  • 先排除机械振动和安装问题,再讨论滤波或控制。

Betaflight主要面向人工操纵多旋翼,不能套用导航平台的估计器字段和判据。

INAV 9.1.0

  • 区分基础姿态传感器与用于导航的磁力计、气压计、GNSS和测距;
  • 保存传感器状态、校准、姿态、导航估计、模式和Blackbox字段;
  • 先确认基础姿态是否健康,再定位导航融合;
  • 动力相关磁干扰应结合电流和油门条件检查。

ArduPilot Copter 4.7.1

  • 保存IMU、姿态、估计器、错误、消息和模式相关日志;
  • 比较目标姿态与实际姿态,区分估计异常和控制跟踪异常;
  • 审查振动、削波和多个IMU实例;
  • 使用固定版本EKF状态、创新和重置字段解释估计器事件;
  • 不因预解锁提示而关闭检查。

PX4 v1.17.0

  • 保存ULog中的传感器、估计器状态、创新、重置、姿态和事件信息;
  • 核对多个传感器实例和选择器状态;
  • 使用固定版本定义解释估计器健康和失效保护;
  • Flight Review图表用于定位,原始ULog用于复核;
  • 缺少高频主题时不判断传感器噪声频谱。

低风险复现

静止重复性

  1. 拆桨并固定;
  2. 从已知温度状态上电;
  3. 不触碰飞行器,记录初始化和静止段;
  4. 重复至少一次;
  5. 比较偏置、温度、健康状态和重置;
  6. 断电并保存日志。

已知方向动作

  1. 使用可重复的水平和角度基准;
  2. 每次只绕一个轴缓慢运动;
  3. 标记动作开始、保持和返回;
  4. 检查原始值、姿态和界面方向;
  5. 不执行快速甩动或撞击。

单一外设对照

只有证据指向共享总线、电源或外设干扰时,才在断电后移除一个非必要外设,并保留连接前后配置和接线照片。移除飞行必需传感器后的结果只能用于分流,不能直接形成可飞配置。

通过标准

  • 传感器身份、方向、实例、量程和时间基准明确;
  • 原始、校准、滤波和估计数据没有混用;
  • 电源、总线、温度、振动和削波已检查;
  • 估计器告警、重置和切换与时间线对应;
  • 至少两个假设有支持证据和反证;
  • 低风险复现可重复或明确说明无法复现;
  • 纠正措施后完成静止和已知方向回归;
  • 若改变安装、传感器或固件,已确定A/B2及后续回退范围。

本篇通过只表示传感器与估计器诊断资料完整,并完成规定的低风险回归;不签发装桨、解锁或复飞授权。

停止条件

  • 传感器或飞控过热、进水、破损或供电异常;
  • 手动动作可能使电机转动或载荷释放;
  • 轴、单位、实例或时间戳无法确认;
  • 关键窗口发生dropout或削波;
  • 需要关闭估计器检查、增大门限或强制选择不健康传感器;
  • 为复现姿态异常需要装桨或飞行,但没有专项测试卡;
  • 同时改变传感器、安装、滤波和参数。

恢复措施

  1. 撤销临时诊断改动,回到旧批准基线作差异核对;
  2. 重启并确认参数持久化;
  3. 重做传感器方向、静止健康、校准和模式前置检查;
  4. 若改变飞控安装或传感器,回到A层;
  5. 若改变减振、线束或机架,至少回到B2;
  6. 按影响分析决定是否重做C层最小飞行;
  7. 若旧基线本身含故障,另建纠正候选并完成分层回归;
  8. 事故级事件在10关闭前保持阻断

诊断记录模板

以下分域字段必须与统一证据模型合并使用:

现象、轴和时间:
传感器实例、方向和量程:
原始/校准/滤波/估计字段:
电源与总线:
温度与偏置:
削波与振动:
时间戳与延迟:
估计器创新、重置和切换:
H1及反证:
H2及反证:
低风险复现:
纠正措施与回归:
日志适用性:Q0 / Q1 / Q2 / Q3
因素清单(逐项填写角色、证据状态、证据索引、反证和纠正状态):
最低回退层级:
残余限制:
当前飞行批准:阻断 / 部分恢复 / 恢复
批准范围、批准人与到期条件:

检查理解

  1. 为什么估计器创新增大不等于某个传感器必然损坏?
  2. 多个传感器同时停止更新时应优先检查什么?
  3. 为什么削波数据不能通过后处理恢复真实峰值?
  4. 如何区分姿态估计跳变和真实机体快速运动?
  5. 修改飞控安装方向后为什么必须回到更低层级复核?

主要参考