自动驾驶基础:车辆运动学模型、环境感知与状态表示、路径规划与控制的层级结构

自动驾驶系统本质上是一个“感知—决策—执行”的闭环智能体。要理解模仿学习与逆强化学习在路径规划中的应用,首先必须建立对车辆底层物理约束、环境信息表达方式以及上层任务分解框架的清晰认知。本章将围绕三个核心支柱展开:车辆运动学模型(回答“车能怎么动”)、环境感知与状态表示(回答“车看到了什么”)、路径规划与控制的层级结构(回答“任务如何分层执行”)。这三者共同构成了后续所有学习算法的物理基础与数据接口。

自动驾驶系统基础架构与数据流 ① 环境感知层 传感器:Camera / LiDAR / Radar / GNSS+IMU 输出:障碍物列表、车道线、交通标志、可行驶区域、自车定位 状态表示:BEV栅格图 / 3D点云 / 矢量地图 / 鸟瞰视角张量 → 为决策提供结构化环境描述 ② 决策规划层(本课程核心) 任务分解:任务规划 → 行为决策 → 运动规划(路径+速度) 传统方法:状态机 / 采样搜索 / 优化求解 学习方法:模仿学习(IL)→ 逆强化学习(IRL)→ 深度RL 约束条件:运动学模型、动力学极限、交通规则、舒适性 → 输出局部轨迹(路径点+速度曲线) ③ 控制执行层 横向控制:前轮转角 δ(Stanley / Pure Pursuit / MPC) 纵向控制:油门/制动(PID / 模型预测控制) 执行器:转向电机、驱动电机、液压制动 状态反馈(位姿/速度/IMU) 自行车模型(Bicycle Model) 状态: [x, y, θ, v] 控制: [δ, a]

2.1 车辆运动学模型:理解物理约束的起点

核心原理:从刚体运动到自行车模型

车辆运动学模型描述了车辆在平面上的几何运动关系,忽略轮胎滑移、悬架形变等动力学因素,将车辆简化为刚体。最常用的是自行车模型(Bicycle Model),它将车辆的前后轮分别合并为一个虚拟车轮,假设车辆只有平面内的三个自由度:纵向位置 x、横向位置 y 和航向角 θ。其连续时间状态方程如下:

状态变量:  s = [x, y, θ, v]
控制输入:  u = [δ, a]
微分方程:
  dx/dt = v * cos(θ)
  dy/dt = v * sin(θ)
  dθ/dt = v * tan(δ) / L
  dv/dt = a

其中 L 为轴距(前后轮中心距),δ 为前轮转角,a 为纵向加速度。该模型的核心价值在于建立了转向角与曲率之间的直接关系:曲率 κ = tan(δ)/L。这意味着在低速(通常 < 10 m/s)泊车、园区接驳等场景中,该模型具有足够的精度,且计算开销极小,非常适合作为规划算法的底层约束。

判断方法:何时使用运动学模型,何时必须使用动力学模型

对比维度运动学模型(Kinematic)动力学模型(Dynamic)
适用速度低速(≤ 10 m/s)中高速(≥ 15 m/s)
考虑因素几何关系、轴距、转向角轮胎侧偏刚度、质量、惯性矩、横摆角速度
计算复杂度低(毫秒级)高(需实时求解微分方程)
典型场景自动泊车、园区低速接驳高速巡航、紧急避障
对模仿学习的影响状态空间维度低,易于提取专家特征状态空间高维,需要更复杂的奖励设计

在模仿学习框架中,选择运动学模型意味着专家演示轨迹的特征提取可以聚焦于路径曲率、航向误差、速度轮廓等直观量;而动力学模型则需额外考虑轮胎滑移角、横摆角速度等难以从视觉直接观测的量,增加了逆强化学习奖励函数设计的难度。

实操建议:对于本课程中的路径规划项目,建议默认采用自行车运动学模型作为规划层的约束模型。若后续需要扩展到高速场景,可在控制层引入动力学模型进行补偿,形成“规划用运动学、控制用动力学”的经典分层策略。

案例拆解:自动泊车场景中的运动学约束

假设一辆轴距 L=2.8m 的车辆需要泊入一个垂直车位。初始位置为 (x=0, y=0, θ=0),目标位置为 (x=5.2, y=2.5, θ=π/2)。使用自行车模型进行路径搜索时,规划算法必须保证任意时刻的曲率 κ 不超过车辆最小转弯半径对应的极限值(例如 δ_max = 35°,则 κ_max = tan(35°)/2.8 ≈ 0.25 m⁻¹)。

