跳转至

定位、航向、导航与任务异常

地图轨迹偏移、悬停漂移、朝错误方向返航或任务点执行异常,可能来自传感器测量、坐标与高度基准、状态估计、导航控制、任务文件或安全状态机。地图截图只展示最终结果,不能定位最早异常层。

本节按“测量、估计、控制、任务、安全动作”分层,先验证坐标和状态语义,再决定是否需要仿真、地面或飞行复现。

导航异常因果分层

前提条件

  • 已完成证据保全和日志质量门禁;
  • 已保存原始任务、地理围栏、返航点、参数和地面站日志;
  • 已知坐标系、高度基准、磁北/真北和时间基准;
  • 已固定全球卫星导航系统(GNSS,Global Navigation Satellite System)、磁力计、气压计、测距和视觉定位传感器身份;
  • 地理位置、任务和视频数据按敏感信息管理;
  • 任何导航异常后的飞行批准保持阻断
  • 优先使用SITL重放任务和状态机,不直接在真实飞行中复现。

五层因果结构

层级 关键问题 典型证据
测量 传感器实际测到了什么 GNSS、磁场、气压、测距、视觉质量
时间与坐标 数据是否在正确时间和参考系 时间戳、坐标转换、高度与航向基准
估计 飞控接受并融合了什么 创新、一致性、重置、主源切换
导航控制 目标与估计状态如何形成控制命令 位置/速度/航向目标和实际
任务与安全 为什么产生这个目标或动作 任务项、模式、围栏、失效保护和返航逻辑

从最上层的“飞行器去了哪里”直接修改最下层传感器参数,会混淆问题。

先定义现象

定位异常

  • 水平位置跳变;
  • 速度不合理;
  • 卫星数量或质量下降;
  • 多定位源切换;
  • 地图轨迹整体偏移;
  • 定位有效状态反复变化。

航向异常

  • 静止时航向漂移;
  • 加油门时航向变化;
  • 机头方向与地图不一致;
  • 航向源切换;
  • 返航初始方向错误。

高度异常

  • 地面高度不为零;
  • 气压高度随气流或温度变化;
  • GNSS高度与气压高度长期偏差;
  • 测距失效后高度跳变;
  • 高度基准混用。

任务异常

  • 上传、下载或执行的任务版本不一致;
  • 跳过、重复或提前切换任务项;
  • 速度、航向或高度命令不符合预期;
  • 围栏、返航、低电量或失联动作覆盖任务;
  • 操作者接管或模式切换改变任务。

坐标与高度基准

必须明确:

  • 纬度经度使用的坐标参考;
  • 本地NED、ENU或其他局部坐标;
  • 海拔、椭球高、相对起飞点高度和离地高度;
  • 磁航向与真航向;
  • 任务点高度相对谁;
  • 地面站显示是否做了地图偏移或单位转换;
  • 日志保存的是原始测量还是估计状态。

两个高度相差固定值可能只是基准不同。未统一参考前不得解释为传感器故障。

定位传感器检查

GNSS

记录:

  • 接收机、天线、固件和配置;
  • 可见与使用卫星信息;
  • 定位类型和质量指标;
  • 水平、垂直速度与精度估计;
  • 差分、实时动态定位(RTK,Real-Time Kinematic)或其他修正状态;
  • 时间同步;
  • 天线视野、遮挡、多径和干扰环境;
  • 若接收机支持,载噪密度比(C/N0,Carrier-to-Noise Density Ratio)、自动增益控制(AGC,Automatic Gain Control)、射频干扰和欺骗检测标志;
  • 原始观测量、多接收机与惯性状态的一致性;
  • RTK基站、网络修正账号、挂载点、数据源身份和修正龄期;
  • 与飞控通信错误。

卫星数量不是定位质量的充分条件。

若位置、时间、速度或多星座数据在缺少合理动力学过程时同步偏移,应把欺骗、恶意或错误修正源列为安全假设。渐进式诱偏也可能保持平滑轨迹、正常定位状态、正常卫星数和看似合理的动力学;没有欺骗告警不能排除欺骗。

怀疑欺骗时:

  • 不把GNSS时间作为可信时间锚;
  • 检查接收机钟差、伪距、多普勒和载波等原始观测量的共模变化;
  • 与独立于GNSS的惯性、视觉、测距、已测量地面基准或独立时间源交叉验证;
  • 同址、同天线环境、共享修正源或共享时钟的多个接收机不视为完全独立证据;
  • 保存原始接收数据和修正源身份,不向共享报告写入密钥。

