王茂林,葉小紅,王洪光,李少遠,姜貴林
哈爾濱工程大學機電工程學院,黑龍江哈爾濱 150001
液壓系統中粒子群優化神經網絡權值的控制算法
王茂林,葉小紅,王洪光,李少遠,姜貴林
哈爾濱工程大學機電工程學院,黑龍江哈爾濱 150001
針對非線性、時變等缺陷導致傳統的控制器控制效果較差、不適應電液伺服系統的現象,提出了用于電液伺服控制的基于粒子群優化算法對神經網絡的權值進行學習訓練的PSO-NN算法。結合電液伺服系統實例分析,用MATLAB仿真得到了輸入階躍信號和正弦信號時,PSO-NN算法的輸出曲線以及適應度曲線;為了展示PSO-NN算法的效果,用BP算法仿真了對應輸入階躍信號和正弦信號的輸出。仿真結果表明:在電液伺服系統的控制中,PSO-NN算法性能優于BP算法,系統輸出具有更好的收斂性和對輸入的跟隨性,從而證明PSO-NN算法對于電液伺服系統的控制是合適并有效的。
粒子群優化算法;BP神經網絡;PSO-NN算法;權值訓練;電液伺服系統
電液伺服系統因精度高、響應快、易調節等優點,在工業控制領域得到了廣泛使用。然而,非線性、時變等缺陷導致傳統的控制器控制效果較差,不適應電液伺服系統[1]。神經網絡(neural networks)應用廣泛,包括優化、機器人技術和工業控制過程。其中,BP算法又是應用最廣的神經網絡訓練算法。該算法不必知道具體的系統模型就可以提供期望的輸出[2]。
粒子群優化(particle swarm optimization,PSO)算法是美國的Kennedy和Eberhart[3]受鳥群覓食行為的啟發于1995年提出的,是基于隨機優化技術發展而來,到目前為之,BP神經網絡和PSO算法已經應用于很多不同的問題。例如,Ghobakhloo和Eghtesad[4]發展了多層BP-NN算法來解決一個有3個旋轉自由度的冗余液壓系統的正向運動學問題;Das和Dulger[5]為四連桿機構設計了用PSO優化PD控制器參數的算法。然而,粒子群和神經網絡結合的PSO-NN算法應用于電液伺服系統的研究很少。因此本文提出了將粒子群優化算法對神經網絡的權值進行學習訓練的PSO-NN算法,用其對電液伺服系統進行分析,并與BP神經網絡控制器進行比較。
在神經網絡中權值訓練通常使用誤差逆向傳播的BP算法。BP算法先將輸入由輸入層經過隱含層處理最后傳遞到輸出層得到輸出結果,再對實際輸出與期望輸出的誤差使用梯度下降法訓練各層權重值[6]。 輸出誤差如式(1):

式中:ri為網絡實際的輸出,yi為期望輸出,n為輸出層節點數。
BP算法流程概括如下:
1)初始化神經網絡:選擇輸入層、輸出層和隱含層的節點數。
2)隨機初始化各層的權值在-1.0~1.0。
3)選擇學習速率在0~1。
4)為神經網絡提供第1組輸入。
5)進行前向網絡計算,得到輸出。
6)網絡反向計算誤差,由梯度下降法更新網絡權值。
7)判斷誤差是否達到要求。
8)是則程序結束;否則返回步驟9)。
9)為神經網絡提供下一組輸入,并返回步驟5)。
粒子群優化算法包含一組在n維空間搜索變換的粒子。一組中的每個粒子都有一個粒子位置和粒子速度,均通過適應度函數優化。粒子根據當前優化的結果進行粒子位置和速度的更新[3]。
PSO用一組隨機粒子初始化,然后進行迭代尋優。每次迭代中會有本粒子的當前最好位置pbest和全部粒子中的最好位置gbest,每個粒子再用下面的公式進行速度和位置更新。

式中:w是慣性權重;c1、c2為學習因子,通常在0~2間取值;r1,r2∈(0,1)為隨機數;vki為粒子i第k迭代時的速度;xki粒子i第k迭代時的位置。
粒子群算法流程概括如下:
1)初始化PSO參數c1、c2、r1、r2、w,設定迭代次數;
2)初始化各個粒子的位置和速度;
3)計算每個粒子的適應度值;
4)計算pbest和gbest,更新每個粒子的速度和位置;
3.1 PSO-NN算法在電液伺服系統的應用
對電液伺服系統的控制研究中,系統控制器接收輸入信號r再將控制器的輸出傳遞到電液伺服系統中,電液伺服系統的輸出y再反饋到控制器中。控制器比較電液伺服系統的輸出y與控制器的輸入r,根據其差值不斷調整,從而使得電液系統輸出y跟隨輸入信號r。系統的功能如圖1所示。

