黃昆
(天津經緯恒潤科技股份有限公司,天津 300385)
主題詞:智能駕駛 盲區危險等級評估 神經網絡PID控制 自動避碰
縮略語
PID Proportional,Integral,Derivative
ADAS Advanced Driving Assistance System
BSM Blind Spot Monitoring System
DTW Dynamic Time Warping
根據世界衛生組織統計數據,全球每年約有125萬人死于交通事故,另有5 000 萬人受到不同程度的傷害[1]。為了減少交通事故,智能駕駛技術中的避撞系統(Collision Avoidance System)受到了越來越多的關注和重視[2]。汽車盲區是指由于視線遮擋而導致駕駛員不能直接觀察到的區域(圖1)。目前,在智能駕駛汽車盲區的先進駕駛輔助系統(Advanced Driving Assistance System,ADAS)中,較為成熟的功能僅有盲區監測系統(Blind Spot Monitoring System,BSM),它可以通過傳感器探測車輛左右后側盲區中即將超車的車輛,并對駕駛員進行警示,以避免駕駛員在變道的過程中與左、右、后方車輛發生碰撞。

圖1 車輛盲區示意
為了使盲區避碰系統能及時觸發,相關的緊急駕駛場景通常依據目標激活盲區預警功能的初始狀態進行軌跡預測,并通過危險等級評估指標對場景模式進行識別[3]。Kluger[4]等從離散傅里葉變換縱向加速度時間序列中提取特征變量,并使用聚類(K-Means)從自然駕駛數據中識別關鍵事件。Lee[5]等利用路段加減速累積頻率圖來測量減速度曲線的風險等級,并利用行駛軌跡數據訓練神經網絡模型來預測潛在的緊急減速,用于碰撞預警。張立軍[6]等基于軌跡預測模型,提出了一種以距離為安全指標的商用車盲區防撞預警方法。白龍[7]基于視覺感知系統,以單目攝像頭的測距結果為依據,提出了一種盲區安全預警方法。趙宇峰[8]利用單目視覺原理中的攝像機針孔成像模型對盲區目標進行測距,提出了一種盲區監測預警的視覺判定方法。然而,BSM盲區預警功能目前僅能對依據車輛盲區是否存在目標進行預警提醒,而無法對車輛進行避碰控制,因此盲區避碰系統的開發對盲區智能駕駛輔助技術具有十分重要的意義。
綜上所述,盲區智能駕駛輔助功能的研發仍停留在盲區目標預警的階段,將從盲區避碰進行深入的研究。設計一種基于神經網絡PID 構造的盲區危險目標自動避碰系統,將目標的橫向相對聚類為危險等級評估的指標,依據指標的譜聚類分析結果,對目標所處區域的危險等級進行劃分,并以期望的安全指標對高危險等級的盲區危險目標進行神經網絡PID 控制,輔助駕駛員實現盲區危險目標的自動避碰功能。
基于某主機廠的道路測試組采集的道路測試場景數據庫,提取盲區目標超越本車場景的交通場景數據,用以對盲區目標的風險等級分類。數據采樣間隔為10 Hz,記錄車輛并排前10 s 至車輛離開盲區的自車參數信息、車輛相對位置信息和相對運動信息。
基于某主機廠的道路測試場景數據庫,提取了265例盲區目標超車場景(圖2),作為危險等級評估的安全指標樣本。通過人工篩選,保留了251 例木牛毫米波雷達數據采集完整的場景,剔除66 例涉及三輪車、摩托車、自行車非機動車輛的干擾場景。最終,篩選出有效且完整的盲區目標超車場景片段,共計185例。

圖2 盲區目標超車場景
“盲區危險事件—緊急避碰”是盲區危險目標在超越本車的過程中,目標的橫向相對距離小于駕駛員期望的安全距離,使得自車駕駛員轉動轉向盤向危險目標反方向緊急避碰。
第1階段:自車處于自由駕駛狀態,其運動狀態隨機。
第2 階段:目標車以很大的縱向相對速度(5~15 m/s)從左/右相鄰車道進入危險區域,自車駕駛員控制轉向盤向反方向進行轉向,以避免碰撞。
在本次研究中,目標車進入盲區定義為“盲區一般事件”,當目標的橫向相對距離小于最小安全距離時定義為“盲區危險事件—緊急避碰”,以此表示駕駛員對當前狀態危險程度的判斷。
數據提取通過上位機獲取,圖3 為場景提取的上位機界面,左側示圖為場景的視頻及GPS 位置信息,右側示圖為場景的數據信息。自車速度Vego、方向盤轉角SAS、偏航角a、相對距離R、相對速度等Vr,縱向時距信息為目標的縱向時距。

