閆振爭,莊繼暉,程曉鳴,嚴 英,甘海云
(1.海南大學,???570228;2.天津職業技術師范大學,天津 300222)
無人駕駛車輛(autonomous vehicle)是一個集合定位、感知、決策規劃及智能控制技術等多學科交叉,具有高度自主化和復雜化的綜合系統[1]。無人車的出現,不僅滿足人們對駕駛安全性和便利性的迫切需求,而且能夠有效緩解交通擁堵、車輛排放等問題[2-3]。在智能駕駛各項技術中,車輛的路徑跟蹤問題是目前研究的熱點之一。從控制的角度來看,車輛在行駛過程中具有較強的非線性和不確定性,其影響因素主要來源于車輛的“內擾”(車輛系統內部結構參數的不確定和系統各個結構間存在的耦合關系)及“外擾”(包括風力、路面附著力等)[4]。因此,為了使車輛能夠實現精確的路徑跟蹤,設計一種對車輛不確定性和外部干擾具有較強魯棒性的控制算法尤為重要。
針對車輛的路徑跟蹤問題,研究人員提出了不同的控制方法。目前,在車輛控制中應用較為成熟和廣泛的是PID控制[5-7],其原理是基于目標值與實際值之間的誤差來消除誤差,進而實現車輛的路徑跟蹤。這種控制算法設計簡單,但存在參數調節過程較為繁瑣,不易得到最優解等問題。為了解決參數難以調節的問題,Ding等[8]將BP神經網絡與PID進行聯合控制,通過BP神經網絡訓練優化P、I、D參數,有效提高控制精度,在一定程度上解決了PID參數調節的問題,但是該算法需要大量精確數據進行訓練,成本較高。Fitri Yakub等[9]提出了一種由模型預測控制器(MPC)和前饋控制器(FC)組成的轉向控制器,仿真結果證明所用方法能夠準確、穩定地控制車輛行駛,Liu等[10]設計出一種線性二次型調節器(LQR),并將其用于汽車橫擺力矩分配控制,使車輛有效跟隨期望質心側偏角和橫擺角速度,提高了車輛極限工況下行駛的穩定性和制動安全性,雖然這2個控制器性能良好,但是算法每一步都需要求解一個有限時域內的最優解,因此在線計算量大,難以滿足跟蹤控制實時性的要求,降低了控制器的可靠 性。除 此 之 外,Jiang等[11],Gao等[12],Lu等[13]分別結合趨近律控制、自適應模糊控制以及自適應神經網絡控制來優化滑膜控制率,進一步提高路徑跟蹤的精度,但是滑膜變結構自身的特點導致控制系統仍存在明顯的抖振現象。
自抗擾控制器(ADRC)[14-17]是一種非線性魯棒控制方法,是在經典PID控制的基礎上引入了現代控制理論中狀態觀測器的思想。自抗擾的優勢在于設計簡單,可以實時估計并補償系統運行過程中的“內擾”和“外擾”[18]。目前,一些研究人員已經論證了自抗擾控制器的穩定性和收斂性[19-22],并成功應用于MEMS陀螺儀[23]、船舶航向系 統 (ship course system)[24]、輪 式 機 器 人(wheeled mobile robots)[25]等領域。因此,為了獲得較好的跟蹤性能,將自抗擾控制算法應用于車輛的路徑跟蹤控制,并通過粒子群優化算法對控制器的參數進行優化,進而實現穩定、精確的路徑跟蹤效果。
車輛的動力學模型研究車輛輪胎及相關部分在各種力的作用下的動態響應特性。然而,在實際應用過程中,如果對車輛所有受力部位進行分析,將會大大增加模型的復雜度,進而增加算法的運行負擔,無法保證控制的實時性。因此,需要在保證其動力學特性的前提下,盡可能簡化車輛模型得復雜程度。
在簡化的車輛模型中,將2個前輪和2個后輪組合成單個前輪和后輪,簡化成2自由度車輛模型,如圖1所示,并做如下假設:忽略轉向系統和懸架的影響;保持車輛的縱向速度恒定,只需考慮車輛沿y軸的橫向運動及繞z軸的橫擺運動;忽略橫向和縱向的空氣動力學帶來的影響;在分析輪胎受力情況時,僅考慮輪胎的側偏特性。

圖1 車輛動力學模型示意圖
圖中XOY坐標系為固定的大地坐標系。xoy為車身坐標系,該坐標系隨著車身的運動而改變。對上述模型沿y軸和繞z軸進行受力分析:

