陈丽萍,杨 洁,覃倩倩,朱文超
(西南林业大学机械与交通学院,昆明 650224)
近年来,随着我国机动车保有量的迅速增加,交通安全问题越来越受到人们的重视,交通事故已经成为了我国公民主要死亡原因之一,然而在诸多交通事故中,碰撞是交通事故发生的主要表现形式[1-2]。
目前对于防碰撞算法的研究已经取得了一些成果。如蔡启仲等[3]设计了一种基于GPS 与无线通讯的防碰撞车载系统,利用GPS采集到的车辆经纬度弧度位置信息,计算车辆之间的地球球心夹角,推导出两车辆相对位置的计算公式。但该算法用到的GPS 定位系统存在定位可靠性低、只能单向通信的缺点。胡艳等[4]利用RSU 与感知设备(如毫米波雷达、摄像头等)连接获取道路交通信息,实现V2V 的信息交互,从而规避城市道路交叉口碰撞事故的发生。但充满杂波的外部环境会干扰感知设备对车辆位置、速度等信息的获取,导致虚警问题的发生[5]。针对上述问题,提出基于北斗定位的车辆防碰撞预警算法,采用北斗高精度实时动态定位技术(RNK)集成道路信息系统,定位精度可达到厘米级[6],与GPS、GLONASS、GALILEO 等定位系统相比,北斗定位技术采用三频信号方案,能更好地消除高阶电层延迟的影响,增强数据预处理能力[7-9],从而提高定位的可靠性;北斗定位附加了短报文通信功能[10],GPS 只能单向通信,北斗已实现双向通信功能,北斗用户利用终端不仅可以知道自己的位置,还可以通过短报文将自己的情况告知他人,这在沙漠、深山等没有网络覆盖或灾难发生通信受阻是至关重要[11-12]。主要包括构建算法构成框图、计算加速度可变的安全距离、建立并求解预测模型和算法仿真4部分。
每个车辆装有如图1 所示的电子模块,这些模块组成一个基本的防碰撞预警设备。
图1 构成框图
车辆通过北斗定位模块监测自车及邻近车辆的位置坐标,无线通信模块可以检测到邻近车辆的速度以及加速度等信息,在距离1 m 之内的范围内进行车-车通信,处理器模块将北斗定位模块和无线通信模块传递过来的数据信息进行评估计算,并做出决策,最后将指令传达给音频预警模块,以提示驾驶员做出正确的操作。
此预警设备是基于车-车通信的基础上所研发的防碰撞预警方案,只需简单地通过北斗定位获取位置信息和通过V2V 通信技术获得数据信息,预测判断是否具有碰撞风险,然后经过处理器计算能够达到安全距离的最小时间,并及时向驾驶员发出预警信息,提醒驾驶员注意。此种算法包括位置坐标的获取、卡尔曼滤波预测和碰撞情况预测。
将每台车辆安装上具有亚米级的北斗定位模块和基于V2V 技术的无线通信模块,通过V2V 通信技术的广播定位自车的行驶位置的北斗坐标,并且通过卡尔曼滤波接收并预测周边相邻车辆的位置信息、速度以及加速度,对周边车辆位置接收北斗位置坐标。根据所得的自车位置坐标和周边车辆位置坐标,将坐标信息分解成X与Y两个方向,利用卡尔曼预测技术分别对周边车辆的下一步位置信息、速度以及加速度进行预测判断,迅速挑选出不会碰撞和一定会碰撞的情况,对除此之外的其他情况进行分析,计算加速度有可能改变的情况下的行车安全距离,建立预测模型,将该模型分解成两个方向分析,分别求出这两个方向的时间最小值,这个值便是汽车发出预警信号的临界值,报警系统就会提醒驾驶员注意周边车辆。
加速度与时间的关系如图2所示。
图2 加速度与时间的关系
收集到自身车辆以及相邻车辆的最新坐标信息后,利用卡尔曼滤波预测算法预测t时刻车辆行驶情况以及下一时刻自身车辆和相邻车辆的位置信息,经过新坐标的不断输入,循环执行卡尔曼滤波算法,不断预测X和Y两方向新的位置信息。将该模型分解成X和Y两个方向分析,分别求出这两个方向都可以达到安全距离时的时间最小值,这个值便是汽车发出预警信号的临界值,一旦达到这个值,报警系统就会提醒驾驶员注意周边车辆。如图3所示,经过这样的转换,就将车辆的防碰撞问题简化为单方向的防碰撞问题。
图3 车辆行驶方向分解
在正常的行驶中,加速度实际上是不断变化的,假设加速度随时间的变化是呈线性变化的,并且在接下来的1 s内,自身车辆与相邻车辆不会发生碰撞,相对于邻车B,自车A的相对加速度为:
由式(8)、(9)得,在同一方向上Dx(k) ≤Db,x(k)时,自车A 与邻车B 在X方向上产生重合Dy(k) =Db,y(k)时,自车A 与邻车B 在Y方向上发生重叠。所以此时的碰撞情况预测问题就可以转化为:
对于式(11)直接求解比较麻烦,系统的处理器能力达不到运算此模型的要求,故可用以下方式:
步骤(1):求解方程(12),若D′x(k)= 0 有无正实数解,则证明当k≥0 时,函数跟X轴无交点,然后将0代入求k≥0 时的解,若所得的解大于0,那么式(12)没有正实数根,然后直接进行式(4)的计算,反之解为k≥0。若有n个正实数解那就将所得到的根从0 开始排序,结 果 为x1,x2,…,xn+1(x1= 0 ),挑 选-2(xi+xi+1)/2,i= 1,…,n- 1 和xn+ 2,一共n+ 1 个数代入关系式,根据得出函数值的正负情况获得水平方向的解,也就是区间φx。
步骤(2):同(1)计算式(12),若没有正实数根,然后直接进行式(4)的计算,反之求解垂直方向,也就是φy。
步骤(3):假如φx∩φy=φ,那么模型式(11)没有正实数根,然后直接进行式(4),反之求解K=inf(φx∩φy),以得到式(11)的解。
步骤(4):若式(11)没有正实数根,那么就意味着不会有碰撞,则不发出报警信号,否则,要判断预警临界值与Kth的大小。在Kth时,则预警,即通过音频发送报警信号。
在实际应用环境中,在每辆车上都放置上述预警设备,则多辆车的碰撞问题就简化为两辆车的碰撞问题。所以,实验时,只需在两辆车上个放置一个所需的预警设备,此设备配有本文所述的所有模块,可以获取自身车辆的位置信息,并储存该数据。选取两车某个时间段采集到的位置数据进行分析,并选出部分数据信息表示相向行驶状态、同向行驶状态以及岔道口这3 种情况下的变加速运动。与此同时在模拟运动中选取3 个点分别模拟匀速运动以及加速运动的位置数据。运用MATLAB 软件计算该时间段内的3 种情况下每种运动的碰撞预测时间,位置等数据,得出仿真实验结果。如表1 所示。
表1 参数设置
情况一:如图4 所示,自车A 与邻车B 相向行驶,当预测位置在1~3 位置时,不会发生碰撞,故无需报警;当到达4 时,此时经过运算所得出的碰撞预测时间小于阀值,故在位置4 时,会报警。若车辆继续行驶,到达7,此时已经到达了报警的临界值,自车A 与邻车B的距离小于安全距离,所以两车会发生碰撞。
图4 相向行驶状态
情况二:如图5 所示,自车A 与邻车同向相向行驶,1~5 时间段内,车辆不需要报警,到达6 时,此时经过卡尔曼滤波预测算法得出此时的碰撞预测时间小于阀值,故在6 时会发出报警信号,若两车继续行驶,则当A 车到达时刻8 时,达到了预警的临界值,此时,车辆A 与车辆B会发生追尾。
图5 同向行驶状态
情况三:如图6 所示,此时车辆A 与车辆B 行驶于一个岔路口,在1~6 时刻,车辆不需要报警,当车辆行驶至7 时,经过卡尔曼滤波预测算法得出此时的碰撞预测时间小于阀值,发出报警信号,若两车继续行驶,则当A 车到达时刻9 时,达到了预警的临界值,此时,车辆A与车辆B会发生碰撞。
图6 岔路口行驶状态
综上所述,此算法可以准确地预测不同路况下的碰撞预警时间。
本文就车辆防碰撞预警算法的近况,提出了一种基于北斗定位系统的车辆防碰撞预警算法。根据数据预判断,迅速挑选出一定会发生碰撞和一定不会发生碰撞的情况,相应采取报警以及不报警的操作。对于不能立即做出判断的情况,在加速度可变的条件下,计算两台车辆之间的实际相对距离差以及最小安全距离差,然后建立预测碰撞模型,并求解该模型。得出碰撞预测时间的最小值,将最小值与先前设定的到达最小安全距离的时间阀值作比较,一旦预测的碰撞时间小于该阀值,则执行预警操作,发出报警信号。其次,论述了算法的实现公式,最后通过MATLAB 仿真,结果表明:利用北斗定位技术获取的位置信息与GPS 相比准确性更高,定位精度可达厘米级,有效解决了误报虚警的问题。本文研究的算法可适用于多种路况,较研究单一路况下的防碰撞预警算法相比,具有较强的适应性;该算法对降低碰撞概率、减少交通事故发生有重大意义。