郭睿,張一鳴
1.吉林建筑大學(xué) 土木工程學(xué)院,吉林長春 130119;
2.吉林大學(xué) 汽車工程學(xué)院,吉林長春 130022
隨著國內(nèi)汽車保有量的增加[1],城市交通事故頻發(fā)。據(jù)統(tǒng)計,交通事故中86.1%原因是車撞車,其中追尾占40.3%,交叉碰撞占28.8%,十字交叉路口是車輛發(fā)生各種碰撞事故的主要地段[2]。使用主動安全系統(tǒng)解決十字路口交叉行駛可能發(fā)生碰撞的問題[3],可以提高汽車的安全性。AEB(Autonomous Emergency Braking)作為實現(xiàn)車輛縱向減速安全系統(tǒng)的典型裝置,在汽車產(chǎn)品上被廣泛應(yīng)用。GOUNIS K 等人[4]設(shè)計了一個基于安全距離的分層AEB 控制系統(tǒng),該系統(tǒng)由一個規(guī)劃層的規(guī)則控制模塊和一個控制層的控制模塊組成。LEE J 等人[5]考慮并開發(fā)反映曲線幾何信息的AEB 系統(tǒng),以提高曲線行駛車輛的AEB 性能??紤]到路面附著系數(shù)對車輛的AEB 功能有重要影響,ZENG D 等人[6]提出了一種改進的智能汽車自動緊急制動AEB 算法,該算法為了發(fā)揮電子液壓制動器的最優(yōu)性能,對前方路面附著系數(shù)進行了快速評估。
對于路徑規(guī)劃,常用的方法有基于多項式的路徑規(guī)劃、基于數(shù)值優(yōu)化的路徑規(guī)劃以及基于采樣的路徑規(guī)劃等[7-10]。ZHOU X 等人[11]結(jié)合A*算法和五次多項式,提出了一種新型的混合軌跡規(guī)劃方法。王安杰等人[12]針對自動駕駛汽車側(cè)方和后方的主動避撞問題,提出了融合障礙物運動預(yù)測的預(yù)測風險場和基于預(yù)測風險場的運動規(guī)劃方法。XU J 等人[13]提出了一種動態(tài)高斯局部規(guī)劃器DGLP(Dynamic Gaussian Local Planner)方法來解決動態(tài)環(huán)境中的運動規(guī)劃問題。ZONG C 等人[14]提出了一種改進的路徑規(guī)劃算法區(qū)域抽樣RRT(Regional-Sampling RRT)算法。
單一的減速避撞或者是轉(zhuǎn)向避撞都有一定不足,即當車輛之間距離過短時,可能無法實現(xiàn)避撞。復(fù)合型智能安全系統(tǒng)可以將減速以及轉(zhuǎn)向結(jié)合起來,在轉(zhuǎn)向的同時對車輛實施減速,該研究具有重要意義。PARK J 等人[15]提出一種轉(zhuǎn)向與制動同時運作的復(fù)合避撞系統(tǒng)。ZHANG Z 等人[16]提出一種基于模型預(yù)測控制的智能汽車縱橫向防撞控制策略。ZHANG X 等人[17]提出了一種個性化的運動規(guī)劃和跟蹤控制框架。
綜上所述,現(xiàn)在車輛的主動安全系統(tǒng)已經(jīng)比較成熟,對于避撞的功能研究也十分豐富,但由于十字路口環(huán)境的復(fù)雜性與多變性,仍然存在以下問題:(1)智能車已經(jīng)具備完整的AEB 系統(tǒng),對于轉(zhuǎn)向避撞規(guī)劃控制的AES(Adversary Emulation System)系統(tǒng)研究也同樣豐富,但是對于將兩者結(jié)合起來的轉(zhuǎn)向制動復(fù)合避撞的研究較少,且許多復(fù)合避撞采用橫縱向相互耦合的控制策略,該種策略不僅計算量大,且實時性、精度都較差,需要對橫縱向控制的解耦控制進行研究;(2)關(guān)于車輛在無法避免碰撞時最小化人員傷亡的情況研究較少。因此,研究車輛在十字交叉路口的橫縱向復(fù)合避撞十分重要。
為滿足仿真測試,本文搭建的十字路口緊急工況場景具有以下假設(shè):
(1)假設(shè)智能車由南向北直線行駛,它車由東向西直線行駛,它車違反了交通法規(guī)則強行駛過路口;
(2)十字路口雙向均為雙車道,暫不考慮除智能車和違法行駛的它車以外車輛;
(3)各車輛簡化為矩形,其4 個端點分別為A、B、C、D點,兩車尺寸相同,長度均為l,寬度為w。智能車各點由下角標1 表示,它車用2 表示。車道寬度為W,地面附著系數(shù)為Φ。
如圖1 所示,以初始時刻智能車AB面上中點O為原點,建立的笛卡爾坐標系是全局坐標系。
以車輛幾何中心點o為原點建立車輛坐標系。為便于計算,定義智能車A1B1面中點P1(X1,Y1)為智能車坐標點,它車A2B2中點P2(X2,Y2)為它車坐標點。
兩車中垂線的交點CP為交叉點,定義智能車A1D1面與它車A2D2面交點CP'為后交叉點。
初始時刻,智能車P1距離交叉點為X0,它車P2距離交叉點為Y0,智能車的速度大小為V10,它車的速度大小為V20。定義當智能車的A1點行駛到后交叉點時,智能車的A1點與它車的C2點的距離為安全距離Xsafe。雖然交通法規(guī)中并未明確限定車輛在紅綠燈路口的限速,根據(jù)同方向有兩條以上機動車道的城市道路行駛時,車輛最高時速不應(yīng)超過50 km/h 的規(guī)定,可確定X0與Y0的取值范圍為0 ~30 m,V10與V20的取值范圍為8 ~15 m/s。
將車輛簡化為單軌模型,只包含縱向、側(cè)向及橫擺3 個自由度。車輛的非線性動力學(xué)模型表達式如下:
其中,m為整車整備質(zhì)量;φ為車輛的橫擺角;x為車輛質(zhì)心在車輛坐標系下的縱向位移;y為車輛質(zhì)心在車輛坐標系下的側(cè)向位移;Clf、Clr分別為車輛前、后輪胎的縱向剛度;Ccf、Ccr分別為車輛前、后輪胎的側(cè)向剛度;Sf、Sr分別為前后輪的滑移率;δf為前輪側(cè)向力;a為質(zhì)心到前軸的距離;b為質(zhì)心到后軸的距離;X為車輛在全局坐標系下的橫坐標;Y為車輛在全局坐標系下的縱坐標;Izz為圍繞垂直于地面的車輛縱向軸旋轉(zhuǎn)的慣性特性參數(shù)。
橫縱向復(fù)合避撞規(guī)劃控制的主體是對車輛軌跡的規(guī)劃和對軌跡進行跟蹤。前者采用改進的Lattice 算法,后者縱向采用基于雙環(huán)PID 的控制策略,橫向采用基于MPC 的控制策略。
常規(guī)Lattice算法適用于非緊急情況進行軌跡規(guī)劃,為了滿足本文研究的緊急工況,對其進行了改進。在對規(guī)劃的軌跡進行跟蹤時,如果軌跡滿足道路邊界條件以及附著條件,則進一步采用相應(yīng)的控制算法進行軌跡跟蹤,否則應(yīng)考慮車輛之間無法及時避撞情況。
3.1.1 基于Frenet 坐標系的路徑族創(chuàng)建
首先將智能車以及它車的位姿信息轉(zhuǎn)換到Frenet坐標系,如圖2 所示,紅色虛線是車輛當前運行的軌跡方向,紅色實線是車輛運行的軌跡線,投影點R是車輛標記點P點在參考線上的投影。
從參考線起點(全局坐標系的原點O)到投影點的路徑長度就是車輛在Frenet坐標系下的縱向偏移量,用S表示,而投影點到車輛位置的距離L則是車輛在Frenet 坐標系下的橫向偏移量。
規(guī)定軌跡初始時刻為t0,軌跡結(jié)束時刻為t1。在Frenet 坐標系下,智能車在t0時刻,車輛位置P1為[S0,L0],速度為V10,加速度為a0;在t1時刻,車輛位置P1為[S1,L1],速度為V11,加速度為a1。對智能車的S-t 曲線以及L-S 曲線進行五次多項式擬合。
其中,S為智能車沿著路徑前進方向的前進量;L為智能車與路徑的橫向偏移量;j1、j2、j3、j4、j5、j6為智能車沿著路徑前進方向的前進量隨著時間變化的五次多項式的系數(shù),負責控制相應(yīng)項的影響程度;k1、k2、k3、k4、k5、k6為智能車與路徑橫向偏移量隨前進方向前進量變化的五次多項式的系數(shù),負責控制相應(yīng)項的影響程度,這些系數(shù)決定了擬合曲線的形狀和特征。
多項式系數(shù)的求解需要補足邊界條件,因此,對t1、L1、V11分別在允許范圍內(nèi)進行數(shù)據(jù)采樣。其中,為了保障軌跡的合法性,將L1的采樣范圍限定在旁邊的車道邊界范圍內(nèi),且有a0=a1=0、S0=0、S1=X0-w/2、L0=0。將采樣得到的m組邊界條件帶入多項式,即可得到智能車的軌跡族ξ1-ξm。
其中,V10為智能車與所在車道的橫向運動速度;a0為t0時刻的加速度;V11為在t1時刻智能車相對于固定坐標系沿切線方向的速度;a1為在t1時刻的加速度;S0為智能車t0時刻沿著路徑前進方向初始位置;S1為在t1時刻智能車沿著路徑前進方向的位置;L0為智能車t0時刻與路徑的橫向偏移位置;L1為在t1時刻智能車與路徑橫向偏移的位置。
3.1.2 基于改進Lattice 算法的最優(yōu)軌跡獲取
本文研究的緊急避撞工況中,智能車加速度與橫擺角速度可能較大,常規(guī)Lattice 算法規(guī)劃下加速度或者橫擺角速度不滿足要求,需要對Lattice 算法進行改進,保障軌跡的可跟蹤性。
改進的Lattice 算法為:
(1)對軌跡族的軌跡進行初步篩選,剔除智能車沿軌跡行駛時,加速度與橫擺角速度不滿足要求的軌跡,使得所有軌跡均為可跟蹤行駛的軌跡;
(2)使用十字路口特定的指標對可跟蹤行駛的軌跡進行評價,挑選出最優(yōu)的軌跡。
智能車沿軌跡ξi行駛時的加速度ai、側(cè)向加速度aci以及橫擺角速度φ的求解如下:
智能車的橫擺角由智能車沿著T軸的速度與N軸的速度之比的反正切求解得:
則智能車的橫擺角速度φ為:
智能車沿軌跡行駛的速度vi為:
智能車沿軌跡行駛的加速度ai為:
智能車沿軌跡行駛的側(cè)向加速度aci為:
為保障軌跡的可跟蹤性,智能車加速度應(yīng)滿足ai≤Φg,側(cè)向加速度應(yīng)滿足aci≤0.4 g,橫擺角速度應(yīng)滿足φ<Ψmax。其中,Ψmax為智能車在該速度條件下能達到的最大的橫擺角速度,如圖3 所示。
在排除掉不滿足跟蹤條件的軌跡之后,軌跡族更新為ξ1-ξn。常規(guī)Lattice 算法對軌跡進行評價時,考慮速度損失代價、橫向偏移代價、碰撞代價、加速度最大值、橫向加速度、向心加速度,而本文中由于已經(jīng)對加速度、側(cè)向加速度以及橫擺角速度進行了限制,因此僅考慮縱向偏移代價、橫向偏移代價以及最重要的安全距離這3 個指標。
縱向偏移為智能車沿規(guī)劃軌跡行駛的縱向位移與沿之前的軌跡行駛的縱向位移的差值Scost,即:
橫向偏移為智能車沿軌跡行駛的橫向位移Lcost,即:
安全距離Xsafe為t1時刻智能車的A1點與它車的D2點的距離,即:
其中,Y為車輛在全局坐標系下的初始縱坐標。
則軌跡的目標函數(shù)f為:
通過目標函數(shù)找到代價最小的軌跡即為緊急避撞工況下的最優(yōu)軌跡。
基于雙環(huán)PID 對智能車進行縱向控制,基于MPC對智能車進行橫向控制,即對軌跡的跟蹤控制進行解耦,避免直接使用MPC 導(dǎo)致的狀態(tài)方程矩陣過大、計算速度慢、控制不準確等問題。
3.2.1 基于雙環(huán)PID 的縱向控制
跟蹤控制智能車的縱向位置時,控制量為節(jié)氣門開度或制動主缸壓力。單環(huán)PID 控制存在速度偏差和位置偏差的干擾,會使得控制精度大大降低。通過雙環(huán)PID 對智能車進行縱向控制,通過內(nèi)環(huán)PID 控制器消除速度偏差干擾,內(nèi)環(huán)PID 控制器消除位置偏差干擾,極大地提升控制的精準度,實現(xiàn)智能車對S-t 曲線d的準確跟蹤。
根據(jù)S-t 曲線可以得到智能車沿最優(yōu)避撞軌跡行駛時的期望縱向位置與時間的關(guān)系,即Xref(t)=S(t),離散化后可得Xref(k),依此對智能車進行縱向控制。PID的離散表達式如下:
其中,Kp為比例系數(shù);Ki為積分系數(shù);Kd為微分系數(shù);e(k)為實際值與目標值之間的偏差;u(k)為控制量。對于外環(huán)PID,e(k)=Xref(k)-X(k)為位置偏差,u(k)為智能車此刻的期望速度Vref,選取系數(shù)為Kp=20、Ki=10、Kd=0;對于內(nèi)環(huán)PID,e(k)=Xref(k)-V(k)為速度偏差,u(k)為智能車的節(jié)氣門開度或者制動主缸壓力,選取系數(shù)為Kp=0.1,Ki=0.5,Kd=0。
3.2.2 基于MPC 的橫向控制
通過MPC 對智能車進行橫向控制,可以使得智能車對L-S 曲線進行跟蹤行駛。將系統(tǒng)狀態(tài)空間表達式的狀態(tài)量選取為X=[x,y,φ,φ,X,Y]T,控制量選取為u=δf,輸出量矩陣為η=[φ,Y]T,得到車輛的非線性動力學(xué)模型狀態(tài)空間表達式為:
任意時刻參考的狀態(tài)量Xref、控制量uref、輸出量ηref是智能車十字路口緊急工況復(fù)合避撞研究中所使用的重要變量,用于描述系統(tǒng)的狀態(tài)、控制輸入和期望輸出。據(jù)此更新系統(tǒng)狀態(tài)空間表達式的狀態(tài)量為:
其中,矩陣A和B分別為智能車在AB面行駛過程中狀態(tài)量及控制量的系數(shù)。
便于算法的求解以及誤差計算,將系統(tǒng)的狀態(tài)方程轉(zhuǎn)換為線性,將其離散化,在第k個步長將式狀態(tài)方程向前歐拉離散化可得:
其中,誤差項d(k)=Xref(k+1)-A1Xref(k)-B1uref(k);矩陣A1=TA(kT)+I;矩陣B1=TB(kT);矩陣C1=C。
令新的狀態(tài)向量:
可得:
其中,ξ(k+1) 為在第k+1 個步長下的狀態(tài)向量;矩陣A2=TA[(k+1)T]+I;矩陣B2=TB[(k+1)T];矩陣D=T(A+B);矩陣C2=C。
將輸出向量進一步化簡,可得輸出方程Y(k):
其中,Ψk為步長為k時車輛方向與參考軌跡的夾角;Θk為步長為k時車輛當前相對于參考軌跡的橫向位置偏差的角度;Γk為步長為k時車輛當前相對于參考軌跡的橫向位置偏差的距離;Фk為步長為k時車輛橫向運動方向與車輛朝向的夾角。
用以預(yù)測未來Np個時刻的系統(tǒng)輸出,確定Nc個時刻的最優(yōu)控制量。
二次規(guī)劃求解控制量中的目標函數(shù)為:其中,Q為輸出權(quán)重矩陣;R為控制增量權(quán)重矩陣;ρ為松弛因子權(quán)重;ε為松弛因子。松弛因子可以防止輸出量約束導(dǎo)致的無解,通過調(diào)節(jié)松弛因子,可以在無解時仍獲得系統(tǒng)在該時刻的次優(yōu)解。
為了驗證所提算法的有效性,在Simulink 中搭建算法模型和車輛模型,設(shè)置工況進行仿真驗證。工況設(shè)置如表1 所示。
表1 仿真具體工況
仿真結(jié)果如圖4 與5 所示。
工況1 中,智能車在3.01 s 時行駛到后交叉點,其側(cè)向加速度先反向增大,1 s 后正向增大,2 s 后慢慢趨于0;而縱向加速度在反向增大后,于1 s 后慢慢降低至0,3 s 內(nèi)隨時間的橫擺角速度先減小再增大,在1.5 s 后趨于0.1,此工況下,智能車的橫向偏移為3.65 m,預(yù)留的安全距離為7.97 m。工況2 中,其側(cè)向加速度先反向增大再正向增大,1 s 后加速度逐漸穩(wěn)定在0;而縱向加速度在反向增大后,于1 s 后降低,2 s 后趨近于0,4 s 內(nèi)隨時間的橫擺角速度先減小,0.5 s 后開始增大,此工況下,智能車在3.7 s 時行駛到后交叉點,智能車的橫向偏移為3.97 m,預(yù)留的安全距離為12.59 m,均符合避撞的要求。工況1 中,智能車的最大縱向加速度為0.4 g,最大側(cè)向加速度為0.18 g;工況2 中,智能車的最大縱向加速度為0.39 g,最大側(cè)向加速度為0.17 g,均滿足加速度限制要求;智能車的最大橫擺角速度分別為0.48 rad/s、0.28 rad/s,均小于在該車速下的最大橫擺角速度,滿足軌跡的跟蹤要求;智能車前輪轉(zhuǎn)角作為控制量,其滿足控制量范圍要求及控制量增量的限制要求;車輪的垂向載荷始終大于0,說明智能車行駛穩(wěn)定,沒有發(fā)生側(cè)翻。
本文的內(nèi)容為橫縱向復(fù)合避撞規(guī)劃控制研究。復(fù)合避撞是將縱向的減速以及橫向的換道結(jié)合起來,以達到更好的避撞效果。其中規(guī)劃部分采用了改進的Lattice 軌跡規(guī)劃算法,與傳統(tǒng)規(guī)劃算法的區(qū)別在于對智能車沿軌跡行駛的加速度以及橫擺角速度做出了硬性的要求,排除了智能車不能夠跟蹤行駛軌跡,優(yōu)先保障了軌跡的可跟蹤性,以防出現(xiàn)規(guī)劃的最優(yōu)軌跡智能車跟蹤不了的情形。根據(jù)規(guī)劃的S-t 曲線以及L-S曲線進行解耦的橫縱向復(fù)合控制,根據(jù)S-t 曲線使用雙環(huán)PID 控制智能車在預(yù)定時間內(nèi)到達指定的縱向位置,根據(jù)L-S曲線使用MPC 控制智能車在指定的縱向位置時達到規(guī)劃的橫向偏移量以及橫擺角。