邢斯琦,馮 凱,薛玲玲
(陜西重型汽車有限公司,陜西 西安 710200)
自動駕駛主要分為環境感知、決策規劃和車輛控制三個部分,為了提高無人駕駛車輛系統的實時性,通過車輛動力學模型等效約束轉化可以有效減少規劃和控制的計算復雜度,提高系統的實時性。對于無人駕駛車輛來說,實現智能化和實用化的必要條件是高效穩定的軌跡跟蹤控制[1]。本文研究的對象和問題是在常規道路環境下如何通過無人駕駛車輛的前輪主動轉向實現軌跡跟蹤控制。
本文利用Trucksim 建立車輛動力學模型進行被控對象的相關仿真,根據實際車輛的真實尺寸參數、空氣動力學參數、懸架的相關結構參數、輪胎參數等數據,建立需要的車輛動力學模型,Trucksim 界面及參數配置圖如圖1 和圖2 所示,參數設定參考國內某重型牽引車(不包含牽引車后掛)。

圖1 Trucksim 界面展示圖

圖2 Trucksim 參數配置圖
模型預測控制是一種反饋控制算法,使用模型來預測過程的未來輸出,解決帶約束的優化,最終求得最佳解作用于控制系統[2],其中的滾動優化和反饋校正特性,可以減少系統滯后導致的誤差,提高控制系統的性能,達到優化的目的。
其主要特點是:
(1)支持多輸入/輸出系統,以便能夠建立起輸入輸出之間的相互影響參數。
(2)支持添加多項約束條件。
(3)預測功能,即預測出未來時刻系統的輸出以達到控制當前系統狀態的目的。
(4)反饋校正和在線優化,利用輸出的實時控制信息對基于模型的預測結果進行誤差校正后,在線進行下一次的優化,以此反復。
模型預測控制算法主要分為三個部分:模型預測、滾動優化和反饋校正。經典的模型預測控制算法控制流程如圖3所示。

圖3 模型預測控制算法結構圖
模型預測是算法的基礎,它可以根據被控對象的歷史信息和未來輸入,預測出控制系統未來某一時刻的輸出[3]。而且該算法對預測模型的類型也沒有嚴格的限定,狀態方程、傳遞函數等常用的傳統模型都可作為算法的預測模型。
在實際控制過程中,控制效果會受到很多環境因素的干擾,而模型預測控制算法中的滾動優化可以很好地抑制外部干擾產生的影響。該算法能夠根據當前時刻重新建立預測時域內的目標函數,并且這種優化不是單次離線進行的,而是通過反復在線優化得到的。因此,滾動優化是模型預測控制算法區別于其他最優控制算法的根本點。
在實際情況中,控制效果除了會受到外部干擾以外,還會出現模型預測值與實際不相符,出現較大偏差等現象。所以利用模型預測控制算法的閉環優化特點,通過輸出值與模型的預估值進行比較,使用得出的誤差來矯正模型的預測值,進而得出未來時刻更為準確的預測值。這種閉環控制的優點,可以使模型預測控制算法的抗干擾能力得到很大提升。
模型預測控制算法的基本原理如圖4 所示。

圖4 模型預測控制算法基本原理圖
整個控制過程滿足上述的三要素,始終會存在一條期望的參考軌跡,以k 時刻作為當前時刻,控制系統會根據當前測量值和預測值,預測未來一段時間內系統的輸出,通過求解滿足約束條件的目標函數最佳解,得到該時域內的控制序列,但只需將該控制序列中的第一項元素作為受控對象的實際控制量,下一時刻,反復如上的預測動作和控制行為,逐步完成滿足約束條件的優化求解問題,這樣就實現了對被控對象的持續預測控制功能。
本文在車輛運動學建模之前先對車輛進行簡化,將車輛抽象為前后兩個車輪,即使用簡單的自行車模型[4]。如圖5所示,使用車輛的前后輪和車軸來表示,車輛軸長表示為d,前輪轉角表示為θ,車輛在進行轉彎的動作可以近似簡化為車輛后軸繞某一點做圓周運動,轉彎半徑可表示為該圓周的半徑長度r,通過三點形成的三角形可以推導出車輛航向角度的變換為車輛行駛的距離除以轉彎半徑r,對時間的一階導數即為航向角的角速度,基本推導結果如式(1)所示。

圖5 簡單自行車模型結構圖

當前航向角的角速度可以表示為:

式(2)中:v為車輛當前速度;r為轉彎半徑。
以車輛后軸中心為原點O 建立直角坐標系,車輛縱向速度、橫向速度和航向角速度可以用狀態方程表示如下[5]:

式(3)中:φ為車輛當前航向角;x、y、φ為狀態變量;v、θ為控制變量。
當已知車輛速度為v,車輪轉角θ 時,可根據上述公式得到車輛的位置x、y和車輛轉向角φ。
因為狀態方程是一個非線性的方程,所以需要先進行線性化,再對已經生成路徑上的某一點進行泰勒展開,取第一階即完成了整個線性過程。那么系統的狀態方程可以轉換為如下式(4)。

式(4)中:A(t)為f(x,u)對x的雅克比矩陣;B(t)為f(x,u)對u的雅克比矩陣。則轉化結果對應的雅克比矩陣AB 分別如下所示:

為了對達不到目標條件的車輛模型施行“懲罰”[6],需要盡可能抑制誤差,并且根據需求不同損失項的選取也不一樣,對于這些損失項需要用權重系數加以區分,設置損失函數和限制條件如式(5)。

控制量約束條件:

控制增量約束條件:

輸出約束條件:

利用MATLAB/Simulink 的仿真模塊對該算法進行仿真模擬,在Trucksim 中搭建車輛動力學模型,并完成對于Simulink 的輸入輸出對應設置,然后在Simulink 中設置S 函數實現控制算法[7-8],模塊封裝結構如圖6 所示。最后運行搭建的仿真模型,在Trucksim 中動畫展示中可以看到車輛各參數變化情況,包括車輪轉角變化曲線、車速變化曲線、橫向加速度變化曲線等,如圖7 所示。

圖6 Simulink 模塊封裝結構圖

圖7 Trucksim 仿真效果示意圖
模擬仿真測試驗證表明,在理想情況下模型預測控制算法能夠快速且穩定地跟蹤期望軌跡,但是在性能和效率等方面還需要進行算法優化。具體優化方向如下:
(1)目標函數約束選取。在進行實車綜合項目開發時,根據實際要求進行約束條件的選取,避免因為約束條件少造成實際控制效果不好的問題。
(2)算法性能優化。算法需要實時計算,耗費系統資源大,后期可以對車輛動力學模型進行合理的簡化,減少控制算法的在線計算量,從而減小系統的資源占有率。
(3)算法效率優化,提升實時性。通過采樣周期的縮短保證實時控制,但是采樣周期的縮短不能小于最長制動時間,這樣會存在還未完成制動達到所需狀態,已經進行了下一次采樣和預測。