Bulanık PID kontrolörleri için çevrim içi kural ağırlıklandırma yöntemleri
Online rule weighting methods for the fuzzy PID controllers
Yazar: ONUR KARASAKAL
Danışman: PROF. DR. MÜJDE GÜZELKAYA
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Elektrik Mühendisliği Ana Bilim Dalı / Kontrol ve Otomasyon Mühendisliği Bilim Dalı
Derece: Doktora, 2012
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Bulanık denetim algoritmaları = Fuzzy control algorithms ; Bulanık denetim sistemleri = Fuzzy control systems ; Bulanık denetleyiciler = Fuzzy controllers ; Bulanık kümeler = Fuzzy sets ; Bulanık mantık = Fuzzy logic ; Bulanık sistemler = Fuzzy systems

Özet:
Bulanık küme kuramı, ilk olarak 1965 yılında Lotfi Zadeh tarafından ortaya konulduktan sonra, ilk uygulamasını 1974 yılında kontrol alanında bulmuştur. Takip eden yıllarda bulanık kontrol birçok araştırmacı tarafından önemli bir çalışma konusu olarak ele alınmıştır. Son onbeş yıl içerisinde bulanık kontrolörler endüstride geniş bir kullanım alanına sahip olmuştur. Klasik PID kontrolörlerinin sadece basit yapılı ve doğrusal sistemler için başarımının yüksek olması bilinen bir gerçektir. Bulanık kontrolörlerin her türlü sistem tipi için doğrusal olmayan kontrol eylemi sağlaması, sistem başarımını artırmak maksadıyla bu iki tip kontrolör yapısının birleştirilerek daha etkin bir kontrolör yapısının elde edilmesi ihtiyacını ortaya çıkarmıştır. Bu kapsamda günümüzde endüstride en yaygın olarak kullanılan bulanık kontrolörler, giriş çıkış ilişkisi bakımından yapıları itibariyle klasik PID kontrolörleri ile denkliği ortaya konmuş olan bulanık PID kontrolörleridir. Literatürde, bu tip kontrolörlerin başarımını artırmak amacıyla, kontrolör tasarım parametrelerinin çevrim içi olarak ayarlanmasına dayalı çeşitli çalışmalar yapılmıştır. Herhangi bir ayarlama yöntemini kullanan bulanık kontrolörlere özayarlamalı bulanık PID kontrolörleri adı verilmektedir. Bu yöntemlerde temel ayarlama parametreleri ölçekleme çarpanları, üyelik fonksiyonu parametreleri, bulanık kurallar ve bulanık kural ağırlıklarıdır.Bu tez çalışmasında, bulanık PID kontrolörüne ait bulanık kural ağırlıkları için ayarlama yöntemlerinin geliştirilmesi amaçlanmıştır. Bu doğrultuda iki ayrı bulanık kural ağırlıklandırma yöntemi önerilmiştir. Bu kural ağırlıklandırma yöntemlerinde sistem bilgisi kullanılmış ve yöntemler çevrim içi olarak gerçekleştirilmiştir. Önerilen yöntemler genel bir yapıya sahip olduklarından, her türlü sistem tipine uygulanabilmektedir. Söz konusu kural ağırlıklandırma yöntemlerinin ilkinde sadece sisteme ait hata bilgisi kullanılmıştır. İkincisinde hata bilgisine ek olarak sistem hız bilgisi sağlayan birimselleştirilmiş ivme değişkeni de kullanılmıştır. Önerilen yöntemler ilk olarak Matlab ortamında bazı doğrusal olan ve olmayan test sistemlerine benzetimler yoluyla uygulanmış ve irdelenmiştir. Benzetim ortamında tasarlanan bir kontrolör yapısının, fiziksel sistemler üzerinde uygulanması neticesinde başarımda birtakım farklılıkların ortaya çıkabildiği bilinen bir gerçektir. Bu kapsamda, benzetim uygulamalarının yanı sıra, önerilen bulanık PID kontrolör yapıları Proses Kontrol Simülatörü ve pH Kontrol Deney Seti üzerinde de gerçek zamanda uygulanmıştır. Elde edilen sistem yanıtları ve başarım sonuçları irdelenmiş ve değişik başarım ölçütleri doğrultusunda karşılaştırılmıştır.Tez çalışmasının başlangıcında, bulanık PID kontrolör yapılarında kullanılan üyelik fonksiyonları, dilsel terimler ve dilsel değişkenler hakkında kuramsal bilgiler ve temel tanımlar verilmiştir. Bu tanımlara ek olarak bir bulanık sistem yapısında yer alan ölçekleme çarpanları, bulanıklaştırıcı, bulanık kural tabanı, bulanık çıkarım mekanizması ve durulayıcı gibi sistem öğeleri hakkında tanımlamalar ve bu öğelerin temel işlevlerine ilişkin bilgiler özetlenmiştir. Sonrasında bulanık kontrolör tasarımında kontrolöre ait çıkış değişkenine tekil tip üyelik fonksiyonunun atanması ve çarpım-toplam çıkarım mekanizmasının kullanılması durumunda elde edilen bulanık kontrolör yapısının klasik PID kontrolör yapısına denk bir yapıda olduğu, bu tip kontrolör yapısının kullanılması ile bulanık PID kontrolörlerinin elde edilebileceği kuramsal olarak gösterilmiştir. Daha sonra, literatürde mevcut ve ölçekleme çarpanları, üyelik fonksiyonu parametreleri, bulanık kurallar ve bulanık kural ağırlıkları gibi kontrolör parametrelerini kullanan ayarlama yöntemleri özetlenmiştir. Yapılan çalışmalarda, özellikle bulanık PID kontrolörüne ait doğrusal kontrol eylemini daha etkin kılmak amacıyla ölçekleme çarpanlarına ilişkin ayarlama yöntemlerinin kullanıldığı gözlemlenmiştir. Ayrıca bu yöntemlerin sistem bilgisini kullandıkları ve sistematik bir yapıya sahip oldukları belirlenmiştir. Buna karşın, kontrolöre ait doğrusal olmayan kontrol eylemini daha etkin hale getirmek üzere üyelik fonksiyonları ve bulanık kural ağırlıkları gibi parametreler çoğunlukla eniyileme yöntemleri kullanılarak ve genellikle çevrim dışı olarak uyarlanmaktadır. Üyelik fonksiyonları ve bulanık kural ağırlıkları gibi parametrelere ilişkin ayarlama yöntemlerinin sistem bilgisini kullanmadığı, her sistem yapısı için geçerli ve sistematik bir yapıya sahip olmadıkları gözlemlenmiştir. Ayrıca, bulanık PID kontrolörüne ait bu parametrelerin değişik sistemler için her defasında ayrı ayrı uyarlanması gerekmektedir. Bu süreç ise işlem karmaşıklığına ve tekrarına neden olmaktadır. Bu olumsuzluğu ortadan kaldırmak amacıyla bu tez çalışmasında, çevrim içi bulanık kural ağırlıklandırma yöntemleri önerilmiştir. Önerilen yöntemler her sistem tipi için geçerli ve sistematik bir yapıya sahip olmakla birlikte, çevrim içi olarak sistem bilgisini kullanmaktadırlar.Bu amaçla, ilk olarak sistem kapalı çevrim birim basamak yanıtı dikkate alınmıştır. Sistem yanıtı, bulanık PID kontrolörüne ait hata giriş değişkeni için tanımlanmış üyelik fonksiyonu sayısına bağlı olarak belirli sayıda temel bölgelere ayrıştırılmıştır. Bu bölgeler, referans değeri dikkate alınarak referans değerine yaklaşma ve referans değerinden uzaklaşma bölgeleri biçiminde adlandırılmıştır. Bu bölgelerin elde edilmesinde, istenen sistem başarımını sağlayabilmek için gerekli kontrol işareti değerinin üretilmesi amaçlanmıştır. Örneğin, sistem hata değerinin pozitif büyük olduğu bölgelerde sistem yanıtını yeteri kadar hızlandırmak amacıyla pozitif büyük değerli kontrol işareti değerine gerek duyulmakta, benzer olarak sistem hata değerinin negatif büyük olduğu bölgeler de ise gerekli sistem yanıtı hızını sağlamak amacıyla negatif büyük değerine sahip kontrol işaretine gerek duyulmaktadır. Bu doğrultuda, her bir bölgede sistemin etkin olarak kontrolü için gerekli olan kontrol işareti değerinin elde edilmesi amacıyla birtakım temel tanımlayıcı kurallar belirlenmiştir. Bu tanımlayıcı kurallar kullanılarak gerekli kontrol işaretinin elde edilebilmesi maksadıyla bulanık PID kontrolörüne ait bulanık kuralların her bir bölgede ayrı ayrı önemi ve etkisi belirlenmiş, söz konusu önem ve etkiler her bir bulanık kural için tanımlanmış olan bulanık kural ağırlık değişkeni ile ilişkilendirilmiştir. Dolayısıyla, her bir bölgede gerekli olan kontrol işareti değerinin, üyelik fonksiyonu aitlik derecesi tanımını korumak üzere bulanık kural ağırlıklarının [0,1] değer aralığında uygun biçimde değiştirilerek elde edilebileceği belirlenmiştir.Sistem hata değerinin kapalı çevrim kontrol sistemleri için geçici sistem yanıtı süresince azalıp arttığı ve her örnekleme zamanı değerinde hesaplanabildiği dikkate alınarak, bulanık kural ağırlıkları ilk olarak sistem hata değerinin mutlak değeri kullanılarak uyarlanmıştır. Mutlak değer fonksiyonunun kullanılması ile birimselleştirilmiş hata değeri [0, 1] aralığına eşlenmiştir. Böylelikle hata değişkeni belirlenen tanımlayıcı kurallar doğrultusunda bulanık kural ağırlıklandırmasında bir ayarlama parametresi olarak kullanılmıştır. Sistem hata değişkenin mutlak değerine bağlı olarak elde edilen iki basit fonksiyonun kullanımı ile basit ve sistematik bir bulanık kural ağırlıklandırma yapısı elde edilmiş, bu yöntem ?hata tabanlı bulanık kural ağırlıklandırma yöntemi? olarak adlandırılmıştır. Önerilen bu yönteme sahip bulanık PID kontrolörü değişik doğrusal olan ve olmayan test sistemlerine Matlab ortamında benzetimler yoluyla uygulanmış ve Proses Kontrol Simülatörü Deney Setine gerçek zaman uygulaması olarak gerçeklenmiştir. Elde edilen sonuçlar değişik başarım ölçütleri dikkate alınarak, herhangi bir ayarlama yöntemine sahip olmayan bulanık PID kontrolörünün ve çıkış ölçekleme çarpanı ayarlama yöntemine sahip bulanık PID kontrolörünün kullanılması ile elde edilen sonuçlar ile karşılaştırılmıştır. Önerilen yöntemin kullanılması ile çok daha iyi sistem başarımlarının elde edildiği ve bozucu etkisinin daha etkin olarak giderildiği gözlemlenmiştir.Sonrasında, elde edilen temel bölgeler ve tanımlanan tanımlayıcı kurallar doğrultusunda, ilave bir sistem bilgisini kullanan diğer bulanık kural ağırlıklandırma yöntemi önerilmiştir. Bu yöntem ile hata tabanlı bulanık kural ağırlıklandırma yönteminin başarımının artırılması amaçlanmıştır. Bu kapsamda, sistem hata değişkenini ve sistem hız bilgisi sağlayan birimselleştirilmiş ivme değişkenini girişleri olarak kullanan bir bulanık mekanizma yapısı önerilmiştir. Gerekli kontrol işaretinin elde edilebilmesi amacıyla, söz konusu bulanık mekanizma çıkışı için birtakım tanımlayıcı kurallar belirlenmiştir. Böylelikle, mekanizma çıkışı doğrudan kural ağırlıklandırmasında bir ayarlama parametresi olarak kullanılmıştır. Bulanık mekanizmanın giriş değişkenleri için tanımlanmış üyelik fonksiyonlarına bağlı olarak simetrik kural tablosu oluşturulmuştur. Tasarlanan bulanık mekanizmanın kullanılması ile elde edilen kural ağırlıklandırma yöntemi ?birimselleştirilmiş ivme tabanlı bulanık kural ağırlıklandırma yöntemi? olarak adlandırılmıştır. Birimselleştirilmiş ivme tabanlı bulanık kural ağırlıklandırma yöntemine sahip bulanık PID kontrolör değişik doğrusal olan ve olmayan test sistemlerine Matlab ortamında benzetimler yoluyla uygulanmıştır. Benzetimlere ek olarak söz konusu kural ağırlıklandırma yöntemi değişik referans değerleri için pH Kontrol Deney Seti üzerinde gerçeklenmiştir. Elde edilen sistem yanıtları, değişik başarım ölçütleri doğrultusunda hata tabanlı bulanık kural ağırlıklandırma yöntemine sahip bulanık PID kontrolörü, çıkış ölçekleme çarpanı ayarlama yöntemine sahip bulanık PID kontrolörü, herhangi bir ayarlama yöntemine sahip olmayan bulanık PID kontrolörü ve bulanık kural ağırlıkları genetik arama yöntemi ile eniyileştirilmiş bulanık PID kontrolörünün kullanılması ile elde edilen sistem yanıtları ve başarım ölçütü sonuçları ile karşılaştırılmıştır.Tez çalışmasında gerçekleştirilen benzetimler ve gerçek zaman uygulamalarında, basit bir kontrolör yapısı elde ederek işlem karmaşıklığını asgari düzeyde tutabilmek amacıyla, bulanık PID kontrolörü girişlerinin her birisi için 3 üyelik fonksiyonu tanımlanmıştır. Böylece her bir kontrolör yapısı için 9 kurala sahip bir bulanık kural tabanı elde edilmiştir. Ayrıca uygulamalarda ve benzetimlerde her bulanık PID kontrolörü için aynı ölçekleme çarpanı değerleri kullanılmış, böylelikle sistem başarımlarının karşılaştırılmasında eşit koşullar sağlanmıştır.Sonuç olarak, elde edilen sistem yanıtları ve başarım analizleri neticesinde, her iki kural ağırlıklandırma yönteminin sistem başarımını artırdığı gözlemlenmiştir. Önerilen iki yöntem karşılaştırıldığında, birimselleştirilmiş ivme tabanlı kural ağırlıklandırma yönteminin kullanılması ile en iyi sistem başarımına ulaşıldığı gözlemlenmiştir. Ancak bu yöntem, diğerine oranla daha fazla hesaplama yüküne neden olmaktadır.

