許 芳 郭中一 于樹友 陳 虹劉奇芳
(1.吉林大學(xué)汽車與仿真國家重點實驗室,吉林長春 130025;2.吉林大學(xué)通信工程學(xué)院,吉林長春 130025;3.同濟大學(xué)電子與信息工程學(xué)院,上海 200092)
隨著環(huán)境污染以及能源消耗問題的日益嚴峻,電動汽車越來越受到人們的關(guān)注[1].四輪驅(qū)動電動汽車的每一個輪子的驅(qū)動力矩都是可控的,可根據(jù)不同的環(huán)境對汽車每一個的輪胎驅(qū)動力進行控制,具有很強的靈活性[2].但是在汽車高速行駛的過程中,由于地面附著系數(shù)等不確定因素,汽車在冰雪路面或者濕滑路面進行急轉(zhuǎn)彎操作中仍會出現(xiàn)車輪打滑導(dǎo)致車身側(cè)翻現(xiàn)象,對車內(nèi)乘客有極大的威脅甚至生命危險,因此,四輪驅(qū)動電動汽車行駛過程中的穩(wěn)定性仍然是當前有待解決的問題.由于車輛橫擺穩(wěn)定控制是多輸入多輸出,而且還需要滿足關(guān)鍵的安全約束及執(zhí)行機構(gòu)約束,而模型預(yù)測控制(model predictive control,MPC)具有前饋-反饋結(jié)構(gòu),能夠處理多變量,顯式考慮硬約束等特點,因此,基于模型預(yù)測控制的電動汽車橫擺穩(wěn)定控制成為研究熱點.
由于模型預(yù)測控制需要在線求解優(yōu)化問題,計算負擔(dān)大,目前的研究主要集中于分層結(jié)構(gòu).分層結(jié)構(gòu)的控制策略主要將上層橫擺穩(wěn)定控制與下層的驅(qū)動轉(zhuǎn)矩優(yōu)化分配分開處理,這種結(jié)構(gòu)降低了控制器的階次,減輕了系統(tǒng)的計算負擔(dān),易于實現(xiàn).文獻[3-5]采用分層控制結(jié)構(gòu),將上層橫擺穩(wěn)定控制器與下層轉(zhuǎn)矩分配分開設(shè)計,最終通過汽車動力學(xué)仿真軟件Carsim驗證了控制器的有效性;文獻[6]控制器上層采用極大值原理算法實現(xiàn)汽車橫擺穩(wěn)定控制,下層采用直接力矩分配方法,最后進行了實車實驗.文獻[7]上層采用模型預(yù)測控制器計算所需的縱向力和橫擺力矩,下層根據(jù)上層控制器的輸出優(yōu)化調(diào)節(jié)每個車輪的扭矩,并進行了實車實驗.文獻[8]上層設(shè)計了基于模型預(yù)測控制的橫擺力矩控制器,下層控制器通過最小化4個輪胎附著系數(shù)消耗率之和來分配車輪扭矩,最后完成了實車道路實驗驗證.分層控制器雖具有很好的快速性,但控制器的輸出不能獲得更好的平滑性,在一些極限工況下,由于整車和執(zhí)行器間的動力學(xué)耦合特性,分層控制很難達到預(yù)期的控制效果.
統(tǒng)一結(jié)構(gòu)控制策略將上層橫擺穩(wěn)定控制器設(shè)計與驅(qū)動力矩分配結(jié)合在一起,解決了整車和執(zhí)行器間的動力學(xué)耦合,直接優(yōu)化出系統(tǒng)的控制輸入,相對于分層控制策略具有更好的平滑性.文獻[9]提出了一種基于擴張狀態(tài)觀測器的線性預(yù)測控制器,對非線性系統(tǒng)模型進行線性化,降低了控制器計算負擔(dān).文獻[10]設(shè)計了基于前輪主動轉(zhuǎn)向和電機扭矩分配的整體控制結(jié)構(gòu)的模型預(yù)測控制器,集成控制方案能夠簡化控制器的層次結(jié)構(gòu),具有更好的平滑性.文獻[11]設(shè)計了基于MPC的轉(zhuǎn)向控制器,采用集成的控制策略,旨在基于自適應(yīng)車輛模型,通過主動轉(zhuǎn)向和扭矩分配來保證橫擺和縱向穩(wěn)定性.集成的控制策略相對于分層結(jié)構(gòu)具有更好的控制性能,但是車輛的集成控制是一個高度的非線性控制問題,然而,基于非線性預(yù)測控制器的車輛路徑跟蹤控制計算負擔(dān)大,難以滿足車輛快速動態(tài)系統(tǒng)的實時性要求,所以目前大多數(shù)研究都主要集中于仿真研究.因此,基于預(yù)測控制的電動汽車集成控制及其實時性問題亟需進一步研究.
針對以上問題,本文提出了基于快速預(yù)測控制的四輪驅(qū)動電動車橫擺穩(wěn)定控制器,實現(xiàn)了車輛橫擺非線性預(yù)測控制器的實時計算,完成了硬件在環(huán)實驗,具體工作包括:1)針對整車和執(zhí)行器間的動力學(xué)耦合特性,以車輛狀態(tài)跟蹤和控制量約束懲罰為目標函數(shù),設(shè)計了非線性預(yù)測模型控制器,實現(xiàn)了整車橫擺穩(wěn)定和電機轉(zhuǎn)矩分配的一體化控制;2)將非線性規(guī)劃問題轉(zhuǎn)化為等式代數(shù)方程組求解,解耦預(yù)測空域間方程組的耦合關(guān)系,實現(xiàn)時域間優(yōu)化問題的并行求解,通過現(xiàn)場可編程門陣列(field programmable gate array,FPGA)對算法進行硬件并行加速計算,實現(xiàn)了控制器的實時計算;3)搭建了硬件在環(huán)實驗平臺,實驗驗證了控制器的有效性,實現(xiàn)了車輛橫擺穩(wěn)定系統(tǒng)的實時控制,為實車試驗奠定了基礎(chǔ).
本文的章節(jié)介紹如下:第2節(jié)主要介紹了系統(tǒng)總體控制策略以及車輛模型;第3節(jié)介紹了快速非線性模型預(yù)測控制器的設(shè)計過程;第4節(jié)對本文設(shè)計的控制器進行仿真驗證;第5節(jié)通過硬件在環(huán)實驗驗證控制器的有效性及實時性;第6節(jié)對整篇論文進行總結(jié).
四輪驅(qū)動電動汽車控制的系統(tǒng)框圖如圖1所示.
圖1 統(tǒng)一控制器系統(tǒng)框圖Fig.1 Block diagram of the unified controller system
其中:δ為輸入的方向盤轉(zhuǎn)角,γ?為期望的橫擺角速度,β?為期望的質(zhì)心側(cè)偏角,Tt為駕駛員輸入的總力矩,Tfl,Tfr,Trr,Trl分別為4個輪胎的驅(qū)動力矩,δf為前輪轉(zhuǎn)角,β和γ分別為汽車的質(zhì)心側(cè)偏角和橫擺角速度,Vx為縱向速度,ax,ay分別為汽車的縱向加速度和橫向加速度.
系統(tǒng)框圖中駕駛員將方向盤轉(zhuǎn)角和總驅(qū)動力矩輸入到系統(tǒng)中,系統(tǒng)的參考模型將根據(jù)方向盤轉(zhuǎn)角以及縱向速度計算出汽車保持安全行駛理想的質(zhì)心側(cè)偏角以及橫擺角速度,快速非線性預(yù)測控制器由預(yù)測模型、目標函數(shù)、約束條件、并行牛頓法優(yōu)化求解4部分組成.系統(tǒng)的預(yù)測模型和約束條件是構(gòu)造目標函數(shù)的基礎(chǔ),系統(tǒng)的目標函數(shù)與約束條件共同組成了系統(tǒng)的優(yōu)化問題,通過并行牛頓法對該優(yōu)化問題求解,得出系統(tǒng)最優(yōu)的前輪轉(zhuǎn)角以及4個車輪的驅(qū)動力矩,最終將控制器輸出的前輪轉(zhuǎn)角以及4個輪胎的驅(qū)動力矩作用于車輛模型.
八自由度車輛模型[12-13]是為了驗證控制器設(shè)計的有效性而使用的車輛模型,包括車體的橫向、縱向、橫擺、側(cè)傾4個自由度以及4個車輪的旋轉(zhuǎn)自由度,能夠真實的還原實際的車輛模型,八自由度車輛模型示意圖如圖2所示.
圖2 八自由度車輛模型Fig.2 Eight-degree-of-freedom vehicle model
系統(tǒng)的參考模型是為了根據(jù)方向盤轉(zhuǎn)角以及縱向速度計算出汽車保持安全行駛理想的質(zhì)心側(cè)偏角以及橫擺角速度.由于電動汽車的穩(wěn)定性主要取決于汽車的質(zhì)心側(cè)偏角和橫擺角速度,為了更方便的設(shè)計控制器,假設(shè)汽車兩個轉(zhuǎn)向輪轉(zhuǎn)角相等,然后將前后軸左右輪簡化為一個輪,因此得出了一個二自由度車輛模型,參考模型的計算公式以及二自由度模型參數(shù)可參考文獻[9],二自由度車輛模型如圖3所示.
圖3 二自由度車輛模型Fig.3 Two-degree-of-freedom vehicle model
統(tǒng)一控制器選取β和γ作為系統(tǒng)的狀態(tài)變量,在控制系統(tǒng)中,系統(tǒng)狀態(tài)變量的平衡方程為
在控制器模型中側(cè)向力的計算采用輪胎模型中的魔術(shù)公式,可以得出前后輪的側(cè)向力為
Ka和Kb可以利用泰勒公式展開魔術(shù)公式獲取.通過車輛的幾何性質(zhì)得出前輪和后輪的輪胎側(cè)滑角為
4個輪子驅(qū)動力矩的總和應(yīng)該等于駕駛員輸入的力矩,設(shè)駕駛員輸入的總力矩為Tt,因此車輛的驅(qū)動力矩可以表示為
因為本控制器采用統(tǒng)一的控制策略,并且橫擺力矩可表示為
因此系統(tǒng)的控制模型可以表示為
本控制器采取統(tǒng)一結(jié)構(gòu)的控制策略,取消了力矩分配這一環(huán)節(jié),而是將4個輪胎的總力矩轉(zhuǎn)化為每一個輪胎的驅(qū)動力矩,直接優(yōu)化系統(tǒng)的控制輸入,因此選取汽車的前輪轉(zhuǎn)角和4個車輪的驅(qū)動力矩作為非線性模型預(yù)測控制器的控制變量,即u=[δfTxfrTxrrTxrlTxfl]T,同時系統(tǒng)的輸出選擇y=[β γ]T.因此非線性系統(tǒng)的控制器模型可表示為
函數(shù)f(x,u)如式(6)所示.
首先對車輛模型進行離散化,由于非線性模型預(yù)測控制器對系統(tǒng)的實時性要求較高,歐拉法離散化方法階次較低,計算速度較快,因此本文采用向后歐拉離散化的方法,可得到系統(tǒng)離散化后的平衡方程為
式中的符號定義和參數(shù)值見表1所示.
表1 模型符號定義和參數(shù)表Table 1 Model symbol definition and parameters
由于目標函數(shù)直接決定了系統(tǒng)的性能,功耗等特性,因此目標函數(shù)的選擇至關(guān)重要.在本系統(tǒng)中,定義p為系統(tǒng)的預(yù)測時域,則在k時刻的預(yù)測輸出序列和參考輸出序列可表示為
由于需要滿足系統(tǒng)輸出跟隨參考輸出的需求,使系統(tǒng)的輸出盡可能的接近系統(tǒng)的參考輸出來保證系統(tǒng)的穩(wěn)定性.因此第1個目標函數(shù)可表示為
為了減小對執(zhí)行機構(gòu)的物理損壞,應(yīng)該盡可能的在控制性能的基礎(chǔ)上考慮被控輸入的平滑性,減小系統(tǒng)被控輸入的波動,設(shè)系統(tǒng)被控輸入的變化量為
則被控輸入在每個預(yù)測時域的變化量序列可表示為
系統(tǒng)輸出的平滑性影響著車輛行駛的舒適性,目標函數(shù)需要考慮系統(tǒng)輸出的平滑性,因此第2個目標函數(shù)可表示為
另外一個重要的因素是汽車的能源消耗,為了減小能源消耗以及減輕對環(huán)境的污染,應(yīng)使系統(tǒng)輸出的驅(qū)動力矩盡量小,因此第3個目標函數(shù)可表示為
其中垂向荷載Fzfl,Fzfr,Fzrl,Fzrr可由縱向加速度ax和橫向加速度ay計算得到.
因此系統(tǒng)的總目標函數(shù)可表示為
在汽車的實際運行過程中,汽車的前輪轉(zhuǎn)角以及驅(qū)動力矩受到物理條件的約束,由于執(zhí)行器的飽和特性,前輪轉(zhuǎn)角和驅(qū)動力矩都具有邊界約束,不能越過執(zhí)行器支撐的臨界值.即
因此優(yōu)化問題可描述為
其中i=1,2,···,p.由于預(yù)測模型控制的目標函數(shù)將每一個時域疊加在一起,計算負擔(dān)十分巨大,計算時間長,不能滿足大部分實時系統(tǒng)的要求,同時需要高性能的計算平臺來對算法進行實施,因此對硬件的要求也十分苛刻.本文采用的并行牛頓法能夠?qū)㈩A(yù)測模型控制的每一個時域展開進行并行計算,同時減小了算法的運算負擔(dān).可以大幅度減少模型預(yù)測控制的計算時間并且還擁有更好的控制性能.
并行牛頓法通過對系統(tǒng)的平衡方程和目標函數(shù)形式的轉(zhuǎn)變以及每一個時域之間的耦合關(guān)系進行解耦,實現(xiàn)了該系統(tǒng)模型的并行計算[15].首先討論該系統(tǒng)平衡方程和目標函數(shù)的變形,由于并行牛頓法不能處理不等式約束,在此采用內(nèi)點懲罰函數(shù)的方法將系統(tǒng)邊界約束轉(zhuǎn)化為軟約束,因此具有第4個目標函數(shù),可表示為
因此該系統(tǒng)的總目標函數(shù)可表示為
Γu,ΓΔu,Γy,Γe分別為被控輸入、被控輸入變化量、系統(tǒng)輸出以及系統(tǒng)軟約束的權(quán)重系數(shù)序列.該目標函數(shù)不僅考慮到系統(tǒng)跟蹤質(zhì)心側(cè)偏角、橫擺角速度等保證車輛穩(wěn)定性的關(guān)鍵因素,還考慮到系統(tǒng)的能源消耗,控制平滑性等因素,同時考慮被控輸入的約束.
本文采用的并行牛頓法需要將每一個時域的目標函數(shù)分別求出最優(yōu)的控制序列,需要把總目標函數(shù)拆分成單個時域的式子,在此表示為J′′,因此本系統(tǒng)的優(yōu)化問題可由式(21)表示:
為了方便求解式(21),在此處引入拉格朗日乘子序列λi和μi(i ∈1,2···p)以及哈密頓函數(shù)
由KKT條件[14]將優(yōu)化問題轉(zhuǎn)化為代數(shù)方程求解
其中帶腳標的H分別為對腳標變量的偏導(dǎo)數(shù),由此可見該系統(tǒng)由一個求最優(yōu)問題轉(zhuǎn)化為一個方程組求解問題.由式(23)可以看出,相鄰時域存在耦合關(guān)系,若要實現(xiàn)并行計算,需要對公式進行解耦處理,觀察公式可得式中只有β?(k ?1),γ?(k ?1),(k+1),(k+1)與當前時域存在耦合關(guān)系,因此只需要將這4個變量在計算進行前預(yù)測出來,預(yù)測方法采用Gauss-Seidel 的思想,4個變量的預(yù)測值采用相鄰時刻的值.求解后在對4個變量進行相應(yīng)的補償,即完成了公式中耦合關(guān)系的解耦,然后采用并行牛頓迭代法[15]進行方程組的求解.
代數(shù)方程并行求解算法步驟如下:
步驟1給定系統(tǒng)的初始狀態(tài)vk0.
步驟2粗略迭代更新,通過預(yù)測出來的變量使用牛頓迭代法將每一個時域進行迭代求解.
步驟3對λ和x進行補償,根據(jù)連續(xù)兩次迭代之間λ與x之間的差dλk與dxk進行補償,減小由于λ和x的預(yù)測引起的誤差對系統(tǒng)的影響.
步驟4判斷誤差是否滿足迭代終止條件,若滿足,則將迭代結(jié)果vk輸出,否則,轉(zhuǎn)步驟2.
在優(yōu)化求解算法過程中,由于預(yù)測時域每一個時域之間彼此獨立互不干擾,沒有耦合關(guān)系,因此可以將N個時域展開進行并行計算,進而提高算法計算性能.
為了驗證本文設(shè)計的快速預(yù)測模型控制器的快速性,在MATLAB/Simulink平臺中對該控制器進行仿真驗證.本實驗采用的車輛模型為八自由度車輛模型,其中包括車體的橫向、縱向、橫擺、側(cè)傾4個自由度以及4個車輪的轉(zhuǎn)動自由度,共八自由度.控制器預(yù)測模型采用二自由度車輛模型,控制器模型參數(shù)見表2.本次仿真實驗將系統(tǒng)的參考方向盤轉(zhuǎn)角和駕駛員輸出的力矩直接輸入給控制器,系統(tǒng)將根據(jù)參考的方向盤轉(zhuǎn)角和輸入的力矩輸出最優(yōu)的前輪轉(zhuǎn)角以及4個車輪的驅(qū)動力矩,實現(xiàn)了整車橫擺穩(wěn)定和電機轉(zhuǎn)矩分配的一體化控制,方向盤轉(zhuǎn)角選擇了最能反映車輛操作性側(cè)翻的雙移線工況和正弦工況.車輛行駛的速度65 km/h,設(shè)行駛路面平緩沒有坡度,駕駛員輸入?yún)⒖剂卦O(shè)置為340 Nm.
表2 控制器參數(shù)表Table 2 Controller parameters
干瀝青路面的地面摩擦系數(shù)為0.8,方向盤轉(zhuǎn)角采用的工況為雙移線工況,具體的參考輸入曲線如圖4所示,雙移線工況仿真結(jié)果如圖5所示.
圖4 方向盤轉(zhuǎn)角輸入曲線Fig.4 Steering wheel angle input curve
圖5 干瀝青路面雙移線仿真結(jié)果Fig.5 Simulation results of double line shifting on dry asphalt pavement
影響汽車穩(wěn)定性主要因素是車輛的質(zhì)心側(cè)偏角以及橫擺角速度,為了保證汽車的穩(wěn)定性,質(zhì)心側(cè)偏角的值應(yīng)盡可能低,在汽車質(zhì)心側(cè)偏角被有效抑制的前提下,橫擺角速度跟隨期望橫擺角速度的控制效果在穩(wěn)定性控制中起著十分重要的作用.圖5(a)為跟蹤期望橫擺角速度的仿真曲線圖,可以看出該算法具有良好的跟隨性能,圖5(b)為質(zhì)心側(cè)偏角的仿真曲線,仿真圖像驗證了該算法可以很好的抑制質(zhì)心側(cè)偏角,將質(zhì)心側(cè)偏角保持在一個安全的范圍內(nèi),可以保證電動汽車安全穩(wěn)定的運行.圖5(c)(d)分別為并行牛頓法算法系統(tǒng)輸出的前輪轉(zhuǎn)角以及4個輪子的驅(qū)動力矩仿真圖,由圖中可以看出系統(tǒng)輸出的前輪轉(zhuǎn)角峰值為0.07 rad,小于前輪轉(zhuǎn)角約束0.1 rad,同時輸出的驅(qū)動力矩峰值為190 Nm,小于系統(tǒng)輸出的最大力矩200 Nm,在系統(tǒng)被控輸入的約束范圍之內(nèi),符合系統(tǒng)的要求.
為了證明并行牛頓法計算的快速性,本實驗在MATLAB 平臺將并行牛頓法,粒子群算法(particle swarm optimization,PSO)以及序列二次規(guī)劃(sequential quadratic programming,SQP)的計算時間進行了對比,其中粒子群算法(PSO)參考文獻[16],序列二次規(guī)劃(SQP)參考文獻[10],CPU主頻為3.6 GHz.對比結(jié)果圖如圖6(a)所示.
圖6 計算時間對比結(jié)果Fig.6 Calculation time comparison result
由圖中可以看出,并行牛頓法的計算時間遠快于粒子群算法以及序列二次規(guī)劃算法,通過計算得出并行牛頓法的平均計算時間為0.01 s,而SQP算法和粒子群算法的平均計算時間分別為0.1477 s和0.2189 s,計算時間大約提升了15倍.這證明了并行牛頓法可以明顯減少系統(tǒng)的運行時間.可見該算法在擁有良好的控制性能之外,還能夠大幅度提升系統(tǒng)的計算性能,緩解系統(tǒng)的時延問題.
圖6(b)展示了3種算法的計算時間受預(yù)測時域的影響效果,在仿真實驗中分別選用預(yù)測時域為10,30,50,70的節(jié)點.由圖可以看出控制器的計算時間受系統(tǒng)預(yù)測時域的影響,且PSO算法的斜率最陡,而并行牛頓法最緩,因此可以得出并行牛頓法的計算時間相對于其他兩種算法受預(yù)測時域的影響較小,更為穩(wěn)定.
干瀝青路面的地面摩擦系數(shù)為0.8,選用正弦曲線作為方向盤的輸入曲線,方向盤轉(zhuǎn)角的幅值為0.1 rad,頻率為2.61 Hz.圖7為系統(tǒng)在方向盤正弦曲線工況下的實驗結(jié)果,其中圖7(a)為正弦方向盤輸入下的橫擺角速度跟蹤曲線,圖7(b)為實際的質(zhì)心側(cè)偏角曲線,圖7(c)為系統(tǒng)輸出的前輪轉(zhuǎn)角曲線,圖7(d)為系統(tǒng)4個輪胎的驅(qū)動力矩曲線.
圖7 干瀝青路面正弦仿真結(jié)果Fig.7 Sinusoidal simulation results of dry asphalt pavement
仿真結(jié)果可以得出,在正弦方向盤轉(zhuǎn)角輸入的工況下,本文設(shè)計的控制器依舊可以很好的跟蹤期望的橫擺角速度,控制結(jié)果滿足性能需求.在抑制質(zhì)心側(cè)偏角方面,控制器可以將質(zhì)心側(cè)偏角抑制在一個很小的范圍,保證汽車的安全行駛.系統(tǒng)輸出的前輪轉(zhuǎn)角峰值在0.06 rad,不超過執(zhí)行器約束0.1 rad,且系統(tǒng)單個輪胎的驅(qū)動力矩峰值為180 Nm,小于系統(tǒng)要求輸出的最大轉(zhuǎn)矩200 Nm,且4個輪胎的力矩之和為系統(tǒng)的輸入力矩340 Nm,因此該控制器在常規(guī)工況下能夠滿足系統(tǒng)的要求.
為了驗證該控制器在極限工況下的控制性能,選擇在濕滑路面進行仿真驗證,濕滑路面的地面摩擦系數(shù)為0.4,采用方向盤雙移線工況,方向盤轉(zhuǎn)角的幅值為0.1 rad,在方向盤轉(zhuǎn)角基于參考值完成雙移線工況的測試,系統(tǒng)的仿真結(jié)果如圖8所示.
圖8 濕滑路面下仿真結(jié)果曲線Fig.8 Simulation result curve under wet and slippery road
觀察仿真結(jié)果可以得出,在濕滑路面的極限工況下,可以明顯的觀察到實際橫擺角速度與期望值之間的誤差,同時質(zhì)心側(cè)偏角的增加也較為明顯,但針對于濕滑路面的極限工況而言,本文設(shè)計的控制器仍能夠獲得不錯的跟蹤效果.
為了驗證本文設(shè)計的控制器與傳統(tǒng)分層控制器的性能差別,本文對兩種控制器的控制性能以及控制量輸出進行了對比,圖9為分層控制器在濕滑路面方向盤雙移線工況下的仿真結(jié)果.
圖9 分層結(jié)構(gòu)濕滑路面下仿真結(jié)果曲線Fig.9 Simulation result curve under layered structure wet and slippery pavement
由實驗結(jié)果可以看出,本文設(shè)計的控制器相對于傳統(tǒng)分層結(jié)構(gòu)的控制器而言,控制效果相差不大,但統(tǒng)一結(jié)構(gòu)的控制器將所有被控輸入都考慮在目標函數(shù)中,被控輸入曲線相對于分層結(jié)構(gòu)更加平緩,不僅減小了整車的能耗,而且提高了駕駛汽車時的舒適性.
為了驗證控制器的有效性和實時性,搭建了硬件在環(huán)實驗平臺,實驗平臺主要由ZYNQ開發(fā)板、Micro AutoBox和個人電腦3部分構(gòu)成.其中ZYNQ由ARM和FPGA組成,運行本文設(shè)計的非線性模型預(yù)測控制器,MicroAutoBox運行八自由度車輛模型,個人電腦主要負責(zé)實驗數(shù)據(jù)的監(jiān)控.ZYNQ與MicroAutoBox之間通過CAN總線進行數(shù)據(jù)通信,硬件在環(huán)實驗平臺如圖10所示.
圖10 硬件在環(huán)實驗平臺Fig.10 Hardware-in-the-loop experiment platform
本實驗中ZYNQ開發(fā)板采用的芯片型號為XCZU1 5EG,硬件在環(huán)實驗的實驗工況為干瀝青路面方向盤雙移線工況和正弦工況,實驗結(jié)果如圖11-12所示.
圖11 雙移線工況硬件在環(huán)實驗結(jié)果Fig.11 Hardware-in-the-loop experiment results of double-shifting conditions
由雙移線工況實驗結(jié)果可以看出,由于數(shù)據(jù)傳輸時精度的降低,導(dǎo)致系統(tǒng)的質(zhì)心側(cè)偏角略微變大,同時輸出的前輪轉(zhuǎn)角不如仿真結(jié)果平滑,但橫擺角速度跟蹤效果較好,幾乎無超調(diào),總體控制效果與仿真結(jié)果相差不大,證明控制器設(shè)計滿足系統(tǒng)實時性要求.在正弦工況下控制器仍能夠取得優(yōu)良的控制效果.正弦工況下硬件在環(huán)實驗結(jié)果如圖13所示.
圖12 正弦工況硬件在環(huán)實驗結(jié)果Fig.12 Results of hardware-in-the-loop experiments under sine conditions
為了驗證仿真環(huán)境與真實運行環(huán)境運算速度的區(qū)別,圖13為Simulink的運算時間與C語言運算時間的對比結(jié)果.其中C語言運行在ARM CONTEX A53的CPU平臺上,CPU主頻為1.33 GHz.
圖13 Simulink仿真環(huán)境與C語言真實環(huán)境計算時間對比圖Fig.13 Comparison of calculation time between Simulink simulation environment and C language real environment
由對比結(jié)果圖可以看出,即便在主頻更高的PC電腦上運行的MATLAB程序,依舊與C語言程序的運行效率有一定差距,原因主要是因為C語言本身是一種執(zhí)行效率比較高的語言,相對于MATLAB程序運行速度更快,其次是Simulink仿真環(huán)境與真實的運行環(huán)境仍然有一定的差距,針對系統(tǒng)的實時性還是要按照實際運行環(huán)境來評估.
為了驗證優(yōu)化問題的并行求解性能,基于FPGA硬件并行計算平臺,將并行求解算法中步驟2進行并行硬件加速實現(xiàn).本次實驗的預(yù)測時域為10,FPGA的時鐘頻率為100 MHz,由于需要綜合考慮計算速度和硬件資源兩個因素,將10個預(yù)測時域分為5塊并行執(zhí)行,并行計算前后的控制器單次求解時間以及資源消耗量結(jié)果見表3與表4.
表3 控制器單次求解時間表Table 3 The single solution timetable of the controller
表4 控制器資源消耗對比表Table 4 Comparison table of controller resource consumption
并行過程是FPGA通過復(fù)制N塊相同的電路實現(xiàn)的,因此由表中可以觀察到,以并行度為5進行并行優(yōu)化后,資源消耗率明顯增多,其中LUT資源已經(jīng)達到97%,而計算時間由原來的0.368 ms縮短為0.161 ms,計算性能提升了2.28倍,由于本文只對求解算法中迭代更新部分進行并行計算,可見FPGA是通過犧牲控制器硬件資源來換取控制器的計算時間.
本文設(shè)計了一種基于快速預(yù)測控制的電動汽車橫擺穩(wěn)定控制器,采用統(tǒng)一結(jié)構(gòu)的控制策略,將上層控制器與下層力矩分配結(jié)合在一起,提升了系統(tǒng)的控制性能;解耦預(yù)測時域內(nèi)優(yōu)化問題的耦合關(guān)系,通過時域間優(yōu)化問題的并行求解,實現(xiàn)了控制器的毫秒級計算,提高了控制器的計算性能;基于ZYNQ搭建了硬件在環(huán)實驗平臺,利用FPGA的并行計算能力對算法進行硬件加速,給出了計算性能結(jié)果分析;最后完成了硬件在環(huán)實驗,實現(xiàn)了車輛橫擺穩(wěn)定系統(tǒng)的實時控制,為實車實驗奠定了基礎(chǔ).本文設(shè)計的快速非線性控制器相比于傳統(tǒng)算法的控制器,系統(tǒng)的計算速度得到了大幅度提升,減小時延對系統(tǒng)的影響,使車輛行駛過程中能夠更快的作出反應(yīng),提升汽車運行的安全性.下一步工作將采用精度更高的高階控制器預(yù)測模型來進一步驗證該控制器的有效性和實時性,同時將進行實車試驗來驗證控制器的可實施性.