2. 自动驾驶基础

在进入强化学习策略评测与部署之前,必须先建立对自动驾驶系统本身的整体认知。强化学习策略并不是孤立运行的算法,它最终要嵌入到自动驾驶系统的感知、决策、规划、控制链路中,并通过仿真与实车测试验证其安全性。本章从自动驾驶分级出发,梳理系统架构、核心模块职责,以及仿真到实车的测试流程,为后续策略评测建立工程语境。

一、自动驾驶分级:从L0到L5的责任边界

SAE J3016 将自动驾驶分为 L0 至 L5 六个等级,其核心区别不在于“车辆能做什么”,而在于动态驾驶任务(DDT)由谁执行、谁负责监控、谁承担接管责任。L0 至 L2 属于辅助驾驶,驾驶员始终是责任主体;L3 在特定设计运行域(ODD)内由系统执行 DDT,但驾驶员需在请求时接管;L4 在 ODD 内系统可独立完成 DDT 与接管,无需人类干预;L5 则无 ODD 限制,实现全域自动驾驶。

对强化学习策略评测而言,分级直接决定了评测目标:L2 级策略关注舒适性与驾驶员接管频率,L3 级必须评测接管请求的提前量与可解释性,L4 级则要求策略在 ODD 边界内具备安全冗余与最小风险状态(MRM)能力。因此,脱离分级谈“策略好坏”是没有意义的。

二、系统架构:从传感器到执行器的闭环

典型自动驾驶系统采用分层架构:传感器层负责摄像头、激光雷达、毫米波雷达、IMU、GNSS 等原始数据采集;感知层完成目标检测、跟踪、语义分割、车道线识别与自车定位;决策层进行行为决策与路径规划;控制层输出油门、刹车、转向指令;执行层由线控底盘完成动作。各层之间通过车载以太网或 CAN 总线通信,并共享统一的时间同步与坐标系。

强化学习策略通常作用于决策层或规划层,其输入是感知层输出的结构化场景表示,输出是行为意图或轨迹参数。理解这一位置关系,才能正确设计策略的观测空间、动作空间与奖励函数。

自动驾驶系统架构与强化学习策略嵌入位置 传感器层 摄像头/激光雷达/雷达 感知层 检测/跟踪/定位 决策层 行为决策/路径规划 控制层 横纵向控制 执行层 线控底盘 强化学习策略 观测空间 → 策略网络 → 动作空间 嵌入决策层/规划层 仿真测试平台 场景库 · 传感器仿真 · 动力学模型 · 指标评估 · 回归测试

三、感知、决策、规划、控制四大模块职责

感知模块解决“我在哪、周围有什么”。它输出自车位姿、障碍物列表、车道拓扑与可行驶区域。感知误差会直接传播到决策层,因此策略评测必须考虑感知噪声注入。决策模块解决“我该做什么”,包括车道保持、跟车、换道、避障等行为选择。规划模块解决“我该怎么走”,生成满足动力学约束的平滑轨迹。控制模块解决“我怎么执行”,通过 PID、MPC 等算法跟踪轨迹。

强化学习策略常见的嵌入方式有三种:一是替代决策模块输出高层行为;二是替代规划模块输出轨迹参数;三是作为端到端策略直接输出控制量。不同嵌入方式对观测空间和奖励设计的要求差异很大。

关键认知:策略评测不是只看最终是否碰撞,而要分层归因——是感知漏检、决策错误、规划不可行,还是控制跟踪偏差。只有定位到具体模块,强化学习策略的改进才有方向。

四、仿真与实车测试流程

自动驾驶测试遵循“仿真优先、实车验证”的流程。仿真阶段包括场景生成、传感器仿真、动力学仿真与指标评估;实车阶段包括封闭场地测试、开放道路测试与影子模式。仿真可以低成本覆盖长尾场景,实车则验证真实传感器噪声、通信延迟与执行器特性。

测试阶段 主要目标 典型工具/方法 强化学习策略关注点
软件在环 SIL 验证算法逻辑与接口 CARLA、LGSVL、Prescan 观测空间、动作空间、奖励收敛性
硬件在环 HIL 验证控制器与总线时序 dSPACE、Vector CANoe 推理延迟、控制周期匹配
封闭场地测试 验证实车基本功能与安全 测试场、假人假车 策略泛化性、边界场景表现
开放道路测试 验证真实交通流适应性 安全员接管、影子模式 接管率、舒适度、合规性

五、案例与常见误区

某团队在 CARLA 中训练了一个换道策略,仿真中成功率 98%,但实车测试时频繁出现急刹。复盘发现:仿真中感知输入是完美真值,而实车感知存在 150ms 延迟与目标抖动,策略对观测噪声极度敏感。改进方案是在训练时注入感知噪声与延迟,并在奖励中加入 jerk 惩罚。

常见误区:把仿真成功率当作策略部署指标;忽略感知延迟与控制周期;在 L2 场景中使用 L4 的评测标准;只关注碰撞率而忽略舒适性与合规性。这些都会导致“仿真很强、实车很慌”。
# 仿真测试配置示例(伪代码)
scenario: cut_in_highway
sensor:
  camera: {fps: 30, latency_ms: 80}
  lidar:  {fps: 10, latency_ms: 120}
policy:
  type: PPO
  obs: [ego_state, objects, lane]
  action: [steer, accel]
reward:
  collision: -100
  jerk: -0.5
  progress: +1.0
eval:
  episodes: 500
  metrics: [collision_rate, takeover_rate, jerk_mean]

理解自动驾驶分级、系统架构与测试流程,是后续强化学习策略评测与部署的工程基础。只有把策略放回真实的系统链路中,才能设计出有意义的观测、动作、奖励与评测指标。