圖1 電液伺服壓系統控制框圖
圖2展示了PSO-BP算法用于系統控制器的情況。神經網絡模型和粒子群算法包含在控制器中。神經網絡接收輸入r,經過網絡的泛化,然后將泛化結果經由系統傳遞函數得到輸出y。粒子群算法比較輸出y與輸入r的值,對神經網絡模型的權值進行控制,已達到控制輸出y跟隨輸入r的目的[6]。

圖2 PSO-NN算法控制液壓系統框圖
在圖2中有輸出y反饋到神經網絡的功能。這是因為系統傳遞函數一般為二階非線性的,所以神經網絡的t+1時刻的輸入要用到t+1時刻的輸入r以及系統t和t-1的輸出y。
3.2 PSO-NN算法分析
采用基于粒子群算法優化神經網絡的權值的網絡訓練算法。首先要做的就是確定粒子模型,即粒子空間維數。神經網絡的訓練算法主要是權值的更新,因此粒子的位置應與神經網絡模型的各個層權值相對應,即粒子的空間維數對應網絡模型的權值個數。
針對本文研究問題,NN網絡模型的輸入層應有2個節點,輸出層應有1個節點。輸入層的節點對應電液伺服系統的輸入r和反饋輸出y;輸出層對應電液系統的輸出y。假設隱含層有n個節點。則NN網絡模型如圖3所示。

圖3 NN神經網絡模型
由圖 3知,輸入層與隱含層之間的權值為( ω11,ω12,…, ω1n, ω21, ω22,…, ω2n)。 隱含層與輸出層之間的權值為(ω1k,ω2k,…,ωnk)。 一個粒子應該對應圖3中NN網絡模型中的所有權值,將所有權值編碼為一個向量,則粒子為

式中i代表粒子數,i=1,2,…,M。
3—6月柑桔紅蜘蛛為害臍橙的葉片后,使臍橙的葉子表面出斑點。柑桔紅蜘蛛為害嚴重時,整片葉兩面變成灰白色而失去光澤,使臍橙落葉而削弱臍橙的樹勢,嚴重影響臍橙產量。如不及時防治,甚至會造成整株死亡。
將NN網絡的權值編碼成為粒子后,根據式(2)和(3)就可以進行迭代尋優過程。因驗證算法在輸出對輸入的跟隨性,所以在粒子群算法迭代過程中,以系統輸出與輸入的差為訓練準則。
PSO-NN算法優化流程:
1)設置最大迭代數,初始化粒子數、粒子位置(即權值)、速度;
2)以訓練準則計算各個粒子適應值;
3)找出當前個體極值和全局極值;
4)計算更新粒子速度,更新權值;
5)判斷是否達到最大迭代次數;
6)是則輸出最優解,結束。否則返回步驟2)。
3.3 算法參數的設置
粒子群優化算法的參數不需要調節太多,但算法的收斂性和性能受幾個參數影響較大。目前經驗對于算法參數的設置還是很重要[7]。所以這里對本研究中的粒子群參數的設置進行說明。
1)粒子長度。
本文中神經網絡的輸入有輸入r和反饋的輸出y兩路信號,網絡輸出為一路。因此,取神經網絡為[2 5 1]結構,即輸入節點2個,隱層節點5個,輸出節點1個,故粒子長度為15。
2)粒子群的數目。
粒子群的粒子數目按經驗一般取值[20,40]。本文的粒子群的數目選為20。
3)粒子范圍。
粒子范圍是由具體的優化問題決定的。鑒于神經網絡的權值范圍,本文中設置粒子范圍為[-1,1]。
4)學習因子。
c1和c2表示粒子受個體和全局粒子的影響程度,本文中設置c1=c2=2[7]。

用BP神經網絡和PSO-NN算法分別對其進行控制。首先,將式(4)離散化。采樣時間取為0.01 s,在MATLAB下用“c2d”和“tfdata”命令把傳遞函數離散化[8],離散化后的結果為

用MATLAB編寫PSO-NN控制算法[9]和BP控制算法來控制此液壓系統,整個系統的輸入采用采樣時間0.01 s,采樣次數為500,所以總的系統仿真時間為5 s,迭代次數均為200。當輸入階躍信號時,BP算法的輸入輸出如圖4所示,當輸入頻率為0.5的正弦信號時,輸入輸出如圖5所示。
有一電液伺服系統,其開環傳遞函數為

圖4 BP算法階躍輸入輸出曲線

圖5 BP算法正弦輸入輸出曲線
當輸入階躍信號時PSO-NN算法的輸入輸出為圖6時,其適應度曲線如圖7所示;當輸入頻率為0.5的正弦信號時,輸入輸出如圖8所示。

