2. 自动驾驶智能体基础

自动驾驶智能体并不是一个“会开车的黑盒”,而是由感知、决策、规划、控制四大功能模块串联而成的实时闭环系统。理解这套模块划分与系统架构,是后续讨论安全护栏、接管策略和失效降级的前提。本节从数据流与信号链角度,梳理各模块的职责、接口与协作关系。

一、核心原理:四模块闭环与信号链

自动驾驶的基本工作方式是“感知世界 → 理解态势 → 决定行为 → 执行动作 → 再感知”的持续循环。四个模块各司其职:

  • 感知模块:通过摄像头、激光雷达、毫米波雷达、IMU、GNSS 等传感器获取原始数据,完成目标检测、车道线识别、可行驶区域分割、目标跟踪与定位,输出“环境模型”。
  • 决策模块:基于环境模型与导航任务,判断当前场景语义(跟车、变道、路口通行、避让行人等),做出行为级选择,例如“保持车道”“减速让行”“向左变道”。
  • 规划模块:把行为决策翻译成时空轨迹。通常分为全局路径规划(从起点到终点的路由)与局部轨迹规划(未来数秒内的可行、舒适、安全轨迹)。
  • 控制模块:将目标轨迹转化为油门、刹车、转向等执行器指令,通过纵向控制与横向控制跟踪轨迹,并处理执行器延迟与车辆动力学约束。

四者构成一条从“传感器原始信号”到“执行器动作”的信号链,任何一环的延迟、误判或失效都会沿链路传播,最终影响行车安全。因此系统架构设计必须考虑模块边界、时序约束与冗余。

自动驾驶智能体:感知 → 决策 → 规划 → 控制 信号链 传感器层 摄像头 / 激光雷达 毫米波雷达 / IMU GNSS / 轮速计 感知模块 目标检测 / 跟踪 车道线 / 可行驶区域 定位与地图匹配 决策模块 场景语义理解 行为选择 / 博弈 风险与优先级判断 规划模块 全局路径规划 局部轨迹生成 速度 / 曲率约束 控制 纵向 横向 执行器 车辆状态 / 执行反馈 → 重新感知(闭环) 关键接口与数据 感知输出:目标列表 (id, 位置, 速度, 类别)、车道线、可行驶区域、自车定位 决策输出:行为指令 (跟车/变道/让行/停车);规划输出:轨迹点序列 (x, y, θ, v, t)

二、方法流程:从原始数据到执行指令

以一次典型的“前方车辆减速”场景为例,四模块的协作流程如下:

  1. 摄像头与毫米波雷达检测到前车距离缩小、相对速度下降,感知模块更新目标跟踪状态。
  2. 决策模块判断当前为“跟车”场景,且安全距离不足,输出“减速跟车”行为。
  3. 规划模块在满足舒适度与安全距离约束下,生成未来 3~5 秒的减速轨迹。
  4. 控制模块将目标减速度转换为刹车压力指令,同时监控实际减速度与期望值的偏差。
  5. 若偏差过大或感知置信度下降,系统触发降级或请求接管。
关键时序约束:感知延迟通常为 50~150 ms,决策与规划为 20~100 ms,控制为 10~50 ms。端到端延迟若超过 300 ms,高速场景下的安全裕度会显著下降。

三、系统架构:分层与冗余

工程上常把上述模块组织为分层架构:传感器层 → 感知层 → 决策规划层 → 控制层 → 执行器层,并叠加安全监控层与冗余通道。安全监控层独立于主链路,负责校验各模块输出是否越界、是否超时、是否自相矛盾。

层级核心职责典型输出常见失效
传感器层采集原始信号图像、点云、IMU 数据遮挡、脏污、标定漂移
感知层环境建模与定位目标列表、车道线、位姿漏检、误检、跟踪丢失
决策规划层行为选择与轨迹生成行为指令、轨迹点场景误判、轨迹不可行
控制层轨迹跟踪与执行油门、刹车、转向指令延迟、饱和、执行器故障
安全监控层独立校验与降级告警、降级、接管请求监控漏报、误触发

四、案例与场景:路口右转的模块协作

车辆在路口右转时,感知模块需要同时识别行人、非机动车、对向直行车辆与交通信号;决策模块判断“让行”还是“通过”;规划模块生成一条兼顾转弯半径与行人安全距离的轨迹;控制模块则需在低速下精确控制转向角与蠕行速度。若此时感知对行人意图判断不确定,安全监控层应降低车速并准备接管,而不是直接执行右转。

工程提示:模块划分的价值在于“可测试、可替换、可监控”。每个模块都应定义清晰的输入输出契约与超时阈值,便于独立验证和故障隔离。

五、误区与复盘

  • 误区一:把决策与规划混为一谈。决策回答“做什么”,规划回答“怎么做”,二者分离才能独立测试与替换。
  • 误区二:忽视反馈闭环。控制执行后的车辆状态必须回流到感知与决策,否则无法修正模型误差。
  • 误区三:只关注主链路,忽略监控层。安全护栏往往依赖独立监控通道,而非主链路的自检。
  • 复盘要点:出现异常时,应按信号链逐级排查——传感器是否正常、感知置信度是否下降、决策是否超时、规划轨迹是否可行、控制是否饱和。
# 典型模块健康检查日志片段
[perception] objects=12, confidence_avg=0.91, latency=86ms
[decision]   scene=FOLLOW, behavior=DECELERATE, latency=34ms
[planning]   trajectory_points=40, horizon=4.0s, feasible=true
[control]    target_accel=-1.8m/s², actual_accel=-1.6m/s², steer=2.1°
[monitor]    status=NORMAL, takeover_request=false