射频压制、转发或欺骗测试只允许依法在屏蔽环境和专用仪器条件下实施,禁止在开放场地或飞行中注入。

磁力计与航向源

检查:

  • 内置/外置实例和方向;
  • 校准和偏置;
  • 磁场强度与方向一致性;
  • 电流、油门和载荷状态;
  • 高电流线束、电机、磁性紧固件和扬声器等干扰源;
  • 航向源选择和切换。

加油门时航向变化应与电流和磁场同步检查,不通过扩大容差掩盖干扰。

气压计与测距

检查:

  • 气流、光照、温度和安装;
  • 传感器量程与有效范围;
  • 地面零点和温度稳定;
  • 测距表面材质、角度和反射条件;
  • 源切换与失效时的状态连续性。

状态估计检查

对齐:

  • 原始测量;
  • 质量与健康标志;
  • 创新或残差;
  • 接受、拒绝和融合状态;
  • 位置、速度、航向和高度重置;
  • 主估计器或数据源切换;
  • 最终发布状态;
  • 失效保护和模式变化。

传感器报告有效不表示估计器必然接受;估计器拒绝也不证明传感器硬件损坏。

导航控制检查

比较:

  • 任务或模式产生的目标;
  • 位置目标与实际;
  • 速度目标与实际;
  • 加速度、倾角和推力命令;
  • 航向目标与实际;
  • 输出饱和和动力余量;
  • 风、载荷和地形条件。

若目标本身错误,先检查任务、坐标和状态机。若目标正确但实际跟不上,再检查估计、控制、动力和环境。

任务身份

保存:

  • 原始任务文件及摘要;
  • 地面站中的任务版本;
  • 飞控读取回来的任务;
  • 上传时间、操作者和工具版本;
  • 每个任务项的坐标、高度、速度、航向和动作;
  • 返航点、集结点、围栏和安全高度;
  • 任务开始、暂停、继续、跳转和接管事件。

上传成功提示不能证明飞控中的任务与本地文件逐项一致,应下载回读或使用平台提供的校验方式。

固定诊断步骤

  1. 定义异常位置、时间、模式和任务项;
  2. 固定地图、任务、参数和传感器身份;
  3. 统一坐标、航向和高度基准;
  4. 检查原始测量质量和通信;
  5. 检查估计器接受、拒绝、重置和切换;
  6. 比较导航目标与估计状态;
  7. 检查输出饱和、动力和环境;
  8. 检查围栏、失联、电池和其他安全动作;
  9. 写出至少两个跨层假设;
  10. 在SITL重放任务和状态机;
  11. 在拆桨地面验证传感器、任务身份和模式;
  12. 只有无法替代的空气动力或射频问题才申请专项飞行。

典型分流

地图轨迹跳变但机体未突动

若视频和惯性状态平稳,而位置发生阶跃,优先检查定位测量、时间、源切换和估计器重置。

机体偏离但位置估计平滑

检查目标、模式、风、动力余量和控制响应。估计器可能认为飞行器正在按错误目标正常飞行。

加油门后航向偏移

关联电流、磁场、航向创新、源切换和偏航响应。先整改磁场和布线,不通过重新校准掩盖随电流变化的干扰。

返航方向或高度异常

核对:

  • 返航点何时、在何位置建立;
  • 高度参考和爬升策略;
  • 航向与位置是否健康;
  • 触发源和状态机阶段;
  • 围栏与任务是否覆盖动作;
  • 地面站显示与飞控内部目标是否一致。

四平台入口

Betaflight 2026.6.2

Betaflight仍主要用于人工操纵多旋翼,但2026.6.2固定版本已包含高度保持、位置保持、自动驾驶/航点相关运行状态及任务失联逻辑。先核对当前目标、构建选项和实际启用功能,再选择证据:

  • 保存GPS、航向、高度/位置保持、自动任务、失联和GPS救援相关配置;
  • 对齐任务项、模式、Home、定位、航向、导航目标和安全状态;
  • 核对固定版本对卫星、距离、高度、模式和任务失联的前置条件;
  • Blackbox字段能力按实际配置判断;
  • 不把INAV、ArduPilot或PX4的任务/EKF流程套用到Betaflight。

