定位评估与运维:指标、失效场景与降级策略
本页用于把定位能力从"算法效果"转成"可运维工程能力",建立指标体系、失效处理与持续运营机制。
1. 核心指标体系
1.1 轨迹误差指标
ATE(Absolute Trajectory Error,绝对轨迹误差):
\[\text{ATE} = \sqrt{\frac{1}{N} \sum_{i=1}^{N} \| \mathbf{p}_i - \hat{\mathbf{p}}_i \|^2}\]
ATE 衡量整段轨迹的全局精度,需要轨迹对齐(使用 Umeyama 对齐)以去除初始坐标系偏差。
RPE(Relative Pose Error,相对位姿误差):
\[\text{RPE}_{\Delta} = \frac{1}{N-\Delta} \sum_{i=1}^{N-\Delta} \| Q_i^{-1} \hat{Q}_i \|\]
其中 \(Q_i = T_i^{-1} T_{i+\Delta}\) 为真实相对位姿,\(\hat{Q}_i\) 为估计相对位姿。
RPE 衡量局部漂移特性,与 ATE 互补(ATE 受回环影响,RPE 不受)。
1.2 定位精度分级
不同自动化等级对定位精度的要求:
| 精度等级 | 横向误差 | 纵向误差 | 适用场景 |
|---|---|---|---|
| 车道级(Lane-level) | < 50 cm | < 1 m | L2+ 高速辅助 |
| 亚车道级(Sub-lane) | < 20 cm | < 50 cm | L3 城区 |
| 精确级(Precise) | < 10 cm | < 20 cm | L4 Robotaxi |
1.3 可用性与稳定性指标
| 指标 | 定义 | 参考目标 |
|---|---|---|
| 定位可用率 | 满足精度要求的时间占比 | > 99.5%(城区) |
| 重定位时间 | 定位失效后恢复所需时间 | < 5 s |
| 漂移率 | 单位距离误差增长 | < 0.1%(无 GNSS 时) |
| 横向误差 P95 | 95% 时刻下的横向误差 | < 15 cm |
| 横向误差 P99 | 99% 时刻下的横向误差 | < 30 cm |
2. 真值获取方法
2.1 高精度参考系统
常用真值系统:
| 系统 | 精度 | 成本 | 说明 |
|---|---|---|---|
| RTK + IMU(后处理) | 2–5 cm 位置 | 中 | 最常用工程方案 |
| PPP-RTK(实时) | 5–10 cm | 较高 | 依赖差分网络 |
| 全站仪 + 控制点 | 毫米级 | 高 | 静态场景标定 |
| LiDAR 高精扫描(比对) | 5–10 cm | 高 | 建图验证 |
2.2 数据采集要求
参考轨迹采集规范:
├─ GNSS 信号质量:卫星数 ≥ 8,PDOP < 2
├─ 采集时段:晴天,开阔区域优先
├─ 速度:< 80 km/h(采集精度要求)
├─ 后处理:使用基站差分数据进行 PPK 处理
└─ 精度验收:横向 RMS < 3 cm
3. 场景化评估矩阵
建议针对不同 ODD 场景分别维护评估基准集:
| 场景类别 | 典型场景 | 主要挑战 | 重点指标 |
|---|---|---|---|
| 高速 | 长直道、隧道、匝道 | 隧道 GNSS 失效、长直道激光退化 | 隧道内漂移率 |
| 城区 | 高楼峡谷、路口、地下停车场 | GNSS 多径、遮挡 | 横向误差 P95 |
| 复杂天气 | 夜间、雨雪、大雾 | LiDAR 噪声、视觉退化 | 可用率 |
| 特殊区域 | 施工改道、临时封路 | 地图失效 | 重定位时间 |
4. 失效模式分析
4.1 GNSS 失效
| 失效类型 | 原因 | 检测方法 |
|---|---|---|
| 信号遮挡 | 高楼/隧道遮挡天空 | 卫星数 < 4 + HDOP 上升 |
| 多径干扰 | 信号反射导致测距偏差 | 位置跳变 > 阈值 |
| 欺骗攻击 | 伪造 GNSS 信号 | 与其他传感器一致性检验 |
| 电磁干扰 | 强 EMI 环境 | SNR 下降 + 定位跳变 |
GNSS 失效检测算法:
def detect_gnss_anomaly(gnss_pos, prev_pos, dt):
# 速度合理性检验
v_est = (gnss_pos - prev_pos) / dt
if norm(v_est) > v_max_reasonable:
return "JUMP_ANOMALY"
# 与 IMU 推算一致性检验
imu_pos = integrate_imu(prev_pos, imu_data, dt)
if norm(gnss_pos - imu_pos) > threshold:
return "IMU_INCONSISTENCY"
return "NORMAL"
4.2 地图失效
| 失效类型 | 原因 | 检测方法 |
|---|---|---|
| 施工改道 | 道路临时封闭/改线 | 匹配残差突增 |
| 地图过期 | 道路改造未更新 | 语义冲突(路口形状变化) |
| 数据错误 | 生产错误 | 内部拓扑一致性校验 |
地图匹配残差监控:
\[\text{residual}(t) = \frac{1}{N}\sum_{i=1}^{N} d(p_i^{\text{scan}}, p_i^{\text{map}})\]
当 \(\text{residual}(t)\) 持续超过阈值(如 0.3 m)时,触发地图降级。
4.3 特征稀缺与场景退化
退化因子(Degeneracy Factor)分析:
对点云配准问题,分析信息矩阵 \(\mathbf{H}\) 的特征值分布:
\[\mathbf{H} = \sum_i \mathbf{J}_i^T \mathbf{J}_i\]
若某方向特征值接近零,表示该方向信息不足(退化)。
5. 降级策略
5.1 多传感器权重自适应
正常状态:
weight_gnss = 0.4
weight_lidar = 0.4
weight_camera = 0.2
GNSS 异常时:
weight_gnss = 0.05
weight_lidar = 0.65
weight_camera = 0.30
LiDAR 退化时(低点云质量):
weight_gnss = 0.55
weight_lidar = 0.15
weight_camera = 0.30
5.2 降级决策树
定位健康度评分 = f(GNSS质量, 匹配分数, 融合残差)
│
├─ 评分 > 0.8:正常定位,输出完整置信度
│
├─ 0.5 < 评分 ≤ 0.8:
│ ├─ 降低对地图先验权重
│ ├─ 提升实时感知主导权重
│ └─ 收紧行驶策略(限速 60 km/h,禁止变道)
│
├─ 0.3 < 评分 ≤ 0.5:
│ ├─ 触发重定位(主动搜索地图匹配)
│ ├─ 限速 40 km/h
│ └─ 向上层发送降级通知
│
└─ 评分 ≤ 0.3:
├─ 定位失效
├─ 触发 TOR(请求人工接管)
└─ 若无人接管,执行 MRC(靠边减速停车)
6. 运维平台设计
6.1 定位问题可视化
建议建立 Web 端定位监控看板:
- 实时地图:在地图上展示车辆轨迹、定位置信度热图
- 误差时序图:横纵向误差随时间变化,叠加传感器状态
- 传感器状态矩阵:各传感器实时健康状态(绿/黄/红)
- 重定位事件:标记位置与触发原因
6.2 问题自动聚类
# 将定位问题片段向量化后聚类
from sklearn.cluster import DBSCAN
features = [
[gnss_quality, lidar_score, speed, weather, road_type]
for event in failure_events
]
clusters = DBSCAN(eps=0.5, min_samples=5).fit(features)
# 对每个聚类分析主因
for cluster_id in set(clusters.labels_):
analyze_root_cause(cluster_id, failure_events)
7. 地图版本管理与热更新
7.1 版本号规范
地图版本格式:
{区域代码}_{YYYYMM}_{patch}_{变更类型}
示例:
SHA_202501_003_施工绕行
BJ_202502_001_全量更新
7.2 增量更新流程
监控平台检测到高残差区域(连续 10 辆车匹配失败)
│
├─ 触发采集任务:指派采集车到目标区域
├─ 数据处理:自动化提取差异区域
├─ 人工质检:验证变化内容
├─ 增量包生成:仅包含变化区域
├─ 灰度推送:先推送 10% 车辆
└─ 监控 24h 后全量推送
8. 定位模块发布门禁
| 门禁项 | 验收标准 |
|---|---|
| 横向误差 P95 | ≤ 基线 × 105% |
| 定位可用率 | ≥ 基线 |
| 重定位成功率 | ≥ 99%(在 5 s 内) |
| 隧道漂移率 | ≤ 0.3% 单位距离 |
| 场景回归通过率 | ≥ 98%(全量场景集) |
| 接管事件中定位相关占比 | ≤ 上一版本 |
9. 最小运维建议
- 定位问题自动聚类:按失效类型(GNSS/地图/退化)自动打标签,减少人工分析成本
- 高变化区域优先更新:对施工频繁、道路改造多的区域,提高地图更新频率(周级而非月级)
- 定位回归集:每次算法或地图版本发布前,必须执行固定场景集回归,不通过不发布
- 根因可追踪:每次接管事件中,若有定位置信度下降,必须追踪至具体传感器和时间段
- 健康度暴露给规划层:规划层应根据定位置信度调整行为策略,而非盲目信任定位输出