特别感谢 Apollo 的自动驾驶公开课。下面材料均来自 Apollo 的自动驾驶公开课。
对于无人车的速度规划,尤其在有多辆车的动态环境中,基于S-T图的速度规划特别好用。
首先了解下 S-T 图的基本概念。以下图左边的场景为例,蓝色障碍车从车道右侧切入,在 T_in 时刻开始进入当前车道。
那么这个场景对应的 S-T 图就如右图所示。从 T_in 时刻开始出现一块斜向上的阴影区域。这块阴影区域的高度就是蓝色障碍车的车身长,上边界表示车头,下边界表示车尾,斜率表示车速。
S-T 图的概念
如果上述场景变成障碍车从 T_in 时刻进入车道,然后在 T_out 时刻离开车道。那么这个场景对应的 S-T 图就会缩短。
S-T 图的概念
基于S-T图的速度规划如下图所示,两条速度规划轨迹,红色的是一条跟车的速度轨迹,绿色的是超车的速度轨迹。
这两条轨迹反映在 S-T 图中就如下图所示。红色的跟车速度轨迹在蓝色阴影区域下方,绿色的超车速度轨迹在蓝色阴影区域上方。
基于S-T图的速度规划
有了上述描述,就可以三步走,进行速度规划:
采用不同的方法生成多条速度轨迹(如基于多项式曲线的速度规划);对待选的多条速度轨迹进行 cost 的计算;选出一条 cost 最优的速度轨迹。速度轨迹需要满足的四点要求,包括:到达目的、符合交规、避免碰撞、平稳舒适。针对这四点要求,可以设计不同的 cost。其中,cost 值越高就表示越不满足要求。下面是几种 cost 的设计参考示例。
1、到达目的的cost
这里分成两种情况,一个是存在停车指令的情况(比如前方红灯、接近目的地),另一个是没有停车指令的。如果没有停车指令,期望车速应该逐渐升高到参考速度(通常是当前路段的限速),那么低速轨迹的 cost 就会比较大;如果存在停车指令,期望车速应该逐渐降低,因此相对大的车速,其对应的轨迹 cost 就比较大。达目的的 cost
2、碰撞检测的cost
如下图中的两条轨迹,反映在 S-T 图中,我们可以发现红色的轨迹和蓝色障碍车在 S-T 图中的阴影区域有重叠,说明有碰撞风险,那么它的碰撞 cost 就会相对较高。而绿色的轨迹在 S-T 图中反映出来的碰撞风险较小,那么它的碰撞 cost 就相对较低。碰撞检测的cost
3、纵向加加速度的cost
加加速度(jerk)是加速度对时间的导数,表示加速度的变化率。用加加速度的最大值值来表示这个 cost。无人驾驶汽车的速度控制:加加速度Jerk的概念
4、横向加速度的cost
设计这个 cost 是为了平稳地换道。像下图左边换道比较猛时,它的横向加速度的 cost 就会相对较大。横向加速度的cost
5、向心加速度的 cost
设计这个 cost 是为了在转弯或调头的时候能够减速慢行。在弯道处,车速慢的轨迹,其向心加速度 cost 就会相对较低。横向加速度的cost
除了上面的几种 cost 设计,还可以根据实际的场景需求,考虑相应的 cost 设计,从而提高速度规划的安全性和平顺性。
相关阅读
学习笔记:无人驾驶系统的研发无人车的避障系统介绍:障碍物的检测、轨迹预测和避障路径生成