决策 (Decision Making)
1. 开篇介绍
决策系统是自动驾驶的"大脑",决定了一个系统的性质是自动系统(Automated Systems)还是自主系统(Autonomous Systems)。在自动驾驶软件栈中,决策模块位于感知与规划之间,承上启下,是整个系统智能化程度的核心体现。
1.1 感知→预测→决策→规划链条
自动驾驶软件栈可以抽象为以下处理链:
传感器原始数据
↓
感知(Perception):目标检测、语义分割、占据栅格
↓
预测(Prediction):周围车辆/行人未来轨迹预测
↓
决策(Decision Making):选择驾驶行为策略
↓
规划(Planning):生成具体可执行轨迹
↓
控制(Control):执行油门/制动/转向指令
感知模块提供对当前世界状态的理解,预测模块估计环境的未来演化,决策模块在此基础上确定自车应采取的高层行为(如变道、跟车、礼让),最终由规划模块将这一行为决策转化为精确的时空轨迹。
1.2 决策的难点
相比感知和控制,决策面临以下特有挑战:
- 不确定性叠加:传感器噪声、预测误差、他车意图未知,决策需要在多重不确定性下保证安全。
- 多智能体交互:路口、合流等场景中,自车行为会影响他车行为,形成反应循环,难以用单智能体模型描述。
- 长时序依赖:一次超车决策的安全性需要考虑数秒乃至十几秒的未来演化,而非仅看当前时刻。
- 场景多样性:从高速直道到复杂城区,驾驶场景的组合几乎是无限的,难以穷举所有情况进行规则编码。
- 可解释性与安全性:决策系统的输出必须可追溯、可验证,以满足功能安全标准(如 ISO 26262)的要求。
2. 决策层次结构
自动驾驶决策通常采用三层架构,不同层次在时间尺度、抽象程度和求解方法上各有侧重。
2.1 任务规划(Mission Planning)
任务规划在地图层面确定从起点到终点的最优路线,时间尺度为分钟到小时级别。主要输入包括高精度地图(HD Map)、实时交通信息和用户目的地。常用算法有 Dijkstra 最短路径和 A* 启发式搜索。
任务规划的核心是代价函数设计,综合考虑行驶距离、预计时间、道路等级和通行费等因素:
其中 \(d\) 为距离,\(t\) 为预计行驶时间,\(r_{toll}\) 为通行费,\(e_{energy}\) 为能耗估计,\(w_*\) 为对应权重。
2.2 行为规划(Behavior Planning)
行为规划是决策的核心层,在道路场景中选择合适的驾驶行为,时间尺度为秒级。典型行为包括:车道保持(Lane Keeping)、变道(Lane Change)、跟车(Car Following)、超车(Overtaking)、汇入(Merging)、礼让(Yielding)和停车(Stopping)。
行为规划的输入来自感知和预测模块,输出的是离散化的高层行为指令,供运动规划模块进一步细化。
2.3 动作规划(Motion Planning)
动作规划将行为规划的高层指令转化为时间上连续的可执行轨迹 \(\{(x_t, y_t, \theta_t, v_t)\}_{t=0}^{T}\),需要满足车辆运动学约束、舒适性约束(曲率连续、加速度有界)和障碍物约束。
2.4 三层架构示意图
┌─────────────────────────────────────────────────────────┐
│ 任务规划(Mission Planning) │
│ 输入:地图 + 目的地 输出:参考路线(Road Graph) │
│ 时间尺度:分钟~小时 方法:A*, Dijkstra │
└─────────────────────────┬───────────────────────────────┘
│ 参考路线
┌─────────────────────────▼───────────────────────────────┐
│ 行为规划(Behavior Planning) │
│ 输入:感知 + 预测 输出:驾驶行为指令 │
│ 时间尺度:秒级 方法:FSM, MPDM, POMDP, RL │
└─────────────────────────┬───────────────────────────────┘
│ 行为指令
┌─────────────────────────▼───────────────────────────────┐
│ 运动规划(Motion Planning) │
│ 输入:行为指令 + 环境 输出:时空轨迹 │
│ 时间尺度:毫秒~秒 方法:Frenet, Lattice, MPC │
└─────────────────────────────────────────────────────────┘
3. 有限状态机(FSM)
有限状态机是最早用于自动驾驶行为决策的方法,凭借其结构清晰、可解释性强的特点,至今仍被广泛应用于工业系统。
3.1 状态定义
一个典型的高速公路场景 FSM 包含以下状态:
| 状态名称 | 描述 |
|---|---|
| 车道保持(Lane Keep) | 在当前车道内以目标速度行驶 |
| 跟车(Car Follow) | 检测到前车,以安全车距跟随 |
| 变道准备(Prepare LC) | 评估目标车道可行性 |
| 变道执行(Execute LC) | 执行横向变道机动 |
| 超车(Overtake) | 超越慢速前车后返回原车道 |
| 停车(Stop) | 减速并停止于停止线或障碍物前 |
| 紧急制动(Emergency) | 触发 AEB,以最大减速度制动 |
3.2 状态转移条件(触发器)
状态转移由条件触发器驱动,例如:
- 车道保持 → 跟车:前方 \(d < d_{safe}\),且相对速度 \(\Delta v < 0\)(前车更慢)
- 跟车 → 变道准备:前车速度 \(v_{lead} < v_{target} - \Delta v_{thresh}\),且持续时间超过 \(t_{thresh}\)
- 变道准备 → 变道执行:目标车道间隙 \(gap > gap_{min}\),且无后方快速接近车辆
- 任意状态 → 紧急制动:TTC(碰撞时间)\(< T_{emergency}\)
3.3 优缺点分析
优点: - 逻辑清晰,每个状态和转移条件均可解释和审计 - 开发和调试周期短,适合快速工程落地 - 可直接编码交通规则,与法规合规性对齐
缺点: - 状态爆炸:场景复杂度增加时,状态数量呈指数级增长,难以维护 - 转移条件脆弱:阈值参数需要大量人工调优,泛化能力差 - 无法处理不确定性:FSM 假设感知结果确定,无法建模传感器噪声 - 多智能体局限:难以显式建模他车的响应行为
3.4 层次 FSM(HFSM)
为缓解状态爆炸问题,可将 FSM 组织为层次结构(Hierarchical FSM)。高层 FSM 管理抽象行为(如高速行驶、城区行驶、停车场行驶),每个高层状态内部嵌套一个子 FSM 处理具体操作。
高层 FSM
├── 高速公路模式
│ ├── 子FSM:车道保持 / 跟车 / 变道
├── 城区模式
│ ├── 子FSM:直行 / 转弯 / 让行 / 路口通过
└── 紧急模式
└── 子FSM:紧急制动 / 靠边停车
3.5 行为树(Behavior Tree)与 FSM 对比
行为树(Behavior Tree, BT)是另一种常用的决策表示形式,通过组合控制节点(Sequence、Selector、Parallel)和叶节点(条件、动作)构建决策逻辑。
| 特性 | 有限状态机(FSM) | 行为树(BT) |
|---|---|---|
| 模块化 | 差(全局状态转移) | 强(子树可复用) |
| 可扩展性 | 差(状态爆炸) | 好(局部修改) |
| 并发处理 | 困难 | 原生支持(Parallel 节点) |
| 调试难度 | 低(状态明确) | 中等 |
| 工业应用 | 广泛(Waymo 早期) | 增长(ROS 2 生态) |
4. 基于规则的决策
4.1 交通规则编码
交通规则可以被系统化地编码为一组约束和优先级规则,常见规则包括:
- 限速规则:\(v \leq v_{limit}(road\_type, weather, visibility)\)
- 安全车距规则(2秒原则):\(d_{safe} \geq v_{ego} \cdot t_{headway}\),其中 \(t_{headway} \approx 2s\)
- 优先权规则:右侧优先、直行优先于转弯、主路优先于辅路
- 礼让规则:在无保护转弯时必须等待间隙(Gap Acceptance)足够大才可通行
间隙接受模型(Gap Acceptance Model)用于判断是否可以插入某个间隙:
更精细的概率模型可以用 Logistic 函数建模:
其中 \(\mu\) 为临界间隙均值,\(\beta\) 为陡峭度参数。
4.2 势场评估(Potential Field)
人工势场法将道路环境建模为势能场,自车受到目标点的引力和障碍物的斥力共同作用:
引力场(指向目标):
斥力场(远离障碍物):
其中 \(\rho(q)\) 为自车到最近障碍物的距离,\(\rho_0\) 为影响范围阈值,\(k_{att}\)、\(k_{rep}\) 为权重系数。决策方向沿负梯度方向 \(F = -\nabla U_{total}\)。
4.3 基于代价函数的决策
对候选行为 \(\{a_1, a_2, \ldots, a_n\}\) 分别计算综合代价,选择代价最低的行为:
其中各分项代价分别量化安全风险、行驶效率(与期望速度的偏差)、乘坐舒适度(加速度/急动度)和交规遵守程度。
5. MPDM(多策略并行决策模型)
MPDM(Multipolicy Decision Making)是斯坦福大学提出的一种面向城区驾驶的决策框架,通过对有限策略集合进行前向仿真来选择最优策略。
5.1 策略集合定义
MPDM 使用一组参数化的闭环策略(Closed-loop Policy)来描述候选行为,典型策略集合包括:
| 策略 \(\pi_i\) | 描述 |
|---|---|
| \(\pi_{LK}\) | 车道保持(Lane Keep),以目标速度巡航 |
| \(\pi_{LCL}\) | 向左变道(Lane Change Left) |
| \(\pi_{LCR}\) | 向右变道(Lane Change Right) |
| \(\pi_{ACC}\) | 加速(Accelerate)至速度上限 |
| \(\pi_{DEC}\) | 减速(Decelerate)并准备停车 |
5.2 前向仿真评估
对每个候选策略 \(\pi_i\),MPDM 利用预测模块对场景进行前向仿真,得到一条预测轨迹 \(\tau_i = \{s_0, s_1, \ldots, s_T\}\),其中他车行为同样采用闭环策略建模(通常假设他车也执行某一预定策略)。
5.3 策略选择(最大期望回报)
策略价值通过折扣累积奖励计算:
其中 \(\gamma \in (0,1]\) 为折扣因子,\(R(s_t, a_t)\) 为即时奖励函数,综合安全、效率和舒适度:
最终选择价值最高的策略:
MPDM 的计算复杂度为 \(O(|\Pi| \cdot N_{sim} \cdot T)\),其中 \(|\Pi|\) 为策略数量,\(N_{sim}\) 为仿真步数,满足实时性要求。
6. POMDP(部分可观测马尔可夫决策过程)
POMDP 是处理不确定性决策的理论框架,相比 MDP,它显式地建模了感知的不完整性,更贴近真实驾驶场景。
6.1 形式化定义
一个 POMDP 由七元组 \((S, A, T, R, \Omega, O, \gamma)\) 定义:
| 符号 | 名称 | 含义 |
|---|---|---|
| \(S\) | 状态空间 | 环境的真实状态(含他车意图等隐变量) |
| \(A\) | 动作空间 | 自车可执行的行为集合 |
| \(T(s'\|s,a)\) | 状态转移函数 | 在状态 \(s\) 执行动作 \(a\) 后转移到 \(s'\) 的概率 |
| \(R(s,a)\) | 奖励函数 | 在状态 \(s\) 执行动作 \(a\) 的即时奖励 |
| \(\Omega\) | 观测空间 | 传感器可观测到的量(带噪声) |
| \(O(o\|s',a)\) | 观测函数 | 到达状态 \(s'\) 后观测到 \(o\) 的概率 |
| \(\gamma\) | 折扣因子 | 对未来奖励的折扣(\(\gamma \in [0,1)\)) |
在驾驶场景中,隐状态通常包括他车驾驶员的意图(如是否准备变道)、行人的目的地等,这些量无法通过传感器直接观测。
6.2 信念状态更新
由于真实状态不可直接观测,POMDP 维护一个信念状态(Belief State)\(b(s)\),表示对当前状态的概率分布。当执行动作 \(a\) 并观测到 \(o\) 后,信念状态按贝叶斯规则更新:
其中 \(\eta\) 为归一化常数,确保 \(\sum_{s'} b'(s') = 1\)。
信念状态 \(b(s)\) 是一个连续的概率分布,POMDP 的求解等价于在信念空间上找到最优策略 \(\pi^*: b \rightarrow a\)。
6.3 近似求解算法
精确求解 POMDP 是 PSPACE-hard 问题,实际应用中使用近似算法:
- DESPOT(Determinized Sparse Partially Observable Tree):通过对随机性进行确定化采样,构建稀疏信念树,时间复杂度大幅降低,适合实时决策。
- POMCP(Partially Observable Monte-Carlo Planning):基于蒙特卡洛树搜索(MCTS)的在线规划算法,用粒子滤波近似信念状态。
- QMDP:一种快速近似方法,假设下一步后状态完全可观测,用于得到策略上界。
6.4 POMDP 在路口博弈中的应用
在无保护左转场景中,对向来车的意图(减速礼让 vs. 保持速度通过)是关键隐状态。POMDP 框架可以:
- 建模来车在"减速"和"直行"意图下的速度分布(观测模型)
- 根据历史观测更新来车意图的信念概率
- 在高不确定性时选择保守行为(等待),在信念集中时选择通过
这使得决策系统能够在不确定条件下做出安全且不过度保守的决策。
7. 基于学习的决策
7.1 行为克隆(Imitation Learning)
行为克隆(Behavior Cloning, BC)从人类驾驶数据中学习决策策略,将其建模为监督学习问题:
其中 \(\mathcal{D}_{human}\) 为人类驾驶数据集,\(f_\theta\) 为参数化的策略网络,\(\mathcal{L}\) 为损失函数(分类行为用交叉熵,连续控制用 MSE)。
行为克隆的主要问题是协变量漂移(Covariate Shift):训练数据来自专家轨迹,而测试时策略的错误会导致状态分布偏离训练分布,错误不断累积。DAgger 算法通过迭代地在策略执行轨迹上查询专家标注来缓解这一问题。
7.2 逆强化学习(IRL)
逆强化学习(Inverse Reinforcement Learning)从专家示范中推断隐含的奖励函数,再用该奖励函数进行强化学习。相比直接克隆行为,IRL 能更好地泛化到新场景。
最大熵 IRL(Maximum Entropy IRL)假设专家策略在奖励函数 \(R(s,a;\theta)\) 下具有最大熵分布,求解:
其中 \(Z(\theta) = \sum_\tau \exp\left(\sum_t R(s_t, a_t; \theta)\right)\) 为配分函数。梯度为:
即专家特征期望与策略特征期望之差。
7.3 强化学习(RL)
深度强化学习通过与(仿真)环境交互,学习最大化长期累积奖励的策略:
常用算法:
- PPO(Proximal Policy Optimization):限制策略更新幅度,训练稳定,适合连续动作控制
- SAC(Soft Actor-Critic):最大熵强化学习,鼓励探索,适合高维连续动作空间
- TD3(Twin Delayed Deep Deterministic Policy Gradient):解决 Q 值高估问题,适合确定性策略
7.4 奖励函数设计
奖励函数是 RL 系统的核心,通常综合以下分项:
| 分项 | 正奖励条件 | 负奖励(惩罚)条件 |
|---|---|---|
| \(r_{safe}\) | TTC 充足,无碰撞风险 | 碰撞:\(-100\);TTC \(<\) 阈值:\(-10\) |
| \(r_{eff}\) | 车速接近限速 | 过慢行驶;不必要停车 |
| \(r_{comf}\) | 加速度/急动度在舒适范围内 | 急刹车;急转向 |
| \(r_{rule}\) | 遵守交通信号和路权规则 | 闯红灯;逆行;违规变道 |
奖励塑形(Reward Shaping)时需注意:过强的安全惩罚会使策略极度保守,过强的效率奖励会导致激进驾驶。
8. 博弈论与交互决策
8.1 纳什均衡在交通中的应用
在多车交互场景中,每辆车的最优策略依赖于其他车辆的策略选择,形成策略耦合。纳什均衡(Nash Equilibrium)描述了这样一个状态:在均衡点,任何一方单独改变策略都不能提高自身收益。
对于两车博弈(自车 \(e\),他车 \(o\)),纳什均衡 \((\pi_e^*, \pi_o^*)\) 满足:
在合流场景中,博弈矩阵可能出现"鹰鸽博弈"(Hawk-Dove Game)结构:双方都激进则可能碰撞,双方都保守则效率低下,纳什均衡给出理性的混合策略。
8.2 主从博弈(Stackelberg Game)
在许多实际驾驶场景中,博弈双方并非同时做决策,而是存在领导者(Leader)和跟随者(Follower)的层次结构。主从博弈(Stackelberg Game)刻画这种场景:
- 领导者(通常为自车)率先宣告并承诺其策略 \(\pi_e\)
- 跟随者(他车)观察到领导者策略后,选择最优响应 \(\pi_o^*(\pi_e)\)
- 领导者预见跟随者的响应,选择自身最优策略:
主从博弈适用于超车场景:自车(领导者)通过加速表明超车意图,他车(跟随者)预计会礼让,从而形成安全的交互结果。
8.3 意图感知决策
意图感知决策将他车意图的推断与自车决策紧密耦合,形成闭环:
- 意图推断:基于他车的历史轨迹和当前状态,推断其驾驶意图(如是否准备变道),得到意图分布 \(P(intent_o)\)
- 条件规划:对每种可能的他车意图分别规划自车最优响应
- 期望最优化:取期望意义下的最优策略,或采用最坏情况(Minimax)准则保证安全
9. 风险评估
9.1 碰撞时间(TTC)和碰撞余量(TTE)
碰撞时间(Time To Collision, TTC)是最常用的危险度量指标,定义为在当前相对速度下两车碰撞所需的时间:
其中 \(d_{rel}\) 为车辆间净距,\(v_{rel} = v_{ego} - v_{lead}\) 为相对速度(仅在追赶时有意义,即 \(v_{ego} > v_{lead}\))。
碰撞余裕时间(Time to Escape, TTE)在障碍物来自侧向时使用,量化脱离危险区域所需时间。
决策安全阈值参考:
| TTC 值 | 危险等级 | 建议决策动作 |
|---|---|---|
| \(TTC > 4s\) | 安全 | 保持当前状态 |
| \(2s < TTC \leq 4s\) | 警告 | 轻微减速或变道评估 |
| \(1s < TTC \leq 2s\) | 危险 | 立即减速,禁止变道 |
| \(TTC \leq 1s\) | 紧急 | 触发 AEB |
9.2 责任敏感安全(RSS)在决策中的集成
RSS(Responsibility-Sensitive Safety)由 Mobileye 提出,通过数学化定义安全距离,为决策提供形式化的安全保证。
纵向安全距离(后车对前车的安全要求):
其中 \(\rho\) 为反应时间,\(a_{min,rear}\) 为后车最大制动加速度,\(a_{max,front}\) 为前车最大制动加速度,\([\cdot]^+\) 表示取正值部分。
横向安全距离(相邻车道间):
其中 \(\mu\) 为最小横向间距,\(v_{lat}\) 为横向速度分量。
RSS 在决策中的集成方式:将 RSS 安全条件作为硬约束,过滤掉所有违反 RSS 的候选动作,仅在安全动作集合中进行优化选择。
9.3 风险地图(Risk Map)
风险地图将场景中各点的危险程度以栅格形式表示,综合考虑以下因素:
- 碰撞概率:基于对周围障碍物轨迹的预测,计算自车到达某位置时的碰撞概率
- 历史事故数据:路口、盲区等高风险区域有更高的先验风险值
- 交通规则违规代价:违反交规的区域(如对向车道)被赋予高风险值
风险地图可以与运动规划无缝集成,规划算法在最小化代价的同时,自动避开高风险区域:
其中 \(s\) 为路径弧长参数,\(Risk(\cdot)\) 为风险地图在该位置的风险值。
参考资料
- Shalev-Shwartz, S., Shammah, S., & Shashua, A. (2017). On a Formal Model of Safe and Scalable Self-driving Cars. arXiv:1708.06374.
- Cunningham, A. G., Galceran, E., Eustice, R. M., & Olson, E. (2015). MPDM: Multipolicy Decision-Making in Dynamic, Uncertain Environments for Autonomous Driving. IEEE ICRA 2015.
- Somani, A., Ye, N., Hsu, D., & Lee, W. S. (2013). DESPOT: Online POMDP Planning with Regularization. NeurIPS 2013.
- Ziebart, B. D., Maas, A., Bagnell, J. A., & Dey, A. K. (2008). Maximum Entropy Inverse Reinforcement Learning. AAAI 2008.
- Schulman, J., Wolski, F., Dhariwal, P., Radford, A., & Klimov, O. (2017). Proximal Policy Optimization Algorithms. arXiv:1707.06347.
- Fisac, J. F., Bronstein, E., Stefansson, E., Sadigh, D., Sastry, S. S., & Dragan, A. D. (2019). Hierarchical Game-Theoretic Planning for Autonomous Vehicles. IEEE ICRA 2019.