← 术语图鉴

DP + QP:EM Planner

Dynamic Programming + Quadratic Programming · 也叫 EM Planner / 动态规划 + 二次规划

路径和速度分开规划,每边先 DP 后 QP:DP 在非凸空间里做离散决策、圈出凸的可行走廊,QP 在走廊里求平滑解。

会上可能听到:“规划用的是 DP + QP。——DP 那一步输出的只是一条粗路径吗?”

它到底是什么意思

代表是百度 Apollo 的 EM Planner,流程四步:SL 投影、路径规划、ST 投影、速度规划。投影是 E 步,把障碍物投到坐标系里;规划是 M 步,每一边都先 DP 后 QP。

DP 真正的产物是三件套:一个粗解、一条可行走廊、一组离散决策,比如从障碍物左边绕还是右边绕。速度侧在 ST 图上做同样的事:从他车占用带下方过是让行,上方过是超车。

短板写得很明确:需要横纵联合动作的场景搞不定,比如窄道会车。走哪条线取决于什么时候到,什么时候到又取决于走哪条线,先定路径再配速度,天生给不出答案。

机制图解

DP 和 QP 各干什么

DP在非凸空间里做离散选择:左绕还是右绕、让行还是超车 · 圈出一条凸的可行走廊,附带一个粗解
QP只在这条凸走廊里求平滑解 · 把 DP 的折线磨平
一句话:DP 生成凸空间,QP 在凸空间里求解。走廊圈在哪一侧,QP 就只能在哪一侧找解。

容易搞混的地方

常见误解

DP 只负责给 QP 一条粗糙的初始路径

正确理解

DP 的产物是三件套:粗解、可行走廊、离散决策。左绕还是右绕,在这一步就定了

常见误解

ST 图的纵轴是速度

正确理解

纵轴是沿路的纵向位移,速度是曲线的斜率;从占用带下方过是让行,上方过是超车

看懂之后可以追问

  1. 窄道会车、汇入这类横纵强耦合的场景,我们现在怎么处理?这是解耦架构写明的短板。说不出专门的处理,这类场景就该列进专项测试。
  2. DP 定下的让行、超车决策,下游和评测看得到吗?决策藏在 DP 的产物里。QP 只在 DP 圈好的走廊里找解,边选错了,QP 再平滑也救不回来。

先知道

  • Frenét 坐标与五次多项式采样——沿参考线拆成纵向 s 和横向 l,采一批终止状态、每个配一条五次多项式、挑代价最低的——横纵解耦只在高速近似成立。

对比着看

  • Hybrid A*——在栅格上搜路,但节点按车辆运动学扩展,搜出来的每一步车都开得到——擅长停车场、掉头、窄空间这类非结构化场景。

接着看

  • 时空语义走廊 SSC——沿决策层前向仿真的状态,在 s-l-t 空间里修一串相连的无碰撞立方体,再在这条走廊里铺轨迹——决策和规划在这里合龙。