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

圖1 Trucksim 界面展示圖

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

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

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

圖5 簡(jiǎn)單自行車模型結(jié)構(gòu)圖

當(dāng)前航向角的角速度可以表示為:

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

式(3)中:φ為車輛當(dāng)前航向角;x、y、φ為狀態(tài)變量;v、θ為控制變量。
當(dāng)已知車輛速度為v,車輪轉(zhuǎn)角θ 時(shí),可根據(jù)上述公式得到車輛的位置x、y和車輛轉(zhuǎn)向角φ。
因?yàn)闋顟B(tài)方程是一個(gè)非線性的方程,所以需要先進(jìn)行線性化,再對(duì)已經(jīng)生成路徑上的某一點(diǎn)進(jìn)行泰勒展開,取第一階即完成了整個(gè)線性過程。那么系統(tǒng)的狀態(tài)方程可以轉(zhuǎn)換為如下式(4)。

式(4)中:A(t)為f(x,u)對(duì)x的雅克比矩陣;B(t)為f(x,u)對(duì)u的雅克比矩陣。則轉(zhuǎn)化結(jié)果對(duì)應(yīng)的雅克比矩陣AB 分別如下所示:

為了對(duì)達(dá)不到目標(biāo)條件的車輛模型施行“懲罰”[6],需要盡可能抑制誤差,并且根據(jù)需求不同損失項(xiàng)的選取也不一樣,對(duì)于這些損失項(xiàng)需要用權(quán)重系數(shù)加以區(qū)分,設(shè)置損失函數(shù)和限制條件如式(5)。

控制量約束條件:

控制增量約束條件:

輸出約束條件:

利用MATLAB/Simulink 的仿真模塊對(duì)該算法進(jìn)行仿真模擬,在Trucksim 中搭建車輛動(dòng)力學(xué)模型,并完成對(duì)于Simulink 的輸入輸出對(duì)應(yīng)設(shè)置,然后在Simulink 中設(shè)置S 函數(shù)實(shí)現(xiàn)控制算法[7-8],模塊封裝結(jié)構(gòu)如圖6 所示。最后運(yùn)行搭建的仿真模型,在Trucksim 中動(dòng)畫展示中可以看到車輛各參數(shù)變化情況,包括車輪轉(zhuǎn)角變化曲線、車速變化曲線、橫向加速度變化曲線等,如圖7 所示。

圖6 Simulink 模塊封裝結(jié)構(gòu)圖

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