Tez No İndirme Tez Künye Durumu
405067
A Matlab/Simulink toolbox for interval type-2 fuzzy logic systems / Aralık değerli tip-2 bulanık sistemler için bir Matlab/Simulink araç kutusu
Yazar:AHMET TAŞKIN
Danışman: YRD. DOÇ. DR. TUFAN KUMBASAR
Yer Bilgisi: İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Kontrol ve Otomasyon Mühendisliği Ana Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin:Bulanık kümeler = Fuzzy sets ; Bulanık mantık = Fuzzy logic ; Bulanık sistemler = Fuzzy systems ; Bulanık çıkarsama = Fuzzy inference
Onaylandı
Yüksek Lisans
İngilizce
2015
86 s.
Son yıllarda, bulanık mantık konusu bir çok araştırmacının dikkatini çekmektedir. Literatürde ve sanayine, bulanık mantık ile birçok yeni ufuklar açılmıştır. Bulanık mantık ilk olarak 1965 yılında Prof. Lotfi. A. Zadeh tarafından önerilmiştir. Bulanık mantık, klasik mantık yapısının daha esnek halidir ve bulanık mantık kümeler, klasik mantık kümelerin genişlemiş halidir. Klasik mantık doğru ve yanlış gibi keskin ifadelerle işlemler yaparken, bulanık mantık, bu keskin ifadelerin aralarında kalan değerlerle de çalışır. Bunlara ek olarak, bulanık mantık ile, kısa, daha kısa, uzun, daha uzun gibi dilsel ifadeleri de tanımlamak mümkün olmuştur. Prof. Lotfi. A. Zadeh tarafından 1965 yılında önerilmiş olan bulanık mantık kümeler, klasik (tip-1) bulanık mantık kümeler olarak bilinir. En az bir adet tip-1 bulanık küme içeren sistemler de tip-1 bulanık sistemler olarak bilirnirler. Tip-1 bulanık sistemlerin robotikte, modelleme ve kontrolde, karar verme konularında, görüntü işlemede ve daha bir çok konuda bir çok başarışı uygulaması vardır. Ancak, son yıllarda yapılan çalışmalar, tip-1 bulanık kümelerinde bazı belirsizlikleri ve lineer olmayan davranışları ifade etmede yetersiz kalabileceğini göstermiştir. Bunun sebebi de, tip-1 bulanık kümelerde, üyelik fonksiyonunlarının aitliklerinin keskin sayılarla ifade ediliyor olmasıdır. Tüm bunların ışığında, Prof. Lotfi A. Zadeh 1975 yılında tip-2 bulanık kümeler ile ilgili ilk çalışmayı yayınlamıştır. Aslında tip-2 bulanık kümeler, tip-1 bulanık kümelerin genişletilmiş halidir. Çalışmalar göstermiştirki, tip-2 bulanık kümeler, belirsizlikleri ve lineer olmayan davranışları ifade etmede, tip-1 bulanık kümelere göre oldukça başarılıdırlar. Bunun yanında, tip-2 kümeler ile çalışmak, tip-1 kümeler ile çalışmaktan çok daha karmaşıktır. Tip-2 bulanık kümeler ile çalışmak bir çok işlem yükünü de beraberinde getirmektedir. Bu sebeple, nispeten işlem yükü daha düşük olan aralık değerli tip-2 bulanık kümeler önerilmiştir. Aralık değerli tip-2 bulanık kümeleri, tip-2 bulanık kümelerin özel bir halidir. Aralık değerli tip-2 bulanık kümelerde, giriş değişkenlerinin aitlikleri aralıklar şeklinde ifade edilir. Bir başka değişle, aralık değerli tip-2 bulanık kümelerde herhangi bir giriş değişkenin aitliği keskin bir değer yerine, bir aralık olarak ifade edilir. Bu sayede, belirsizlikler ve lineer olmayan ifadeler aralik değerli tip-2 bulanık kümelerde daha iyi ifade edilirler. En az bir adet aralık değerli tip-2 küme içeren sistemlere, aralık değerli tip-2 sistemler denir. Literatürde, aralık değerli tip-2 bulanık kümeler ve sistemlerin bir çok başarılı uygulaması bulunmaktadır. Temel olarak aralık değerli tip-2 sistemler bulanıklaştırıcı, çıkarım mekanizması, kurallar, tip indirgeyici ve durulaştırıcı olmak üzere 5 adet komponentten oluşmaktadır. Aralık değerli tip-2 sistemlerde giriş işaretlerine ilk olarak bulanıklaştırıcı uygulanır. Daha sonra, o anki giriş işaretleri için tanımlanmış olan kurallar kullanılarak çıkarım mekanizması tarafından çıkarımlar yapılır. Aralık değerli tip-2 bulanık sistemlerde çıkarım mekanizmasının çıkışı tip-2 kümelerdir ve bu tip-2 kümelerin durulaştırıcı öncesinde tip-1 bulanık kümelere dönüştürülmesi gerekmektedir. Bu sebeple, çıkarım mekanizmasdan sonra elde edilen tip-2 kümeler, tip indirgeyici blok ile tip-1 kümelere dönüştürülür.Tip-1 bulanık mantık sistemler ile tip-2 bulanık mantık sistemler arasındaki en büyük fark bu tip indirgeme bloğudur. Tip indirgeme işlemi aralık değerli tip-2 sistemlerde hesaplama yükünü arttıran komponentlerden biridir. Literatürde, tip indirgeme işlemi için bir çok yöntem önerilimiştir. Bu yöntemlerden en çok bilineni ve yaygın olarak kullanılanı Karnik-Mendel algoritmasıdır. Karnik-Mendel algoritması, optimum anahtarlama noktalarını tekrarlamalı olarak bulmayı hedefler. Ancak Karnik-Mendel algoritmasının çözümü tekrarlamalı olarak bulmasından dolayı aralık değerli tip-2 sisteme oldukça hesaplama yükü getirmektedir. Bu sebeple, literatürde, Karnik-Mendel algoritmasının iterasyon sayısını düşürerek, performansını artırarak optimum anahtarlama noktalarını bulmayı hedefleyen bir çok çalışma vardır. Ayrıca, literatürde, tip indirgeme işlemini tekrarlamalı olmadan kapalı formda gerçekleştiren bir çok çalışma da bulunmaktadır. Bu tez çalışmasında, öncelikle tip-1 bulanık kümeler ve tip-1 bulanık sistemler anlatılmıştır. Daha sonra, tip-2 kümelerden bahsedilerek, aralık değerli tip-2 kümeler ve sistemler detaylıca incelenmiştir. Ayrıca, tip-1 bulanık kümeler ile aralık değerli tip-2 kümelerin ve sistemlerin temel farklılıklarından da bahsedilmiştir. Aralık değerli tip-2 sistemlerin temel bileşenlerinden bahsedilerek, yaygın olarak bilinen ve kullanılan bir çok tip indirgeme yöntemi açıklanmıştır. Aralık değerli tip-2 kümeler ve sistemler, anlaşılması ve uygulanması oldukça zor ve karmaşık sistemlerden. Buradan yola çıkarak, bu tez çalışmasında, aralık değerli tip-2 bulanık bir sistemin tasarımından uygulanmasına kadarki bütün süreçleri kapsayan ve uygulanabilmesine imkan sağlayan bir Matlab/Simulink araç kutusu geliştirilmiş ve önerilmiştir. Bu geliştirilen aralık değerli tip-2 sistemler Matlab/Simulink araç kutusu ile, bir aralık değerli tip-2 bulanık mantık sistemi tasarlamak ve benzetim aşamasına geçmek oldukça kolay ve anlaşılır bir şekilde yapılabilmektedir. Bütün tasarım aşamaları, ilk adımdan benzetim adımına kadar araç kutusunun arayüzleri sayesinde yapılabilmektedir. Ayrıca, tez içerisinde anlatılmış olan tüm tip indirgeme yöntemleri de araç kutusuna eklenmiş olup, tasarımcı sadece arayüzü kullanarak istediği tip indirgeme yöntemini seçebilmektedir. Ayrıca, geliştirilmiş olan araç kutusu Simulink ile de çalışabilecek şekilde tasarlanmıştır. Kullanıcı arayüzü kullanarak tasarlamış olduğu aralık değerli tip-2 bulanık sistemi kolayca Simulink ortamına aktarabilmektedir. Geliştirilmiş olan aralık değerli tip-2 bulanık sistemler Matlab/Simulink araç kutusunun tasarımı Matlab çalışma uzayında bir tip-2 çıkarım yapısı oluşturarak başlar. Tip indirgeme yöntemi, giriş ve çıkış değişkenlerine ait üyelik fonksiyonu tipleri, parametreleri, oluşturulan kurallar ve diğer tüm bilgiler bu yapıda saklanır. Araç kutusu ile aralık değerli tip-2 bulanık system tasarımı yapılırken, her adımda bu yapı güncellenerek tasarımın korunmasına ve daha sonra da kullanıbilmesine olanak sağlar. Bu aralık değerli tip-2 bulanık sistemler için tasarlanan araç kutusu temel olarak dört kullanıcı arayüzünden oluşmaktadır. Geliştirilmiş olan aralık değerli tip-2 bulanık sistemler araç kutusu ilk olarak açıldığında tasarıma ana ekran ile başlanır. Bu arayüzden, tasarlanacak olan aralık değerli tip-2 bulanık sistemin giriş ve çıkış değişkenleri sayıları belirlenebilir. Ayrıcı tip indirgeme için, bu tezde anlatılan tüm yöntemler birer Matlab fonksiyonu haline getirilip araç kutusunu entegre edilmiştir. Bu ana arayüzden istenilen tip indirgeme yöntemi kolayca seçilebilecek şekilde uygulanmıştır. Ayrıca, tasarımı kaydetme, kaydedilmiş önceki bir tasarımı açma veya tasarlanmış olan aralık değerli tip-2 bulanık sistemi Simulink'e aktarma işlemleri de yine bu araç kutusunun ilk arayüzü olan ana ekran ile kolayca yapılabilir. Diğer bir arayüz ise üyelik fonksiyonları editörüdür. Bu arayüz ile giriş ve çıkış değişkenlerine ait üyelik fonksiyonları tasarlanır. Üyelik fonksiyonu tanımlamaları Matlab bulanık mantık araç kutusu fonksiyonlarına yeni parameter tanımlayarak uygulanmıştır. Bu yeni eklenen parametre ile alt üyelik fonksiyonlarının yükseklikleri kolayca tanımlanabilir. Bu geliştirilmiş olan aralık değerli tip-2 bulanık sistemin en büyük artılarından biri de bu üyelik fonksiyonları editörü arayüzü ile yapılan üyelik fonksiyonu tasarımlarıda kullanıcıya sağladığı üstün serbestliktir. Tasarımcı, bu arayüz ile herhangi bir üyeik fonksyionu tanımlarken alt ve üst üyelik fonksiyonlarını istediği gibi kolayca tanımlayabilir. Hatta, alt ve üst üyelik fonksiyonlarının farklı tiplerde tanımlanması da mümkündür. Örneğin, bir üyelik fonksyionu tanımlamasında üst üyelik fonksiyonu gauss tipinde olurken, alt üyelik fonksiyonu üçgen olarak tanımlanabilir. Üyelik fonksyionu tanımlamadaki tek kısıt, alt üyelik fonksiyonunun aitliklerinin her değer için üst üyelik fonksiyonu aitliklerinden küçük olması gerektiğidir. Bu koşul göz önüne alınarak üyelik fonksiyonu tanımlamaları istenilen şekilde yapılabilir. Geliştirilen ve önerilen bu aralık değerli tip-2 bulanık mantık sistemler Matlab/Simulinkk araç kutusunun bir diğer arayüzü ise kural tanımlamarının yapılmasına olanak sağlayan kural editörüdür. Giriş ve çıkış değişkenleri bu arayüzde otomatik olarak gelir ve tasarlanmış olan kural tablosu kolayca uygulanır. Bir diğer arayüz ise, tasarlanmış olan aralık değerli tip-2 bulanık sistemin giriş değişkenleri için elde edilecek olan yüzeyin incelenmesine olanak sağlar. Belirli aralıklarla giriş değişkenleri için aitlikler hesaplanarak bu yüzey elde edilir ve bu arayüze çizdirilir. Tasarlanan ve önerilen bu araç kutusunun en önemli özelliklerinden birisi de Simulink ile entegre olarak geliştirilmiş olmasıdır. Bu amaçla öncelikle araç kutusu için yeni bir Simulink kütüphanesi oluşturulmuştur. Bu kütüphane de iki adet blok bulunmaktadır. İlk blok, araç kutusu ile tasarlanmış olan aralık değerli tip-2 sistemin benzetimde koşturulmasına olanak sağlar. İkinci blok ise bunun yanı sıra tip indirgeme yönteminin seçilmesine imkan sağlar. Aralık değerli tip-2 bulanık sistem Matlab/Simulink araç kutusunun ana arayüzünden sadece bir düğmeye tıklanarak o anki tasarımın otomatik olarak Simulink'e aktarılması mümkündür. Bu şekilde, tasarlamış olan aralık değerli tip-2 bulanık sistem otomatik olarak Simulink ortamına aktarılır, tanımlanmış olan giriş değişkenleri otomatik olarak oluşturulur ve bağlantıları yapılır. Tasarımcı bu sayede istediği sistemi Simulink ortamında oluşturarak benzetim aşamasına kolayca geçebilir. Son bölümde, geliştirilmiş olan bu aralık değerli tip-2 bulanık sistemler Matlab/Simulink araç kutusu kullanılarak bir uygulama yapılmış ve bazı analizler yapılarak sonuçları paylaşılmıştır. Yapılan uygulamada öncelikle geliştirilmiş olan araç kıtısı kullanılarak bir aralık değerli tip-2 bulanık kontrollör tasarlanmıştır. Bu amaçla öncelikle araç kutusunun ana arayüzünden giriş değişkenleri sayıları belirlenmiştir. Giriş ve çıkış değişkenleri belirlendikten sonra giriş ve çıkış değişkenlerine ait üyelik fonksiyonları üyelik fonksiyonları editörü kullanılarak tanımlanmıştır. Daha sonra, kural editörü arayüzünden kurallar tanımlanmıştır. Bu tasarlanmış olan aralık değerli tip-2 bulanık kontrolör için öncelikle farklı tip indirgeme yöntemleri kullanılarak her bir tip indirgeme yöntemi için kontrol yüzeyleri çizdirilmiş ve sonuçları paylaşılmıştır. Beklendiği gibi Karnik-Mendel algroritması ve onun genişletilmiş algoritmaları aynı yüzeyi vermekte ancak kapalı formdaki tip indirgeme yöntemleri kullanılarak elde edilen yüzeylerde küçük farklılar gözlemlenmiştir. Daha sonra, tasarlanmış olan bu aralık değerli tip-2 bulanık kontrolör Simulink ortamına otomatik olarak aktarılmış ve bir adet de birinci dereceden ölü zamanlı bir sistem de eklenerek benzetimler yapılmıştır. Benzetimlerde tüm tip indirgeme yöntemleri ayrı ayrı benzetimlerde kullanılmış ve aşım, yerleşme zamanı gibi kontol performansları karşılaştırmalı olarak verilmiştir. Daha sonra sistem parametreleri bozulmaya zorlanarak bu durumda benzetimler yapılmış ve farklı tip indirgeme yöntemlerinin yine aşım, yerleşme zamanı gibi kriterler için kontrol performansları bozulmuş sistem için karşılaştırmalı olarak verilmiştir. Bunlara ek olarak, farklı tip indirgeme yöntemleri için hesaplama süreleri giriş değişkenlerinin belirli bir aralıktaki tüm değerleri için eşit sayıda koşarak ölçülmüş, ve her bir tip indirgeme yöntemi için hesaplama süreleri karşılaştırmalı olarak verilmiştir. Özetle, bu tezde öncelikle tip-1 bulanık mantık kümeler ve sistemler anlatılmıştır. Daha sonra aralık değerli tip-2 bulanık mantık kümeler ve sistemler anlatılarak yaygın olarak kullanılan tip indirgeme yöntemleri detaylı olarak anlatılmıştır. Bu aşamadan sonra aralık değerli tip-2 bulanık mantık sistemler için bir Matlab/Simulink araç kutusu geliştirilmiş ve önerilmiştir. Bu araç kutusu ile, oldukça karmaşık olan aralık değerli tip-2 bulanık sistem tasarımı ilk aşamasında son aşamasına araç kutusunun arayüzleri kullanılarak kolayca ve anlaşılabilir bir şekilde gerçekleştirilebilir. Geliştirilen araç kutusunun nasıl geliştirildiği ve kullanılan arayüzler detaylı olarak anlatılmıştır. Daha sonra geliştiren araç kutusunun Simulink ortamı ile nasıl çalıştığı anlatılmış ve araç kutusu için geliştirilmiş olan Simulink kütüphanesi açıklanarak tasarlanmış olan aralık değerli tip-2 bulanık sistemin Simulink ortamına nasıl aktarılacağı açıklanmıştır. Son bölümde, geliştirilmiş olan bu aralık değerli tip-2 bulanık mantık sistemler Matlab/Simulink araç kutusu ile bir uygulama geliştirilmiş ve farklı tip indirgeme yöntemlerinin kontrol performansları incelemiştir. Ayrıca buna ek olarak farklı tip indirgeme yöntemlerinin hesaplama performansları da incelenerek sonuçları tablolar şekilde verilmiştir.
The fuzzy logic has obtained attention of the researchers for last couple of decades. It has opened new scopes in both the academia and the industry site. Fuzzy logic was first introduced in 1965 by Prof. Lotfi A. Zadeh. Fuzzy logic is flexible application of classical logic rules and fuzzy sets are the extension of the classical logic set notation. Fuzzy logic defines the interval between the crisp values while classical logic is working with crisp values such as true or false. In addition, it is possible to define linguistic variables such as short, very short, tall, or very tall with fuzzy logic. Fuzzy logic sets proposed by Prof. Lotfi A. Zadeh in 1965 are knows as type-1 (ordinary) fuzzy sets. The systems that include at least one type-1 fuzzy set are called as type-1 fuzzy logic systems. These type of systems are used in many areas like robotics, modeling and control of nonlinear systems or image processing. Lately, it has been demonstrated that type-1 fuzzy sets might be inadequate to cover uncertainties and nonlinearities due to defining their members as a crisp number in an interval [0,1]. Type-2 fuzzy logic sets are also introduced by Prof. Lotfi A. Zadeh in 1975. The type-2 fuzzy sets are extension of the type-1 fuzzy sets. The systems that include at least one type-2 fuzzy sets are called as type-2 fuzzy logic systems. The studies have shown that, type-2 fuzzy logic systems are more successful than type-1 fuzzy logic systems to describe uncertainties and nonlinear behaviors. However, working with type-2 fuzzy logic systems are much more complicated than working with type-1 fuzzy logic systems. There are many additional computational costs while working with type-2 fuzzy logic systems. Therefore, interval type-2 fuzzy sets are proposed. Interval type-2 fuzzy sets are the special case of the type-2 fuzzy sets. In literature, there are many successful studies in interval type-2 fuzzy logic sets and systems. Interval type-2 fuzzy systems consists of five components: fuzzifier, inference, rules, type reducer and defuzzifier. The only different component between type-1 fuzzy logic systems and type-2 fuzzy logic systems is the type reducer. Interval type-2 fuzzy logic systems need to the type reducer block to convert type-2 fuzzy sets to type-1 fuzzy sets before defuzzifier. However, type reducer component brings some computation costs to the type-2 fuzzy logic systems. There are many type reduction method proposed in literature. The most widely used common type reduction method is the iterative Karnik and Mendel algorithm. The Karnik-Mendel algorithm aims to reduce the type-2 sets to type-1 sets by finding the optimal switching points iteratively. In literature, there are some studies that aim to enhance the Karnik Mendel Algorithm to improve the performance such as enhanced Karnik-Mendel algorithm. In addition, there some closed form type-reduction methods that find the solution without needing any iterative. In this thesis, firstly, type-1 fuzzy sets and systems are explained. Then, type-2 fuzzy sets and systems are introduced and interval type-2 fuzzy sets and systems are explained more in detail. In addition, differences between type-1 fuzzy sets and systems and interval type-2 fuzzy sets and systems are explained. The components of an interval type-2 fuzzy logic system are mentioned and the most known type reduction methods are explained. Interval type-2 fuzzy logic systems are quite complicated systems and it needs many steps to implement them from the first phase to implementation phase. Therefore, in this thesis, a Matlab/Simulink toolbox is developed and proposed to cover all phases of an interval type-2 fuzzy logic system design from the first description phase to the final implementation phase through type reduction. The proposed interval type-2 fuzzy logic toolbox allows users to design an interval type-2 fuzzy logic system by using the user interfaces. It makes the design of the interval type-2 fuzzy logic system so easy and understandable. The design of the interval type-2 fuzzy logic system toolbox starts by creating a structure in the Matlab workspace to save the information of the interval type-2 fuzzy logic system. Type reduction method, input and output variable types, the membership function parameters, the rules and the other information are saved to this structure. The interval type-2 fuzzy logic systems toolbox consists of four main pages: main editor, membership functions editor, rule editor and surface viewer. The input and output variables number of the interval type-2 fuzzy logic design is determined in main editor page. In addition, it is possible to choose the desired type reduction method from the main editor. The all type reduction methods that are explained in this thesis are implemented as a Matlab function and embedded to the toolbox via a pop-up menu in main editor. The user can select his desired type reduction method by using this menu easily. The membership function editor page allows to define the upper and lower membership functions of the each input and output variables. To provide this, the all membership functions of the Matlab fuzzy logic toolbox have been reused by adding an additional parameter into the end. The last parameter provides the opportunity to define the height of the lower membership functions. In addition, it is possible to define the membership functions of the output variables in either crisp or interval. Defining rules for the interval type-2 fuzzy logic system design is possible in the rule editor page. In addition, it is possible to view the surface of the current design from the surface viewer page. The interval type-2 fuzzy logic systems toolbox is designed to be working with Matlab/Simulink. To provide this feature, firstly a new Simulink library has been created for the interval type-2 fuzzy logic toolbox. The created Simulink library has two blocks. The first one in used to simulate the designed interval type-2 fuzzy logic controller, and the second one gives the user an opportunity to choose desired type reduction method. Also, it is possible to export the interval type-2 fuzzy logic system design from the toolbox to Simulink automatically by clicking a button. Then, it creates a Simulink model with current design and the user can start the simulations easily. In the last section of this thesis, an interval type-2 fuzzy logic system is created by using the proposed toolbox and some performance analysis are done. Firstly, an interval type-2 fuzzy logic controller is designed by using the toolbox. Then, the control surfaces of the different type reduction methods are given. The interval type-2 fuzzy logic controller exported to the Simulink and closed loop control system is created with a first order plus dead time system. Then, the performances of the same interval type-2 fuzzy logic controller with different type reduction methods are compared for the nominal system parameters. After that, the system parameters are perturbed several times and the simulations are repeated to compare the performances of the different type reduction methods In addition, the computational time of the each type reduction methods are measured and compared. In summary, a Matlab/Simulink toolbox for interval type-2 fuzzy logic systems is designed and proposed in this thesis. The proposed interval type-2 fuzzy logic toolbox covers the all phases of an interval type-2 fuzzy logic system design from the initial description phase to the final implementation phase including type reduction component. Then, an interval type-2 fuzzy logic controller is designed by using the toolbox and the simulations are done to compare the control performance of the different type reduction methods for the same system. In addition, the computational times of the each type reduction methods are measured and compared.