圖3 上位機界面
譜聚類是一種基于圖論的算法,將所有數據視為空間中的點,并假設所有這些數據點都由賦予權值的邊連接[9]。2 個點相似度越大,邊緣權值越大,反之亦然。所有數據點之間的權值構成鄰接矩陣W,第i行和第j列的元素記錄點i和點j之間的權值。譜聚類的目的是找到該圖的分區,使得不同組之間邊的權值之和很小,而組內邊的權值之和很大[10]。
選取目標的橫向相對距離作為盲區避碰安全指標,對盲區車輛危險等級進行分類。針對盲區避碰安全指標的聚類分析結果,自車與目標車的橫向相對距離越小、距離變化率越大,通常表明駕駛員認知的危險程度越高。因此,在樣本相對橫向距離進行聚類分析過程中,以樣本間的動態時間規整(Dynamic Time Warping,DTW)和樣本的變化率(ΔCur)作為度量標準。
(1)“距離”度量標準
由于樣本中目標車駕駛員從發出超車意圖到超車結束的時間跨度不同,因此采用DTW 算法計算樣本中目標橫向相對距離時間序列的DTW距離。不同時間序列的DTW距離是基于樣本點與樣本點之間的路徑距離之和最小原則,計算距離路徑最優解。選擇2個k維信號X和Y,如式(1)、式(2)所示。

由于車輛CAN 總線和雷達探測到的信號都為1維信號,也就是說信號X和Y都只有第1行有數據,其中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),計算規則如圖4。

圖4 距離計算規則

2個時間序列信號X和Y之間的DTW距離計算如式(5)。

式中,dmn(X,Y)為計算各個樣本點之間的距離。
計算獲得的DTW距離可以完整的保留時間序列中的危險等級信息,以及目標的橫向相對速度的最大值、最小值和均值。
(2)平均變化率
在提取的目標橫向相對距離曲線中的平均變化率ΔCur(相對橫向距離變化幅度和持續時間的比值)時,首先需要將DTW距離和變化率ΔCur進行歸一化,消除維度對測量的影響。基于DTW距離和平均變化率ΔCur,通過高斯徑向基函數內核(一種相似性的度量表示)表示樣本點之間的兩兩相似之處,獲得樣本的鄰接矩陣W,將相近的樣本劃歸為同一類型。最終得到的樣本鄰接矩陣W如式(6)所示。

在鄰接矩陣W中,樣本點與樣本點之間的權值wij可以用來表示樣本點之間的相似性。權值wij的計算公式如式(7)。

式中,n表示采用的指標數量,本文取值為2(包括DTW距離和ΔCur)。
基于MATLAB軟件對第2章提取的185條目標橫向相對距離曲線進行譜聚類分析,同時使用K均值聚類算法[11]對目標的平均橫向相對距離、最小橫向相對距離和橫向相對距離的平均變化率ΔCur的均值進行聚類分析,并對兩種聚類分析方法的結果進行比較,其對比結果如表1所示。
由表1可知,相較于K均值聚類算法,譜聚類算法得到的平均變化率更低,因此依據譜聚類分析的結果對場景危險程度進行分類。由于Cluster-2 具有更大的橫向相對距離和平均變化率,因此將其劃分為無風險類型,其平均橫向相對距離Rmean可以作為駕駛員的期望橫向相對距離。而Cluster-1 具有較小的橫向相對距離和平均變化率,將其劃分為低風險類型,由于提取的盲區目標超車場景都為無碰撞的自然駕駛場景,因此該類場景的橫向相對距離最小值Rmin可以作為駕駛員認知的危險場景與安全場景的邊界。

表1 譜聚類與K均值聚類算法聚類結果對比
神經網絡PID 控制[12](Neural network PID control,NN PID)是一種典型的控制算法,它在傳統PID 控制的基礎上,通過神經網絡學習并調節PID 參數,可以在較短時間內使模型達到預期要求。本文設計的神經網絡PID 控制模型是基于m 語言編寫的,其結構示意圖如圖5所示。模型的輸入量包括駕駛員期望的目標橫向相對距離x和目標實際的橫向相對距離Rx,模型的輸出量為PID 控制的方向盤轉角SAS。其中PID參數僅需要給出一個初始的默認值,通過神經網絡即可實現PID參數的自動調節。

圖5 神經網絡PID模型示意
(1)PID的傳遞過程模型
在PID 模型的閉環控制中,系統通過計算被控制量的駕駛員期望值和實際測量值之間的誤差e(t),對被控制量進行不斷地調節,使其實際觀測值無限接近期望值。PID控制的一般形式如式(8)。

