关于Apollo25预测系统的内容分享
在第4期Apollo自动驾驶公开课中,来自Apollo团队的高级研发工程师詹锟老师为大家带来了关于Apollo25预测系统的内容分享。
詹锟老师主要从三个方面讲解了Apollo25的预测系统:第一自动驾驶为什么需要预测,预测的作用是什么,如果没有预测会怎样;第二从代码层面详述Apollo的预测系统代码是如何实现的,每个模块的功能,如果开发者要改动或者修改应该怎么介入;第三Apollo预测系统在实际场景中所遇到的困难,以及解决方案。这里,我们将整理后的公开课视频和资料分享给大家,没能到达现场的开发者可以通过视频和PPT资料来详细了解课程内容。Apollo25预测系统介绍预测模块是连接感知和决策规划的桥梁,结合物理世界的人类行为习惯进行适当的逻辑推理,将周围障碍物下一时刻和后续多个时刻的运动行为进行估计,给出对应可能的运动轨迹线。詹锟老师主要从代码层面剖析Apollo25的预测系统。
Apollo代码架构预测部分分为3个部分,第一个是Co
tai
er,作用是合理规划整合上游数据,处理历史信息;第二部分是评估、评价,是预测系统的核心,非常适用于神经网络的学习,建立合理模型,使其找到人类的历史行为轨迹,预测路线。通过第二部分的推理,系统会绘制出物体的行为轨迹,并将结果传递给决策规划层。Co
tai
er
首先是Co
tai
er,ADCtrajectory可以通过路权做合理的推理,让障碍物不直接发生预测。第二是构建来自感知障碍物、定位和高精图等序列化特征。第三是本车的状态。除了上面的特征抽取以外,更重要一步是需要把地图信息进行合理的规划。
f如何在复杂的物理世界中,把地图数据进行合理的刻画,这是非常重要的步骤。通过把每条La
e,拆分成小的La
e,La
e1、La
e2、La
e3,按照前后级关系,组成具体的序列,每个序列上车都可以沿着其中一个序列进行走,就是这个车的轨迹线。上图可以看到红车有可能走三条轨迹线,就是La
e1、La
e2、La
e3,根据当前的地图信息和当前的La
e的位置状态,刻画出这样具有特征表达的地图信息出来,只有物理识别信息进行合理表达,才能进行网络学习、数据驱动,这是根据地图特征信息抽取非常重要的部分。
在Apollo代码里,表达出每个特征的特性,如上图左边是关于障碍物的特征,包含了车的位置信息、速度信息、加速信息、位置方向还有它的长、宽、高等等,右边是代表它的La
e信息,把细小的La
e,组成La
efeature。这就是Co
tai
er需要做的事情。Evaluator
第二部是逻辑推理阶段,这也是预测直接使用神经网络的r