2. 自动驾驶系统基础

自动驾驶系统并不是一个“端到端黑箱”就能完全解释的工程对象。为了便于研发、调试、验证与评测,业界通常把它拆解为感知、预测、规划、控制四个核心模块,并在其上叠加定位、地图、人机交互、数据闭环与安全监控等支撑系统。理解这四个模块的输入、输出与失效模式,是理解评测指标为何这样设计的前提。

一、四模块的核心职责与数据流

从数据流角度看,自动驾驶系统是一条从“原始信号”到“车辆动作”的链路:传感器给出原始观测,感知把观测变成结构化世界,预测把当前世界外推到未来,规划把未来目标转成可执行轨迹,控制把轨迹转成油门、刹车与转向指令。评测则贯穿这条链路,既评“每一段是否准”,也评“整条链路是否安全、舒适、高效”。

自动驾驶四模块数据流与评测介入点 传感器 相机/激光雷达/毫米波 感知 检测/分割/跟踪/测距 预测 轨迹/意图/交互 规划 路由/行为/轨迹 控制 油门/刹车/转向 定位与高精地图:提供自车位置、车道拓扑、限速与语义先验 贯穿感知、预测、规划、控制,是坐标统一与场景理解的基础 评测介入点:离线回放 · 场景仿真 · 封闭场地 · 实车路测 · 影子模式 感知指标 mAP/IoU/漏检率 预测指标 ADE/FDE/碰撞率 规划指标 舒适/合规/通行效率 控制指标 跟踪误差/时延 系统级 接管/MPI

二、各模块的关键输出与典型评测指标

感知模块输出的是“世界是什么”:目标框、语义分割、车道线、可行驶区域、目标速度与朝向。它的评测通常关注检测精度、召回率、测距误差与跟踪稳定性。预测模块输出的是“别人接下来会怎么动”:多模态轨迹、意图概率与交互关系,评测关注轨迹误差、模态覆盖与碰撞概率。规划模块输出的是“我该怎么走”:行为决策与时空轨迹,评测关注安全性、合规性、舒适性与通行效率。控制模块输出的是“如何精确执行”:横纵向控制量,评测关注跟踪误差、响应时延与执行平顺性。

模块 核心输入 核心输出 典型评测指标 常见失效
感知 图像、点云、雷达回波 目标框、语义、车道线、可行驶区域 mAP、IoU、漏检率、测距误差 远距离漏检、遮挡误判、雨雾退化
预测 感知结果、地图、历史轨迹 多模态未来轨迹与概率 ADE、FDE、NLL、碰撞率 交互建模不足、长时外推发散
规划 预测轨迹、地图、自车状态 行为决策与时空轨迹 碰撞率、合规率、舒适度、通行时间 博弈僵持、激进变道、轨迹抖动
控制 规划轨迹、车辆动力学 油门、刹车、转向指令 横向/纵向跟踪误差、时延、超调 执行滞后、积分饱和、抖动

三、评测在开发流程中的位置

评测不是开发完成后的“最后一道考试”,而是嵌入在 V 模型每一层的验证活动。需求阶段定义指标与通过准则;模块开发阶段做单元测试与离线回放;集成阶段做场景仿真与硬件在环;系统阶段做封闭场地与实车路测;运营阶段用影子模式与数据闭环持续监控。评测左移可以更早暴露问题,评测右移则更接近真实风险。

评测左移:在感知、预测、规划、控制各自模块内建立可复现的离线指标,避免问题被掩盖到系统级才暴露。

四、案例场景:一次“鬼探头”从感知到控制的评测链路

假设城市道路中,路边停放车辆后方突然出现行人。感知模块需要在该遮挡场景下尽早检出目标,评测关注漏检率与首次检出距离;预测模块需要判断行人是否横穿,评测关注横穿意图概率与轨迹误差;规划模块需要决定减速还是绕行,评测关注是否在安全距离内停车、是否产生急刹;控制模块需要执行减速,评测关注减速度跟踪误差与响应时延。若最终发生碰撞,需要沿链路回溯:是感知漏检、预测误判、规划过晚,还是控制滞后。

场景:鬼探头(遮挡行人横穿)
评测链路:
1. 感知:首次检出距离 ≥ 35 m,漏检率 ≤ 1%
2. 预测:横穿意图概率 ≥ 0.8,ADE ≤ 0.5 m
3. 规划:TTC ≥ 2.0 s 触发减速,最大减速度 ≤ 4 m/s²
4. 控制:减速度跟踪误差 ≤ 0.5 m/s²,响应时延 ≤ 100 ms
5. 系统:无碰撞、无接管、乘客舒适度达标

五、常见误区与复盘

  • 只看系统级指标:系统级通过不代表模块健康,模块级指标缺失会导致问题无法定位。
  • 用单一场景代表整体:鬼探头、加塞、施工区、雨雾天各有不同失效模式,需要场景分层。
  • 忽略时延与一致性:感知、预测、规划、控制之间存在时间戳对齐问题,评测必须考虑端到端时延。
  • 把仿真当实车:仿真可复现、可扩展,但传感器噪声与动力学差异需要实车校准。
复盘建议:每次失效都按“感知—预测—规划—控制—系统”五层归因,并记录对应指标是否越界,形成可追踪的评测证据链。

理解四模块的职责边界与数据流,才能理解评测指标为什么这样分层、基准平台为什么需要多源数据与多级场景。评测的本质,是用可量化、可复现、可归因的方式,回答“系统在什么条件下、以多大概率、安全地完成驾驶任务”。