周 洲,陳宇軒,程 鑫
(長安大學信息工程學院,陜西 西安 710064)
汽車底盤測功機是一種檢測汽車動力性、輸出功率和尾氣排放等性能的機械設備,它通過PID 控制影響飛輪慣性的轉動慣量,以此對汽車駕駛時的轉動慣量進行仿真,從而對汽車的運行狀況進行動態檢測[1-2]。PID 算法的系數整定是一個復雜的問題,而當其應用于汽車底盤測功機這種復雜的時變非線性、具有強慣性的大型設備時,系數的整定會更加困難[3-4]。
文獻[5]在PID 算法參數整定過程中結合模糊推理機制,首先根據輸入誤差確定模糊論域與隸屬度函數,接著采用Mamdani算法作為模糊推理的方法,最后確定出一個符合當前情況的模糊矩陣表,根據該表整定對應的PID 參數。這種方法的特點是能夠對PID 算法參數進行實時矯正,提高精確度。但由于需要預先通過一系列流程建立模糊矩陣表,且該表不具備普遍性,因此費時費力,不適用于需要經常改變條件的實際應用中。文獻[6]利用神經網絡具有自主學習的功能,且善于處理多輸入、非線性對象的特點,成功將BP 神經網絡與增量式PID 算法相結合,并引入相應的工業運用當中。通過實驗證明了BP 神經網絡與PID 算法的結合使控制響應速度變快,是實現提高PID 算法效果的有效方法。文獻[7]進一步將PID 算法中的神經網絡改為RBF 徑向基神經網絡,憑借徑向基神經網絡能夠降低網絡復雜度,減少輸出層部分神經元與網絡權值的數量,使得網絡收斂速度變快、參數自整定能力變強。根據實驗結果,徑向基神經網絡PID 控制算法實際效果良好,且具有很強的魯棒性及抗干擾能力。相關一系列研究均說明了在汽車底盤測功機上使用神經網絡PID 控制方法的可行性。文獻[8]在汽車底盤測功機PID 控制過程中使用了基于RBF 徑向基函數神經網絡的策略。首先通過分析汽車底盤測功機實際運行情況建立了加載模型,接著根據底盤測功機的加載力輸出特性設計了結合RBF 徑向基函數神經網絡的工作模型,最后在神經網絡的訓練基礎上進行PID 控制。這種方法的特點是底盤測功機的輸出力上升過程穩定且快速,并且不需要費時費力的進行PID參數整定工作,但算法在控制過程中的初始階段依然存在明顯的超調情況。由于底盤測功機渦流機的運作具有一個加載時間,導致汽車底盤測功機的響應延遲。因此采用傳統增量式PID 控制的過程中積分項會不斷累積,在啟動、停止或大幅度更改控制目標時,積分項輸出通常造成汽車底盤測功機出現大額超調現象。文獻[9-11]均提出在工業應用當中使用變速積分PID 算法控制,該算法能夠有效的使PID 控制中的積分項效果在系統偏差較大時減小或取消,而在系統偏差較小時則相對增大。通過變化的積分項參數來消除PID 在一些情況下對控制穩定性的負面影響,從而在不對系統造成干擾的情況下減小靜態誤差與超調。
在此背景下,對神經網絡PID 思想與變速積分PID 方法分別進行研究,將二者進行了融合改良,設計出一種BP+RNN 變速積分PID 算法控制系統,將其應用于汽車底盤測功機,實現快速的整定PID 參數與減少超調、增加控制性能。
BP+RNN 變速積分PID 算法控制系統是把BP 神經網絡與RNN 網絡組合應用到汽車底盤測功機的控制當中,并搭配能夠消除控制超調的變速積分PID 算法,融合這些方法的優點,從而對傳統增量式PID 算法在控制汽車底盤測功機時存在的一系列問題進行優化。BP+RNN 變速積分PID 算法控制系統能夠大致分為兩個部分,如圖1 所示。

