李桂梅,曾喆昭
(1. 湖南商學(xué)院 計(jì)算機(jī)與電子工程學(xué)院,湖南 長沙,410205;2. 長沙理工大學(xué) 電氣與信息工程學(xué)院,湖南 長沙,410076)
隨著系統(tǒng)復(fù)雜程度的提高和對象不確定性因素的增多,傳統(tǒng)的PID控制已經(jīng)不再適用,而非線性PID控制能真實(shí)反映控制量與偏差信號之間的非線性,在一定程度上克服了線性PID控制的缺陷。近10年來,國內(nèi)外許多研究者將非線性特性引入PID控制器的設(shè)計(jì)[1-9]。目前,由多種方式合成的非線性 PID控制器主要有模糊系統(tǒng)[10]、人工神經(jīng)網(wǎng)絡(luò)[11]以及基于經(jīng)驗(yàn)式的非線性函數(shù)設(shè)定[1-7,9,12-13]等。從原理上說,非線性特性的引入可以為控制過程帶來許多益處,如補(bǔ)償被控對象的非線性、改善控制性能、提高控制系統(tǒng)的魯棒性等,為控制器的設(shè)計(jì)提供新的自由度,但在理論與應(yīng)用研究中較復(fù)雜[9]。在這種情況下,研究一種設(shè)計(jì)簡單、使用方便的非線性PID控制器具有重要的理論意義和應(yīng)用價值。基于經(jīng)驗(yàn)式的非線性函數(shù)設(shè)定方法是使常規(guī)PID控制器的比例增益系數(shù)Kp、積分增益系數(shù)Ki和微分增益系數(shù)Kd成為偏差信號e(t)的非線性函數(shù),即 Kp(e(t)),Ki(e(t))和 Kd(e(t)),然后,以這 3個函數(shù)來代替常規(guī)PID控制器的3個增益系數(shù)。盡管以偏差信號作為生成非線性函數(shù) Kp(e(t)),Ki(e(t))和Kd(e(t))的依據(jù),但生成過程究竟符合什么樣的規(guī)律并沒有固定的公式可利用,這正是建立非線性PID控制器模型的關(guān)鍵。要得到非線性函數(shù)Kp(e(t)),Ki(e(t))和Kd(e(t))的準(zhǔn)確解析式很復(fù)雜,在此,本文作者通過分析常規(guī)PID參數(shù)隨系統(tǒng)過渡過程誤差變化的理想變化關(guān)系[14],分別給出比例、積分和微分增益參數(shù)關(guān)于誤差的動態(tài)非線性函數(shù),從而獲得非線性 PID的可用模型。
Kp,Ki和Kd3個參數(shù)隨誤差e(t)變化的關(guān)系曲線如圖1所示[14],這些曲線揭示了Kp,Ki和Kd3個參數(shù)在PID控制過程中的作用和物理意義。
圖1 PID 3個增益參數(shù)隨誤差的變化曲線Fig.1 PID gain parameters of three curves with error
(1) Kp的作用是減小超調(diào),增加快速性,因而要求當(dāng)誤差|e(t)|較大時,Kp也較大;當(dāng)|e(t)|較小時,Kp也較小??捎蓤D1構(gòu)造Kp關(guān)于誤差e(t)的動態(tài)非線性函數(shù)為
(2) Ki的作用是累積系統(tǒng)誤差,以減小系統(tǒng)靜態(tài)偏差,因而,要求當(dāng)|e(t)|較大時,Ki較??;當(dāng)|e(t)|較小時,Ki較大,其物理意義明確,可由圖1構(gòu)造Ki關(guān)于誤差e(t)的動態(tài)非線性函數(shù)為:
這里要特別指出的是:當(dāng)出現(xiàn)積分飽和情況時,通過系數(shù)w2的自適應(yīng)調(diào)整可有效避免積分飽和的情況。
(3) Kd的作用是增加系統(tǒng)阻尼,對系統(tǒng)起到提前校正、達(dá)到提高系統(tǒng)穩(wěn)定性的目的,因而要求超調(diào)(e(t)<0)越多時,Kd越大;欠調(diào)(e(t)<0)越多時,Kd越?。辉诜€(wěn)定值附近(e(t)≈0)時,Kd介于超調(diào)和欠調(diào)時的之間。因此,可由圖1構(gòu)造Kd關(guān)于誤差e(t)的動態(tài)非線性函數(shù)為
從形式上看,式(1)~(3)都是關(guān)于誤差信號e(t)的二次函數(shù),但是,由于系數(shù)w1,w2和w3都是動態(tài)系數(shù),因此,由式(1)~(3)構(gòu)造的非線性函數(shù)具有高度非線性,最終得出的動態(tài)非線性PID模型為:
將式(1)~(3)代入式(4),經(jīng)整理得:
為了便于CPU處理,將式(5)離散為
其中:T為采樣周期,是1個常數(shù)。將T分別隱含到系數(shù)w2和w3中,并設(shè)
則式(6)可簡寫為
i22微分項(xiàng)為
式(7)所示的非線性控制率給出了明確的物理意義:在超調(diào)(e(k)<0且e(k)→ -1)時,非線性PID控制器主要由非線性比例項(xiàng)和非線性微分項(xiàng)起決定作用,而非線性積分項(xiàng)的作用很小;在欠調(diào)(e(k)>0且e(k)→1)時,主要由非線性比例項(xiàng)起決定作用,而非線性微分項(xiàng)和積分項(xiàng)起的作用很?。辉诜€(wěn)定值附近(|e(k)|較小)時,主要由非線性積分項(xiàng)、微分項(xiàng)起決定作用,而非線性比例項(xiàng)的作用很小。這在很大程度上保證了系統(tǒng)在過渡過程中PID參數(shù)隨誤差變化的理想變化關(guān)系。
由式(7)可知,若以]1,1[)(-∈ke和u(k)分別為神經(jīng)網(wǎng)絡(luò)的輸入和輸出,并以動態(tài)系數(shù)w1,w2和w3為網(wǎng)絡(luò)權(quán)值,以非線性函數(shù) e3(k),[1-e2(k)]s(k)和[1-e(k)+0.5e2(k)]Δe(k)為隱層神經(jīng)元激勵函數(shù),則可得到網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為1×3×1的動態(tài)非線性PID神經(jīng)網(wǎng)絡(luò)控制器,其模型如圖2所示。其中:s1(k)=e3(k);s2(k)=[1-e2(k)]s(k); s3(k)= [1-e(k)+0.5e2(k)]Δe(k); s(k)=s(k-1)+e(k);s(-1)=0;Δe(k)=e(k)-e(k-1),e(-1)=0。
動態(tài)非線性 PID神經(jīng)網(wǎng)絡(luò)控制器模型如圖 2所示。由圖2可知:本文研究的動態(tài)非線性PID神經(jīng)網(wǎng)絡(luò)控制器不僅保留了常規(guī) PID控制器結(jié)構(gòu)簡單的特點(diǎn),而且構(gòu)造了PID增益參數(shù)關(guān)于誤差信號的動態(tài)非線性函數(shù)。因?yàn)閣1,w2和w3是動態(tài)權(quán)值,因而實(shí)現(xiàn)了PID增益參數(shù)的高度非線性,并將其分別融入到3個隱層神經(jīng)元中,通過神經(jīng)網(wǎng)絡(luò)的實(shí)時在線訓(xùn)練來獲取權(quán)值系數(shù),有效避免了常規(guī)神經(jīng)網(wǎng)絡(luò)控制器隱層神經(jīng)元節(jié)點(diǎn)數(shù)難以確定的問題。
由圖 2可知,系統(tǒng)初始誤差函數(shù)為:E(k)=r(k)-y(k),通過比例閾值函數(shù)可得歸一化誤差信號e(k)(非線性PID神經(jīng)網(wǎng)絡(luò)智能控制器的輸入信號)為
定義性能指標(biāo)為:
其中:
作為一個整體,通過對神經(jīng)網(wǎng)絡(luò)輸出u(k) (見式(7))表達(dá)式中的權(quán)值系數(shù)的優(yōu)化,使性能指標(biāo)J最小。采用最速下降法,網(wǎng)絡(luò)權(quán)值訓(xùn)練算法如下:
由式(7)~(11)可得:
圖2 動態(tài)非線性PID神經(jīng)網(wǎng)絡(luò)控制器模型Fig.2 A controller model of dynamic nonlinear PID neural network
由 式(17)~(19)可 知 : E ( k+1)和 yu(k)=均與系統(tǒng)的未來輸出y(k+1)(未知)有關(guān),因而,神經(jīng)網(wǎng)絡(luò)權(quán)值訓(xùn)練時會出現(xiàn)計(jì)算困難問題。國內(nèi)外許多研究者采用被控對象的模型辨識方法來解決此問題,但是,計(jì)算量也大,實(shí)時性差,而且對于時變系統(tǒng),模型辨識不能實(shí)現(xiàn)。
若算法是收斂的,則必有|E(k+1)|<|E(k)|,且|e(k)|<|E(k)|,故只要滿足|E(k+1)|<|e(k)|即可保證算法收斂的。據(jù)此,設(shè) E ( k + 1 )=αe(k),且0<α<1。由于α可通過學(xué)習(xí)率μ來彌補(bǔ),因此,可將α隱含在學(xué)習(xí)率μ中。
此外,用符號函數(shù)來替代 ? y(k +1)/?u(k)也是可行的。因?yàn)槠浞柕恼?fù)只決定權(quán)值變化的方向,其數(shù)值只影響權(quán)值的變化速度,而權(quán)值變化速度也可通過學(xué)習(xí)率μ彌補(bǔ)。設(shè)
則式(17)~(19)可改寫為:
α已隱含在學(xué)習(xí)率η中。為了有效避免因權(quán)值過大引起神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中出現(xiàn)振蕩現(xiàn)象,通常對權(quán)值進(jìn)行歸一化處理,即
由式(21)~(23)可知,權(quán)值的計(jì)算只與當(dāng)前或歷史的系統(tǒng)輸入(r(k)和r(k-1))、輸出(y(k)和y(k-1))以及歷史控制信號(u(k-1)和u(k-2))有關(guān),因而有效解決了權(quán)值計(jì)算問題。由于本文研究的非線性PID神經(jīng)網(wǎng)絡(luò)控制器只涉及乘法和加法運(yùn)算,便于CPU處理,因此,計(jì)算簡單,計(jì)算量小,便于實(shí)際應(yīng)用。
為了保證系統(tǒng)穩(wěn)定工作,必須對算法的收斂性進(jìn)行理論研究,以便為確定學(xué)習(xí)率提供理論依據(jù),避免選擇學(xué)習(xí)率的盲目性。
將E(k +1)=αe(k)和式(26)代入式(25),并整理可得:
由式(27)知:要使神經(jīng)網(wǎng)絡(luò)算法收斂,必須有下式成立:
(1) 神經(jīng)網(wǎng)絡(luò)權(quán)值初始化:wj=0(j=1, 2, 3),設(shè)s(-1)=0,e(-1)=0,u(m)=0,y(m)=0(m=-1, -2, …);
(2) 計(jì)算系統(tǒng)初始誤差:E(k)=r(k)-y(k),由式(8)計(jì)算歸一化誤差e(k);
(3) 分別計(jì)算累積誤差和差分:s(k)=s(k-1)+e(k),Δe(k)=e(k)-e(k-1);
(4) 由式(20)計(jì)算符號差商)(?kyu,并計(jì)算學(xué)習(xí)率
(5) 由式(21)~(23)遞推計(jì)算神經(jīng)網(wǎng)絡(luò)權(quán)值系數(shù)w1,w2和w3,由式(24)對權(quán)值進(jìn)行歸一化處理;
(6) 由式(7)計(jì)算非線性PID控制器的控制率u(k),即
(7) 返回步驟(2)重復(fù)上述計(jì)算過程,以實(shí)現(xiàn)非線性 PID神經(jīng)網(wǎng)絡(luò)智能控制器的在線實(shí)時優(yōu)化控制過程。
為了驗(yàn)證動態(tài)非線性PID神經(jīng)網(wǎng)絡(luò)智能控制器的有效性,選擇文獻(xiàn)[15]中的對象A和B進(jìn)行仿真實(shí)例研究。
例1 對象A是1個一階慣性大、純滯后工藝對象,且1/>>Tτ,其傳遞函數(shù)為[15]
由文獻(xiàn)[15]可知:若利用常規(guī)控制算法控制該對象,則很難獲得滿意的控制效果。在本文算法中,使權(quán)值的初始值為0,給定學(xué)習(xí)率η=2×10-3,采樣周期為0.1 s,通過神經(jīng)網(wǎng)絡(luò)實(shí)時在線訓(xùn)練,其仿真結(jié)果如圖3(a)所示,文獻(xiàn)[15]中的仿真結(jié)果如圖3(b)所示。
圖3 實(shí)例1仿真結(jié)果Fig.3 Simulation results of example 1
由圖 3可知:采用本文方法,調(diào)節(jié)時間約為400 s,而采用NOIC方法[15]則需要650 s。由圖3(b)還可知:使用傳統(tǒng)PID控制方法無法對該對象實(shí)現(xiàn)有效控制。
例2 對象B是1個非線性對象,其離散化方程為[15]:
其中:u(k)和y(k)分別是被控對象的輸入和輸出變量。在本文算法中,使權(quán)值的初始值為 0,給定學(xué)習(xí)率為η=2×10-4,設(shè)采樣周期為0.1 s,通過神經(jīng)網(wǎng)絡(luò)在線訓(xùn)練,其仿真結(jié)果如圖 4(a)和4(b)所示,且超調(diào)量為1.33×10-13%,穩(wěn)態(tài)誤差為0,調(diào)節(jié)時間為5 s。而文獻(xiàn)[15]中的仿真結(jié)果如圖 4(c)所示,超調(diào)量為 15%,穩(wěn)態(tài)誤差為0,調(diào)節(jié)時間為10 s。
圖4 實(shí)例2仿真結(jié)果Fig.4 Simulation results of example 2
(1) 通過分析常規(guī)PID參數(shù)隨系統(tǒng)過渡過程誤差變化的理想變化關(guān)系,分別給出了比例、積分和微分增益參數(shù)關(guān)于誤差信號的二次非線性函數(shù),不僅大大簡化了3個增益參數(shù)的非線性函數(shù)模型,而且通過神經(jīng)網(wǎng)絡(luò)在線訓(xùn)練使3個增益參數(shù)的非線性函數(shù)模型分別隨權(quán)值w1,w2和w3實(shí)時動態(tài)變化,從而獲得將動態(tài)非線性PID控制與神經(jīng)網(wǎng)絡(luò)控制融為一體的智能控制模型。
(2) 計(jì)算機(jī)仿真結(jié)果驗(yàn)證了本文基于神經(jīng)網(wǎng)絡(luò)算法的非線性PID控制器的有效性。與傳統(tǒng)PID控制器相比,采用本文方法不僅計(jì)算量大大減小,便于實(shí)際應(yīng)用,而且超調(diào)小,調(diào)節(jié)時間短。
[1] HAN Jin-qin. Nonlinear PID controller[J]. Acta Automatica Sinica, 1994, 20(4): 487-490.
[2] CHENG Zhong, YAN Wei, LI Zu-shu, et al. HSIC-based nonlinear PID controller[J]. Control and Decision, 2003, 18(6):694-697.
[3] XU Ying, Hollerbach J M, Ma D. A nonlinear PD controller for force and contact transient control[J]. IEEE Control Systems Magazine, 1995, 15(1): 15-21.
[4] Shahruz S M, Schwartz A L. Nonlinear PI Compensators that achieve high performance[J]. Journal of Dynamic Systems Measurement and Control, 1997, 119: 105-110.
[5] HU Bao-gang, Mann G KI, Gosine R G. Control curve design for nonlinear (or fuzzy) proportional actions using spline-based functions[J]. Automatica, 1998, 34(9): 1125-1133.
[6] Bucklaew T P, LIU Chun-sha S. A new nonlinear gain structure for PD-type controllers in robotic applications[J]. Journal of Robotic Systems, 1999, 16(11): 627-649.
[7] Armstrong B, Neevel D, Kusik T. New results in NPID control:Tracking, integral control, friction compensation and experimental results[J]. IEEE Transactions on Control Systems Technology, 2001, 9(2): 399-406.
[8] GAO Zhen. From linear to nonlinear control means: a practical progression[J]. ISA Transactions, 2002, 41(2): 177-189.
[9] 胡包鋼. 非線性 PID控制器研究: 例分量的非線性方法[J].自動化學(xué)報(bào), 2006, 32(2): 219-227.HU Bao-gang. A study on nonlinear PID controllers:Proportional component approach[J]. Acta Automatica Sinica,2006, 32(2): 219-227.
[10] HU Bao-gang, YING Hao. Review of fuzzy PID control techniques and some important issues[J]. Acta Automatica Sinica,2001, 27(4): 567-584.
[11] Ruano A E B, Fleming P J, Jones D I. Connectionist approach to PID autotuning[J]. IEE Proceedings D: Control Theory and Applications, 1992, D139(3): 279-285.
[12] 韓華, 羅安, 楊勇. 一種基于遺傳算法的非線性PID控制器[J].控制與決策, 2005, 20(4): 448-454.HAN Hua, LUO An, YANG Yong. A nonlinear PID controller based on genetic tuning algorithm[J]. Control and Decision,2005, 20(4): 448-454.
[13] 郭彥青, 姚竹亭, 王楠. 非線性PID控制器研究[J]. 中北大學(xué)學(xué)報(bào): 自然科學(xué)版, 2006, 27(5): 423-425.GUO Yan-qing, YAO Zhu-ting, WANG Nan. The study on non-linear PID controller[J]. Journal of North University of China: Natural Science Edition, 2006, 27(5): 423-425.
[14] 劉金琨. 先進(jìn)PID控制及其MATLAB仿真[M]. 北京: 電子工業(yè)出版社, 2003: 20-80.LIU Jin-kun. Advanced PID control and MATLAB simulation[M]. Beijing: Electronic Industry Press, 2003: 20-80.
[15] 劉寶, 丁永生, 王君紅. 基于NEI調(diào)節(jié)機(jī)理的非線性智能優(yōu)化控制器[J]. 控制與決策, 2008, 23(10): 1159-1162.LIU Bao, DING Yong-sheng, WANG Jun-hong. Nonlinear optimized intelligent controller based on modulation of NEI system[J]. Control and Decision, 2008, 23(10): 1159-1162.