式中,y(t)為系統的輸出,kp為PID的比例調節參數,ki為PID的積分調節參數,kd為PID的微分調節參數。
(2)系統誤差更新
由于每一個循環過后,被控制量的實際觀測值都會發生改變,因此系統誤差也會隨之更新,直到系統誤差足夠小后,可以認為模型的控制調節效果達到預期。系統誤差的更新公式如式(9)。

式中,xk+1為第k+1次循環的輸入量,e(t)為系統誤差。
神經網絡PID 控制模型旨在通過神經網絡,對PID模型的PID參數進行不斷地學習和調節,如圖6所示。神經網絡的輸入變量為系統誤差e(t)、輸出量y和上一循環周期的PID 參數kp(t)、ki(t)、kd(t),輸出變量為下一周期的PID參數kp(t+T)、ki(t+T)、kd(t+T)。

圖6 神經網絡模型
神經網絡PID參數調節模型構建過程如下:
(1)隱藏層節點數計算
神經網絡隱藏層的節點數選擇,可以通過公式(10)計算獲得。

式中,m為隱藏層節點數,n為輸入層節點數,l為輸出層節點數,α為1~10之間的常數。
(2)神經網絡的訓練方法
神經網絡是通過訓練的誤差反饋來逐步調整各層輸入的權重配比,其常用的訓練方法包括梯度下降法和最小二乘法。經過綜合考慮,本文設計的跟車場景識別模型以梯度下降法作為神經網絡模型的訓練方法,其迭代公式如式(11)。

式中,wi+1為第i+1 個更新結果,di為第i個結果的距離誤差,ηi為學習效率。
(3)神經網絡學習效率
神經網絡的學習效率一般在0.01~0.80 之間選取,如果選擇的值過大會導致收斂過快,系統震蕩不穩定等問題,如果學習效率過小,則會導致神經網絡的訓練速度過慢,經過反復試驗,發現選取學習效率的值為0.5時,即可滿足構造需求。
(4)PID參數調節
PID 參數由3 類參數組成:比例kp、積分ki、微分kd。在此使用θ表征PID參數。設定參數θ的累計平方梯度r的初始值為0,其更新公式如公式(12)所示。PID參數θ的更新公式如公式(13)所示。

式中,g為參數的梯度。

式中,g為參數的梯度;η為學習效率;δ為小常數,取值為1~7(避免分母為0)(補充其他變量的解釋)。
盲區危險目標自動避碰系統架構如圖7 所示,由感知層、決策層和執行層3部分組成[13]。

圖7 盲區危險目標自動避碰系統架構
(1)感知層通過感知傳感器對交通環境中的盲區目標進行感知探測;
(2)決策層依據感知層獲取的目標信息,對目標是否需要自動避碰、避碰方位進行控制決策;
(3)執行層通過神經網絡PID 模型控制自車對盲區危險目標進行避碰,控制達到期望的橫向位置。
系統的感知層如圖8 所示,主要使用木牛雷達對交通目標進行感知探測。定義縱向時距TTO為本車與目標的縱向相對距離與相對速度之比,表征目標與自車并排所需時間。系統的輸入量為目標偏航角a,相對距離R,相對速度Vr,輸出量為目標縱向相對距離Rx,橫向相對距離Ry,和縱向時距TTO。

圖8 目標感知探測模塊
木牛雷達可獲取的目標信號包括:偏航角a、相對距離R和相對速度Vr。首先需要將目標位置信息轉換為自車坐標位置,其計算如式(14)、(15)。

系統決策層如圖9 所示,它通過感知層獲取的交通環境信息對自車是否需要緊急避碰進行決策規劃[14-16]。系統的輸入量為目標與自車的縱向相對距離Rx,橫向相對距離Ry,相對速度Vr,左右車道線位置,自車速度Vego和縱向時距TTO,輸出量為盲區目標預警的激活時間、目標方位(左后方或右后方)、危險等級信號和自動避碰介入信號。

圖9 盲區目標預警模塊
(1)盲區目標預警的激活時間
盲區目標預警的激活時間是目標車進入自車相對危險區域后,預警功能激活的時間。功能激活需要滿足的約束條件如下。
①速度約束
盲區目標預警功能激活需要滿足目標車輛速度大于自車速度的條件,速度約束條件如式(16)。

式中,Vego為Vobj為目標車輛速度。
②位置約束
盲區目標預警功能激活需要約束目標的橫向相對位置在特定的區域范圍內,其約束條件式(17)所示。

式中,Rx為橫向距離;Lane為車道位置(由Mobileye EQ3 攝像頭獲取);Rd為當前道路的車道寬度,其值由左右車道線距離差值計算獲得。
盲區目標預警功能激活需要約束目標的縱向相對位置在自車后方的特定區域范圍內,其約束條件如公式(18)所示。

