孫浩 陳澤宇 吳思凡 潘峰
(1.北京聯合大學,北京市信息服務工程重點實驗室,北京 100101;2.北京聯合大學,機器人學院,北京 100027;3.清華大學,汽車安全與節能國家重點實驗室,北京 100084)
主題詞:智能車輛 運動控制 策略梯度 模型預測控制
智能車輛運動控制的目標是實現對期望軌跡的準確跟蹤,是智能駕駛的基礎核心技術之一[1]。模型預測控制(Model Predictive Control,MPC)是一種最優控制方法,其通過參考模型的引入直接處理被控對象的動力學特性,且其基于模型的預測功能使算法擁有對環境的前饋能力,從而取得更好的控制效果,因此受到研究者的廣泛關注[2-5]。然而,MPC通過對優化問題的在線求解計算當前最優控制量,求解效率較低。如Wang和Boyd的研究表明,對于線性時不變系統的MPC問題,當其狀態維數為m,控制輸入維數為n,控制時域為T時,狀態轉移形式及控制輸入形式的二次凸優化問題在線求解的時間復雜度分別為O([T(n+m)]3)和O([Tn]3)[6],其求解復雜度呈三次指數增長,在線求解效率較低。交叉方向乘子法可以實現MPC問題的時域分解,降低問題的維數,從而提高在線求解效率[7-8],但時域分解要求系統必須為線性。車輛運動為平面剛體運動,其運動控制問題為非線性控制問題,對其線性近似將導致控制精度的下降。
近年來,隨著神經網絡的發展,其強大的表示及近似能力推動了強化學習由表格型求解向函數近似型求解發展。強化學習的應用領域也從有限的離散空間拓展到無限的連續空間,從而適用于解決復雜非線性系統的控制問題,典型的代表為基于策略梯度(Policy Gradient,PG)的深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)方法[9]。該類方法屬于無模型強化學習方法,通過與環境的交互獲得回報值,并在“行動器-評判器”(Actor-Critic,AC)框架下交替迭代更新策略評估與策略改進環節,直至收斂。然而,無模型強化學習對環境的無目的隨機探索特性導致其采樣效率不高,收斂速度較慢。
針對當前智能車輛模型預測運動控制研究中存在的問題,本文在策略梯度求解框架下提出一種融合預測模型的策略梯度MPC(Policy Gradient MPC,PGMPC)方法。該方法利用神經網絡近似最優策略,基于MPC 問題的預測模型及優化目標設計策略網絡的損失函數,將車輛運動控制的非線性MPC 問題轉化為神經網絡問題。相比于傳統MPC方法,PGMPC方法通過離線求解、在線應用的方式,同時提高了車輛運動控制的精度以及在線應用的計算效率。
假設汽車輪胎側偏特性處于線性范圍內,建立如圖1所示的二自由度動力學車輛運動預測模型。模型中,系統的輸入量為前輪轉角δ,即u=[δ],狀態量為x=[y,θ,β,ω],其中y、θ、β、ω分別為車輛的側向位置、航向角、質心側偏角和橫擺角速度。

圖1 車輛運動預測模型
現有的研究通常基于小航向角假設,將車輛的平面運動模型建立為線性模型。然而,在大曲率工況下該假設不再成立,小航向角假設必然會導致軌跡跟蹤運動控制精度的降低。為解決此問題,本文建立車輛運動控制的非仿射非線性連續系統狀態方程:

式中,vx為車輛縱向速度;m為整車質量;k1、k2分別模型的前、后輪胎等效側偏剛度;a、b分別為車輛質心到前、后軸的距離;Iz為車輛的轉動慣量。
對于式(1)所示的非線性動力學系統,其狀態方程無法用狀態矩陣與輸入矩陣表達,僅可用一般形式表達:

對于上述具有一般形式的時不變動力學系統,其離散狀態方程可表達為:

式中,dt為離散系統的采樣時間;xk、uk分別為k時刻系統的狀態量及控制量。
為不失一般性,設當前時刻為0 時刻,被控系統的初始狀態為x0。對于預測時域N內的任意預測時刻k,系統的輸入量為uk-1、狀態量為xk、參考量為rk,預測時域內系統狀態轉移過程如圖2所示。

圖2 預測時域狀態轉移示意
那么,系統在第k個控制周期的代價值Lk為uk-1、xk、rk的函數:

式中,lk為代價函數。
對于車輛運動控制MPC 問題而言,若給定初始狀態x0及預測時域內參考量r1:N(1:N表示預測時域的第1步到第N步),則預測時域內的代價函數為:

