摘 要:針對BP PID控制器的控制性能受參數初值影響大、易陷入局部極值、對噪聲敏感,且低信噪比條件下控制穩定性差等問題,提出了一種基于改進果蠅優化算法(Improved Fruit Fly Optimization Algorithm, IFOA)和徑向基神經網絡 卡爾曼濾波(Radial Basis Function Network Kalman Filter, RBF KF)的噪聲穩健BP PID控制方法。首先提出了一種IFOA隨機搜索算法對BP PID初值進行全局尋優,自動獲得全局最優解,提升系統控制精度。然后利用所提RBF KF對觀測數據進行濾波平滑,降低量測和控制噪聲對系統的影響,提升低信噪比條件下的控制穩定性。基于某智能車車速控制真實數據開展試驗,結果表明,所提方法相對于傳統方法控制精度提升超過50%,控制穩定性提升超過60%,并且在低信噪比條件下優勢更加明顯,更適合實際工程應用場景。
關鍵詞:BP PID;車速控制;果蠅優化算法;噪聲穩健;卡爾曼濾波
中圖分類號:TP18文獻標識碼:A
Improved Noise Robust Control Method Based on BP PID
ZOU Jingjing
(Guangdong Polytechnic of Science and Technology, Zhuhai,Guangdong 519000, China)
Abstract:The control performance of the BP PID controller is greatly affected by the initial parameter values, easily trapped in local extremum,sensitive to noise,and thecontrol stability is poor under low signal to noise ratio conditions. Propose a noise robust BP PID control method based on the improved fruit fly optimization algorithm (IFOA) and radial basis function network Kalman filter (RBF KF). Firstly, propose an IFOA random search algorithm to globally optimize the initial value of BP PID, automatically obtain the global optimal solution, and improve the system control accuracy, Then, the proposed RBF KF is used to filter and smooth the observed data, reduce the impact of measurement and control noise on the system, and improve control stability under low signal to noise ratio conditions. Based on real data of a certain intelligent vehicle’s speed control, experiments are conducted. The results show that the proposed method improves control accuracy by more than 50% and control stability by more than 60% compared to traditional methods, and the advantages are more obvious under low signal to noise ratio conditions, more suitable for practical engineering application scenarios.
Key words:BP PID;speed control;fruit fly optimization algorithm;noise robust;Kalman filter
BP PID控制器利用BP神經網絡對PID控制器的比例(Proportional, P),積分(Integral, I)和微分(Derivative, D)參數進行在線實時整定[1-2],提升了傳統PID控制器對非平穩,非線性和時變系統的適應能力和控制性能,被廣泛應用于機械制造,化工冶金,車速控制等領域[3-5]。
然而由于BP PID控制器在求解過程中采用梯度下降法,其收斂性能受網絡初值的選取影響較大,初值選取不當會導致算法收斂速度下降,陷入局部最優解等問題[6-7]。針對該問題,眾多學者開展了大量的研究,其中最為經典的方法是將隨機優化算法引入BP PID控制器,利用優化算法的參數尋優能力對BP PID初值進行全局尋優,提升控制性能[8-10]。文獻[11]提出一種改進的遺傳算法(Genetic Algorithm, GA)對BP PID控制器的初值進行全局尋優,通過加速網絡的訓練過程,提升參數整定的實時性,采用氣體濃度控制試驗驗證了該方法的有效性;文獻[12]針對磁懸浮列車單點混合磁懸浮球的控制問題,將粒子群(Particle Swarm Optimization, PSO)算法引入BP PID控制器,有效解決了BP PID收斂速度慢,對初值敏感的問題;文獻[13]提出一種果蠅優化算法(Fruit Fly Optimization Algorithm, FOA)優化的BP PID控制器,并通過典型測試函數驗證了所提方法的控制性能。上述研究雖然在一定程度上解決了BP PID參數整定問題,但是并沒有考慮到真實控制過程中普遍存在的噪聲和干擾等因素,在低信噪比條件下該類方法的控制穩定性會出現大幅下降,難以適應眾多控制系統所處的復雜電磁環境[14]。
針對BP PID控制器初值優化以及低信噪比條件下的控制穩定性問題,提出了一種基于改進果蠅優化算法(Improved Fruit Flying Optimization Algorithm, IFOA)和徑向基神經網絡卡爾曼濾波(Radial Basis Function Network Kalman Filter, RBF KF)優化的BP PID控制器,利用IFOA對網絡初值進行全局尋優,相對于FOA,PSO和GA等優化算法,IFOA具有更均衡的全局和局部搜索能力,從而可以獲得更快的收斂速度和更高的控制精度;同時考慮到復雜電磁環境引起的低信噪比問題,還提出了使用RBF KF算法對觀測數據進行濾波平滑,有效降低噪聲分量的影響并提升控制穩定性。最后采用某智能車車速控制系統真實數據開展試驗,結果表明所提方法相對于FOA BP PID,GA BP PID和PSO BP PID三種控制器具有更高的控制精度和控制穩定性,并且在低信噪比條件下優勢更加明顯。
1 BP PID控制器
BP PID控制器系統架構如圖1所示,包括傳統PID控制器和BP神經網絡兩部分。傳統PID控制器的輸入為被控對象預期值與實際輸出值之間的偏差,通過將偏差的比例(kp),積分(ki)和微分(kd)進行線性組合作為控制量對被控對象進行反饋控制。要想獲得理想的控制效果,關鍵在于調整好kp,ki和kd之間的相對關系,然而在實際應用中,系統控制性能與kp,ki和kd之間往往并非簡單的線性關系,且在控制過程中是動態調整的,因此傳統基于經驗預設的參數整定方法難以獲得滿意的控制性能。
BP神經網絡具有任意非線性函數表達和自適應自學習能力,將其與PID聯合構建的BP PID控制器通過對系統狀態的動態學習能夠從kp,ki和kd的無窮非線性組合中自動得到最優控制性能。圖2給出了BP PID控制器利的網絡結構圖,由輸入層,隱含層和輸出層構成,其中輸出層神經元即為kp,ki和kd三個參數,輸入層神經元x(1)j和神經元個數M由具體問題決定,上標(1)表示網絡第1層,即輸入層。隱含層神經元個數Q,由輸入和輸出神經元個數共同決定。隱含層的輸入net(2)i,i=1,2,…,Q和輸出O(2)i之間的關系可以表示為:
net(2)i(k)=∑Mj=1w(2)ijx(1)jO(2)i(k)=f(net(2)i(k)), i=1,2,…,Q(1)
式中,w(2)ij為輸入層到隱含層的映射系數,上標(2)表示網絡第2層,即隱含層。f(·)為神經元轉移函數,通常采用雙極性Sigmoid函數形式。
進一步可以計算得到網絡輸出層對應的輸入和輸出分別為:
net(3)l(k)=∑Qj=1w(3)liO(2)i
O(3)1(k)=kp(k)=g(net(3)1(k))
O(3)2(k)=ki(k)=g(net(3)2(k))
O(3)3(k)=kd(k)=g(net(3)3(k))(2)
式中,w(3)li為隱含層到輸出層的映射系數,上標(3)表示網絡第3層,即輸出層。kp(k),ki(k)和kd(k)分別為當前第k個狀態下對應系統的比例,積分和微分控制系數。g(·)為非負的Sigmoid函數。
BP PID控制器通常將控制器的實際輸出v(k)與預期輸出y(k)之間誤差的平方和e2(k)作為待優化的性能指標函數,即:
e2(k)=12(v(k)-y(k))2(3)
采用梯度下降法對式(3)求解,可以得到網絡映射系數w(2)ij和w(3)li的迭代公式如下:
Δw(3)li(k)=α1Δw(3)li(k-1)+ηδ(3)lO(2)i(k)
Δw(2)ij(k)=α2Δw(2)ij(k-1)+ηδ(2)lO(1)j(k)
δ(3)l=e(k)sgny(k)Δu(k)Δu(k)O(3)l(k)g′(net(3)l(k))
δ(2)l=f′(net(2)i(k))∑3l=1δ(3)lw(3)li(k)(4)
式中,g′(·)=g(x)[1-g(x)],f′(·)=[1-f2(x)]/2,α1和α2為預設的動量系數,η為學習率參數。BP PID系統通過式(1)和式(2)所示正向傳播與式(4)所示反向傳播相結合的方式對網絡映射參數實時更新,從而得到最優的控制系數kp(k),ki(k)和kd(k)。
2 模型改進
BP PID采用梯度下降法進行模型計算,網絡初值的選取對最終的性能影響很大,例如在圖3所示優化問題中,存在唯一的全局最優解B,如果在開始迭代時網絡初值選取在c點或d點,則算法最終會收斂于全局最優解B,但是如果網絡初值選取在a,b,e,f點處,則算法會最終收斂于A點或C點等局部極值點,無法獲得系統希望的控制性能。同時BP PID模型沒有考慮實際工程應用中普遍存在的測量噪聲和控制噪聲的影響,在低信噪比條件下控制性能會出現明顯下降。針對上述問題,本文提出IFOA和RBF KF方法對BP PID控制器進行優化改進,以提升系統控制性能和噪聲穩健性。
2.1 改進果蠅優化算法
果蠅優化算法 [15]是一種用于描述自然界果蠅覓食過程的群體智能優化算法,具有原理簡單,收斂速度快,全局搜索能力強和魯棒性高的優點,然而由于傳統FOA采用固定搜索步長,在迭代初期能夠保證較快的收斂速度,當接近最優解時由于局部搜索能力不足,會導致結果不穩定和算法易早熟等問題的出現[16],同時傳統FOA是在兩維平面進行模型優化,根據第1小節介紹可知,BP PID控制器初值設置是一個三維空間[kp(k),ki(k)和kd(k)]尋優問題,因此本文從以下兩個方面對FOA算法進行改進提升:1)采用自適應搜索步長的方式提升FOA算法的局部尋優能力;2)將其擴展至三維空間進行搜索,以匹配BP PID優化需求。
(1)搜索步長改進
果蠅覓食過程中,通常開始時距離食物較遠,因而應采用較大搜索步長以提升搜索效率,隨著搜索過程的推移,果蠅群體逐漸接近食物,此時應采用較小的搜索步長從而提升搜索精度。針對該問題,本文提出通過將搜索步長與迭代次數關聯,使搜索步長具有自適應變化能力:
R(i)=R(i-1)1-in3sgn (r-a)(5)
式中,R(i)和R(i-1)分別為第i次和第(i-1)次的搜索步長,n為最大迭代次數,sgn (·)為符號函數,r為(0,1)范圍內均勻取值的隨機數,a為可調參數。從式(5)可以看出,改進后的搜索方式能夠根據當前搜索進度自動調整搜索精度,同時符號函數的引入使算法具備回退搜索能力,通過調整a的取值能夠有效避免算法陷入局部最優解,本文經過多次試驗得到a的最優取值為0.5。
(2)三維空間擴展
傳統FOA算法是一種二維空間優化方法,無法適應三維空間優化問題,因此為了匹配BP PID需求,需要將其擴展至三維空間,空間擴展過程如圖4所示。
空間的擴展意味著果蠅個體需要進行的飛行距離和飛行范圍增大,更有利于獲得全局最優解。在算法實現過程中,需要對傳統FOA算法的迭代步驟和適應度函數進行對應修改,具體算法實現見第3小節算法實現步驟。
2.2 徑向基神經網絡 卡爾曼濾波(RBF KF)
上述IFOA BP PID控制系統在控制量采集及控制過程中,不可避免地會引入測量和控制噪聲,導致控制精度下降和穩態延時等問題,因此需要考慮對觀測信號進行實時濾波,提升系統控制穩定性。卡爾曼濾波[17]是最小均方誤差準則下的一種最優濾波器,只需要前一個采樣時間的估計值和當前狀態的觀測值即可獲得當前采樣時刻的最優估計值,具有存儲和運算量小,實時性高的特點。其遞歸過程主要由以下5個步驟構成[18]:
①狀態預測方程:
*k=Ak-1-Buk-1(11)
②狀態預測協方差矩陣更新方程:
P*k=AP*k-1AT+Q(12)
③濾波增益方程
Kk=P*kCT(CP*kCT+R)-1(13)
④狀態估計方程:
k=*k-Kk(yk-C*k)(14)
⑤狀態估計均方差:
Pk=(I-KkC)P*k(15)
在上面的遞歸推導過程中,上標帶“~”和“*”的變量表示狀態預測值,僅帶“~”的變量為狀態估計值,*k表示第k時刻的狀態預測,k-1為k-1時刻的狀態估計值,uk-1表示k-1時刻的輸入控制變量,yk為k時刻的觀測值,P*k為k時刻狀態估計誤差的協方差矩陣,A為狀態轉移矩陣,B為控制矩陣,C為觀測矩陣,Q和R分別為系統噪聲協方差矩陣和觀測噪聲協方差矩陣,Kk為k時刻的濾波增益。
KF濾波性能取決于狀態預測值*k和估計誤差協方差矩陣P*k的初值*0,P*0,這在實際工程實踐中很難滿足,因此KF使用過程中通常會存在較大濾波誤差。針對這一問題,本文提出RBF KF方法,通過在KF遞歸過程中引入RBF神經網絡,將對濾波性能影響較大的預測誤差uk=*k-*k-1,濾波增益Kk和新息δk=yk-yk-1作為RBF神經網絡輸入,構建網絡結構對KF濾波差進行修正,并將修正后的濾波誤差補償給濾波估計值,從而獲得新的濾波估計值,具體實現框圖如圖5所示。
3 應用驗證與結果分析
3.1 仿真架構
為了驗證所提方法的控制性能,將其應用到某智能車車速控制系統中。智能車運行過程中會面臨各種復雜突變的交通狀況,其車速控制是一種典型的時變、非線性和非平穩隨機過程。
所用智能車控制系統邏輯框圖如圖6所示,主要包含BP PID控制器,IFOA優化模型,車輛動力學模型和RBF KF四部分。其中BP PID采用3-6-3的網絡架構,輸入神經元分別為期望車速y(k)、輸出車速v(k)以及期望車速與輸出車速之間的差值e(k);IFOA種群數量設置為20,最大迭代次數設置為100,果蠅群體的初始位置設置為[0,0,0]。
系統輸入的期望車速y(k)為某智能車系統在遠離市區的某郊區道路采集到的12分鐘實測車速,如圖7所示,可以看出測試過程中包括了起步,停止,平穩行駛,反復加速和反復減速等多種行為,較為真實地模擬了不同路況條件下的真實行駛情況。
3.2 IFOA參數優化試驗
利用IFOA對BP PID網絡初值w(2)opt,w(3)opt和ηopt進行全局尋優過程中的收斂曲線如圖8所示,同時為了對比,在圖8中我們一并給出了在相同條件下分別采用GA,PSO和FOA三種優化算法進行參數尋優得到的收斂曲線。從圖8所示結果可以看出,所提IFOA算法由于兼具全局和局部搜索能力,收斂速度明顯優于3種對比方法,只需要約7次迭代即可獲得最優網絡初值為w(2)opt=7.32,w(3)opt=11.58,ηopt=6.01;而GA算法收斂速度在4種算法中是最慢的,需要接近20次迭代才達到收斂狀態,收斂時,網絡初值取值為w(2)opt=7.31,w(3)opt=11.55,ηopt=6.01;PSO算法收斂速度略慢于IFOA,需要10次迭代實現算法收斂,收斂時網絡初值取值為w(2)opt=7.08,w(3)opt=10.33,ηopt=6.01;FOA算法由于采用固定步長進行搜索,在算法后期曲線出現了明顯的振蕩,最終需要15次迭代達到收斂,收斂時網絡初值取值為w(2)opt=7.47,w(3)opt=10.62,ηopt=9.16,與另外三種方差取值存在較大差異,表明FOA算法收斂于局部最優解(可結合3.3小節試驗結果進一步驗證)。
3.3 控制精度和穩定度
對于智能車車速控制的具體應用,車輛行駛過程中的安全性和穩定性(平穩性)是至關重要的,將其映射到控制系統,可以利用速度控制偏差e(k)的均值emean和方差estd進行評估,均值emean越小表明控制精度越高,即安全性越高,方差estd越小表明系統控制越穩定,車速控制越平穩。emean和estd的定義如下:
emean=1K∑Kk=1e(k)estd=1K∑Kk=1[e(k)-emean]2(18)
圖9(a)給出了利用所提方法(記為:IFOA BP PID)得到的速度控制結果,同時為了對比,圖9(a)中同步給出了在相同條件下分別采用GA BP PID,PSO BP PID和FOA BP PID三種控制算法進行試驗得到的控制結果,為了便于觀察對比,圖9(b)給出了圖9(a)的局部放大圖(110 s~160 s內數據)。圖9(c)給出了4種方法速度跟蹤誤差圖,同樣圖9(d)為圖9(c)的局部放大圖(110 s~160 s內數據)。
從圖9所示結果可以看出,所提IFOA BP PID控制器得到的速度控制結果與實際車速最為接近,誤差在[-0.3125,0.3233]范圍內,GSA BP PID控制器的控制精度僅次于IFOA BP PID,誤差在[-0.6719,0.7603]范圍內,PSO BP PID控制器的控制精度要明顯低于以上兩種控制器,誤差在[-2.4587,1.7433]范圍內,而FOA BP PID控制器的控制精度出現了較大偏差,誤差范圍處于[-9.5210,12.4302]內,這說明控制過程陷入了局部極值,與3.2小節分析一致。
表1給出了4種控制器進行速度控制得到的控制偏差e(k)的均值emean和方差estd,可以看出,所提IFOA BP PID控制性能相對于GSA BP PID提升了50%以上,相對于PSO BP PID提升了一個數量級,遠遠優于FOA BP PID,上述結果表明,所提方法在智能車速度控制應用中,能夠獲得最優的控制精度(安全性)和控制穩定度(平穩性)。
3.4 噪聲穩健性
為了進一步驗證所提方法在受到噪聲干擾時的控制性能,采用向實測數據中加入高斯白噪聲的方式開展試驗。圖10中黑色“○出了利用MATLAB自帶的awgn()函數向圖7所示數據中加入高斯白噪聲得到信噪比水平為0 dB時的車速變化曲線,可以看出,噪聲的引入使車速變化曲線出現了較為明顯的波動,從而導致控制性能下降。圖10中藍色“—+—”給出了利用傳統KF方法對其進行平滑濾波得到的結果,紅色“—*—”給出了利用所提RBF KF方法對其進行平滑濾波得到的結果,對比圖7與圖10可以看出,相對于傳統KF方法,利用所提RBF KF對含噪數據進行濾波后得到的速度曲線更加平滑,濾波后速度曲線變化與真實車速數據更加接近,噪聲抑制效果更好。
圖11給出了不同信噪比條件下利用所提RBF KF IFOA BP PID,GA BP PID,PSO BP PID和FOA BP PID四種方法進行速度控制得到的速度控制誤差均值emean和方差estd,同時為了對比,圖11中給出了利用傳統KF方法結合所提IFOA BP PID控制器得到的控制結果(記為:KF IFOA BP PID)。可以看出,隨著信噪比降低,5種方法的控制性能都出現了不同程度的下降,其中所提RBF KF IFOA BP PID性能下降最少,并且在不同信噪比條件下均能獲得最優的控制精度和控制穩定性,相對于其他方法具有更強的噪聲穩健性。
圖10 圖RBF KF濾波結果
(a) emean
(b) estd
圖11 不同信噪比條件下的控制結果
4 結 論
隨著工業控制系統向非線性、非平穩和時變性方向快速發展,傳統基于預設網絡參數的BP PID控制系統出現控制性能下降,容易受噪聲影響等問題。提出了一種RBF KF IFOA BP PID噪聲穩健控制算法,利用兼具全局和局部搜索能力的IFOA對BP PID網絡初值進行全局尋優提升系統控制性能,同時將RFB KF引入控制系統中,對觀測數據進行濾波平滑,抑制其中的測量和控制噪聲,提升控制系統在低信噪比條件下的控制性能。基于智能車車速控制實例對所提方法的性能進行驗證,結果表明,相對于傳統方法,所提RBF KF IFOA BP PID具有控制精度高,實時性好和更優良的噪聲穩健性,具有較好的應用前景。
參考文獻
[1] GAIN H, WEI P F, WEN W, et al. The lateral tracking control for the intelligent vehicle based on adaptive PID neural network[J]. Sensors, 2017, 17(6):1244-1252.
[2] GUOJ, LUOY, LI K, et al. Adaptive dynamic surface longitudinal tracking control of autonomous vehicles[J]. IET Intelligent Transport Systems,2019, 13(5):1272-1280.
[3] 張忠藝, 徐冬梅. 基于PID的制造業多智能體系統一致性分析[J]. 制造業自動化, 2021,43(3):168-172.
[4] NIEL Z, GUAN J Y, LUC H, et al. Longitudinal speed control of autonomous vehicle based on a self adaptive PID of radial basis function neural network[J]. IET Intelligent Transport Systems, 2018, 12(6):485-494.
[5] 范怡敏, 羅云飛, 魏春英. 基于自適應神經網絡的無人機PID控制器研究[J]. 電子測量技術, 2021, 44(9):163-167.
[6] 王永鼎, 陳小鋒. 基于BP神經網絡PID控制的AGV調速系統仿真[J]. 制造業自動化, 2021, 43(6):63-67.
[7] 肖宜輝, 宋保業, 許林. 一種無刷直流電機模糊比例積分控制器的設計[J]. 科學技術與工程, 2020, 20(19):7750-7755.
[8] 李捷菲. 基于BP神經網絡的PID控制系統研究與設計[D].長春:吉林大學, 2019.
[9] 劉曉昂, 張佳琪, 王爽. 基于模糊比例積分微分算法的汽車半主動懸架振動分析[J]. 科學技術與工程, 2021,21(2):781-785.
[10]趙廣元, 王超. 基于改進人群搜索算法的PID控制器參數優化[J]. 計算機仿真, 2020,37(8):302-306.
[11]李航, 杜璠, 胡曉兵, 等. 改進的BP神經網絡PID控制器在氣體濃度控制中的研究[J]. 四川大學學報(自然科學版), 2020, 57(6):1103-1109.
[12]彭月, 蘇芷玄, 楊杰, 等. 基于PSO BP PID單點混合懸浮球控制算法研究[J]. 鐵道科學與工程學報, 2022, 19(6):1511-1520.
[13]鳳麗洲, 王友衛, 韓琳琳, 等. 雙重驅動的果蠅優化算及其在PID控制器中的應用[J]. 控制與決策, 2021,36(9):2225-2233.
[14]張繼榮, 張天. 基于改進粒子群算法的PID控制參數優化[J]. 計算機工程與設計, 2020, 41(4):1035-1040.
[15]弋佳東, 楊潔. 基于IFOA SA BP神將網絡的雷達信號識別[J]. 系統工程與電子技術, 2020,42(12):2735-2741.
[16]ZANDIEH M, TAVANA M, ALIKAR N, et al. A tuned hybrid intelligent fruit fly optimization algorithm for fuzzy rule generation and classification[J]. Neural Computing Applications, 2019, 31(3):873-885.
[17]YAO G, GAO F, WAGN C, et al. Design and simulation based on Kalman filter fuzzy adaptive PID control for mold liquid level control system[C]//Control and Decision Conference, 2009, CCDC’09. IEEE:6105-6109.
[18]龔波, 周永華, 艾矯燕. 融合卡爾曼濾波的無人船航向神經網絡控制[J]. 計算機工程與設計, 2020, 41(8):2315-2320.