路 駿,韓勇軍,楊赪石,彭 博,萬榮華,韓新波,馬為峰
(中國船舶重工集團(tuán)公司第七〇五研究所,陜西西安710075)
魚雷發(fā)動機(jī)參數(shù)自整定PID控制
路駿,韓勇軍,楊赪石,彭博,萬榮華,韓新波,馬為峰
(中國船舶重工集團(tuán)公司第七〇五研究所,陜西西安710075)
摘要:提出一種用于魚雷發(fā)動機(jī)的參數(shù)自整定PID控制方法。該方法利用支持向量機(jī)的非線性函數(shù)擬合能力辨識發(fā)動機(jī)的動態(tài)特性,采用粒子群算法實現(xiàn)PID控制器的參數(shù)優(yōu)化。仿真實驗表明,支持向量機(jī)能很好地擬合發(fā)動機(jī)的動態(tài)特性,基于粒子群算法的參數(shù)自整定PID控制器響應(yīng)快速、無超調(diào),控制效果良好,具有工程應(yīng)用價值。
關(guān)鍵詞:魚雷發(fā)動機(jī); PID控制;支持向量機(jī);粒子群算法;參數(shù)優(yōu)化
Self-tuning PID control scheme for torpedo engine
LU Jun,HAN Yong-jun,YANG Cheng-shi,PENG Bo,WAN Rong-hua,HAN Xin-bo,MA Wei-feng
(The 705 Research Institute of CSIC,Xi'an 710075,China)
Abstract:This paper presents a self-tuning PID control scheme for torpedo engine.Due to its excellent performance in nonlinear function approximation,support vector machine is used to identify the dynamics of torpedo engine.The PID parameters are tuned using particle swarm optimization.The simulation results demonstrate that the support vector machine is able to approximate engine dynamics with high accuracy,and the proposed controller achieves good performance in terms of convergence speed and overshoot.
Key words:torpedo engine; PID control; support vector machine (SVM) ; particle swarm optimization (PSO) ;parameter optimization
PID控制具有算法簡單、魯棒性好、可靠性高等優(yōu)點,因而被廣泛應(yīng)用于系統(tǒng)控制領(lǐng)域。PID參數(shù)整定是影響PID控制效果的關(guān)鍵問題[1]。目前工程上PID參數(shù)的整定方法主要有臨界比例度法、衰減曲線法、Z-N法、快速整定法和繼電器法等。這些方法在實際應(yīng)用中雖然可以不同程度地滿足要求,但由于PID控制器本身存在著靜態(tài)和動態(tài)之間、跟蹤設(shè)定值與抑制擾動之間、魯棒性與控制性之間等矛盾,使得PID參數(shù)整定依然是一個重要的研究課題。
近年來,越來越多的人工智能方法被應(yīng)用于PID控制器設(shè)計和參數(shù)整定中[2]。如出現(xiàn)了基于神經(jīng)網(wǎng)絡(luò)和遺傳算法的PID控制器參數(shù)整定與優(yōu)化方法[3-4]。但神經(jīng)網(wǎng)絡(luò)是基于經(jīng)驗風(fēng)險最小原則,存在著神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)難以選擇、易陷于局部極值、過擬合等問題。
支持向量機(jī)[5](support vector machines,SVM)是基于統(tǒng)計學(xué)習(xí)理論發(fā)展起來的一種新的分類和回歸工具,它通過結(jié)構(gòu)風(fēng)險最小化原理提高泛化能力,克服了神經(jīng)網(wǎng)絡(luò)的上述缺陷,已被成功應(yīng)用于模式識別和系統(tǒng)控制領(lǐng)域[6]。粒子群算法[7](particle swarm optimization,PSO)是基于群體智能理論的優(yōu)化算法,通過種群中粒子間的合作與競爭產(chǎn)生的群體智能指導(dǎo)優(yōu)化搜索,具有算法簡單、收斂速度快、不容易陷入局部極值的優(yōu)點,目前已廣泛應(yīng)用于函數(shù)優(yōu)化和模糊系統(tǒng)控制等領(lǐng)域[8]。結(jié)合二者的優(yōu)點,本文提出一種基于支持向量機(jī)和粒子群算法的參數(shù)自整定PID控制器,并將其應(yīng)用于魚雷發(fā)動機(jī)控制。仿真研究表明該方法具有滿意的控制效果。
基于支持向量機(jī)的參數(shù)自整定PID控制策略如
圖1所示。該控制策略利用作為發(fā)動機(jī)辨識模型的支持向量機(jī)產(chǎn)生預(yù)測信號,然后利用粒子群優(yōu)化算法求解出最優(yōu)PID參數(shù),從而實現(xiàn)對發(fā)動機(jī)的預(yù)測控制。具體算法流程如下:
1)由控制要求獲取未來的期望輸出序列,即參考軌跡yr(k + 1) ;
2)預(yù)先測量得到發(fā)動機(jī)的開環(huán)輸入輸出數(shù)據(jù),把它們作為訓(xùn)練支持向量機(jī)的樣本,對支持向量機(jī)進(jìn)行離線訓(xùn)練,得到具有足夠精度的支持向量機(jī)模型;
3)利用支持向量機(jī)模型產(chǎn)生系統(tǒng)的預(yù)測輸出yp(k + 1) ;
4)將預(yù)測輸出與參考軌跡比較,計算未來時刻的期望誤差e(k + 1)。
5)通過粒子群算法極小化性能指標(biāo)函數(shù)J(k),獲得最優(yōu)PID參數(shù)kp,ki,kd;
6)將控制量u(k + 1)作用于系統(tǒng),返回1)。
圖1 基于SVM的參數(shù)自整定PID控制器框圖Fig.1 Scheme of self-tuning PID controller based on SVM
1.1支持向量機(jī)原理
用于系統(tǒng)辨識的支持向量機(jī)基本原理是:給定n組樣本數(shù)據(jù){ (yk,xk) | k = 1,…,n},其中xkRn是輸入樣本,ykR是輸出樣本,利用一個非線性映射Ф將數(shù)據(jù)從原空間映射到高維特征空間F,并在此空間構(gòu)造最優(yōu)線性回歸函數(shù)使其能夠很好的逼近給定數(shù)組[4]。由統(tǒng)計學(xué)習(xí)理論可知,該函數(shù)具有以下形式
在Vapnik ε不敏感損失函數(shù)的定義下
式(1)的求解轉(zhuǎn)化為下式的最優(yōu)問題求解
式中:ε為回歸允許的最大誤差;ξi和ξi*為松弛變量,C為懲罰參數(shù)。
式(3)的求解可以轉(zhuǎn)化為Lagranage對偶問題求解
式中:аi和аi*定義為非負(fù)的Lagranage乘子,核函數(shù)定義為
發(fā)動機(jī)的工作過程往往具有高度的非線性,考慮用支持向量機(jī)來辨識其動態(tài)行為,離散系統(tǒng)k +1時刻的輸出可表示為:其中
為建立支持向量機(jī)模型,首先構(gòu)造訓(xùn)練樣本[u(i),y(i + 1)]。采用上述方法可將非線性的樣本數(shù)據(jù)映射為高維空間的線性輸出:
1.2PID參數(shù)整定
PID控制器的目標(biāo)是產(chǎn)生控制信號u(k)能夠在k + 1時刻使系統(tǒng)輸出與參考模型輸出的差值最小。因此構(gòu)造目標(biāo)函數(shù)
其中μ為懲罰系數(shù),誤差e定義為支持向量機(jī)模型預(yù)測的發(fā)動機(jī)輸出yp與參考模型輸出yr的差值
為改善控制過程的動態(tài)特性,引入?yún)⒖架壽E。
式中: y(k)為發(fā)動機(jī)實際輸出; ysp為發(fā)動機(jī)輸出的
目標(biāo)值; c為可調(diào)參數(shù)(0<c<1)。
PID控制器參數(shù)整定問題則轉(zhuǎn)化為尋找最優(yōu)解kp,ki,kd,使得上述目標(biāo)函數(shù)取最小值。本文采用粒子群算法來求解這一優(yōu)化問題。粒子群算法的基本原理如下:在D維的目標(biāo)搜索空間中初始化一群隨機(jī)粒子,其中第i個粒子表示為一個D維向量Xi= (xi1,xi1,…,xiD),i = 1,2,…,N,每個粒子的位置就是一個潛在的解。將Xi代入一個目標(biāo)函數(shù)就可以算出其適應(yīng)值,根據(jù)適應(yīng)值的大小來衡量解的優(yōu)劣。第i個粒子的速度也是D維向量,記為Vi= (vi1,vi1,…,viD)。第i個粒子迄今為止搜索到的最優(yōu)位置稱為個體極值pbest,記作Pi= (pi1,pi1,…,piD),整個粒子群迄今為止搜索到的最優(yōu)位置稱為全局極值gbest,記作Pg= (pg1,pg1,…,pgD)。
PSO基于上述2個極值對粒子的速度和位置進(jìn)行更新:
式中: i = 1,2,…,N,d = 1,2,…,D;學(xué)習(xí)因子c1和c2為非負(fù)常數(shù); r1和r2為2個相互獨立的在區(qū)間[0,1]上均勻分布的偽隨機(jī)數(shù)。
粒子群算法流程如圖2所示。
圖2 粒子群算法流程圖Fig.2 Flow chart of PSO algorithm
2.1發(fā)動機(jī)的辨識仿真
為了獲得發(fā)動機(jī)的辨識模型,必須收集發(fā)動機(jī)的輸入輸出數(shù)據(jù),用以對支持向量機(jī)進(jìn)行離線訓(xùn)練。訓(xùn)練中采用1 000組信號,前500組作為學(xué)習(xí)樣本用于訓(xùn)練支持向量機(jī),后500組用于測試所得支持向量機(jī)的性能。支持向量機(jī)的設(shè)計參數(shù)為: C = 10,000,ε= 0.01,σ= 40。
支持向量機(jī)辨識仿真結(jié)果如圖3和圖4所示,其中圖3為訓(xùn)練樣本的擬合情況,圖4為測試樣本的擬合情況,圖中的數(shù)據(jù)作了無量綱化處理。由圖可知,支持向量機(jī)模型很好的擬合了訓(xùn)練和測試樣本,表明支持向量機(jī)具有良好的辨識精度,經(jīng)過訓(xùn)練過支持向量機(jī)能夠準(zhǔn)確描述發(fā)動機(jī)的動態(tài)行為。
圖3 訓(xùn)練樣本和支持向量機(jī)輸出對比Fig.3 Comparison between training data and SVM outputs
圖4 測試樣本和支持向量機(jī)輸出對比Fig.4 Comparison between testing data and SVM outputs
2.2控制系統(tǒng)的仿真
控制系統(tǒng)仿真結(jié)果如圖5和圖6所示,其中圖5為燃料供應(yīng)量變化曲線,圖6為發(fā)動機(jī)轉(zhuǎn)速變化曲線,圖中的數(shù)據(jù)作了無量綱化處理。從仿真結(jié)果可看出,基于SVM的參數(shù)自整定PID控制系統(tǒng)響應(yīng)快速,系統(tǒng)調(diào)節(jié)時間約為2 s,且無超調(diào),表明該控制策略可以很好地完成魚雷發(fā)動機(jī)控制。
圖7展示了采用粒子群算法的收斂曲線。由圖可知,采用粒子群算法收斂至最小值只需要不超過
30步的迭代計算,表明該算法是一種高效快速的優(yōu)化算法,可以滿足實時控制系統(tǒng)的要求。
圖5 燃油供應(yīng)量的變化曲線Fig.5 Response of fuel flow rate
圖6 發(fā)動機(jī)轉(zhuǎn)速的變化曲線Fig.6 Response of engine rotation speed
圖7 粒子群算法的收斂曲線Fig.7 Convergence curve of PSO algorithm
本文針對魚雷發(fā)動機(jī)提出了基于支持向量機(jī)的參數(shù)自整定PID控制方法。與傳統(tǒng)PID控制相比,參數(shù)自整定PID的控制效果對于初始的kp,ki,kd參數(shù)不敏感,只需使初始的kp,ki,kd參數(shù)在一定的合理范圍即可,從而避免了精確整定PID參數(shù)的繁瑣工作。仿真實驗表明,支持向量機(jī)能很好地擬合發(fā)動機(jī)的動態(tài)特性,基于支持向量機(jī)的參數(shù)自整定PID控制器響應(yīng)快速,無超調(diào),控制效果良好。
參考文獻(xiàn):
[1]王偉,張晶濤,柴天佑.PID參數(shù)先進(jìn)整定方法綜述[J].自動化學(xué)報,2000,26(3) :347-355.WANG Wei,ZHANG Jing-tao,CAI Tian-you.A survey of advanced PID parameter tuning method[J].Acta Automatica Sinica,2000,26(3) :347-355.
[2]劉金琨.先進(jìn)PID控制及其MATLAB仿真[M].北京:電子工業(yè)出版社,2004.LIU Jin-kun.Advanced PID control and Matlab simulation [M].Beijing: PublishingHouseof Electronic Industry,2004.
[3]姚華,袁鴦,鮑亮亮,等.航空發(fā)動機(jī)神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)PID控制[J].推進(jìn)技術(shù),2007,28(3) :313-316.YAO Hua,YUAN Yang,BAO Liang-liang,et al.Selflearning PIDcontrol based on neural networks for aeroengines[J].Journal of Propulsion Technology,2007,28 (3) :313-316.
[4]李秋紅,孫健國,周繼超.航空發(fā)動機(jī)PID控制參數(shù)優(yōu)化的改進(jìn)遺傳算法[J].南京航空航天大學(xué)學(xué)報,2006,38 (2) :162-165.LI Qiu-hong,SUN Jian-guo,ZHOU Ji-chao.Improved algorithm for calculating GA Fitness function of aeroengine PID controller parameter optimization[J].Journal of Nanjing University of Aeronautics&Astronautics,2006,38 (2) :162-165.
[5]VAPNIK V.The nature of statistical learning theory[M].New York: Springer-Verlag,1999.
[6]SMOLA A J,SCHOLKOPF B.A tutorial on support vector regression[J].Statistical Computation,2004 (14) : 199 -222.
[7]KENNEDY J,EBERHART R.Particle swarm optimization [C].Proceedings of IEEE International Conference on Neural Networks,1995:1942-1948.
[8]謝曉鋒,張文俊,楊之廉.微粒群算法綜述[J].控制與決策,2003,18(2) :129-134.XIE Xiao-feng,ZHANG Wen-jun,YANG Zhi-lian.Overview of particle swarm optimization[J].Control and Decision,2003,18(2) :129-134.
作者簡介:路駿(1986-),男,博士后,研究方向為水下能源動力技術(shù)。
基金項目:中國博士后科學(xué)基金資助項目(2014M552503)
收稿日期:2014-06-30;修回日期: 2014-08-20
文章編號:1672-7649(2015) 07-0108-04doi:10.3404/j.issn.1672-7649.2015.07.024
中圖分類號:TJ630.1
文獻(xiàn)標(biāo)識碼:A