在采集人类专家泊车演示数据时,我们记录每一时刻的 [x, y, θ, v, δ] 序列。通过逆强化学习,算法会尝试恢复专家隐含的奖励函数——例如“距离目标点越近奖励越高”“方向偏差越小奖励越高”“转向角变化越平缓奖励越高”。如果没有运动学模型的约束,学习到的策略可能生成不切实际的轨迹(如原地旋转、瞬时横移),而运动学模型从物理层面过滤了这类无效解。

常见误区与总结

  • 误区一:将运动学模型直接用于高速场景。当车速超过 15 m/s 时,轮胎侧偏导致的航向偏差不可忽略,必须引入动力学模型。
  • 误区二:忽略执行器延迟。运动学模型假设转向角 δ 可瞬时达到目标值,但实际转向电机存在约 100-200ms 延迟,在模仿学习的数据预处理中应加入延迟补偿。
  • 误区三:认为运动学模型越简单越好。在狭窄空间泊车时,车辆后轴轨迹与前轴轨迹存在显著差异(即“内轮差”),此时应使用后轴中心作为参考点,而非车辆质心。

2.2 环境感知与状态表示:从原始传感器到结构化特征

核心原理:感知信息的三种典型表示形式

环境感知模块将传感器原始数据转换为规划算法可用的状态表示。在模仿学习与逆强化学习框架中,状态表示的选择直接决定了特征提取的难度和奖励函数的可解释性。目前主流表示形式包括:

  1. 栅格化表示(Grid-based):将车辆周围环境离散为二维栅格(如 0.1m 分辨率),每个栅格存储占用概率、高度或语义标签。典型代表是鸟瞰图(BEV),其优势是空间关系直观,适合卷积神经网络处理。
  2. 矢量表示(Vector-based):将车道线、路沿、障碍物边界提取为矢量线段或多边形。这种表示更紧凑,且天然适合注意力机制建模,如 Waymo 的 VectorNet 架构。
  3. 原始点云/图像表示:直接输入 LiDAR 点云或相机图像,由神经网络端到端提取特征。虽然信息无损,但需要大量计算资源,且可解释性较差。

判断方法:如何为模仿学习选择合适的状态表示

表示类型空间分辨率特征提取难度奖励函数可解释性典型传感器
BEV栅格高(0.05-0.2m)中(需CNN编码)中(可映射为距离场)LiDAR + 相机融合
矢量地图高(几何精确)低(直接使用坐标)高(可直接计算距离/角度)高精地图 + 感知
原始点云极高(厘米级)高(需PointNet等)低(难以直接定义奖励)LiDAR

对于逆强化学习,我们强烈建议优先使用矢量表示 + 栅格占用图的组合:矢量表示用于描述车道结构(提供强先验),栅格图用于描述动态障碍物(提供灵活性)。这种混合表示既能保证奖励函数中“偏离车道中心线惩罚”等项的可计算性,又能处理未知障碍物场景。

案例拆解:城市路口左转场景的状态表示

考虑一个典型的无保护左转场景。车辆需要在对向直行车流中寻找间隙完成左转。此时状态表示应包含:

  • 自车状态:位置 (x, y)、航向 θ、速度 v(来自 GNSS/IMU/轮速计)
  • 车道结构:当前车道中心线、目标车道中心线、停止线位置(来自高精地图)
  • 动态障碍物:对向直行车辆的实时位置与速度(来自 LiDAR 目标跟踪)
  • 交通信号:红绿灯状态(来自相机识别)

在模仿学习数据采集阶段,我们记录人类驾驶员在上述状态下的操作序列。通过逆强化学习,算法可能发现专家隐含的奖励权重:对向车辆距离的权重为 0.7,自车加速度变化率的权重为 0.2,车道偏离的权重为 0.1。这意味着专家优先考虑安全间隙,其次考虑舒适性,最后才考虑循迹精度。

关键风险:状态表示的不完备性是模仿学习失败的常见原因。例如,如果状态表示中缺少对向车辆的加速度信息,学习到的策略可能无法应对对方急加速的场景。在构建状态空间时,应通过消融实验验证每个状态分量的必要性。

