2. 自动驾驶行为规划概述

在自动驾驶的分层决策体系中,行为规划(Behavior Planning)承担着“承上启下”的关键角色。它位于任务规划与运动规划之间,负责把“从A到B”的宏观导航意图,翻译成一段段可被下游执行的具体驾驶行为。理解行为规划的定义、地位及其与运动规划、控制的关系,是掌握 Apollo 决策技术栈的起点。

一、行为规划的定义

行为规划是指在给定环境感知结果、地图信息、导航目标与交通规则约束下,为自车在有限时间窗口内选择一种或一组高层驾驶意图的过程。它的输出不是具体的油门、刹车或方向盘转角,而是诸如“跟车”“换道”“借道绕行”“路口左转”“靠边停车”这样的语义化行为指令。

可以用一个更工程化的表述来界定:行为规划解决的是“做什么”的问题,而运动规划解决的是“怎么做”的问题。前者输出离散或半离散的行为决策,后者输出连续、平滑、满足车辆动力学约束的轨迹。

行为规划的核心输入:导航路线、高精地图、感知障碍物、交通信号、自车状态、交通规则。
行为规划的核心输出:目标车道、目标速度区间、行为类型、行为持续时间、优先级。

二、行为规划在自动驾驶系统中的地位

典型的自动驾驶软件栈可划分为感知、预测、规划、控制四大模块。规划模块内部又常被细分为三层:任务规划(Route Planning)、行为规划(Behavior Planning)、运动规划(Motion Planning)。行为规划处于中间层,向上承接任务规划给出的全局路径,向下为运动规划提供决策约束。

这种分层设计的意义在于解耦:任务规划处理分钟级的路线选择,行为规划处理秒级的驾驶意图,运动规划处理毫秒级的轨迹生成。若把三者混在一起,系统将面临状态空间爆炸、规则难以维护、验证成本极高等问题。行为规划正是把复杂的连续驾驶问题,抽象为有限状态或有限选项的决策问题。

自动驾驶分层决策链路中的行为规划 感知 障碍物/车道/信号 预测 轨迹/意图预测 任务规划 全局路线 行为规划 驾驶意图决策 运动规划 平滑轨迹 行为规划输出 目标车道 目标速度区间 行为类型与优先级 行为规划输入约束 • 高精地图车道拓扑与限速 • 感知障碍物位置、速度、类型 • 预测轨迹与交互意图 • 交通规则与信号灯状态 控制层 接收运动规划轨迹 → 生成油门/刹车/转向指令 → 执行器闭环控制

三、行为规划与运动规划、控制的关系

三者构成一条从抽象到具体的决策链。行为规划输出的是“语义决策”,运动规划将其转化为“几何轨迹”,控制则把轨迹跟踪为“执行指令”。它们的时间尺度、输出形式和验证方法都有显著差异。

维度 行为规划 运动规划 控制
核心问题 做什么 怎么做 如何执行
输出形式 行为类型、目标车道、速度区间 连续轨迹点、曲率、加速度 油门、刹车、转向角
时间尺度 秒级(0.5~5s) 百毫秒级(0.1~1s) 毫秒级(10~100ms)
典型方法 有限状态机、行为树、POMDP EM Planner、Lattice、优化 PID、MPC、LQR
验证重点 决策合理性、规则符合性 安全性、舒适性、动力学可行 跟踪精度、稳定性

需要强调的是,行为规划并非孤立模块。它必须与预测模块形成闭环:预测给出他车未来可能的轨迹分布,行为规划据此评估不同行为的风险与收益;行为规划的结果又会反过来影响预测的交互推理。这种“预测—决策”耦合是城市复杂场景中的核心难点。

四、典型场景案例:无保护左转

以无保护左转为例,自车在路口等待左转,对向有直行车辆。行为规划需要完成以下判断:当前是否具备左转间隙?对向车辆是否会减速让行?是否有行人正在穿越?若间隙不足,应选择“等待”还是“缓慢蠕行试探”?

场景:无保护左转
输入:
  - 对向直行车距离 35m,速度 12m/s
  - 行人位于左侧人行横道,静止
  - 左转绿灯,无左转专用相位
行为候选:
  A. 立即左转
  B. 等待对向车通过后左转
  C. 缓慢蠕行至路口中心等待
决策依据:
  - 若对向车 TTC < 4s,排除 A
  - 若行人进入冲突区,排除 A、C
  - 选择 B,输出目标停车点与等待行为

这个案例说明,行为规划的输出必须足够明确,才能让运动规划生成安全轨迹。如果行为规划只给出“左转”而不说明“何时转、转到哪条车道、遇到冲突如何退让”,运动规划将无法独立完成决策。

五、常见误区与复盘

  • 误区一:把行为规划等同于规则判断。规则只能覆盖有限场景,真实道路存在大量模糊、交互和博弈情形,需要概率推理与学习型方法补充。
  • 误区二:行为规划输出越细越好。输出过细会侵占运动规划的优化空间,导致轨迹不可行或频繁重规划;输出过粗则让运动规划承担过多决策负担。
  • 误区三:忽略时间一致性。行为频繁切换会造成车辆抖动、乘客不适,甚至引发后车误判。行为规划需要引入迟滞、保持时间和切换代价。
  • 误区四:只关注自车最优。行为规划必须考虑他车反应,否则容易陷入“自车认为安全、他车并不让行”的冲突。
复盘建议:在调试行为规划时,优先检查“输入是否完整、行为候选是否覆盖、代价函数是否合理、切换逻辑是否稳定”四个环节,而不是直接调参。

综上,行为规划是自动驾驶决策链中连接宏观导航与微观轨迹的桥梁。它把复杂的连续驾驶问题抽象为可解释、可验证的离散决策问题,同时又要为下游运动规划保留足够的优化空间。理解它的定义、地位与上下游关系,是后续学习 Apollo 行为规划框架、场景决策与状态机设计的基础。