圖1 BP+RNN 變速積分PID 控制流程圖Fig.1 Flow Chart of BP+RNN Variable Speed Integral PID Control
第一個部分是變速積分PID 控制環節。從神經網絡輸出端實時接受三個PID 參數KP、KD與KI,輸入變速積分PID 算法中進行計算,得到當前汽車底盤測功機所需控制量u(k),將該控制量傳送給汽車底盤測功機的滾筒進行控制。通過內置計數器每間隔5ms 采樣一次汽車底盤測功機在該組PID 參數控制下的運行狀態r(k),將該運行狀態傳送到BP 與RNN 網絡進行自學習調整。
第二個部分是BP 神經網絡與RNN 的自學習。首先設置一組初始PID 比例項參數KP、微分項參數KD與積分項參數KI,在此條件下控制運行汽車底盤測功機,每間隔5ms 采樣一次汽車底盤測功機在該組參數控制下的運行狀態r(k)。將其與目標值y(k)帶入均方誤差法損失函數,得到神經網絡損失值,利用損失值反向傳遞訓練BP 神經網絡和RNN 網絡,優化兩個網絡的權值參數ω。同時將該運行狀態r(k)與目標值y(k)相減得到當前時刻誤差。將得到的本次誤差作為RNN 網絡模型的輸入,并把本次誤差e(k)、上次誤差e(k-1)及上上次誤差e(k-2)作為BP 神經網絡模型的輸入,通過神經網絡計算得出一組PID 參數。將該組參數作為新的PID 參數重復控制運行汽車底盤測功機。最終可以從BP 神經網絡模型中得到實際運行狀態下汽車底盤測功機PID控制器中的比例項參數KP和微分項參數KD,并從RNN 網絡模型中輸出實時符合當前誤差狀態的時變積分項參數KI。隨著控制的進行,變化的積分項參數也將實時更新,不斷改變控制量的大小,使底盤測功機的運行效果滿足工業要求。
傳統的增量式PID 控制策略在處理車輛底盤測功機這種具有較高延遲性的場景時,積分項容易在控制調節工作中超額累加,從而導致整個系統的控制出現大額超調。變速積分PID 是一種改良的PID 算法,它能夠控制積分項的實時系數大小,從而與實際運行情況相匹配[12]。使該算法在汽車底盤測功機誤差較大時積分項減小或歸零,相反在汽車底盤測功機誤差較小時積分項則增大,從而達到大幅度減小PID 控制超調的效果。變速積分的PID 算法的表達式為:

式中:e(k)—誤差,是汽車底盤測功機中滾筒的控制目標狀態y(k)減去實際運行狀態r(k),等式相加的第三項即為算法積分項。可以看到變速積分PID 為積分項參數KI增添了一個矯正函數f[e(k)],此函數通常是關于誤差的,原則上當誤差增大時f[e(k)]減小,反之則增大。
變速積分PID 算法的優勢在于根據實際運行的誤差大小自動調節積分項的控制參數,提高整個系統的適應性,能夠減小底盤測功機在起步、急停等狀態變化較大的非穩定運行狀態下,目標積分項階躍輸入對實際控制的影響,提高系統的控制穩定性。

圖2 BP 神經網絡結構圖Fig.2 Structure of BP Neural Network
對實驗所用的汽車底盤測功機實際控制效果進行分析,建立三層結構BP 神經網絡模型并進行初始化,該模型包含3 個輸入層神經元,3 個隱含層神經元和2 個輸出層神經元。其結構圖,如圖2 所示。
設置初始PID 比例、微分項參數,實時采樣當前參數運行情況,計算得到的汽車底盤測功機實時控制過程誤差,將當前誤差e(k)、上次誤差e(k-1)、上上次e(k-2)誤差作為訓練BP 神經網絡輸入層節點的輸入。即網絡輸入層輸入為:

正向計算BP 神經網絡,得到隱藏層神經元的輸入與輸出為:

式中:ω(2)—隱藏層權重矩陣,f[·]=tanh(x)。標記(1)、(2)依次對應輸入層、隱藏層。進一步正向計算得到BP 神經網絡輸出層神經元的輸入與輸出為:


圖3 RNN 網絡結構圖Fig.3 Structure of RNN Network
對實驗所用的汽車底盤測功機實際控制效果進行分析,建立三層結構RNN 神經網絡模型并進行初始化,該模型包含1 個輸入層神經元,1 個隱含層神經元和1 個輸出層神經元。其結構圖,如圖3 所示。
采樣得到被控汽車底盤測功機滾筒的實時加載扭力,利用該扭力與目標加載扭力相減計算,得到系統實時運行誤差,將該誤差e(k)作為RNN 網絡自學習時輸入層節點的輸入。即網絡輸入層輸入為:

正向計算RNN 網絡,得到隱藏層神經元的輸入與輸出為:

式中:ω(2)—隱藏層權重矩陣;υ(2)—隱藏層上一時刻對這一時刻影響的權重矩陣,f[·]=tanh(x)。標記(1)、(2)依次對應輸入層、隱藏層。進一步帶入式(4)正向計算,得到RNN 網絡輸出層神經元的輸入與輸出。其中,O(3)(k)=KI即所求的時變積分項參數。
將得到的積分項參數KI與BP 神經網絡計算出的比例項參數KP和微分項參數KD帶入式(1)變速積分PID 算法中,計算得到PID 控制器當前時刻控制量,通過式(5)采用均方誤差(Mean squarederror)法計算當前時刻神經網絡損失。選擇學習率η=0.05,動量系數α=0.05,按照梯度下降法對輸出層的權值ω(3)進行優化,調整算式為式(6)。接著按照梯度下降法對隱藏層的權值ω(2)進行優化,調整算式為:

