0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于Apollo 2.5预测系统的内容分享

佐思汽车研究 来源:未知 作者:李倩 2018-07-16 10:54 次阅读

在第4期Apollo自动驾驶公开课中,来自Apollo团队的高级研发工程师-詹锟老师为大家带来了关于Apollo 2.5预测系统的内容分享。

詹锟老师主要从三个方面讲解了Apollo 2.5的预测系统:

第一自动驾驶为什么需要预测,预测的作用是什么,如果没有预测会怎样;

第二从代码层面详述Apollo的预测系统代码是如何实现的,每个模块的功能,如果开发者要改动或者修改应该怎么介入;

第三Apollo预测系统在实际场景中所遇到的困难,以及解决方案。

这里,我们将整理后的公开课视频资料分享给大家,没能到达现场的开发者可以通过视频和PPT资料来详细了解课程内容。

Apollo 2.5预测系统介绍

预测模块是连接感知和决策规划的桥梁,结合物理世界的人类行为习惯进行适当的逻辑推理,将周围障碍物下一时刻和后续多个时刻的运动行为进行估计,给出对应可能的运动轨迹线。

詹锟老师主要从代码层面剖析Apollo2.5的预测系统。

Apollo代码架构预测部分分为3个部分,第一个是Container,作用是合理规划整合上游数据,处理历史信息;第二部分是评估、评价,是预测系统的核心,非常适用于神经网络的学习,建立合理模型,使其找到人类的历史行为轨迹,预测路线。通过第二部分的推理,系统会绘制出物体的行为轨迹,并将结果传递给决策规划层。

Container

首先是Container, ADC trajectory可以通过路权做合理的推理,让障碍物不直接发生预测。第二是构建来自感知障碍物、定位和高精图等序列化特征。第三是本车的状态。除了上面的特征抽取以外,更重要一步是需要把地图信息进行合理的规划。

如何在复杂的物理世界中,把地图数据进行合理的刻画,这是非常重要的步骤。通过把每条Lane,拆分成小的Lane,Lane1、Lane2、Lane3,按照前后级关系,组成具体的序列,每个序列上车都可以沿着其中一个序列进行走,就是这个车的轨迹线。上图可以看到红车有可能走三条轨迹线,就是Lane1、Lane2、Lane3,根据当前的地图信息和当前的Lane的位置状态,刻画出这样具有特征表达的地图信息出来,只有物理识别信息进行合理表达,才能进行网络学习、数据驱动,这是根据地图特征信息抽取非常重要的部分。

在Apollo代码里,表达出每个特征的特性,如上图左边是关于障碍物的特征,包含了车的位置信息、速度信息、加速信息、位置方向还有它的长、宽、高等等,右边是代表它的Lane信息,把细小的Lane,组成Lane feature。这就是Container需要做的事情。

Evaluator

第二部是逻辑推理阶段,这也是预测直接使用神经网络的方式。就Apollo来说,对车辆进行了深度神经网络的学习。具体来讲,结构如图所示,将每个障碍物各自特征输入给LSTM的模型,每个LSTM对特征信息进行了全连接,最后输出走这一条LSTM。第一规划Lane横向行为的分类情况,选择是否走此Lane,选择Lane1还是Lane2。第二是它的动力学,速度是什么样的,就是它纵向的问题。第一是分类问题,同时结合在一个神经网络中,这是Apollo 2.5的神经网络。

前面有两种预测方式,开发者可以根据自己的特性选择自己的评价网络,只是这个结构可以根据Apollo配置。

Predictor

选择某条Lane或者知道Lane上面的速度以后,可以绘制出这个物体在Lane的行为轨迹,具体怎么绘制,有以下三种方式:一个是Free move,根据障碍物的动力学模型绘制出轨迹。第二是Lane sequence,就是根据车道中心线和Kalman滤波方法绘制的轨迹。第三是Move sequence,结合里学和车道信息融合后降采样的轨迹方式。第四是Regional,根据障碍物动力学和轨迹3Sigma方差构建的区域轨迹。

Apollo Data

