资源经验分享自动驾驶(十六)---------动态避障规划

自动驾驶(十六)---------动态避障规划

2019-12-26 | |  72 |   0

原标题:自动驾驶(十六)---------动态避障规划

原文来自:CSDN      原文链接:https://blog.csdn.net/zhouyy858/article/details/98958267


       动态避障规划是接上回,导航规划和行为规划之后,动态避障规划是以上方面的具体实现,直接输出的是车辆行驶轨迹,如何合理的输出轨迹是自动驾驶的关键。

       本文分为以下三个方面来实现:周围车辆预测,轨迹初始化,避障优化轨迹。

1. 周围车辆预测

       感知模块分析出周围车辆、行人的位置、速度、朝向,利用物理运动规律,需要本车从更加宏观的角度来看待这些对象,例如未来和本车的位置关系,甚至根据当前环境的信息,提前对其他车辆和行人的行为进行理解。因此分为两个层面来讲解:a. 多目标跟踪预测, b. 驾驶员行为理解。

       多目标跟踪预测

       多目标跟踪主要任务是在给定视频中同时对多个感兴趣的目标进行定位,并且维持他们的ID、记录他们的轨迹。主要要解决的问题: 确定跟踪目标的数量、维持各自的ID、轨道初始化和终止、多目标之间的影响。

       这里主要是用感知模块的输出,多传感器的融合不在本章节的讨论范围之内。因此本文已知感知模块的最终结果,一套统一的坐标系下,对周围环境的感知最终结果。跟踪流程如下:

       1)在上一帧中的N个目标中找到了本次检测到的目标,说明正常跟踪到了;

       2)在上一帧中的N个目标中没有找到本次检测到的目标,说明这个目标是这一帧中新出现的,所以我们需要把它记录下来,用于下下一次的跟踪关联;

       3)在上一帧中存在某个目标,这一帧中并没有与之关联的目标,那么说明该目标可能从视野中消失了,我们需要将其移除。(注意这里的可能,因为有可能由于检测误差,在这一帧中该目标并没有被检测到)

       特别的这里介绍一下数据关联方式,可用于目标融合:

        1).通过计算两帧中两个目标之间的距离,认为距离最短的一个就是同一个目标。

        2).还可以加上判断条件例如是IOU(交并比)判断条件,当IOU超过一定的阈值就说明是同一个目标。

       基于轨迹预测的跟踪算法:先预测目标的下一帧会出现的位置,然后与该预测的位置来进行对比关联。

      跟踪预测方法:1.卡尔曼滤波,2.粒子滤波 ,3.均值漂移算法,

      数据关联算法:1.多假设跟踪方法,2.关联滤波器方法, 3. 马尔可夫链蒙特卡罗方法,4. 匈牙利算法,5. 贪婪关联算法

      具体这些算法内容,不在本文的讨论范围之内,特别的这里的预测并不是单帧的预测,可以用于多帧的预测。

      驾驶员行为理解

       宏观层面的行为预测问题,往往可以抽象成经典的机器学习问题,并且利用基于大数据的深度学习技术来解决。总之解决的方法只有统计的方法 ,如下图车辆有Lane1、Lane2、Lane3、Lane4、Lane5、Lane6.几种选择,当判断出车辆的行为时,方便我们对接下来的轨迹做出准确估计。

                   03.png

       对驾驶员行为理解,深度学习有很好的表现,后面我们再系统展开。

2. 轨迹初始化

       轨迹初始化主要是由行为规则决定的,由车道线和行为规划决定,不考虑目标位置,和目标的行为,生成当前的车道中心线、转弯线、换道轨迹、路口引导线等等。

       同上,轨迹的初始化还是在感知模块基础下,包括拓扑地图、利用行为规划的决定,选择合适的预瞄点和轨迹。一般的采用三次曲线的方式描述:                                              04.png

       生成这条三次曲线推荐使用三次样条差值的方法,后面我还会对三次样条差值的方法进行详细研究。

3.避障优化轨迹

       轨迹可以采用优化问题来解决,谈到优化问题我们需要知道优化的约束和优化目标,其中约束分为这几个方面:交通规则+避免碰撞+运动学条件,优化的目标是人乘坐的舒适性。

       已知当前轨迹的多项式,本车周围其他车辆的位置,速度,加速度。设计一条新的轨迹,避免可能发生的碰撞。

       多项式格式:F(x) = C0+C1*X+C2*X*X+C3*X*X*X;

                                05.png

        假设 原始轨迹f1,求出的轨迹f2,周围车辆按照速度和加速度求的轨迹f3

        最小化以下公式:

                                       06.png

                 其中:07.png保证两条轨迹相似,求出来的轨迹和原始轨迹不会相差太远

                             Min(dis(i))  :每一时刻两车相隔距离,保证最小距离 最大化 是避障的关键

                             F2(i):计算的轨迹尽量在横轴上都为0,保证车辆的舒适性

        最优化上面的公式,求出f2的最优解,作为避障输出;

        求解方法采用Levenberg-Marquardt优化方法,初值为f1

 

 

 

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:自动驾驶(十五)---------再论轨迹规划

下一篇:自动驾驶(十七)---------深度学习RNN

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...