1 引言:控制模块的角色

在自动驾驶经典 pipeline 中,控制模块位于规划之后、执行之前

waypoints+//

控制器的任务:将规划器输出的参考轨迹转化为物理执行器信号,让车辆精确跟踪参考路径。

在端到端范式中,控制角色发生了根本性转变:

  • 传统:控制是独立模块,负责底层执行
  • 端到端:许多模型直接从感知输出 waypoints(跳过显式控制器)
  • 混合:waypoints + 轻量级控制器

2 车辆运动学模型

2.1 自行车模型(Bicycle Model)

自行车模型是自动驾驶控制中最基础、最广泛使用的车辆简化模型。它将四轮车辆简化为两轮(前后各一个轮子),忽略了车辆的横向载荷转移和悬架动力学。

2.1.1 运动学自行车模型

假设

  • 车辆在平面内运动
  • 轮胎无侧滑(速度方向 = 轮胎朝向)
  • 低速场景(< 5 m/s)下精度良好

状态表示

---xθvδ,::::y[:x,y,θ,v,δ]

状态更新方程

xyθ___{{{ttt+++111}}}===xyθ___ttt+++vv··/Lcs)oisn·((θθt__attn))(δ··_tdd)tt·dt

其中 L 为轴距(前后轮距)。

控制输入:加速度 a(控制速度) + 前轮转角 δ(控制转向)

2.1.2 动力学自行车模型

拓展:引入轮胎侧偏角、横摆角速度、侧向力等物理量。

额外状态

βr==adrθc/tdatn(tan(δ)·l_r/L)

状态更新方程(简化版):

xyθvṙ̇̇̇̇=====vvra(l··_fcsoi·sn((Fθθ_y++fββ-))l_r·F_yr)/I_z

其中:

  • 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 轨迹点状态向量

一个典型的轨迹点包含以下维度:

状态量符号单位含义
横向位置xm全局坐标系 x 坐标
纵向位置ym全局坐标系 y 坐标
航向角θrad车头朝向与 x 轴夹角
速度vm/s纵向速度
加速度am/s²纵向加速度
加加速度jerkm/s³加速度的变化率(舒适度指标)

3.2 Frenet 坐标系下的状态

在 Frenet 坐标系下,状态表示为:

sdsd̈̈======沿ddsddd//²²线线ddsdtt//dd==tt²²==

Frenet 坐标的优势:

  • 道路约束天然表达(d 范围 = [-车道半宽, 车道半宽])
  • 纵向和横向控制解耦(可分别控制速度和转向)
  • 路径曲率信息被参考线吸收(不需要在每个点计算)

3.3 高级状态

对于更精细的控制,还可以包含:

状态量含义用途
ϕ横摆角(yaw rate)动力学控制
β质心侧偏角稳定性控制
κ轨迹曲率前馈控制
dϕ/dt横摆角速度ESP 系统
轮胎滑移率 λ轮胎打滑程度牵引力控制

4 经典控制方法

4.1 PID 控制

原理:基于误差的比例、积分、微分三项组合控制。

u(t)=K_p·e(t)+K_i·e(t)dt+K_d·de(t)/dt

在自动驾驶中的应用

用途控制量被控量
车速控制油门/刹车速度误差
横向控制方向盘转角航向误差 / 横向偏移误差
跟车控制油门/刹车车距误差

PID 优缺点

优势劣势
实现简单,不需要模型无预见性,急弯性能差
计算量极小参数整定依赖经验
鲁棒性好无法处理时滞系统

实际经验:自动驾驶中 PID 通常用于纵向控制(速度环),横向控制更多使用 LQR 或 MPC。

4.2 LQR(线性二次型调节器)

原理:在满足线性动力学假设下,通过最小化二次型代价函数求取最优控制律。

代价函数

J=Σ(x_t'·Q·x_t+u_t'·R·u_t)
  • Q:状态误差权重矩阵(大 Q = 强跟踪)
  • R:控制代价权重矩阵(大 R = 小控制量)

Riccati 方程