其中:M為車身質量;ay為基于車身坐標系下車輛沿y軸方向的加速度,主要由沿y軸的運動以及向心加速度Vxw(w為車輛的橫擺角速度)兩部分組成,表達式如下所示:

式中:Fcf、Fcr分別表示車輛前輪和后輪所受的橫向輪胎力,由定義的動力學模型可知,在分析輪胎受力時僅考慮輪胎的側偏特性,假定前輪轉角δf和側偏角β較小情況下,輪胎側偏特性處于線性范圍,即:

其中:Cf、Cr分別表示前、后輪胎的側偏剛度,由于前輪和后輪各有2個,所以作用力為單個輪胎所受力的2倍。αf、αr為輪胎側滑角,為輪胎速度矢量方向與x軸的夾角,在小角度下,2個角的大小可近似表示為:

根據坐標系關系可知,質心側偏角β≈tanβ=Vy/Vx,故結合式(1)~(5)可得車輛動力學模型的微分方程為:

車輛各參數如表1所示。

表1 車輛參數
ADRC主要由3部分組成:跟蹤微分器(tracking differentiator,TD),非線性狀態誤差反饋(non-linear state error feedback,NLSEF),擴張狀態觀測器(extended state observer,ESO)。其中,TD的作用是對控制器的參考輸入信號進行處理,根據系統響應安排參考輸入的過渡過程,能夠有效解決由于參考輸入變化過于劇烈而引起的超調現象。ESO模塊能夠根據系統輸入和輸出信號,實時給出系統狀態變量的估計值以及系統內擾和外擾總和作用的估計值,并對擾動估計值進行補償。NLSEF通過設計非線性組合控制量來消除TD與ESO估計值之間的狀態誤差,結合ESO模塊中生成的擾動補償量,形成最終的控制量,以2階系統為例,其原理如圖2所示。

圖2 自抗擾控制原理框圖
在車輛實際運動過程中,車輛的橫擺角速度是衡量車輛橫向穩定性的重要參數,因此,本研究將車輛的橫擺角速度作為控制器的參考輸入,根據車輛的動力學特性,設計自抗擾控制器,通過控制車輛的前輪轉角進行橫擺角速度的跟蹤控制,最終實現車輛的路徑跟蹤控制。車輛控制系統如圖3所示。

圖3 控制系統框圖
圖3中的理想橫擺角速度wdes是根據期望道路曲率計算得到[26]:

式中:vdes為期望車速;kdes為期望道路曲率。兩者的數值均可從上層規劃模塊中獲取得到。曲率的計算方法采用的是正交回歸法,若期望路徑曲線為y=f(x),則曲率kdes可表示為:

如圖3所示,被控車的控制輸入和輸出變量分別為前輪轉角δf和橫擺角速度w,根據車輛動力學模型(6),推導出被控系統輸出w和輸入δf之間的關系為:

則車輛控制系統可以描述為如下2階系統:

根據自抗擾算法原理,對上述2階車輛系統進行路徑跟蹤控制器設計。首先,通過設計ESO模塊,估計車輛“總擾動”和車輛橫擺角速度及其微分信號;然后根據TD模塊獲取預處理后的期望橫擺角速度及其微分信號;最后設計狀態誤差反饋控制率,消除橫擺角速度及其微分信號的誤差,通過誤差控制量和ESO模塊的擾動估計值,對擾動進行補償,決定最終的控制量δf。
算法具體過程:

步驟1通過式(11)設計控制器的擴張狀態觀測器(ESO),估計系統狀態變量及總擾動F(*):

其中:χ01、χ02、χ03為觀測增益;z1、z2分別為車輛底盤反饋的橫擺角速度及其微分信號的估計值,z3為總和擾動F(*)的估計值;b0為控制量的補償因子,可以通過調節該參數補償并抑制系統擾動,進而增強算法的適應性。同時,為消除跟蹤過程中的高頻振蕩的現象,觀測器中引入fal函數[18],其定義如下:

其中α的范圍在0~1。式(10)中,取 α1=0.5,α2=0.25,h為系統采樣時間的倍數。
步驟2以期望橫擺角速度v0為參考輸入,設計跟蹤微分器(TD)安排過渡過程:

