馬宏偉 吳長(zhǎng)水
(上海工程技術(shù)大學(xué)機(jī)械與汽車(chē)工程學(xué)院 上海 201620)
車(chē)道偏離預(yù)警系統(tǒng)是組成高級(jí)輔助駕駛系統(tǒng)的重要一部分,信息采集模塊通車(chē)載攝像頭傳感器才采集車(chē)輛與車(chē)道線(xiàn)的相對(duì)位置關(guān)系,決策模塊對(duì)傳感器采集的信息進(jìn)行分析,進(jìn)而判斷車(chē)輛的橫向偏移量是否處于正常范圍內(nèi),如果車(chē)輛的橫向偏移量超出了預(yù)先設(shè)定偏離閾值,控制模塊則向駕駛員發(fā)出警告[1~2]。
目前,國(guó)內(nèi)外對(duì)車(chē)道偏離預(yù)警算法的研究有很多,大致分為時(shí)間算法模型和空間算法模型。時(shí)間算法模型包括車(chē)輛跨道時(shí)間模型(TLC 模型)[3]等,空間算法模型包括車(chē)輛相對(duì)位置模型(CCP 模型)[4~5]和未來(lái)偏移量模型(FOD 模型)[6]等,不同的算法模型都有其特點(diǎn)。
本文在研究基于CCP 模型車(chē)道偏離預(yù)警算法的基礎(chǔ)上,基于Matlab/Simulink 和Prescan 軟件分別搭建控制算法模型和交通測(cè)試場(chǎng)景模型,最終在Matlab/Simulink環(huán)境下進(jìn)行聯(lián)合仿真,并對(duì)設(shè)計(jì)的車(chē)道偏離預(yù)警算法在不同的車(chē)道偏離閾值下進(jìn)行驗(yàn)證分析。
本文車(chē)道偏離預(yù)警算法采用基于CCP 算法模型。如圖1 所示,該模型充分考慮了車(chē)輛與車(chē)道邊界線(xiàn)的實(shí)際位置關(guān)系,并假設(shè)車(chē)輛行駛過(guò)程中車(chē)輛與車(chē)道邊界線(xiàn)處于平行狀態(tài),如果車(chē)輛到車(chē)道邊界線(xiàn)的距離小于設(shè)定偏離閾值(車(chē)道邊界線(xiàn)和報(bào)警邊界線(xiàn)的距離),則報(bào)警系統(tǒng)提示駕駛員車(chē)輛有偏離車(chē)道的危險(xiǎn)[7~8]。該模型以車(chē)輛在當(dāng)前道路的實(shí)際距離作為評(píng)價(jià)標(biāo)準(zhǔn),具有一定實(shí)際意義。
圖1 車(chē)道偏離報(bào)警示意圖
本文規(guī)定車(chē)輛偏航角小于零為向左偏離,大于零向右偏離。車(chē)輛左偏分為兩種情況:車(chē)輛左前角到左側(cè)車(chē)道邊界線(xiàn)距離小于給定偏離閾值,并且車(chē)輛偏航角為負(fù),或者車(chē)輛左前角到左側(cè)車(chē)道邊界線(xiàn)距離小于給定偏離閾值,并且車(chē)輛偏航角大于零且小于偏航角閾值,即可判斷車(chē)輛向左偏離。車(chē)輛右偏也分為兩種情況:車(chē)輛右前角到右側(cè)車(chē)道邊界線(xiàn)距離小于給定偏離閾值,并且車(chē)輛偏航角為正,或者車(chē)輛右前角到右側(cè)車(chē)道邊界線(xiàn)距離小于給定偏離閾值,并且車(chē)輛偏航角小于零且大于偏航角閾值的相反數(shù),即可判斷車(chē)輛向右偏離。車(chē)道偏離預(yù)警算法的數(shù)學(xué)模型如下所示。
車(chē)輛向左偏離算法:
車(chē)輛向右偏離算法:
其中,Dl為車(chē)輛和左車(chē)道邊界線(xiàn)的距離;Dr為車(chē)輛和右車(chē)道邊界線(xiàn)的距離;Dt為車(chē)輛到車(chē)道邊界線(xiàn)偏離閾值;H為車(chē)輛偏航角;Ht為車(chē)輛偏航角設(shè)定閾值;Wcar為車(chē)身寬度。
CCP 模型車(chē)道偏離預(yù)警算法的核心是如何準(zhǔn)確地檢測(cè)車(chē)輛的左右橫向偏移量[9~10]。Prescan 軟件中的Lane Sensor傳感器模型可以檢測(cè)道路曲率、車(chē)輛到車(chē)道邊界線(xiàn)的橫向距離等信息。在Matlab/Simulink 環(huán)境下進(jìn)行車(chē)道偏離預(yù)警算法設(shè)計(jì)時(shí),只需使用BUS-Selector 模塊進(jìn)行自定義,調(diào)用傳感器模塊輸出信號(hào)即可。
車(chē)道偏離預(yù)警算法主要由車(chē)道偏離判斷模塊和偏航角計(jì)算模塊組成,如圖2 所示。車(chē)道偏離判斷模塊主要采用Matlab-S-Function 模塊自定義編程封裝在相應(yīng)的模塊內(nèi),該模塊有六個(gè)輸入信號(hào),分別為車(chē)身寬度、車(chē)道偏離閾值、偏航角、偏航角閾值、車(chē)輛到車(chē)道左右邊界線(xiàn)的偏移量;兩個(gè)輸出信號(hào),分別為車(chē)輛左右偏離檢測(cè)輸出信號(hào)。偏航角計(jì)算模塊主要也是采用Matlab-S-Function 模塊進(jìn)行Matlab 語(yǔ)言編程實(shí)現(xiàn),該模塊有八個(gè)輸入信號(hào),分別為車(chē)輛在不同坐標(biāo)系下的坐標(biāo),經(jīng)坐標(biāo)變換得到車(chē)輛在不同時(shí)刻的偏航角,該模塊主要用來(lái)計(jì)算車(chē)輛在行駛過(guò)程中的偏航角,輸出信號(hào)主要給車(chē)道偏離預(yù)警算法邏輯調(diào)用,以方便車(chē)道偏離預(yù)警算法模塊判斷車(chē)輛是否發(fā)生偏離。
圖2 車(chē)道偏離預(yù)警算法模型
Prescan 軟件是西門(mén)子旗下的一款主動(dòng)安全仿真軟件,主要用于高級(jí)駕駛輔助和智能駕駛交通場(chǎng)景的開(kāi)發(fā),在圖形用戶(hù)界面里面可以方便地進(jìn)行交通場(chǎng)景建模、傳感器模型的設(shè)置以及車(chē)輛動(dòng)力學(xué)配置,并且還可以一鍵導(dǎo)入Matlab/Simulink 中,結(jié)合搭建的控制算法形成一個(gè)集環(huán)境感知、控制算法為一體的仿真測(cè)試環(huán)境[11~12]。
本文基于Prescan 軟件構(gòu)建的交通測(cè)試場(chǎng)景,如圖3 所示。首先,設(shè)置三車(chē)道StraightRoad 道路模型,車(chē)道寬3.5m,道路長(zhǎng)120m,并在道路兩旁添加樹(shù)木等基礎(chǔ)設(shè)施。其次,在配置道路模型的基礎(chǔ)上進(jìn)行車(chē)輛行駛路徑配置,以方便被測(cè)車(chē)輛對(duì)象沿著預(yù)定路徑行駛。然后,添加車(chē)輛測(cè)試對(duì)象,本次搭建的仿真環(huán)境中選用Audi-A8車(chē)輛模型,在仿真過(guò)程中,測(cè)試車(chē)輛沿著軟件預(yù)先設(shè)定路徑進(jìn)行行駛。最后,添加Prescan 軟件提供的車(chē)道偏離預(yù)警所使用的Lane Maker傳感器模型,該傳感器主要用于檢測(cè)車(chē)輛與車(chē)道邊界線(xiàn)的距離、道路曲率、偏航角等車(chē)道偏離預(yù)警算法所需要的輸入信號(hào)。如圖4 所示。Lane Maker 傳感器模塊配置完成后,可生成車(chē)道偏離預(yù)警算法所需要的Matlab/Simulink 接口,以方便車(chē)道偏離預(yù)警算法模塊調(diào)用相關(guān)的輸入信號(hào)。
圖3 測(cè)試場(chǎng)景模型
圖4 Lane Maker傳感器接口
Prescan 和Matlab/simulink 聯(lián)合仿真具有一套基本的流程[13~15]。首先,基于Prescan 軟件搭建交通測(cè)試場(chǎng)景,對(duì)車(chē)輛行駛路徑進(jìn)行規(guī)劃,配置車(chē)輛行駛參數(shù),添加Lane Maker 傳感器模塊,并對(duì)傳感器參數(shù)進(jìn)行配置,以確保傳感器處于有效的檢測(cè)范圍之內(nèi)。
其次,基于Matlab/Simulink 搭建車(chē)道偏離預(yù)警控制算法,根據(jù)傳感器模塊采集道路環(huán)境信息對(duì)車(chē)輛是否偏離車(chē)道進(jìn)行判斷。
上述配置完成后,如圖5 所示,在Matlab/Simulink 環(huán)境下進(jìn)行感知模塊和控制模塊的集成,針對(duì)不同的車(chē)道偏離閾值對(duì)搭建的控制策略進(jìn)行仿真驗(yàn)證。
圖5 仿真模型集成圖
本次測(cè)試中,被測(cè)車(chē)輛對(duì)象Audi-A8沿著預(yù)定路徑行駛前進(jìn),根據(jù)Prescan 軟件提供的Lane Maker傳感器輸入的道路場(chǎng)景信息,在保證相同的交通測(cè)試場(chǎng)景情況下,分別對(duì)不同車(chē)道偏離閾值進(jìn)行仿真驗(yàn)證,車(chē)道偏離閾值設(shè)置0.5m 時(shí),檢測(cè)結(jié)果如圖6(a)所示,車(chē)道偏離閾值設(shè)置為0.6m 時(shí),檢測(cè)結(jié)果如圖6(b)所示。其中車(chē)輛發(fā)生偏離時(shí),檢測(cè)結(jié)果輸出1,否則輸出0。
圖6 車(chē)道偏離檢測(cè)輸出結(jié)果
由車(chē)道偏離檢測(cè)結(jié)果曲線(xiàn)圖可知,針對(duì)不同的車(chē)道偏離閾值,車(chē)道偏離預(yù)警算法都能準(zhǔn)確地檢測(cè)車(chē)輛是否發(fā)生偏移。車(chē)道偏離閾值設(shè)置為0.5m時(shí),車(chē)道偏離預(yù)警時(shí)刻相對(duì)較晚,預(yù)警響應(yīng)時(shí)間較短,駕駛員進(jìn)行修正車(chē)輛的時(shí)間也較短。車(chē)道偏離閾值設(shè)置為0.6m 時(shí),車(chē)道偏離預(yù)警時(shí)刻相對(duì)較早,預(yù)警響應(yīng)時(shí)間相對(duì)較長(zhǎng),駕駛員進(jìn)行修正車(chē)輛的時(shí)間也相對(duì)充分。該測(cè)試結(jié)果表明,對(duì)于不同的車(chē)道偏離閾值,車(chē)道偏離預(yù)警控制算法都能實(shí)現(xiàn)其車(chē)道偏離報(bào)警功能,該控制算法具有一定的參考價(jià)值。
通過(guò)本文的研究對(duì)車(chē)道偏離預(yù)警系統(tǒng)算法和基于Prescan 軟件場(chǎng)景開(kāi)發(fā)有了更深的理解,設(shè)計(jì)的車(chē)道偏離預(yù)警算法,根據(jù)不同的車(chē)道偏離預(yù)警閾值能及時(shí)進(jìn)行報(bào)警,達(dá)到了功能需求。通過(guò)Prescan 軟件和Matlab/Simulink 進(jìn)行聯(lián)合仿真,驗(yàn)證了車(chē)道偏離預(yù)警算法的合理性,對(duì)智能駕駛產(chǎn)品的開(kāi)發(fā)驗(yàn)證提供一種虛擬場(chǎng)景仿真思路。