陳卓威 胡 慧
(湖南工程學院 工程訓練中心,湘潭 411104)
隨著汽車的普及,各類交通事故層出不窮。我國每年重特大事故中,交通事故數和因交通事故死亡人數分別占到69.0% 和78.9%[1]。為了降低交通事故造成的危害,自動緊急制動系統(Autonomous Emergency Braking,AEB)作為汽車主動安全配置得到了廣泛應用。AEB 能夠通過車輛上的傳感器識別并跟蹤行人軌跡,若有碰撞危險,系統發出預警信號并自動制動使汽車停止,從而避免碰撞事故的發生[2-4]。雖然AEB 對交通事故有一定的預防作用,但是還存在比較多的問題,如汽車在路口轉向時遇到障礙物(行人、非機動車),AEB 難以判斷駕駛員意圖導致誤制動或未強行制動。針對上述問題,通過模糊控制算法來優化設計現有AEB,基于CarSim 與Simulink 聯合仿真開展不同工況下的仿真實驗,并驗證所設計的AEB 控制算法的可靠性與可行性,以改善路口轉向時汽車AEB 導致的誤制動或未強行制動的問題。
常見仿真控制系統一般包括距離模型、執行判斷及信號處理3 個部分。而AEB 中控制算法的主要功能是實現傳感器信號的輸入和信號接收,確保車輛運行穩定,且能夠保證駕駛員在駕駛過程中處于安全道路環境。
TTC 表示兩輛汽車撞擊所耗費的時間,也可以叫做即碰時間避撞算法。危險制動距離的定義是制動距離運用TTC 的邏輯計算法,得出一旦延遲時間超過全部的tTTC(制動系統的延遲時間和所述驅動器的反應時間),驅動器無法響應碰撞警告,此時系統必須采取自動制動。
制動系統的延遲時間和所述驅動器的反應時間tTTC為:
式中:D為兩車之間的相對距離,m;vrel為兩車之間相對速度大小,km·h-1。
計算得到危險制動距離dbr為:
式中:d0為安全停車距離,m。
tTTC一般設定為0.8 ~1.4 s,車輛因制動產生的車輛減速度平均為0.52g。在TTC 算法中,將預警危險tTTC調節至2.6 s,部分制動tTTC調節至1.6 s,全力制動tTTC調節至0.8 s。當系統計算實際tTTC達到2.6 s、1.6 s、0.6 s 時,分別豎起警告標旗(2.6s flag)、部分制動標旗(1.5s flag)、全力制動標旗(0.8s flag)。
使用外部聲明函數“sprintf”繪制圖框代碼,具體代碼如下:
將采集的圖像進行轉換,并將車速數值從km·h-1轉換成m·s-1,便于后續計算,具體代碼如下:
基于TTC 模型可以得到碰撞時間time_to_collide,具體代碼如下:
為了防止車輛在靜止狀態下也會啟動制動,設置一個觸發條件,即車速大于1 m·s-1時,預警模塊觸發,并給出預計碰撞時間,具體代碼如下:
然后,輸出處理完成后的數據,轉換代碼如下:
function[y,time_to_collide]=TTCwarning(u,long_dist,vx,detect)
其中:long_dist 為縱向距離;detect_flag 為檢測標志距離;lat_dist 為橫向距離。
由此可以得到TTC 預警模塊“TTCwarning”,如圖1 所示。
當攝像頭采集到行人數據且預計碰撞時間在1.5 s內時,會啟動TTC 預警模塊,并在攝像頭上標示出大致的碰撞時間。圖像預警如圖2 所示。
執行邏輯算法通過驅動系統的輸入信號與AEB的安全距離模型聯合計算得到。駕駛員操作包括制動、加速和轉向。AEB 的安全距離模型輸出包括開始預警標志(warning)、進行部分制動標志(part brake)和進行全力制動標志(full brake)。
在AEB 運行過程中,如果實際距離低于安全距離,則AEB 會出現自動制動情況,使得車輛速度減慢。在此種情況下,安全距離模型將會變得更大。在制動持續一段時間后,兩車的相對距離會超過設計的安全距離,此時AEB 判斷使汽車停止制動。當制動停止后,車輛會因為慣性繼續滑行一段距離,但因為制動車速的變化較小,通過計算后得到兩車相對距離遠低于原先設計的安全距離,此時AEB 繼續制動。所以,AEB 制動壓強呈波浪形變動,起伏較大,導致車輛振動嚴重。
本文將車輛橫向安全距離設置為2 倍輪距,若行人進入到TTC 距離與橫向安全距離內,則開始對車輛制動,有:
式中:dlat為車輛橫向安全距離,m;B為輪距,m。
正常道路駕駛過程中,在路口拐彎時需要輸入轉向角,而駕駛員在遇到行人時中,為了避障,有時也會采用換道的方式。在此情形下,AEB 很難預判轉角是為了轉向還是為了避障,往往容易產生誤制動,造成一些不必要的麻煩。因此,下面將針對這類情況進行改進。
1.3.1 模糊控制結構
一個系統的模糊控制流程需要輸入、推理、規則庫和輸出4 大部分。
選擇Mamdani 模糊控制器,其模糊控制規則通過分析駕駛員的駕駛行為及總結一些駕駛操作來獲得。Mamdani 模糊控制器的輸入輸出語言均通過模糊集合表示,模糊規則的形式如下[5]。
通過模糊語句if A and B then C確定模糊關系R,即:
式中:(A1×B1)T2為(A1×B1)(m×n)矩陣構成的向量;T2 為行列向量轉換。對于模糊推理,使用馬丹尼最大最小規則。它的基本邏輯:在and 運算時取小min;在or 運算時取大max。
Mamdani FIS 模型使用if-then 語句表達意見建立推理規則,對選取的影響因子進行模糊推理得到預測數據[6]。
1.3.2 模糊化
本文控制器的設計目標是根據反饋的駕駛員駕駛意圖調整主缸壓強的輸出,以適應路口轉向時遭遇行人的安全需求。當具體參數輸入到模糊控制器時,將其模糊化為給定論域上的模糊集合[7]。
本文變量的模糊集合如下。
(1)方向盤轉角。它是指駕駛員直接輸入的方向盤轉角值。方向盤轉角定義論域為[-800,+800],單位為°。模糊子集分為{TR(右轉),TL(左轉)}2 個。
(2)預計碰撞時間tTTC。定義TTC 論域為[0,1.5],單位為s。模糊子集分為{NB(極度危險),NS(小危險),M(危險),PS(慢速反應),PB(快速反應)}5 個。
(3)縱向距離。定義縱向距離論域為[0,15],單位為m。模糊子集分為{NB(極度靠近),NS(小靠近),M(靠近),PS(小安全),PB(安全)}5 個。
(4)橫向距離。定義橫向距離論域為[0,5],單位為m。模糊子集分為{LB(更偏左),LS(偏左),C(不變),RS(偏右),RB(更偏右)}5 個。
(5)主缸壓強。基于TTC 理論,定義主缸壓強論域為[-20,20](為了便于后續模糊規則,輸出時會將負值絕對值化),單位為MPa。模糊子集分為{NB(大制動),NS(部分制動),M(不制動),PS(部分制動),PB(大制動)}5 個。
1.3.3 模糊規則
對于AEB 的基本控制,基于TTC 理論僅需考慮預碰時間和橫向距離。當車輛開始進入轉向時,檢測到有轉角輸入,車輛進入轉向狀態,控制策略轉變為對行人位置與轉向之間關系進行判別。此時,輸入的變量為橫向距離和預碰時間。模糊控制規則的具體控制狀態可用模糊控制曲面圖來表達。模糊系統控制曲面圖如圖3 所示。
通過大量仿真實驗可知,由于在路口轉向情況下,行人進入攝像頭視角時,tTTC往往小于1.5 s。所以,在此選用最大隸屬度取最大的方法來進行去模糊化。雖然此種方法忽略了較小隸屬度元素的影響與作用,但是在緊急工況下往往能有比較可靠的效果。
通過CarSim 2018 與Simulink 的聯合仿真實驗,探究車輛在路口轉向遇到行人不同狀態時,所設計的AEB 介入制動情況的變化。利用CarSim 軟件建立整車模型,加入Simulink 模塊,得到聯合仿真模型。
首先,需要明確仿真內容是基于路口轉向時前車遭遇行人,此時AEB 基于駕駛員方向盤轉角做出是否制動的操作。仿真實驗工況設置為2 種行車路線(右轉、左轉)、2 種行人進入方式(左方、右方)、3 種避障方式(未避障、左向避障、右向避障)共計12 種工況。將車速設置為25 m·s-1,行人速度恒定為2 m·s-1,觀察主缸壓強輸出與橫向距離、tTTC的變化規律。以下選取具有代表性的右轉行人從右方(左方)進入-左向避障和右轉行人從左方進入-左向避障兩種工況的仿真結果進行展示。
右轉左向避障時數據變化圖,如圖4 所示。當車輛進入路口開始轉向時,4 s 左右遭遇行人,駕駛員開始左向避障,此時方向盤轉角輸出變為正。通過模糊控制原則可知,該避障方式為有害避障,且橫向距離小于3 m、tTTC小于0.3 s,屬于非常危險狀態。所以,主缸壓強持續輸出,將車輛減速,直到6.5 s 時刻,tTTC大于1 s,AEB 主缸壓強才取消制動控制。
右轉左向避障數據變化圖,如圖5 所示。當時間進入到4.9 s 時,tTTC小于0.8 s 且橫向距離小于5 m,此時檢測到方向盤轉角由負轉為正,說明駕駛員在使用左向避障方式,根據模糊控制規則,主缸壓強持續輸出20 MPa,直到tTTC大于0.8 s 才取消壓強輸出,說明此時行人已經位于安全區域。
對比觀察圖4 和圖5 可以發現,在這兩種工況下,設計的AEB 能夠成功介入,從而有效避免事故的發生。對比所有仿真實驗工況后發現,當行人從右側進入車輛危險區域時,在制動效果要優于行人從左側進入危險區域的情況下,AEB 介入時間更長。分析發現,這是因為方案采用的單目測距算法存在一定的算法偏差。對12 種工況進行仿真實驗,結果表明,在其中10 種工況下,設計的AEB 能夠成功介入避免事故發生,生效率為83.3%,可以認為該基于路口轉向的模糊控制AEB 能有效減少在路口遭遇行人時因算法問題導致的一些誤制動情況,有效提高了車輛的主動安全性能,提升了駕駛員的駕駛體驗。
為了進一步論證仿真的可行性,搭建一個半實物仿真實驗平臺進行驗證。先采用工業攝像頭識別行人,檢測周圍空間狀態,并獲取目標與本車之間的相對位置。為了得到駕駛過程中所需的轉角,使用方向盤轉角傳感器采集數據。對于車輛的行駛速度,使用全球定位系統(Global Positioning System,GPS)導航采集車輛行駛速度,將其信號輸入至Simulink 軟件。相關數據經過一定處理后,可為后面的行動提供依據。在車輛實際行駛過程中,行人的出現位置與行走路線是不固定的。為了驗證設計的控制方法的有效性,設置了兩種行人移動工況進行驗證。每種工況進行多次實驗,然后將結果與仿真數據進行對比。
將行人路線設置為車輛左前方9 m 位置移動到車輛右方2 m 位置,反復一次,得到如圖6 所示的實驗數據。
通過圖6 可以看到,設計的測距算法在實際實驗中的結果與仿真結果大體一致。但是,通過分析可以發現,測距結果還是存在一定的偏差,但總體可以達到行人位置預測的目的。
將行人路線設置為車輛右前方6 m 位置移動到車輛左方2 m 位置,反復一次,得到如圖7 所示的實驗數據。
可以看出,該算法可以保證一定的測距精度,但總是會在第二次行人進入時造成一定的數據丟失。經分析可知,這是由于其他目標干擾導致的,但可以很快實現目標矯正。總體而言,該控制算法能有效預判移動目標,具有良好的控制效果,對一些因素造成的干擾也能體現出較好的魯棒性。
本文設計了一種AEB 模糊控制算法,通過CarSim與Simulink 的聯合仿真,探究了在不同車輛軌跡、不同行人路線的情況下,橫向距離、TTC 時間以及主缸壓強的變化情況,并通過半實物仿真平臺驗證了其可行性。實驗結果表明,發現該算法可以有效降低路口轉向時因AEB 算法缺陷導致的誤制動問題。本文設置了12 種仿真工況,生效工況10 種,生效率達到83.3%,能極大降低路口轉向因誤制動給駕駛員帶來的麻煩。本文的研究結果可以為路口轉向時遭遇行人主動安全駕駛系統是否應該介入制動提供理論支持。