常见误区与总结

  • 误区一:状态表示越丰富越好。高维状态空间会导致逆强化学习的奖励函数陷入局部最优,且需要更多专家演示数据。
  • 误区二:忽略自车历史状态。当前时刻的转向角变化率、速度变化趋势等历史信息对判断驾驶意图至关重要,建议在状态中加入最近 0.5-1 秒的历史轨迹。
  • 误区三:传感器坐标系与车体坐标系混淆。所有感知信息必须统一转换到以车辆后轴中心为原点的车体坐标系,否则会导致规划轨迹的系统性偏差。

2.3 路径规划与控制的层级结构:分层决策框架

核心原理:四层任务分解

自动驾驶的规划控制问题通常被分解为四个层级,每一层负责不同时间尺度与空间范围的决策:

层级名称时间尺度空间范围典型输出
L1任务规划(Route Planning)分钟级全局(公里级)起点到终点的道路序列
L2行为决策(Behavior Decision)秒级局部(百米级)跟车、变道、超车、停车等驾驶模式
L3运动规划(Motion Planning)毫秒-秒级局部(数十米)平滑的路径点序列 + 速度曲线
L4控制执行(Control)毫秒级瞬时转向角、油门、制动指令

在模仿学习与逆强化学习的应用中,L2 行为决策和 L3 运动规划是最常被学习的对象。L1 通常由导航引擎(如 A* 算法)完成,L4 通常由 PID/MPC 完成,这两层较少使用学习方法。

判断方法:确定学习算法的介入层级

选择在哪一层应用模仿学习,取决于专家演示数据的可获取性和奖励函数的可定义性:

  • 行为决策层(L2):适合使用逆强化学习。因为驾驶模式(如“等待间隙”“加速通过”)的偏好可以通过奖励函数中的风险项、效率项来刻画。专家演示数据可通过采集人类驾驶员的换道/跟车行为获得。
  • 运动规划层(L3):适合使用生成式模仿学习(如 GAIL)。因为路径的平滑性、安全性等特征难以显式定义奖励,但可以通过判别器隐式学习。
  • 联合学习(L2+L3):端到端模仿学习直接从传感器输入映射到轨迹输出,但需要海量数据和强大的算力,且可解释性差。

案例拆解:高速匝道汇入场景的分层实现

场景描述:自车以 60 km/h 行驶在匝道上,需要汇入主路车流(主路限速 100 km/h)。

L1 任务规划:导航引擎给出“沿匝道行驶 300m 后汇入主路”的宏观路径。

L2 行为决策:基于主路车流密度和间隙大小,决策模块输出“加速汇入”或“减速等待”。若采用逆强化学习,奖励函数可能定义为:

R = w1 * (1/距离主路车流间隙) + w2 * (自车速度 - 目标速度)^2 + w3 * 碰撞风险指数

通过专家演示数据学习权重 w1, w2, w3,使得策略在“安全”与“效率”之间取得平衡。

L3 运动规划:在行为决策确定“加速汇入”后,运动规划模块生成一条从匝道末端到主路目标车道的平滑曲线,同时规划速度从 60 km/h 平顺提升至 90 km/h。该轨迹需满足运动学约束(最大转向角、最大加速度)。

L4 控制执行:MPC 控制器跟踪规划轨迹,输出前轮转角 δ 和加速度 a,同时补偿路面坡度、侧风等扰动。

分层架构的核心优势:每一层可以独立设计、测试和替换。例如,当需要更新驾驶风格时,只需重新训练 L2 行为决策层,而无需改动 L3/L4 层。这种模块化设计也便于在模仿学习框架中引入课程学习(Curriculum Learning)——先学习简单的直线跟车,再学习复杂的匝道汇入。

常见误区与总结

  • 误区一:层级之间完全解耦。实际上,L2 的决策结果会直接影响 L3 的可行空间。例如,行为决策选择“紧急变道”时,运动规划可能无法在有限时间内生成安全轨迹。因此,层间需要传递“可行性检查”反馈。
  • 误区二:在 L4 控制层使用模仿学习。控制层需要高频(50-100Hz)响应,且对精度要求极高,当前学习方法难以满足实时性和稳定性要求,应继续使用经典控制方法。
  • 误区三:忽视层间延迟。从感知到决策再到控制,每一层都会引入延迟。在模仿学习训练中,应使用“延迟感知”的状态表示,例如在状态中加入 100ms 前的控制指令。

2.4 本章总结:三要素的协同关系