P=A'PA-A'PB(B'PB+R)¹B'PA+Q

通过离线求解 Riccati 方程得到 P,再计算最优反馈增益 K。

LQR 的优点

  • 闭式解,推理极快
  • 在高速环境下表现优秀
  • 理论基础完善(稳定性、鲁棒性证明)

LQR 的不足

  • 无法处理约束(如转向极限、加速度极限)
  • 模型线性假设在高动态场景下不成立

4.3 MPC(模型预测控制)

原理:在有限时域内在线求解带约束的最优控制问题。

数学表述

msi.nt.Σx__ux{{__kkmm=+ii01nn}}^{=Nux}f__(kk(xx__kk,ux__-umm_aaxkxx_)ref_k)'Q(x_k-x_ref_k)+u_k'Ru_k

滚动时域机制

  1. 在当前时刻 t,求解 N 步最优控制序列
  2. 只执行第一步控制量 u_t
  3. 在 t+1 时刻重新求解
特性LQRMPC
是否在线求解否(离线算好增益)是(每步在线优化)
约束处理不支持天然支持
计算量极低较高(需求解 QP)
预见能力有(可看未来 N 步)
非线性不适用可用(用非线性 MPC)

MPC 在自动驾驶中典型用途

  • 路径跟踪控制器
  • 自主泊车
  • 避障轨迹优化
  • 编队控制

5 轨迹跟踪算法

5.1 Pure Pursuit(纯追踪法)

几何方法:基于车辆与目标点的几何关系计算转向角。

δ(t)=arctan(2·L·sin(α(t))/l_d)
  • L:轴距
  • l_d:前视距离(lookahead distance)
  • α:车辆航向与目标点方向的夹角

前视距离的选择

  • l_d 太小 → 震荡、不稳定
  • l_d 太大 → 切弯、响应慢
  • 自适应:l_d = k · v(速度越大,看得越远)

特点

  • 实现极为简单
  • 对曲率变化不敏感
  • 低速下效果好,高速精度不足

5.2 Stanley 方法

斯坦福大学提出,参加 DARPA 挑战赛

δ(t)=θ_e(t)+arctan(k·d_e(t)(t))
  • θ_e:航向误差
  • d_e:横向偏移误差
  • k:增益参数

Stanley 的特点

  • 比 Pure Pursuit 跟踪精度高
  • 天然包含航向和横向两个误差项
  • 在平滑道路上表现优秀
  • 急弯处可能出现震荡

5.3 MPC 跟踪

将轨迹跟踪建模为带约束的优化问题:

msi.nt.Σ(y(t)-y_ref(t))'·Q·(y(t)-y_ref(t))

优势最大:可以同时处理跟踪、避障、动力学约束。

关键参数

  • 预测时域 N:1030 步(每步 0.1s → 13 秒))
  • 控制时域 M:通常 M ≤ N

5.4 三种跟踪方法对比

方法精度计算量约束处理高速性能
Pure Pursuit极低
Stanley
MPC支持

6 车辆动力学中的关键物理

6.1 轮胎模型

Pacejka 魔术公式

F_y=D·sin(C·arctan(B·α-E·(B·α-arctan(B·α))))
  • α:轮胎侧偏角
  • B, C, D, E:经验参数(不同的轮胎有不同的参数集)

简化线性模型(小侧偏角假设):

F_y=C_α·α

C_α 为轮胎侧偏刚度。

6.2 侧偏角与不足转向

侧偏角:轮胎实际运动方向与轮胎朝向之间的夹角。

不足转向(Understeer):

  • 前轮侧偏角 > 后轮侧偏角
  • 车辆转弯半径 > 方向盘角对应的半径
  • “推头”——车头指向弯道外侧

过度转向(Oversteer):

  • 后轮侧偏角 > 前轮侧偏角
  • 车辆转弯半径 < 方向盘角对应的半径
  • “甩尾”——车尾指向弯道外侧

稳定性因素 K

K=m/L²·(b/C_αf-a/C_αr)
  • K > 0:不足转向(稳定)
  • K = 0:中性转向
  • K < 0:过度转向(不稳定)

横向加速度约束

a_y_maxμ·g
  • μ:路面附着系数(干沥青 0.81.0,湿路面 0.30.5,冰雪 0.1~0.2)
  • g:重力加速度

7 端到端中的控制角色转变

7.1 传统方式

(x,y,θ,(PID/LQR/MPC)//

7.2 端到端方式

大多数端到端驾驶论文跳过显式控制器,直接从网络输出 waypoints:

waypoints(x,y,t)

为什么可以跳过控制器?

原因说明
数据驱动的隐式建模专家轨迹中天然包含了车辆动力学
控制不是核心问题学术界更关注感知和决策,控制是工程问题
端到端的美学尽量减少人工设计的模块

7.3 Action Chunking(动作块预测)

VLA 论文中常见的做法:不预测单个下一步动作,而是预测未来 T 步的完整动作序列

[waypoint_1,waypoint_2,.,waypoint_T]

为什么是"chunk"而不是"step"

单步预测动作块预测
只预测下一步预测未来 T 步
需要每一步重新推理一次推理多个未来帧
可能导致短视行为能考虑长期后果
系统延迟敏感对延迟更鲁棒

典型 chunk 长度:1030 个 waypoints(对应 13 秒,每步 0.1s)

7.4 从 Waypoints 到控制信号

即使端到端网络输出了 waypoints,实际车辆仍然需要底层的油门/刹车/转向映射:

Waypoints/PID()/

常用映射规则:

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"替代显式控制器,控制模块从核心模块转变为可选轻量组件。