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% 的重试下限,系统不再重试,执行返航。整个过程没有发生硬着陆,也没有进入不可控状态。这个案例说明:重试不是越多越好,安全边界才是最终决策者。
六、常见误区
- 把重试当万能药:执行故障或电量不足时重试只会放大风险。
- 只设最大次数,不设超时和电量下限:容易在低电量下反复尝试。
- 忽略故障可恢复性:感知故障可重试,执行故障必须中止。
- 安全边界写在文档里,没有写进控制器:边界必须可执行、可监控、可触发。
综上,故障类型决定“发生了什么”,容错策略决定“系统还能做什么”,重试机制决定“是否再试一次”,安全边界决定“什么时候必须停”,失效模式分析则把这一切提前设计好。五者环环相扣,才构成精准降落真正可用的容错体系。