Apollo无人驾驶课程笔记 第五课-预测

1. 预测简介_a

无人车是在许多物体间穿梭行驶的,其中的许多物体本身就在移动,无人车需要预测这些物体的行为,这样才能确保无人车做出最佳决策。

在Apollo中,通过生成一条路径来预测物体的行为,比如下图所示的图中,汽车在匝道出向右行驶并且开始减速,那么可能的路径就是下图所示那样:
在这里插入图片描述
在行驶中,Apollo会为其他所有的物体做出类似的轨迹预测,这些共同形成了在一段时间内的预测路径,在每一段时间内,Apollo还会为每一辆汽车重新计算预测它们新生成的路径,这些预测在无人车的规划阶段所作出的决策提供了重要参考。

2. 预测简介_b

预测路径有实时性的要求,亦即算法的延迟越低越好;
在这里插入图片描述另一个目标则是准确性,比如相邻车道的车到底是要并入车道还是直行。
在这里插入图片描述
预测模块还应能够学习新的行为。当路上有很多车辆,情况将变得复杂,开发出每种静态场景的模型是不可能完成的任务,这就是为什么我们需要当我们遇到这样的情况时,预测模块能够学习新的行为。用这种方式,我们可以利用多源的数据进行训练,这样可以使算法随着时间的推移而提升预测能力。

3. Sebastian 介绍预测

预测可以说是决策的核心所在。

4. 不同的预测方式

预测主要有两种方法:基于模型的预测数据驱动预测

基于模型的预测实际上就是MPC类的算法。模型预测控制(Model Predictive Control)指一类算法,周期性基于当帧测量信息在线求解一个有限时间开环优化问题,并将结果的前部分控制序列作用于被控对象。根据所用模型不同,分为动态矩阵控制(DMC),模型算法控制(MAC)、广义预测控制(GPC)。在智能驾驶方向,重点在于基于状态空间模型的模型预测控制。
下图所示的就是一个典型的预测车辆是直行还是右转的模型,根据车辆的下一步动作来确定车辆的行驶意图。

数据驱动预测则是使用机器学习算法,通过观察结果来训练模型,一旦机器学习模型训练好,我们就可以在现实世界中利用此模型去做出预测。

基于模型预测的优点是在于它的直观,并且结合了我们现有的物理知识以及交通法规还有人类行为等多方面的知识。
数据驱动预测的优点是训练的数据越多,模型效果越好。
在这里插入图片描述

5. 基于车道的预测

Apollo提供了一种叫基于车道序列的方法,为了建立车道序列,先将道路分为多个部分,每一个部分覆盖了一个易于描述车辆运动的区域,例如下图是一个部分区域的十字路口。
在这里插入图片描述
为了预测,我们更关心的是车辆如何在这些区域内转换,而不是在某个区域内的具体行为。我们可以将车辆的行为划分为一组有限的模式组合,并将这些模式组合描述为车道序列。例如,直行汽车的运动可以描述为的车道序列是0-1-3-7.
在这里插入图片描述

6. 障碍物状态

为了预测物体的运动,我们也需要知道物体的状态,当我们驾驶车辆时,作为人类,我们通过观察一个物体的朝向、位置、速度和加速度来预测它将会做什么,这同样是一辆无人车如何观察物体的状态的方法。
在这里插入图片描述
除了朝向、位置、速度、加速度之外,无人车还需要考虑车道段内物体的位置。例如,预测模块会考虑从物体到车道线段边界的纵向和横向距离。
在这里插入图片描述
预测模块还包含之前时间间隔的状态信息,以便做出更准确的预测。
在这里插入图片描述

7. 预测目标车道

我们使用车道序列框架的目标是为道路上的物体生成轨迹,这是一个复杂的问题,所以我们先从一个简单的问题开始,我们来预测车道线段之间的过渡,假设我们在车道段0中检测到一辆车,并且我们会预测在接下来的几个时间段中它将如何行驶,有两个显而易见的选择:它可能停留在车段0然后向右转;或者可能转向车段1然后直行。此时,我们就将预测问题转换为了选择问题。
在这里插入图片描述
然后我们通过计算每个车道序列的概率来进行选择。我们需要一个模型,将车辆状态和车道段作为输入,该模型用于提供车辆可能采用每个车道序列的概率。
在这里插入图片描述
我们希望我们的模型能够学习新的行为,因此应该使用观测数据对模型进行经验性训练。在训练中,我们将真实的车辆行为提供给模型,不仅包括车道段和对象的状态,还包括车辆最终选择哪条车道序列。随着记录随着时间的的增加,模型可以自主迭代更行,不断提高精确度。每个记录将由观察对象跟随的车道段序列和对象的相关状态组成。在每个时间点,对象占用一段并具有特定的状态。整个记录由一系列车道段和对象的相关状态组成。
在这里插入图片描述

8. 递归神经网络

递归神经网络(recursive neural network)提出于1990年,被视为循环神经网络(recurrent neural network)的推广,递归神经网络具有可变的拓扑结构且权重共享,被用于包含结构关系的机器学习任务。
RNN的基本结构:
在这里插入图片描述

9. 递归神经网络在目标车道预测的应用

Apollo使用RNN来建立一个模型来预测车辆的目标车道。

Apollo为车道序列提供一个RNN模型,为相关对象状态提供另一个RNN模型,Apollo连接这两个RNN的输出并将它们馈送到另一个神经网络,该神经网络会估计每个车道序列的概率,具有最高概率的车道序列就是我们预测目标车辆将遵循的序列。

为了训练这个网络,我们使用现有的记录,每条记录都包含一个车道序列、相关对象的状态和一个标签,用于指示对象是否遵循此特定车道序列。在训练中,我们比较网络输出和真值标记,并使用反向传播来训练网络。
在这里插入图片描述

10. 轨迹生成

轨迹生成是预测的最后一步,一旦我们预测到物体的车道序列,我们就可以预测物体的轨迹。在A和B两点间,有无数条轨迹,那么应该如何预测最有可能的轨迹呢?
在这里插入图片描述
我们可以先通过设置约束条件来去除大部分候选轨迹,车辆的动力学约束是显而易见的,在实际中,一般是用多项式去进行拟合。
在这里插入图片描述

11. 课程综述

这一课我们介绍了如何将复杂的车辆运动转换为车道转换序列,这样可以大大的减少场景的数量;然后,我们介绍了如何使用现有的观测值以车道序列表示,训练神经网络来进行预测;最后我们将车道序列预测与车辆动力学结合起来,为每个物体生成预测的轨迹。

发布了36 篇原创文章 · 获赞 8 · 访问量 1561

猜你喜欢

转载自blog.csdn.net/weixin_43619346/article/details/104973651