式中,Ry為縱向距離;RBSM為功能激活的縱向距離閾值,取30 m[17]。
③時距約束
盲區目標預警功能激活需要確定目標車輛具有在較短時間內超越自車的能力,約束條件如式(19)。

式中,TTO為縱向時距;TTOBSM為功能激活的縱向時距閾值,通過大量場景數據分析,取值為3.5 s。
(2)目標方位
車輛盲區包括左側盲區和右側盲區兩部分,為了判斷是否需要使用左側或者右側的盲區目標預警功能,需要對目標所處的方位進行判定。由于目標可能部分位于本車道內,無法直接以車道線為方位的界限,本文通過比較目標與左右兩車道線的距離對進行方位進行判定,若滿足式(20),則判定目標位于右側;若不滿足,則判定目標位于右側。

式中,Rx為橫向距離;LaneL為左側車道線位置,LaneR為右側車道線位置。
(3)危險等級信號和自車避碰介入信號
盲區目標的危險等級劃分如表2 所示,以Cluster-1 的最大橫向相對距離Rmin和Cluster-2 的平均橫向相對距離Rmean作為等級劃分的界限,將場景分為0 級危險場景、1 級危險場景、2 級危險場景。自車避碰介入信號以場景的危險等級作為介入依據,對于0 級的場景不介入自動避碰功能,信號為N,對于1 級和2 級的危險場景介入自動避碰功能,信號為Y。

表2 盲區目標的危險等級劃分
系統通過執行層控制車輛進行避碰,當系統接受到自動避碰指令后,通過第4章構建的神經網絡PID模型控制本車進行偏轉,實現對危險目標進行自動避碰。系統執行層如圖10所示,輸入量包括本車速度、方向盤轉角、縱向時距、橫向距離、方位、危險等級、自動介入信號,輸出量為神經網絡PID控制輸出的方向盤轉角。

圖10 系統執行層
為了對盲區自動避碰系統的可行性進行驗證,使用ADAS 功能試驗車進行實車道路測試,以實現對系統的自動避碰性能進行評估[18-20]。道路測試的地點選擇為一條車輛較少的高速公路,測試時間為2019 年11 月16 日,天氣晴,道路交通條件為暢通,數據采集設備包括木牛毫米波雷達、Mobileye EQ3 攝像頭、Brick PC、CANape 數據存儲及處理軟件,系統測試的場景設定如表3所示。

表3 系統測試的場景設定
為闡述智能駕駛汽車盲區自動避碰系統的可行性,限于篇幅,選取一段場景示例對功能的盲區自動避碰功能進行展示,如圖11所示。t1-t9時刻目標自本車的右側進入盲區,當車輛的縱向時距滿足功能的激活條件時,對目標的危險等級進行判定,并依據目標的危險等級控制車輛進行避碰。

圖11 場景示例
圖11 示例中,數數據采集設備獲取的場景數據如圖12 所示,圖12(a)為自車的速度Vego曲線、圖12(b)為自車方向盤轉角SAS、圖12(c)為目標的縱向相對位置Rx、圖12(d)為目標的橫向相對位置Ry、圖12(e)為目標的相對速度Vr、圖12(f)為實際縱向時距TTO的曲線和TTO為3.5 s 的激活時刻曲線對比圖。

圖12 示例場景的數據信息曲線
在本文中,以車輛可碰撞時刻(目標車頭超過自車車尾)自車與盲區危險目標的橫向相對距離期望值Rx_pre與實際值Rx的誤差來評估系統的性能,即最終的橫向誤差ek.。一個較小的ek.意味著系統的自動避碰性能優良,一個較大的ek.意味著系統的自動避碰觸發較晚或自動避碰性能較差,需要提早預警時間或優化算法。從示例展示結果可以看出,盲區目標觸發自動避碰功能后,即縱向時距TTO小于3.5 s,系統控制車輛想反方向進行自動避碰控制,大約2.6 s 自車與目標的橫向相對距離接近期望值,完全滿足駕駛員對盲區危險目標自動避碰功能的要求。
本文基于神經網絡PID 算法,提出了一種盲區危險目標自動避碰方法。通過K均值聚類算法,對盲區超車場景的目標橫向距離進行聚類分析。神經網絡PID自動避碰控制算法以聚類結果目標橫向距離作為安全指標,通過構造系統感知層、決策層和執行層,對危險和較為危險的目標進行自動避碰控制,以提高智能加速汽車的安全性。系統經過實車道路試驗驗證,智能加速汽車在右后側目標駛入危險區域時,觸發自動避碰控制系統,并能在較短時間內控制車輛避開超車目標。
簡而言之,本文所構建的盲區危險目標自動避碰系統在道路測試中有著良好的表現。將在以后的研究中對涉及多目標的復合駕駛場景進行深入的研究,以實現多目標干擾的盲區危險目標自動避碰。