基于MPC的車輛運動控制的求解即為找到使預測時域內代價函數最小的最優控制序列u*,并將最優控制序列的第1個控制量作用于系統后重置初始狀態,不斷通過滾動優化實現對系統的最優控制。
綜上,車輛運動控制MPC問題可建模為最優化問題:

其中:

當式(3)所示系統為線性系統時,式(6)所示問題為二次規劃問題。然而,當式(3)所示系統為非仿射非線性系統時,求解式(6)所示問題非常困難,甚至無法實現實時求解。
為實現式(6)所示的非仿射非線性系統MPC 問題的實時求解,本文使用函數近似的方法,將求解最優化問題的方式由在線求解轉化為離線訓練、在線應用,從而大幅提高求解效率。該方法在提出過程中使用了如下2個定理:
引理1 萬能近似定理:若一個前饋神經網絡具有至少一層含有任意一種“擠壓”性質激活函數隱藏層的線性輸出層,那么當網絡具有足夠數量的隱藏單元(即網絡過參數化)時,該網絡能夠以任意精度近似任何一個有限維空間指向另一個有限維空間的函數[10]。
引理2近似最優性:當近似函數為過參數化的神經網絡時,可利用優化算法(如梯度下降法和隨機梯度下降法)在多項式時間內找到參數化損失函數的全局最小值[11-12]。
設參數化策略π由策略神經網絡的參數θ決定,且策略π為當前狀態x0與預測時域內參考量r1:N到控制序列的映射。若可獲得一組最優的參數θ*,使得策略π與最優控制序列u*之間滿足如式(8)所示的等價關系,則MPC問題的最優解可被策略π近似:

因此,若能求解出使式(8)成立的參數θ*,便可將MPC的在線求解轉為參數化映射。引理1保證等式(8)的存在性,引理2保證式(8)參數的可求解性。基于此,本文提出一種以神經網絡作為近似函數的求解方法,實現非仿射非線性系統MPC問題的近似求解。
對于連續系統的控制問題,傳統策略梯度類方法(如DDPG 方法)通常采用Actor-Critic 框架求解,如圖3所示。圖中:Q為值網絡輸出;r為回報值;γ為折扣因子;ε為均方根函數;qw為參數w下的值網絡函數。DDPG 算法通過最小化上述2 個網絡的損失函數Lπ、Lq進行求解,其中Actor 的目標是最小化值網絡輸出Qw,Critic 的目標是最小化輸出值與實際回報值的均方差。通過環境的不斷交互,基于梯度下降實現Actor與Critic交替更新,直至收斂。

圖3 DDPG方法求解框圖
可發現,在傳統DDPG 等的無模型策略梯度方法中,需要通過對環境的探索不斷取得回報值,通過“自舉法”實現梯度下降。然而,在這個過程中,僅考慮了策略網絡的權值向量對值函數估計的影響,忽略了其對目標值函數的影響,下降方向僅包含一部分梯度。因此,傳統無模型的更新過程稱為半梯度方法,這導致收斂過程不穩健,收斂速度較慢。
在MPC 問題中,被控對象模型及代價函數均是先驗已知信息(如式(3)、式(5)所示)。因此,本文在利用策略梯度類方法求解最優策略π時,在傳統Actor-Critic框架基礎上引入系統預測模型及代價函數,提出PGMPC 方法,其框架如圖4 所示。圖中V函數為式(5)所示的代價函數。

圖4 PGMPC方法求解框圖
相比于傳統的策略梯度方法,PGMPC 方法由于結合了被控對象的模型及代價函數,其目標值函數及估計值函數總是確定的。因此,通過梯度下降直接更新策略網絡即可完成訓練,具有更高的魯棒性。
為了找到最優的參數θ*,并使式(8)對全狀態空間都成立,就需要對原有代價函數在狀態空間上取期望。此時,構造出神經網絡的損失函數為:

式中,πk-1為由策略π產生的控制序列中的第(k-1)個控制量;χ為策略網絡輸入的樣本空間;E為期望函數。
那么,損失函數J(θ)對于參數θ的梯度為:

將式(8)代入式(5)所示的預測時域代價函數,可得:

由于參考量rk與參數無關,而πk-1、xk均為θ的函數,根據鏈式求導法則,式(11)右端代價函數可展開為:

式中,(12)-1、(12)-3項由式(4)決定。
對于(12)-2 項,由于xk、πk-1、xk-1滿足式(3)所示的函數關系,繼續利用鏈式法則對其進行展開,可得:

記式(12)-2 項為函數φ,那么相鄰時刻的φk與φk-1存在如式(14)所示的遞歸關系,其中f為式(3)中的車輛動力學模型函數:

將式(11)~式(14)代入式(10)中,即可求得神經網絡損失函數相對參數θ的梯度。以梯度下降法為例,第K次迭代中網絡的更新公式為:

式中,aK為當前迭代周期的學習率。
根據引理2,通過對參數的不斷迭代更新,θ最終收斂到θ*。
注意到,由于在神經網絡訓練過程中,收斂條件對系統狀態及代價函數特征沒有要求,所以,理論上對于任意能夠顯式表達系統動力學特性及代價函數的控制系統,均可在本文提出的PGMPC框架下進行近似求解。
為驗證所提出方法的有效性,本文選擇大曲率道路(半徑15 m)的軌跡跟蹤控制作為仿真工況,對比PGMPC算法與傳統在線求解MPC(Online MPC,OMPC)的跟蹤精度、求解實時性等性能指標(其中OMPC 采用Boyd團隊所開發的OSQP求解器[6])。在此工況下,由于道路航向變化較大,道路航向角的小角度假設所導致的模型偏差也較大。
為了進行有效對比,仿真驗證中PGMPC 與OMPC使用相同的凸優化目標函數。將式(4)所示代價函數修改為式(16),該代價函數同時考慮跟蹤精度與行駛舒適性,被廣泛應用為智能車輛軌跡跟蹤的目標函數:

式中,Q為狀態量懲罰權重,R為輸入量懲罰權重。
仿真驗證中以CarSim 搭建的動力學模型為被控對象,搭建聯合仿真環境,模擬車輛的大曲率軌跡跟蹤控制。仿真中使用的主要參數設置如表1示。

表1 聯合仿真參數
仿真驗證中采用深度全連接神經網絡作為PGMPC算法的近似函數。其中輸入層由跟蹤控制系統的狀態構成,并與后續的4 層隱藏層全連接,隱藏層使用整流非線性單元作為激活函數,每層有27個神經元,網絡的輸出層為tanh層,以界定控制量的邊界。離線訓練過程中超參數設置情況如表2所示。

表2 神經網絡參數設計
圖5 所示為訓練過程中神經網絡的誤差與訓練次數之間的變化關系。由圖5可以看出:在訓練次數小于1 000次時,隨著訓練次數的增加,策略誤差值迅速降低到10-3以下;隨著訓練次數繼續增加,誤差值略有上升,然后以較小的斜率繼續下降,最終保持在10-5左右,滿足誤差要求,訓練停止并得到策略網絡。

圖5 訓練過程中的誤差變化
仿真中,車輛以(15 m,0 m)為起始點,沿半徑為15 m的期望路徑逆時針行駛,軌跡跟蹤結果對比如圖6 所示。結果表明,PGMPC 與OMPC 均可達到較高的跟蹤精度,但PGMPC的跟蹤精度更高。

圖6 軌跡跟蹤結果
仿真得到的軌跡跟蹤誤差對比如圖7所示。由圖7可以看出,對于試驗工況中大曲率軌跡跟蹤,由于無須基于小角假設建立參考模型,PGMPC的模型誤差更小,明顯優于OMPC算法。

圖7 軌跡跟蹤誤差
仿真得到的被控車輛側向加速度對比如圖8所示,PGMPC 與OMPC 的平均側向加速度均為1.67 m/s2,但PGMPC的最大側向加速度更小、控制更為平滑。

圖8 側向加速度
算法求解耗時對比如圖9所示(計算平臺配置均為英特爾i5-8600K CPU,內存16 GB)。由于PGMPC在線應用僅需做神經網絡前向推理,其計算平均耗時為0.405 ms,與之相比,需要在線求解的OMPC算法的平均計算耗時為15.72 ms。

圖9 計算耗時
針對目前智能車輛模型預測運動控制因在線求解效率的制約,多使用線性參考模型而引起的跟蹤精度下降問題,本文提出了一種策略梯度模型預測控制方法,建立車輛運動控制的非仿射非線性參考模型,在模型預測控制框架下將模型預測運動控制轉化為最優化問題,并提出一種基于模型的策略梯度求解方法,通過離線求解、在線應用的方式提高預測型運動控制的求解效率。仿真驗證結果表明,相比于傳統在線求解方法,所提算法的跟蹤誤差由152 mm下降到1.99 mm,單步求解耗時由15.72 ms 下降到0.405 ms,驗證了本文所提出算法的有效性。
未來工作將圍繞2個方面開展:研究具有自學習能力的求解方法,提高算法的環境自適應能力;研究輸入狀態有噪聲情況下的求解算法,提高算法的魯棒性。