馬宏偉 吳長水
(上海工程技術大學機械與汽車工程學院 上海 201620)
車道偏離預警系統是組成高級輔助駕駛系統的重要一部分,信息采集模塊通車載攝像頭傳感器才采集車輛與車道線的相對位置關系,決策模塊對傳感器采集的信息進行分析,進而判斷車輛的橫向偏移量是否處于正常范圍內,如果車輛的橫向偏移量超出了預先設定偏離閾值,控制模塊則向駕駛員發出警告[1~2]。
目前,國內外對車道偏離預警算法的研究有很多,大致分為時間算法模型和空間算法模型。時間算法模型包括車輛跨道時間模型(TLC 模型)[3]等,空間算法模型包括車輛相對位置模型(CCP 模型)[4~5]和未來偏移量模型(FOD 模型)[6]等,不同的算法模型都有其特點。
本文在研究基于CCP 模型車道偏離預警算法的基礎上,基于Matlab/Simulink 和Prescan 軟件分別搭建控制算法模型和交通測試場景模型,最終在Matlab/Simulink環境下進行聯合仿真,并對設計的車道偏離預警算法在不同的車道偏離閾值下進行驗證分析。
本文車道偏離預警算法采用基于CCP 算法模型。如圖1 所示,該模型充分考慮了車輛與車道邊界線的實際位置關系,并假設車輛行駛過程中車輛與車道邊界線處于平行狀態,如果車輛到車道邊界線的距離小于設定偏離閾值(車道邊界線和報警邊界線的距離),則報警系統提示駕駛員車輛有偏離車道的危險[7~8]。該模型以車輛在當前道路的實際距離作為評價標準,具有一定實際意義。

圖1 車道偏離報警示意圖
本文規定車輛偏航角小于零為向左偏離,大于零向右偏離。車輛左偏分為兩種情況:車輛左前角到左側車道邊界線距離小于給定偏離閾值,并且車輛偏航角為負,或者車輛左前角到左側車道邊界線距離小于給定偏離閾值,并且車輛偏航角大于零且小于偏航角閾值,即可判斷車輛向左偏離。車輛右偏也分為兩種情況:車輛右前角到右側車道邊界線距離小于給定偏離閾值,并且車輛偏航角為正,或者車輛右前角到右側車道邊界線距離小于給定偏離閾值,并且車輛偏航角小于零且大于偏航角閾值的相反數,即可判斷車輛向右偏離。車道偏離預警算法的數學模型如下所示。
車輛向左偏離算法:

車輛向右偏離算法:

其中,Dl為車輛和左車道邊界線的距離;Dr為車輛和右車道邊界線的距離;Dt為車輛到車道邊界線偏離閾值;H為車輛偏航角;Ht為車輛偏航角設定閾值;Wcar為車身寬度。
CCP 模型車道偏離預警算法的核心是如何準確地檢測車輛的左右橫向偏移量[9~10]。Prescan 軟件中的Lane Sensor傳感器模型可以檢測道路曲率、車輛到車道邊界線的橫向距離等信息。在Matlab/Simulink 環境下進行車道偏離預警算法設計時,只需使用BUS-Selector 模塊進行自定義,調用傳感器模塊輸出信號即可。
車道偏離預警算法主要由車道偏離判斷模塊和偏航角計算模塊組成,如圖2 所示。車道偏離判斷模塊主要采用Matlab-S-Function 模塊自定義編程封裝在相應的模塊內,該模塊有六個輸入信號,分別為車身寬度、車道偏離閾值、偏航角、偏航角閾值、車輛到車道左右邊界線的偏移量;兩個輸出信號,分別為車輛左右偏離檢測輸出信號。偏航角計算模塊主要也是采用Matlab-S-Function 模塊進行Matlab 語言編程實現,該模塊有八個輸入信號,分別為車輛在不同坐標系下的坐標,經坐標變換得到車輛在不同時刻的偏航角,該模塊主要用來計算車輛在行駛過程中的偏航角,輸出信號主要給車道偏離預警算法邏輯調用,以方便車道偏離預警算法模塊判斷車輛是否發生偏離。

