高小鳳,李 虹
(太原科技大學 電子信息工程學院,山西 太原 030024)
大多數工業過程中,例如鍋爐溫度控制過程,造紙、化工過程控制等,其控制系統一般為純滯后系統,純滯后性質會使系統的過渡過程時間加長、產生大幅度的超調,從而使控制品質變差,甚至會影響穩定性。因此對于純滯后系統,人們期望克服大慣性大時滯對控制系統的不利影響,從而改善控制質量。長期以來人們做了大量的研究,例如:PID算法、大林算法、史密斯補償法、智能控制算法等。
大林算法一般用于含有純滯后的控制問題中,它相較于常規的控制方法,能夠改善超調問題,但其調節時間相對較長,在實際中應用不太理想。文中將小腦模型神經網絡(CMAC)與大林算法相結合,可以很好地改善控制品質,提高響應速度,達到控制要求。
對于大部分工業控制系統,常規的計算機控制系統結構圖如圖1所示。其中為控制器,為純滯后控制對象。
而對于被控制對象都是帶有純滯后的一階或二階慣性環節,現以一階慣性環節為例闡述大林算法的設計。

圖1 計算機控制系統結構圖Fig.1 Computer control system structure
設定一階慣性環節的傳遞函數為:

期望閉環傳遞函數為:

式中,K為放大系數,τ為純滯后時間,T為純滯后時間常數。T0為閉環系統期望的時間常數;τ0為純滯后時間;t為采樣周期,其中在設計中純滯后τ0為采樣周期T的整數倍。具體設計步驟如下[1]:
1)期望閉環傳遞函數 φ(s)和被控對象 G(s)的離散化

2)求取控制器 D(z)

利用以上方法可在MATLAB環境下對大林算法進行編程及在SIMULINK中仿真程序的設計。
但大林算法存在一定的缺陷,如果所設計的控制器在左半平面有極點時,容易產生振鈴現象,振鈴現象使得控制器的輸出產生衰減震蕩,容易磨損執行機構。如果在有交互作用的多參數控制系統中,振鈴現象還可能影響到系統的穩定性,所以消除振鈴很必要。
消除振鈴的方法是令控制器中振鈴因子中的z為1。
CMAC小腦神經網絡是一種聯想網絡,對每一輸入只有少部分神經元與之有關,它的聯想具有局部泛化能力。從總體講,CMAC網絡表示一種非線性映射,其學習算法采用簡單的δ算法[2],學習速度快,適合于實時控制。
CMAC的結構圖如圖2所示,它是前饋網絡,有概念映射和實際映射兩個基本映射,表示輸入/輸出之間的非線性關系。

圖2 CMAC結構圖Fig.2 CMAC structure
1)概念映射
概念映射(Conceptual Mapping)是從空間U至概念存儲器AC的映射。
設 n 維輸入向量為:u=[u1,u2,…,un]T,量化編碼為[u]后,映射至AC中c個存儲單元,c也稱為泛化參數,它規定了網絡內部影響網絡輸出的區域大小。
2)實際映射
實際映射(Practical Mapping)是指由概念存儲器AC的c個單元用雜散編碼技術映射至實際存儲器AP的c個單元。c個單元中存放相應的權值,則網絡的輸出為AP中c個單元的權值的和[3-4]。
CMAC常規的控制結構一般有兩種:直接逆模型運動控制和前饋控制。本文與大林算法的結合采用前饋控制,由大林控制實現閉環反饋控制,從而能保證系統的穩定性,也能提高系統的響應速度。CMAC與大林復合控制結構如圖3所示。
該系統的控制算法為:

式中 ud(k)、un(k)分別為大林控制器的輸出和 CMAC 的輸出;αi為二進制選擇向量;c為CMAC網絡的泛化參數;u(k)為復合控制器的輸出。
CMAC的學習算法為:

式中η為網絡學習效率,一般取η∈(0,1)。
每進行一個控制周期,就會計算出相應的CMAC的輸出un(k),同時于總控制器輸出 u(k)對比,修正權值,進行學習,其目的是使輸出之差最小。經過CMAC學習,使得系統的總控制輸出由CMAC產生[5-7]。

