基于C-V2X的闯红灯预警方法与流程

首先简单说明一下闯红灯预警算法流程图,总共分为7步如下图所示:

基于C-V2X的闯红灯预警方法与流程_第1张图片

背景技术:

本算法主要是基于V2X通信技术,在道路交通中,车辆与车辆之间,车辆与路侧设备之间通过该技术进行信息交互,通过自身的高精定位信息以及自身的相关算法,能够解决因为前方高围栏车辆造成的视野遮挡红绿灯,以及车速过快或者过慢造成的闯红灯行为,该项技术可以有效的降低车辆闯红灯的发生率,从而更好的优化交通环境。

技术实现要素:

  1. 获取主车的相关信息,包括经纬度信息、航向角信息、以及速度信息等等;
  2. 判断主车周围是否存在有效的路侧单元;
  3. 如果存在有效的路侧单元,就要查看是否含有有效的SPAT消息;
  4. 根据SPAT消息的内容,在通过地图信息判断信号灯与主车的位置;
  5. 获取主车车道的信息,获取车道所对应的相位ID,从而在SPAT消息中查找该相位的灯色和倒计时等信息
  6. 最后判断是否符合预警条件从而进行报警。

其中判断信号灯的和车辆的位置关系可以通过,车辆的航向角信息,以及车辆的经纬度信息,目标点的经纬度信息,进行计算和处理后可以获取目标点和车辆的相对位置。

接下来好好讲一讲如何获取车辆对应的相位ID,如图:

基于C-V2X的闯红灯预警方法与流程_第2张图片

 图1 MAP地图配置

首先我们先要确定主车所在的位置,这个位置是相对于Node ID而言,我们先要确定是的主车在哪两个Node之间,目前可以推荐的方法有“判断某一点是否在一个矩形内”,如下图所示:

基于C-V2X的闯红灯预警方法与流程_第3张图片

图2 叉乘法示例图 

我们把每个路段看成一个多边形,然后利用叉乘的方法判断主车P是否在这一路段内,计算方法:|p1 p2| X |p1 p| >= 0 && |p3 p4| X|p3 p| >= 0 ,可以判断出点p在p1p2,p3p4之间;同理可以利用该方法判断出p在p1p4,p2p3之间,|p1 p2| X |p1 p|的计算公式为:

(x2-x1) X (y0-y1) - (x0-x1) X (y2-y1)。

依据上面的方法我们可以确定在主车在哪两个Node之间,然后我们在根据这两个Node与主车的位置关系以及主车的航向角确定这两个Node中哪一个是上游节点,哪一个是下游节点,例如确定主车在图1中Node 1 和Node2之间,同时能够确定主车的行驶方向前方为Node1,那么我们就可以确认主车的下游节点为Node1,上游节点为Node2,同时我们能够确定我们所在的位置为Link3。同理我们可以把每条Lane看作一个矩形,利用叉乘法判断出主车在哪一车道Lane。确定所在车道Lane后,根据地图配置可以找到本车道连接的下游车道编号以及相位ID,从而获取该相位ID的灯色以及灯色倒计时。

获取相位ID的灯色和灯色倒计时后我们就可以判断主车是否存在闯红灯的危险,首先我们要计算出车辆到达路口的直线距离d0,方法就是两点之间直线的距离,这就不用多说了,然后我们获取主车的速度v0,然后我们可以根据距离和速度计算出我们想要的时间:

t0 = d0 / v0,拥有这些数据后,我们便可以开始判断是否存在闯红灯危险。

当主车所在车道获取的相位灯色为红灯以及红灯倒计时,如下图所示:

基于C-V2X的闯红灯预警方法与流程_第4张图片

图3 闯红灯示意图 

当前灯色为红灯,绿灯倒计时时间为27s,并且主车的速度为54km/h,也就是15m/s,距离为75m,若主车以当前速度行驶预计5S后到达路口,由于红灯倒计时为27s,主车到达路口后仍为红灯,所以算法将会触发,通过HMI来提示主车驾驶员闯红灯预警。

当主车所在车道获取的相位灯色为绿灯以及绿灯倒计时(黄灯情况和绿灯一致),如下图所示:

基于C-V2X的闯红灯预警方法与流程_第5张图片

图4闯红灯示意图 

当前灯色为绿灯,绿灯倒计时时间为7s,并且主车的速度为18km/h,也就是5m/s,距离为65m,若主车以当前速度行驶预计13s后到达路口,由于绿灯倒计时为7s,即使有黄灯3s倒计时,主车到达路口时灯色已变更为红灯,所以算法将会触发,通过HMI来提示主车驾驶员闯红灯预警。

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

 

你可能感兴趣的:(开发语言,物联网,算法,arm)