其中:v1和v2為橫擺角速度v0的跟蹤信號及其微分信號;r為速度因子,其大小反映v1跟蹤v0信號的快慢;h0表示積分步長;fhan函數為最速綜合函數,其作用是消除跟蹤過程中的高頻振蕩的現象[18],定義如下:

其中:sign(*)為符號函數,當*為0時函數值為零,當*大于零時函數值為1,當*小于零時,函數值為-1。
步驟3設計狀態誤差反饋控制率(NLSEF)來消除跟蹤誤差:

其中:e1、e2為橫擺角速度偏差和橫擺角加速度偏差;k1、k2為控制器增益。
步驟4通過誤差控制量u0和擾動估計值z3進行擾動補償,決定最終的控制量δf:

將式(16)(17)代入式(10),可得:

通過調節ESO參數可以使估計值z3更加接近實際總擾動F(*),使-z3結果趨于零,從而將系統轉化純PD的非線性組合控制,最終的構建的控制器模型如圖4所示。

圖4 所設計的ADRC模型框圖
由ADRC控制器設計過程可知,整個控制器需整定的參數較多,為了降低整定工作量,采用基于粒子群優化算法對自抗擾控制中的關鍵參數進行優化整定。
粒子群優化(particle swarm optimization,PSO)算法是由Kennedy和Eberhart依據鳥群覓食過程中的群體性行為提出的一種智能搜索算法,是粒子按照自身經歷過的最優位置和群體共享的最優位置來調整速度和位置,使其趨向于全局最優解[27]。
綜合考慮控制器的控制精度、響應的快速性、穩定性的同時,兼顧控制器的控制能耗,將上述指標加權構成粒子群優化算法的適應度函數,用于評判待整定參數的適應度,函數為:

其中:t為仿真時間;e(t)為偏差;u(t)為控制量;Mp為超調量;tr為上升時間;μ1、μ2、μ3、μ4為權重系數,分別為設定為0.6、0.1、0.15、0.15。
基于粒子群優化算法的控制器參數整定流程如下:
步驟1確定控制器待整定的關鍵參數:為減少參數整定的計算量,首先采用經驗設定法[28]設定h、hi、rj、b0,如下所示:h=0.01,hi=0.1(i=0,1,2,…,7),r=100,r1=r2=r3=180,b0=15;僅將擴張狀態觀測器中的 χ01、χ02、χ03和狀態誤差反饋控制率中的k1、k2這5個參數作為本次優化對象,并對其初始化;
步驟2初始化粒子群優化算法,將粒子群規模設置為50,迭代次數為100,更新粒子的速度v[]和位置p[]:

其中:rand()和Rand()為[0,1]內變化的隨機數,γ1和γ2的值為1.2;λ為慣性權重,λ越小,算法的局部搜索能力越強,反之則全局搜索能力越強[29]。權重定義如下:

令 λmax、λmin為1.5和0;t為當前迭代次數;tmax表示算法的最大迭代次數。
步驟3將粒子群優化算法與設計的自抗擾控制器相結合,編寫程序計算各粒子的適應度值Ji,將其與粒子自身經歷過的最好位置(pbest[])和群體共享的最好位置(gbest[])的適應度值進行比較:若Ji>pbest[],則pbest[]=Ji,否則pbest[]保持不變;同理可確定的gbest[]值;
步驟4判斷粒子群是否滿足迭代終止條件或達到最大迭代次數,如滿足,則直接輸出 χ01、χ02、χ03、k1、k2的最優解,如不滿足,則轉到步驟2。
基于粒子群優化(PSO)算法來整定自抗擾控制器的流程如圖5所示。

圖5 基于PSO的ADRC控制參數整定流程框圖
為了驗證自抗擾控制器在車輛路徑跟蹤控制中的應用,與傳統PID控制器進行對比分析。通過在Matlab的Simulink環境中搭建出2種控制算法的模型,然后與CarSim仿真軟件進行聯合仿真。被控車在CarSim中現有整車模型的基礎上進行修改,修改的部分主要為車身長寬高、軸/輪距、車輛質心高度等尺寸參數,還包括車身質量、轉動慣量等信息。Carsim中車身參數設置界面如圖6所示,仿真驗證所需車輛參數值見表1。
Carsim整車模型輸入為前輪轉角,輸出為車輛的速度、方向盤轉角和底盤反饋的實際橫擺角速度。控制器則接收通過2自由度車輛模型得到的理想橫擺角速度與底盤反饋的實際橫擺角速度,輸出前輪轉角(如圖4所示),并下發給整車模型,最終形成一個完整的車輛閉環控制系統,在Simulink中搭建的系統框圖如圖7所示。