INAV 9.1.0

  • 保存GNSS、磁力计、气压计、导航模式、返航、围栏和任务配置;
  • 使用Blackbox对齐传感器、导航状态、目标、模式和输出;
  • 区分基础姿态健康与导航融合健康;
  • 返航或任务异常先检查Home、航向、高度和安全状态机。

ArduPilot Copter 4.7.1

  • 保存任务、围栏、集结点、参数、DataFlash和地面站日志;
  • 对齐GPS、罗盘、气压、测距、EKF、模式、目标和输出;
  • 检查EKF源选择、创新、重置和失效保护;
  • 使用SITL复现任务和安全逻辑;
  • 参数和消息语义以Copter 4.7.1为准。

PX4 v1.17.0

  • 保存任务、地理围栏、返航设置、参数、事件和ULog;
  • 对齐sensor_gps、估计器状态/创新、vehicle status、导航目标和执行器等实际存在主题;
  • 使用SITL和QGroundControl回读任务;
  • 检查数据链、遥控、电池和位置失效保护是否改变导航动作;
  • 具体主题名和实例以v1.17日志定义为准。

低风险复现

SITL任务重放

  1. 固定固件和参数;
  2. 导入事故任务副本;
  3. 使用相同起点、模式和触发顺序;
  4. 注入单一定位、链路或电池状态;
  5. 记录目标、模式和安全动作;
  6. 与真实事件比较;
  7. 保存仿真版本、世界模型和随机种子。

SITL可验证逻辑,不证明真实GNSS、磁场、风和动力条件。

拆桨地面验证

  • 回读任务与围栏;
  • 检查Home建立条件;
  • 验证传感器实例、方向和质量;
  • 在不移动执行器的条件下验证模式拒绝;
  • 记录外设通信和时间同步;
  • 不通过屏蔽或伪造定位让系统进入可飞状态。

通过标准

  • 坐标、航向、高度和时间基准明确;
  • 任务、围栏、Home和参数身份固定;
  • 测量、估计、导航控制与安全状态机分层;
  • 目标错误与跟踪失败已区分;
  • 传感器质量、估计器接受/重置和模式变化已对齐;
  • 至少两个跨层假设得到检验;
  • SITL或拆桨复现记录完整;
  • 纠正后完成任务回读、状态机和受影响传感器回归;
  • 真实飞行只作为独立批准的最后补证。

本篇通过只表示导航异常在当前仿真、无桨和证据范围内完成分流与回归,不签发装桨、解锁或复飞授权。

停止条件

  • 地理位置或任务数据的访问和脱敏边界不清;
  • 坐标、高度或航向基准无法确认;
  • 关键估计器和任务字段缺失;
  • 需要关闭围栏、失效保护或健康检查;
  • 地面复现可能使执行器动作;
  • 需要在飞行中制造定位丢失、错误Home或错误航向;
  • 同时修改任务、传感器、估计器和安全参数;
  • 发现动力、结构或遥控链路异常。

恢复措施

  1. 撤销临时诊断改动,回到旧批准任务、围栏、参数和传感器配置作差异核对;
  2. 从飞控回读并逐项比较;
  3. 清除仅用于仿真的故障注入;
  4. 在拆桨状态复核Home、模式、任务和失效保护;
  5. 传感器、天线或安装变化至少回退A/B2;
  6. 任务和包线变化回到D3评审;
  7. 若旧基线本身含故障,另建纠正候选;
  8. 事故异常在10关闭前保持阻断

诊断记录模板

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

异常位置、时间、模式和任务项:
坐标/高度/航向基准:
任务、围栏与Home身份:
原始定位和质量:
估计器接受、创新、重置和切换:
导航目标与实际:
安全状态机:
H1及反证:
H2及反证:
SITL/地面复现:
纠正与回归:
日志适用性:Q0 / Q1 / Q2 / Q3
因素清单(逐项填写角色、证据状态、证据索引、反证和纠正状态):
残余限制:
当前飞行批准:阻断 / 部分恢复 / 恢复
批准范围、批准人与到期条件:

检查理解

  1. 为什么地图轨迹截图不足以定位导航根因?
  2. 如何区分目标错误和飞行器无法跟踪正确目标?
  3. 卫星数量为什么不是GNSS质量的充分条件?
  4. 加油门后航向变化时为什么要关联电流?
  5. SITL任务复现通过后,哪些真实条件仍未证明?

主要参考