同理按照梯度下降法修正隱藏層上一次值對這一次值影響的權重矩陣υ(2),調整算式為:

其中,f′[·]=[1-f2(x)]/2。
MATLAB 是一款系統模型庫的功能十分豐富的仿真平臺,因此使用MATLAB 建立仿真系統,使用模擬的數據進行仿真實驗,并觀察仿真結果,證實算法可行性,充分提高了工作效率。選擇相同的初始條件針對底盤測功機的恒力運行狀態進行仿真控制,分別使用傳統增量式PID 算法、一般神經網絡PID 算法以及文中提出的BP+RNN 變速積分PID 算法控制系統建立系統仿真模型。根據結果進行對比分析。
首先測試傳統增量式PID 算法,通過初步測試選擇KP=0.75、KD=0.5、KI=0.15 作為PID 算法的三個參數值,同時將這三組參數作為一般神經網絡PID 算法以及BP~RNN 變速積分PID 控制算法的參數初值。仿真系統采用階躍信號作為其輸入,傳統增量式PID 算法仿真結果,如圖4(a)所示。從圖中可以得到,使用傳統增量式PID 算法控制,系統需要經過大約80ms 趨于穩定,且控制時出現較大超調與震蕩,效果不理想。

圖4 算法仿真結果Fig.4 Algorithm Simulation Results
然后測試一般神經網絡PID 算法的仿真結果,如圖4(b)所示。從圖中可以得到,系統只需約50ms 便可趨于穩定。相比于傳統增量式PID 算法,控制時間大幅縮短,且未出現大幅震蕩現象,控制效果大幅提高,但在控制初始階段依然出現較大超調。
最后測試文中提出的BP+RNN 變速積分PID 算法控制系統的仿真結果,如圖4(c)所示。從圖中可得系統約花費50ms 便趨于穩定,且相比于一般神經網絡PID 算法,控制初始階段的超調基本消除,系統準確度大幅提升。由仿真實驗結果得出該算法實施的可行性。
該次實驗利用BP+RNN 變速積分PID 算法控制系統對某型號汽車地盤測功機進行實際應用測試,實驗場所位于長安某實驗場進行,實驗工作場地,如圖5 所示。

圖5 實驗工作場地Fig.5 Experimental Work Site

圖6 實際應用控制效果圖Fig.6 Practical Application Mode Diagram
根據國家質量監督檢驗檢疫總局2018 年發布的底盤測功機使用標準,底盤測功機運行狀態的工業要求誤差不大于2.0%,加載響應需在時間300ms 內達到90%。經過基本標定與測試后選擇當前控制條件下初始的PID 參數KP=0.633、KD=2.315、KI=0.347。將參數帶入傳統增量式PID 算法進行汽車底盤測功機的控制,其控制效果,如圖6(a)所示。從圖中可以得到,控制花費約100ms 趨于穩定,但該使用該算法花費了大量時間用于整定PID參數,且控制初始階段出現大量超調;接著將初始化的參數帶入一般神經網絡PID 算法進行汽車底盤測功機的控制,其控制效果,如圖6(b)所示。從圖中可以得到控制花費約100ms 趨于穩定,僅出現輕微超調;最后將參數帶入這里的BP~RNN 變速積分PID 控制算法進行汽車底盤測功機的控制,其控制效果,如圖6(c)所示。控制花費約60ms 趨于穩定,且沒有出現超調。從實際實驗結果中可以看出此BP~RNN 變速積分PID 控制算法應用在汽車底盤測功機時的優越性與穩定性。
這里介紹了一種BP+RNN 變速積分PID 算法控制系統在汽車底盤測功機應用的原理與效果。利用變速積分PID 算法在系統偏差較大時積分項減小或取消,而在系統偏差較小時增大的特點,在不對系統造成干擾的情況下減小靜態誤差與超調,解決了在處理高度非線性、時滯性、運行機器的條件復雜的汽車底盤測功機系統時,增量式PID 容易出現積分飽和的問題。在參數的整定方面,采用BP 神經網絡整定變速積分PID 算法的比例項、微分項參數,做到參數的快速自適應調節。同時利用RNN 網絡具有時序性因素的能力、能夠根據歷史數據推斷結果的特點,整定變速積分PID 算法的時變積分項參數。
經過重復多組不同條件下的實際運行,證明該系統兼顧了高效與準確的優點,擁有出色的實際運行結果。相比與普通汽車底盤測功機控制效果,該系統能夠準確快速的整定出PID 系數,并且能夠有效避免控制的過程中積分項的不斷累積,可以消除在啟動、停止或大幅度更改控制目標時,積分項輸出造成汽車底盤測功機出現大額超調現象,同時避免測功機改變目標環境時產生的震蕩與靜態誤差。該BP+RNN 變速積分PID 算法控制系統的未來方向是進一步豐富完善設計,從而能夠得到更準確的控制效果,并且可以運用到更多場合。