我是靠谱客的博主 爱听歌春天,最近开发中收集的这篇文章主要介绍基于C-V2X逆向超车预警算法的实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

逆向超车算法的流程图如下图所示:

背景技术:

本算法主要是基于V2X通信技术,在道路交通中,车辆与车辆之间通过该项技术进行数据交互,将自身的各项基本信息,如位置信息,经度纬度,速度信息,车辆的状态信息发送给其他车辆,同时也将接收其他车辆的基本信息然后进行算法处理操作,判断出车辆在借道超车的的过程中,是否存在与对向车辆存在碰撞的危险。

技术实现要素:

  1. 主车可以获取自身的相关信息,包括位置信息、航向角信息、速度信息等,并将自身信息通过广播发送给其他车辆。
  2. 筛选出周围有效车辆,并获取其他车辆的基本信息。
  3. 判断周围有效车辆的航向角是否与本车相同,同时也要判断出两车的横向距离差(两车距离的相对宽度)。行驶方向相同,相对宽度控制在一定范围内,即可视为在同一车道上。
  4. 判断前方车辆是否满足被超车条件,就是判断前车是否为直行状态,判断车辆的左右转向灯是否为关闭的状态。
  5. 在前车满足被超车的状态下,可以筛选与本车航向相反的车辆,判断出最具有碰撞危险的车辆,然后进行距离、方位等信息的判断。
  6. 逆向车道的车辆碰撞条件成立,系统将会对主车进行预警。

如何来判断两车的相对方位,要主车的航向角,以及两车的经纬度来进行判断,如下图所示:

想要得到车B在车A的具体位置,这个位置和航向角有关,要是用东、南、西、北等方位词来表示位置,还要考虑车A的行驶方向,反而更加的麻烦,在这里可以用前、后、左、右等方位词来表示。上图可以得出B在车A的右上方,应该如何出右前方。首先第一步,可以根据A、B两点的坐标值来得出有向线段AB与正北方向的夹角称之为∠A,然后在根据得到的车A的航向角与∠A去进行比较,如上图当∠A的值处于Heading~Heading+90这一范围内,就很容易得出车B在车A的右上方,依次类推,很容易判断出相对方位正前、正后、正左、正右、左前、左后、右前、右后,具体情况可以进行画图分析,然后进行代码的实现就可以了。

在实际测试过程中,如果主车的和远车在同一车道行驶,判断条件为:主车的航向角与远车的航向角偏差在一定范围内,并且车辆的相对宽度小于一定的距离。远车在主车的前方,用上面的方法进行判断即可,并且远车满足被超车条件:左转向灯和右转向灯均处于关闭状态,证明远车在沿直线行驶。主车打开左转向灯,准备借助左边逆向车道进行超车,算法需要查找出周围车辆与主车航向角方向相反的车辆,并且最具有潜在危险碰撞的远车,通过相对宽度的计算得出是否在主车的相邻车道,通过相对方位得出该远车是在左邻车道还是右邻车道,最终得出结果,远车在主车的相邻车道,相对方位为左前方,并且当相对直线距离满足一定的条件之后,算法将会对主车进行预警,如下图所示:

更多产品内容请关注北京大椽科技有限公司官网:www.dachuantek.com 

 

 

最后

以上就是爱听歌春天为你收集整理的基于C-V2X逆向超车预警算法的实现的全部内容,希望文章能够帮你解决基于C-V2X逆向超车预警算法的实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部