自动驾驶之轨迹规划2——高速超车场景下轨迹规划的量产方案

本篇整理的高速超车场景下轨迹规划量产方案。

速度规划

基本架构如下:
自动驾驶之轨迹规划2——高速超车场景下轨迹规划的量产方案_第1张图片

先定义障碍物:
自动驾驶之轨迹规划2——高速超车场景下轨迹规划的量产方案_第2张图片
红色边界:可看作碰撞硬约束,例如道路边界或其他车辆
黄色边框:可看作碰撞软约束,例如碰撞危险、车道标志
蓝色边框:目标行驶区域
自动驾驶之轨迹规划2——高速超车场景下轨迹规划的量产方案_第3张图片
这是ST图,Apollo也用了类似的方法进行速度规划,这里需要把各种等级的障碍物投影到ST图中。具体的计算步骤:

  1. 计算满足边界条件的若干轨迹;
  2. 排除违反jerk或加速度极限的轨迹;
  3. 选择成本函数最小的轨迹
  4. 用轨迹跟踪控制器计算目标加速度

另外还要考虑一些边界条件,和我在《自动驾驶之轨迹规划1——算法综述》中的3.2 高速场景:超车章节提到的类似,需要考虑变道初始时刻的纵向位置、速度、加速度,以及变道完成后的纵向位置、速度、加速度。
自动驾驶之轨迹规划2——高速超车场景下轨迹规划的量产方案_第4张图片

路径规划

基本架构如下:
自动驾驶之轨迹规划2——高速超车场景下轨迹规划的量产方案_第5张图片

自动驾驶之轨迹规划2——高速超车场景下轨迹规划的量产方案_第6张图片
这里使用了SL图,Apollo中也用了该坐标系进行路径规划,但Apollo用了动态规划和二次规划进行路径求解,而这里的方法是用多项式进行拟合,类似《自动驾驶之轨迹规划1——算法综述》中的3.2 高速场景:超车的多项式曲线方法。大致步骤如下

  1. 根据与旧轨迹的偏差选择新轨迹的起点,或从当前车辆位置开始规划,以保证高水平的稳定性
  2. 找到最优轨迹d(s)关于横向jerk,速度和持续时间
  3. 使用PID型控制方法计算目标横摆角速度,使车辆保持在轨道上(低水平稳定)

同样,这里也需要考虑边界条件,如:变道初始时刻的横向位置、速度、加速度,以及变道完成后的横向位置、速度、加速度。
自动驾驶之轨迹规划2——高速超车场景下轨迹规划的量产方案_第7张图片

你可能感兴趣的:(自动驾驶软件开发,自动驾驶,经验分享,程序人生)