張?zhí)K才,李 剛,,王立勇,宿 焱
(1. 遼寧工業(yè)大學(xué) 汽車與交通工程學(xué)院,遼寧 錦州 121001;2. 北京信息科技大學(xué) 機電系統(tǒng)測控北京市重點實驗室,北京 100192)
中國大學(xué)生無人駕駛方程式大賽由中國汽車工程學(xué)會于2017年開始舉辦。在比賽過程中,無人駕駛方程式賽車需要以不斷變化的縱向車速行駛在復(fù)雜曲率的賽道上,賽車的橫向運動控制是保證其穩(wěn)定行駛在目標路徑的關(guān)鍵技術(shù)之一。
目前橫向運動控制算法主要有經(jīng)典控制方法[1-2]、純追蹤控制[3]、最優(yōu)控制[4]、自適應(yīng)控制[5]、滑??刂芠6]和模型預(yù)測控制[7]等。純追蹤算法原理簡單,易于實現(xiàn),但其前視距離對控制性能有很大影響。此外,純追蹤算法未考慮車輛動力學(xué)約束,道路曲率變化易使高速行使的車輛發(fā)生側(cè)滑,因此多用于車輛在低速和簡單道路曲率下的橫向運動控制[8]。趙凱等[9]通過計算路徑的預(yù)瞄偏差角和路徑曲率,提出了一種基于預(yù)瞄信息的橫向運動控制算法。Fan等[10]建立基于路徑跟隨誤差的線性系統(tǒng),采用線性二次型調(diào)節(jié)器(linear quadratic regulator,LQR)最優(yōu)控制實現(xiàn)橫向運動控制。
模型預(yù)測控制(model predictive control,MPC)能在線處理具有各種等式或不等式約束的復(fù)雜系統(tǒng)求解問題[11]。龔建偉等[12]介紹了使用MPC進行無人駕駛車輛運動控制的基礎(chǔ)方法。陳龍等[13]基于非線性模型預(yù)測控制設(shè)計了橫向運動控制器,并與障礙函數(shù)法結(jié)合,在提高跟蹤精度的同時改善了車輛行駛穩(wěn)定性。盧紅生等[14]提出了一種多約束模型控制方法,并提出倒序乘子求解法,在保證求解精度的同時大幅提升了求解效率。唐傳茵等[15]針對高速行駛工況下車輛路徑跟蹤效果,設(shè)計了一種基于粒子群優(yōu)化的模型預(yù)測控制器并進行仿真,結(jié)果表明該控制器對高速行駛車輛路徑跟蹤效果提升明顯,但低速行駛跟蹤效果不佳。雖然MPC能根據(jù)當前時刻車輛狀態(tài)進行預(yù)測控制,且能對車輛動力學(xué)進行約束,極大地提高了車速較高時橫向運動控制的精度和行駛穩(wěn)定性,控制效果優(yōu)于傳統(tǒng)的純追蹤控制,但是其控制效果受參數(shù)影響較大,在固定參數(shù)下難以適應(yīng)各種工況??傊?,上述單一控制算法存在不能滿足不同工況下的車輛橫向運動控制精度和行駛穩(wěn)定性要求的問題。
本文中針對無人駕駛方程式賽車這一特定規(guī)則下的自動駕駛車輛,考慮到其以較高車速行駛的同時保證橫向運動控制精度和行駛穩(wěn)定性,設(shè)計一種由純追蹤控制器、MPC控制器與切換控制器組成的橫向混合控制算法。當車速較低時,考慮到車輛行駛工況相對安全,采用純追蹤控制器進行橫向運動控制,以提高橫向運動控制的實時性;當車速處于中速工況時,切換控制器輸出加權(quán)系數(shù),作用于純追蹤控制器和MPC控制器,經(jīng)過加權(quán)系數(shù)計算,共同輸出轉(zhuǎn)角,實現(xiàn)兩者之間平滑切換;當車速較高時,采用MPC控制器,保證車輛橫向運動控制精度和行駛穩(wěn)定性。
由于賽事特殊的動力學(xué)要求,無人駕駛方程式賽車需盡可能以較高的車速行駛,因此需要建立包括動力學(xué)約束的車輛動力學(xué)模型以提高跟蹤精度和行駛穩(wěn)定性。為了減少動力學(xué)模型在求解過程中的計算量,作如下假設(shè)[16]:1)車輛行駛路面良好,不考慮垂直運動;2)忽略懸架系統(tǒng)和空氣動力學(xué)的影響;3)忽略橫向載荷轉(zhuǎn)移。由此建立只考慮車輛縱向、橫向和橫擺3個自由度的車輛三自由度模型,如圖1所示。
xoy—車輛坐標系;XOY—慣性坐標系;車輛在x軸方向的速度;車輛在y軸方向的速度;車輛橫擺角速度;δf—車輛前輪轉(zhuǎn)角;Fcf、Fcr—前、后輪側(cè)向力;Flf、Flr—前、后輪縱向力;αf、αr—前、后輪側(cè)偏角;a、b—質(zhì)心與前、后軸之間的距離。圖1 車輛三自由度模型
采用小角度假設(shè),輪胎受力為
(1)
根據(jù)牛頓第二定律,且考慮車輛坐標系與慣性坐標系之間轉(zhuǎn)換,車輛動力學(xué)方程為
(2)
純追蹤算法幾何原理如圖2所示。主要原理是通過阿克曼轉(zhuǎn)向幾何計算出前輪轉(zhuǎn)角δf,使車輛后軸中心沿目標路徑圓弧到達預(yù)瞄點(gx,gy)。
α—前視角;R—車輛轉(zhuǎn)彎半徑;ld—前視距離。圖2 純追蹤算法幾何原理
由圖2可得出如下關(guān)系:
(3)
即
(4)
式中:ld為前視距離;α為前視角;R為車輛轉(zhuǎn)彎半徑;eld為后軸中心與預(yù)瞄點的橫向偏差。
根據(jù)阿克曼轉(zhuǎn)向幾何,可得到
(5)
式中L為車輛軸距。
聯(lián)立式(4)、(5)得到前輪轉(zhuǎn)角控制方程為
(6)
2.2.1 線性時變模型
采用線性模型預(yù)測控制器作為橫向運動控制器,雖然比純追蹤控制器的計算時間長,但跟蹤精度較高,能夠滿足跟蹤精度和行駛穩(wěn)定性要求[17]。
(7)
2.2.2 預(yù)測方程
設(shè)參考點為(ξdyn,r,udyn,r),推導(dǎo)MPC的預(yù)測方程,將式(7)轉(zhuǎn)換成
(8)
得到一個新的狀態(tài)空間表達式,即
(9)
經(jīng)過上述推導(dǎo),得到系統(tǒng)的預(yù)測輸出表達式為
Y(t)=Ψξ(t|t)+ΘΔU(t),
(10)
2.2.3 目標函數(shù)設(shè)計
控制器的目標函數(shù)設(shè)計如式(11)所示,即
J[ξ(t),u(t-1),ΔU(t)]=
(11)
式中:η(k+i|t)為實際輸出,i為時域步長;ηref(k+i|t)為參考輸出;Q為輸出量權(quán)重矩陣;R為控制增量權(quán)重矩陣;ρ為松弛因子權(quán)重系數(shù);ε為松弛因子。2.2.4 約束條件
在控制器中加入以下動力學(xué)約束。
1)質(zhì)心側(cè)偏角約束。質(zhì)心側(cè)偏角極限在附著良好的路面可達到±12°,因此,對質(zhì)心側(cè)偏角β作如下約束:
-12°<β<12°。
(12)
2)附著條件約束。附著條件會對車輛穩(wěn)定性產(chǎn)生很大影響。車輛加速度與路面附著系數(shù)關(guān)系為
(13)
式中:ax、ay分別為x、y方向的加速度;μ為地面摩擦系數(shù)。
若約束條件限定過窄,運算求解量較大,可能會出現(xiàn)無解的情況。為了計算方便,將該約束設(shè)定為軟約束條件,若在采用時刻內(nèi)出現(xiàn)無可行解的情況,松弛因子會弱化該約束得出可行解,即
ay,min-ε≤ay≤ay,max+ε,
(14)
式中ay,min、ay,max為y方向加速度約束極值。
3)輪胎側(cè)偏角約束。若輪胎側(cè)偏角過大,輪胎附著力達到極限值,此時車輛會側(cè)滑失穩(wěn)。根據(jù)輪胎側(cè)偏特性[18],輪胎側(cè)偏角小于5°時,輪胎側(cè)偏力與側(cè)偏角呈線性關(guān)系。考慮到要保證賽車的行駛穩(wěn)定性,對前輪側(cè)偏角的約束條件作出更加嚴格的限定,因此,對輪胎側(cè)偏角進行如下約束:
-2.5°<αf<2.5°。
(15)
2.2.5 優(yōu)化求解
對式(16)約束優(yōu)化問題進行求解,得出作用于系統(tǒng)的最優(yōu)控制增量。
(16)
式中:ΔUf為控制增量;ΔUf,min、ΔUf,max分別為控制增量約束極限值;Uf為控制量;Uf,min、Uf,max分別為控制量約束極限值;yhc為硬約束輸出;yhc,min、yhc,max分別為硬約束輸出極限值;ysc為軟約束輸出;ysc,min、ysc,max分別為軟約束輸出極限值。
對式(16)進行求解,得到最優(yōu)前輪轉(zhuǎn)角增量序列如下:
(17)
將增量序列第一項作為系統(tǒng)的控制增量輸入,即
(18)
2.2.6 控制器參數(shù)確定
通過仿真結(jié)果來確定MPC控制器的參數(shù)。預(yù)測時域Np主要反映系統(tǒng)對未來的預(yù)測的程度,影響系統(tǒng)的穩(wěn)定性和響應(yīng)速率。當Np較小時,系統(tǒng)對未來時間步長的數(shù)量預(yù)測少,系統(tǒng)穩(wěn)定性較好,但響應(yīng)速率較慢;反之,則響應(yīng)速率較快,穩(wěn)定性較差。控制時域Nc主要影響優(yōu)化求解輸出量的個數(shù),其數(shù)值小于Np。當Nc較小時,系統(tǒng)的跟蹤性能較差且易出現(xiàn)抖動,因此,需要權(quán)衡系統(tǒng)的特性來確定Np和Nc的取值。
由于在提出的混合控制策略中,模型預(yù)測控制器主要工作在車速較高的工況下,通過多組仿真結(jié)果對比,最終確定MPC控制器的參數(shù)如表1所示。
表1 模型預(yù)測控制器參數(shù)
2.3.1 混合控制策略
根據(jù)賽車橫向運動控制要求,設(shè)計了如圖3所示的混合控制策略。在賽車行駛過程中,模式識別器根據(jù)賽車當前車速判斷行駛工況,輸入到切換控制器中。橫向運動控制系統(tǒng)根據(jù)當前路徑與目標路徑的偏差,分別使用純追蹤控制器和模型預(yù)測控制器解算出前輪轉(zhuǎn)角。中速工況時,對2個控制器輸出的前輪轉(zhuǎn)角進行加權(quán)計算。最終,切換控制器根據(jù)行駛工況輸出相應(yīng)的前輪轉(zhuǎn)角。以賽車反饋的實際縱向車速為切換依據(jù),進行2種算法切換。將車速設(shè)置為3種模式:①當車速小于35 km/h時,模式識別器識別到賽車行駛在低速工況,此時選擇純追蹤控制器。②當車速為35~40 km/h時,模式識別器識別到賽車行駛在中速工況,此時2種控制器加權(quán)輸出前輪轉(zhuǎn)角;設(shè)置中速工況主要是為了保證在2種算法之間平滑過渡,避免算法切換時出現(xiàn)不穩(wěn)定的狀況。③當車速大于40 km/h時,模式識別器識別到賽車行駛在高速工況,此時選擇MPC控制器。
vx—車輛x方向的車速;δf—前輪轉(zhuǎn)角;δ1—純追蹤控制器輸出轉(zhuǎn)角;δ2—模型預(yù)測控制器輸出轉(zhuǎn)角;λ1、λ2—加權(quán)系數(shù);X—實際縱向位置;Y—實際橫向位置;e—橫向位置誤差;de—橫向位置誤差變化率。圖3 混合控制策略結(jié)構(gòu)圖
2.3.2 切換控制器
根據(jù)前文所述混合控制策略,由于切換控制器只作用于中速工況,因此這時前輪轉(zhuǎn)角為2種算法加權(quán)輸出。定義純追蹤控制器輸出轉(zhuǎn)角為δ1,加權(quán)系數(shù)為λ1;MPC控制器輸出轉(zhuǎn)角為δ2,加權(quán)系數(shù)為λ2。切換完成之后,λ1和λ2一個為0、一個為1,防止在控制算法切換過程中橫向控制系統(tǒng)出現(xiàn)不穩(wěn)定的情況。最終輸出前輪轉(zhuǎn)角δf為
δf=λ1δ1+λ2δ2。
(19)
使用模糊控制算法設(shè)計切換控制器如圖4所示。將跟蹤過程中橫向位置誤差e和誤差的變化率de作為控制器的輸入。輸出為作用于2種算法輸出轉(zhuǎn)角的加權(quán)系數(shù)λ1和λ2。
圖4 基于模糊控制算法的切換控制器
模糊控制器主要包括3個部分,即隸屬度函數(shù)、模糊規(guī)則和解模糊化。
1)隸屬度函數(shù)。橫向位置誤差e的模糊論域為{-1,-0.5,0,0.5,1},對應(yīng)模糊子集為{nl,ns,zo,ps,pl},分別對應(yīng)負大、負小、零、正小、正大。誤差變化率de的模糊論域為{-1,0,1},對應(yīng)模糊子集為{nl,zo,pl},分別對應(yīng)負大、零、正大。加權(quán)系數(shù)λ1和λ2的物理論域為[0,1],模糊論域為{0,1,2,3},對應(yīng)的模糊子集為{zo,ps,m,pl},分別對應(yīng)零、正小、中等、正大。輸入量隸屬度函數(shù)采用高斯隸屬度函數(shù),表達式為
(20)
式中:σ為隸屬度函數(shù)的寬度;c為隸屬度函數(shù)的中心。
控制器輸出量隸屬度函數(shù)如圖5所示。
圖5 輸出量隸屬度函數(shù)
2)模糊規(guī)則。模糊控制規(guī)則如表2、3所示。對模糊規(guī)則進行說明如下:①當e為正大或負大、de為負大時,此時誤差e很大且有逐漸縮小的趨勢。為了保證控制系統(tǒng)平滑切換,λ1和λ2均為適中。若de為正大,此時誤差很大且有逐漸增大的趨勢,為了保證系統(tǒng)平滑切換且較快縮小橫向位置誤差e,λ1較小,λ2最大。若de為0,此時誤差e很大且暫時不發(fā)生變化,λ1較小,λ2適中。②當e為正小或負小、de為負大時,此時誤差e較小且有逐漸縮小的趨勢。為了保證控制系統(tǒng)平滑切換,λ1較小,λ2適中。若de為正大,此時誤差較小且有逐漸增大的趨勢,λ1和λ2均為適中。若de為0,此時誤差e較小且暫時不發(fā)生變化,λ1和λ2均為較小。③當e為0、de為負大或正大時,同樣為保證控制系統(tǒng)平滑切換,λ1較小,λ2適中。若de為0,此時系統(tǒng)跟蹤效果較好,λ1最小,λ2最大。
表2 加權(quán)系數(shù)λ1控制規(guī)則表
表3 加權(quán)系數(shù)λ2控制規(guī)則表
3)解模糊化。將得到的模糊值轉(zhuǎn)化為精確值,作為系統(tǒng)的輸入值,本文中采用常用的重心法解模糊化。
使用CarSim與MATLAB/Simulink聯(lián)合仿真實驗,對本文中提出的橫向運動控制策略進行驗證。無人駕駛方程式賽車模型部分參數(shù)如表4所示。
表4 無人駕駛方程式賽車車輛參數(shù)
由于無人駕駛方程式賽車比賽賽道彎道較多且彎道曲率復(fù)雜多變,因此目標路徑選取如圖6所示,用于驗證賽車在變速和復(fù)雜曲率工況下橫向跟蹤控制策略的跟蹤精度與行駛穩(wěn)定性。通常,瀝青或混凝土(干)路面峰值附著系數(shù)為0.8~0.9[18],考慮實際比賽中路面為附著良好的瀝青路面,因此,選取路面附著系數(shù)為0.85,從賽道起始位置開始進行路徑跟蹤。
圖6 賽車目標路徑曲線
由于在跟蹤過程中,目標路徑的縱向位置與橫向位置呈非線性關(guān)系,在進行參數(shù)的表述時存在不便,會出現(xiàn)曲線圖較亂的情況,因此,為了便于參數(shù)的表述,使用車輛行駛距離代替車輛縱向位置作為橫坐標。行駛距離與縱向位置的關(guān)系如圖7所示。
圖7 賽車行駛距離與縱向位置的關(guān)系
在實際比賽的過程中,賽車需在保證穩(wěn)定性的前提下,盡可能地以較高的車速行駛。經(jīng)多次仿真對比,在當前目標路徑下,賽車最高車速能達到72 km/h,因此,在仿真環(huán)境中,設(shè)定最高縱向車速為72 km/h。車輛在直道時加速,在彎道減速,縱向車速隨行駛距離變化如圖8所示,仿真結(jié)果如圖9、10所示。
圖8 賽車縱向車速與行駛距離的關(guān)系
從圖8中可以看出:整個跟蹤過程中縱向車速在不斷的變化,在行駛距離為50、80、210、230 m時,縱向車速為40 km/h;在行駛距離為53、73、207、227 m時,縱向車速為35 km/h。上述行駛距離處均為算法切換點,混合橫向控制算法進行切換。
從圖9(a)中可以看出,純追蹤控制和混合控制對目標路徑的跟蹤效果均較好,未出現(xiàn)特別明顯的偏離目標路徑的情況;但是,由于橫、縱向位置較大,對跟蹤效果的反映不夠直觀,因此,對3個彎道處的跟蹤效果對比進行放大。從圖9(b)中可以看出:在第一個彎道處混合控制在前半段低速工況下跟蹤效果與純追蹤一致。在縱向位置為18 m、對應(yīng)行駛距離為80 m時,此時混合控制切換為MPC算法,發(fā)生輕微抖動,與目標路徑產(chǎn)生偏差,但偏差很快消除,對整體跟蹤效果影響不大。從圖9(c)中可以看出,在第2個彎道時車輛處于高速轉(zhuǎn)彎的工況。隨著縱向位置增大,純追蹤控制與目標路徑之間出現(xiàn)明顯偏差,此時,混合控制使用的是MPC算法,與目標路徑之間保持較小的偏差,控制效果明顯優(yōu)于純追蹤控制。從圖9(d)中可以看出,在第3個彎道時混合控制已切換成純追蹤控制算法,由于賽道曲率較大,因此混合控制與純追蹤控制均與目標路徑產(chǎn)生明顯偏差。
從圖10(a)中可以看出,在整個跟蹤過程中,混合控制橫向位置誤差小于0.2 m,純追蹤控制誤差小于0.3 m,混合控制跟蹤精度優(yōu)于純追蹤控制。從圖10(b)中可以看出,在整個跟蹤過程中,混合控制與純追蹤控制質(zhì)心側(cè)偏角均小于0.15°,車輛行駛穩(wěn)定性較好。在算法切換點,混合控制質(zhì)心側(cè)偏角未出現(xiàn)明顯的波動,說明2種算法之間切換平滑。
根據(jù)無人駕駛方程式賽車橫向運動控制的要求,本文中設(shè)計了純追蹤控制和MPC控制混合橫向控制算法。在CarSim和MATLAB/Simulink軟件聯(lián)合仿真平臺對變速和復(fù)雜曲率賽道上的控制效果進行驗證。
1)當賽車在低速和高速行駛時,所設(shè)計的橫向控制系統(tǒng)均能有較好的路徑跟蹤性能。橫向位置誤差小于0.2 m,質(zhì)心側(cè)偏角小于0.15°。相比單一的純追蹤控制器,混合控制算法獲得了更好的控制效果,同時也保證了車輛的行駛穩(wěn)定性。
2)所設(shè)計的切換控制器在純追蹤控制器和MPC控制器進行切換時,能保證車輛橫向控制誤差和質(zhì)心側(cè)偏角不發(fā)生突然變化,實現(xiàn)在2種控制算法之間平滑切換。