圖6 PSO-NN算法階躍輸入輸出曲線

圖7 PSO-NN算法階躍輸入適應度曲線

圖8 PSO-NN算法正弦輸入輸出曲線

圖9 PSO-NN算法階躍輸入適應度曲線
當輸入為階躍信號時,取穩定值的5%作為允許誤差。由圖4得出BP算法的輸出為1.5左右,最大超調達到50%,在第100次采樣,即第1.0 s輸出趨于穩定。調整時間為1.0 s。由圖6得出PSO-BP算法的最大超調為20%,在第20次采樣,即第0.2 s輸出趨于穩定。調整時間為0.2 s。由圖7知,僅需要40次迭代適應度曲線就趨于水平。
當輸入為頻率為0.5 Hz、幅值為1的正弦信號時,由圖5得出BP算法能夠跟隨輸入,但其有一定的相位滯后。由圖8得出PSO-BP算法跟隨輸入的效果非常好。只是在開始的50次采樣,即0.5 s前有少量的波動,但從圖中也可看出這個波動比圖5中BP算法的滯后小很多。由圖9知,僅需要20次迭代適應度曲線就趨于水平。
由以上數據分析得出:在電液伺服系統的控制中,用PSO訓練神經網絡權值的算法比基于梯度下降的BP算法收斂速度快,且輸出精度高。此方法應用于要求精度高、響應快的電液伺服系統比BP算法更合適。證明PSO-NN算法對于電液伺服系統的控制是合適和有效的。
[1]姚運濤,李著信,張濤.液壓伺服系統優化設計方法[J].后勤工程學院學報,2001,17(1):92-95.
[2]ZHAO H,DANG K F,LIN T Q.A online-trained neural network controller for electro-hydraulic servo system[C]//Proceedings of the 4th World Congress on Intelligent Control and Automation.Shanghai,China,2002:2983-2986.
[3]KENNEDY J,EBERHART R.Particle swarm optimization[C]//Proceedings of IEEE International Conference on Neural Networks.Piscataway,USA,1995:1942-1948.
[4]GHOBAKHLOO A,EGHTESAD M.Neural network solution for the forward kinematics problem of a redundant hydraulic shoulder[C]//31th Annual Conference of IEEE Industrial Electronics Society.Raleigh,USA,2005:1999-2004.
[5]DAS M T,DULGER L C.Control of a four bar mechanism by applying particle swarm optimization[C]//13th National Machine Theory Symposium.Sivas,Turkey,2007:113-117.
[6]易方,李著信,馬維平,等.一種基于神經網絡的電液伺服系統智能控制方法[J].后勤工程學院學報,2008,24(3):60-61.
[7]袁馳.粒子群算法在PID神經網絡優化中的應用[C]//International Conference on Circuit and Signal Processing.上海,中國,2010:582-584.
[8]吳衛平.基于神經網絡的精校機液壓位置伺服系統控制器的仿真與研究[D].合肥:合肥工業大學,2009:19-38.
[9]吳建生,秦發金.基于MATLAB的粒子群優化算法程序設計[J].柳州師專學報,2005,20(4):97-99.
Control algorithm based on particle swarm optimization neural network weights in hydraulic system
WANG Maolin,YE Xiaohong,WANG Hongguang,LI Shaoyuan,JIANG Guilin
College of Mechanical and Electrical Engineering,Harbin Engineering University,Harbin 150001,China
Considering the control nonlinearity and uncertainties and other defects of intelligent control electro-hy-draulic servo system,PSO-NN algorithm is proposed to use particle swarm optimization algorithm to train neural network weights.Combined with a specific instance of electro-hydraulic servo system,when the system input is step and sine signal,the output and fitness curves of PSO-NN algorithm are simulated by using MATLAB software.In order to demonstrate the result of PSO-BP algorithm,BP algorithm is simulated further.The simulation results show that PSO-NN algorithm is superior to the BP algorithm due to the better output convergence and input following per-formance of the electro-hydraulic servo system,and that PSO-NN algorithm is suitable and effective for electro-hy-draulic servo system control.
particle swarm optimization;BP neural network;PSO-NN algorithm;weights training;electro-hydrau-lic servo system
TP217.31
A
1009-671X(2014)03-0051-004
10.3969/j.issn.1009-671X.20130420
http://www.cnki.net/kcms/doi/10.3969/j.issn.1009-671X.20130420.html
2013-04-25.
日期:2014-03-27.
國家自然科學基金資助項目(51175099).
王茂林(1988-),男,碩士研究生.
王茂林,E-mail:wml070611@126.com.