愉快的春节假期总是短暂的,一晃眼又到了要开工时节。
不知道大家在春节期间有没有继续关注智能驾驶的相关知识。
节后第一篇文章我们来简单了解一下年前规划的后续,学习一种称为Lattice规划的轨迹生成方法。
首先我们来回顾一下,规划的任务是生成三维轨迹——纵向维度、横向维度和时间维度。
我们可以将三维问题分解成两个单独的二维问题,即纵向分量+时间与横向分量+时间的组合。我们将他们缩写为ST轨迹与SL轨迹。
今天要介绍的这个Lattice规划就是根据以上思路分成两步走:
即分别建立ST和SL轨迹,然后再将他们合并。我们首先将初始车辆状态投射到两个分量坐标系中去,通过对预选模式中的多个候选最终状态进行采样,我们来选择最终车辆状态。对于每个候选最终状态,我们构建了一组轨迹将车辆初始状态转换为最终状态。
随后使用成本函数对这些轨迹进行评估并选择成本最低的轨迹。
我们还需要确定ST、SL图的终止状态。
终止状态主要有三种——巡航、跟随与停止。这三者分别代表不同的终末速度与加速度特性。
巡航意味着最终状态加速度为0,跟随意味着速度与加速度都需随着前车而变化,停止则意味着速度与加速度都会变为0.
而对于横向分量,我们则要求汽车驶向的终止状态应该与车道中心一致,即车的朝向和位置的一阶二阶导数都为0.这表明车既不是横向移动也不是横向加速的。
由于两个图都有S作为参考值,因此我们根据S值进行匹配来合并轨迹。这样便可以得到三维轨迹曲线图了。
<本文首发于零束开发者论坛>