规划系统包括顶层的多车道和其中的单车道自动驾驶:
该论文介绍了基于EM迭代算法的规划器:
本文的其余部分安排如下。在第二部分中,我们介绍了EM规划器内部的多车道框架。在第三部分中,我们将重点放在车道级路径规划上,并逐步讨论EM迭代。在第四节中,我们提供了一个有关迎面到来的规则证明的的例子,以进行简单的演示。第五部分讨论EM计划程序的性能。在第六节中,我们完成了讨论并为EM规划器提供了结论。
在本节中,我们将讨论车道级别优化问题。图3示出了车道平面规划内的路径速度EM迭代。迭代过程包括两个E步和两个M步。轨迹信息将在规划周期之间迭代。
在第一个E-steps中动态和静态障碍物都被投影到Frenet框架。静态障碍物将基于笛卡尔-Frenet框架变换直接投影。在Apollo框架中,可以预测动态障碍物的移动轨迹。考虑到之前的周期规划轨迹,我们可以在每个时间点估计出动态障碍物和汽车的位置。然后动态障碍物和汽车在某个时间点的重叠可以被映射到Frenet框架中。另外,路径优化过程中动态障碍物的出现最终对导致轻推。因此,出于安全考虑,动态障碍物的SL投影将仅考虑低速交通和即将到来的障碍物。对于高速交通,EM规划器的并行车道变换策略将涵盖该场景。
在第二个E-steps中,基于生成的路径在s-t坐标系下,所有障碍物包括高速、低速和即将到来的障碍物都将被估计,生成速度曲线。如果障碍物轨迹和已经规划的路径重叠,将在s-t坐标系下生成一个相应的区域。
在两个M-steps中,通过动态规划和二次规划生成路径和速度曲线。尽管我们将障碍物投影到SL和ST坐标系下,但是最优的路径和速度解仍在非凸空间中。因此,我们使用动态规划先获得一个粗略解,同时,这个解可以提供轻推、产量和超车等障碍决策。我们是用粗略解为基于二次规划的样条优化器来确定凸包。然后,优化器可以在凸包内找到解。
A.SL and ST Mapping(E-steps)
B.M-steps:DP-Path
M-steps路径规划器在Frenet框架中规划路径。即找到横坐标的最优函数l=f(s).w.r.t(非凸SL空间中的状态坐标)。因此路径优化器包括两步:基于动态规划的路径决策和基于样条的路径规划。动态规划路径步骤提供了具有可行性车道和障碍物轻推角的大致路径。如图所示,该步骤包括采样器,代价函数,和动态规划搜索。
栅格采样器基于Frenet框架。在图中,首先在车辆之前对多行栅格进行采样。不同行之间的点通过五次多项式平滑连接。行之间的间隔距离取决于速度,道路结构,车道变换等。该框架允许根据场景自定义采样策略。例如,车道变换的采样间隔可能比当前车道行驶更长。此外,出于安全考虑,栅格所有状态距离赢至少为8秒或者200米。
构造完栅格后,通过代价函数的总和来评估每一个图的边缘。我们使用从SL投影得到的信息交通规则和汽车动力学去构建函数。总的边缘成本是函数平滑度,避障和车道成本函数的线性组合。
给定路径的平滑度函数可以通过以下方式表示:
在平滑代价函数中,f’(s)代表车道heading,f’’(s)是与路径的曲率有关,f’’’(s)是与车的曲率函数有关。通过多项式的形式,上述成本也可以通过分析来评估。
障碍物的代价函数是按照一系列固定状态坐标与所有障碍物评估的。障碍物代价函数是基于障碍物与车的边界距离。记为d。代价函数形式如下:
这里Cnudge定义为单调递减函数。出于安全考虑,dc设置保留缓冲区。微调范围dn可根据情况改变。Ccollision是碰撞代价函数,可帮助监测不可行的路径。
**车道代价函数包括两个部分:引导线代价和路上代价。**引导线定义为没有周围障碍物时的理想路径。通常这条线提取为路径的中心线。将引导线函数定义为g(s).
路上代价函数通常被道路边界决定。道路外的路径点将受到很高代价的惩罚;
最终路径成本是所有平滑代价,障碍物代价和车道代价的总和。然后边缘代价用于通过动态规划选择最低成本的候选路径。候选路径还将确定障碍物决策。
C.M-steps:QP-Path
QP路径步骤是对动态规划路径的改进。在动态规划路径中,根据所选的路径生成可行的隧道。然后基于QP步骤将在该隧道中生成一条平滑路径,如图所示:
通过QP求解器求解具有线性约束的目标函数生成最优的QP路径。
QP路径的目标代价函数是平滑度代价和引导线代价的线性组合。该步骤中的引导线是DP路径。引导线给出了绕过障碍物的估计值。在数学上QP路径步骤优化以下函数:
这里g(s)是DP路径结果。f’,f’’,f’’‘分别和方向,曲率,曲率导数有关。目标函数描述了平滑性和绕过障碍物的平衡。
QP路径中的限制条件包含了边界限制条件和动力学可行性。这些限制被应用于f,f’,f’‘在一系列状态坐标。为了提取边界约束,提取各状态点的可行区间。这个可行区间在每一个点被描述为Ll,i<=Lh,i。在EM规划器中,车辆是被看成自行车模型。因此仅仅提供l=f(s)的范围是不够的,因为车的方向也很重要。
在图10中,为了保持边界约束的凸性和线性,我们在汽车的前端和后端分别添加两个半圆。来表示前轮到后轮的中心距离为Lf和车辆宽度为w。然后左前角的横向位置由以下表示:
这里seita是汽车和道路状态方向之间的航向角。可用以下不等式近似进一步线性约束:
类似的线性优化被应用于剩余的三个角度。线性约束足够好是因为seita通常很小。当seita
D.M-Steps DP-Speed
速度规划器在ST里面生成一个速度曲线,该速度曲线表示为相对于时间S(t)的状态函数。与路径规划器相似,在ST图上寻找最优速度曲线也是一个非凸问题,所以采用DP与QP相结合的方法在ST图上寻找一个光滑的速度曲线。在图12中,DP速度规划步骤包括代价函数,ST图网格和DP搜索。生成分段性速度曲线,可行的隧道和障碍物速度决策。如图11所示。在QP速度时采用DP生成的速度曲线作为引导线,利用可行隧道生成凸域。
具体来说,障碍物信息首先在ST图上离散成网格。将(t0,t1…tn)表示为在时间轴上具有间隔dt的等距评估点。分段性速度曲线函数在网格上表示为S=(s0,s1,…sn)。此外,利用有限差分方法对导数进行了逼近。
目标是在ST图中优化一个带有约束的代价函数。确切的说,DP速度优化器的代价被以下表示:
第一项是速度保持代价。表示当没有障碍物或者红绿灯时,车辆应遵守指定的速度。Verf描述参考速度,参考速度由道路速度限制、曲率和其他交通规则确定。g函数被设计为对小或者大于Verf的值具有不同的惩罚。加速度a和加加速度jerk描述了速度曲线的平滑度。最后一个属于Cobs描述了总障碍成本。对车辆到所有的障碍物的距离进行评估,已确定总障碍物成本。
动态规划搜索空间必须在动力学约束范围内。动态约束包括加速度、加加速度jerk和单调性约束。因为我们要求生成的轨迹在道路上不执行倒车操作,只能在停车或者其他指定情况下直行倒车。搜索算法简单明了,并应用了一些基于车辆动态约束的必要剪枝来加速搜索过程。
E.M-steps QP速度优化器
由于分段线性速度曲线不能满足动力学要求,需要用QP来解决这个问题。在图13中,样条速度包括三个部分:代价函数、线性约束条件和样条QP求解器。
代价函数被以下函数描述:
第一项是DP速度参考线Sref和最后需要生成的S之间的距离。加速度和jerk是速度曲线平滑度。因此,目标函数是跟踪引导线和平滑度之间的平衡。
QP优化器是带有线性约束的。QP速度优化器的限制条件包括一下边界限制:
第一个约束是单调性,即不倒车。第二第三和第四 五个约束是来自交通规则和车辆动力学约束的要求。在完成代价函数和约束后,QP求解器将生成一个平滑可行的速度曲线,如图14结合路径曲线,EM规划器将为控制模块生成一个平滑的轨迹。
F.解二次规划问题的笔记
出于安全考虑,我们评估了大概100个不同位置或时间点的路径和速度。约束的数量大于600.对于路径和速度优化,我们发现五项多项式足够好用。样条曲线包括3到5个多项式,大约有30个参数。因此,二次规划问题有相对较小的目标函数,但约束条件较多。因此,主动集QP求解器有助于解决该问题。除了加速二次规划求解外,我们还将上一个循环的计算结果作为热hot start(牛顿法)。QP问题平均可以在3ms内解决,满足了我们对时间消耗需求。
G.关于DP和QP非凸优化的笔记
DP和QP在非凸领域都有局限性。DP和QP的结合将充分利用两点的优点,以达到理想的解决方案。
如上所述,尽管大多数最先进的规划算法都是基于重决策的,但EM planner是一个基于轻决策的规划器。确实,基于重决策的算法,或者依赖规则的算法,很容易理解和解释。缺点也很明显:它可能被困在角落的情况下(陷入局部最优解的频率与限制条件的复杂性和数量密切关),并不总是最优的。在本节中,我们将通过几个案例来说明基于轻决策的规划算法的优点。这些案例都是在百度很多的重决策规划模块中的日常测试中暴露出来的,并最后由轻决策解决。
图15是EM规划器如何在规划周期和迭代周期之间迭代以获得最佳轨迹的实际例子。在这个案例研究中,我们演示了当障碍物进入我们的路径如何生成轨迹。假设主车辆的速度为10m/s,并且有一个动态障碍物以10m/s的速度朝我们移动,EM规划器将按照一下步骤迭代生成路径和速度曲线。
由于将三维状态横向速度问题分解为状态横向速度和状态速度两个二维问题,极大降低了EM规划器的计算复杂度。因而具有很高的规划效率。加入我们有n个障碍物,有M个候选路径和N个候选速度曲线,该算法的复杂度为O(n(M+N))。
EM规划器是一个基于轻决策的规划算法。与其他局域重决策的算法相比,Em规划器的优势在于能够在复杂的多障碍场景下执行。当局域重决策的方法试图预先确定如何处理每个障碍物时,困难是显著的:(1)很难理解和预测障碍物如何与主车相互作用,因此他们的跟随运动很难描述,因此很难被任何规则考虑;(2)当多个障碍物阻塞道路时,无法找到满足所有预定决策的轨迹的概率大大降低,从而导致规划失败。
自动驾驶汽车的一个关键问题是安全性和通过性的挑战,严格的规则增加了汽车的安全性,但降低了通过性,反之亦然。以换道为例,如果后面有车辆,只要有简单的规则,就可以很容易地暂停换道过程。这样可以保证安全,但大大降低了通过性。本文所描述的EM-planner,在解决潜在决策与规划不一致的同时,也提高了自主驾驶车辆的通过性。
EM-planner通过将三维状态横向速度问题转化为二维状态横向/状态速度问题,显著降低了计算复杂度。它可以大大缩短处理时间,从而提高整个系统的交互能力。
样条曲线QP路径和速度优化器使用相同的约束平滑样条曲线框架。在这一节中,我们在二次规划框架和线性化约束下,将光滑样条问题形式化。具有二次凸目标和线性约束的优化问题可以快速、稳定地求解。
在二次规划的条件下,在给定二次目标函数和线性约束条件下,对三阶光滑函数f(x)进行优化。域(A;b);A=x0;b=xn上的光滑样条函数f(x)表示为分段多项式基的线性组合。表示x0=a;x1;x2;::;xn=b作为结。然后,f(x)由以下公式给出:
其中fk(x)=pk0+pk1x+::pkmxm是多项式函数。fk的系数定义为pk=(pk0;pk1;::;pkm)T。平滑样条曲线参数向量定义为p=(pT0;p T 1;:::;pTn≤1)T。在数学上,样条曲线解算器试图找到一个函数^f,该函数优化再生核Hilbert空间(RKHS)域上函数的线性组合。域空间描述为
样条QP问题由目标函数,线性化约束和二次规划求解器形成。它描述如下:
L(f(x))<=0。目标函数P(f)是四个函数的线性组合,P i;i=0;1;2;3 on。明确地,
其中g是预先指定的准则函数。第一个表示到引导线g的距离,而其余三个表示f的平滑度。约束函数L(f(x))包括基于问题设置的以下类型: