Shef : A tool for fuzzy control system development

thumbnail.default.alt
Tarih
1992
Yazarlar
Etaner, Şima
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Yayınevi
Institute of Science and Technology
Özet
Mühendislikte ve diğer bilim dallarında, sistemler, kesin matematik modelleri kullanılmak suretiyle modellenirler. Oluşturulan bu modellerin kullanılması suretiyle de sistemin gelecekteki durumunun ve davranışının ne olacağı tahmin edilir. Halbuki, tam ve kesin olarak nitelenen şeylerin gerçek hayatta böyle olmayabilecekleri bilinmektedir. örneğin, matematikte kullanılan tam küresel bir cismin gerçek hayatta gerçeklenmeye çalışılmasında, tam ve kesin küresel bir cisim elde etmenin mümkün olmayabileceği görülecektir. Gerçekten de, günlük hayatta karşılaşılan problemlerin büyük çoğunluğu bu tip bir kesin olmama durumu veya bir tam tanımlanmama durumu içerir. Bu problemlerin daha etkin çözülebilmesi ve matematiksel olarak modellenebilmeleri için bir yol bulunması gerekmektedir. Yakından incelendiğinde görülecektir ki, 1965 yılında, Lotfi A. Zadeh tarafından ortaya atılan bulanık mantık kavramı, bu tip bir modellemeye olanak vermektedir. Bulanık mantığın temel amacı, insanların tam ve kesin olmayan bilgiler ışığında, tutarlı ve doğru kararlar vermelerini sağlayan düşünme ve karar verme mekanizmalarının modellenmesidir. İnsanların ve makinaların pek çok yönden birbirlerine üstünlükleri olduğu tartışılamaz bir konudur, ancak bulanık mantık kavramının ardındaki teorilerin de kullanılması suretiyle, insanları tüm diğer canlılardan ayıran özelliği olan düşünme ve karar verme yeteneği modellenebilir ve bu model makinaların da üstün yanlarıyla birleştirilirse, her iki gurubun da iyi özelliklerini taşıyan etkin bir sistem geliştirilmiş olur. Günlük konuşmalara dikkat edilecek olursa, kesin olmayan, belirsizlik içeren ve dinleyicilerin yorumuna da açık şu tip cümleler sıkça duyulur " Sağdaki ilk oda çok büyük. " Bu tip bir cümleyi duyan herhangi bir dinleyici, eğer odayı daha önceden görmemişse, o zaman kendi büyük oda anlayışına, eski deneyimlerine ve eğer tanıyorsa, konuşmacı hakkındaki bilgilerine dayanarak gözünün önünde bir büyük oda canlandırır, ancak bu odanın herkes tarafından farklı büyüklüklerde hayal edileceği kesindir. Bir x kişisi için büyük olan bir oda, bir y kişisi için küçük olabilir. Dolayısıyla, günlük hayatta karşılaşılan her hangi bir önermeyi tamamen yanlış diye bir kenara atmak kadar, ona kesin doğru gözüyle de bakmak yanlıştır. Ancak klasik mantık yaklaşımı kullanıldığında, bir önerme ya doğrudur ya da yanlıştır. Arası yoktur. Bu durum küme kavramına uygulanacak olursa, klasik küme teorisin de, söz konusu evrenin elemanları bir A kümesine göre, o kümeye üye olanlar ve olmayanlar olmak suretiyle ikiye ayrılırlar. üye olanların üyelik derecesi l'dir ve üye olmayanların da üyelik derecesi O'dir. Halbuki, bulanık mantık yaklaşımında, kesin doğru veya kesin yanlış diye bir ayrım yoktur. Bir önermenin de bir doğruluk derecesi olabilir, yani tümüyle ve her durum için doğru olmaya bilir ama içinde bulunulan durumda bir dereceye kadar kabul edilebilir bir önermedir. Aynı durumun benzeri bir yaklaşım da bulanık küme kavramında mevcuttur. Bulanık kümeler üyelik fonksiyonları ile tanımlanırlar. üyelik fonksiyonları, söz konusu evrenin elemanlarının ele alınan bulanık küme ile temsil edilen kavrama ne derece uyduklarını veya bulanık kümenin temsil ettiği özellikleri ne derece taşıdıklarını gösteren üyelik dereceleri atarlar, ki bu üyelik dereceleri çoğunlukla, [0,1] kapalı aralığından değerler alan reel sayılardır. Bir B bulanık kümesinin üyelik fonksyonu şu şekilde gösterilir : H : K^ [0,1] İlk önceleri sadece teorik bir araştırma alanı olarak ortaya çıkmış olan bulanık mantık, daha sonra pek çok uygulama alanı bulmuştur. Bu uygulama alanlarının arasında en belirgin olanları, bilgisayar bilimleri, kontrol, tıp, sosyal bilimler, yönetim bilimleri, uzman sistemler, yapay zeka, psikoloji sayılabilir. Ancak, tüm bu uygulama alanları içinde en dikkate değer olanı, kontrol alanındaki uygulamalardır. Bu alanda da son yıllara kadar, sadece teori alanında gelişmeler kaydedilmiştir. Bu yüzden, bulanık kontrol kavramı endüstri kuruluşlarından hiçbir destek görmemiştir. Ancak, özellikle 1980 yılından sonra endüstriyel bulanık kontrol uygulamalarının ortaya çıkmasıyla, bir anda endüstriyel kuruluşların da ilgisi bu alana kaymıştır. Böylece, akademik ve endüstriyel kuruluşların ortaklaşa çalışmaları sonucunda gerek teorik alanda, gerek de uygulamalar bazında pek çok gelişmeler kaydedilmiştir. Bulanık kontrol algoritmalarının gerçeklendiği pek çok yazılım geliştirilmiştir. Hatta, bulanık kontrol uygulamalarına yönelik donanımlar geliştirilmiştir ve bir bulanık bilgisayar üzerinde çalışmalar yapılmaktadır. -x- Bulanık mantık, kontrol alanında bu kadar yaygın uygulama alanı bulduğuna göre, sağladığı bir takım yararlar ve getirdiği bir takım yenilikler olması doğaldır. Bazı sistemlerin kesin birer matematik modeli elde edilemez. Bunun pek çok nedeni olabilir. Sistem çok karmaşık olabilir veya sistem hakkında yeterli bilgi edinilemiyordur, çünkü eldeki ölçüm aletleri kısıtlıdır şeklinde daha pek çok neden bulunabilir. Böyle, matematik modeli elde edilemeyen sistemlerde, klasik kontrol algoritmalarının uygulanması zorluklar doğurabilecektir. Böyle bir durum da kontrol sisteminin başına konacak bir uzman, insan operatör, sistemi çok iyi tanıdığı ve uzun zamandır bu işi yaparak deneyim edindiği için ve çoğu zaman da iç güdülerine güvenerek kontrol işlemlerini yürüttüğü için, sistemin kesin bir modelini bilmesi gerekmemektedir. Bu uzman operatör, bu kontrol sisteminin başından alınıp, yerine aynı kontrol işlemlerini aynı şekilde görebilen bir otomatik kontrol sistemi konmak isteniyorsa, önceki açıklamalardan da açıkça görüleceği gibi, bulanık kontrol kullanılması faydalı olabilir. Ancak her yöntemde olduğu gibi, bulanık kontrol uygulamaya karar vermeden önce sistemi iyice incelemek ve neden bulanık kontrol seçildiğine karar vermek gerekmektedir. İkinci aşamada ise sistemin ne tip bir bulanık modelinin çıkarılacağına ve neden böyle olduğuna da karar verilmesi gerekmektedir. Ancak bu aşamalardan sonra, eğer daha iyi bir yöntem bulunamıyorsa, bulanık kontrol kullanılabilir. Diğer tüm yöntemlerde olduğu gibi yanlış bir uygulama alanı seçimi veya bulanık modelin hatalı seçilmesi sonucunda, kontrol işlemi sadeleşeceği yerde daha da karmaşık bir hal alabilir. Tüm bu kararlar verildikten ve doğrulukları tekrar araştırıldıktan sonra, kontrol sisteminin tasarımı ve kontrol algoritmasının belirlenmesi aşamasına gelinmiş tir. Bu aşamada da verilmesi gereken önemli kararlar ve seçilmesi gereken bir takım parametreler vardır. Bunların arasında kontrol parametrelerinin ve sistemden geribesleme yoluyla alınacak durum değişkenlerinin belirlenmesi, bulanık kümelerin iyi ve yerinde seçilmesi ve üyelik fonksiyonlarının tanımlanması ve en sonunda da gerekli kontrol işlemlerinin yürütülmesi için kontrol kurallarının tanımlanması en önemlileri olarak sayıla bilir. Tüm bu tanımlamalar yapıldıktan sonra, karar verme mekanizmasının da belirlenmesi gerekmektedir. Görüldüğü gibi bir bulanık kontrol sisteminin tasarlanması ve gerekli kontrol algoritmasının geliştirilmesi başlıbaşına bir problemdir. -xi- Kontrol algoritmasının oluşturulması başarıyla tamamlanmış olsa dahi, bu algoritmanın bilgisayara geçirilmesi, yani gerekli kontrol programının da yazılması hiç de küçümsenemeyecek kadar büyük problemleri de beraberinde getirmektedir. Programın yazılması aşamasında da kontrol edilecek sistemin özelliklerinin çok iyi bilinmesi gerekmektedir. Sistemin niteliklerine ve gereksinimlerine göre bir takım değişik programlama tekniklerinin kullanımı gerekebilir. örneğin hızlı durum değiştiren sistemlerin gerçek zamanda kontrollerinin yapılması, son derece hızlı ve bellek erişimi ve yönetimi gibi pek çok yönden de optimale ulaştırılmış programlar sayesinde mümkün olabilir. Bu ise, kontrol algoritmasını geliştiren kişinin aynı zamanda çok iyi bir programcı olmasını da gerektirmektedir. Bu durum ise bulanık kontrol sistemi geliştirme işlemini iyice zorlaştırır. Ne kadar etkin ve optimal bir kontrol algoritması geliştirilmiş olursa olsun, eğer program yeterince iyi değil ve sistemin gerektirdiği birtakım şartları sağlamıyorsa, bir bütün olarak, kontrol sistemi işe yaramayabilir. Bulanık kontrol kurallarının genel yapısı, IF < KOŞUL TAKIMI > THEN < KONTROL HAREKETİ > şeklindedir ve buradaki koşul takımı, birbirine AND ile bağlı koşullardır. Görüldüğü gibi kontrol kuralları bulanık mantık yaklaşımı ile oluşturulmuştur. Ancak kontrol edilecek herhangi bir sistemden, geribesleme yoluyla alınacak olan parametreler duru ( crisp ) de ğerler olacaktır. Bulanık kontrolörde işlem görmeden birtakım dönüşümlere tabi tutulması gerekmektedir. Buna bulanıklastırma (fuzzifying) işlemi denir. Bu dönüşümü geçirmiş olan parametrelere, daha önceden tanımlanmış olan bulanık kontrol kuralları uygulanarak, bulanık küme tanımlarının ve belirlenmiş karar verme metodunun ışığın da bir bulanık kontrol hareketi belirlenir. Ancak bu bulanık kontrol işaretinin doğrudan sisteme uygulanması mümkün değildir, çünkü sistem ancak duru kontrol işaretlerinden anlamaktadır. Bu amaçla, giriştekinin tam tersine, bir durulaştırma (defuzzifying ) işlemi kullanılır. Bunun sonucunda, bulanık kontrolörde üretilen bulanık kontrol işareti, duru kontrol işaretine dönüştürülür ve kontrol edilecek sisteme uygulanabilir. Yukarıdaki bilgilerin ışığında, bir bulanık kontrol sistemindeki temel birimler özetlenecek olursa, kontrol edilecek bir sistem, bulanıklaştırma bloğu, bulanık kontrolör ve karar verme mekanizmasında kullandığı kont rol tabanı ve bulanık küme tanımlarının tutulduğu veri tabanı ve durulaştırma bloğudur..xii- Bu çalışmada gerçeklenmesi öngörülen, SHEF yazılım paketi, esasında bulanık kontrol algoritmalarının bilgi sayara aktarılması aşamasında karşılaşılan zorlukları ortadan kaldırmayı amaçlamaktadır. SHEF, niteliği nedeniyle, bulanık kontrol programlarının yazılmasına olanak veren, kısıtlı ve kullanımı kolay olan yüksek düzeyli bir dili de içermektedir ki bu dilin adı, FCDL, İngilizce olarak " Fuzzy Control Definitions Language" kelimeleri nin baş harflerinden oluşmuştur. FCDL 'de oniki adet komut yer almaktadır. Komutların tamamı bildirim komutlarıdır. Bu bildirim komutlarının kullanılması ile sisteme giriş ve çıkış parametreleri, bulanık küme isimleri, bulanık kontrol kuralları, bu kuralların uygulanması esnasında ve daha sonra karar verme aşamasında gerekli olan yöntemler bildirilmiş olur. FCDL ile yazılan programın koşturulabilir hale gelmesi için birtakım işlemler de gerekmektedir. Bu amaçla SHEF ortamında, FCDL programlama diline ek olarak, FCDL dilinde yazılmış programlara sentaks kontrolü yapmaya ve daha sonra da bu komutları C programlama dilinde fonksiyon ve tanımlara dönüştüren ve daha sonraki aşamalarda da C derleyicisini aktive etmek suretiyle programın çalışabilir hale gelmesini sağlayan bir tercüman program da yer almaktadır. FC2CC isimli bu tercüman program da C dilinde gerçeklenmiştir. İçinde hazır birtakım fonksyonlar yer alacağından, operatörün FCDL komutları ile verdiği programdan gerekli tanım ve bilgileri alarak bu fonksyonlara gönderip kaynak programı oluşturur. FCDL dili için tanımlanmış birkaç tane kural vardır. 0 kurallara uyulması zorunludur. Tüm bu fonksiyonları ve özellikleri içeren bir kullanıcı arabirimi de tasarlanmıştır. Bu arabirim kullanılarak, editöründe yazılan program tercüme etme programı da çağırılarak önce tercüme edilir ve sonra da TC2.0 derleyicisi ile derlenip çalıştırılabilir. Tüm bu işlemler bir menüden seçerek, kolayca yapılabilir. Bu kullanıcı arabirimi kullanılarak yazılan bir programın değişik aşamalari, beşinci bölümde tablolar halinde verilmiştir. Bundan sonraki aşamalarda SHEF ' e eklemeler yapıla rak, bir "Bulanık Kontrol Eğitim Paketi" geliştirilmeye çalışılacaktır. Bu amaçla FCDL'in genelleştirilmesi ve komut eklenerek zenginleştirilmesi gerekebilir. Bu ise genel yapının modüler olması nedeniyle zorluk getirmez.
The theory underlyin-g fuzzy logic, developed in 1965 by Lotfi A. Zadeh, is one of the research topics which has found extensive applications in the control area, especially during the years following 1980, when the interest in fuzzy theory and its application to control increased to a great extent and became supported by industrial institutions as well as academic ones. The reason why fuzzy control has become so important is that, there are some systems, a precise mathematical model of which is not possible to obtain because the system may be too complex or it may be nonlinear or it may have to operate under conditions where there is too much distur bance or the information about the system may be limited or imprecise, due to inadequate instrumentation. Whatev er the reason is, under these circumstances, the control operations are performed by a skilled expert operator who relies, in his decisions, mainly on his extensive knowl edge of the system and his own intuition, previous expe riences and expertise. To control such a system as the operator does, a control system which imitates the deci sion making process of the expert and his responses to certain state changes of the system must be used. A study of classical control theory and techniques shows that to control such a system in the way explained above, is not possible without a human expert operator interfer ence in the control procedure. Further research reveals that fuzzy logic is the right choice in implementing such a control system, because it contains the tools to model the human way of thinking and decision making under such circumstances. However, an efficient and optimal fuzzy control algorithm is not easy to develop. There are many important design specifications, such as the choice of input state parameters, control parameters, linguistic variables, which in fact are fuzzy sets, and their mem bership functions and the fuzzy control rules. However choosing them does not solve yet another important prob lem, which is the difficulty encountered in implementing it on the computer. There may be important requirements in real time control systems, such as speed. No matter how good and efficient the control algorithm is, without an efficient software it is not enough. SHEP, the fuzzy control system development tool, which provides a simple definitions language, FCDL, for writing fuzzy control programs, a syntax checker and a translator into the C definitions and functions was developed to free the fuzzy control algorithm developer from the burden of trying to cope with software problems as well as control problems and simplify fuzzy control system development to some extent.
Açıklama
Thesis (M.Sc.) -- İstanbul Technical University, Institute of Science and Technology, 1992
Anahtar kelimeler
Bulanık denetim sistemleri, Bulanık mantık, CPROG, FC2CC, FCDL, SHEF, Bulanık denetim sistemleri, Bulanık mantık, CPROG, FC2CC, FCDL, SHEF
Alıntı