Abstract:
The fuzzy set theory was proposed by Lotfi Zadeh in 1965 and the first control application of this theory was accomplished in 1974. In the following years, the fuzzy control has been accepted as an important field by many researchers and in the last decade fuzzy controllers have found a wide range of application area in industry. It is a known fact that the performances of the classical PID controllers are only satisfactory for the simple structured and linear systems. Since the fuzzy controllers provide nonlinear control actions on any type of control systems, a necessity has occurred to combine these two controller structures in order to improve the overall system performance. Within this scope, the commonly used fuzzy controllers in the industry are the fuzzy PID controllers, the structures of which are analogous to that of the conventional PID controllers from the input-output relationship point of view.In literature, many studies have been made to improve the performance of the conventional fuzzy PID controllers. The parameters of the fuzzy PID controllers have been tuned in an on-line manner. The fuzzy PID controllers which use any kind of tuning methodology have been called as self-tuned fuzzy PID controllers. In these controller structures, the main tuning parameters are the scaling factors, membership functions, fuzzy rules and fuzzy rule weights.In this thesis, it has been aimed to develop tuning methods for the fuzzy rule weights of the fuzzy PID controllers. Within this scope, two different fuzzy rule weight assignment methods are proposed. These weight assignment methods use the system information and are accomplished in an on-line manner. The methods can be applied to any kind of system because of the generality in their structures. In the first fuzzy rule weight assignment method, only the system error information is used. In the second method beside the system error, the normalized acceleration information is also taken into consideration. The normalized acceleration provides relative information on fastness or slowness of the system response. The proposed two fuzzy rule weight assignment methods are firstly applied to some benchmark systems by simulations in Matlab environment. It is a known fact that there could be some performance degradations when a controller structure designed in a simulation environment is applied to real physical systems. In this context, beside the simulations, the same fuzzy PID controller structures are implemented on PCS 327 Process Control Simulator and G.U.N.T. RT-552 pH Control experimental sets. The obtained system responses and the performance results are examined and compared using various performance measures.At the beginning of the thesis, some theoretical information and main definitions on the linguistic terms, membership functions and linguistic variables are given. In addition, some descriptions about the common elements of a fuzzy system such as scaling factors, fuzzifier, fuzzy rule base, fuzzy inference mechanism and defuzzifier are also summarized briefly. Then, it has been theoretically shown that the obtained fuzzy controller structure is analogous to that of the conventional PID controller structure from the input-output point of view under certain conditions that singleton membership functions are assigned to the output of the fuzzy controller and the product-sum fuzzy inference mechanism is used. Afterwards, the self tuning methods partaking in the literature using the fuzzy controller parameters such as scaling factors, membership functions, fuzzy rules and fuzzy rule weights are summarized. It has been concluded from the studies that in order to activate the linear control action of the fuzzy PID controller, especially the tuning methods related to scaling factors are used. These methods rely on system information and they have systematical structures. In spite of that, the design and structural parameters such as membership functions and fuzzy rule weights are used to activate the non linear control action of the controllers and they are generally tuned by optimization techniques in an off-line manner. It has been observed that the tuning methods related to the adjustment of membership functions and fuzzy rule weights lack of any on-line system information and general structures to be applied to all kinds of systems. Moreover, the parameters of the fuzzy PID controller have to be optimized for each type of system and this creates computational complexity. In order to eliminate such kind of disadvantages, on-line fuzzy rule weight assignment methods are proposed in this thesis. The proposed rule weighting methods are both general for all system types and have systematical structures. In addition, they use system information in an on-line manner.For this purpose, first of all, the transient phase of the unit response of the closed loop control system is taken into consideration. The transient phase of the response is assumed to be divided into certain regions which are assigned in accordance with the number of membership functions defined for the error input of the fuzzy PID controller. These regions are named as approach and drift regions with regard to the reference value. The required control signal to achieve the desired control performance is taken into consideration in partitioning these regions. For example, when the system error value is positive big, big positive control signal is needed in order to fasten the system response sufficiently. Similarly, when the system error value is negative big, negative big control signal is needed in order to slow down the system response, thus possible overshoot can be prevented. Then, the relative importance or influences of the fired fuzzy rules of the fuzzy PID controller are determined for each region and the meta-rules are derived in order to obtain the required control signal for the desired system performance. The importance and the influence of each fuzzy rule are associated to the fuzzy rule weight variable. Thus, it has been determined that the required control signal for each region could be obtained by changing the value of the fuzzy rule weights properly in the interval of [0, 1]. Assigning a value to the rule weights in the interval of [0, 1] ensures the membership degree validity.Since the value of the system error varies during the transient system response and it is available at each sampling time, the weight assignment is firstly accomplished using the absolute value of this error variable. Using the absolute value function, the normalized error value is mapped to the interval [0, 1]. Thus, the normalized system error is directly used for the assignment of the fuzzy rule weights by an adequate arrangement in accordance with the meta-rules derived. With the use of two simple functions based on the absolute value of the system error, a simple and systematic fuzzy rule weighting structure is obtained and this weighting method is named as ?error based fuzzy rule weight adjustment method?. The fuzzy PID controller which has this weight adjustment is applied to both linear and nonlinear benchmark systems by simulations in Matlab environment and it is also implemented on PCS 327 Process Control Simulator as a real time application. Considering some specific performance measures such as maximum overshoot, settling time, integral of absolute error, integral time of absolute error and total variation of control input, the obtained results are compared with those of the conventional fuzzy PID controller and the fuzzy PID controller with a self-tuning scheme for the output scaling factor. It has been observed that with the use of error based fuzzy rule weight adjustment method much better system performance and load disturbance rejection are obtained.Next, in accordance with the regions obtained and the meta-rules derived, another fuzzy rule weight assignment method that uses an additional system information is proposed. Here, it is aimed to improve the performance of the previous error based fuzzy rule weight assignment method. In this context, a simple fuzzy mechanism that uses both system error variable and the normalized acceleration as its inputs is proposed. The normalized acceleration variable provides the relative information on the fastness or slowness of the system response. If the system response is very fast, this variable approaches to 1 and if the system response is very slow, it approaches to -1. In order to obtain the required control signal, some meta-rules are derived for the output of the fuzzy mechanism. Thus, the output of the fuzzy mechanism is directly charged as the tuning variable of the fuzzy rule weights. Depending on the membership functions assigned to the inputs of the fuzzy mechanism, a symmetrical rule base is obtained. The fuzzy rule weighting that uses this fuzzy mechanism is named as ?normalized acceleration based fuzzy rule weight adjustment method?. The fuzzy PID controller that uses this rule weight adjustment method is applied to some linear and nonlinear benchmark systems by simulations in Matlab environment. In addition to the simulations, the fuzzy rule weighting method is implemented on G.U.N.T. RT-552 pH neutralization process for various reference values. The results are compared with those of four different fuzzy PID controller structures which are the fuzzy PID controller with error based fuzzy rule weight adjustment method, the fuzzy PID controller with a self-tuning scheme for the output scaling factor, the fuzzy PID controller with optimized rule weights via genetic search algorithm according to the integral of absolute error performance measure and the conventional fuzzy PID controller.In all simulations and real time experiments, in order to design a simple fuzzy PID controller structure 3 membership functions are assigned to each input of the controller so as to minimize the computational complexity. In this manner, a rule base with 9 fuzzy rules is obtained. In addition, the same scaling factor values are used for each fuzzy PID controller so as to ensure equivalent operating conditions.Finally, it has been observed that both proposed rule weighting methods improve the system performance. When the two proposed rule weighting methods are compared with each other, the best system performance is obtained when the normalized acceleration based fuzzy rule weight adjustment method is used. However, this method has a computational burden compared to the error based fuzzy rule weight adjustment method.