黃昆
(天津經(jīng)緯恒潤科技股份有限公司,天津 300385)
主題詞:智能駕駛 盲區(qū)危險等級評估 神經(jīng)網(wǎng)絡(luò)PID控制 自動避碰
縮略語
PID Proportional,Integral,Derivative
ADAS Advanced Driving Assistance System
BSM Blind Spot Monitoring System
DTW Dynamic Time Warping
根據(jù)世界衛(wèi)生組織統(tǒng)計數(shù)據(jù),全球每年約有125萬人死于交通事故,另有5 000 萬人受到不同程度的傷害[1]。為了減少交通事故,智能駕駛技術(shù)中的避撞系統(tǒng)(Collision Avoidance System)受到了越來越多的關(guān)注和重視[2]。汽車盲區(qū)是指由于視線遮擋而導(dǎo)致駕駛員不能直接觀察到的區(qū)域(圖1)。目前,在智能駕駛汽車盲區(qū)的先進駕駛輔助系統(tǒng)(Advanced Driving Assistance System,ADAS)中,較為成熟的功能僅有盲區(qū)監(jiān)測系統(tǒng)(Blind Spot Monitoring System,BSM),它可以通過傳感器探測車輛左右后側(cè)盲區(qū)中即將超車的車輛,并對駕駛員進行警示,以避免駕駛員在變道的過程中與左、右、后方車輛發(fā)生碰撞。
圖1 車輛盲區(qū)示意
為了使盲區(qū)避碰系統(tǒng)能及時觸發(fā),相關(guān)的緊急駕駛場景通常依據(jù)目標激活盲區(qū)預(yù)警功能的初始狀態(tài)進行軌跡預(yù)測,并通過危險等級評估指標對場景模式進行識別[3]。Kluger[4]等從離散傅里葉變換縱向加速度時間序列中提取特征變量,并使用聚類(K-Means)從自然駕駛數(shù)據(jù)中識別關(guān)鍵事件。Lee[5]等利用路段加減速累積頻率圖來測量減速度曲線的風(fēng)險等級,并利用行駛軌跡數(shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型來預(yù)測潛在的緊急減速,用于碰撞預(yù)警。張立軍[6]等基于軌跡預(yù)測模型,提出了一種以距離為安全指標的商用車盲區(qū)防撞預(yù)警方法。白龍[7]基于視覺感知系統(tǒng),以單目攝像頭的測距結(jié)果為依據(jù),提出了一種盲區(qū)安全預(yù)警方法。趙宇峰[8]利用單目視覺原理中的攝像機針孔成像模型對盲區(qū)目標進行測距,提出了一種盲區(qū)監(jiān)測預(yù)警的視覺判定方法。然而,BSM盲區(qū)預(yù)警功能目前僅能對依據(jù)車輛盲區(qū)是否存在目標進行預(yù)警提醒,而無法對車輛進行避碰控制,因此盲區(qū)避碰系統(tǒng)的開發(fā)對盲區(qū)智能駕駛輔助技術(shù)具有十分重要的意義。
綜上所述,盲區(qū)智能駕駛輔助功能的研發(fā)仍停留在盲區(qū)目標預(yù)警的階段,將從盲區(qū)避碰進行深入的研究。設(shè)計一種基于神經(jīng)網(wǎng)絡(luò)PID 構(gòu)造的盲區(qū)危險目標自動避碰系統(tǒng),將目標的橫向相對聚類為危險等級評估的指標,依據(jù)指標的譜聚類分析結(jié)果,對目標所處區(qū)域的危險等級進行劃分,并以期望的安全指標對高危險等級的盲區(qū)危險目標進行神經(jīng)網(wǎng)絡(luò)PID 控制,輔助駕駛員實現(xiàn)盲區(qū)危險目標的自動避碰功能。
基于某主機廠的道路測試組采集的道路測試場景數(shù)據(jù)庫,提取盲區(qū)目標超越本車場景的交通場景數(shù)據(jù),用以對盲區(qū)目標的風(fēng)險等級分類。數(shù)據(jù)采樣間隔為10 Hz,記錄車輛并排前10 s 至車輛離開盲區(qū)的自車參數(shù)信息、車輛相對位置信息和相對運動信息。
基于某主機廠的道路測試場景數(shù)據(jù)庫,提取了265例盲區(qū)目標超車場景(圖2),作為危險等級評估的安全指標樣本。通過人工篩選,保留了251 例木牛毫米波雷達數(shù)據(jù)采集完整的場景,剔除66 例涉及三輪車、摩托車、自行車非機動車輛的干擾場景。最終,篩選出有效且完整的盲區(qū)目標超車場景片段,共計185例。
圖2 盲區(qū)目標超車場景
“盲區(qū)危險事件—緊急避碰”是盲區(qū)危險目標在超越本車的過程中,目標的橫向相對距離小于駕駛員期望的安全距離,使得自車駕駛員轉(zhuǎn)動轉(zhuǎn)向盤向危險目標反方向緊急避碰。
第1階段:自車處于自由駕駛狀態(tài),其運動狀態(tài)隨機。
第2 階段:目標車以很大的縱向相對速度(5~15 m/s)從左/右相鄰車道進入危險區(qū)域,自車駕駛員控制轉(zhuǎn)向盤向反方向進行轉(zhuǎn)向,以避免碰撞。
在本次研究中,目標車進入盲區(qū)定義為“盲區(qū)一般事件”,當目標的橫向相對距離小于最小安全距離時定義為“盲區(qū)危險事件—緊急避碰”,以此表示駕駛員對當前狀態(tài)危險程度的判斷。
數(shù)據(jù)提取通過上位機獲取,圖3 為場景提取的上位機界面,左側(cè)示圖為場景的視頻及GPS 位置信息,右側(cè)示圖為場景的數(shù)據(jù)信息。自車速度Vego、方向盤轉(zhuǎn)角SAS、偏航角a、相對距離R、相對速度等Vr,縱向時距信息為目標的縱向時距。
圖3 上位機界面
譜聚類是一種基于圖論的算法,將所有數(shù)據(jù)視為空間中的點,并假設(shè)所有這些數(shù)據(jù)點都由賦予權(quán)值的邊連接[9]。2 個點相似度越大,邊緣權(quán)值越大,反之亦然。所有數(shù)據(jù)點之間的權(quán)值構(gòu)成鄰接矩陣W,第i行和第j列的元素記錄點i和點j之間的權(quán)值。譜聚類的目的是找到該圖的分區(qū),使得不同組之間邊的權(quán)值之和很小,而組內(nèi)邊的權(quán)值之和很大[10]。
選取目標的橫向相對距離作為盲區(qū)避碰安全指標,對盲區(qū)車輛危險等級進行分類。針對盲區(qū)避碰安全指標的聚類分析結(jié)果,自車與目標車的橫向相對距離越小、距離變化率越大,通常表明駕駛員認知的危險程度越高。因此,在樣本相對橫向距離進行聚類分析過程中,以樣本間的動態(tài)時間規(guī)整(Dynamic Time Warping,DTW)和樣本的變化率(ΔCur)作為度量標準。
(1)“距離”度量標準
由于樣本中目標車駕駛員從發(fā)出超車意圖到超車結(jié)束的時間跨度不同,因此采用DTW 算法計算樣本中目標橫向相對距離時間序列的DTW距離。不同時間序列的DTW距離是基于樣本點與樣本點之間的路徑距離之和最小原則,計算距離路徑最優(yōu)解。選擇2個k維信號X和Y,如式(1)、式(2)所示。
由于車輛CAN 總線和雷達探測到的信號都為1維信號,也就是說信號X和Y都只有第1行有數(shù)據(jù),其中X有m個樣本點,Y有n個樣本點。樣本點之間的距離用歐氏距離進行計算。信號X中第M∈{1,2,…,m}個樣本點與信號Y中第N∈{1,2,…,m}個樣本點的歐式距離計算如式(3)。
式中,dmn(X,Y)為計算各個樣本點之間的距離;xk,m為X中m個樣本點中的第k個樣本點,yk,n為Y中n個樣本點中的第k個樣本點。
尋找使采樣點之間的距離之和最小的2個路徑序列ix*和iy*,如式(4),計算規(guī)則如圖4。
圖4 距離計算規(guī)則
2個時間序列信號X和Y之間的DTW距離計算如式(5)。
式中,dmn(X,Y)為計算各個樣本點之間的距離。
計算獲得的DTW距離可以完整的保留時間序列中的危險等級信息,以及目標的橫向相對速度的最大值、最小值和均值。
(2)平均變化率
在提取的目標橫向相對距離曲線中的平均變化率ΔCur(相對橫向距離變化幅度和持續(xù)時間的比值)時,首先需要將DTW距離和變化率ΔCur進行歸一化,消除維度對測量的影響?;贒TW距離和平均變化率ΔCur,通過高斯徑向基函數(shù)內(nèi)核(一種相似性的度量表示)表示樣本點之間的兩兩相似之處,獲得樣本的鄰接矩陣W,將相近的樣本劃歸為同一類型。最終得到的樣本鄰接矩陣W如式(6)所示。
在鄰接矩陣W中,樣本點與樣本點之間的權(quán)值wij可以用來表示樣本點之間的相似性。權(quán)值wij的計算公式如式(7)。
式中,n表示采用的指標數(shù)量,本文取值為2(包括DTW距離和ΔCur)。
基于MATLAB軟件對第2章提取的185條目標橫向相對距離曲線進行譜聚類分析,同時使用K均值聚類算法[11]對目標的平均橫向相對距離、最小橫向相對距離和橫向相對距離的平均變化率ΔCur的均值進行聚類分析,并對兩種聚類分析方法的結(jié)果進行比較,其對比結(jié)果如表1所示。
由表1可知,相較于K均值聚類算法,譜聚類算法得到的平均變化率更低,因此依據(jù)譜聚類分析的結(jié)果對場景危險程度進行分類。由于Cluster-2 具有更大的橫向相對距離和平均變化率,因此將其劃分為無風(fēng)險類型,其平均橫向相對距離Rmean可以作為駕駛員的期望橫向相對距離。而Cluster-1 具有較小的橫向相對距離和平均變化率,將其劃分為低風(fēng)險類型,由于提取的盲區(qū)目標超車場景都為無碰撞的自然駕駛場景,因此該類場景的橫向相對距離最小值Rmin可以作為駕駛員認知的危險場景與安全場景的邊界。
表1 譜聚類與K均值聚類算法聚類結(jié)果對比
神經(jīng)網(wǎng)絡(luò)PID 控制[12](Neural network PID control,NN PID)是一種典型的控制算法,它在傳統(tǒng)PID 控制的基礎(chǔ)上,通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)并調(diào)節(jié)PID 參數(shù),可以在較短時間內(nèi)使模型達到預(yù)期要求。本文設(shè)計的神經(jīng)網(wǎng)絡(luò)PID 控制模型是基于m 語言編寫的,其結(jié)構(gòu)示意圖如圖5所示。模型的輸入量包括駕駛員期望的目標橫向相對距離x和目標實際的橫向相對距離Rx,模型的輸出量為PID 控制的方向盤轉(zhuǎn)角SAS。其中PID參數(shù)僅需要給出一個初始的默認值,通過神經(jīng)網(wǎng)絡(luò)即可實現(xiàn)PID參數(shù)的自動調(diào)節(jié)。
圖5 神經(jīng)網(wǎng)絡(luò)PID模型示意
(1)PID的傳遞過程模型
在PID 模型的閉環(huán)控制中,系統(tǒng)通過計算被控制量的駕駛員期望值和實際測量值之間的誤差e(t),對被控制量進行不斷地調(diào)節(jié),使其實際觀測值無限接近期望值。PID控制的一般形式如式(8)。
式中,y(t)為系統(tǒng)的輸出,kp為PID的比例調(diào)節(jié)參數(shù),ki為PID的積分調(diào)節(jié)參數(shù),kd為PID的微分調(diào)節(jié)參數(shù)。
(2)系統(tǒng)誤差更新
由于每一個循環(huán)過后,被控制量的實際觀測值都會發(fā)生改變,因此系統(tǒng)誤差也會隨之更新,直到系統(tǒng)誤差足夠小后,可以認為模型的控制調(diào)節(jié)效果達到預(yù)期。系統(tǒng)誤差的更新公式如式(9)。
式中,xk+1為第k+1次循環(huán)的輸入量,e(t)為系統(tǒng)誤差。
神經(jīng)網(wǎng)絡(luò)PID 控制模型旨在通過神經(jīng)網(wǎng)絡(luò),對PID模型的PID參數(shù)進行不斷地學(xué)習(xí)和調(diào)節(jié),如圖6所示。神經(jīng)網(wǎng)絡(luò)的輸入變量為系統(tǒng)誤差e(t)、輸出量y和上一循環(huán)周期的PID 參數(shù)kp(t)、ki(t)、kd(t),輸出變量為下一周期的PID參數(shù)kp(t+T)、ki(t+T)、kd(t+T)。
圖6 神經(jīng)網(wǎng)絡(luò)模型
神經(jīng)網(wǎng)絡(luò)PID參數(shù)調(diào)節(jié)模型構(gòu)建過程如下:
(1)隱藏層節(jié)點數(shù)計算
神經(jīng)網(wǎng)絡(luò)隱藏層的節(jié)點數(shù)選擇,可以通過公式(10)計算獲得。
式中,m為隱藏層節(jié)點數(shù),n為輸入層節(jié)點數(shù),l為輸出層節(jié)點數(shù),α為1~10之間的常數(shù)。
(2)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法
神經(jīng)網(wǎng)絡(luò)是通過訓(xùn)練的誤差反饋來逐步調(diào)整各層輸入的權(quán)重配比,其常用的訓(xùn)練方法包括梯度下降法和最小二乘法。經(jīng)過綜合考慮,本文設(shè)計的跟車場景識別模型以梯度下降法作為神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練方法,其迭代公式如式(11)。
式中,wi+1為第i+1 個更新結(jié)果,di為第i個結(jié)果的距離誤差,ηi為學(xué)習(xí)效率。
(3)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)效率
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)效率一般在0.01~0.80 之間選取,如果選擇的值過大會導(dǎo)致收斂過快,系統(tǒng)震蕩不穩(wěn)定等問題,如果學(xué)習(xí)效率過小,則會導(dǎo)致神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度過慢,經(jīng)過反復(fù)試驗,發(fā)現(xiàn)選取學(xué)習(xí)效率的值為0.5時,即可滿足構(gòu)造需求。
(4)PID參數(shù)調(diào)節(jié)
PID 參數(shù)由3 類參數(shù)組成:比例kp、積分ki、微分kd。在此使用θ表征PID參數(shù)。設(shè)定參數(shù)θ的累計平方梯度r的初始值為0,其更新公式如公式(12)所示。PID參數(shù)θ的更新公式如公式(13)所示。
式中,g為參數(shù)的梯度。
式中,g為參數(shù)的梯度;η為學(xué)習(xí)效率;δ為小常數(shù),取值為1~7(避免分母為0)(補充其他變量的解釋)。
盲區(qū)危險目標自動避碰系統(tǒng)架構(gòu)如圖7 所示,由感知層、決策層和執(zhí)行層3部分組成[13]。
圖7 盲區(qū)危險目標自動避碰系統(tǒng)架構(gòu)
(1)感知層通過感知傳感器對交通環(huán)境中的盲區(qū)目標進行感知探測;
(2)決策層依據(jù)感知層獲取的目標信息,對目標是否需要自動避碰、避碰方位進行控制決策;
(3)執(zhí)行層通過神經(jīng)網(wǎng)絡(luò)PID 模型控制自車對盲區(qū)危險目標進行避碰,控制達到期望的橫向位置。
系統(tǒng)的感知層如圖8 所示,主要使用木牛雷達對交通目標進行感知探測。定義縱向時距TTO為本車與目標的縱向相對距離與相對速度之比,表征目標與自車并排所需時間。系統(tǒng)的輸入量為目標偏航角a,相對距離R,相對速度Vr,輸出量為目標縱向相對距離Rx,橫向相對距離Ry,和縱向時距TTO。
圖8 目標感知探測模塊
木牛雷達可獲取的目標信號包括:偏航角a、相對距離R和相對速度Vr。首先需要將目標位置信息轉(zhuǎn)換為自車坐標位置,其計算如式(14)、(15)。
系統(tǒng)決策層如圖9 所示,它通過感知層獲取的交通環(huán)境信息對自車是否需要緊急避碰進行決策規(guī)劃[14-16]。系統(tǒng)的輸入量為目標與自車的縱向相對距離Rx,橫向相對距離Ry,相對速度Vr,左右車道線位置,自車速度Vego和縱向時距TTO,輸出量為盲區(qū)目標預(yù)警的激活時間、目標方位(左后方或右后方)、危險等級信號和自動避碰介入信號。
圖9 盲區(qū)目標預(yù)警模塊
(1)盲區(qū)目標預(yù)警的激活時間
盲區(qū)目標預(yù)警的激活時間是目標車進入自車相對危險區(qū)域后,預(yù)警功能激活的時間。功能激活需要滿足的約束條件如下。
①速度約束
盲區(qū)目標預(yù)警功能激活需要滿足目標車輛速度大于自車速度的條件,速度約束條件如式(16)。
式中,Vego為Vobj為目標車輛速度。
②位置約束
盲區(qū)目標預(yù)警功能激活需要約束目標的橫向相對位置在特定的區(qū)域范圍內(nèi),其約束條件式(17)所示。
式中,Rx為橫向距離;Lane為車道位置(由Mobileye EQ3 攝像頭獲?。籖d為當前道路的車道寬度,其值由左右車道線距離差值計算獲得。
盲區(qū)目標預(yù)警功能激活需要約束目標的縱向相對位置在自車后方的特定區(qū)域范圍內(nèi),其約束條件如公式(18)所示。
式中,Ry為縱向距離;RBSM為功能激活的縱向距離閾值,取30 m[17]。
③時距約束
盲區(qū)目標預(yù)警功能激活需要確定目標車輛具有在較短時間內(nèi)超越自車的能力,約束條件如式(19)。
式中,TTO為縱向時距;TTOBSM為功能激活的縱向時距閾值,通過大量場景數(shù)據(jù)分析,取值為3.5 s。
(2)目標方位
車輛盲區(qū)包括左側(cè)盲區(qū)和右側(cè)盲區(qū)兩部分,為了判斷是否需要使用左側(cè)或者右側(cè)的盲區(qū)目標預(yù)警功能,需要對目標所處的方位進行判定。由于目標可能部分位于本車道內(nèi),無法直接以車道線為方位的界限,本文通過比較目標與左右兩車道線的距離對進行方位進行判定,若滿足式(20),則判定目標位于右側(cè);若不滿足,則判定目標位于右側(cè)。
式中,Rx為橫向距離;LaneL為左側(cè)車道線位置,LaneR為右側(cè)車道線位置。
(3)危險等級信號和自車避碰介入信號
盲區(qū)目標的危險等級劃分如表2 所示,以Cluster-1 的最大橫向相對距離Rmin和Cluster-2 的平均橫向相對距離Rmean作為等級劃分的界限,將場景分為0 級危險場景、1 級危險場景、2 級危險場景。自車避碰介入信號以場景的危險等級作為介入依據(jù),對于0 級的場景不介入自動避碰功能,信號為N,對于1 級和2 級的危險場景介入自動避碰功能,信號為Y。
表2 盲區(qū)目標的危險等級劃分
系統(tǒng)通過執(zhí)行層控制車輛進行避碰,當系統(tǒng)接受到自動避碰指令后,通過第4章構(gòu)建的神經(jīng)網(wǎng)絡(luò)PID模型控制本車進行偏轉(zhuǎn),實現(xiàn)對危險目標進行自動避碰。系統(tǒng)執(zhí)行層如圖10所示,輸入量包括本車速度、方向盤轉(zhuǎn)角、縱向時距、橫向距離、方位、危險等級、自動介入信號,輸出量為神經(jīng)網(wǎng)絡(luò)PID控制輸出的方向盤轉(zhuǎn)角。
圖10 系統(tǒng)執(zhí)行層
為了對盲區(qū)自動避碰系統(tǒng)的可行性進行驗證,使用ADAS 功能試驗車進行實車道路測試,以實現(xiàn)對系統(tǒng)的自動避碰性能進行評估[18-20]。道路測試的地點選擇為一條車輛較少的高速公路,測試時間為2019 年11 月16 日,天氣晴,道路交通條件為暢通,數(shù)據(jù)采集設(shè)備包括木牛毫米波雷達、Mobileye EQ3 攝像頭、Brick PC、CANape 數(shù)據(jù)存儲及處理軟件,系統(tǒng)測試的場景設(shè)定如表3所示。
表3 系統(tǒng)測試的場景設(shè)定
為闡述智能駕駛汽車盲區(qū)自動避碰系統(tǒng)的可行性,限于篇幅,選取一段場景示例對功能的盲區(qū)自動避碰功能進行展示,如圖11所示。t1-t9時刻目標自本車的右側(cè)進入盲區(qū),當車輛的縱向時距滿足功能的激活條件時,對目標的危險等級進行判定,并依據(jù)目標的危險等級控制車輛進行避碰。
圖11 場景示例
圖11 示例中,數(shù)數(shù)據(jù)采集設(shè)備獲取的場景數(shù)據(jù)如圖12 所示,圖12(a)為自車的速度Vego曲線、圖12(b)為自車方向盤轉(zhuǎn)角SAS、圖12(c)為目標的縱向相對位置Rx、圖12(d)為目標的橫向相對位置Ry、圖12(e)為目標的相對速度Vr、圖12(f)為實際縱向時距TTO的曲線和TTO為3.5 s 的激活時刻曲線對比圖。
圖12 示例場景的數(shù)據(jù)信息曲線
在本文中,以車輛可碰撞時刻(目標車頭超過自車車尾)自車與盲區(qū)危險目標的橫向相對距離期望值Rx_pre與實際值Rx的誤差來評估系統(tǒng)的性能,即最終的橫向誤差ek.。一個較小的ek.意味著系統(tǒng)的自動避碰性能優(yōu)良,一個較大的ek.意味著系統(tǒng)的自動避碰觸發(fā)較晚或自動避碰性能較差,需要提早預(yù)警時間或優(yōu)化算法。從示例展示結(jié)果可以看出,盲區(qū)目標觸發(fā)自動避碰功能后,即縱向時距TTO小于3.5 s,系統(tǒng)控制車輛想反方向進行自動避碰控制,大約2.6 s 自車與目標的橫向相對距離接近期望值,完全滿足駕駛員對盲區(qū)危險目標自動避碰功能的要求。
本文基于神經(jīng)網(wǎng)絡(luò)PID 算法,提出了一種盲區(qū)危險目標自動避碰方法。通過K均值聚類算法,對盲區(qū)超車場景的目標橫向距離進行聚類分析。神經(jīng)網(wǎng)絡(luò)PID自動避碰控制算法以聚類結(jié)果目標橫向距離作為安全指標,通過構(gòu)造系統(tǒng)感知層、決策層和執(zhí)行層,對危險和較為危險的目標進行自動避碰控制,以提高智能加速汽車的安全性。系統(tǒng)經(jīng)過實車道路試驗驗證,智能加速汽車在右后側(cè)目標駛?cè)胛kU區(qū)域時,觸發(fā)自動避碰控制系統(tǒng),并能在較短時間內(nèi)控制車輛避開超車目標。
簡而言之,本文所構(gòu)建的盲區(qū)危險目標自動避碰系統(tǒng)在道路測試中有著良好的表現(xiàn)。將在以后的研究中對涉及多目標的復(fù)合駕駛場景進行深入的研究,以實現(xiàn)多目標干擾的盲區(qū)危險目標自動避碰。