1 引言:控制模块的角色
在自动驾驶经典 pipeline 中,控制模块位于规划之后、执行之前:
控制器的任务:将规划器输出的参考轨迹转化为物理执行器信号,让车辆精确跟踪参考路径。
在端到端范式中,控制角色发生了根本性转变:
- 传统:控制是独立模块,负责底层执行
- 端到端:许多模型直接从感知输出 waypoints(跳过显式控制器)
- 混合:waypoints + 轻量级控制器
2 车辆运动学模型
2.1 自行车模型(Bicycle Model)
自行车模型是自动驾驶控制中最基础、最广泛使用的车辆简化模型。它将四轮车辆简化为两轮(前后各一个轮子),忽略了车辆的横向载荷转移和悬架动力学。
2.1.1 运动学自行车模型
假设:
- 车辆在平面内运动
- 轮胎无侧滑(速度方向 = 轮胎朝向)
- 低速场景(< 5 m/s)下精度良好
状态表示:
状态更新方程:
其中 L 为轴距(前后轮距)。
控制输入:加速度 a(控制速度) + 前轮转角 δ(控制转向)
2.1.2 动力学自行车模型
拓展:引入轮胎侧偏角、横摆角速度、侧向力等物理量。
额外状态:
状态更新方程(简化版):
其中:
- F_yf, F_yr: 前后轮胎侧向力
- l_f, l_r: 质心到前后轴距离
- I_z: 绕 z 轴转动惯量
2.2 运动学 vs 动力学模型对比
| 维度 | 运动学模型 | 动力学模型 |
|---|---|---|
| 假设 | 轮胎无侧滑 | 考虑轮胎侧偏 |
| 适用速度 | 低速(< 5 m/s) | 中高速(5~40 m/s) |
| 状态维度 | 4~5 维 | 6~8 维 |
| 精度 | 低速时高 | 全速域高 |
| 计算复杂度 | 极低 | 中等 |
| 控制难度 | 易 | 难(参数多) |
实践建议:自动泊车用运动学模型,高速巡航用动力学模型,城市道路用两者混合。
3 状态表示详解
3.1 轨迹点状态向量
一个典型的轨迹点包含以下维度:
| 状态量 | 符号 | 单位 | 含义 |
|---|---|---|---|
| 横向位置 | x | m | 全局坐标系 x 坐标 |
| 纵向位置 | y | m | 全局坐标系 y 坐标 |
| 航向角 | θ | rad | 车头朝向与 x 轴夹角 |
| 速度 | v | m/s | 纵向速度 |
| 加速度 | a | m/s² | 纵向加速度 |
| 加加速度 | jerk | m/s³ | 加速度的变化率(舒适度指标) |
3.2 Frenet 坐标系下的状态
在 Frenet 坐标系下,状态表示为:
Frenet 坐标的优势:
- 道路约束天然表达(d 范围 = [-车道半宽, 车道半宽])
- 纵向和横向控制解耦(可分别控制速度和转向)
- 路径曲率信息被参考线吸收(不需要在每个点计算)
3.3 高级状态
对于更精细的控制,还可以包含:
| 状态量 | 含义 | 用途 |
|---|---|---|
| ϕ | 横摆角(yaw rate) | 动力学控制 |
| β | 质心侧偏角 | 稳定性控制 |
| κ | 轨迹曲率 | 前馈控制 |
| dϕ/dt | 横摆角速度 | ESP 系统 |
| 轮胎滑移率 λ | 轮胎打滑程度 | 牵引力控制 |
4 经典控制方法
4.1 PID 控制
原理:基于误差的比例、积分、微分三项组合控制。
在自动驾驶中的应用:
| 用途 | 控制量 | 被控量 |
|---|---|---|
| 车速控制 | 油门/刹车 | 速度误差 |
| 横向控制 | 方向盘转角 | 航向误差 / 横向偏移误差 |
| 跟车控制 | 油门/刹车 | 车距误差 |
PID 优缺点:
| 优势 | 劣势 |
|---|---|
| 实现简单,不需要模型 | 无预见性,急弯性能差 |
| 计算量极小 | 参数整定依赖经验 |
| 鲁棒性好 | 无法处理时滞系统 |
实际经验:自动驾驶中 PID 通常用于纵向控制(速度环),横向控制更多使用 LQR 或 MPC。
4.2 LQR(线性二次型调节器)
原理:在满足线性动力学假设下,通过最小化二次型代价函数求取最优控制律。
代价函数:
- Q:状态误差权重矩阵(大 Q = 强跟踪)
- R:控制代价权重矩阵(大 R = 小控制量)
Riccati 方程:
通过离线求解 Riccati 方程得到 P,再计算最优反馈增益 K。
LQR 的优点:
- 闭式解,推理极快
- 在高速环境下表现优秀
- 理论基础完善(稳定性、鲁棒性证明)
LQR 的不足:
- 无法处理约束(如转向极限、加速度极限)
- 模型线性假设在高动态场景下不成立
4.3 MPC(模型预测控制)
原理:在有限时域内在线求解带约束的最优控制问题。
数学表述:
滚动时域机制:
- 在当前时刻 t,求解 N 步最优控制序列
- 只执行第一步控制量 u_t
- 在 t+1 时刻重新求解
| 特性 | LQR | MPC |
|---|---|---|
| 是否在线求解 | 否(离线算好增益) | 是(每步在线优化) |
| 约束处理 | 不支持 | 天然支持 |
| 计算量 | 极低 | 较高(需求解 QP) |
| 预见能力 | 无 | 有(可看未来 N 步) |
| 非线性 | 不适用 | 可用(用非线性 MPC) |
MPC 在自动驾驶中典型用途:
- 路径跟踪控制器
- 自主泊车
- 避障轨迹优化
- 编队控制
5 轨迹跟踪算法
5.1 Pure Pursuit(纯追踪法)
几何方法:基于车辆与目标点的几何关系计算转向角。
- L:轴距
- l_d:前视距离(lookahead distance)
- α:车辆航向与目标点方向的夹角
前视距离的选择:
- l_d 太小 → 震荡、不稳定
- l_d 太大 → 切弯、响应慢
- 自适应:l_d = k · v(速度越大,看得越远)
特点:
- 实现极为简单
- 对曲率变化不敏感
- 低速下效果好,高速精度不足
5.2 Stanley 方法
斯坦福大学提出,参加 DARPA 挑战赛。
- θ_e:航向误差
- d_e:横向偏移误差
- k:增益参数
Stanley 的特点:
- 比 Pure Pursuit 跟踪精度高
- 天然包含航向和横向两个误差项
- 在平滑道路上表现优秀
- 急弯处可能出现震荡
5.3 MPC 跟踪
将轨迹跟踪建模为带约束的优化问题:
优势最大:可以同时处理跟踪、避障、动力学约束。
关键参数:
- 预测时域 N:10
30 步(每步 0.1s → 13 秒)) - 控制时域 M:通常 M ≤ N
5.4 三种跟踪方法对比
| 方法 | 精度 | 计算量 | 约束处理 | 高速性能 |
|---|---|---|---|---|
| Pure Pursuit | 低 | 极低 | 否 | 差 |
| Stanley | 中 | 低 | 否 | 中 |
| MPC | 高 | 高 | 支持 | 好 |
6 车辆动力学中的关键物理
6.1 轮胎模型
Pacejka 魔术公式:
- α:轮胎侧偏角
- B, C, D, E:经验参数(不同的轮胎有不同的参数集)
简化线性模型(小侧偏角假设):
C_α 为轮胎侧偏刚度。
6.2 侧偏角与不足转向
侧偏角:轮胎实际运动方向与轮胎朝向之间的夹角。
不足转向(Understeer):
- 前轮侧偏角 > 后轮侧偏角
- 车辆转弯半径 > 方向盘角对应的半径
- “推头”——车头指向弯道外侧
过度转向(Oversteer):
- 后轮侧偏角 > 前轮侧偏角
- 车辆转弯半径 < 方向盘角对应的半径
- “甩尾”——车尾指向弯道外侧
稳定性因素 K:
- K > 0:不足转向(稳定)
- K = 0:中性转向
- K < 0:过度转向(不稳定)
横向加速度约束:
- μ:路面附着系数(干沥青 0.8
1.0,湿路面 0.30.5,冰雪 0.1~0.2) - g:重力加速度
7 端到端中的控制角色转变
7.1 传统方式
7.2 端到端方式
大多数端到端驾驶论文跳过显式控制器,直接从网络输出 waypoints:
为什么可以跳过控制器?
| 原因 | 说明 |
|---|---|
| 数据驱动的隐式建模 | 专家轨迹中天然包含了车辆动力学 |
| 控制不是核心问题 | 学术界更关注感知和决策,控制是工程问题 |
| 端到端的美学 | 尽量减少人工设计的模块 |
7.3 Action Chunking(动作块预测)
VLA 论文中常见的做法:不预测单个下一步动作,而是预测未来 T 步的完整动作序列。
为什么是"chunk"而不是"step":
| 单步预测 | 动作块预测 |
|---|---|
| 只预测下一步 | 预测未来 T 步 |
| 需要每一步重新推理 | 一次推理多个未来帧 |
| 可能导致短视行为 | 能考虑长期后果 |
| 系统延迟敏感 | 对延迟更鲁棒 |
典型 chunk 长度:1030 个 waypoints(对应 13 秒,每步 0.1s)
7.4 从 Waypoints 到控制信号
即使端到端网络输出了 waypoints,实际车辆仍然需要底层的油门/刹车/转向映射:
常用映射规则:
| Waypoints 包含 | 后续处理 |
|---|---|
| (x, y) 平面点 | 需要转成速度、曲率 |
| (x, y, θ) | 曲率可直接计算 |
| (x, y, θ, v) | 速度已知,曲率已知,控制最简单 |
| (v, δ) 直接控制量 | 最细粒度,但需要确保平滑 |
7.5 为什么不是所有论文都用 MPC
| 理由 | 解释 |
|---|---|
| 复杂性 | MPC 需要精确的动力学模型和在线优化 |
| 端到端一致性 | 如果网络已经输出了好轨迹,再加 MPC 可能画蛇添足 |
| 研究焦点 | 论文侧重新架构、新学习范式,而不是底层控制 |
| GPU vs CPU | 网络在 GPU 上推理,MPC 在 CPU 上求解,跨设备通信开销 |
8 总结
| 维度 | 要点 |
|---|---|
| 运动学模型 | 自行车模型(低速用运动学,高速用动力学) |
| 状态表示 | [x, y, θ, v, a, jerk] 6 维标准,Frenet 坐标解耦控制 |
| 控制算法 | PID(简单快速)、LQR(无约束最优)、MPC(约束最优) |
| 轨迹跟踪 | Pure Pursuit(几何)、Stanley(横向+航向)、MPC(全能) |
| 车辆动力学 | 轮胎模型、侧偏角、不足/过度转向 |
| 端到端角色 | 大多数论文跳控制器直接输出 waypoints |
| Action Chunking | 一次预测多步 waypoints,更鲁棒、更远视 |
| 落地现实 | waypoints → 轻量 PID 控制器 → 油门/刹车/转向 |
一句话总结:控制是将规划意图转化为车辆执行的关键桥梁,经典控制理论成熟可靠,但端到端自动驾驶正逐步用"直接输出 waypoints"替代显式控制器,控制模块从核心模块转变为可选轻量组件。