第8章:规划算法 - 从规则到学习
引言
规划算法是自动驾驶系统的"大脑中枢",负责在复杂动态环境中生成安全、舒适、高效的驾驶轨迹。从2016年到2024年,规划算法经历了从纯规则驱动到数据驱动、从确定性算法到概率性推理、从单体智能到多智能体博弈的深刻变革。本章将深入剖析这一演进历程中的关键技术突破、工程实践和未来趋势。
1. 传统规划方法的基石与局限
1.1 基于搜索的规划算法
A*算法在自动驾驶中的应用
A算法作为最经典的图搜索算法,在早期自动驾驶系统中扮演了重要角色。其核心思想是通过启发式函数引导搜索方向,在保证最优性的同时提高搜索效率。从2016年开始,几乎所有主流自动驾驶系统都将A或其变种作为基础规划算法。
A*算法在自动驾驶中的典型应用架构:
┌─────────────────────────────────────────────────┐
│ 环境表征层 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 栅格地图 │ │ 语义地图 │ │ 成本地图 │ │
│ │ 0.1-1.0m │ │ 车道/路口 │ │ 风险评估 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────┐
│ A*搜索引擎 │
│ ┌──────────────────────────────────────┐ │
│ │ f(n) = g(n) + h(n) │ │
│ │ g(n): 起点到n的实际代价 │ │
│ │ h(n): n到终点的启发式估计 │ │
│ │ ε-admissible: f(n) ≤ (1+ε)·f*(n) │ │
│ └──────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────┐
│ 轨迹后处理 │
│ • 路径平滑 (Cubic Spline, Bezier) │
│ • 速度规划 (S-T图优化) │
│ • 碰撞检测与避让 │
│ • 曲率连续性保证 │
└─────────────────────────────────────────────────┘
深度技术剖析:
-
分辨率权衡与自适应策略: - 高分辨率(0.1m):精度高但计算量O(n⁴),适合低速泊车场景(<10km/h) - 中分辨率(0.25m):平衡精度与效率,城市道路主流选择(10-60km/h) - 低分辨率(0.5-1m):计算快O(n²),高速公路场景(>60km/h) - 自适应分辨率(Waymo, 2018):近处密集远处稀疏,计算效率提升3倍
-
启发式函数的演进:
基础启发式:
- 欧氏距离: h(n) = ||n - goal||₂
- 曼哈顿距离: h(n) = |nx-gx| + |ny-gy|
运动学感知启发式:
- Dubins路径: 考虑最小转弯半径
- Reeds-Shepp: 允许倒车的最短路径
高级启发式(2019+):
- 全息成本: h(n) = α·距离 + β·舒适度 + γ·风险
- 学习型启发式: h(n) = Neural_Network(state)
- 实时性优化技术栈:
- Anytime A* (2016-2018主流):
- 初始ε=3.0快速获得可行解
- 渐进收缩ε→1.0逼近最优
- 典型收敛时间:10ms→50ms→100ms
-
D* Lite (动态环境必备):
- 增量式更新,避免全局重搜索
- 仅传播受影响节点,复杂度O(k·log k)
- Uber ATG实践:处理动态障碍物延迟<5ms
-
Hybrid A* (Stanford/Mercedes开创):
- 离散网格搜索+连续空间优化
- 考虑车辆完整运动学模型
- 泊车场景成功率:95%→99.5%
产业化实践案例深度分析:
Apollo早期版本(2.0-3.0)的层次化A*架构:
第一层:道路级规划(10Hz)
├─ 输入:路网拓扑图
├─ 输出:车道序列
└─ 搜索空间:~100节点
第二层:车道级规划(20Hz)
├─ 输入:车道中心线
├─ 输出:粗略轨迹
└─ 搜索空间:~1000节点
第三层:轨迹级优化(50Hz)
├─ 输入:粗略轨迹
├─ 输出:平滑轨迹
└─ 优化维度:位置+速度+加速度
关键性能指标:
- 搜索成功率:99.8%(结构化道路)
- 平均搜索时间:15ms(城市场景)
- 内存占用:<100MB(包含多层地图)
Hybrid A*在Mercedes S-Class (2017)的工程化:
状态空间扩展:
State = [x, y, θ, v, δ]
- (x,y): 2D位置
- θ: 航向角(离散化72个方向)
- v: 速度(离散化10个等级)
- δ: 前轮转角
运动原语设计:
1. 直行: δ=0, 不同速度
2. 左转: δ∈[-δmax, 0), 5个级别
3. 右转: δ∈(0, δmax], 5个级别
4. 倒车: v<0, 用于泊车
碰撞检测优化:
- Swept Volume预计算
- 2D查找表加速
- 检测速度:<0.1ms/查询
Google自动驾驶项目(2014-2016)的分层A*创新:
- 全局A*:高精地图上的拓扑搜索
- 局部A*:100m范围内的精细规划
- 紧急A*:10m范围内的避障专用
- 并行化:3个A*实例并行运行,取最优解
RRT系列算法的演进
快速扩展随机树(RRT)通过随机采样探索配置空间,特别适合高维空间和复杂约束下的规划问题。RRT由LaValle于1998年提出后,迅速成为机器人路径规划的主流方法,并在2010年后广泛应用于自动驾驶领域。
RRT算法家族完整演进图谱:
RRT (LaValle, 1998)
概率完备,非最优
↓
┌───────┴───────┐
↓ ↓
RRT-Connect RRT-GoalBias
(2000) (1999)
双向生长 目标偏置
↓ ↓
Bi-RRT ←────────→ RRT*
(2001) (2010)
双向优化 渐进最优
↓ ↓
RRT*-Smart ←──→ Informed RRT*
(2013) (2014)
路径优化 椭圆采样
↓ ↓
RT-RRT* ←────→ RRT#
(2015) (2015)
实时性 动态重规划
↓ ↓
Batch Informed Trees (BIT*)
(2015) 批量采样优化
↓
Advanced BIT* (ABIT*)
(2020) 自适应采样
深度技术剖析与演进脉络:
- RRT* (2010) - 最优性突破:
核心创新:Near + Rewire
Near邻域定义:
r = γ·(log n / n)^(1/d)
- γ: 常数(通常2×(1+1/d)^(1/d)×μ(Xfree)^(1/d))
- n: 节点数
- d: 空间维度
- μ(Xfree): 自由空间测度
Rewire过程:
for each x_near in Near(x_new, r):
if Cost(x_new) + c(x_new, x_near) < Cost(x_near):
x_near.parent = x_new // 重连线
性能提升:
- 路径质量:提升15-30%
- 收敛速度:O(n log n)
- 内存开销:增加20%
- Informed RRT* (2014) - 搜索空间优化:
椭圆采样原理:
当找到初始解cbest后,限制采样空间为:
{x | ||x-xstart|| + ||x-xgoal|| ≤ cbest}
Tesla AP2.x (2017)实践:
- 初始全空间采样1000个点
- 找到解后椭圆采样
- 路径改进速度提升5倍
- 最终路径长度减少8%
- Kinodynamic RRT* - 动力学约束处理:
状态空间扩展:
x = [px, py, pz, vx, vy, vz, ax, ay, az]
前向积分验证:
x_new = f(x_near, u, Δt)
其中f为车辆动力学模型
控制空间采样:
u ∈ U = {加速度×转向角}
Waymo实践(2018):
- 5维状态空间[x,y,θ,v,ω]
- 2维控制空间[a,δ]
- 积分步长0.1s
- 规划周期10Hz
产业界深度实践案例:
Waymo的分层RRT架构(2017-2019):
三层RRT系统:
┌────────────────────────────────┐
│ 战略层RRT (1Hz) │
│ - 道路网络级别 │
│ - 10km范围 │
│ - 拓扑结构搜索 │
└────────────────────────────────┘
↓
┌────────────────────────────────┐
│ 战术层RRT* (10Hz) │
│ - 车道级别规划 │
│ - 200m范围 │
│ - 考虑动态障碍物 │
└────────────────────────────────┘
↓
┌────────────────────────────────┐
│ 操作层Informed RRT* (20Hz) │
│ - 轨迹级别 │
│ - 50m范围 │
│ - 精确避障 │
└────────────────────────────────┘
并行化策略:
- 8线程并行探索
- Lock-free数据结构
- GPU加速碰撞检测
- 总延迟<50ms
Uber ATG的RRT*优化(2018):
批量扩展优化:
传统:逐点扩展
优化:批量100点同时扩展
SIMD加速:
- AVX2指令集
- 4个节点并行处理
- 碰撞检测加速3.5倍
自适应采样:
if 障碍物密度高:
增加采样密度
减小步长
else:
稀疏采样
增大步长
性能指标:
- 成功率:98.5%
- 平均时间:12ms
- 路径质量:接近最优解的1.1倍
MIT RACECAR项目的RT-RRT*(2016):
实时性保证机制:
1. 任意时间特性:
- 随时可中断
- 返回当前最优解
2. 分支限界:
- 维护解的上界
- 剪枝劣质分支
3. 增量式改进:
while time_available():
improve_solution()
赛车场景性能:
- 速度:120km/h
- 规划频率:50Hz
- 预瞄距离:30m
- 碰撞率:<0.1%
Cruise的Continuous RRT(2020):
- 连续空间直接搜索,避免离散化误差
- 贝塞尔曲线连接,保证曲率连续
- 概率道路图(PRM)预处理加速
- 城市复杂路口成功率:97%
1.2 基于优化的轨迹规划
Lattice Planner的广泛应用
Lattice规划器通过在状态空间中预定义一组可行的运动原语(Motion Primitives),将连续规划问题转化为图搜索问题。这种方法最早由CMU的Ross等人于2008年提出,在DARPA Urban Challenge中大放异彩,随后成为自动驾驶规划的主流方法之一。
Lattice Planner完整技术架构:
状态空间定义:
┌────────────────────────────────────┐
│ State = [x, y, θ, v, a, κ, t] │
│ x,y: 位置(m) θ: 航向(rad) │
│ v: 速度(m/s) a: 加速度(m/s²) │
│ κ: 曲率(1/m) t: 时间戳(s) │
└────────────────────────────────────┘
↓
运动原语生成(离线预计算):
┌────────────────────────────────────┐
│ 前进类(5) 转向类(9) 变道类(6) │
│ ──────→ ╱──────╲ ╱──────── │
│ ═══════► ╱══════╲ ╱════════ │
│ ········► ╱······╲ ╱········ │
└────────────────────────────────────┘
↓
轨迹评估多目标优化:
Cost = w₁·Jsafety + w₂·Jcomfort + w₃·Jefficiency
+ w₄·Jlegality + w₅·Jconsistency
深度技术剖析:
运动原语设计原理:
1. 横向运动原语(Lateral Primitives):
五次多项式:y(s) = a₀ + a₁s + a₂s² + a₃s³ + a₄s⁴ + a₅s⁵
边界条件:
- 起点:[y₀, y'₀, y''₀]
- 终点:[yf, y'f, y''f]
采样策略(Mercedes实践):
- 横向偏移:[-3.5, -1.75, 0, 1.75, 3.5]m
- 纵向距离:[10, 20, 30, 40, 50]m
- 组合数量:5×5 = 25条候选路径
2. 纵向运动原语(Longitudinal Primitives):
四次多项式:v(t) = b₀ + b₁t + b₂t² + b₃t³ + b₄t⁴
约束条件:
- 加速度限制:|a| ≤ 4m/s²
- 加加速度限制:|j| ≤ 2m/s³
- 速度范围:[0, vmax]
速度剖面采样:
- 目标速度:[0, 5, 10, 15, 20, 25, 30]m/s
- 到达时间:[2, 3, 4, 5, 6]s
- 组合数量:7×5 = 35条速度剖面
成本函数设计细节:
1. 安全成本(Jsafety):
- 碰撞风险:exp(-d_obs/σ)
- 道路边界:exp(-d_road/σ)
- 视野盲区:visibility_cost
权重:w₁ = 1000(最高优先级)
2. 舒适度成本(Jcomfort):
- 横向加速度:∫ay²dt
- 纵向加速度:∫ax²dt
- 加加速度:∫jerk²dt
权重:w₂ = 10
3. 效率成本(Jefficiency):
- 行程时间:T_total
- 速度偏差:(v - v_desired)²
- 路径长度:∫ds
权重:w₃ = 1
4. 合规成本(Jlegality):
- 超速罚分:max(0, v - v_limit)²
- 车道偏离:lane_deviation²
- 交规违反:traffic_violation
权重:w₄ = 100
5. 一致性成本(Jconsistency):
- 与上一帧偏差:||traj_new - traj_old||²
- 防止振荡
权重:w₅ = 5
Mercedes-Benz S-Class (2013-2018)的工业级Lattice实践:
系统配置:
├─ 处理器:NVIDIA Drive PX2 (8 TOPS)
├─ 更新频率:50Hz (20ms周期)
├─ 预瞄时间:6秒
└─ 规划距离:150米
性能优化技术:
1. 运动原语缓存:
- 预计算10000+条轨迹
- 存储为查找表(LUT)
- 内存占用:~50MB
2. 并行评估:
- CUDA加速成本计算
- 800条轨迹并行评估
- 计算时间:<5ms
3. 早期剪枝:
- 碰撞检测提前终止
- 分层包围盒(BVH)
- 剪枝率:>70%
实际性能指标:
- 成功率:99.2%(高速公路)
- 舒适度:横向加速度<2m/s²
- 计算延迟:12±3ms
- 紧急避障反应:<100ms
百度Apollo EM Planner深度解析(2018-2020):
┌─────────────────────────────────────────┐
│ EM Planner完整技术栈 │
├─────────────────────────────────────────┤
│ 1. 参考线提供器 (Reference Provider) │
│ 输入:高精地图车道中心线 │
│ 处理: │
│ - 离散点平滑(QP-Spline) │
│ - 曲率连续性保证 │
│ - 多参考线生成(换道场景) │
│ 输出:平滑参考线[s, x(s), y(s), κ(s)]│
├─────────────────────────────────────────┤
│ 2. 决策器 (Decision Maker) │
│ 任务分解: │
│ - 车道决策:保持/左变/右变 │
│ - 障碍物决策:超车/跟随/让行 │
│ - 速度决策:巡航/减速/停止 │
│ 输出:语义化决策序列 │
├─────────────────────────────────────────┤
│ 3. 路径规划器 (Path Planner) │
│ 3.1 DP路径生成: │
│ - SL坐标系采样 │
│ - 横向偏移:[-3, -1.5, 0, 1.5, 3]m│
│ - 纵向步长:[5, 10, 15, 20]m │
│ - 动态规划求解最优路径 │
│ │
│ 3.2 QP路径优化: │
│ min J = ∫[w₁κ² + w₂κ'² + w₃(l-lref)²]ds│
│ s.t. 道路边界约束 │
│ 障碍物避让约束 │
│ 曲率限制约束 │
├─────────────────────────────────────────┤
│ 4. 速度规划器 (Speed Planner) │
│ 4.1 ST图构建: │
│ - 障碍物投影到ST空间 │
│ - 安全走廊生成 │
│ │
│ 4.2 DP速度生成: │
│ - 时间采样:0.1s间隔 │
│ - 速度采样:[-2, -1, 0, 1, 2]m/s增量│
│ │
│ 4.3 QP速度优化: │
│ min J = ∫[w₁a² + w₂j² + w₃(v-vref)²]dt│
│ s.t. 动力学约束 │
│ ST障碍物约束 │
└─────────────────────────────────────────┤
关键创新点:
1. Path-Speed解耦:
- 降低问题维度
- 并行优化可能
- 计算效率提升5倍
2. Frenet坐标系:
- 简化道路跟随
- 自然的横纵向解耦
- 便于约束表达
3. 二次规划求解器:
- OSQP开源求解器
- ADMM算法
- 求解时间<10ms
1.3 数值优化方法
二次规划(QP)在轨迹平滑中的应用
典型QP问题形式:
min J = x^T H x + f^T x
s.t. A_eq · x = b_eq
A_ineq · x ≤ b_ineq
lb ≤ x ≤ ub
在轨迹优化中:
- x: 轨迹控制点
- H: 平滑性权重矩阵
- 约束: 动力学限制、避障、道路边界
小鹏NGP(2020)的QP优化器:
- 使用OSQP求解器
- 分段B样条表示
- 实时求解(<10ms)
非线性优化(NLP)
IPOPT在Apollo中的应用:
- 处理非凸避障约束
- 考虑车辆动力学模型
- 计算时间:20-50ms
1.4 传统方法的根本局限
尽管传统规划方法在确定性环境下表现良好,但面临以下根本性挑战:
- 组合爆炸:多智能体交互场景下状态空间指数增长
- 手工规则局限:难以穷举所有驾驶场景
- 社会规范建模:无法学习隐式驾驶习惯
- 计算复杂度:实时性与最优性的固有矛盾
2. 学习型规划的兴起与突破
2.1 模仿学习(Imitation Learning)演进
行为克隆(Behavior Cloning)的早期探索
NVIDIA DAVE-2 (2016)里程碑:
架构极简但影响深远:
┌─────────────────────────────────┐
│ 输入: 前视摄像头图像 │
│ ↓ │
│ CNN特征提取 │
│ (5 Conv + 3 FC) │
│ ↓ │
│ 输出: 方向盘转角 │
└─────────────────────────────────┘
关键创新:
- 端到端学习,无需手工特征
- 仅用72小时驾驶数据训练
- 泛化到未见过的道路
Waymo ChauffeurNet (2018):
输入表征创新 - Perception Feature Map:
┌────────────────────────────────────┐
│ 通道1: 道路地图 │
│ 通道2: 交通灯状态 │
│ 通道3: 限速信息 │
│ 通道4: 当前路径 │
│ 通道5: 动态障碍物 │
│ 通道6: 历史轨迹 │
└────────────────────────────────────┘
↓
ConvLSTM处理时序
↓
输出未来轨迹点
关键技术突破:
- 合成扰动增强:人工生成困难场景
- 因果混淆缓解:通过dropout随机遮挡
- 闭环仿真评估:不只是开环指标
逆强化学习(Inverse RL)
Berkeley DeepDrive (2017-2019)的Maximum Entropy IRL:
专家轨迹 → 推断奖励函数 → 生成类人轨迹
P(τ) ∝ exp(R(τ))
其中R(τ)通过神经网络学习
优势:
- 学习隐式偏好
- 处理多模态行为
- 更好的分布外泛化
2.2 强化学习在规划中的应用
深度强化学习的突破
特斯拉FSD Beta (2020-2022)的RL组件:
奖励函数设计(推测):
R = -w₁·碰撞风险
-w₂·车道偏离
-w₃·急刹急转
+w₄·行驶进度
+w₅·舒适度分数
训练策略:
1. 离线RL预训练(大规模车队数据)
2. 仿真环境微调
3. 影子模式验证
4. 逐步部署
Waymo规划器中的MCTS+RL (2021):
蒙特卡洛树搜索增强:
根节点
/ \
动作1 动作2
/ \ / \
... ... ... ...
每个节点:
- 状态价值:V(s)由神经网络估计
- 访问次数:N(s,a)
- 选择策略:UCB1公式
离线强化学习的实践
问题:在线RL在自动驾驶中风险太高
解决方案 - Conservative Q-Learning (CQL):
核心思想:对未见过的动作保守估计
Q_CQL = Q_标准 - α·log∑exp(Q(s,a))
a
确保学到的策略不会偏离数据分布太远
Momenta (2021)的离线RL实践:
- 10亿帧历史驾驶数据
- CQL + IQL混合训练
- 泛化到新城市成功率85%+
2.3 混合方法的工程实践
规则引导的学习规划
小鹏XNGP (2023)架构:
┌─────────────────────────────────┐
│ 场景识别器(Transformer) │
│ 识别当前驾驶场景类型 │
└─────────────────────────────────┘
↓
┌──────┴──────┐
↓ ↓
┌─────────┐ ┌─────────┐
│规则规划器│ │神经规划器│
│(紧急情况)│ │(常规驾驶)│
└─────────┘ └─────────┘
↓ ↓
└──────┬──────┘
↓
┌───────────────┐
│ 安全检查器 │
│ 硬约束验证 │
└───────────────┘
华为ADS 2.0 (2023)的分层决策:
- 高层策略网络:选择驾驶意图
- 中层战术规划:生成参考轨迹
- 底层轨迹优化:考虑动力学约束
数据驱动与模型驱动的结合
Apollo 7.0 (2022) PNC-Net:
输入编码:
┌──────────────────────────┐
│ 栅格化BEV特征图 │
│ + 矢量化道路拓扑 │
│ + 智能体历史轨迹 │
└──────────────────────────┘
↓
Transformer编码器
↓
┌──────────────────────────┐
│ 输出1: 轨迹提议(学习) │
│ 输出2: 成本地图(学习) │
└──────────────────────────┘
↓
传统优化器精修
2.4 数据效率与泛化性挑战
数据增强技术
几何增强:
- 轨迹扰动:添加高斯噪声
- 时间扭曲:改变速度剖面
- 空间变换:镜像、旋转
对抗生成:
# 伪代码示例
adversarial_scene = baseline_scene
for step in range(max_steps):
gradient = compute_difficulty_gradient(scene)
adversarial_scene += ε * gradient
if safety_violated(adversarial_scene):
break
场景重组:
- 从不同场景提取智能体
- 组合成新的交互场景
- 保持物理合理性
元学习与快速适应
MAML在规划中的应用(Stanford, 2020):
元训练:
for task in tasks:
θ' = θ - α∇L_task(θ) # 内循环
meta_loss += L_task(θ')
θ = θ - β∇meta_loss # 外循环
效果:
- 新城市3小时数据即可适应
- 相比从头训练提升10倍效率
3. 轨迹预测与交互式规划
3.1 多智能体行为预测
从独立预测到联合预测
早期方法(2016-2018) - 独立预测:
每个智能体独立建模:
Agent_i → LSTM/GRU → Future_trajectory_i
问题:
- 忽略交互
- 预测冲突
- 累积误差
Social LSTM/GAN (2018-2020):
社交池化机制:
┌─────────────────────────────┐
│ Agent_1 ─→ LSTM_1 ←─┐ │
│ ↓ │
│ Agent_2 ─→ LSTM_2 ← Pool │
│ ↑ │
│ Agent_3 ─→ LSTM_3 ←─┘ │
└─────────────────────────────┘
创新:
- 隐状态共享
- 空间关系编码
- 生成多模态预测
VectorNet (2020, Waymo):
矢量化表示:
道路元素 → 折线段 → 子图编码
智能体轨迹 → 折线段 → 子图编码
↓
全局交互图
↓
GNN消息传递
↓
多模态轨迹输出
关键优势:
- 处理不规则道路拓扑
- 长程依赖建模
- 计算效率高
Scene Transformer架构演进
Waymo (2021) Scene Transformer:
输入token化:
┌──────────────────────────────────┐
│ 时间步1: [Agent₁, Agent₂, ...] │
│ 时间步2: [Agent₁, Agent₂, ...] │
│ ... │
└──────────────────────────────────┘
↓
Factorized Attention:
1. 时间自注意力(per agent)
2. 空间自注意力(per timestep)
3. 全局自注意力
↓
联合轨迹分布
性能提升:
- minADE: 降低30%
- 碰撞率:降低50%
- 推理速度:40ms@8agents
Tesla FSD V11 (2022)的预测架构(推测):
多尺度时空Transformer:
┌─────────────────────────────┐
│ 短程预测头(0-2s) │
│ - 高频更新 │
│ - 细粒度轨迹 │
├─────────────────────────────┤
│ 中程预测头(2-5s) │
│ - 意图识别 │
│ - 交互建模 │
├─────────────────────────────┤
│ 长程预测头(5-10s) │
│ - 目标推断 │
│ - 粗粒度路径 │
└─────────────────────────────┘
3.2 博弈论方法在规划中的应用
多智能体博弈建模
Level-K推理模型:
Level-0: 随机/反应式行为
Level-1: 假设他人是Level-0,最优响应
Level-2: 假设他人是Level-1,最优响应
...
实际应用(Uber ATG, 2019):
- 大部分驾驶员: Level-1到Level-2
- 激进驾驶员: Level-0
- 谨慎驾驶员: Level-3
逆向归纳(Backward Induction):
游戏树示例 - 并线场景:
自车并线?
/ \
并线 不并线
/ \ |
让行 不让 继续直行
| | |
成功 碰撞 保持现状
通过逆向推理计算纳什均衡
社会价值取向(SVO)建模
MIT (2020)的SVO-based Planning:
SVO角度分布:
利他 ←──────────→ 利己
-45° 0° 45°
驾驶员分类:
- 合作型(60%): SVO ∈ [-22.5°, 22.5°]
- 利己型(30%): SVO ∈ [22.5°, 45°]
- 竞争型(10%): SVO > 45°
规划策略:
根据估计的SVO调整自车行为激进度
3.3 交互感知规划
条件预测与规划耦合
Joint Prediction and Planning (JPP):
传统解耦方式:
预测 → 规划 (单向)
JPP耦合方式:
┌─────────────────────┐
│ 预测 ←→ 规划 │
│ 相互影响,迭代优化 │
└─────────────────────┘
实现方式:
for iteration in range(K):
他车轨迹 = 预测(自车规划)
自车规划 = 优化(他车轨迹)
INTERACTION Dataset挑战赛优胜方案(2022):
- 显式建模意图:左转/直行/右转
- 条件VAE生成多样化轨迹
- 社交力模型约束
可解释的交互规划
Waymo的可解释框架(2023):
交互图构建:
节点:智能体
边:潜在交互
边权重类型:
- 空间邻近度
- 速度相关性
- 历史交互模式
- 意图相似度
可视化输出:
┌────────────────────────┐
│ "Agent2正在让行" │
│ "Agent3可能抢道" │
│ "建议减速避让" │
└────────────────────────┘
3.4 规划中的不确定性处理
概率规划方法
置信度传播:
不确定性来源:
1. 感知不确定性 ±0.2m
2. 预测不确定性 ±1.0m@3s
3. 控制不确定性 ±0.1m
传播方式:
蒙特卡洛采样 or 高斯传播
风险感知规划指标:
CVaR (Conditional Value at Risk):
不考虑最坏5%情况下的平均风险
应用:
轨迹评分 = α·期望收益 - β·CVaR风险
4. 产业实践对比分析
4.1 主要厂商技术路线对比
| 厂商 | 规划架构 | 核心技术 | 数据规模 | 部署状态 |
| 厂商 | 规划架构 | 核心技术 | 数据规模 | 部署状态 |
|---|---|---|---|---|
| Tesla FSD | 端到端神经网络 | Transformer+占据网络 | 100亿英里 | 北美40万+用户 |
| Waymo | 混合架构 | 行为预测+优化 | 2000万英里路测 | 4城市Robotaxi |
| 小鹏XNGP | 模块化+学习 | BEV+轻地图 | 10亿公里 | 全国推送 |
| 华为ADS | 分层决策 | GOD网络+规则 | 未公开 | 问界/极狐量产 |
| Momenta | 双线并行 | 数据驱动闭环 | 数亿公里 | L2量产+L4测试 |
| Apollo | 开源模块化 | EM Planner | 1亿公里仿真 | Robotaxi试运营 |
4.2 关键技术演进时间线
2016 ├─ 纯规则规划主导
│ A*, RRT, 多项式轨迹
│
2017 ├─ 行为克隆初探
│ NVIDIA DAVE-2影响力扩散
│
2018 ├─ 模仿学习改进
│ ChauffeurNet展示潜力
│
2019 ├─ 预测规划分离成熟
│ Social LSTM/GAN兴起
│
2020 ├─ 图神经网络应用
│ VectorNet矢量化表示
│
2021 ├─ Transformer渗透
│ Scene Transformer联合预测
│
2022 ├─ 混合架构成主流
│ 学习+优化结合
│
2023 ├─ 端到端规划爆发
│ FSD V12纯神经网络
│
2024 ├─ 世界模型探索
└─ 生成式规划研究
4.3 技术挑战与解决方案矩阵
| 挑战 | 传统方法 | 学习方法 | 混合方案 |
| 挑战 | 传统方法 | 学习方法 | 混合方案 |
|---|---|---|---|
| 长尾场景 | ❌ 规则难穷举 | ⚠️ 数据稀疏 | ✅ 规则兜底+学习泛化 |
| 实时性 | ⚠️ 复杂度高 | ✅ 前向推理快 | ✅ 分层决策 |
| 可解释性 | ✅ 逻辑清晰 | ❌ 黑盒 | ⚠️ 部分可解释 |
| 安全保证 | ✅ 形式化验证 | ❌ 概率保证 | ⚠️ 安全边界约束 |
| 数据需求 | ✅ 无需数据 | ❌ 海量数据 | ⚠️ 中等规模 |
4.4 中国特色场景的规划挑战
复杂交通流处理
中国城市道路特点:
挑战场景分布:
├─ 非机动车混行 (35%)
├─ 行人横穿 (25%)
├─ 外卖/快递穿插 (20%)
├─ 违章车辆 (15%)
└─ 施工/事故 (5%)
应对策略:
1. 多模态意图识别
2. 保守型安全边界
3. 社会规范学习
小鹏XNGP城市场景处理:
- 特殊目标识别:外卖车、三轮车
- 中国式加塞处理:渐进式让行
- 无保护左转:爬行策略
高密度交互场景
华为ADS 2.0的解决方案:
时空联合规划:
┌─────────────────────────┐
│ 空间维度:多车道选择 │
│ 时间维度:加减速时机 │
│ 交互维度:博弈预测 │
└─────────────────────────┘
↓
4D成本地图优化
↓
最优时空轨迹
4.5 算力与实时性权衡
边缘计算约束
典型算力预算分配:
总算力: 100-200 TOPS
├─ 感知: 40-50%
├─ 预测: 20-25%
├─ 规划: 20-25%
└─ 控制: 5-10%
规划模块细分:
├─ 行为决策: 5 TOPS
├─ 轨迹生成: 10 TOPS
├─ 安全检查: 5 TOPS
└─ 备份方案: 5 TOPS
优化策略:
- 模型量化:FP32→INT8,性能损失<1%
- 稀疏化:剪枝70%参数,速度提升3x
- 分级调度:关键路径10Hz,次要路径2Hz
- 区域裁剪:只处理相关区域
4.6 数据闭环最佳实践
Tesla的数据飞轮
数据收集 → 自动标注 → 模型训练 → 影子模式
↑ ↓
└──────── 触发条件 ←───────────┘
触发条件示例:
- 人工接管
- 预测误差>阈值
- 新场景检测
- 不确定性高
国内厂商的数据策略
小鹏汽车:
- 用户授权后收集
- 脱敏处理
- 仿真重建训练
理想汽车:
- 场景挖掘系统
- 自动化标注流水线
- 增量学习部署
5. 未来技术趋势展望
5.1 大语言模型驱动的规划
GPT-4V/Claude在规划中的探索
LLM辅助规划架构:
┌──────────────────────────┐
│ 场景理解(VLM) │
│ "前方施工,建议变道" │
└──────────────────────────┘
↓
┌──────────────────────────┐
│ 常识推理(LLM) │
│ 交通规则+社会规范 │
└──────────────────────────┘
↓
┌──────────────────────────┐
│ 规划决策生成 │
│ 自然语言→结构化指令 │
└──────────────────────────┘
DriveGPT (毫末智行, 2023):
- 120亿参数视觉语言模型
- 场景理解+决策解释
- 4000万公里数据训练
5.2 世界模型与想象力规划
预测未来的生成模型
GAIA-1 (Wayve, 2023):
输入: 历史视频+动作
↓
世界模型(扩散模型)
↓
输出: 未来场景视频
应用:
1. 反事实推理
2. 闭环评估
3. 场景生成
UniSim (Waabi, 2023):
- 神经场景表示
- 可控场景生成
- 物理真实渲染
5.3 端到端规划的极限探索
纯神经网络规划的边界
优势:
- 无需手工设计
- 持续改进
- 处理复杂交互
挑战:
- 安全认证困难
- 极端场景泛化
- 法规合规性
混合架构的长期主导
预期演进路径:
2024: 70%规则 + 30%学习
2025: 50%规则 + 50%学习
2026: 30%规则 + 70%学习
2027+: 动态自适应比例
5.4 规划系统的形式化验证
安全性证明方法
形式化方法应用:
模型检查:
规划器 → 抽象模型 → 性质验证
↓
安全性证明/反例
符号执行:
探索所有可能路径
证明无碰撞/死锁
ISO 26262/21448合规:
- ASIL-D级别要求
- SOTIF安全分析
- 失效模式分析
6. 关键经验总结
6.1 工程实践要点
-
分层架构设计 - 战略层:路线规划 - 战术层:行为决策
- 操作层:轨迹生成 -
冗余安全设计 - 主规划器+备份规划器 - 规则兜底保证 - 紧急制动系统
-
实时性优化 - 异步并行架构 - 增量式计算 - 自适应降级策略
6.2 数据驱动最佳实践
-
场景挖掘 - 自动发现corner case - 主动学习策略 - 困难样本重采样
-
仿真验证 - 蒙特卡洛测试 - 对抗场景生成 - 回归测试自动化
-
持续优化 - A/B测试框架 - 指标体系设计 - 用户反馈闭环
6.3 技术选型建议
| 场景 | 推荐方案 | 原因 |
| 场景 | 推荐方案 | 原因 |
|---|---|---|
| L2高速 | Lattice+优化 | 成熟可靠 |
| L2城市 | 混合学习 | 平衡复杂度 |
| L4限定区域 | 模块化+冗余 | 安全优先 |
| 泊车 | 端到端 | 场景受限 |
结语
规划算法作为自动驾驶的核心决策模块,正在经历从规则驱动到数据驱动的深刻变革。传统方法提供了坚实的理论基础和安全保证,而学习方法展现了处理复杂交互和长尾场景的巨大潜力。
未来的规划系统将是混合智能的集大成者:既有规则的确定性,又有学习的灵活性;既能处理日常驾驶,又能应对极端情况。随着算力提升、数据积累和算法创新,规划系统将越来越接近人类驾驶员的决策水平,最终实现真正的自主驾驶。
从2016年的规则主导到2024年的端到端浪潮,规划算法的演进见证了人工智能技术在实际工程中的落地过程。这不仅是技术的进步,更是对复杂现实世界建模能力的提升。下一个突破或许来自世界模型、或许来自更强大的基础模型,但可以确定的是,规划算法仍将是自动驾驶技术竞争的核心战场。