閆振爭,莊繼暉,程曉鳴,嚴 英,甘海云
(1.海南大學(xué),???570228;2.天津職業(yè)技術(shù)師范大學(xué),天津 300222)
無人駕駛車輛(autonomous vehicle)是一個集合定位、感知、決策規(guī)劃及智能控制技術(shù)等多學(xué)科交叉,具有高度自主化和復(fù)雜化的綜合系統(tǒng)[1]。無人車的出現(xiàn),不僅滿足人們對駕駛安全性和便利性的迫切需求,而且能夠有效緩解交通擁堵、車輛排放等問題[2-3]。在智能駕駛各項技術(shù)中,車輛的路徑跟蹤問題是目前研究的熱點之一。從控制的角度來看,車輛在行駛過程中具有較強的非線性和不確定性,其影響因素主要來源于車輛的“內(nèi)擾”(車輛系統(tǒng)內(nèi)部結(jié)構(gòu)參數(shù)的不確定和系統(tǒng)各個結(jié)構(gòu)間存在的耦合關(guān)系)及“外擾”(包括風(fēng)力、路面附著力等)[4]。因此,為了使車輛能夠?qū)崿F(xiàn)精確的路徑跟蹤,設(shè)計一種對車輛不確定性和外部干擾具有較強魯棒性的控制算法尤為重要。
針對車輛的路徑跟蹤問題,研究人員提出了不同的控制方法。目前,在車輛控制中應(yīng)用較為成熟和廣泛的是PID控制[5-7],其原理是基于目標(biāo)值與實際值之間的誤差來消除誤差,進而實現(xiàn)車輛的路徑跟蹤。這種控制算法設(shè)計簡單,但存在參數(shù)調(diào)節(jié)過程較為繁瑣,不易得到最優(yōu)解等問題。為了解決參數(shù)難以調(diào)節(jié)的問題,Ding等[8]將BP神經(jīng)網(wǎng)絡(luò)與PID進行聯(lián)合控制,通過BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練優(yōu)化P、I、D參數(shù),有效提高控制精度,在一定程度上解決了PID參數(shù)調(diào)節(jié)的問題,但是該算法需要大量精確數(shù)據(jù)進行訓(xùn)練,成本較高。Fitri Yakub等[9]提出了一種由模型預(yù)測控制器(MPC)和前饋控制器(FC)組成的轉(zhuǎn)向控制器,仿真結(jié)果證明所用方法能夠準確、穩(wěn)定地控制車輛行駛,Liu等[10]設(shè)計出一種線性二次型調(diào)節(jié)器(LQR),并將其用于汽車橫擺力矩分配控制,使車輛有效跟隨期望質(zhì)心側(cè)偏角和橫擺角速度,提高了車輛極限工況下行駛的穩(wěn)定性和制動安全性,雖然這2個控制器性能良好,但是算法每一步都需要求解一個有限時域內(nèi)的最優(yōu)解,因此在線計算量大,難以滿足跟蹤控制實時性的要求,降低了控制器的可靠 性。除 此 之 外,Jiang等[11],Gao等[12],Lu等[13]分別結(jié)合趨近律控制、自適應(yīng)模糊控制以及自適應(yīng)神經(jīng)網(wǎng)絡(luò)控制來優(yōu)化滑膜控制率,進一步提高路徑跟蹤的精度,但是滑膜變結(jié)構(gòu)自身的特點導(dǎo)致控制系統(tǒng)仍存在明顯的抖振現(xiàn)象。
自抗擾控制器(ADRC)[14-17]是一種非線性魯棒控制方法,是在經(jīng)典PID控制的基礎(chǔ)上引入了現(xiàn)代控制理論中狀態(tài)觀測器的思想。自抗擾的優(yōu)勢在于設(shè)計簡單,可以實時估計并補償系統(tǒng)運行過程中的“內(nèi)擾”和“外擾”[18]。目前,一些研究人員已經(jīng)論證了自抗擾控制器的穩(wěn)定性和收斂性[19-22],并成功應(yīng)用于MEMS陀螺儀[23]、船舶航向系 統(tǒng) (ship course system)[24]、輪 式 機 器 人(wheeled mobile robots)[25]等領(lǐng)域。因此,為了獲得較好的跟蹤性能,將自抗擾控制算法應(yīng)用于車輛的路徑跟蹤控制,并通過粒子群優(yōu)化算法對控制器的參數(shù)進行優(yōu)化,進而實現(xiàn)穩(wěn)定、精確的路徑跟蹤效果。
車輛的動力學(xué)模型研究車輛輪胎及相關(guān)部分在各種力的作用下的動態(tài)響應(yīng)特性。然而,在實際應(yīng)用過程中,如果對車輛所有受力部位進行分析,將會大大增加模型的復(fù)雜度,進而增加算法的運行負擔(dān),無法保證控制的實時性。因此,需要在保證其動力學(xué)特性的前提下,盡可能簡化車輛模型得復(fù)雜程度。
在簡化的車輛模型中,將2個前輪和2個后輪組合成單個前輪和后輪,簡化成2自由度車輛模型,如圖1所示,并做如下假設(shè):忽略轉(zhuǎn)向系統(tǒng)和懸架的影響;保持車輛的縱向速度恒定,只需考慮車輛沿y軸的橫向運動及繞z軸的橫擺運動;忽略橫向和縱向的空氣動力學(xué)帶來的影響;在分析輪胎受力情況時,僅考慮輪胎的側(cè)偏特性。
圖1 車輛動力學(xué)模型示意圖
圖中XOY坐標(biāo)系為固定的大地坐標(biāo)系。xoy為車身坐標(biāo)系,該坐標(biāo)系隨著車身的運動而改變。對上述模型沿y軸和繞z軸進行受力分析:
其中:M為車身質(zhì)量;ay為基于車身坐標(biāo)系下車輛沿y軸方向的加速度,主要由沿y軸的運動以及向心加速度Vxw(w為車輛的橫擺角速度)兩部分組成,表達式如下所示:
式中:Fcf、Fcr分別表示車輛前輪和后輪所受的橫向輪胎力,由定義的動力學(xué)模型可知,在分析輪胎受力時僅考慮輪胎的側(cè)偏特性,假定前輪轉(zhuǎn)角δf和側(cè)偏角β較小情況下,輪胎側(cè)偏特性處于線性范圍,即:
其中:Cf、Cr分別表示前、后輪胎的側(cè)偏剛度,由于前輪和后輪各有2個,所以作用力為單個輪胎所受力的2倍。αf、αr為輪胎側(cè)滑角,為輪胎速度矢量方向與x軸的夾角,在小角度下,2個角的大小可近似表示為:
根據(jù)坐標(biāo)系關(guān)系可知,質(zhì)心側(cè)偏角β≈tanβ=Vy/Vx,故結(jié)合式(1)~(5)可得車輛動力學(xué)模型的微分方程為:
車輛各參數(shù)如表1所示。
表1 車輛參數(shù)
ADRC主要由3部分組成:跟蹤微分器(tracking differentiator,TD),非線性狀態(tài)誤差反饋(non-linear state error feedback,NLSEF),擴張狀態(tài)觀測器(extended state observer,ESO)。其中,TD的作用是對控制器的參考輸入信號進行處理,根據(jù)系統(tǒng)響應(yīng)安排參考輸入的過渡過程,能夠有效解決由于參考輸入變化過于劇烈而引起的超調(diào)現(xiàn)象。ESO模塊能夠根據(jù)系統(tǒng)輸入和輸出信號,實時給出系統(tǒng)狀態(tài)變量的估計值以及系統(tǒng)內(nèi)擾和外擾總和作用的估計值,并對擾動估計值進行補償。NLSEF通過設(shè)計非線性組合控制量來消除TD與ESO估計值之間的狀態(tài)誤差,結(jié)合ESO模塊中生成的擾動補償量,形成最終的控制量,以2階系統(tǒng)為例,其原理如圖2所示。
圖2 自抗擾控制原理框圖
在車輛實際運動過程中,車輛的橫擺角速度是衡量車輛橫向穩(wěn)定性的重要參數(shù),因此,本研究將車輛的橫擺角速度作為控制器的參考輸入,根據(jù)車輛的動力學(xué)特性,設(shè)計自抗擾控制器,通過控制車輛的前輪轉(zhuǎn)角進行橫擺角速度的跟蹤控制,最終實現(xiàn)車輛的路徑跟蹤控制。車輛控制系統(tǒng)如圖3所示。
圖3 控制系統(tǒng)框圖
圖3中的理想橫擺角速度wdes是根據(jù)期望道路曲率計算得到[26]:
式中:vdes為期望車速;kdes為期望道路曲率。兩者的數(shù)值均可從上層規(guī)劃模塊中獲取得到。曲率的計算方法采用的是正交回歸法,若期望路徑曲線為y=f(x),則曲率kdes可表示為:
如圖3所示,被控車的控制輸入和輸出變量分別為前輪轉(zhuǎn)角δf和橫擺角速度w,根據(jù)車輛動力學(xué)模型(6),推導(dǎo)出被控系統(tǒng)輸出w和輸入δf之間的關(guān)系為:
則車輛控制系統(tǒng)可以描述為如下2階系統(tǒng):
根據(jù)自抗擾算法原理,對上述2階車輛系統(tǒng)進行路徑跟蹤控制器設(shè)計。首先,通過設(shè)計ESO模塊,估計車輛“總擾動”和車輛橫擺角速度及其微分信號;然后根據(jù)TD模塊獲取預(yù)處理后的期望橫擺角速度及其微分信號;最后設(shè)計狀態(tài)誤差反饋控制率,消除橫擺角速度及其微分信號的誤差,通過誤差控制量和ESO模塊的擾動估計值,對擾動進行補償,決定最終的控制量δf。
算法具體過程:
步驟1通過式(11)設(shè)計控制器的擴張狀態(tài)觀測器(ESO),估計系統(tǒng)狀態(tài)變量及總擾動F(*):
其中:χ01、χ02、χ03為觀測增益;z1、z2分別為車輛底盤反饋的橫擺角速度及其微分信號的估計值,z3為總和擾動F(*)的估計值;b0為控制量的補償因子,可以通過調(diào)節(jié)該參數(shù)補償并抑制系統(tǒng)擾動,進而增強算法的適應(yīng)性。同時,為消除跟蹤過程中的高頻振蕩的現(xiàn)象,觀測器中引入fal函數(shù)[18],其定義如下:
其中α的范圍在0~1。式(10)中,取 α1=0.5,α2=0.25,h為系統(tǒng)采樣時間的倍數(shù)。
步驟2以期望橫擺角速度v0為參考輸入,設(shè)計跟蹤微分器(TD)安排過渡過程:
其中:v1和v2為橫擺角速度v0的跟蹤信號及其微分信號;r為速度因子,其大小反映v1跟蹤v0信號的快慢;h0表示積分步長;fhan函數(shù)為最速綜合函數(shù),其作用是消除跟蹤過程中的高頻振蕩的現(xiàn)象[18],定義如下:
其中:sign(*)為符號函數(shù),當(dāng)*為0時函數(shù)值為零,當(dāng)*大于零時函數(shù)值為1,當(dāng)*小于零時,函數(shù)值為-1。
步驟3設(shè)計狀態(tài)誤差反饋控制率(NLSEF)來消除跟蹤誤差:
其中:e1、e2為橫擺角速度偏差和橫擺角加速度偏差;k1、k2為控制器增益。
步驟4通過誤差控制量u0和擾動估計值z3進行擾動補償,決定最終的控制量δf:
將式(16)(17)代入式(10),可得:
通過調(diào)節(jié)ESO參數(shù)可以使估計值z3更加接近實際總擾動F(*),使-z3結(jié)果趨于零,從而將系統(tǒng)轉(zhuǎn)化純PD的非線性組合控制,最終的構(gòu)建的控制器模型如圖4所示。
圖4 所設(shè)計的ADRC模型框圖
由ADRC控制器設(shè)計過程可知,整個控制器需整定的參數(shù)較多,為了降低整定工作量,采用基于粒子群優(yōu)化算法對自抗擾控制中的關(guān)鍵參數(shù)進行優(yōu)化整定。
粒子群優(yōu)化(particle swarm optimization,PSO)算法是由Kennedy和Eberhart依據(jù)鳥群覓食過程中的群體性行為提出的一種智能搜索算法,是粒子按照自身經(jīng)歷過的最優(yōu)位置和群體共享的最優(yōu)位置來調(diào)整速度和位置,使其趨向于全局最優(yōu)解[27]。
綜合考慮控制器的控制精度、響應(yīng)的快速性、穩(wěn)定性的同時,兼顧控制器的控制能耗,將上述指標(biāo)加權(quán)構(gòu)成粒子群優(yōu)化算法的適應(yīng)度函數(shù),用于評判待整定參數(shù)的適應(yīng)度,函數(shù)為:
其中:t為仿真時間;e(t)為偏差;u(t)為控制量;Mp為超調(diào)量;tr為上升時間;μ1、μ2、μ3、μ4為權(quán)重系數(shù),分別為設(shè)定為0.6、0.1、0.15、0.15。
基于粒子群優(yōu)化算法的控制器參數(shù)整定流程如下:
步驟1確定控制器待整定的關(guān)鍵參數(shù):為減少參數(shù)整定的計算量,首先采用經(jīng)驗設(shè)定法[28]設(shè)定h、hi、rj、b0,如下所示:h=0.01,hi=0.1(i=0,1,2,…,7),r=100,r1=r2=r3=180,b0=15;僅將擴張狀態(tài)觀測器中的 χ01、χ02、χ03和狀態(tài)誤差反饋控制率中的k1、k2這5個參數(shù)作為本次優(yōu)化對象,并對其初始化;
步驟2初始化粒子群優(yōu)化算法,將粒子群規(guī)模設(shè)置為50,迭代次數(shù)為100,更新粒子的速度v[]和位置p[]:
其中:rand()和Rand()為[0,1]內(nèi)變化的隨機數(shù),γ1和γ2的值為1.2;λ為慣性權(quán)重,λ越小,算法的局部搜索能力越強,反之則全局搜索能力越強[29]。權(quán)重定義如下:
令 λmax、λmin為1.5和0;t為當(dāng)前迭代次數(shù);tmax表示算法的最大迭代次數(shù)。
步驟3將粒子群優(yōu)化算法與設(shè)計的自抗擾控制器相結(jié)合,編寫程序計算各粒子的適應(yīng)度值Ji,將其與粒子自身經(jīng)歷過的最好位置(pbest[])和群體共享的最好位置(gbest[])的適應(yīng)度值進行比較:若Ji>pbest[],則pbest[]=Ji,否則pbest[]保持不變;同理可確定的gbest[]值;
步驟4判斷粒子群是否滿足迭代終止條件或達到最大迭代次數(shù),如滿足,則直接輸出 χ01、χ02、χ03、k1、k2的最優(yōu)解,如不滿足,則轉(zhuǎn)到步驟2。
基于粒子群優(yōu)化(PSO)算法來整定自抗擾控制器的流程如圖5所示。
圖5 基于PSO的ADRC控制參數(shù)整定流程框圖
為了驗證自抗擾控制器在車輛路徑跟蹤控制中的應(yīng)用,與傳統(tǒng)PID控制器進行對比分析。通過在Matlab的Simulink環(huán)境中搭建出2種控制算法的模型,然后與CarSim仿真軟件進行聯(lián)合仿真。被控車在CarSim中現(xiàn)有整車模型的基礎(chǔ)上進行修改,修改的部分主要為車身長寬高、軸/輪距、車輛質(zhì)心高度等尺寸參數(shù),還包括車身質(zhì)量、轉(zhuǎn)動慣量等信息。Carsim中車身參數(shù)設(shè)置界面如圖6所示,仿真驗證所需車輛參數(shù)值見表1。
Carsim整車模型輸入為前輪轉(zhuǎn)角,輸出為車輛的速度、方向盤轉(zhuǎn)角和底盤反饋的實際橫擺角速度??刂破鲃t接收通過2自由度車輛模型得到的理想橫擺角速度與底盤反饋的實際橫擺角速度,輸出前輪轉(zhuǎn)角(如圖4所示),并下發(fā)給整車模型,最終形成一個完整的車輛閉環(huán)控制系統(tǒng),在Simulink中搭建的系統(tǒng)框圖如圖7所示。
圖6 CarSim車身參數(shù)設(shè)置界面
圖7 CarSim/Simlink聯(lián)合仿真框圖
在無人駕駛車輛路徑跟蹤研究中,雙移線工況常用來模擬車輛前方出現(xiàn)障礙物后,車輛對其進行避障,避障結(jié)束后再次逐漸回到本車道的行駛行為,是車輛行駛的典型行為之一,因此采用雙移線工況作為算法的測試工況。
雙移線工況的方程如下[30]:
車輛期望行駛軌跡如圖8所示,設(shè)車輛的初始位置為(0,0),路面的摩擦因數(shù)值選擇為0.8。
圖8 “雙移線”軌跡
為了驗證所提出控制算法的效果,分別在15 km/h和30 km/h的速度工況下與PID算法進行比較,對比分析車輛的軌跡跟蹤、橫向加速度、橫擺角速度等特征參數(shù)。通過粒子群優(yōu)化算法最終迭代求解出2種速度工況下的自抗擾控制器整定參數(shù)的最優(yōu)解,如表2所示,并在圖9、10中給出2種車速工況下的仿真結(jié)果。
表2 ADRC整定參數(shù)的最優(yōu)解
圖9 15 km/h雙移線工況仿真結(jié)果
圖10 30 km/h雙移線工況仿真結(jié)果
由圖8(a)和圖9(a)可知:在車速為15 km/h與車速為30 km/h的工況下,PID和ADRC控制算法均能夠通過控制車輛按照期望軌跡的趨勢變化。但是當(dāng)路徑曲率增大時,實際軌跡與理想軌跡之間出現(xiàn)較大的偏移誤差。通過對比2種速度下的局部放大圖可知:在車速相同時,ADRC控制控制器控制效果較好,被控車行駛的軌跡更接近期望軌跡,而且隨著車速的增加,PID控制效果變差,在曲率較大的地方軌跡偏離誤差增大,相比之下,所設(shè)計的ADRC控制器則保持較好的控制效果,軌跡偏差較小。
圖8、9中的(b)為2種算法在不同速度工況下車輛橫擺角速度變化情況,它是衡量車輛穩(wěn)定性的重要參數(shù)。從圖中可以看到:車速較低時,2種算法均表現(xiàn)出較好的控制效果,但隨著車速增加,PID控制算法下車輛的橫擺角速度的幅值抖動幅度較大,而ADRC控制策略下,車輛橫擺角速度的幅值更加接近理想值,具有較好的魯棒性。
圖8、9中的(c)表示車輛橫向加速度隨時間變化的圖像,由圖可知,2種算法下車輛的橫向加速度都遠小于0.4g,車輛在路徑跟蹤過程中具有良好的側(cè)向穩(wěn)定性。與PID算法相比,ADRC控制算法能夠明顯削減橫向加速度的幅值變化,有效提高車輛側(cè)向穩(wěn)定性。
為了進一步驗證所設(shè)計算法的優(yōu)越性,對車輛的橫向偏移量進行定量對比分析,結(jié)果如表3所示。由表3可知,車速為15 km/h的工況下,與PID控制器相比,所設(shè)計的控制器控制車輛的最大橫向偏移誤差和平均橫向偏移誤差分別降低了48.2%和43.7%。而且,相比于車速為15 km/h的工況,PID在車速30 km/h工況下的橫向偏移誤差和平均橫向偏移誤差波動較大,最大橫向誤差和平均橫向偏移誤差分別增加了46.7%和35.6%,而ADRC橫向偏差則穩(wěn)定在一個相對較小的范圍內(nèi),由此可以驗證所設(shè)計的控制算法在車速變化時具有較強的魯棒性。
表3 2種算法測得的參數(shù)
綜上所述,與PID算法相比,所提出的ADRC控制算法具有較強的魯棒性,能夠有效改善由道路曲率變化而導(dǎo)致車輛抖動的問題。
為了使無人駕駛車輛實現(xiàn)精確的路徑跟蹤,構(gòu)建車輛動力學(xué)模型,設(shè)計一種具有主動補償擾動的ADRC控制算法。利用粒子群優(yōu)化算法對ADRC關(guān)鍵參數(shù)進行整定,進一步優(yōu)化了控制器性能。在車速為15 km/h和30 km/h的雙移線工況下,與PID算法進行仿真對比驗證。仿真結(jié)果表明:所提出的控制算法可有效削弱車輛在曲率變化過程中抖動現(xiàn)象,在保證車輛穩(wěn)定性的前提下,進一步提高無人駕駛車輛路徑跟蹤的精度。本次研究是在仿真層次驗證算法的控制效果,未進行實車驗證,因此,下一步研究重點是將該算法應(yīng)用到實際車輛的控制中。