4. 传感器异常检测

自动驾驶感知与定位系统依赖多类传感器协同工作。任何一路传感器出现异常,都可能让融合结果从“可用”迅速退化为“危险”。传感器异常检测的目标不是修好传感器,而是在故障发生的早期识别它、隔离它,并触发降级或接管。本节按摄像头、激光雷达、毫米波雷达、IMU、GPS五类传感器,梳理常见故障模式与可落地的检测方法。

一、核心原理:异常检测的三条主线

无论传感器类型如何,异常检测通常沿三条主线展开。第一条是自检与信号质量:传感器自身是否上报错误、数据帧是否连续、时间戳是否跳变、丢帧率是否超限。第二条是物理一致性:测量值是否符合物理规律,例如IMU角速度不可能长期恒定,GPS速度与轮速差不应持续过大。第三条是跨传感器互证:用其他传感器的观测交叉验证,例如摄像头车道线与激光雷达路沿、毫米波雷达目标与视觉目标是否在空间上对应。

异常检测的工程原则:先做单传感器自检,再做时序一致性检查,最后做跨传感器互证。越靠前的检查越快、越便宜;越靠后的检查越能发现“单看正常、合看矛盾”的隐蔽故障。

二、五类传感器常见故障模式与检测方法

下表汇总了五类传感器的典型故障模式、可观测征兆与首选检测手段,便于在工程中快速对照。

传感器 常见故障模式 可观测征兆 首选检测方法
摄像头 镜头遮挡、脏污、逆光过曝、失焦、曝光异常、帧率下降 图像方差骤降、边缘密度低、亮度饱和、时间戳间隔变大 图像质量指标(清晰度、对比度、饱和像素比例)+ 帧率监控
激光雷达 窗口遮挡、雨雾衰减、镜面反射、点云稀疏、运动畸变、标定漂移 有效点云数量下降、近距盲区、地面点缺失、点云分布异常 点云密度统计 + 地面拟合残差 + 与毫米波/视觉目标互证
毫米波雷达 虚假目标、多径反射、遮挡失效、俯仰角误差、速度模糊 静止目标漂移、同一目标距离跳变、RCS异常、目标数突增 目标航迹连续性检查 + 多帧速度一致性 + 与视觉目标关联
IMU 零偏漂移、轴间耦合、温漂、饱和、振动噪声、安装松动 静止时角速度非零、加速度模值偏离重力、积分位姿发散 静止零偏估计 + 重力模值校验 + 与轮速/视觉里程计对比
GPS 多路径、信号遮挡、跳变、漂移、RTK失锁、时间同步异常 定位协方差增大、卫星数下降、位置跳变、速度与IMU不符 定位残差卡方检验 + 卫星几何精度因子 + 与IMU/轮速互证

三、方法流程:从单路自检到融合级互证

工程上建议采用分层流水线。第一层是数据有效性检查:时间戳、帧号、数据长度、CRC、丢帧计数。第二层是单传感器质量评估:摄像头看图像清晰度与曝光,激光雷达看点云密度与地面点比例,毫米波看目标数与RCS分布,IMU看零偏与噪声,GPS看卫星数与协方差。第三层是时序一致性:用滑动窗口统计均值、方差、变化率,检测突变与缓变漂移。第四层是跨传感器互证:将各传感器观测投影到统一坐标系,比较目标位置、速度、姿态的一致性,残差超过阈值即判定某一路异常。

传感器异常检测分层流水线与跨传感器互证 第1层 数据有效性 时间戳 · 帧号 · 数据长度 · CRC · 丢帧计数 快速失败 丢弃坏帧 第2层 单传感器质量评估 摄像头:清晰度/曝光 激光雷达:点云密度 毫米波:目标/RCS IMU:零偏/噪声 GPS:卫星数/协方差 第3层 时序一致性 滑动窗口均值/方差/变化率 · 突变检测 · 缓变漂移检测 阈值/统计检验 第4层 跨传感器互证 视觉目标 ↔ 雷达目标 位置/速度残差 激光点云 ↔ 视觉车道线 路沿/地面一致性 IMU ↔ 轮速/视觉里程计 姿态/位移一致性 GPS ↔ IMU/轮速 定位跳变检测 异常判定 → 隔离 → 降级/接管

四、案例场景:一次高速场景下的多传感器异常

车辆在高速公路上以110 km/h行驶,前方无遮挡。摄像头突然出现逆光过曝,图像饱和像素比例从2%升至38%,车道线检测置信度下降。此时若仅依赖视觉,横向控制会抖动。系统同时检查激光雷达:点云密度正常,地面点比例稳定;毫米波雷达目标航迹连续,前车距离与视觉目标一致;IMU零偏正常;GPS定位协方差未超限。融合模块判定为“摄像头单路质量异常”,立即将横向控制权重切换为激光雷达路沿与毫米波目标,并降低视觉权重,同时提示驾驶员接管。整个过程在200 ms内完成,车辆未出现明显横向偏移。

相反,若激光雷达窗口被泥水遮挡,点云密度从每帧12万点降至3万点,地面点比例从45%降至12%,而摄像头和毫米波正常,系统应判定激光雷达异常,降级到视觉+毫米波方案,并限制依赖激光雷达的定位功能。

五、误区与复盘

  • 只看单帧阈值:单帧突变容易漏检缓变漂移,例如IMU零偏随温度缓慢变化,必须用时序统计。
  • 把“无数据”当“无异常”:传感器掉线、驱动崩溃、时间戳停滞都属于异常,必须监控心跳与帧间隔。
  • 忽略时间同步:GPS时间跳变或PTP失步会让跨传感器互证产生虚假残差,应先做时间对齐再判定。
  • 阈值一刀切:不同车速、天气、场景下阈值应自适应,例如雨雾天激光雷达点云密度天然下降,不能直接判故障。
  • 只检测不隔离:检测到异常后必须输出置信度与故障标志,供融合模块降权或剔除,否则检测无意义。
工程建议:为每类传感器定义“健康度”指标(0~1),融合模块按健康度动态调整权重。健康度骤降时触发降级策略,健康度缓慢下降时记录日志并提示标定或清洁。
注意:传感器异常检测不能替代功能安全设计。检测本身也可能失效,因此需要独立的看门狗、心跳监控和最小风险策略,确保在检测失效时仍能安全停车或靠边。
# 示例:IMU静止零偏与重力模值检查
gyro_bias = mean(gyro[静止窗口])
acc_norm  = norm(mean(acc[静止窗口]))
if abs(gyro_bias) > 0.02 rad/s:        # 零偏超限
    imu_health = 0.3
if abs(acc_norm - 9.81) > 0.15 m/s^2:  # 重力模值异常
    imu_health = min(imu_health, 0.4)

# 示例:GPS定位残差卡方检验
residual = gps_pos - ins_pred_pos
if residual.T @ inv(gps_cov) @ residual > chi2_threshold:
    gps_health = 0.2   # 定位跳变或多路径

总结来看,五类传感器的异常检测应形成“自检—质量评估—时序一致性—跨传感器互证”的闭环。摄像头重图像质量,激光雷达重点云密度与地面一致性,毫米波重航迹连续性与虚假目标,IMU重零偏与重力模值,GPS重残差与卫星几何。只有把单路健康度与融合级互证结合,才能在故障早期做出正确降级与接管决策。