圖3 CMAC-大林復合控制結構圖Fig.3 CMAC-Dahlin composite control structure
首先在MATLAB中對大林算法編寫M文件程序,通過計算,可知大林算法應用在該系統中有嚴重的振林現象,需消除振鈴因子。式子(10)為消除振鈴因子的大林控制器表達式。該式子可用于SIMULINK環境下大林控制器的設計。

然后將大林算法與CMAC相結合編寫M文件進行仿真,系統單位階躍響應曲線仿真結果如圖4(a)、(b)所示。

圖4 不同算法的單位階躍響應曲線對比圖Fig.4 Contrast figure step responses of different algorithms
通過仿真結果可以看出,系統加入CMAC后控制效果比大林算法控制效果要好得多,加快了控制響應速度,充分的體現了CMAC學習速度快的特點。
圖4僅在M文件中進行仿真,其控制算法不能直接應用于實時仿真,為增強算法的實用性故將這些算法編寫成功能模塊,并運用在SIMULINK環境中進行仿真,鑒于在SIMULINK環境可進行實時控制,從而增強了控制算法的實用性。SIMULINK壞境下控制系統仿真結構如圖5所示。圖中在編寫在CMAC控制模塊中,利用時鐘Clock功能實現神經網絡權值的初始化。

圖5 大林和CMAC-大林控制器的仿真結構圖Fig.5 Dahlin and CMAC-Dahlin controller simulation structure
圖6為控制系統的仿真結果。由以上仿真波形給出了不加控制算法的系統的輸出波形以及分別加入大林、CMAC—大林算法后系統的輸出波形。可以看出,大林控制器能夠很好地抑制超調,達到控制要求,但調節時間較長;CMAC—大林控制器不僅能夠減少超調,而且提高了響應速度,使系統能夠實現良好的控制品質。對比所得波形,同時也驗證了在SIMULINK中仿真的正確性,從而可以將這種控制方法運用在實際的純滯后系統中進行實時控制。

圖6 仿真波形Fig.6 Simulation wave
采用大林算法和小腦神經網絡相結合的復合控制,對純滯后系統進行仿真控制。相應的給出了控制器結構和M文件的控制算法以及結果,為了能將控制算法更好的應用在實際系統中,本文將其轉換到SIMULINK中實現設計、仿真。通過仿真可以達到很好的控制效果,同時也體現了CMAC—大林復合控制器具有了兩種算法的優點,能實現良好的控制品質。
[1]朱蘇朋,符文星,楊軍.計算機控制系統及仿真[M].北京:國防工業出版社,2009.
[2]劉叔軍,蓋曉華.MATLAB7.0控制系統應用與實例[M].北京:機械工業出版社,2006.
[3]徐麗娜.神經網路控制[M].北京:電子工業出版社,2003.
[4]劉金錕.先進PID控制及其MATLAB仿真[M].北京:電子工業出版社,2004.
[5]阮曉鋼,陳石,左國玉,等.基于Dahlin算法的CMAC控制器設計[J].控制工程,2007,14(3):287-289.RUAN Xiao-gang,CHEN Shi,ZUO Guo-yu,et al.CMAC controller based on Dahlin algorithm for time-delay systems[J].Control Engineering of China,2007,14(3):287-289.
[6]文定都.針對純滯后系統神經網絡Dahlin控制的研究[J].自動化儀表,2008,29(12):38-43.WEN Ding-du.Research on neural network Dahlin control for dead time system[J].Process Automation Instrumentation,2008,29(12):38-43.
[7]邢東峰,董海鷹.遺傳小腦神經網絡在液位控制中的應用[J].計算機測量與控制,2006,14(9):1198-1199.XING Dong-feng,DONG hai-ying. Cerebella model articulation controller based on genetic algorithm applied in liquid level control[J].Computer Measurement&Control,2006,14(9):1198-1199.