数据开发者来说是非常重要的一部分,Apollo开放的数据对预测有很好的作用,基于Apollo Data,可以通过自己采集以及周围开发者共享数据进一步开发预测模型 。

Apollo Data的数据使用规范:

使用SL坐标系,车在轨道上做相对轨道的刻划,然后确定要走的车道线每一个车道的状态。通过这样的数据结构,给特定的Lane,检测它到底走没走这条线,通过这样的数据训练模型,通过数据驱动方式,可能就非常贴切的表达出人类的驾驶行为习惯,而不是通过规则算法来做。

实际效果

通过动图了解一下其效果:

自行车过马路的时候,本来应该是红灯变绿灯了,然后它应该在原地等待车辆驶过,但是其选择了闯红灯,系统能很好的给出预测线,这在预测场景是非常好的应用。

在无人车加速过路口的时候,有一个被隔离带遮挡的障碍物出现了,同时其也选择在无人车之前抢过这个路口,因此此时必须要有预测提前给主车提供这样的信号,让主车能及时做反应,而不是发生更危险的情况,这就是预测在承上启下作用中,有非常好的范围。

其实在中国的这些道路场景中,预测其实还遇到了非常多困难,最大的挑战预测其实是在路口上。路口有很多种行为方式,比如一个车道既可以调头,也可以左转,也可以直行,还有各种社会车辆不按轨迹行走,这其实也是对预测有非常大的困难。如图左侧车辆并没有按照真正的轨迹走,这样的场景对主车是非常大的威胁,理论上从交规上肯定是他们的过错,但是主车一切以安全为先,所以主车必须避让。对这样的场景,预测还是有很多困难。

第二场景是博弈的问题,低速过程中往往发生博弈现象,到底是哪辆车先走,这个情况是非常常见。如图中,两辆车都在等待对方先行,一方先行后,另一方又要开始行驶,所以需要进行上下游的沟通,才能进行更好的处理。

第三个场景是切车,有一些车辆行为比较暴躁,会在非常不合理的情况下急速加塞进来,导致主车处于很不安全的状态,从规则上并没有问题,但是这种场景对于自动驾驶也是要尽量躲让,这时预测需要更好刻画出驾驶行为是不是很危险、激进。

这种典型的挑战场景,其实还有很多,整个预测的问题也分为这两部分,一个是内部挑战,一个是外部挑战,内部挑战主要是数据怎么能把所有的特征表达充分,模型是否在建立的非常合理,是不是还有更好的建模方式,这都是内部的挑战。

同时既然是承上启下的模块,对上游数据的容忍度、依赖性都需要做一些处理,上游如果感知发出了消息,系统应该怎么根据历史信息做很好的规避?做很好的容错,这也是一个挑战。同时像博弈问题,需要给下游决策做一些很好的交互,怎么提醒它先避让还是先加速过去,这也是给预测带来了非常多困难。

后续Apollo预测还是要不断迭代更新,具体来说,会在特征方面做更多的融合处理,利用历史信息,除了考虑当前的障碍物,还要考虑周围所有障碍物,对全局进行估计。另外模型的迭代,同时数据积累,把仿真和真实打通,作为系统整合,需要上下游的联系,通过多个维度,对预测模块进行整合,这是后续Apollo需要做的事情。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4771

    浏览量

    100720
  • Apollo
    +关注

    关注

    5

    文章

    342

    浏览量

    18445

原文标题:​自动驾驶公开课 | Apollo 2.5预测系统介绍