圖2 車道偏離預警算法模型
Prescan 軟件是西門子旗下的一款主動安全仿真軟件,主要用于高級駕駛輔助和智能駕駛交通場景的開發,在圖形用戶界面里面可以方便地進行交通場景建模、傳感器模型的設置以及車輛動力學配置,并且還可以一鍵導入Matlab/Simulink 中,結合搭建的控制算法形成一個集環境感知、控制算法為一體的仿真測試環境[11~12]。
本文基于Prescan 軟件構建的交通測試場景,如圖3 所示。首先,設置三車道StraightRoad 道路模型,車道寬3.5m,道路長120m,并在道路兩旁添加樹木等基礎設施。其次,在配置道路模型的基礎上進行車輛行駛路徑配置,以方便被測車輛對象沿著預定路徑行駛。然后,添加車輛測試對象,本次搭建的仿真環境中選用Audi-A8車輛模型,在仿真過程中,測試車輛沿著軟件預先設定路徑進行行駛。最后,添加Prescan 軟件提供的車道偏離預警所使用的Lane Maker傳感器模型,該傳感器主要用于檢測車輛與車道邊界線的距離、道路曲率、偏航角等車道偏離預警算法所需要的輸入信號。如圖4 所示。Lane Maker 傳感器模塊配置完成后,可生成車道偏離預警算法所需要的Matlab/Simulink 接口,以方便車道偏離預警算法模塊調用相關的輸入信號。

圖3 測試場景模型

圖4 Lane Maker傳感器接口
Prescan 和Matlab/simulink 聯合仿真具有一套基本的流程[13~15]。首先,基于Prescan 軟件搭建交通測試場景,對車輛行駛路徑進行規劃,配置車輛行駛參數,添加Lane Maker 傳感器模塊,并對傳感器參數進行配置,以確保傳感器處于有效的檢測范圍之內。
其次,基于Matlab/Simulink 搭建車道偏離預警控制算法,根據傳感器模塊采集道路環境信息對車輛是否偏離車道進行判斷。
上述配置完成后,如圖5 所示,在Matlab/Simulink 環境下進行感知模塊和控制模塊的集成,針對不同的車道偏離閾值對搭建的控制策略進行仿真驗證。

圖5 仿真模型集成圖
本次測試中,被測車輛對象Audi-A8沿著預定路徑行駛前進,根據Prescan 軟件提供的Lane Maker傳感器輸入的道路場景信息,在保證相同的交通測試場景情況下,分別對不同車道偏離閾值進行仿真驗證,車道偏離閾值設置0.5m 時,檢測結果如圖6(a)所示,車道偏離閾值設置為0.6m 時,檢測結果如圖6(b)所示。其中車輛發生偏離時,檢測結果輸出1,否則輸出0。

圖6 車道偏離檢測輸出結果
由車道偏離檢測結果曲線圖可知,針對不同的車道偏離閾值,車道偏離預警算法都能準確地檢測車輛是否發生偏移。車道偏離閾值設置為0.5m時,車道偏離預警時刻相對較晚,預警響應時間較短,駕駛員進行修正車輛的時間也較短。車道偏離閾值設置為0.6m 時,車道偏離預警時刻相對較早,預警響應時間相對較長,駕駛員進行修正車輛的時間也相對充分。該測試結果表明,對于不同的車道偏離閾值,車道偏離預警控制算法都能實現其車道偏離報警功能,該控制算法具有一定的參考價值。
通過本文的研究對車道偏離預警系統算法和基于Prescan 軟件場景開發有了更深的理解,設計的車道偏離預警算法,根據不同的車道偏離預警閾值能及時進行報警,達到了功能需求。通過Prescan 軟件和Matlab/Simulink 進行聯合仿真,驗證了車道偏離預警算法的合理性,對智能駕駛產品的開發驗證提供一種虛擬場景仿真思路。