3. 容错与重试核心概念

无人机精准降落的最后几米,是整条任务链中不确定性最集中的阶段。视觉标记被遮挡、GPS 多路径、地效扰动、电池电压跌落、通信丢包,都可能让一次本应成功的降落变成偏航、悬停超时甚至硬着陆。容错与重试并不是“失败后再来一次”这么简单,它是一套围绕故障识别、策略选择、重试约束与安全兜底建立的系统能力。理解这套能力,首先要区分故障类型,再理解容错策略与重试机制的分工,最后用安全边界和失效模式分析把风险关进笼子。

一、故障类型:先分清“哪里坏了”

精准降落中的故障可按来源分为四类。第一类是感知故障,如视觉标记识别置信度骤降、深度估计跳变、IMU 零偏漂移;第二类是执行故障,如电机响应迟滞、舵机卡滞、降落伞或挂钩未释放;第三类是通信与定位故障,如遥控链路丢包、RTK 固定解丢失、图传延迟增大;第四类是环境与任务故障,如阵风、地面移动、降落平台被占用、任务超时。不同故障的可恢复性差异极大:感知故障往往可通过换源或降级恢复,执行故障通常不可逆,必须立即进入安全模式。

故障分类的价值在于:它决定了后续是“重试”“降级”还是“中止”。把执行故障误判为感知故障而反复重试,是精准降落中最危险的错误之一。

二、容错策略:冗余、降级与隔离

容错策略回答的是“系统如何在部分能力失效时仍保持安全”。常见策略有三类。冗余:双 GPS、双 IMU、视觉与激光测距互为备份,当主源置信度低于阈值时切换备用源。降级:当视觉标记不可用时,从“精准降落”降为“GPS 悬停等待”或“返航”,而不是继续盲降。隔离:将故障模块从控制回路中切除,例如冻结异常的高度估计值,改用气压计与测距融合结果。容错的目标不是让任务一定成功,而是让系统在故障下仍处于可控状态。

三、重试机制:有边界的再尝试

重试机制是容错策略在时间维度上的具体执行。一次完整的重试通常包含四个动作:检测异常、退出当前降落流程、复位到安全悬停点、重新进入降落流程。重试必须带约束,否则会演变为无限循环。关键约束包括最大重试次数、单次重试超时、重试间隔、电量下限和地理围栏。例如:

retry_policy:
  max_retries: 3
  retry_interval_s: 5
  attempt_timeout_s: 20
  min_battery_percent: 25
  abort_action: return_to_home
  require_vision_confidence: 0.75

这段配置表达了一个核心思想:重试是有条件、有预算、有退出路径的行为。电量低于 25% 时不再重试,直接返航;视觉置信度不足 0.75 时不进入降落,避免把不确定性带入最后阶段。

四、安全边界与失效模式分析

安全边界是系统允许运行的状态集合,超出边界必须触发保护。精准降落中常见的安全边界包括:最低电量、最大风速、最小视觉置信度、最大水平偏差、最大下降速度、通信链路质量下限。失效模式分析(FMEA)则用于提前识别“哪里可能坏、坏了会怎样、如何被发现”。下表给出一个简化的分析清单:

失效模式 可能原因 影响 检测手段 应对策略
视觉标记丢失 遮挡、光照突变 水平定位漂移 置信度阈值 悬停重试或降级
RTK 固定解丢失 多路径、遮挡 垂直误差增大 解状态监控 切换视觉/气压融合
通信丢包 链路干扰 指令延迟 心跳超时 自动悬停或返航
电量骤降 低温、老化 无法完成重试 电压/容量监控 立即中止并返航
下降速度异常 地效、控制饱和 硬着陆 速度反馈比较 拉平并复飞

五、案例:一次典型的“重试—降级—中止”链路

某物流无人机在楼顶标记点降落,第一次进入时视觉置信度从 0.92 跌至 0.61,系统判定感知故障,退出降落并悬停。5 秒后第二次尝试,置信度恢复至 0.88,但水平偏差超过 0.4 m,触发安全边界,再次退出。此时电量剩余 22%,低于 25% 的重试下限,系统不再重试,执行返航。整个过程没有发生硬着陆,也没有进入不可控状态。这个案例说明:重试不是越多越好,安全边界才是最终决策者。

复盘时建议记录每次重试的触发原因、退出时的状态量、重试间隔和最终决策。这些数据是优化阈值和重试策略的直接依据。

六、常见误区

  • 把重试当万能药:执行故障或电量不足时重试只会放大风险。
  • 只设最大次数,不设超时和电量下限:容易在低电量下反复尝试。
  • 忽略故障可恢复性:感知故障可重试,执行故障必须中止。
  • 安全边界写在文档里,没有写进控制器:边界必须可执行、可监控、可触发。

综上,故障类型决定“发生了什么”,容错策略决定“系统还能做什么”,重试机制决定“是否再试一次”,安全边界决定“什么时候必须停”,失效模式分析则把这一切提前设计好。五者环环相扣,才构成精准降落真正可用的容错体系。

精准降落容错与重试核心概念关系 故障类型 • 感知故障 • 执行故障 • 通信/定位故障 • 环境/任务故障 容错策略 • 冗余(多源备份) • 降级(悬停/返航) • 隔离(切除故障源) • 目标:保持可控 重试机制 • 检测 → 退出 • 复位 → 重新进入 • 最大次数/超时 • 电量与间隔约束 安全边界 • 最低电量 • 最大风速 • 置信度下限 • 偏差/速度上限 失效模式分析(FMEA) 识别失效模式 → 分析原因与影响 → 设计检测手段 → 制定应对策略 输出:阈值、重试条件、降级路径、中止动作 目标:把风险提前写进控制器,而不是事后补救 决策链:故障识别 → 判断可恢复性 → 选择容错策略 → 检查安全边界 → 重试 / 降级 / 中止 可恢复且未越界:重试 | 不可恢复或越界:降级或中止 | 所有决策均需记录日志用于复盘 核心原则:安全边界优先于任务完成,重试必须有预算、有退出路径