文章出处:【微信号:zuosiqiche,微信公众号:佐思汽车研究】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    智能电网预测负荷波动的影响

    智能电网预测负荷波动和新能源出力方面在整个电网电量管理系统中,负荷所占据的比重极大,它对于整体运行安全性会带来直接影响。当前,电网数据采集范围正在持续扩大,它也充分涉及有关于气象信息、用户信息等
    发表于 07-12 06:52

    如何对Apollo2.5 CANBUS进行全面调试?

    前言:CANBUS是Apollo需要根据你的底盘写代码的地方,感觉也是Apollo最难调试的部分。这部分首先要选好CAN卡,因为不是Apollo推荐的CAN卡,驱动程序和对应接口,可能都需要自己调整
    发表于 08-30 06:02

    Ambiq Apollo4的相关资料推荐

    今天翻官方的网站,发现了 Apollo4 的链接。从其中下来Apollo3-Apollo4-SDK-2020.06.20,发现了\boards\apollo4_eb\examples\u***\tinyu***_cdc这个不错,
    发表于 12-13 08:30

    Apollo Heritage版音频接口附带的插件

     Universal Audio在去年推出的Apollo Heritage版音频接口提供了5个或10个获奖的UAD插件,包括Teletronix®、Fairchild®、Pultec®、Helios
    发表于 01-24 08:59

    Apollo 2.5版基于相对地图的新导航模式

    本文对Apollo2.5版的构建、参考线数据采集与制作、Dreamview前端编译配置、导航模式使用等内容进行全面阐述,希望能给各位开发者正常使用Apollo 2.5版新导航模式带来一
    的头像 发表于 04-20 10:37 1.2w次阅读
    <b class='flag-5'>Apollo</b> <b class='flag-5'>2.5</b>版基于相对地图的新导航模式

    关于Apollo“云+端”的实战内容, Apollo 2.0 实战技术基础

    Apollo数据规范产生,完整的、精确记录的数据包,可以完成问题复现,也同时完成数据积累。通过传输接口,可以将数据高效地传输到运营点和云集群中。
    的头像 发表于 04-24 10:32 6488次阅读

    百度发布Apollo 2.5,传感器解决方案成本更低

    Apollo 2.5以前的版本提供的Velodyne 64线激光雷达解决方案给市场较大的成本压力。
    的头像 发表于 04-25 16:19 6134次阅读

    百度Apollo周年_“数据”才是真正的主角

    2018年4月18日,百度举行了Apollo 2.5 开放技术发布会,这时距离Apollo首次亮相,刚好过去1整年。 在一周年庆生会上,我们获得了几个新消息:百度正式开源Apollo
    的头像 发表于 06-06 09:11 3945次阅读

    百度Apollo2.5全球首发:比亚迪成第100位合作伙伴,进一步提升自动驾驶安全性

    2018年4月19日——在百度宣布推出Apollo计划整整一周年后,这家互联网巨头于北京竞园艺术中心举行了“Apollo Meetup——Apollo2.5 开放技术发布会”,正式对外发布
    发表于 06-29 09:26 1263次阅读

    浅析Apollo 2.5限定场景低成本技术方案

    本文来自Apollo团队的资深架构师-朱帆老师对Apollo 2.5自动驾驶规划控制系统进行了详细介绍。
    的头像 发表于 07-19 09:56 3435次阅读

    关于Apollo3.0 PnC更新以及车辆开放平台的讲解

    模块我们也部署了新的检测方案;而新增加的Guardian-Safety Module是Apollo平台关于功能安全新的尝试;在Monitor也更新了对硬件的检测、软件的功能检测,为了和Guardian
    的头像 发表于 08-22 12:57 9142次阅读

    基于规则的预测算法和基于机器学习的预测算法

    Apollo 障碍物行为预测系统采用 MLP 多层感知机制,通过深度神经网络与规划算法,达到精准预测路径的目的。
    的头像 发表于 12-18 09:54 9084次阅读

    预测问题简化为选择问题——Apollo车道预测详解

    这节课,我们将从 Apollo 的车道预测开始,学习新的内容
    的头像 发表于 01-05 09:15 3976次阅读
    将<b class='flag-5'>预测</b>问题简化为选择问题——<b class='flag-5'>Apollo</b>车道<b class='flag-5'>预测</b>详解

    关于 STM32 的几点内容

    关于STM32的几点内容
    的头像 发表于 03-08 12:02 2165次阅读

    apollo系列之apollo2 mcu开发(基础篇)之1.1-apollo2 mcu简介

    更多内容在:apollo系列汇总Apollo2 mcu的架构
    发表于 10-25 17:36 20次下载
    <b class='flag-5'>apollo</b>系列之<b class='flag-5'>apollo</b>2 mcu开发(基础篇)之1.1-<b class='flag-5'>apollo</b>2 mcu简介