圖6 CarSim車身參數設置界面

圖7 CarSim/Simlink聯合仿真框圖
在無人駕駛車輛路徑跟蹤研究中,雙移線工況常用來模擬車輛前方出現障礙物后,車輛對其進行避障,避障結束后再次逐漸回到本車道的行駛行為,是車輛行駛的典型行為之一,因此采用雙移線工況作為算法的測試工況。
雙移線工況的方程如下[30]:

車輛期望行駛軌跡如圖8所示,設車輛的初始位置為(0,0),路面的摩擦因數值選擇為0.8。

圖8 “雙移線”軌跡
為了驗證所提出控制算法的效果,分別在15 km/h和30 km/h的速度工況下與PID算法進行比較,對比分析車輛的軌跡跟蹤、橫向加速度、橫擺角速度等特征參數。通過粒子群優化算法最終迭代求解出2種速度工況下的自抗擾控制器整定參數的最優解,如表2所示,并在圖9、10中給出2種車速工況下的仿真結果。

表2 ADRC整定參數的最優解

圖9 15 km/h雙移線工況仿真結果

圖10 30 km/h雙移線工況仿真結果
由圖8(a)和圖9(a)可知:在車速為15 km/h與車速為30 km/h的工況下,PID和ADRC控制算法均能夠通過控制車輛按照期望軌跡的趨勢變化。但是當路徑曲率增大時,實際軌跡與理想軌跡之間出現較大的偏移誤差。通過對比2種速度下的局部放大圖可知:在車速相同時,ADRC控制控制器控制效果較好,被控車行駛的軌跡更接近期望軌跡,而且隨著車速的增加,PID控制效果變差,在曲率較大的地方軌跡偏離誤差增大,相比之下,所設計的ADRC控制器則保持較好的控制效果,軌跡偏差較小。
圖8、9中的(b)為2種算法在不同速度工況下車輛橫擺角速度變化情況,它是衡量車輛穩定性的重要參數。從圖中可以看到:車速較低時,2種算法均表現出較好的控制效果,但隨著車速增加,PID控制算法下車輛的橫擺角速度的幅值抖動幅度較大,而ADRC控制策略下,車輛橫擺角速度的幅值更加接近理想值,具有較好的魯棒性。
圖8、9中的(c)表示車輛橫向加速度隨時間變化的圖像,由圖可知,2種算法下車輛的橫向加速度都遠小于0.4g,車輛在路徑跟蹤過程中具有良好的側向穩定性。與PID算法相比,ADRC控制算法能夠明顯削減橫向加速度的幅值變化,有效提高車輛側向穩定性。
為了進一步驗證所設計算法的優越性,對車輛的橫向偏移量進行定量對比分析,結果如表3所示。由表3可知,車速為15 km/h的工況下,與PID控制器相比,所設計的控制器控制車輛的最大橫向偏移誤差和平均橫向偏移誤差分別降低了48.2%和43.7%。而且,相比于車速為15 km/h的工況,PID在車速30 km/h工況下的橫向偏移誤差和平均橫向偏移誤差波動較大,最大橫向誤差和平均橫向偏移誤差分別增加了46.7%和35.6%,而ADRC橫向偏差則穩定在一個相對較小的范圍內,由此可以驗證所設計的控制算法在車速變化時具有較強的魯棒性。

表3 2種算法測得的參數
綜上所述,與PID算法相比,所提出的ADRC控制算法具有較強的魯棒性,能夠有效改善由道路曲率變化而導致車輛抖動的問題。
為了使無人駕駛車輛實現精確的路徑跟蹤,構建車輛動力學模型,設計一種具有主動補償擾動的ADRC控制算法。利用粒子群優化算法對ADRC關鍵參數進行整定,進一步優化了控制器性能。在車速為15 km/h和30 km/h的雙移線工況下,與PID算法進行仿真對比驗證。仿真結果表明:所提出的控制算法可有效削弱車輛在曲率變化過程中抖動現象,在保證車輛穩定性的前提下,進一步提高無人駕駛車輛路徑跟蹤的精度。本次研究是在仿真層次驗證算法的控制效果,未進行實車驗證,因此,下一步研究重點是將該算法應用到實際車輛的控制中。