陳麗萍,楊 潔,覃倩倩,朱文超
(西南林業(yè)大學(xué)機(jī)械與交通學(xué)院,昆明 650224)
近年來,隨著我國機(jī)動(dòng)車保有量的迅速增加,交通安全問題越來越受到人們的重視,交通事故已經(jīng)成為了我國公民主要死亡原因之一,然而在諸多交通事故中,碰撞是交通事故發(fā)生的主要表現(xiàn)形式[1-2]。
目前對(duì)于防碰撞算法的研究已經(jīng)取得了一些成果。如蔡啟仲等[3]設(shè)計(jì)了一種基于GPS 與無線通訊的防碰撞車載系統(tǒng),利用GPS采集到的車輛經(jīng)緯度弧度位置信息,計(jì)算車輛之間的地球球心夾角,推導(dǎo)出兩車輛相對(duì)位置的計(jì)算公式。但該算法用到的GPS 定位系統(tǒng)存在定位可靠性低、只能單向通信的缺點(diǎn)。胡艷等[4]利用RSU 與感知設(shè)備(如毫米波雷達(dá)、攝像頭等)連接獲取道路交通信息,實(shí)現(xiàn)V2V 的信息交互,從而規(guī)避城市道路交叉口碰撞事故的發(fā)生。但充滿雜波的外部環(huán)境會(huì)干擾感知設(shè)備對(duì)車輛位置、速度等信息的獲取,導(dǎo)致虛警問題的發(fā)生[5]。針對(duì)上述問題,提出基于北斗定位的車輛防碰撞預(yù)警算法,采用北斗高精度實(shí)時(shí)動(dòng)態(tài)定位技術(shù)(RNK)集成道路信息系統(tǒng),定位精度可達(dá)到厘米級(jí)[6],與GPS、GLONASS、GALILEO 等定位系統(tǒng)相比,北斗定位技術(shù)采用三頻信號(hào)方案,能更好地消除高階電層延遲的影響,增強(qiáng)數(shù)據(jù)預(yù)處理能力[7-9],從而提高定位的可靠性;北斗定位附加了短報(bào)文通信功能[10],GPS 只能單向通信,北斗已實(shí)現(xiàn)雙向通信功能,北斗用戶利用終端不僅可以知道自己的位置,還可以通過短報(bào)文將自己的情況告知他人,這在沙漠、深山等沒有網(wǎng)絡(luò)覆蓋或?yàn)?zāi)難發(fā)生通信受阻是至關(guān)重要[11-12]。主要包括構(gòu)建算法構(gòu)成框圖、計(jì)算加速度可變的安全距離、建立并求解預(yù)測模型和算法仿真4部分。
每個(gè)車輛裝有如圖1 所示的電子模塊,這些模塊組成一個(gè)基本的防碰撞預(yù)警設(shè)備。
圖1 構(gòu)成框圖
車輛通過北斗定位模塊監(jiān)測自車及鄰近車輛的位置坐標(biāo),無線通信模塊可以檢測到鄰近車輛的速度以及加速度等信息,在距離1 m 之內(nèi)的范圍內(nèi)進(jìn)行車-車通信,處理器模塊將北斗定位模塊和無線通信模塊傳遞過來的數(shù)據(jù)信息進(jìn)行評(píng)估計(jì)算,并做出決策,最后將指令傳達(dá)給音頻預(yù)警模塊,以提示駕駛員做出正確的操作。
此預(yù)警設(shè)備是基于車-車通信的基礎(chǔ)上所研發(fā)的防碰撞預(yù)警方案,只需簡單地通過北斗定位獲取位置信息和通過V2V 通信技術(shù)獲得數(shù)據(jù)信息,預(yù)測判斷是否具有碰撞風(fēng)險(xiǎn),然后經(jīng)過處理器計(jì)算能夠達(dá)到安全距離的最小時(shí)間,并及時(shí)向駕駛員發(fā)出預(yù)警信息,提醒駕駛員注意。此種算法包括位置坐標(biāo)的獲取、卡爾曼濾波預(yù)測和碰撞情況預(yù)測。
將每臺(tái)車輛安裝上具有亞米級(jí)的北斗定位模塊和基于V2V 技術(shù)的無線通信模塊,通過V2V 通信技術(shù)的廣播定位自車的行駛位置的北斗坐標(biāo),并且通過卡爾曼濾波接收并預(yù)測周邊相鄰車輛的位置信息、速度以及加速度,對(duì)周邊車輛位置接收北斗位置坐標(biāo)。根據(jù)所得的自車位置坐標(biāo)和周邊車輛位置坐標(biāo),將坐標(biāo)信息分解成X與Y兩個(gè)方向,利用卡爾曼預(yù)測技術(shù)分別對(duì)周邊車輛的下一步位置信息、速度以及加速度進(jìn)行預(yù)測判斷,迅速挑選出不會(huì)碰撞和一定會(huì)碰撞的情況,對(duì)除此之外的其他情況進(jìn)行分析,計(jì)算加速度有可能改變的情況下的行車安全距離,建立預(yù)測模型,將該模型分解成兩個(gè)方向分析,分別求出這兩個(gè)方向的時(shí)間最小值,這個(gè)值便是汽車發(fā)出預(yù)警信號(hào)的臨界值,報(bào)警系統(tǒng)就會(huì)提醒駕駛員注意周邊車輛。
加速度與時(shí)間的關(guān)系如圖2所示。
圖2 加速度與時(shí)間的關(guān)系
收集到自身車輛以及相鄰車輛的最新坐標(biāo)信息后,利用卡爾曼濾波預(yù)測算法預(yù)測t時(shí)刻車輛行駛情況以及下一時(shí)刻自身車輛和相鄰車輛的位置信息,經(jīng)過新坐標(biāo)的不斷輸入,循環(huán)執(zhí)行卡爾曼濾波算法,不斷預(yù)測X和Y兩方向新的位置信息。將該模型分解成X和Y兩個(gè)方向分析,分別求出這兩個(gè)方向都可以達(dá)到安全距離時(shí)的時(shí)間最小值,這個(gè)值便是汽車發(fā)出預(yù)警信號(hào)的臨界值,一旦達(dá)到這個(gè)值,報(bào)警系統(tǒng)就會(huì)提醒駕駛員注意周邊車輛。如圖3所示,經(jīng)過這樣的轉(zhuǎn)換,就將車輛的防碰撞問題簡化為單方向的防碰撞問題。
圖3 車輛行駛方向分解
在正常的行駛中,加速度實(shí)際上是不斷變化的,假設(shè)加速度隨時(shí)間的變化是呈線性變化的,并且在接下來的1 s內(nèi),自身車輛與相鄰車輛不會(huì)發(fā)生碰撞,相對(duì)于鄰車B,自車A的相對(duì)加速度為:
由式(8)、(9)得,在同一方向上Dx(k) ≤Db,x(k)時(shí),自車A 與鄰車B 在X方向上產(chǎn)生重合Dy(k) =Db,y(k)時(shí),自車A 與鄰車B 在Y方向上發(fā)生重疊。所以此時(shí)的碰撞情況預(yù)測問題就可以轉(zhuǎn)化為:
對(duì)于式(11)直接求解比較麻煩,系統(tǒng)的處理器能力達(dá)不到運(yùn)算此模型的要求,故可用以下方式:
步驟(1):求解方程(12),若D′x(k)= 0 有無正實(shí)數(shù)解,則證明當(dāng)k≥0 時(shí),函數(shù)跟X軸無交點(diǎn),然后將0代入求k≥0 時(shí)的解,若所得的解大于0,那么式(12)沒有正實(shí)數(shù)根,然后直接進(jìn)行式(4)的計(jì)算,反之解為k≥0。若有n個(gè)正實(shí)數(shù)解那就將所得到的根從0 開始排序,結(jié) 果 為x1,x2,…,xn+1(x1= 0 ),挑 選-2(xi+xi+1)/2,i= 1,…,n- 1 和xn+ 2,一共n+ 1 個(gè)數(shù)代入關(guān)系式,根據(jù)得出函數(shù)值的正負(fù)情況獲得水平方向的解,也就是區(qū)間φx。
步驟(2):同(1)計(jì)算式(12),若沒有正實(shí)數(shù)根,然后直接進(jìn)行式(4)的計(jì)算,反之求解垂直方向,也就是φy。
步驟(3):假如φx∩φy=φ,那么模型式(11)沒有正實(shí)數(shù)根,然后直接進(jìn)行式(4),反之求解K=inf(φx∩φy),以得到式(11)的解。
步驟(4):若式(11)沒有正實(shí)數(shù)根,那么就意味著不會(huì)有碰撞,則不發(fā)出報(bào)警信號(hào),否則,要判斷預(yù)警臨界值與Kth的大小。在Kth時(shí),則預(yù)警,即通過音頻發(fā)送報(bào)警信號(hào)。
在實(shí)際應(yīng)用環(huán)境中,在每輛車上都放置上述預(yù)警設(shè)備,則多輛車的碰撞問題就簡化為兩輛車的碰撞問題。所以,實(shí)驗(yàn)時(shí),只需在兩輛車上個(gè)放置一個(gè)所需的預(yù)警設(shè)備,此設(shè)備配有本文所述的所有模塊,可以獲取自身車輛的位置信息,并儲(chǔ)存該數(shù)據(jù)。選取兩車某個(gè)時(shí)間段采集到的位置數(shù)據(jù)進(jìn)行分析,并選出部分?jǐn)?shù)據(jù)信息表示相向行駛狀態(tài)、同向行駛狀態(tài)以及岔道口這3 種情況下的變加速運(yùn)動(dòng)。與此同時(shí)在模擬運(yùn)動(dòng)中選取3 個(gè)點(diǎn)分別模擬勻速運(yùn)動(dòng)以及加速運(yùn)動(dòng)的位置數(shù)據(jù)。運(yùn)用MATLAB 軟件計(jì)算該時(shí)間段內(nèi)的3 種情況下每種運(yùn)動(dòng)的碰撞預(yù)測時(shí)間,位置等數(shù)據(jù),得出仿真實(shí)驗(yàn)結(jié)果。如表1 所示。
表1 參數(shù)設(shè)置
情況一:如圖4 所示,自車A 與鄰車B 相向行駛,當(dāng)預(yù)測位置在1~3 位置時(shí),不會(huì)發(fā)生碰撞,故無需報(bào)警;當(dāng)?shù)竭_(dá)4 時(shí),此時(shí)經(jīng)過運(yùn)算所得出的碰撞預(yù)測時(shí)間小于閥值,故在位置4 時(shí),會(huì)報(bào)警。若車輛繼續(xù)行駛,到達(dá)7,此時(shí)已經(jīng)到達(dá)了報(bào)警的臨界值,自車A 與鄰車B的距離小于安全距離,所以兩車會(huì)發(fā)生碰撞。
圖4 相向行駛狀態(tài)
情況二:如圖5 所示,自車A 與鄰車同向相向行駛,1~5 時(shí)間段內(nèi),車輛不需要報(bào)警,到達(dá)6 時(shí),此時(shí)經(jīng)過卡爾曼濾波預(yù)測算法得出此時(shí)的碰撞預(yù)測時(shí)間小于閥值,故在6 時(shí)會(huì)發(fā)出報(bào)警信號(hào),若兩車?yán)^續(xù)行駛,則當(dāng)A 車到達(dá)時(shí)刻8 時(shí),達(dá)到了預(yù)警的臨界值,此時(shí),車輛A 與車輛B會(huì)發(fā)生追尾。
圖5 同向行駛狀態(tài)
情況三:如圖6 所示,此時(shí)車輛A 與車輛B 行駛于一個(gè)岔路口,在1~6 時(shí)刻,車輛不需要報(bào)警,當(dāng)車輛行駛至7 時(shí),經(jīng)過卡爾曼濾波預(yù)測算法得出此時(shí)的碰撞預(yù)測時(shí)間小于閥值,發(fā)出報(bào)警信號(hào),若兩車?yán)^續(xù)行駛,則當(dāng)A 車到達(dá)時(shí)刻9 時(shí),達(dá)到了預(yù)警的臨界值,此時(shí),車輛A與車輛B會(huì)發(fā)生碰撞。
圖6 岔路口行駛狀態(tài)
綜上所述,此算法可以準(zhǔn)確地預(yù)測不同路況下的碰撞預(yù)警時(shí)間。
本文就車輛防碰撞預(yù)警算法的近況,提出了一種基于北斗定位系統(tǒng)的車輛防碰撞預(yù)警算法。根據(jù)數(shù)據(jù)預(yù)判斷,迅速挑選出一定會(huì)發(fā)生碰撞和一定不會(huì)發(fā)生碰撞的情況,相應(yīng)采取報(bào)警以及不報(bào)警的操作。對(duì)于不能立即做出判斷的情況,在加速度可變的條件下,計(jì)算兩臺(tái)車輛之間的實(shí)際相對(duì)距離差以及最小安全距離差,然后建立預(yù)測碰撞模型,并求解該模型。得出碰撞預(yù)測時(shí)間的最小值,將最小值與先前設(shè)定的到達(dá)最小安全距離的時(shí)間閥值作比較,一旦預(yù)測的碰撞時(shí)間小于該閥值,則執(zhí)行預(yù)警操作,發(fā)出報(bào)警信號(hào)。其次,論述了算法的實(shí)現(xiàn)公式,最后通過MATLAB 仿真,結(jié)果表明:利用北斗定位技術(shù)獲取的位置信息與GPS 相比準(zhǔn)確性更高,定位精度可達(dá)厘米級(jí),有效解決了誤報(bào)虛警的問題。本文研究的算法可適用于多種路況,較研究單一路況下的防碰撞預(yù)警算法相比,具有較強(qiáng)的適應(yīng)性;該算法對(duì)降低碰撞概率、減少交通事故發(fā)生有重大意義。