邢斯琦,馮 凱,薛玲玲
(陜西重型汽車有限公司,陜西 西安 710200)
自動駕駛主要分為環(huán)境感知、決策規(guī)劃和車輛控制三個部分,為了提高無人駕駛車輛系統(tǒng)的實時性,通過車輛動力學模型等效約束轉化可以有效減少規(guī)劃和控制的計算復雜度,提高系統(tǒng)的實時性。對于無人駕駛車輛來說,實現(xiàn)智能化和實用化的必要條件是高效穩(wěn)定的軌跡跟蹤控制[1]。本文研究的對象和問題是在常規(guī)道路環(huán)境下如何通過無人駕駛車輛的前輪主動轉向實現(xiàn)軌跡跟蹤控制。
本文利用Trucksim 建立車輛動力學模型進行被控對象的相關仿真,根據(jù)實際車輛的真實尺寸參數(shù)、空氣動力學參數(shù)、懸架的相關結構參數(shù)、輪胎參數(shù)等數(shù)據(jù),建立需要的車輛動力學模型,Trucksim 界面及參數(shù)配置圖如圖1 和圖2 所示,參數(shù)設定參考國內某重型牽引車(不包含牽引車后掛)。
圖1 Trucksim 界面展示圖
圖2 Trucksim 參數(shù)配置圖
模型預測控制是一種反饋控制算法,使用模型來預測過程的未來輸出,解決帶約束的優(yōu)化,最終求得最佳解作用于控制系統(tǒng)[2],其中的滾動優(yōu)化和反饋校正特性,可以減少系統(tǒng)滯后導致的誤差,提高控制系統(tǒng)的性能,達到優(yōu)化的目的。
其主要特點是:
(1)支持多輸入/輸出系統(tǒng),以便能夠建立起輸入輸出之間的相互影響參數(shù)。
(2)支持添加多項約束條件。
(3)預測功能,即預測出未來時刻系統(tǒng)的輸出以達到控制當前系統(tǒng)狀態(tài)的目的。
(4)反饋校正和在線優(yōu)化,利用輸出的實時控制信息對基于模型的預測結果進行誤差校正后,在線進行下一次的優(yōu)化,以此反復。
模型預測控制算法主要分為三個部分:模型預測、滾動優(yōu)化和反饋校正。經典的模型預測控制算法控制流程如圖3所示。
圖3 模型預測控制算法結構圖
模型預測是算法的基礎,它可以根據(jù)被控對象的歷史信息和未來輸入,預測出控制系統(tǒng)未來某一時刻的輸出[3]。而且該算法對預測模型的類型也沒有嚴格的限定,狀態(tài)方程、傳遞函數(shù)等常用的傳統(tǒng)模型都可作為算法的預測模型。
在實際控制過程中,控制效果會受到很多環(huán)境因素的干擾,而模型預測控制算法中的滾動優(yōu)化可以很好地抑制外部干擾產生的影響。該算法能夠根據(jù)當前時刻重新建立預測時域內的目標函數(shù),并且這種優(yōu)化不是單次離線進行的,而是通過反復在線優(yōu)化得到的。因此,滾動優(yōu)化是模型預測控制算法區(qū)別于其他最優(yōu)控制算法的根本點。
在實際情況中,控制效果除了會受到外部干擾以外,還會出現(xiàn)模型預測值與實際不相符,出現(xiàn)較大偏差等現(xiàn)象。所以利用模型預測控制算法的閉環(huán)優(yōu)化特點,通過輸出值與模型的預估值進行比較,使用得出的誤差來矯正模型的預測值,進而得出未來時刻更為準確的預測值。這種閉環(huán)控制的優(yōu)點,可以使模型預測控制算法的抗干擾能力得到很大提升。
模型預測控制算法的基本原理如圖4 所示。
圖4 模型預測控制算法基本原理圖
整個控制過程滿足上述的三要素,始終會存在一條期望的參考軌跡,以k 時刻作為當前時刻,控制系統(tǒng)會根據(jù)當前測量值和預測值,預測未來一段時間內系統(tǒng)的輸出,通過求解滿足約束條件的目標函數(shù)最佳解,得到該時域內的控制序列,但只需將該控制序列中的第一項元素作為受控對象的實際控制量,下一時刻,反復如上的預測動作和控制行為,逐步完成滿足約束條件的優(yōu)化求解問題,這樣就實現(xiàn)了對被控對象的持續(xù)預測控制功能。
本文在車輛運動學建模之前先對車輛進行簡化,將車輛抽象為前后兩個車輪,即使用簡單的自行車模型[4]。如圖5所示,使用車輛的前后輪和車軸來表示,車輛軸長表示為d,前輪轉角表示為θ,車輛在進行轉彎的動作可以近似簡化為車輛后軸繞某一點做圓周運動,轉彎半徑可表示為該圓周的半徑長度r,通過三點形成的三角形可以推導出車輛航向角度的變換為車輛行駛的距離除以轉彎半徑r,對時間的一階導數(shù)即為航向角的角速度,基本推導結果如式(1)所示。
圖5 簡單自行車模型結構圖
當前航向角的角速度可以表示為:
式(2)中:v為車輛當前速度;r為轉彎半徑。
以車輛后軸中心為原點O 建立直角坐標系,車輛縱向速度、橫向速度和航向角速度可以用狀態(tài)方程表示如下[5]:
式(3)中:φ為車輛當前航向角;x、y、φ為狀態(tài)變量;v、θ為控制變量。
當已知車輛速度為v,車輪轉角θ 時,可根據(jù)上述公式得到車輛的位置x、y和車輛轉向角φ。
因為狀態(tài)方程是一個非線性的方程,所以需要先進行線性化,再對已經生成路徑上的某一點進行泰勒展開,取第一階即完成了整個線性過程。那么系統(tǒng)的狀態(tài)方程可以轉換為如下式(4)。
式(4)中:A(t)為f(x,u)對x的雅克比矩陣;B(t)為f(x,u)對u的雅克比矩陣。則轉化結果對應的雅克比矩陣AB 分別如下所示:
為了對達不到目標條件的車輛模型施行“懲罰”[6],需要盡可能抑制誤差,并且根據(jù)需求不同損失項的選取也不一樣,對于這些損失項需要用權重系數(shù)加以區(qū)分,設置損失函數(shù)和限制條件如式(5)。
控制量約束條件:
控制增量約束條件:
輸出約束條件:
利用MATLAB/Simulink 的仿真模塊對該算法進行仿真模擬,在Trucksim 中搭建車輛動力學模型,并完成對于Simulink 的輸入輸出對應設置,然后在Simulink 中設置S 函數(shù)實現(xiàn)控制算法[7-8],模塊封裝結構如圖6 所示。最后運行搭建的仿真模型,在Trucksim 中動畫展示中可以看到車輛各參數(shù)變化情況,包括車輪轉角變化曲線、車速變化曲線、橫向加速度變化曲線等,如圖7 所示。
圖6 Simulink 模塊封裝結構圖
圖7 Trucksim 仿真效果示意圖
模擬仿真測試驗證表明,在理想情況下模型預測控制算法能夠快速且穩(wěn)定地跟蹤期望軌跡,但是在性能和效率等方面還需要進行算法優(yōu)化。具體優(yōu)化方向如下:
(1)目標函數(shù)約束選取。在進行實車綜合項目開發(fā)時,根據(jù)實際要求進行約束條件的選取,避免因為約束條件少造成實際控制效果不好的問題。
(2)算法性能優(yōu)化。算法需要實時計算,耗費系統(tǒng)資源大,后期可以對車輛動力學模型進行合理的簡化,減少控制算法的在線計算量,從而減小系統(tǒng)的資源占有率。
(3)算法效率優(yōu)化,提升實時性。通過采樣周期的縮短保證實時控制,但是采樣周期的縮短不能小于最長制動時間,這樣會存在還未完成制動達到所需狀態(tài),已經進行了下一次采樣和預測。