陳麗萍,楊 潔,覃倩倩,朱文超
(西南林業大學機械與交通學院,昆明 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 相比準確性更高,定位精度可達厘米級,有效解決了誤報虛警的問題。本文研究的算法可適用于多種路況,較研究單一路況下的防碰撞預警算法相比,具有較強的適應性;該算法對降低碰撞概率、減少交通事故發生有重大意義。