2. 自动驾驶系统基础

自动驾驶系统本质上是一台“在移动中持续做闭环判断”的实时计算机。它把物理世界的连续变化,转换为可计算的数据流,再通过执行机构把计算结果作用回物理世界。理解这条闭环链路,是理解冗余计算与故障切换的前提:只有先看清各模块的职责边界、数据依赖和时序约束,才能判断“哪个环节失效会影响什么、需要多快接管、冗余应该放在哪里”。

一、四大功能模块的职责划分

从功能上看,自动驾驶系统通常划分为感知、决策、规划、控制四个模块。它们不是简单的串行流水线,而是带有反馈的闭环结构。

  • 感知模块:负责“我在哪、周围有什么”。输入来自摄像头、激光雷达、毫米波雷达、IMU、GNSS、轮速计等传感器,输出包括目标检测与跟踪、车道线、可行驶区域、交通标志、自车定位与姿态。感知的核心挑战是异构传感器的时间同步与空间标定。
  • 决策模块:负责“我该做什么”。它基于感知结果和地图、交通规则,进行行为决策,例如跟车、换道、让行、超车、靠边停车,并输出行为意图和约束条件。
  • 规划模块:负责“我具体怎么走”。它把行为意图转化为时空轨迹,通常分为全局路径规划、行为层轨迹规划和局部运动规划,输出带时间戳的轨迹点序列,满足动力学约束、舒适性和安全性。
  • 控制模块:负责“我如何精确执行”。它把期望轨迹与自车实际状态比较,通过横向控制(转向)和纵向控制(驱动、制动)输出执行器指令,形成闭环反馈。
核心关系:感知提供“世界模型”,决策提供“意图”,规划提供“轨迹”,控制提供“动作”。四者共享同一时间基准,任一环节的延迟都会沿链路向后传播,最终表现为车辆响应滞后。

二、计算平台的基本组成

计算平台是承载上述模块的硬件与软件底座。典型组成包括:

层次典型组成作用
传感器层摄像头、激光雷达、毫米波雷达、IMU、GNSS采集物理世界原始数据
接口与同步层车载以太网、CAN/CAN-FD、PTP/gPTP、硬件触发数据传输与多传感器时间同步
计算单元层SoC(CPU+GPU+NPU)、MCU、安全岛运行感知推理、规划控制与安全监控
存储与内存层LPDDR、UFS、日志存储模型加载、数据缓存、故障记录
供电与散热层电源管理、冗余供电、液冷/风冷保障算力稳定与热安全
软件栈实时操作系统、中间件、调度器、诊断监控任务调度、通信、健康管理

其中,SoC 负责高吞吐的感知与规划计算,MCU 或安全岛负责高实时、高可靠的安全监控与执行器兜底。二者分工体现了“高性能”与“高可靠”的分离设计思想。

三、实时性要求与时间预算

自动驾驶的实时性不是“越快越好”的模糊概念,而是由安全距离和动力学决定的硬约束。以 120 km/h 行驶为例,车辆每秒移动约 33 米;若感知到制动决策的端到端延迟为 100 ms,车辆已前进约 3.3 米。因此,各模块必须分配明确的时间预算。

典型端到端时间预算(示例,非固定标准):
传感器采集与曝光        : 10 ~ 20 ms
数据传输与时间同步      :  5 ~ 10 ms
感知推理(检测/跟踪)   : 30 ~ 60 ms
决策与行为选择          : 10 ~ 20 ms
轨迹规划                : 20 ~ 40 ms
控制计算与执行器响应    : 10 ~ 20 ms
------------------------------------------------
端到端总延迟目标        : 100 ~ 150 ms

实时性通常用三个指标衡量:延迟(从事件发生到动作输出)、抖动(延迟的波动范围)、确定性(最坏情况是否可预测)。对安全相关任务,最坏执行时间(WCET)比平均延迟更重要。

工程上常把任务分为硬实时、软实时和尽力而为三类。制动、转向、安全监控属于硬实时;感知推理和规划多为软实时,但必须有超时降级策略。

四、闭环数据流与模块协作

下图展示四大模块与计算平台之间的数据流和时序关系。感知输出世界模型,决策输出意图,规划输出轨迹,控制输出执行指令,同时车辆状态反馈回感知与控制,形成闭环。

自动驾驶闭环数据流与计算平台协作 感知模块 检测 / 跟踪 / 定位 决策模块 行为选择 / 意图 规划模块 轨迹生成 / 约束 控制模块 横向 / 纵向 世界模型 行为意图 期望轨迹 计算平台 SoC(CPU/GPU/NPU) + MCU 安全岛 + 实时中间件 统一时间基准 · 任务调度 · 健康监控 · 冗余切换 车辆与执行器 转向 · 驱动 · 制动 执行指令 车辆状态反馈(位姿 / 速度 / 加速度) 时间预算:感知 30~60ms → 决策 10~20ms → 规划 20~40ms → 控制 10~20ms,端到端目标 100~150ms

五、典型场景与误区复盘

以一个高速跟车场景为例:前车突然减速,摄像头和毫米波雷达在 20 ms 内捕获变化,感知模块在 50 ms 内完成目标跟踪与距离更新,决策模块判断需要制动,规划模块生成减速轨迹,控制模块在 15 ms 内输出制动指令。若任一环节超时,系统必须触发降级或冗余接管。

常见误区一:只关注平均延迟,忽略最坏情况抖动。误区二:把感知、规划、控制放在同一非实时操作系统上,导致调度不确定。误区三:认为算力越大实时性越好,实际上通信、同步和调度开销常成为瓶颈。误区四:冗余只做硬件备份,忽略软件层面的超时监控与状态一致性。

因此,在冗余计算与故障切换工程中,必须先把四大模块的功能边界、数据依赖和实时性预算定义清楚,再据此设计监控点、切换条件和降级策略。这是后续所有冗余架构设计的基础。