akıllı ve uyarlamalı kontrol sistemleri
Transkript
akıllı ve uyarlamalı kontrol sistemleri
Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya AKILLI VE UYARLAMALI KONTROL SİSTEMLERİ 96 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Uyarlanabilir Sinirsel Bulanık Çıkarım Sistemi (ANFIS) ile Küçük Bir Turboprop Motor Üzerinde Yakıt Akışı Kontrol Sistemi Modellenmesi Işıl Yazar1, Emre Kıyak2, Fikret Çalışkan3, Kerim Kahraman4 1 Mekatronik Bölümü Eskişehir Osmangazi Üniversitesi, Eskişehir iyazar@ogu.edu.tr 2 Havacılık Elektrik ve Elektroniği Bölümü Anadolu Üniversitesi, Eskişehir ekiyak@anadolu.edu.tr 3 Kontrol Mühendisliği Bölümü İstanbul Teknik Üniversitesi, İstanbul caliskanf@itu.edu.tr 4 TEI Tusaş Motor Sanayii A.Ş., Eskişehir kerim.kahraman@tei.com.tr kompresör elemanının dönme hareketini sağlar. Türbinde atmosfer basınç değerine kadar genleşen gaz kütlesi egzozdan dışarı atıldığında hava aracı için gerekli olan itkinin oluşması sağlanır. Turboprop motorlar literatürde iki başlık altında incelenmektedirler [2, 3]. Bunlar sırasıyla tek şaftlı turboprop motorlar ve serbest türbinli turboprop motorlardır. Tek şaftlı turboprop motorlarda pervane, kompresör-türbin yapısını da çeviren ortak bir şaft tarafından döndürülmektedir. Serbest türbinli turboprop motorlarda ise halihazırdaki türbin yapısından ayrı olarak güç türbini olarak isimlendirilen bir yapı pervane hareketinden sorumludur. Her iki yapıda da türbin pervaneden daha hızlı döndüğü için pervanenin devir sayısı şaft üzerinde bulunan dişli kutusu yardımı ile ayarlanmaktadır. Şekil.1’de AIRBUS firmasına ait askeri nakliye uçağı A400M’in TP400 Turboprop motoru modeli görülmektedir [4]. Özetçe Ülkemizde son dönemlerde savunma sanayii alanında ciddi gelişmeler kaydedilmektedir. Gelişen teknolojiye bağlı olarak tasarlanmakta olan hava araçları da buna paralel olarak çeşitlilik göstermektedir. Özellikle İHA’lar (İnsansız Hava Araçları) üzerinde ciddi çalışmalar yürütülmektedir. Savunma, eğitim, gözlem gibi alanlarda kullanılan bu tip hava araçlarının itki ihtiyacını karşılamak için küçük tipte turboprop motorlara gereksinim duyulmaktadır. Turboprop motorlar, düşük ve orta irtifa için kullanımı ekonomik, sessiz çalışan gaz türbinli motorlardır. Çalışmada, TEI tarafından geliştirilen bir turboprop motorun verileri kullanılarak ANFIS (Adaptive Neuro-Fuzzy Inference System) arayüzü yardımıyla yakıt akışı kontrolü sağlanmıştır. Modelde hem geçici durum hem de kararlı durum süreçleri için yakıt akışı durumu incelenmiştir. 1. Giriş Günümüzde gaz türbinli motorların hem endüstri alanında hem de havacılık sektöründe geniş bir kullanım alanı bulunmaktadır. Endüstri alanındaki kullanımı ile enerji eldesi sağlanırken, havacılık sektöründeki kullanımı ile hava aracı için gereken itki sağlanmaktadır. Hava araçlarında kullanılan gaz türbinli motorlar şu şekilde sınıflandırılabilir: Turbojet, Turbofan, Ramjet, Pulsejet, Turboprop, Propfan [1]. Gaz türbinli motorlar kendi aralarında yapısal olarak farklılık gösterse de temel çalışma prensibi hepsinde aynıdır. Hava alığından içeri alınan havanın hızı düşürülerek basıncı bir miktar artırılır. Daha sonra kompresör içerisine geçen havanın sabit sıcaklıkta sıkıştırılma yoluyla basıncı artırılır. Basıncı artırılmış hava kütlesi yanma odasında sabit basınç altında yüksek sıcaklık değerlerinde yakılır. Yanma olayı sonucu elde edilmiş gaz kütlesi türbin kademelerinden geçerken genleşir ve türbinin dönme hareketine neden olur. Türbinde meydana gelen dönme hareketi aynı zamanda aynı şafta bağlı Şekil 1: AIRBUS firmasına ait askeri nakliye uçağı A400M’in TP400 Turboprop motor modeli [4] 97 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya kullanmış olduğu görülmektedir. 2. Motor Kontrolü Günümüzde değişen ve gelişen teknoloji, hava araçlarını hem yapısal anlamda hem de sistemsel anlamda değişime zorlamaktadır. Bu değişimde öncelik ise hız, verim, maliyet gibi parametrelere dayandırılmaktadır. Uçak motorları da uzun zamandan beri belirtilen bu değişim sürecinde olup, daha önceleri motor kontrol ünitesi dahi olmayan uçaklarda artık gelişmiş bir motor kontrol sistemi kullanılmaktadır. Kontrol kavramının sisteme dahil olmasıyla birlikte eskiden kullanılan hidromekanik sistemlerin yerini günümüzde elektronik kontrol sistemleri almıştır. FADEC (Full Authority Digital Engine Control) adı verilen bu sistemler, uçakta yer alan diğer sistemlerle koordineli olarak çalışarak durgun durum ve geçiş hallerinde motor kontrolü sağlamaktadır. Ana fonksiyonu kontrollü ve güvenli uçuş operasyonu için uygun yakıt akışını sağlamaktır [5]. FADEC sistemi [6], hidromekanik sistemlere göre daha operasyonel esneklik sağlayan ve daha güvenilir bir sistemdir. sistemlere geçiş yapılmıştır. FADEC sistemi genel olarak iki kısımdan oluşur: Bunlar sırasıyla Elektronik Kontrol Ünitesi (EKÜ) ve Hidromekanik Ünite (HMU)’leridir. HMU kontrol ünitesinden gelen elektriksel sinyalleri hidromekanik basınca dönüştürerek, motor üzerindeki valfleri ve eyleyicileri sürer. Bu iki ünite dışında motor üzerinde pek çok sensör bulunur. Sensörlerin bir kısmı doğrudan kontrol ünitesine bağlı olarak çalışırken, bir diğer kısmı da sistem durumunu görüntülemek için geri besleme amaçlı olarak kullanılır [7]. Şekil 2’de uçak motoru kontrol sistemi basit bir yapıda özetlenmiştir. ölçülen değişkenlerden bazıları Tablo 1: Uçak Motorlarında Kullanılan Bazı Kontrol Değişkenleri [9] Değişken TFE731 F100 F110 GE90 Fan Girişi Toplam Sıcaklık X X X X Fan Girişi Basınç X X X Kompresör Giriş Basıncı X Kompresör Giriş Sıcaklığı X Kompresör Çıkış Basıncı X Kompresör Bleed Basıncı X X Egzoz Çıkış Sıcaklığı Şekil 2: Uçak Motoru Kontrol Sistemi Uçak motoru üreticileri, gaz türbinli motorlardaki kontrol algoritmalarının geliştirilmesi için öncelikli olarak motor termodinamik modeline ihtiyaç duymaktadırlar. Bu modeller, termodinamik yasalar, enerjinin korunumu kanunu ve ampirik (tecrübeye dayalı) olarak hazırlanan bazı fonksiyonlar kullanılarak oluşturulmakta ve daha sonra hazırlanacak kontrol algoritması için temel teşkil etmektedir. Oluşturulan termodinamik modelin verileri kullanılarak sistemde yer alacak eyleyici, dönüştürücü gibi diğer enstrümanların da dahil edilmesiyle hazırlanacak olan tasarım motor modellemesi ise üç farklı şekilde yapılabilmektedir [8]: Dinamik Karakteristik, Doğrusal Dinamik Modeller ve Gerçek Zamanlı Modeller’dir. Kontrol algoritmaları oluşturulurken kullanılacak kontrol değişkenleri ve ölçülen değişkenler üreticiden üreticiye ve motor tipine göre değişiklik göstermektedir. Kontrol sisteminin komplekslik seviyesi bu parametrelerin ve ölçümü alınan diğer parametrelerin sayısına göre belirlenmektedir [9]. Tablo 1’de dünyanın önde gelen uçak motoru üreticilerinin 98 X X Düşük Basınç Türbini Devir Sayısı X X X X Yüksek Basınç Türbini Devir Sayısı X X X X Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya x giriş, i düğüm noktası sayısı ve Ai ise bu düğüm noktasının bulanık kümesidir. Her bir düğümde üyelik fonksiyonu olarak en çoğu 1 ve en azı 0 olan çan eğrisi üyelik fonksiyonları kullanılır [8]. Fonksiyondaki sabitler ANFIS’de öncül (premise) parametreler olarak isimlendirilmektedir [13]. 2.Katman: Bu katmanda, düğüm noktasına gelen gelen üyelik fonksiyonları birbirleriyle çarpılmaktadır. Her düğüm noktası çıktısı bir kural için o kuralın tetikleme veya ateşleme ağırlığı (firing strength of a rule) olarak tanımlanmaktadır [13]. wi Ai ( x) Bi ( y), i 1, 2. (2) 3. ANFIS Yapısı Doğrusal olmayan sistemlerin modellenmesi, sistemin doğası gereği çok zordur. Bu tip sistemlerin modellenmesinde girişi ve çıkışı haritalayan metotlar kullanmak uygun olmaktadır [10]. Günümüzde Uyarlanır Sinirsel Bulanık Çıkarım Sistemi (ANFIS) olarak bilinen, bulanık mantık sınıflandırması ile yapay sinir ağları öğrenme mantığının birleştiği yapı girişçıkış haritalama işini başarılı bir şekilde yapmaktadır. Bu çalışmada, ANFIS arayüzü yardımıyla pervane devir sayısı, motor devir sayısı ve egzoz çıkış sıcaklığı değerleri baz alınarak uçak motoru yakıt akış kontrolü modellenmiştir. Hazırlanan modelde, TEI Tusaş tarafından sağlanan küçük bir turboprop motora ait 3 farklı değişken verisi kullanılmıştır. Kullanılan değişkenler hemen her tip motor için ölçümü alınan kritik değişkenlerdir. Bununla beraber modellemelerde kullanılacak değişkenler, motor tipine bağlı olarak veya elde ekstra ölçüm verisi olmasına göre farklılık gösterebilir. ANFIS arayüzü temel olarak iki bölümden oluşmaktadır: Bunlar sırasıyla FIS (Fuzzy Inherence System) yapısının oluşturulduğu bölüm ve FIS yapısının eğitildiği bölümlerdir. FIS yapısının oluşturulduğu bölümde, MATLAB iki çeşit kümeleme metodu sunmaktadır: grid bölümleme (Grid Partitioning) ve eksiltici kümeleme (Subtractive Clustering) Ayrıca, daha önceden oluşturulmuş bir FIS yapısı da doğrudan arayüze yüklenerek kullanılabilmektedir. FIS yapısının eğitimi için de yine MATLAB iki yöntem sunmaktadır: Bunlar geri yayılım tabanlı öğrenme ve geri yayılım + en küçük kareler yöntemi kombinasyonundan meydana gelen hibrit öğrenme metodudur [11]. Çalışmamızda kullanmış olduğumuz ANFIS yapısı aşağıdaki gibidir [10]: Modellenecek sistemin x, y şeklinde iki giriş, bir çıkış değeri olduğu varsayılarak ve bu değerler kullanılarak Takagi ve Sugeno tipi iki kural oluşturulduğunda [12]: 1. Kural: Eğer x A1 ise ve y B1 ise, çıkış değeri f1=p1x+q1y+r1 2. Kural: Eğer x A2 ise ve y B2 ise, çıkış değeri f2=p2x+q2y+r2 şeklinde olur. 1.Katman: Bu katmandaki her düğüm noktasının denklem (1)’deki gibi bir üyelik fonksiyonu mevcuttur. Bu fonksiyon aynı zamanda düğüm noktası çıkış fonksiyonudur. Oi1 Ai ( x) Daha sonra normalize edilmiş kural tetikleme veya ateşleme ağırlık değerleri ilgili düğüm noktasının tetikleme veya ateşleme ağırlık değerinin tüm kuralların tetikleme veya ateşleme ağırlık değerinin toplamına oranı alınarak denklem (3)’teki gibi hesaplanır. wi wi , i 1, 2. (3) w1 w2 3.Katman: Bu katmanın çıkış fonksiyonu denklem (4)’deki gibi tanımlanmaktadır. {pi, qi, ri} parametreleri ANFIS’de soncul (consequent) parametreler olarak tanımlanmaktadır [13]. Oi3 wi fi wi ( pi x qi y ri ) (4) 4.Katman: En son katmanda sistemin çıkışı hesaplanmaktadır. Sistem çıkışı denklem (5)’teki gibi bir önceki düğüm noktasından gelen verilerin tümünün toplanması ile elde edilmektedir. Sistem Çıkışı = Oi4 w f i i i i i w f w i (5) i i Hibrit öğrenme iki prosedürden oluşmaktadır: Bunlar sırasıyla İleri Geçiş ve Geri Geçiş Prosedürleri’dir [10]: Tablo 2: Hibrit Öğrenme Algoritması [10, 11] İleri Geçiş Öncül Parametreler Soncul Parametreler (1) Sinyaller Sabit En Küçük Kareler Tahmini Düğüm Noktası Çıktıları Geri Geçiş Geri yayılım Gradyen Azalma Sabit Hata Oranları İleri geçiş prosedüründe, giriş ve ilgili sinyaller 3. katmana kadar bir önceki bölümde bahsedilen işlemlerden geçerek gelir ve en küçük kareler yöntemi aracılığıyla soncul parametreler tahmin edilmeye çalışılır. Geri geçiş prosedüründe ise, gradyen azalma yöntemi kullanılarak çıkıştan girişe tüm düğüm noktalarının hata oranları toplanarak öncül parametrelerin değerleri tekrar güncellenir [10]. 4. Simülasyon Sonuçları Uçak motoru yakıt akışı kontrolü modeli TEI Tusaş Motor Sanayii A. Ş. tarafından tasarlanan küçük bir turboprop motorun motor devir sayısı, pervane devir sayısı, egzoz çıkış sıcaklığı ve yakıt akış verileri kullanılarak MATLAB/Simulink üzerinde ANFIS arayüzü aracılığıyla oluşturulmuştur. Elde herhangi bir matematiksel model olmamasına rağmen yalnızca test verileri kullanılarak yakıt Şekil 3: Örnek bir ANFIS Yapısı 99 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya akış miktarı hesaplanmaya çalışılmıştır. 981 adet verinin % 80’i eğitim, kalan % 20’lik kısmı ise test verisi olacak şekilde rasgele gruplandırılmıştır. FIS yapısının oluşturulmasında ANFIS arayüzü üzerinde tanımlı eksiltici kümeleme kullanılmıştır. Veri sayısının fazlalığı, artan üyelik fonksiyonu sayısının iterasyon sayısını dolayısıyla işlem süresini uzatması ve artan bu süreye bağlı olarak optimum üyelik fonksiyonu sayısının hesaplanamaması sebebiyle grid bölümleme yöntemi tercih edilmemiştir [14, 15]. Eksiltici kümeleme yöntemi ile en düşük hatayı veren en uygun üyelik fonksiyonu sayısı hesaplanmıştır. Öğrenme metodu olarak da hibrit öğrenme yöntemi kullanılmıştır. Şekil 4’de oluşturulan MATLAB/Simulink modeli, Şekil 5 ve 6’da optimum sayıdaki üyelik fonksiyonuna göre hazırlanmış eğitim verisi ve test verisi orijinal çıktılarının ve ANFIS çıktılarının karşılaştırılması, Tablo 3’de ise farklı etki alanı ve üyelik fonksiyonlarında elde edilen ortalama eğitim ve test veri hataları görülmektedir. Eğitim veri seti için optimum hata her giriş için 10 üyelik fonksiyonu ataması yapıldığında hesaplanmıştır. Test veri seti için optimum hata her giriş için 8 üyelik fonksiyonu ataması yapıldığında hesaplanmıştır. Etki alanı arttıkça üyelik fonksiyonu sayısı azalmaktadır. Bunun nedeni, her verinin çevresinde bulunan veri yoğunluğuna bağlı olarak potansiyel bir kümelenme merkezi durumunda olması ve etki alanı yarıçapı arttıkça yoğunluğa bağlı olarak kümelenme merkezi seçilen noktanın çevresinde bulunan diğer verilerin de bu verinin sınıfına dahil edilecek olması ve böylece toplam üyelik sayısının azalmasıdır [16]. Uygun üyelik fonksiyonu sayısı işleminin bulunmasını ANFIS, etki alanı kullanıcı tarafından tanımlandığında otomatik olarak yapmaktadır. Şekil 6: Test Verisi ile ANFIS Çıktısının Karşılaştırılması (Etki Alanı: 0.2, Üyelik Fonksiyonu Sayısı:8 için) Tablo 3: Eğitim ve Test Verileri Ortalama Hata Tablosu Şekil 4: Simülasyon Modeli Şekil 5: Eğitim Verisi ile ANFIS Çıktısının Karşılaştırılması (Etki Alanı: 0.15, Üyelik Fonksiyonu Sayısı:10 için) 100 Etki Alanı Üyelik Fonksiyonu Sayısı Ortalama Eğitim Verisi Hatası Ortalama Test Verisi Hatası 0.1 10 4.7722 4.5192 0.15 10 4.5011 4.5618 0.2 8 4.7592 4.3686 0.25 7 4.6662 4.394 0.3 7 4.6413 4.3822 0.35 7 4.652 4.3868 0.40 5 5.1591 4.8675 0.45 4 5.8822 5.0731 0.50 3 5.8461 5.0814 0.55 3 5.7024 4.9618 0.60 3 5.5889 4.8737 0.65 3 5.4786 4.7989 0.70 3 5.3952 4.7679 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya 0.75 3 5.322 4.7404 0.80 3 5.2969 4.7789 0.85 3 5.2744 4.8175 0.90 3 5.2549 4.8523 0.95 3 5.2686 4.9164 1 3 5.2704 4.9632 [6] D. Esler, “FADEC's Benefits Today and Tomorrow”, Business & Commercial Aviation, Cilt: 97, No: 5, 2005. [7] S. Koçak, Gaz Türbinli Motorlarda FADEC Sisteminin Ayrıntılı Olarak İncelenmesi, Lisans Bitirme Tezi, Anadolu Üniversitesi, 2012 [8] G.G. Kulikov, H.A. Thompson, Dynamic Modelling of Gas Turbines, Springer, 2005. [9] L.C. Jaw, J.D. Mattingly, Aircraft Engine Controls, AIAA Education Series, 2009. [10] J.R. Jang, “ANFIS: Adaptive-Network-Based Fuzzy Inference System”, IEEE Transactions on Systems, Man, and Cybernetics, 23, 3, 665-685, 1993. [11]http://www.mathworks.com/help/fuzzy/anfis-and-the anfis-editor-gui.html#bq97_i_ [12] T. Takagi, M. Sugeno, “Derivation of fuzzy control rules from human operator’s control actions”, Proceedings of IFAC Symposium on Fuzzy Information, Knowledge Representation and Decision Analysis, 55- 60, 1983. [13] O. Kaynar, M. Zontul, F. Demirkoparan, “Ham petrol Fiyatlarının ANFIS ile Tahmini”, ABMYO Dergisi, Cilt:17, 3-14, 2010. [14] M.R. Minaz, A. Gün, M. Kurban, N. İmal, “Bilecik İlinin Farklı Yöntemler Kullanılarak Basınç, Sıcaklık ve Rüzgâr Hızı Tahmini”, Gaziosmanpaşa Bilimsel Araştırma Dergisi, Cilt: 3, 2013. [15]S. Chiu, “Fuzzy Model Identification Based on Cluster Estimation”, Journal of Intelligent & Fuzzy Systems, 2, 3, 1994. [16] M. Wei, B. Bai, A. H. Sung, Q. Liu, J. Wang, M. E. Cather, “Predicting injection profiles using ANFIS”, Information Sciences, 177, 4445–4461, 2007. 5. Sonuçlar Bu çalışmada, pratikte havacılıkta kullanılan FADEC sisteminin sorumlu olduğu yakıt akışı kontrolünün daha sadeleştirilmiş olan yapısı MATLAB/Simulink üzerinde ANFIS arayüzü kullanılarak modellenmiştir. Kontrol parametresi olarak kullanılan giriş verileri egzoz çıkış sıcaklığı, pervane devir sayısı ve motor devir sayısı verileri kullanılarak uygun yakıt akışı değeri elde edilmeye çalışılmıştır. Grid bölümleme metodunda üyelik fonksiyonu sayısı arttıkça iterasyon süresi uzamış ve optimum üyelik fonksiyonu değeri hesaplanamamıştır. Dolayısıyla diğer yöntem olan eksiltici kümeleme yöntemi farklı etki alanlarına bağlı olarak denenmiş ve farklı sayıda oluşturulan üyelik fonksiyonlarına bağlı olarak optimum üyelik fonksiyonu sayısı hesaplanmıştır. Hesaplamalar sonucunda gerçek motor yakıt akışı değerlerinin oldukça yaklaşık değerlerle ANFIS üzerinde kontrol parametrelerine bağlı olarak elde edilebildiği gözlemlenmiş ve ANFIS üzerinde model için kullanılabilecek en uygun üyelik fonksiyonu değeri tanımlanabilmiştir. Teşekkür Çalışmaya vermiş oldukları teknik destekten dolayı TEI Tusaş Motor Sanayii A. Ş.’ye teşekkür ederiz. Kaynakça [1] H. Karakoç, E.T. Turgut, Gaz Türbinli Motor Sistemleri, T.C. Anadolu Üniversitesi Yayınları, 2008. [2] H. Aydın, Ö. Turan, A. Midilli, T. H. Karakoc, “Transient Performance of an Experimental Turboprop Engine: An Energetic Evaluation”, The Fourth International Conference on Applied Energy (ICAE2012), 2012. [3] Introduction to Turboprop Engine Types http://www.skybrary.aero/bookshelf/books/1626.pdf [4] I. Moir, A. Seabridge, Aircraft Systems, John Wiley & Sons Ltd., 2008. [5] Xicoy Electronica XL, FADEC System-Autostart 06 User Guide. 101 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya DOĞRUSAL OLMAYAN SİSTEMLER İÇİN RUNGE-KUTTA MODEL-TABANLI UYARLAMALI PID DENETLEYİCİ Meriç ÇETİN1 , Selami BEYHAN2 , Serdar İPLİKÇİ2 1 Bilgisayar Mühendisliği Bölümü Pamukkale Üniversitesi, 20070, Denizli-Türkiye {mcetin}@pau.edu.tr 2 Elektrik Elektronik Mühendisliği Bölümü Pamukkale Üniversitesi, 20070, Denizli-Türkiye {sbeyhan}@pau.edu.tr, {iplikci}@pau.edu.tr Özetçe tercih edilmektedir. Tasarımı PID denetleyicilerden daha zor olsa da günümüzde mikroişlemcilere gömülerek endüstride çok kullanılmaktadır. Model-öngörülü denetleyicilerin giriş-çıkış kestirim ufukları sayesinde ileriye yönelik hata küçüklemesi ile sistem performansı oldukça iyidir. Fakat gradyan temelli denetleyici olmalarından dolayı gürültü ve bozucu etkilere karşı dayanıklı değildir. MPC yöntemlerinin zaman domeninde formule edilebiliyor olması, ilerleyen-ufuk özelliği ve durum ve kontrol kısıtlarını kolayca dikkate alabilme gibi üstün özellikleri sayılabilir. Bu çalışmada, Runge-Kutta model-tabanlı model-öngörülü uyarlamalı Oransal-İntegral-Türevsel (PID) denetleyici (RKPID) tanıtılmış ve doğrusal olmayan sistemlerin kontrolünde kullanılmıştır. Önerilen denetleyici, sürekli-zamanlı bir sistemin Runge-Kutta ayrıklaştırılmış modeli ile model-öngörülü performans kriterini azaltacak biçimde PID denetleyici parametrelerini uyarlamaktadır. Sisteme uygulanan giriş işareti, uyarlamalı PID denetleyici ve model-öngörülü denetleyici ile elde edilen düzeltme terimlerinden oluşmaktadır. Önerilen RKPID denetleyici, sürekli-zamanlı doğrusal-olmayan bioreaktör sistemi üzerinde test edilmiştir. Elde edilen denetleme sonuçları, önerilen denetleyicinin doğrusal-olmayan sistemlerin kontrolünde oldukça başarılı olduğunu göstermiştir. 4. mertebeden Runge-Kutta (RK) algoritması, doğruluğu ve kararlı davranışları nedeniyle doğrusal-olmayan süreklizamanlı sistemlerin ayrıklaştırmasında kullanılır. Runge-Kutta (RK) modeli olarak bilinen bu yapı, uyarlamalı doğrusal olmayan model-öngörülü denetleme, tahminleme, Jacobian hesabı, durum ve parametre kestirimi gibi pek çok uygulamada kullanılmıştır [9, 10, 11, 12]. Bu çalışmada ise doğrusal-olmayan sürekli-zamanlı sistemlerin denetlenmesinde PID parametrelerinin ayarlanması için sistemin RK modeli ile model-öngörülü hata performansı kullanılarak PID parametreleri uyarlanmıştır. Bunun yanında referans ve sistem dinamiklerinin değiştiği noktalara PID denetleyicisinin yetersiz olacağı düşünülerek modelöngörülü denetleyici ile üretilmiş düzeltme terimi tasarlanmıştır. Düzeltme terimi K− adımlık bir tahminleme hatasının en küçük yapılmasıyla elde edilir. 1. Giriş Kontrol mühendisliğinde, PID türündeki denetleyiciler kolay tasarımı ve gürbüz performansları nedeniyle diğer denetleyiciler içinde en çok tercih edilen denetleyicidir. Doğrusal zamanla değişmeyen sistemlerde PID parametrelerinin tasarımı için literatürde pek çok yöntem vardır [1, 2, 3]. Fakat doğrusal zamanla değişen sistemler ve referans sinyalinin değiştiği uygulamalarda, PID denetleyici parametrelerinin iyi bir referans takibi yapabilmesi için uyarlanması gerekmektedir. Bunun yanında doğrusal-olmayan sistemler için PID denetleyici tasarımında doğrullaştırma yaparak denge noktalarında klasik ayarlama yöntemleri ile parametreler ayarlanmalıdır. Fakat denge noktası sürekli değişebileceğinden bu yöntem kullanışlı değildir. Doğrusallaştırma yapmadan doğrusal-olmayan PID denetleme yapılacak ise uyarlamalı PID denetleyicisi kullanılır. Literatürde, belirsiz sistemler için kayan-kip uyarlamalı PID [4], matematiksel modeli bilinmeyen sistemler için uyarlamalı yapay-sinir ağı ile uyarlamalı PID [5] ve destek-vektör mekanizmalı uyarlamalı PID [6] denetleyicileri önerilmiştir. Bunların yanında [7, 8] çalışmalarında, PID parametreleri modelöngörülü kontrol metodu kullanılarak amaç fonksiyonunun en küçüklenmesiyle ayarlanmıştır. Doğrusal ve doğrusal-olmayan sistemlerin kontrolünde model-öngörülü denetleyiciler hızlılık ve doğruluk açısından Çalışmanın devamında: Bölüm 2’de önerilen RK modeltabanlı PID yapısı detaylı bir şekilde anlatılacaktır. Tasarlanan doğrusal-olmayan denetleyici yapısının ölçüt sisteme uygulanması ile elde edilen sonuçlar, Bölüm 3’de gösterilmektedir. Bölüm 4’de ise çalışmanın sonuçları verilmektedir. 2. Önerilen Runge-Kutta Model-Tabanlı Uyarlamalı PID Denetleyici Bu bölümde, RK ayrıklaştırması ve önerilen RK model-tabanlı model-öngörülü uyarlanabilir PID denetleyici anlatılacaktır. 102 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya şeklindedir. (3) denklemi aşağıdaki gibi vektörel formda yazılabilir. x̂n+1 = f̂(x̂n , un ), 2.1. Runge-Kutta Ayrıklaştırması Aşağıdaki gibi kapalı formda y =g(x, u), ŷn+1 = g(x̂n , un ). (1) burada u ∈ U, x ∈ X, ∀t ≥ 0 1 kn = 6 verilen bir sistemin denetlenebilmesi için en uygun kontrol işaretinin bulunması amaçlanmaktadır. Buradaki durum denklemleri Xi = {xi ∈ ℜ | ximin ≤ xi ≤ ximax , i = 1, . . . , N } U = {u ∈ ℜ | umin ≤ u ≤ umax } (5) = x̂n+1 + kn ẋ =f(x, u), = (2) k11 + 2k12 + 2k13 + k14 k21 + 2k22 + 2k23 + k24 .. . kN 1 + 2kN 2 + 2kN 3 + kN 4 (6) 1 (k1 + 2k2 + 2k3 + k4 ) 6 şeklindedir. Bu aşamadan sonra t = nTs örnekleme anındaki durum değişkenleri x1n , · · · , xNn ve giriş büyüklüğü un verildiğinde bir sonraki örnekleme anındaki (t + Ts = (n + 1)Ts ) çıkışı (5) kullanılarak bulunabilir. Artık sürekli-zamanlı bir sistemin ayrık-zamanlı RK yapısında önerilen uyarlanabilir denetleyici mekanizmasında kullanılabilir hale gelir. şeklinde kısıtlara bağlıdır. Sürekli zamanlı doğrusal-olmayan N -boyutlu bir sistemin durum denklemleri vektörel formda (1) şeklinde verilmiştir. Burada x(t) ∈ ℜN , u(t) ∈ ℜ ve y(t) ∈ ℜ olmak üzere, denklemlerde u kontrol işaretini, x durum vektörünü, y çıkış sinyalini göstermektedir. fi ve g fonksiyonları; kontrol işareti ve durum vektörü değerlerine göre dinamikleri bilinen, sürekli zamanlı ve türevi alınabilen fonksiyonlardır. x1n , · · · , xNn anlık durumları ve un anlık girişi göstermek üzere sistemin n. anındaki değerleridir. n, t = nTs zamanındaki örnekleme anını gösterir. Bir sonraki örnekleme anındaki sisteme ait xin+1 ve yin+1 şeklinde verilen durum ve çıkış değerleri aşağıdaki eşitliklerde verilen 4. mertebeden RK algoritması ile öngörülebilir. Bu algoritma diğer integrasyon metotları içinde daha kesin ve kararlı olduğu için doğrusal olmayan sürekli zamanlı sistemin ayrıklaştırılması işleminde tercih edilmiştir. 2.2. Runge-Kutta Model-Tabanlı Uyarlamalı PID x̂1n+1 =x̂1n + k11n /6 + k12n /3 + k13n /3 + k14n /6, .. . x̂Nn+1 =x̂Nn + kN 1n /6 + kN 2n /3 + kN 3n /3 + kN 4n /6, ŷn+1 =g(x̂1n+1 , . . . , x̂Nn+1 , un ) (3) Şekil 1: Runge-Kutta model-tabanlı PID denetleyici burada k11n = Ts f1 (x̂1n , · · · , x̂Nn , un ), Önerilen yöntemde, (5) denklemi ile verilen sistemin RK modeli, model-tabanlı PID yapısı içinde Şekil 1’de görüldüğü gibi kullanılmıştır. Burada ŷn modelin çıkışı, ỹ sistem çıkışı y’nin takip etmesi istenen referans işareti, en n. örnekleme anında istenen ve ölçülen çıkış arasındaki hata, un+1 kontrol işareti ve δun+1 düzeltme terimidir. Uyarlamalı RK-PID döngüsü, RK modeli, uyarlamalı PID bloğu ve iki adet Jacobian bloğundan oluşur. Yapı içindeki Jacobian bloklarından birisi kontrol sinyalini düzeltir, diğeri ise parametre ayarlamasında kullanılır. PID denetleyici, en hatasını barındıran ve aşağıdaki formda verilen un+1 şeklindeki kontrol işaretini üretir. .. . kN 1n = Ts fN (x̂1n , · · · , x̂Nn , un ), k12n = Ts f1 (x̂1n + 0.5k11n , · · · , x̂Nn + 0.5kN 1n , un ), .. . kN 2n = Ts fN (x̂1n + 0.5k11n , · · · , x̂Nn + 0.5kN 1n , un ), k13n = Ts f1 (x̂1n + 0.5k12n , · · · , x̂Nn + 0.5kN 2n , un ), .. . kN 3n = Ts fN (x̂1n + 0.5k12n , · · · , x̂Nn + 0.5kN 2n , un ), un+1 =un + KP (en − en−1 ) + KI en k14n = Ts f1 (x̂1n + k13n , · · · , x̂Nn + kN 3n , un ), + KD (en − 2en−1 + en−2 ) .. . (7) Burada KP , KI ve KD en uygun biçimde ayarlanması gereken PID parametreleridir. Bu parametrelerin denetleme işlemine başlamadan önceki başlangıç koşulları sıfırdır. PID para- kN 4n = Ts fN (x̂1n + k13n , · · · , x̂Nn + kN 3n , un ). (4) 103 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya yetersiz kalabilir. Bazı modelleme hataları ve harici bozucuların kontrol hareketinin üzerindeki olumsuz etkilerden kurtulmak için δun+1 gibi bir düzeltme terimine ihtiyaç duyulur. RK model-tabanlı PID yapısı içindeki düzeltme bloğunun amacı (8) denklemindeki amaç fonksiyonunu en küçük yapacak uygun δun+1 terimini bulmaktır. Farklı bir deyişle, düzeltme bloğu amaç fonksiyonu F ’yi 2. dereceden Taylor yaklaşımına dayanarak δun+1 terimine göre en küçük yapmaya çalışır: metreleri başlangıç değerleri ile denetleme işlemi gerçekleştirilemediği için en uygun değerlerine ayarlanmalıdır. Bu amaçla, sistemin RK modeli kullanılır. Bu model, sistemin K− adım sonraki gelecek davranışlarını tahmin ettiği bileşenlerden oluşan [ŷn+1 , ŷn+2 , . . . , ŷn+K ] şeklinde bir yörünge vektörü üretir. Bu vektör oluşturulurken PID denetleyicisi ile üretilen un+1 kontrol işareti RK modeline K kere uygulanır. Bu tahminlere dayanarak PID denetleyisinin parametreleri, K− adım sonraki tahminleme hatalarının kareleri toplamını en küçük yapmayı amaçlayan bir maliyet fonksiyonu ile belirlenir. Diğer bir deyişle aşağıdaki formda verilen amaç fonksiyonu F en küçük yapılmaya çalışılır. F (un+1 ) = F (un+1 + δun+1 ) ∼ = F (un+1 ) + + K 1∑ 1 (ỹn+k − ŷn+k )2 + λ(un+1 − un )2 2 2 (8) burada K kestirim ufku ve λ cezalandırma terimidir. PID parametrelerinin güncellenmesi ve amaç fonksiyonunun en küçük yapılması için Levenberg-Marquardt (LM) kuralı kullanılmıştır. (9) KP KP KI ⇐= KI + ∆KP ID KD KD (10) δun+1 = − burada µ parametresi Steepest-Descent ve Gauss-Newton algoritmaları arasında uzlaşma sağlayan bir terimdir. I, 3 × 3 boyutundaki birim matris olup J ise (K + 1) × 3 boyutundaki Jacobian matrisidir. ∂ ên+1 ∂ ên+1 ∂ ên+1 ∂KP ∂KI ∂KD ∂ ên+2 ∂KP ∂ ên+2 ∂KI ∂ ên+2 ∂KD ∂ ên+K ∂KP ∂ ên+K ∂KI ∂ ên+K ∂KD .. . ∂ √ λ(un+1 −un ) ∂KP = − .. . √ ∂ ∂ ŷn+1 ∂KP ∂ ŷn+1 ∂KI ∂ ŷn+1 ∂KD ∂ ŷn+2 ∂KP ∂ ŷn+2 ∂KI ∂ ŷn+2 ∂KD .. . .. . ∂∆u λ ∂Kn+1 P √ ∂∆u λ ∂Kn+1 I ∂ ŷn+K ∂KD √ ∂F (un+1 ) = 2JTm ê ve ∂un+1 ∂∆u λ ∂Kn+1 D ve ê tahmin hataları vektörü olmak üzere: ên+1 ỹn+1 − ŷn+1 .. .. . . ê = = ỹn+K − ŷn+K √ ên+K √ λ∆un+1 λ(un+1 − un ) (15) ∂2 F ∂u2 n+1 ∂ 2 F (un+1 ) ∼ T = 2Jm Jm ∂u2n+1 δun+1 = − (17) JTm ê JTm Jm (18) (18) ifadesinden de görüldüğü gibi artık 1. dereceden türevlere ihtiyaç duyulur. Bu durumda (12) denklemindeki Jacobian matrisi zincir kuralından faydalanılarak aşağıdaki gibi 2 farklı matris şeklinde yazılabilir. ∂ ŷn+1 (11) ∂un+1 J=− (12) ∂ ŷn+2 ∂un+1 .. . ∂ ŷn+K ∂un+1 √ ∂F ∂un+1 Bu aşamadan sonra düzeltme terimi aşağıdaki gibi yazılabilir. λ(un+1 −un ) ∂KD .. . ∂ ŷn+K ∂KI ∂ ŷn+K ∂KP √ √ λ(un+1 −un ) ∂KI ∂ .. . (14) (15) denklemine göre amaç fonksiyonunun δun+1 ’e göre 1. ve 2. türevlerinin hesaplanması gerekmektedir. Ancak 2. dereceden türevlerin hesaplama karmaşıklığı nedeniyle bu türevler yerine Jacobian yaklaşıklıkları kullanılabilir. (K + 1) × 1 boyutlu Jm Jacobian matrisi, [ √ ]T ∂ ŷn+K ∂ ŷn+2 ∂ ŷ · · · λ Jm = − ∂un+1 ∂u ∂u n+1 n+1 n+1 (16) şeklinde ise 1. ve 2. dereceden türevler Jm vektörü kullanılarak aşağıdaki şekilde tanımlanır. J = 1 ∂ 2 F (un+1 ) (δun+1 )2 2 ∂u2n+1 Amaç fonksiyonunu en küçük yapan δun+1 terimi arandığı için F ’nin δun+1 ’e göre türevi alınıp sıfıra eşitlenirse; k=1 ∆KP ID = −(JT J + µI)−1 JT ê ∂F (un+1 ) δun+1 ∂(un+1 ) [ ∂un+1 ∂KP ∂un+1 ∂KI ∂un+1 ∂KD ] (19) λ =Jm Jc (13) burada Jc vektörü, un+1 ’in PID parametrelerine göre parçalı türevleridir. Bu türevler sadece izleyici hatası kullanılarak aşağıdaki formda yazılabilir: Bu aşamada artık PID parametreleri her adımda güncellenir. Güncellenen parametreler her zaman kabul edilebilir bir kontrol üretebilecek kadar uygun bir değerde olmayabilir. Bu durumda bu kontrol hareketi sistemi istenen yörüngeye götürmede T en − en−1 Jc = en en − 2en−1 + en−2 104 (20) Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Sonuçta, Jm vektörü, PID parametrelerini güncellemek için (12) denklemindeki Jacobian matrisinin hesabında ve ayrıca düzeltme terimini bulmada (15) kullanılır. Uygun bir δun+1 hesaplandığında amaç fonksiyonunu en küçük yapma özelliğinden dolayı Jm vektörünün yapı içindeki etkisi açıkça görülmektedir. Bu çalışmada, Jm vektörü çalışmasında önerilen RK modeli ile hesaplanmaktadır. Sistemin K− adım ileriye doğru olan çıkışlarının kestirimi, RK modeli sayesinde denklem (5) ile iteratif bir şekilde gerçekleştirilir. Burada ([t + Ts t + KTs ]) periyodunda aday kontrol vektörünün (un ) değişmediği varsayılmaktadır. Böylece ileriye yönelik kestirimler [ŷn+1 , . . . , ŷn+K ] şeklinde olur. Jm Jaco∂ ŷ ∂ ŷ terimleri zincir bian vektörünü oluşturan ∂un+1 , . . . , ∂un+K n+1 n+1 kuralı yardımıyla genel olarak ∂ ŷn+K ∂T g ∂ x̂n+k = , ∂un+1 ∂x x=x̂[n+k] ∂un+1 şeklindedir. Ayrıca (24) denklemi için gereken kontrol işaretine göre RK model-tabanlı parçalı türevler ise aşağıdaki gibidir: ∂k1 ∂f (x, u) ∂f = Ts = Ts ∂un+1 ∂un+1 ∂un+1 x=x ∂k2 ∂f (x + 0.5k1 , u) = Ts ∂un+1 ∂un+1 ) ( ∂f (x + 0.5k , u) ∂(x + 0.5k ) ∂f 1 1 = Ts + ∂(x + 0.5k1 ) ∂un+1 ∂un+1 x=x+0.5k1 ( ) ∂f ∂k1 ∂f = Ts 0.5 + ∂x x=x+0.5k1 ∂un+1 ∂un+1 x=x+0.5k1 (30) ∂k3 ∂f (x + 0.5k2 , u) = Ts ∂un+1 ∂un+1 ) ( ∂f (x + 0.5k , u) ∂(x + 0.5k ) ∂f 2 2 + = Ts ∂(x + 0.5k2 ) ∂un+1 ∂un+1 x=x+0.5k2 ( ) ∂f ∂k2 ∂f + = Ts 0.5 ∂x x=x+0.5k2 ∂un+1 ∂un+1 x=x+0.5k2 (31) ∂k4 ∂f (x + k3 , u) = Ts ∂un+1 ∂un+1 ( ∂f (x + k , u) ∂(x + k ) ) ∂f 3 3 (32) = Ts + ∂(x + k3 ) ∂un+1 ∂un+1 x=x+k3 ( ∂f ) ∂f ∂k3 = Ts + ∂x x=x+k3 ∂un+1 ∂un+1 x=x+k3 (21) T şeklinde hesaplanır. (21) eşitliğinde ∂∂xg terimi sabittir. Burada ∂ x̂ esas hesaplanması gereken ∂un+k ifadeleri aşağıdaki gibi adım n+1 adım bulunur. ∂ x̂n+k−1 ∂ x̂n+k ∂ f̂ ∂ f̂ = + x=x̂[n+k−1] ∂un+1 ∂x un+1 =un+1 ∂un+1 ∂un+1 ux=x̂[n+k−1] n+1 =un+1 (22) burada ∂ f̂ ∂(x + k) = ∂xn ∂xn 1 ∂k1 1 ∂k2 1 ∂k3 1 ∂k4 =I+ + + + . 6 ∂xn 3 ∂xn 3 ∂xn 6 ∂xn şeklindedir. 3. Ölçüt Sistem ve Benzetim Sonuçları RK-PID yapısı, MATLAB benzetim ortamında doğrusalolmayan, sürekli-zamanlı ve matematiksel dinamikleri bilinen bioreaktör sistemine uygulanmıştır. Doğrusal-olmayan bioreaktör sistem dinamikleri, (23) ve ∂ f̂ ∂(x + k) ∂k = = ∂un+1 ∂un+1 ∂un+1 = 1 ∂k1 1 ∂k2 1 ∂k3 1 ∂k4 + + + 6 ∂un+1 3 ∂un+1 3 ∂un+1 6 ∂un+1 (29) ċ1 (t) = −c1 (t)u(t) + c1 (t)(1 − c2 (t))ec2 (t)/γ , 1+β 1 + β − c2 (t) (33) şeklindedir. Burada u(t) akış debisini göstermek üzere kontrol işaretidir. c1 (t) hücre yoğunluğu ve c2 (t) birim hacim başına düşen besin miktarı olup y(t) = c1 (t) şeklindedir. Bioreaktör sisteminin nominal parametreleri, γ = 0.48, β = 0.02 gibidir. Kontrol işaretinin tepe değerleri umin = 0 ve umax = 2, örnekleme süresi ise τmin = τmax = 0.01s aralığında tutulmuştur. RK-PID denetleyicisinin amacı, akış debisini kontrol ederek referans işaretini takip etmektir. Çalışmada benzetim sonuçları birkaç kestirim ufku için denenmiştir ancak en iyi sonuç K = 10 ve ceza terimi λ = 0.001 parametreleri için elde edilmiştir. K < 10 değerleri için ileri yönlü düzeltmenin kısa olmasından dolayı PID parametreleri doğru bir şekilde ayarlanamamaktadır. Bu durum çıkış işaretinde salınımlara neden olmaktadır. K > 10 değerleri için iyileştirme olmakla beraber önemli oranda bir değişim yoktur. Bunun yanında K− adım için hesaplanacak türev işlemleri arttığı için hesaplama süresi uzamaktadır. Bu yüzden en uygun K değeri 10 olarak seçilmiştir. λ parametresinin 0.001’den küçük değerleri için kontrol işaretindeki cezalandırma küçük olduğu için daha geç izleme yapılabilmektedir. λ > 0.001 değerleri ile daha hızlı izleme yapılmasına rağmen kontrol işaretinde osilasyona neden olduğundan sistemin daha geç oturmasına neden olmaktadır. (24) ċ2 (t) = −c2 (t)u(t) + c1 (t)(1 − c2 (t))ec2 (t)/γ şeklindedir. (23) denklemindeki durumlara göre hesaplanan RK model-tabanlı parçalı türevler: ∂f (x, u) ∂f ∂k1 = Ts = Ts x =xn ∂xn ∂xn ∂xn un n+1 =un+1 (25) ∂f (x + 0.5k1 , u) ∂k2 =Ts ∂xn ∂xn ∂f (x + 0.5k1 , u) ∂(x + 0.5k1 ) =Ts ∂x+ 0.5k1 ∂xn ( ) ∂f ∂k1 =Ts ) xn =xn +0.5k1 (I + 0.5 ∂xn un+1 =un+1 ∂xn (26) ∂k3 ∂f (x + 0.5k2 , u) =Ts ∂xn ∂xn ∂f (x + 0.5k2 , u) ∂(x + 0.5k2 ) =Ts ∂x+ 0.5k2 ∂xn ( ) ∂f ∂k2 =Ts ) xn =xn +0.5k2 (I + 0.5 ∂xn un+1 =un+1 ∂xn (27) ∂k4 ∂f (x + k3 , u) =Ts ∂xn ∂xn ∂f (x + k3 , u) ∂(x + k3 ) =Ts ∂x+ k3 ∂xn ( ) ∂f ∂k3 =Ts (I + ) x =xn +k3 ∂xn un ∂xn n+1 =un+1 (28) 105 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Basamak ve sinüzoidal işaretlerin bir arada kullanıldığı referans işareti için elde edilen çıkış, kontrol işareti ve düzeltme terimi ile ilgili uygulama sonuçları Şekil 2’de, bu referans işaretlerini takip edebilmek için RK-PID yapısı ile uyarlamalı PID parametrelerinin değişimi ise Şekil 3’te görülmektedir. 0.02 0.01 0 K P −0.01 −0.02 −0.03 −0.04 0.26 −0.05 0.24 −0.06 0 10 20 30 40 50 30 40 50 30 40 50 zaman [sn] 0.22 0.2 yref,y 0 0.18 −0.1 0.16 −0.2 0.14 −0.3 0.12 −0.4 KI yref y 0.1 0 10 20 30 40 −0.5 −0.6 50 zaman [sn] −0.7 −0.8 −0.9 2 −1 1.8 0 10 20 zaman [sn] 1.6 1.4 0.01 u(t) 1.2 1 0 0.8 −0.01 0.6 −0.02 0.4 0 K D 0.2 0 5 10 15 20 zaman [sn] 25 30 35 40 −0.03 −0.04 −0.05 1.5 −0.06 1 −0.07 düzeltme terimi:δun+1 0 10 20 zaman [sn] 0.5 0 −0.5 Şekil 3: RK-PID denetleyici ile Bioreaktör sistem kontrolündeki PID parametreleri −1 −1.5 −2 −2.5 −3 0 10 20 30 40 50 doğru bir şekilde ayarlanır. Elde edilen uygun parametrelerle sistem için gerekli olan kontrol işareti üretileceğinden RK-PID uyarlama bloğunun denetleme işlemi boyunca sürekli devrede olmasına gerek duyulmayacaktır. Bu da hesaplama zamanı açısından bir avantaj olarak düşünülmektedir. zaman [sn] Şekil 2: RK-PID denetleyici ile Bioreaktör sistem kontrolü Şekil 4 ve Şekil 5’te ise basamak işareti için elde edilen sonuçlar görülmektedir. Burada izleme hatasının ve referans işaretinin oranına bakılarak RK-PID yapısının devrede ya da devre dışında olmasına karar verilmektedir. Şekil 1’de uyarlama bloğu olarak gösterilen RK-PID yapısı ∑H h=1 (ỹ[n] − ŷ[n − ∑H 2 h=1 ỹ [h] h])2 <ϵ 4. Sonuçlar Bu çalışmada, doğrusal-olmayan sürekli-zamanlı sistemlerin ayrık zamanlı Runge-Kutta modeli kullanılarak modelöngörülü uyarlamalı PID (RK-PID) denetleyicisi önerilmiştir. Önerilen RK-PID denetleyicisinde, sistemin RK modeli aday kontrol vektörü ile sistemin gelecekte üreteceği cevabın kestirimini yapar. Denetleme işlemi sırasında bazı modelleme hataları ve harici bozucuların kontrol hareketine olumsuz etkilerini engellemek için PID denetleyicisinin ürettiği kontrol işareti sisteme uygulanmadan önce bir düzeltme terimi ile düzeltilir ve düzeltme terimi hesabındaki Jacobian bloğu sistemin RK modeli ile hesaplanır. Önerilen denetleyicinin başlıca katkısı, model-öngörülü tahminlemeden dolayı hızlı biçimde PID parametrelerinin ayarlanması, bozucu etkilere ve referans değişimlerine karşı gürbüz olmasıdır. Benzetim sonuçlarında, Bioreaktör sistemi RK-PID denetleyicisi kullanılarak değişken referans sinyalini takibi hızlı ve doğru şekilde gerçekleştirilmiştir. Planlanan çalışmada ise önerilen RK-PID denetleyicisi gerçek-zamanlı sisteme uygulanacaktır. (34) şartı sağlandığında devreden çıkarılmaktadır. ϵ > 0 ve küçük bir sayı olmak üzere H < K olacak şekilde seçilmesi durumunda hem hata toplamını hem de referans değişimini dikkate alan sezgisel bir yol izlenmiştir. Burada amaç uyarlama bloğunun gerekli olmadığı durumlarda çalışmasını durdurmaktır. Uyarlama bloğunun devre dışında kalması, ayarlanan PID parametreleri ile sinyal izlemenin sorunsuz olarak devam etmekte olduğunu göstermektedir. Şekil 4’deki çıkış ve referans değişimi grafiğinden de görüldüğü gibi basamak işaretindeki değişme anına gelmeden Denklem (34) şartı sağlanmadığı için uyarlama bloğu RK-PID devreye alınarak kontrol işaretini ve PID parametrelerini ayarlayan ∆KP ID ve δun+1 terimlerinin tekrar güncellenmesi sağlanmıştır. Bu sayede model-öngörülü uyarlamalı PID yapısı ile PID parametreleri kısa sürede ve 106 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya 0.26 0.02 yref y 0.24 "ON" "OFF" 0 0.22 −0.02 "ON" P "OFF" K yref,y 0.2 0.18 −0.04 0.16 −0.06 0.14 "OFF" "ON" 0.12 −0.08 "OFF" 0.1 0 5 10 15 20 zaman [sn] 25 30 35 −0.1 40 0 5 10 15 20 zaman [sn] 25 30 35 40 0 5 10 15 20 zaman [sn] 25 30 35 40 0 5 10 15 20 zaman [sn] 25 30 35 40 0 2 1.8 1.6 1.4 −0.5 KI u(t) 1.2 1 0.8 −1 0.6 0.4 0.2 0 0 5 10 15 20 zaman [sn] 25 30 35 −1.5 40 3 0.01 0 2 1 D −0.02 0 K düzeltme terimi:δun+1 −0.01 −0.03 −0.04 −1 −0.05 −2 −0.06 −3 0 5 10 15 20 zaman [sn] 25 30 35 −0.07 40 Şekil 4: RK-PID denetleyici on/off durumları için Bioreaktör sistem kontrolü Şekil 5: RK-PID denetleyici on/off durumları için Bioreaktör sistem kontrolündeki PID parametreleri 5. Kaynakça level,” Nuclear Science, IEEE Transactions on, vol. 48, no. 5, pp. 1664–1671, 2001. [1] J.G Ziegler and N. B. Nichols, “Optimum settings for automatic controllers,” Transactions of the ASME, vol. 64, pp. 759–768, 1942. [8] Min Xu, Shaoyuan Li, Chenkun Qi, and Wenjian Cai, “Auto-tuning of PID controller parameters with supervised receding horizon optimization,” ISA Transactions, vol. 44, no. 4, pp. 491 – 500, 2005. [2] K.J. Astrom, T. Hagglund, C.C. Hang, and W.K. Ho, “Automatic tuning and adaptation for PID controllers - a survey,” Control Engineering Practice, vol. 1, no. 4, pp. 699 – 714, 1993. [9] S. Iplikci, “Runge-Kutta model-based adaptive predictive control mechanism for non-linear processes,” Transactions of the Institute of Measurement and Control, vol. 35, no. 2, pp. 166–180, 2013. [3] KJ Astrom, T Hagglund, and Controllers PID, “Theory, design and tuning,” Research Triangle Park: 2nd Ed. Instrumentation, Systems and Automatic Society, 1995. [10] S. Iplikci, “Dogrusal-olmayan sistemler icin Runge-Kutta model-tabanli uyarlamali ongorulu kontrol,” in Otomatik Kontrol Turk Milli Komitesi, Otomatik Kontrol Ulusal Toplantisi, TOK12, 2012. [4] Wei-Der Chang and Jun-Juh Yan, “Adaptive robust PID controller design based on a sliding mode for uncertain chaotic systems,” Chaos, Solitons & Fractals, vol. 26, no. 1, pp. 167 – 175, 2005. [11] M. Cetin ve S. Beyhan ve S. Iplikci, “Runge-Kutta modeltabanli dogrusal olmayan gozetleyici ile durum kestirimi,” in Otomatik Kontrol Turk Milli Komitesi, Otomatik Kontrol Ulusal Toplantisi, TOK12, 2012. [5] Selami Beyhan and Musa Alci, “Stable modeling based control methods using a new RBF network,” ISA Transactions, vol. 49, no. 4, pp. 510 – 518, 2010. [12] S. Beyhan, “Runge-Kutta model-based nonlinear observer for synchronization and control of chaotic systems,” ISA Transactions, vol. 52, no. 4, pp. 501–509, 2013. [6] S. Iplikci, “A comparative study on a novel model-based pid tuning and control mechanism for nonlinear systems,” International Journal of Robust and Nonlinear Control, vol. 20, no. 13, pp. 1483–1501, 2010. [7] Man Gyun Na, “Auto-tuned pid controller using a model predictive control method for the steam generator water 107 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya GÜDÜMLÜ FÜZELER ĐÇĐN DEĞĐŞTĐRĐLMĐŞ UYARLAMALI GERĐ-ADIMLAMA KONTROLÜ Ömer Güvenç Karaoğlan1, Fuat Gürleyen2 1,2 Kontrol ve Otomasyon Mühendisliği Bölümü Đstanbul Teknik Üniversitesi okaraoglan@itu.edu.tr, gurleyen@itu.edu.tr katsayısının ≅ 10 katıdır). Genel uygulamanın aksine bu çalışmada kontrol yüzeyi hareketinin (δ) kuvvet etkisi ihmal edilmeyerek daha doğru bir model kullanılacaktır. Güdümlü füzeler bilindiği üzere değişen ve belirsiz parametrelerin fazlaca bulunduğu sistemlerdir. Füze aerodinamik katsayılarının genelde o andaki hız, yükseklik ve hücum açısına (α) bağlı değiştiği göz önüne alınarak katsayı değerleri tablolar halinde verilir. Değişik uçuş modlarında kontrol için kullanılan kazanç programlaması (gain scheduling) bu tip sistemler için çok uygun olduğundan her uçuş modu için farklı tablolar (look-up table) aktifleştirilerek sistem kontrolü sağlanır. Bu parametreler farklı uçuş modları baz alınarak rüzgar tüneli testiyle (wind-tunnel test) hesaplanmaktadır. Son zamanlara kadar olan uygulamalarda güdümleme ve kontrol kısımları ayrı ayrı tasarlanarak füzelere uygulanmıştır. Fakat ayrı olarak iyi çalışsa bile güdümleme ve kontrol kısımları birbirlerini olumsuz etkileyebilmekte ve sistem performansını düşürebilmektedir. Bu sebeple güdümleme ve kontrol kısımları bir arada tasarlanarak (integrated guidance and control) başarılı sonuçlar alınmaktadır. Yapılan tasarımdaki kriterler füzenin satıhtan satıha (surface-tosurface-missile SSM), satıhtan havaya (surface-to-air-missile SAM), havadan havaya (air-to-air missile AAM) veya havadan satıha (air-to-surface-missile ASM) olmasına göre değişiklik gösterilebilir. Çünkü değişik uygulamalarda füzenin ilk hızı (füzenin uçaktan fırlatılması ya da yerden fırlatılması), fırlatma açısı, hedefe çarpma açısı veya çarpma zamanı önceden belirlenmiş olabilir. Çalışma [11]’de farklı füze kontrol sistemleri konusunda genel bilgi verilmiştir. [12-14] çalışmalarında entegre güdümleme ve kontrol problemi incelenmiştir. [15,16] çalışmalarında önceden belirlenmiş tüm uçuş modlarını (fullenvelope) kapsayan kontrol sağlanmıştır. [17-21] çalışmalarında füze sistemlerinde giriş ve durum değişkenlerinin sınırlı olması göz önüne alınmış ve bu değerlerin alt ve üst değerleri büyüklük, büyüklüğün değişimi ve bant genişliği kısıtlarıyla sınırlandırılmıştır. Bunun yanında değişik filtrelerin kullanımı geri-adımlama yönteminin uygulanmasını zorlaştıran, kısmi türevler yüzünden çok fazla terimin hesaplamaya katılması problemini (explosion of terms), çözmüştür. [22-24] çalışmalarında dual kontrol olarak adlandırılan füzede itkiyi sağlayan ana kaynağın yanında özellikle uçuşun son aşamalarında seri ivmelenme gereksinimine cevap verebilecek yardımcı elemanların kullanımı incelenmiştir. [25,26] çalışmalarında geri-adımlama yöntemine de uygulanabilecek dinamik kayma yüzeyiyle tasarım yapılmıştır. [27]’de değişen kayma yüzeyleri durum bağımlı Riccati denklemi-SDRE (state dependent Riccati equation) kullanılarak eşzamanlı (online) olarak Özetçe Bu çalışmada, uyarlamalı geri-adımlama yöntemi (adaptive backstepping) güdümlü füze kontrol problemine uygulanmıştır. Standart geri-adımlama algoritması sadece üçgen yapıdaki (triangular form) modellere uygulanabilirken literatürde bu yöntemin üçgen yapıda olmayan farklı bazı sınıflardaki modellere de uygulanabileceği gösterilmiştir. Değiştirilmiş uyarlamalı geri-adımlama olarak adlandırılacak bu yaklaşım sayesinde, uyarlamalı geri-adımlama yöntemi kullanılarak yapılan güdümlü füze kontrolü çalışmalarının tamamında ihmal edilen, sistem girişi olan kontrol yüzeyi hareketinin kaldırma kuvvetine (lift) olan etkisi ihmal edilmeyerek, sistemin daha doğru bir model üzerinden kontrolü sağlanmıştır. 1. Giriş Güdümlü füze kontrolörü ya da otopilot (guided missile controller or autopilot); sistemin doğru, hızlı ve kararlı bir şekilde istenilen şekilde hareketini sağlamak üzere tasarlanmış, tüm uçuş modlarında geçerli ve tüm bozuculara, modellenememiş ve öngörülmeyen tüm dinamiklere karşı gürbüz (robust) kontrol sağlayan sistemdir [1]. Güdümlü füzeler temelde, güdümleme kısmında üretilen ivmenin kontrol kısmında referans giriş olarak kullanılmasını esas alan sistemlerdir. Füze bu kontrolü üzerinde bulunan kontrol yüzeylerini hareket ettirerek sağlar. Güdümlü füzelerde manevra, oluşturulan kaldırma kuvveti (lift force) ile sağlanır [2]. Güdümlü füzede kontrol yüzeyi hareketiyle (control surface deflection) oluşan açısal pozisyon değişimi (δ), hücum açısı (angle of attack (α)) ya da kayma açısı (sideslip angle (β)) oluşturur. Bu açısal pozisyon ve hücum açısı değişimi füzede bir kaldırma kuvveti (lift-L) veya yanal kuvvet (side force-Y) meydana getirir. Bu kuvvetler füzenin hem ivmelenmesini sağlar hem de füzenin ağırlık merkezi etrafında dönme etkisi oluşturur. Uyarlamalı geri-adımlama yöntemi saf parametrik geribeslemeli (parametric pure feedback) ve parametrik kesin geribeslemeli (parametric strict feedback) sistemlere uygulanabilir [3,4]. Bu yöntemin kullanıldığı güdümlü füze kontrolü çalışmalarının tamamında, kontrol edilen sistemi alt üçgensel biçime dönüştürmek için kontrol yüzeyi hareketi sonucunda oluşan kuvvet ihmal edilmiş ve sadece hücum açısı değişimi etkisiyle oluşan kaldırma kuvveti dikkate alınmıştır. [5-10]. Eğer bu basitleştirme yapılmazsa standart geriadımlama algoritması güdümlü füze kontrol problemine uygulanamaz. Bu basitleştirmeyi yapmaktaki dayanak, kontrol yüzeyi açısal hareketinin (δ) oluşturduğu moment etkisinin oluşturduğu kaldırma kuvveti etkisine göre daha büyük olmasıdır (moment aerodinamik katsayısı kuvvet aerodinamik 108 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya hesaplanmaktadır. [28,29]’da gürbüz (robust) kontrolörlerin uygulanması gösterilmiştir. Akıllı kontrol uygulaması olarak [6,30]’da yapay sinir ağları, bozucuların ve modellenemeyen dinamiklerin etkisinin hesaba katılmasında büyük iyileştirme sağlamıştır. 1 V& = [T cos(α ) − D ] − g sin γ m 1 g γ& = [ L + T sin(α )] − cos γ mV V Güdümlü füzeleri ifade etmek için dinamik denklemlerin doğru şekilde belirlenmesi lazımdır. Uzayda serbest hareket eden cisimlerin üçü öteleme ve üçü de dönme olmak üzere altı serbestlik derecesi vardır. Füze kontrol algoritmalarında p, q, r değerleri füzenin kendi eksenleri üzerinde tanımlı (body-axis frame) dönme (roll), yunuslama (irtifa-pitch) ve sapma (yaw) açısal hız değerleridir ve hızlı değişen dinamikler olarak düşünülür. α, β, γ değerleri ise hücum açısı, kayma açısı ve uçuş rotası açısı (flight path angle) açılarıdır ve yavaş değişen dinamikler olarak düşünülür. Đç içe iki zaman ölçülü (two-time scale) uygulamada yavaş değişen dinamiklerin dış döngüde kullanılması gerekir. Füze üzerinde etkiyen kuvvetler itki kuvveti (thrust-T), kaldırma (lift-L), sürtünme (drag-D) ve yanal kuvvettir (side force-Y). q& = pr[ (I z − I x ) M ]+ Iy Iy (9) (10) θ , q , m, V sırasıyla yunuslama açısı (pitching angle), yunuslama açısal hızı (pitching angular velocity), kütle ve füzenin hızıdır. Füze hareketinde ihmal edilmesine rağmen füze, boylamsal ekseni ve sürtünme kuvveti yönünde de ivmelenir. Hücum açısı ( α ) ve yunuslama açısal hızı (q) yüksekliğin hızın ve sabit olduğu bir çalışma noktasında yer çekimi ivmesi ihmal edilerek lineerleştirilerek incelenebilir [32]. α& = Z α α + q + Z δ δ (11) q& = M α α + M δ δ (12) (1) q FX , u Füze dinamik denklemleri verilirken genelde sadece hareketin boylamsal eksende (x-z) kısıtlı olduğu kabul edilmektedir. Bu bölümde füze noktasal bir cisim olarak kabul edilerek üçboyutlu denklemler verildikten sonra hangi durumlarda söz konusu basitleştirmenin yapılabileceğine değinilecektir. 1 )[− D sin β sin φ − Y cos β sin φ + L cos φ + T (sin α cos φ + γ& = ( mV g cos α sin β sin φ )] − cos γ (2) V α =θ −γ T cosα cos β − D cosφ + Y sin β V& = − g sin γ m θ& = q cosφ − r sin φ (8) θ& = q α& = θ& − γ& 2. Güdümlü Füze Dinamikleri L = C L QS , D = C D QS , Y = CY QS (7) ϕ FY , v α r β p FZ , w VT Şekil1: Kanatçık (canard) kontrollü füze modeli (3) Daha önce değinildiği gibi standart geri-adımlama metodunun uygulanabilmesi için sistemin (13)’te gösterilen kesin geribesleme biçiminde ve belirsiz parametrelerin girişe göre lineer çarpım (affine linear) şeklinde olması gerekir. Girişin kuvvet etkisi moment etkisine göre az olduğu için uyarlamalı geri-adımlama kullanılan bütün çalışmalarda Zδ δ = 0 kabul edilmiştir [5-10]. (4) (5) (6) Füzenin kuyruk yüzeyinin haç biçiminde (cruciform) olduğu kabul edilerek (y-z eksenleri simetrisi, eylemsizlik çarpımı Jxz=0 ve eylemsizlik momenti Iz=Iy). Ayrıca dönme açısal hızı p=0 ve dönme açısı ϕ=0 olarak kabul edildiğinde boylamsal ve yanal düzlemler ayrı olarak incelenilebilir. Boylamsal düzlemde tasarlanan kontrolör yanal düzlemde de benzer mantıkla kullanılabilir. STT (skid to turn) yapısında kuyruk ‘+’ veya ‘x’ biçiminde olabilir. Aralarındaki fark ‘+’ kuyruk modelinde dönme açısı 00 iken ‘x’ tipinde dönme açısının 450 olmasıdır. Rüzgar tüneli testinden elde edilen katsayılar genellikle ‘+’ kuyruk yapılı füze için, füze eksenleri merkezli referansta (body axis frame) verilir. Bu katsayılar ‘x’ kuyruklu bir füzede kullanılacaksa katsayıların 1.414(2cos(450) ile çarpılması gerekir [31]. Ayrıca STT özelliği nedeniyle boylamsal incelemede yanal kuvvet (Y)=0, kayma açısı (β)=0 ve dönme açısı (ϕ)=0 olur. Bu mantıkla füzenin boylamsal hareket denklemleri basitleştirilerek (7-10)’daki gibi ifade edilir. 3. Uyarlamalı Geri-adımlama Đntegratör ve uyarlamalı geri-adımlama yaklaşımında, durumlar her alt sistem için giriş olarak değerlendirilir ve her alt sistemi Lyapunov anlamında kararlı kılacak kontrol kuralı (stabilizing control law) bulunur. Bu durumlar için; durumun gerçek değeriyle ideal değeri olarak adlandırılabilecek kararlı kılıcı kontrol kuralı arasındaki farkı ifade edecek hata (z) ve belirsiz parametreler için ayarlama fonksiyonları (tuning function) tanımlanır. Her bir adımda Lyapunov kararlılığı sağlayacak şekilde ilerlenerek son aşamada gerçek kontrol kuralı bulunur. x&1 = x2 + ϕ1T ( x1 ) θ x&2 = x3 + ϕ 2T ( x1, x2 ) θ x&n = β ( x) u + ϕ nT ( x) θ 109 (13) for i = 1,..., n Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Değiştirilmiş geri-adımlama probleminde ise sistem üçgensel formda olmasa dahi çözüme ulaşılmaktadır. Đşlem yoğunluğunu azaltmak adına doğrudan türev almak yerine yaklaşık bir çözüm olmasına rağmen dinamik kayma yüzeyli tasarımlar kullanılarak geri-adımlama yönteminin en büyük dezavantajı yok edilmeye çalışılmıştır [25,26]. Standart geriadımlama uygulamasındaki ikinci problem ise giriş ve durumların doyuma (saturation) girmesini göz önüne alacak bir model oluşturulamamasıdır. Bu problem için de çeşitli filtreler uygulanarak sorun aşılmaktadır [17-21]. Aşağıdaki gibi alt-üçgen formda olmayan nonlineer bir yapıyı ele alalım. Ayarlama fonksyionu τ 1 x&(t) = f (x) +φ(x).θ + (g(x) +ψ (x).θ ).u +η(x, w, t) τ1 = Γw1T z1 ve ĥ (1) tanımlanır. (26) (27) θ = θ1 , θ 2 ...., θ p → bilinmeyen skalar sabit katsayı vektörü hˆ (1) = −α1 + y& r α1 ( x, t ) = (c1 + ς 1 ) z1, c1 > 0 (28) η ( x, w, t ) ϵ R → bozucu işaretler ve modellenemeyen dinamikler için eklenen nonlineer fonksiyon, w= zamanla değişen bilinmeyen parametre. Algoritmanın uygulanabilmesi için: ς1 = y(t ) = h( x) 1 2 1 ~T −1 ~ z1 + θ Γ θ (24) 2 2 Γ ϵ Rpxp simetrik kesin pozitif matris. Bu şekilde Lyapunov V1 = fonksiyonun zamana gore türevi alınarak kesin negatif olacak şekilde α1 (stabilizing control law) bulunur. ~ & V&1 = z1 z&1 + θ T Γ −1 ( −θˆ) ~ (14a,b) [ ] T n a) b) Nominal sistem gözlenebilir ve minimum fazlı olmalıdır. Bu algoritmada amaç sınırlı bir yref işaretini izlemektir (tracking problem). yref referans işaretinin türevlerinin de sürekli ve sınırlı (bounded) olması gerekir. Đlk olarak hata tanımlanır (17) ∂hˆ ( 0) [ f + φθ + ( g + φθ )υ1 + η ] − y& r ∂x ~ = hˆ (1) − y& r + w1θ + ξ1 ~ Tanım gereği θ = θ − θˆ ∂hˆ (0) η= ∂x n ∂hˆ (0) ∑ ∂x j =1 −1 . ( n−1) ˆ ∂α n−1 ∂h + ∂υ n−ρ ∂υ n−ρ (18) ∑ (19) ∑ (20) (21) & θˆ = τ n = Γ (22) n ∑w z j j =1 olarak ayarlanırsa nj (31) ∑ θˆ = kestirilmiş θ değeri ∂hˆ ( 0) hˆ (1) ( x,θˆ,υ1 ) = [ f + φθˆ + ( g + ψθˆ)υ1 ] ∂x Regresör fonksiyon w1 ∂hˆ (0) w1 = (φ +ψυ1 ) ∂x (30) ∂hˆ ( n−1) ∂α n−1 + )[ f + φθˆ + ( g +ψθˆ)υ1 ] + ... ( ∂x ∂x n−1 ( j −1) ∂hˆ ( n−1) ∂α ˆ ∂h + n−1 + ( z j + ... ∂t ∂θˆ ∂t j =2 n−1 ∂α j −1 ∂hˆ (n−1) ∂α n−1 T )Γwn + ( + )τ n + ... zj (32) ∂θˆ ∂θˆ ∂θˆ j =3 n − ρ −2 ( n − 1 ) ∂α n−1 ∂hˆ (n) ( )υ j +1 + ... + z n−1 + cn z n − y r + ∂ ∂ υ υ j j j =1 ς z n n cn>0 sabit katsayı ve parametre ayarlama kuralı z&1 = y& − y& r = υ1 =u , υ2 = u&,......, υ j = u j −1 (29) u = υ1 , υ&1 = υ 2 , υ&2 = υ 3 şeklinde υ&n− p = ve hˆ (0) = h( x) j =1 ∂hˆ (0) 2 2 ) qj ∂x j z n = hˆ ( n −1) + α ( n −1) − y r( n −1) Adım1 (16) ∑ ( olur. Adım n (15) z1 = y − y r = hˆ ( 0) − y r n ~ & V&1 = − c1 z12 + z1 z 2 + z1ξ1 + θ T Γ −1 (τ 1 − θˆ) − ς 1 z12 bilinmelidir. ξ1 = n at e 4ε (25) Đlk adım için seçilen Lyapunov fonksiyonunun türevi ise η ( x, w, t ) zamanla değişen fonksiyonun sınırı ηi ( x, w, t ) ≤ qi (x ) 1 ≤ i ≤ n & = z1[ hˆ (1) − y& r + ξ1 ] + θ T Γ −1 (Γw1T z1 − θˆ) (23) j V Lyapunov fonksiyonu kesin pozitif (positive definite) seçilerek 110 j (33) Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya n V&n = ∑ ~ & ci zi2 + θ T Γ −1 (τ n − θˆ) + i=1 n ( ∑ zj j =2 n ∑(ξ z j j j =1 ∂hˆ ( j −1) + ∂θˆ n ∑z j j =3 y = x1 − ς j z j 2 ) + ... ∂α j −1 ˆ& (n + 1)ε −at e )(θ − τ n ) − 2 ∂θˆ Algoritmanın uygulanabilmesi için gerekli koşullar sağlanmaktadır. Sistem gözlenebilirdir ve minimum fazlıdır. Gerçekte, kuyruk kontrollü füze modellerinde transfer fonksiyonunun minimum fazlı olmayacak (nonminimum phase) şekilde elde edilmesi beklenir [35-37]. Eğer sistem çıkışı olarak ‘α- hücum açısı’ yerine ‘endüklenen ivme’ seçilmiş olsaydı elimizdeki transfer fonksiyonu minimum fazlı olmazdı. Bu seçim sayesinde minimum fazlı bir model kullanmış olmamıza rağmen gerçek çıkış olan ‘ivme’ yerine ‘hücum açısını’ çıkış olarak kullanmak az da olsa bir modelleme hatasına neden olur [22,29]. Kullandığımız minimum fazlı sistem üçüncü dereceden olup, çıkış x1 alındığında bağıl giriş-çıkış derecesi 2’dir. Bu da bize giriş çıkış ilişkisinde görünmeyen bir iç dinamik olduğunu gösterir. Eğer tasarlanan kontrolör sistemin iç dinamiklerini de kararlı yapmıyorsa sistem çalışırken sorun çıkacaktır. Lineer sistemler için minimum fazlı olmak aynı zamanda iç dinamiklerin de kararlı olacağı anlamına geldiği için ([36]), (38)’i herhangi bir kanonik ya da normal biçime (normal form) dönüştürmeye gerek yoktur. Sistemin transfer fonksiyonunda sağ yarı düzlemde kalan sıfırı olmadığı için iç dinamiklerinin kararlı olduğu sonucuna varılır. (34) n ∑c z ≤− 2 i i i =1 olarak elde edilir ki bu da Lyapunov fonksiyonunun zamana gore değiminin negatif olacağı anlamına gelir. n Wn = ∑c z 2 i i seçilir ve integrali alınırsa (35) ∫ W ( z (s))ds ≤ V (0, z (0)) − V (t , z (t )) (36) i =1 t n n n 0 t ∫ W ( z (s))ds vardır n ve sonludur. Böylece Barbalat 0 lim t →∞ Wn = 0 o halde t → ∞ yaklaşınca zi → 0 olur ve z sistemi kararlıdır. Sonuç olarak y − y r → 0 olur ki bu da izleme (tracking) probleminin lemmadan α u çözümü anlamına gelir. Lyapunov anlamında kararlılık analizinden de görülebileceği gibi teorik olarak hata ancak t → ∞ giderken sıfırlanır. ρ = sistemin bağıl giriş-çıkış derecesidir (relative degree) (s) = − (0.89s + 662) (0.02s + 1) ( s 2 + 3.33s + 248) (39) Benzetim çalışmalarında tüm durumların ölçülebildiğini kabul etmemize karşın α- hücum açısı ve β-kayma açısı füzeye monte edilen alıcılar tarafından ölçülebilen büyüklükler olmadıkları için cayro (rate gyro) verisi kullanılarak ancak kestirilebilirler [7,22]. Yapılan benzetim çalışmalarında pratikteki geçerliliğinden 4. Benzetim Çalışmaları Göz önüne aldığımız füze kuyruk kontrollü, haç biçiminde (cruciform), kuyruk yapısı ‘+’ biçiminde ve dönme açısal pozisyon değeri=0o ve dönme açısal hızı=0 ve dönme hareketi yapmayacak şekildedir (roll stabilized) . s kullanılmıştır. τ değeri τs + 1 bu çalışmada için 0.01 sn seçilmiştir. η1 ( x, w, t ) ve η 2 ( x, w, t ) fonksiyonları sistemi etkiyebilecek bozuculara (37a, b, c) karşılık gelir. Bu bozucu ve belirsizliklerin üst değerleri seçilerek ς değerleri hesaplanır. α& = −3.33α + q − 0.89δ + η1 ( x, w, t ) q& = −248α − 662δ + η 2 ( w, w, t ) dolayı türev operatörü olarak δ& = 50u − 50δ a-nominal model Sistemdeki üçüncü durum denklemi otomatik pilot gecikmesinden (autopilot lag) kaynaklanmaktadır. Sürücüler donanımsal olarak nonlineer olmalarına rağmen bu konuyla ilgili literatürün tamamında lineer çalıştıkları bölge düşünülerek birinci veya ikinci mertebeden bir transfer fonksiyonuyla ifade edilmektedirler. Üçüncü dereceden bir sistemle ifade ettiğimiz füze modelinde yalnızca sürücüleri ve füzenin kontrol işaretine vermiş olduğu cevabı ifade etmiş oluruz. Tüm diğer yapısal filtreler, cayrolar ve ivme ölçerler hesaba katıldığında 11. dereceden bir sistem modeli elde edilir [33]. Belirli bir çalışma noktasında lineerleştirilmiş füze boylamsal dinamik denklemleri (37)’de verilmiştir. Nominal model katsayıları için [34,35] çalışmalarında da kullanılan gerçeğe yakın değerler kullanılmıştır. x&1 = −3.33x1 + x2 − 0.89 x3 + η1 ( x, w, t ) x&2 = −248 x1 − 662 x3 + η 2 ( w, w, t ) x&3 = 50u − 50 x3 z1 = x1 − y r (40) z 2 = (−3.33x1 + x2 − 0.89 x3 + (c1 + ς 1 ) z1 − y& r (41) z3 = −236.91x1 − 3.33x2 − 614.54 x3 − 44.5υ1 + z1 + c2 z 2 (42) υ&1 = − 3 .33 x1 + x 2 − 0 . 89 x 3 ∂ hˆ 2 ∂ α 2 −1 ( + . − 248 x1 − 662 x 3 + ... ∂h2 ∂α 2 ∂x ∂ x − 50 x + 50υ + 3 1 ∂u ∂u ∂α 2 + z 2 + c3 z 3 + ς 3 z 3 ) ∂t (43) Nominal model kullanıldığında ve çıkış olarak ‘hücum açısı’ seçildiğinde değişen sabit referans değerlerine karşılık Şekil2’deki sonuçlar elde edilmiştir. (38a, b, c) 111 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya angle od attack- radian 0.2 kullanılacaksa literatürde sıkça yer alan kazanç programlama (gain scheduling) [38] veya referans model kullanılarak hazırlanan uyarlamalı kontrol (MRAC-model reference adaptive control) yaklaşımları [39-(bölüm5)] geri-adımlama yerine kullanılabilir. Kontrol kuralı: 0.15 0.1 0.05 0 -0.05 0 5 10 15 20 25 1 at 2 ˆ1 ae q1 z1 + ... h (c1 + ς 1 − θˆ1 ) − x1θˆ3 − θˆ4υ1 + 2 ε 1 υ&1 = Γ(− x1 (− x1 z1 − x1 (c1 − θ1 + ς 1 ) z 2 ) + ... θˆ2 υ1 (−υ1 z1 − υ1 (c1 − θˆ1 + ς 1 ) z 2 ) + z1 + c2 z 2 + ς 2 z 2 30 time Şekil 2: Sistem çıkışı: hücum açısı Kontrolörün gürbüzlük özelliğini incelemek için η1 ( x, w, t ) ve η 2 ( x, w, t ) zamanla değişen fonksiyonları nominal değerlerinin %10 unu geçmeyecek şekilde seçilerek aynı benzetim çalışması tekrarlanmıştır. Şekil3’te görüldüğü gibi bozucular sisteme etkiyen salınımlı bir tepkiye neden olarak yerleşme zamanını artırmıştır. Yerleşme zamanını azaltmak için algoritmada kullanılan ε (epsilon) değeri daha uygun değerlere ayarlanabilir. Nominal model kullanılarak yapılan benzetim çalışmasında ilk hareketin ters yönde olduğu açıkça görülmektedir. Modelimiz lineer olduğundan ayrıca transfer fonksiyonunun sağ yarı düzlemde ve sanal eksen üzerinde kökü olmadığı için ilk değer teoremi kullanılabilir. f (0+) = lim s→∞ sF ( s ) (47) 1.2 angle of attack- radian 1 s 2 s(−0.89s − 662) s(0.02s + 1)(s 2 + 3.33s + 248) angle of attack radian 15 20 25 30 35 40 45 Bu çalışmada, kontrol uygulamalarında sıkça kullanılan geriadımlama yaklaşımının güdümlü füzelere uygulanabilmesi için kontrol yüzeyinin kuvvet etkisinin ihmal edilmesinin gerekliliği, değiştirilmiş geri-adımlama algoritması kullanılarak ortadan kaldırılmıştır. Kuyruk kontrollü füzelerde ortaya çıkan minimum fazlı olmayan sistem yapısından kaçınmak için ivme yerine hücum açısı kontrol edilmiştir. Bu yaklaşım, etkisi çok az da olsa yaklaşıklıktan (approximation) kaynaklanan modelleme hatasına neden olacaktır. Bunu aşmak için sistemin doğrudan minimum fazlı olmayan (nonminimum phase) modelinden hareket edilmedir. Ele alınan model ancak belirli bir çalışma bölgesinde geçerli olacağından sistemi daha doğru ifade edecek nonlineer modeller kullanılabilir, fakat güdümlü füzeler için nonlineer modeller çıkarılırken de kaçınılmaz olarak bazı kabuller yapılmaktadır; çünkü güdümlü füzelerde değişen hız, yükseklik, ağırlık, hücum açısı, dış ortam şartları (hava yoğunluğu, rüzgar, nem, sıcaklık vb.) bir çok faktörden etkilenen çok sayıda parametre vardır, yani bu modelleri de hatasız olmayan fakat gerçeğe daha yakın modeller olarak görmek gerekir. Kullanılan geri-adımlama algoritmasında kullanıcı tarafından seçilmesi gereken c1, c2 ve Γ sabitlerine uygun değerler atayabilmek için akıllı arama yöntemlerinden faydalanılabilir. ≅ −44.5 (45) 0.1 0 4 5 6 7 8 9 10 time Şekil 3: Bozucular etkinken çıkış:hücum açısı b-uyarlamalı kontrol modeli (otopilot gecikmesi ihmal edilerek) x&1 = −θ1 x1 + x2 − θ 2 u x& 2 = −θ 3 x1 − θ 4u 10 5. Sonuçlar 0.05 3 5 Şekil4: Uyarlamalı kontrol sistem çıkışı:hücum açısı 0.2 2 0 (44) 0.15 1 0.2 time 0.3 0 0.4 0 0.25 -0.05 0.6 -0.2 α açısal pozisyon olduğundan, α&& açısal ivmeye karşılık düşer. α&&(0+) = lims→∞ 0.8 (46a,b) Uyarlamalı kontrolde amaç, problemin tipine bağlı sabit referansa ulaşma (set point regulation) veya (tracking) olabilir. Fakat, kararlılık tanımı gereği lim x(t ) = 0 sağlanması garanti edilebileceği için olarak izleme ancak sistem Kaynakça t →∞ [1] C.-D. Yang, C.-C. Yang ve H.-Y. Chen, “Missile Control “s:302-316 (kitap bölümü), Wiley Encyclopedia of electrical and electronics engineering Ed. J. Webster John Wiley&Sons, Inc., 1999. [2] P. Zarchan, “Kill Vehicle Guidance and Control Sizing for Boost-phase Intercept”, Journal of Guidance, Control, and Dynamics, Cilt:34, No:2, 2011. [3] M. Krstic, I.Kanellakopoulos ve P. Kokotovic, Nonlinear and Adaptive Control Design, John Wiley&Sons, INC., 1995. yerleşme zamanı beklenenden büyük olabilir ayrıca kestirilen parametrelerin gerçek değerlerine yaklaşması (convergence) belirli şartlara bağlıdır. Sonlu zamanda referans değere ulaşmak için (finite time convergence) son aşamada devreye girecek kayma kipli kontrol (terminal sliding mode control) eklenebilir. Ayrıca, nonlineer fonksiyonlarla ifade edilen füze denklemleri belirli çalışma noktalarında lineerleştirilerek 112 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya [20] J. A. Farrell, M. Polycarpou, M. Sharma ve W. Dong, “Command filtered backstepping”, IEEE Trans. On Automatic Control, Cilt:54, No:6, s:1391-1395, 2009. [21] M. Chen, S.S. Ge ve B. Ren, “Adaptive Tracking Control of Uncertain MIMO Nonlinear Systems with Input Constraints”, Automatica, Cilt:47, s:452-465, 2011. [22] D. Zhou ve C. Shao, “Dynamics and Autopilot Design for Endoatmospheric Interceptors with Dual Control Systems”, Aerospace Science and Technology, Cilt:13, s:291300, 2009. [23] A. Thukral ve M. Innocenti, “A Sliding Mode Pitch Autopilot Synthesis for High Angle of Attack Maneuvering”, IEEE Transactions on Control Systems Technology, Cilt:6, No: 3, s:359-371, 1998. [24] F.-K. Yeh, “Adaptive-sliding-mode Guidance Law Design for Missiles with Thrust Vector Control and Divert Control System”, IET Control Theory and Applications, Cilt:6, No:4, s:552-559, 2012. [25] D. Swaroop, J.K. Hedrick, P.P. Yip ve J.C. Gerdes, “Dynamic Surface Control for a Class of Nonlinear Systems”, IEEE Trans. On Automatic Control, Cilt: 45, No:10, s:18931899, 2000. [26] Y. B. Shtessel, “Nonlinear Output Tracking in Conventional and Dynamic Sliding Manifolds”, IEEE Trans. on Automatic Control, Cilt: 42, No:9, s:1282-1286, 1997. [27] B. Durmaz, M.K. Özgören ve M. U. Salamcı, “Sliding Mode Control for Non-linear Systems with Adaptive Sliding Surfaces”, Trans. of the Institute of Measure and Control, s:34-56, 2012. [28] M.M. Polycarpou ve P. A. Ioannou, “A Robust Adaptive Nonlinear Control Design”, Automatica, Cilt:32, No:3, s:423427, 1996. [29] A. L. Fradkov ve B. Andrievsky, “Passification-based Robust Flight Control Design”, Automatica, Cilt:47, s: 27432748, 2011. [30] A. A. Pashilkar, N. Sundararajan ve P. Saratchandran, “Adaptive Back-stepping Neural Controller for Reconfigurable Fight Control System”, IEEE Transactions on Control Systems Technology, Cilt:14, No:3, s:553-561, 2006 [31] J.H. Blakelock, Automatic Control of Aircraft and Missiles John Wiley &Sons Inc. 1991. [32]P. Zarchan, Tactical and Strategic Missile Guidance, American Institute of Aeronautics and Astronautics, 2007. [33] F.W. Nesline ve M. L. Nesline, “Homing Missile Autopilot Response Sensitivity to Stability Derivative Variations”, Proceedings of 23rd Conference on Decision and Control, Las Vegas”, s:.1116-1121, 1984. [34] B.Friedland, Control System Design An Introduction to State-space Methods, Mineola NY. Dover Pub. INC, 2005. [35] T.Shima ve O.M. Golan, “End-game Guidance Laws for Dual-control Missiles”, Proc. IMechE Cilt:219 Part G: J. Aerospace Engineering, s:157-170, 2005. [36] J.-J. E. Slotine ve W. Lee, Applied Nonlinear Control, Englewood Cliffs. NJ. Prentice Hall, 1991. [37] N. F. Palumbo, B. E. Reardon ve R. A. Blauwkamp, “Integrated Guidance and Control for Homing Missiles”, John Hopkins APL Technical Digest, Cilt: 25, No:2, s:121-139, 2004. [38] W. J. Rugh ve J. S. Shamma, “Research on Gain Scheduling”, Automatica, Cilt:36, s:1401-1425, 2000. [39] K.J. Astrom ve B. Wittenmark, Adaptive Control II. Baskı, Addison-Wesley, 1995. [4] R.E. Mills, A. J. Koshkouei ve A. S. I. Zinober, “Backstepping Algorithms for a Class of Disturbed Nonlinear Nontriangular Systems”, s:227-238 (kitap bölümü), Nonlinear and adaptive control Editörler. A. Zinober ve D. Owens, Springer-Verlag Berlin Heidelberg, 2003 [5] S.-H. Kim, Y.-S. Kim ve C. Jong, “A Robust Adaptive Nonlinear Control Approach to Missile Autopilot Design”, Control Engineering Practice, Cilt: 12, s:149-154, 2004. [6] T.Y. Kim, “Nonlinear Adaptive Flight Control using Backstepping and Neural Networks Controller”, Journal of Guidance, Control, and Dynamics, Cilt: 24, s: 675-682, 2001. [7] C.-Y. Li, W.-X. Jing ve C.-S. Gao, “Adaptive Backstepping-based Flight Control System using Integral Filters”, Aerospace Science and Technology, Cilt:13, s:105113, 2009. [8] L. Sonneveldt, E.R.V. Oort, Q.P.Chu, ve J.A. Mulder, “Comparison of Inverse Optimal and Tuning Functions Designs for Adaptive Missile Control”, Journal of Guidance, control and dynamics, Cilt:31, No:4, 2008. [9] M. Sharma ve N. D. Richards, “Adaptive, Integrated Guidance and Control for Missile Interceptors, AIAA Guidance, Navigation and Control Conf. and Exhibit, Providence, Rhode Island, s:1-15, 2004. [10] B.H. Lian, H.C. Bang ve J.E. Hurtado, Adaptive Backstepping Control Based Autopilot Design for Reentry Vehicles, Proc. IEEE International Conf. on Control Applications, 2000. [11] P.B. Jackson, “Overview of Missile Flight Control Systems”, John Hopkins APL Technical Digest, Cilt:29 No:1, 2010. [12] Y. B. Shtessel ve C. H. Tournes, “Integrated Higherorder Sliding Mode Guidance and Autopilot for Dual-control Missiles”, Journal of Guidance, Control, and Dynamics, Cilt: 32 No:1, s:79-94, 2009. [13] M. Idan, T. Shima, ve O.M. Golan, “Integrated Sliding Mode Autopilot-Guidance for Dual Control Missiles”, Journal of Guidance, Control, and Dynamics, Cilt: 30 No:4, s:1081-1089, 2007. [14] H. Yan ve H. Ji, “Integrated Guidance and Control for Dual-control Missiles Based on Small-gain Theorem”, Automatica, Cilt:48, s:2686-2692, 2012. [15] H.-S. Ju ve C.-C. Tsai, “Longitudinal Axis Flight Control Law Design by Adaptive Backstepping”, IEEE Transactions on Aerospace and Electronic Systems, Cilt:43 No:1, s:311329, 2007. [16] A.G. Sparks, J.M. Buffington ve S.S. Banda, “Fighter Aircraft Lateral Axis Full Envelope Control Design”, Proc. of IEEE conf. on cont. appl. , s:21-26,1993. [17] M. Polycarpou, J. Farrell ve M. Sharma, “Robust on-line Approximation Control of Uncertain Nonlinear Systems Subject to Constraints” , Proceedings of the 9th IEE International Control on Engineering Complex Computer Systems Navigation Complexity in the e-Engineering age, s: 1-9, 2004. [18] L. Sonneveldt, Q.P. Chu ve J.A. Mulder, “Nonlinear Flight Control Design using Constrained Adaptive Backstepping”, Journal of Guidance, Control, and Dynamics, Cilt: 30, No:2, s:322-336,2007. [19] C. Wen, J. Zhou, Z. Liu ve H.Y. Su, “Robust Adaptive Control of Uncertain Nonlinear Systems in the Presence of Input Saturation and External Disturbance”., IEEE Trans. On Automatic Control, Cilt: 56, No:7, s:1672-1678, 2011. 113 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Akıllı Tekerlekli Sandalye Kontrolü İçin Sonlu Durum Makinesi Tasarımı Bora Akar1, Uğur Yayan2, Hikmet Yücel3, Veli Bayar4, Ahmet Yazıcı5 5 Bilgisayar Mühendisliği Bölümü Eskişehir Osmangazi Üniversitesi, Eskişehir ayazici@ogu.edu.tr 1,2,3,4 İnovasyon Mühendislik Ltd. Şti. ETGB Osmangazi Teknoparkı, Eskişehir bora.akar@inovasyonmuhendislik.com ugur.yayan@inovasyonmuhendislik.com hikmet.yucel@inovasyonmuhendislik.com veli.bayar@inovasyonmuhendislik.com Özetçe Çalışma [5] ‘de dijital ve kendiliğinden ayarlanabilir yüksek verimli bir güç kaynağı sistemi sonlu durum makinesi kullanılarak gerçeklenmiştir. Sistemin dinamik olarak devre performansı görüntülenmekte ve durum makinesi güç tüketimini düşürmek için kontrol çemberinin (control loop) karmaşıklığı düzenlenmektedir. Çalışma [6]’ da gömülü otomotiv sistemleri için sonlu durum makineleri kullanarak otomatik kod üreteci ile ilgili bilgiler aktarılmaktadır. Çalışma [7]’ de “scratch drive” bir mikro robotun karar mekanizması yedi adet sonlu durum makinesi ile oluşturulmuştur. Bu durum makineleri çeşitli seviyelerde voltaj çıktısı üretmekte, böylece robotun ileri, geri, sağ ve sola hareketi sağlanmaktadır. Çalışma [8] de bilgisayar oyunlarında oyuncuya yardım etmekle görevli oyuncu olmayan karakterler(NPC) için sonlu durum makinesi kullanılarak yapay zekâ tasarımı yapılmıştır. Bu şekilde NPC kullanıcıdan gelen girdilere göre istenen davranışları veya gerekli çıktıları üretebilmektedir. Çalışma [9] da 1996 yılında NASA Kennedy Uzay Üssü’nde yapılan fırlatma işletim sistemi için gerçeklenen sonlu durum makineleri anlatılmaktadır. Çalışma [10] da otonom bir kara aracında melez kontrol için tasarlanan durum tabanlı kontrol sistemi anlatılmaktadır. Bu araç ayrık durumlu(discrete state) bir sisteme sahip olup, karar verme mekanizması için bir sonlu durum makinesi kullanırken alt seviye denetleyici kontrolü için sürekli durumlu (continuous state) bir sisteme sahiptir. Gezgin robotlar konusunda farklı yelpazede çalışmalar yapılmaktadır. Bu bağlamda, insan–robot etkileşimi ve sosyal robotlar konusunda yapılan araştırmalar son yıllarda oldukça ivme kazanmıştır. Akıllı Tekerlekli Sandalye (ATEKS), gezgin robot çalışmaları yanı sıra insan–robot etkileşimine de imkân tanıdığı için önemli bir araştırma/eğitim platformudur. ATEKS platformunda; insan kullanıcı modu, özerk mod, sürüş destek modunun çalışması, bu modlar arası geçişlerin yapılması ve arıza, hata vb. durumları ele alacak bir kontrol mekanizmasına ihtiyaç vardır. Bu çalışmada bu kontrol için tasarlanan sonlu durum makinesi verilmektedir. Önerilen sonlu durum makinesi ile aynı zamanda sistemde karşılaşılabilecek hata durumlarının ele alınması ve güvenli bir kontrol sağlanması da yapılmaktadır. Tasarlanan sonlu durum makinesi gömülü sistemde gerçeklenerek ATEKS üzerinde test edilmiştir. 1. Giriş Akıllı tekerlekli sandalyeler (ATEKS) konusunda yapılan çalışmalar artan şekilde devam etmektedir [1]. İnsan-robot etkileşimine fırsat tanıdıkları için de ATEKS platformları araştırma/eğitim amaçlı tercih edilmektedirler[2]. Bu tip sistemlerde modern kontrol yöntemleri gittikçe karmaşık bir hal almaktadır. Klasik performans ölçütleri ile tasarlanmış denetleyicilerinin farklı alt sistemin koordineli çalışmasından dolayı melez ve karmaşık yapılar oluşabilmektedir[3]. Bu özellikler sistemlerde yazılım seviyesinde gerçeklenmektedir. Belli performans talebi yanı sıra uzun zaman periyotlarında çalışması için hata algılama, ayıklama ve sistem kontrol konfigürasyonu gibi özelliklerin olması gerekmekte, bununla birlikte hata yönetim sistemlerine de ihtiyaç olmaktadır[4]. Bütün bu gereksinimler göz önüne alındığında ATEKS ’in kontrolünün sağlanması için sonlu durum makinesi kullanımı gerekmektedir. Sonlu durum makineleri, belirli ya da sınırlı sayıda durumdan, durumlar arası geçişlerden ve eylemlerin birleşmesinden oluşan bir modeldir. Durum, geçmişi hakkında bilgi tutar. Geçişler, durum değişimlerini gösterir. Eylemler, belirli bir zamanda gerçekleştirilen etkinliğin tanımıdır. Sonlu durum makineleri çeşitli alanlarda yaygın olarak kullanılmaktadır. Sonlu durum makinesi bu çalışmada, ATEKS platformunun farklı kullanım modları ve bu modlar arası geçişin kontrolü için tasarlanmıştır. Tasarlanan sonlu durum makinesi; kullanıcı modunda kumanda kolundan alınan doğrusal ve açısal hız değerlerinin direk sisteme uygulanmasını sağlarken, sürüş destek modunda ise çevredeki engelleri de dikkate alarak gerekli uygulamayı yapmaktadır. Özerk modda ise otonom kontrol için tasarlanan yüksek seviyeli kontrol biriminin ürettiği doğrusal ve açısal hız değerleri dinamik denetleyiciler ile sisteme uygulanmaktadır. Önerilen sonlu durum makinesi ile aynı zamanda sistemde karşılaşılabilecek hata durumlarının ele alınması ve güvenli bir kontrolün sağlanması da yapılmaktadır. Takip eden bölümde ATEKS sisteminin bileşenleri tanıtılmaktadır. Bölüm 3’te ise önerilen sonlu durum makinesi 114 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya verilmektedir. Sonlu durum makinesinin sistem üzerine uygulanması ve yapılan testler bölüm 4’te verilmektedir. 2. ATEKS Platformu ve Çevre Birimleri ATEKS; gezgin robot, insan-makine etkileşimi, insan-robot etkileşimi, algılayıcı tabanlı kontrol vb. çalışmalarda eğitim/araştırma amaçlı, engelli veya yaşlı insanların günlük hayatta kullanımı için geliştirilen çok amaçlı bir platformdur (bkz. Şekil 1). Platformun uygulamaya bağlı olarak, kullanıcı modu, sürüş destek modu ve özerk mod gibi farklı modları sağlaması ve bu modlar arasında kullanıcı dostu geçişin kolay olması beklenmektedir. Şekil 2: ATEKS Platformu ve Çevre Birimleri Şekil 1: ATEKS Platformu Şekil 3: Gezgin Algılayıcı Birim Yukarıda tarif edilen farklı kullanım amaçlarını gerçeklemek üzere ATEKS platformu farklı kullanıcı ara yüzü ve algılayıcı alternatifleri bulunmaktadır. Platform ile etkileşim içinde olan birimler blok diyagram ile Şekil 2’de verilmektedir. ATEKS platformunda bulunan birimler, temelde algılayıcılar ve kullanıcı ara yüzleri olmak üzere ikiye ayrılabilir. Akıllı Kontrol Birimi (AKB) bu birimler ile etkileşimi ve platformun kontrolü için gerekli karar mekanizmalarını çalıştırmaktadır. Platformun gerek özerk mod gerekse kullanıcı destek modunda güvenli navigasyonunda etrafındaki engellere olan mesafesinin algılanması gerekmektedir. Bu amaçla SMO15 ses üstü mesafe ölçer ve Microsoft Kinect ürünleri sisteme entegre çalışabilmektedir. SMO15 ler 2–500 cm arasında 1 cm hata payıyla ölçüm yapabilmekte ve USB/CANBUS üzerinden hesaplanan mesafeyi gönderebilmektedir. Microsoft Kinect algılayıcısı ise 0.4m-4m arasında mesafe ve RGB renk değerlerini döndürebilmektedir. 2.1 Algılayıcılar 2.2. Kullanıcı Ara Yüzleri ATEKS platformu yapacağı göreve bağlı olarak değişik çevre birimlerine ihtiyaç duymaktadır. ATEKS, kapalı İç Ortamlar için Konumlandırma Sistemini (İÇKON) kullanarak konumunu bulabilmektedir. İÇKON sisteminin ATEKS üzerinde olan birimi Gezgin algılayıcı birim (GAB)’dir (bkz şekil 3). GAB, kapalı ortamlar için 5 cm hata payıyla konum hesaplaması yapabilmektedir [11]. ATEKS ’in iç ortamlardaki anlık pozisyon bilgisi GAB üzerinden alınır. Gerektiğinde kodlayıcılardan ve/veya baş açısı referans sisteminden gelen bilgiler ile GAB ’tan gelen bilgi, kalman filtre ile birleştirilip daha hassas konum bilgisi de üretilebilmektedir [12]. Kullanıcıların ATEKS platformuna erişimi için farklı donanım/yazılım ara yüzleri tasarlanmıştır. Kumanda kolu (KK) (bkz. Şekil 4), ATEKS için kullanıcı ve sürüş destek modunda öne çıkan kullanıcı ara yüzüdür. Buradan algılanan girdilerin ilgili mod seçimine bağlı olarak direk veya değerlendirilip motor sürücüsüne(VR2) iletilmesi gerekmektedir. Ayrıca KK ile kullanıcı, farklı modlar arası seçim yapabilmektedir. 115 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya zaman kontrolü, kullanıcı etkileşimi, hata giderimi vb. farklı yelpazede isterlerin aynı mimari içerisinde çalışması gerektiği gözükmektedir. ATEKS platformu kontrolü için sonlu durum makinesi M = (Q, ∑, δ , q1 ) ile gösterilsin. Burada Q sonlu sayıdaki durum olup Q = {q1 ,..., qn } değerlerini alabilir. Durum makinesi girdileri ∑ ile temsil edilmekte olup aynı zamanda alfabeyi oluşturmaktadır. Geçiş fonksiyonu δ ise hangi durumdan hangi girdi ile hangi duruma geçileceğini ile gösterilebilir. Bu geçiş tanımlayıp δ (qi ,a) → q j Şekil 4: PG Drive Kumanda Kolu fonksiyonunda qi başlangıç durumu, q j bitiş durumu a ∈ ∑ Kullanıcı Ara Birimi(KAB) tüm modlarda navigasyon amaçlı kullanım, özerk modda görev tanımlama/planlama, kullanıcı modları arası geçiş vb. özellikleri olan mobil bir cihazdır. KAB, Android uygulaması olarak geliştirilmiştir. Sisteme WIFI üzerinden bağlanabilmektedir. ise sistem girdisidir. Durum geçiş tablosu veya çizgesi ile tanımlanabilir. q1 ∈ Q başlangıç durumunu göstermektedir. ATEKS kontrolü için tasarlanan sistemde bulunulabilecek durumlar kümesi Q = {SK , ÇBK , KM , ÖM , BB, AR} dir. Bu durumların açıklamaları aşağıdaki gibidir: SK (Sistem Kapalı): KK Kapalı, AKB uyku modundadır. Bu aynı zamanda başlangıç durumu q1 dir. ÇBK (Çevre Birimleri Kontrol): Bu durumda çevre birimleri kontrol edilir. Seçilen moda göre farklı algılayıcılar da kontrol edilmektedir. KM (Kullanıcı Modu): Kumanda kolundan alınan komutlar AKB tarafından direk motor sürücüsü VR2’ye iletilmektedir. SDM (Sürüş Destek Modu): Kumanda kolundan alınan komutlar etraftaki engeller de değerlendirilerek motor sürücüsü VR2’ye iletilmektedir. Bu modda mesafe algılayıcılar değerlendirilip kullanıcının ATEKS platformunun çarpmasına neden olacak bir komut varsa direk uygulanmamaktadır. Şekil 5: KAB Navigasyon Modu Ekranı ATEKS platformu ayrıca ROS (Robot Operating System) [13] uyumlu çalışabilmekte olup, ROS düğümü olarak diğer yazılım ajanları/kullanıcılar ATEKS ’e erişimini ROS üzerinden yapabilmektedir. ÖM (Özerk Mod): Yüksek seviyeli kontrol tarafından üretilen referans doğrusal ve açısal hız değerleri uygulamaya alınır. Burada tasarlanmış PID denetleyicileri (bkz. Şekil 6) ile ATEKS platformunun istenilen hız değerlerini gerçeklemesi sağlanmaktadır. Ayrıca bu modda tüm algılayıcılar okunarak değerlendirilmek ve görselleştirilmek üzere ilgili yüksek seviyeli kontrol veya KAB birimlerine iletilmektedir. 3. ATEKS İçin Tasarlanan Sonlu Durum Makinesi ATEKS platformu insan, insan-robot ve sadece robot kullanım modlarına ve farklı kullanıcı ara yüzleri ile bu modlar arasında kolay geçişe izin vermektedir. Tasarlanan sonlu durum makinesi; kullanıcı modunda kumanda kolundan alınan doğrusal ve açısal hız değerlerini direk sistem motor sürücülerine uygularken, sürüş destek modunda ise çevredeki engelleri de dikkate alarak bir kontrol gerçeklemektedir. Burada sürücünün niyetinin algılanması konusunda çalışmalar devam etmektedir. Özerk modda ise temel otonom davranışları gerçeklemenin yanı sıra, dış çevre birimlerinin ürettiği ileri seviye otonom davranışları da uygulamaya geçirmektedir. Burada gerektiğinde kinematik ve dinamik denetleyiciler beraber veya ayrı ayrı kullanılabilmektedir. Tasarlanan sonlu durum makinesi ile aynı zamanda sistemde karşılaşılabilecek arıza durumları da ayırt edilebilmekte, böylece bir hata işleme mekanizması da çalıştırılmaktadır. Platform gereksinimlerine bakıldığında; kullanıcı modu seçimi ve geçişleri, sürekli BB (Başıboş Mod): Bu gösteri modu olup bu modda algılayıcılardan alınan bilgiler değerlendirilerek ATEKS platformu boş alana doğru ilerler. 116 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya 4 KK AK AK M KM KK 4, H, K K5 KK 4, K5 H, KK 5 ,K ,H Z1 Z1 M ∑ = {KM , AKM , KK1, KK 2, KK 3, KK 4, KK 5, H , Z1} H AR (Arıza): Sistemin çalışmasını engelleyecek herhangi bir arıza(algılayıcılarda tespit edilen arıza veya diğer durumları gerçeklerken oluşan hatalar) oluşursa bu duruma geçilir. Bu durumda ATEKS güvenli şekilde durdurulmaktadır. H Şekil 6: Denetleyici blok diyagramı girdi kümesi olup burada; Şekil 7: Sonlu Durum Makinesi Durum Geçiş Çizgesi KM: Donanımsal Mod Seçim Anahtarı Kullanıcı Modunda SK başlangıç durumu olup, aynı zamanda tanımlı görevler bittiğinde AKB donanımı bu durumda uyku moduna geçmektedir. Sistem KK3 girdisi ile ÇBK’ ya geçiş yapar. ÇBK’ da tüm çevre birimleri ile bağlantı kontrolü yapılır, donanımsal mod seçim anahtarının durumu kontrol edilir. Anahtara bağlı olarak KM veya ÖM durumlarına geçiş yapılır. Ayrıca sistem çevre birimlerinin hata durumlarını kontrol için 1sn de bir bu duruma geliş yapar ve ilgili duruma tekrar döner. AKM: Donanımsal Mod Seçim Anahtarı Akıllı Modda( Donanımsal Mod Seçim Anahtarı, Akıllı Mod olduğunda, farklı ara yüzler ile yazılımsal olarak Sürüş Destek Modu(SDM), Özerk Mod(ÖM) ve Başıboş Mod (BB) lara diğer girdiler ile geçiş yapılabilmektedir.) KK1: Kumanda Kolu Tam İleri/Geri 1sn süre ile basılı. SDM’ de mesafe algılayıcılarından gelen veriler değerlendirilir ve çarpma önleme algoritması çalıştırılır. Özerk modda yüksek seviye denetleyiciden gelen açısal ve doğrusal hızlar ile düşük seviye denetleyici çalıştırılır. Başıboş modda ATEKS rastsal bir doğrusal hız ile ilerlerken karşısına bir engel çıktığında durup rastsal bir açıyla dönmekte ve tekrar doğrusal olarak hareket etmeye devam ederek başıboş (Wander) davranışını gerçeklemektedir. Tüm durumlarda, herhangi bir birimde hata girdisi oluştuğunda AR moduna geçilmektedir. Bu durumda ATEKS durmakta ve AKB üzerindeki lambalar ve KAB üzerindeki ara yüzler ile görsel uyarı vermektedir. KK2: Kumanda Kolu Tam Sağ ve Korna 1sn süre ile basılı. KK3: Kumanda Kolu Başlatma KK4: Kumanda Kolu Kapandı KK5: Kumanda Kolu/VR2 iletişim hatası H: Herhangi bir birimde hata Z1:1sn periyodu tamamlandı 4. Sonlu Durum Makinesinin Uygulanması Şekil 7 de ise tasarlanan sonlu durum makinesine ait durum geçiş çizgesi verilmektedir. Tasarlanan sonlu durum makinesi AKB’ de gerçeklenmiştir. AKB, LM3S9B96 ARM® Cortex™-M3 tabanlı mikro denetleyiciye sahip, çevre birimlerle CANBUS, WIFI, RS232, USB, ETHERNET vb. portlar üzerinden haberleşebilen bir donanımdır. Sonlu durum makinesi ve tüm ATEKS yazılımı gömülü sistemde Code Composer Studio [14] kullanılarak geliştirilmiştir. Burada düşük seviye kontrolün yanı sıra temel seviye otonom davranışlarda gerçeklenmektedir. İleri seviye otonom davranışlar içinse ROS ara yüzü üzerinden AKB ye erişilerek ATEKS platformu kontrol edilebilmektedir. Tüm 117 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya kullanıcı etkileşimleri ve tüm algılayıcılardan gelen bilgiler değerlendirilerek sistem kontrolü için tasarlanan sonlu durum makinesi de bu birimin içinde çalışmaktadır. ATEKS sisteminin farklı modlarda çalışırlığı test edilmiştir. [9] G. Semmel, G. H. Walton, “Developing and Validating Thousands of Executable Finite State Machines”, NASA, YAEl-S3 Kennedy Space Center, FL 32899 5. Sonuç [10] A. Kurt, Ü. Özgüner, “Hierarchical finite state machines for autonomous mobile systems”, Control Engineering Practice 21 (2013) 184–194, 2013 Bu çalışmada Akıllı Tekerlekli Sandalye Kontrolü için Sonlu Durum Makinesi Tasarımı yapılmış ve gömülü sistemde gerçeklenmiştir. ATEKS; Kullanıcı modu, sürüş destek modu, özerk mod ve başıboş kullanım modlarına sahiptir. Geliştirilen durum makinesi sistemdeki hata kontrol işlemlerini de yapmaktadır. Sonlu durum makineleri yapısı sistemde genişlemelere ve düzenlemelerin kolay yapılmasını sağlamaktadır. ATEKS platformu mevcut hali ile robotik, insan-robot etkileşimi gibi eğitim/araştırma çalışmalarında veya günlük kullanım imkânları sunmaktadır. [11] H. Yücel, A. Yazıcı, U. Yayan, “İç Ortamlar İçin Konumlandırma Sistemi”, Otomatik Kontrol Ulusal Toplantısı (TOK’12) Bildiriler Kitabı Niğde, sayfa 546-551, Ekim 2012 [12] A. Yazıcı, R. Edizkan, H. Yücel, U. Yayan, “İç Ortamlar İçin Konumlandırma Sistemi(İÇKON)’nde Kodlayıcı Desteği ile Performans İyileştirme”, Otomatik Kontrol Ulusal Toplantısı (TOK’12) Bildiriler Kitabı Niğde, sayfa 552-557, Ekim 2012 Teşekkür [13] http://www.ros.org/wiki/, 2013 Bu çalışma 7120742 nolu TÜBİTAK projesi tarafından desteklenmektedir. [14] http://www.ti.com/tool/ccstudio, 2013 Kaynaklar [1] S. G. Tzafestas, “Research on Autonomous Robotic Wheelchairs in Europe”, IEEE Robotics & Automation Magazine, pg.4-6, 2001 [2] T. Carlson, Y. Demiris, “Collaborative Control for a Robotic Wheelchair: Evaluation of Performance, Attention, and Workload”, Ieee Transactions On Systems, Man, And Cybernatics – Part B, Vol. 42, No: 3, pg.876-878, June 2012 [3] A. Kurt, Hybrid-State System Modelling for Control, Estimation and Prediction in Vehicular Autonomy, Doktora Tezi, The Ohio State University, 2012 [4] Radu Oprişa, “Error Handling In Software Systems: Modelling And Testing With Finite State Machines”, Romai J., v.2, No:1, sayfa:175-180, 2006, [5] Y.B Kim, K.K Kim, J. Doyle, “A Cmos Low Power Fully Digital Adaptive Power Delivery System Bsed On Finite State Machine Control”, IEEE, 1-4244-0921-7/07, 2007 [6] F. Lindlar, A.Zimmermann, “A Code Generation Tool for Embedded Automotive Systems Based on Finite State Machines”, Daimler Center for Automotive Information Technology Innovations Technische Universit¨at Berlin, Germany [7] E. Dumsong, N.Afzulpurkar, “A Finite State Machine for Controlling Untethered Scratch-Drive Micro-Robot”, Proceedings of the 2008 IEEE International Conference on Robotics and Biomimetics Bangkok, Thailand, February 21 26, 2009 [8] K.D Kwon, K.R Park,”Behavior Control of Intelligent Multi NPCs Using Vickrey Auction System and Hierarchical Finite State Machine”, SICE-ICASE International Joint Conference 2006 Oct. 18-2 1, 2006 in Bexco, Busan, Korea 118 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya AKILLI TEKERLEKLİ SANDALYE İÇİN DÜŞÜK SEVİYELİ DENETLEYİCİ TASARIMI Uğur Yayan1, Mehmet Akçakoca2, İslam Kılıç3, Hikmet Yücel4, Ahmet Yazıcı5 5 Bilgisayar Mühendisliği Bölümü Eskişehir Osmangazi Üniversitesi, Eskişehir 2,3 ayazici@ogu.edu.tr Elektrik Elektronik Mühendisliği Bölümü Eskişehir Osmangazi Üniversitesi, Eskişehir 1,4 akcakocamehmet@gmail.com islamkilic@outlook.com İnovasyon Mühendislik Ltd. Şti. ETGB Osmangazi Teknoparkı, Eskişehir ugur.yayan@inovasyonmuhendislik.com hikmet.yucel@inovasyonmuhendislik.com seviyeli denetleyiciler ayrı ayrı tasarlanmaktadır [5]. Düşük seviyeli denetleyici tasarımı için literatürde farklı çalışmalar bulunmaktadır. Çalışma [6]’da birbirinden bağımsız iki motoru olan mobil robotun hız kontrolü PID denetleyici ile gerçeklenmiştir. Birbirinden bağımsız motorların kontrolünün dezavantajları, iki motora birbirinden bağımsız denetleyici tasarlandığından aracın istenilen doğrultuda gitmemesi veya yörüngesinden çıkmasına sebep olur. Çalışma [7-9]'larda tekerlekli sandalyelerin düşük seviye kontrolü için PD denetleyiciler tasarlanmıştır. Hız kontrolü için denetleyiciler, tüm sistemin modeli yerine, DC motorun matematiksel modeli temel alınarak oluşturulmuştur. Bu yüzden tasarlanan sistem, motorların hızını kontrol etmektedir. [7] ve [8] nolu çalışmalarda, tekerlekli sandalye için gerçeklenen düşük seviye denetleyici benzetim ortamında test edilmiştir. [9] nolu çalışmada PD denetleyici üzerine uyarlamalı konum denetleyicisi tasarlanmış ve testleri benzetim programı üzerinden gerçekleştirilmiştir. Çalışma [10] ve [11]'da tekerlekli sandalyelerin gerçek ortamda kontrolü, PID denetleyiciler ile gerçekleştirilmiştir. Ayrıca araca engelden sakınma ve yörünge takip etme gibi kabiliyetler kazandırılmıştır. Bu çalışmalarda sistem eyleyicilerindeki kısıtlar dikkate alınmamıştır. Uygulamalarda sistem eyleyicileri üzerinde kısıt olması halinde integral anti-windup kullanılarak denetleyici çıkışının doyuma ulaşmadan çalışması sağlanabilmektedir [12]. Bu çalışmada, akıllı tekerlekli sandalye (ATEKS) için eyleyici ve motor sürücüleri üzerindeki kısıtları da dikkate alan düşük seviyeli denetleyici tasarlanmıştır. Önerilen sistem doğrusal ve açısal referans hız değerlerinin takibi için iki denetleyiciden oluşmaktadır. Araç üzeri uygulanmasında eyleyici girişlerindeki doyumdan kaynaklanan problemin çözümü içinse integral anti-windup tekniği Özetçe Bu çalışmada, Akıllı Tekerlekli Sandalye (ATEKS)'nin düşük seviyeli kontrolü için denetleyici tasarlanmıştır. Denetleyici, özerk modda yüksek seviyeli denetleyiciden aldığı doğrusal ve açısal referans hız değerlerinin araç tarafından takibini gerçeklemektedir. Geliştirilen matematiksel model doğrusal ve açısal hız kontrolü için birbirinden bağımsız iki denetleyici tasarımına imkân vermektedir. Doğrusal ve açısal hız takibi için iki farklı PID denetleyicisi tasarlanmıştır. Tasarlanan denetleyicilerin gerçek araç üzeri uygulanmasında eyleyici girişlerindeki doyumdan kaynaklanan problemin çözümü içinse integral antiwindup tekniği kullanılmıştır. Tasarlanan denetleyici gömülü sistemde gerçeklenerek ATEKS üzerinde de başarı ile test edilmiştir. 1. Giriş Türkiye nüfusunun yaklaşık %12.29'u fiziksel engellidir. Engelli insanların hayatlarını kolaylaştırmada tekerlekli sandalyeler, büyük bir paya sahiptir. Fakat fiziksel el becerisi ve koordinasyon eksikliği bulunan kişilerde, sandalyenin kullanımı zorlaşmaktadır. Otonom araçlar konusunda yapılan çalışmaların tekerlekli sandalyeye aktarılmasıyla akıllı tekerlekli sandalyeler bu alanda önemli bir ihtiyacı karşılayabilmektedir. Tekerlekli sandalyeler ayrıca insan-robot etkileşimine de imkân verdiği için özerk gezgin robotlar sınıfında önemli bir araştırma/eğitim platformudur [1]. Bu platform akademik ve endüstriyel araştırmacıların ilgisini çekmekte olup [2], bu platform üzerinde literatürde yapılan çalışmalar artan şekilde devam etmektedir [3], [4]. Bu çalışmalarda genelde yol, görev planlama ve ilgili davranışları seçen ve uygulayan yüksek seviyeli kontrol ile ortaya çıkan yörüngelerin platform tarafından gerçeklenmesini sağlayan düşük 119 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya kullanılmıştır. Tasarlanan denetleyici, LM3S9B96 Stellaris işlemcili lemcili bir gömülü sistemde gerçeklenerek ATEKS üzerinde test edilmiştir. Takip eden kısımda ATEKS sistemin tanıtımı yer almaktadır. Üçüncü kısımda denetleyici tasarımı verilmektedir. Dördüncü ve beşinci şinci bölümde ise test sonuçları ve çalışma sonuçları yer almaktadır. kontrolünde dijital çevirmeden bu kadarlık bir hata oluşabilmektedir. Yüksek Seviye Kontrol ATEKS Wref Uref El AKB-L 2. Sistem Tanıtımı Eu Ew Düşük seviye denetleyici Şekil-1'de verilen ATEKS için tasarlanmıştır. ATEKS sisteminde, kullanıcıya üç farklı sürüş seçeneğii sunulmaktadır. Birincisi, kumanda kolunu kullanarak aracın, denetleyiciyi kullanmadan manüel olarak sürülmesidir. İkincisi, sürüş sürü destek modudur. Veriler yine kumanda kolundan alınır fakat içerisinde çarpmayı engelleme fonksiyonları bulunmaktadır. Üçüncü seçenek ise özerk moddur. Bu modda yüksek seviye denetleyicisinden gelen referans doğrusal ve açısal hız değerleri ğerleri düşük dü seviye denetleyicide gerçeklenir (bkz. Şekil 2). ATEKS platformunda düşük ük seviye denetleyicinin etkileşim etkile içinde olduğu sistem bileşenleri enleri takip eden alt bölümde verilmektedir. MOTOR 1 Dişli MOTOR 2 Dişli VR2 Er Sol Teker Hız Sağ Teker Hız Şekil 2: Düşük ük seviyeli denetleyicinin çevre birimleri Sistem için tasarlanan düşük dü seviye denetleyici Şekil 3’de verilen Akıllı Kontrol Birimi (AKB) donanımında gerçeklenmiştir. AKB, LM3S9B96 ARM® Cortex™-M3 tabanlı mikro işlemci kullanılarak mini elektrikli araçlarda kullanılmak üzere tasarlanmıştır. Kodlayıcı geri beslemesi ile kapalı çevrim motor hız kontrolü yapma, kumanda kolu vb. kullanıcı ara yüzlerine bağlanma ğlanma, CANBUS, USB vb. veri yolları ile araç üzeri algılayıcılarla ve üst seviye birimlerle haberleşme vb. görevleri de yerine getirebilmektedir. Bu çalışmada şmada, AKB, düşük seviye denetleyicinin ATEKS platformu üzerinde uygulanmasında kullanılmaktadır. AKB, tekerlek hızlarını kodlayıcılar üzerinden, referans hız değerlerini de yüksek seviye kontrolden alarak sisteme uygulanacak olan kontrol girdilerini hesaplamakta ve uygulanmak üzere motor sürücüsüne iletmektedir. Şekil 1: Akıllı Tekerlekli Sandalye (ATEKS) 2.1. Sistem Bileşenleri ATEKS platformunun kontrol bakışş açısından temel bileşenleri Şekil ekil 2’de kesikli çizgi ile verilmiştir. verilmi Platform farksal sürüş sistemine sahip olup itki arka tarafta bulunan iki adet 24V 4200rpm'lik motor tarafından sağlanmaktadır. Bu motorlardan sağlanan sa güç 1/32 dişli oranına sahip redüktorler ile tekerleklere aktarılmaktadır. Motorlar, tekerlekli sandalyelerde yaygın olarak kullanılan PGDrive-VR2 motor sürücüsü ile kontrol edilmektedir. VR2 motor sürücüsü dijital olarak aldığı açısal ve doğrusal hız girdi değerlerini ğerlerini sağ sa ve sol teker için gereken gerilim değerlerine ğerlerine dönüştürüp dönü uygulamaktadır. VR2 üzerinde hız geri beslemesi olmadığıı için bu hızın uygulamasını garanti etmemektedir. VR2, verileri dijital bir şekilde aldığından, çözünürlük doğrusal rusal hız için 0.058m/sn ' ye karşılık ılık gelmektedir. Bu yüzden araç doğrusal do hız çalı AKB Şekil 3: Düşük seviye denetleyicini çalıştığı donanımı 2.2. Sistem Matematiksel Modeli Sistemin matematik modeli çıkartılırken literatürde Lagrange [13] ve Newton-Euler [7] gibi yöntemler kullanılmaktadır. Newton-Euler yöntemi kullanılarak, Şekil 4'teki serbest cisim diyagramından eşitlik (1)'de verilen, sistemin matematiksel modeli çıkartılabilir [2]. 120 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya m U Fclx x q Fcrx ϕ y FGx Frlx U b Fcry Fcly FGy Frrx d r c τG G ω r̂ 84.3kg 14.366cm 59.55cm 19.25cm 19.25cm b B Frly Toplam kütle Teker merkezi ile kütle merkezi arasındaki mesafe Arka iki teker arasındaki mesafe Arka teker yarıçapı Nominal yarıçap Frry 2.3. Sistem Kısıtları d Tasarlanan sistem, sadece benzetim ortamında değil, ayrıca gerçek ortamda da test edildiği için eyleyiciler ve motor sürücüsü için olan kısıtlar modellenerek sistem denetleyicisinde kullanılmıştır. Sistemde kullanılan motorların girdisi +/-24V arasında değişmektedir. Ayrıca, VR2’nin denetleyici ile birlikte uyumlu çalışabilmeleri için motor sürücüsünün davranışı da incelenmiştir. Yapılan testlerle alınan sonuçlara göre, VR2'nin Şekil 5’deki gibi karakteristiği belirlenmiştir. Şekil 4: Tekerlekli sandalyenin serbest cisim diyagramı u cos ϕ − bw sin ϕ 0 x& u sin ϕ + bw cos ϕ 0 y& 0 w ϕ& = a3 + 2r a ˆ 2 −2 4 u rrw a1 a1 u& a1 w& a3 a4 2 ˆ )− d w 0 −2 (rruw a2 a2 0 0 0 Eu 0 Ew 2rd a1 (1) 20 İfade (1) ile verilen sistem modelinde x,y sırasıyla aracın bulunduğu koordinat, ϕ aracın x ekseni ile yaptığı açı, u,w sırasıyla aracın doğrusal ve açısal hızına karşılık gelmektedir. Bu modeldeki bazı parametreler ifade (2) ile verilmektedir. a2 = Doğrusal Gerilim (V) a1 = 15 Ra ˆ + 2 I e )[V .s 2 ] (mrr ka Ra mb[V .s 2 / m] ka a4 = Ra ka kb ( + De )[V .s / rad ] ka Ra (2) -20 Tork sabiti*dişli oranı 1.4882 Nm/A kb Hız sabiti* dişli oranı 1.685 rad/s/V Ra Armatür direnci 0.2957 Ω Teker motor sistemi eylemsizliği Aracın Eylemsizliği -10 -5 0 5 Açısal Gerilim (V) 10 15 20 Bu şekilden de anlaşılabileceği gibi aracın manevra sırasında doğrusal hıza üst limit gelmektedir. Motor sürücüsünden gelen bu kısıtlar ifade (3)'de verilmiştir. ka Ie I -15 Şekil 5: Motor sürücüsü kısıtlama fonksiyon grafiği Tablo 1: ATEKS sistem parametreleri Parametreler Tanım Değerler Viscous sürtünme sabiti 0 -10 ATEKS için ifade (1) ve (2) de kullanılan araç parametre değerleri Tablo 1’de verilmektedir. De 5 -5 Ra ˆ ( I + mb 2 )][V .m 2 .s 2 ] [ I e d 2 + 2rr ka a3 = 10 22 2 − 81 Ew + 22, Eu ≥ 0 Eu ≤ + 12 Ew2 − 12, Eu < 0 81 (3) 3. Denetleyici Tasarımı ATEKS' in matematiksel modeli üzerinden iki tane birbirinden bağımsız denetleyici tasarlanmıştır. Denetleyicilerden biri sistemin doğrusal hızını kontrol ederken, diğeri ise sistemin açısal hızını kontrol etmektedir. PID denetleyicilerinin katsayıları, CohenCoon yöntemi ile hesaplanmıştır. 0.1044 Nms/rad 0.270 kg•m2 5.5 kgm2 121 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Bu çalışmada, Integral Anti-windup tekniği sadece tek bir eyleyicilerin doyuma ulaştığı durumlarda kullanılmamıştır. İfade (3) ile verilen VR2 motor sürücüsünün uygulanabilir açısal ve doğrusal hızlar bölgesi dışına çıktığında da devreye girmektedir. Tasarlanan denetleyiciler AKB’de, Code Composer Studio kullanılarak gerçeklenmiştir. Cohen-Coon metodu, açık döngülü sistem üzerine uygulandığından, ATEKS' in doğrusal olmayan matematiksel modeli, MATLAB'ın ode45 fonksiyonu ile çözdürülerek açık döngülü bir şekilde sistemin step çıktıları alınmıştır (bkz. Şekil-6). Çıktılar üzerinden Cohen-Coon kuralları uygulanarak doğrusal ve açısal hız için kazançlar elde edilmiştir [14]. Unit Step Response 0.12 4. Testler 0.08 ATEKS sistemi için önceki bölümdeki önerilen yöntem ile denetleyici parametreleri doğrusal hız kontrolü için KP=7.08, KI=8.10, KD=0.35, açısal hız kontrolü için KP=4.165, KI=10.655, KD=1.7089 ve integral windup kazançları, doğrusal hız için Kt = 0.02332, açısal hız için Kt = 0.6332 olarak bulunmuştur. Önerilen düşük seviye denetleyici ATEKS üzerinde değişik davranış senaryoları ile test edilmiştir. Bunlar aşağıda verilmektedir. 0.06 0.04 0.02 0 0 20 40 60 80 100 120 Zaman (s) 140 160 180 200 (a) Doğrusal hız için Unit Step Response 0.25 Açısal Hız (rad/s) 0.2 X: 147.7 Y: 0.1707 Senaryo 1: Araca Şekil 8 ile gösterilen kare çizdirilmiştir. Doğrusal referans hız olarak 0.5m/s ve dönüşlerde ise 0.3rad/s referans hız uygulanmıştır. Bu senaryoda araç önce doğrusal gitmekte, durmakta ve dönüş almaktadır. Hareket benzer şekilde devam etmiştir. Hızların uygulanma süresi ve hız değişimlerinden önce durma süreleri 6sn'dir. Şekil 10’da görüldüğü gibi gerçek ortam testlerinde istenilen açısal ve doğrusal hız referans değerlerine ulaşmıştır. 0.15 0.1 0.05 0 0 20 40 60 80 100 120 Zaman (s) 140 160 180 200 (b) Açısal hız için Şekil 6: Açık döngülü sistemin step çıktıları Y (m) ATEKS üzerinde eyleyiciler kısıtlı olduğu için tasarlanan denetleyicilere Integral Anti-windup tekniği entegre edilmiştir [15]. ATEKS projesinde Integral Anti-windup, geri hesaplama algoritması ile çözülmüştür [16]. Bu teknik Şekil 7’de görülen kapalı döngü bir sistemi biçiminde sisteme uygulanmıştır. Bu iyileştirme ile denetleyici integral teriminden dolayı birikerek artan hata, integral anti windup tekniği ile çözülmüştür. 3 0.5 m/s 2 0.5 m/s 0.3 rad/s 0.3 rad/s 0.5 m/s Doğrusal Hız (m/s) 0.1 0.3 rad/s 0.5 m/s X (m) 1 Başlangıç Noktası Şekil 8: Senaryo-1 aracın istenilen hareketi Doğrusal (m/s) Hız 0.6 0.4 0.2 0 -0.2 0 10 20 30 40 50 60 Zaman (s) 70 80 90 100 0 10 20 30 40 50 60 Zaman (s) 70 80 90 100 Açısal (rad/s) Hız 0.6 0.4 0.2 0 -0.2 Şekil 9: Senaryo-1 aracın hız çıktıları Şekil 7: Denetleyici blok diyagramı 122 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya 0.6 Doğrusal (m/s) Hız Senaryo 2: Araca şekil 10’daki gibi hareket senaryosu belirlenmiştir. Hızların uygulanma süresi 6 saniye olacak şekilde, araç 0.5m/sn doğrusal referans hız ile hareket ettirilmiştir. Daha sonra 0.5m/s doğrusal ve 0.3rad/s açısal referans hızları uygulanmıştır. Bu hareket sonucunda aracın istenilen referans hız değerlerine ulaştığı görülmüştür. 0.4 0.2 0 -0.2 0 10 20 30 40 Zaman (s) 50 60 70 0 10 20 30 40 Zaman (s) 50 60 70 Açısal (rad/s) Hız 0.5 0 -0.5 -1 Şekil 11: Senaryo-3 aracın hız çıktıları Senaryo 4: Araca şekil 14’deki gibi bir daire çizdirilmiştir. Araca (0.5m/s) ve açısal (0.3rad/s) referans hız değerleri uygulanmıştır. Şekil 15’deki gibi hız çıktıları elde edilmiştir. Şekil 10: Senaryo-2 aracın istenilen hareketi Doğrusal (m/s) Hız 0.6 0.4 0.2 0 -0.2 0 5 10 15 20 25 15 20 25 Zaman (s) Açısal (rad/s) Hız 0.2 0 -0.2 -0.4 -0.6 0 5 10 Şekil 12: Senaryo-4 aracın istenilen hareketi Zaman (s) Şekil11: Senaryo-2 aracın hız çıktıları Doğrusal (m/s) Hız 0.8 Senaryo 3: Bu senaryoda araca Şekil 12’deki gibi bir yörünge izlemesi için referans hızlar uygulanmıştır. Aracın doğrusal hareketi için 0.5m/s doğrusal referans hız uygulanmıştır. Sağ ve sola dönüşler için sırasıyla 0.3rad/s ve 0.3rad/s açısal hızlar referans olarak araca verilmiştir. Aracın hız çıktıları Şekil 13’de görülmektedir. 0.6 0.4 0.2 0 0 5 10 15 20 25 30 Zaman (s) 35 40 45 50 0 5 10 15 20 25 30 Zaman (s) 35 40 45 50 Açısal (rad/s) Hız 0.8 0.6 0.4 0.2 0 Şekil 13: Senaryo-4 aracın hız çıktıları Bu ve yapılan diğer testlere ait videolara [17] linkinden erişilebilir. Yapılan testlerde verilen referans hız değerlerinin takibinde grafiklerde belli bir salınım olduğu görülmüştür. Bu salınım ATEKS platformunda fiziksel olarak rahatsızlık veren bir salınım değildir. Bunun temel iki nedeni vardır. Birincisi VR2 motor sürücüsü çözünürlüğüdür. İkincisi ise denetleyicilerin birbirlerini etkilemeleridir. Şekil 10: Senaryo-3 aracın istenilen hareketi 123 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya [7] R. Velázquez, “On the Dynamics and Control of Robotic Wheelchairs”, IFToMM Symposium on Mechanism Design for Robotics, Aguascalientes, Mexico 2010 5. Sonuçlar Bu çalışmada, ATEKS platformu için düşük seviyeli denetleyici tasarlanmıştır. Tasarlanan denetleyici araç özerk modda iken yüksek seviye kontrolör tarafından takip için üretilen doğrusal ve açısal hız değerlerini kabul edilebilir sınırlar içinde takip edebilmektedir. İleriki çalışmalarda referans hız değerlerinin birinci derece filtreden geçirilerek denetleyicilere girmesi sağlanacaktır. Burada aracın maksimum ivmelenme ve yavaşlama değerleri de göz önünde bulundurulacaktır. Ayrıca, hassas yanaşma, yüksek hızda ilerleme vb. farklı özerk davranışlar ile denetleyicilerin entegre çalışabilmesi için davranışa bağlı anlık denetleyici parametre değişimlerinin yapılması planlanmaktadır. [8] Celso De La Cruz and R. Carelli, “Dynamic model based formation control and obstacle avoidance of multi-robot systems”, Cambridge University Press, Robotica: s: 1-12, 2008 [9] C. D. L. Cruz, W. C. Celeste and T. F. Bastos, “Dynamic Model-Based Adaptive Posture Controller for Robotic Wheelchairs,” Department of Electrical Engineering, Universidade Federal do Espírito Santo, Journal of Medical and Biological Engineering, s: 6169, 2010 [10] W. C. Celeste, T. F. B. Filho, M. S. Filho and R.Carelli, “Dynamic Model and Control Structure for an Autonomous Wheelchair”, IEEE international symposium on industrial electronics, Cambridge, United Kingdom, s: 1359-1364, 2008 Teşekkür Bu çalışma, 7120742 nolu TÜBİTAK projesi tarafından desteklenmektedir. Kaynakça [11] X. Chen, J Geoff Chase, P. Wolm, I. Anstis, J. Oldridge, W. Hanbury-Webber, R. Elliot and W. Pettigrew, “System Identification and Modeling of Front Wheel Drive Electric Wheelchairs", Dept of Mechanical Engineering, University of Canterbury, Private bag 4800, Christchurch 8140, New Zealand. [1] S. G. Tzafestas ,”Research on Autonomous Robotic Wheelchairs in Europe”, IEEE Robotics & Automation Magazine, s:4-6, 2001 [2] T. Lu, K. Yuan, H. Zhu, H. Hu,” An Embedded Control System for Intelligent Wheelchair”, Proceedings of 27th Annual Int. Conf. of the IEEE Engineering in Medicine & Biology Society, s: 5036 – 5039, Eylül 2005 [12] H. Chun-Qing, P. Xia-Fu and W. Jun-Ping, “Robust Nonlinear PID Controllers for Anti-windup Design of Robot Manipulators with an Uncertain Jacobian Matrix”, Acta Automatica Sinica, Cilt: 34 No: 9, s: 1114-1121, Eylül 2008. [3] Y. Oonishi, S. Oh and Y. Hori, ” A New Control Method for Power-Assisted Wheelchair Based on the Surface Myoelectric Signal”, IEEE Transactıons On Industrıal Electronıcs, Cilt: 57, No: 9, s:3191-3196, Eylül 2010. [13] X. Yun and Y. Yamamoto, “Internal dynamics of a wheeled mobile robot”, IEEE/RSJ International conference on Intelligent Robots and Systems, Yokohama, Japan, Cilt: 2, s: 1288-1294, 1993. [4] T. Carlson and Y. Demiris, “Collaborative Control for a Robotic Wheelchair: Evaluation of Performance, Attention, and Workload”, IEEE Transactıons On Systems, Man, and Cybernetıcs—Part B: Cybernetıcs, Cilt: 42, No: 3, s:876-878, Haziran 2012. [14] S. Tavakoli, M. Tavakoli,”Optimal Tuning of PID Controllers for First Order plus Time Delay Models Using Dimensional Analysis”, s: 942-946, 2003 [5] U. Ozguner, K. A. Redmill and A. Broggi, “Team TerraMax and the DARPA Grand Challenge: A General Overview,” IEEE Intelligent Vehicles Symposium University of Parma Parma, Italy, s:232-237, 14-17 Haziran 2004 [15] A. Ghoshal and V. John, “Anti-windup Schemes for Proportional Integral and Proportional Resonant Controller”, National Power Electronic Conference 2010, Department of Electrical Engineering, Indian Institute of Science, Bangalore. [6] L. Huang, W. Yu and S. K. Jhajharia, “Speed Control of Differentially Driven Wheeled Mobile RobotsTracking and Synchronization”, Instrumentation and Measurement Technology Conference, IMTC '03. Proceedings of the 20th IEEE, Cilt: 2, s: 1407-1412, 2003. [16] A. Visioli, “Modified anti-windup scheme for PID controllers”, IEEE Proceedings- Control Theory Applications, Cilt: 150, s: 49-54, 2003. [17] html 124 http://www.inovasyonmuhendislik.com/haberler. Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Bir Tank Sisteminde Uyarlamalı Sinirsel-Bulanık Çıkarım Sistemi yardımıyla Arıza Teşhisi Kemal UÇAK1, Fikret ÇALIŞKAN1, Gülay ÖKE1 1 Kontrol ve Otomasyon Mühendisliği Bölümü Đstanbul Teknik Üniversitesi, Maslak/Đstanbul kemal.ucak@itu.edu.tr, caliskanf@elk.itu.edu.tr, gulay.oke@itu.edu.tr sürekli hal değerinden sapmaların tespiti için, [4]'de yapay sinir ağları kullanılmıştır. Sınıflandırma performansını iyileştirmek ve sınıflandırıcının işlemsel yükünü azaltmak için [7]'de kullanıldığı gibi, boyut indirgeme metodlarından yaralanılabilir. Yapay sinir ağlarındaki öğrenme algoritmalarının yardımıyla, arıza teşhisi sistemlerinde bulanık modeller kullanılabilir ([14-16]). Bu çalışmada, YSA ve USBÇS yardımıyla üçlü tank sistemi için delinme arızalarının tespiti yapılmıştır. Bildiri şu şekilde organize edilmiştir: Bölüm 2'de sistemin doğrusal olmayan modeli verilmiştir. USBÇS yapısı özet olarak Bölüm 3’te sunulmuştur. Bölüm 4’te, sistemin tanılanması ve rezidü üreteci açıklanmıştır. Bölüm 5’te simülasyon sonuçları verilmiştir. Bildiri, kısa bir sonuç bölümü ile bitirilmektedir. Özetçe Bu çalışmada, Uyarlamalı Sinirsel-Bulanık Çıkarım Sistemi (USBÇS) üçlü tank sistemindeki delinme arızalarının tespiti için uygulanmıştır. Arıza teşhisi için iki farklı yapı kullanılmıştır. Birincisi sistemin dinamiklerini tanılamak için kullanılırken ikinci yapı ise arızaların karakteristiklerini sınıflandırmak için kullanılmıştır. Tanklardaki delinmeler arıza olarak ele alınmıştır. Kullanılan metodun başarımı üçlü tank sistemi üzerinde yapılan simülasyonlarla değerlendirilmiştir. 1. Giriş Arızanın önceden tespiti; sistemin kapatılmasını, zarar görmesini engelleyebilmekte ve ayrıca oluşan yeni koşullar için kontrolörün tekrar tasarlanabilmesine olanak vermektedir. Bu nedenle, arıza teşhisi kontrol mühendisliğinde büyük bir öneme sahiptir. Arızanın algılanması durumunda, gerekli önlemler alınarak sistemin operasyonu başarılı bir şekilde tamamlanması sağlanabilir. Dolayısıyla, arızanın karakteristiğinin doğru teşhis edilmesi kontrol performansını arttırması açısından önemlidir. Model tabanlı yaklaşımlar, arıza teşhisi alanında 40 yıldır kullanılmaktadır. Model tabanlı yaklaşımlar sistemin matematiksel modelini tanılamak için kullanıldığında en büyük dezavantajları modelleme hatası, parametre değişimi, gürültü ve bozuculara karşı çok duyarlı olmaları ve arıza teşhisi performansının doğrudan modelin kalitesine bağlı olmasıdır. Yapay zeka teknikleri, lineer olmayan fonksiyon kestirim yeteneklerinden dolayı, arıza teşhisi alanında sıklıkla kullanılmaktadır. Yapay zeka teknikleriyle arızanın algılanması ve izole edilmesi iki aşamadan oluşmaktadır. Đlk adım olarak sistemin çıkışı ile modelin çıkışı karşılaştırılarak rezidü sinyalleri oluşturulur. Akıllı bir model, sistemin gelecekteki durumlarının kestirimi için eğitilir. Đkinci adımda, rezidü sinyallerinin karakteristikleri sınıflandırma yöntemleri ile tanılanır. Böylece, sınıflandırma metodu yardımıyla, arızaların türü algılanıp izole edilebilir. Literatürde, yapay sinir ağı(YSA) ve USBÇS yaklaşımları yardımıyla çeşitli model tabanlı yöntemler gerçekleştirilmiştir. Üçlü tank sisteminde delinme arızalarının teşhisi için, [1]’de, sistem tanıma ve arıza sınıflandırma için iki farklı yapay sinir ağları kullanılmıştır. Arıza algılama ve teşhisi için [2]'de NARMA modeli kullanılmış ve arıza algılama ve teşhisi için rezidülerin olasılık yoğunluk fonksiyonları hesaplanmıştır. Kohonen ağ yapısı kullanılarak, [3]'de, üçlü tank sistemi için tıkanma arızaları teşhis edilmiştir. Sürekli karıştırmalı Tank Reaktörünün (CSTR-Continuously Stirred Tank Reactor), 2. Üçlü Tank Sisteminin Modeli q1 q2 S L1 S L3 q13 S p µ1 q32 S L2 S p µ3 q20 S p µ2 q20 Şekil 1: Üçlü Tank Sistemi. Şekil 1 de verilen üçlü tank sistemi son yıllarda teknik literatürde doğrusal olmayan sistem örneği olarak sıklıkla kullanılmaktadır [5,6]. Sistem birbirine seri olarak bağlanmış üç tank ve iki pompadan oluşmaktadır. Sistemdeki sıvı seviyeleri, pompalardaki akış oranı ile kontrol edilmektedir. Sistemin dinamiklerini tanımlayan diferansiyel denklemler (1) de verilmiştir. dL S 1 = q1 − q13 dt S d L2 = q2 + q32 − q20 dt S d L3 = q13 − q32 dt (1) burada S tankların kesit alanı, qij tank i'den tank j'ye 125 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya (i,j=1,2,3) sıvı akış oranıdır ve qij = µi .S p .sign( Li − L j ). 2 g Li − L j şeklinde tanımlanmaktadır. q20 çıkış sıvı akış oranını q20 = µ2 .S p . 2 gL2 A1 temsil etmektedir x1 ve x1 x2 µ ( A1 ) w1 w2 Π M B1 x2 3. Uyarlamalı Sinirsel-Bulanık Çıkarım Sistemi M N ∑ y M M M x1 x2 wR wR f R M Bk Bulanık sistemler, yapay sinir ağlarındaki öğrenme algoritmaları kullanılarak, herhangi bir fonksiyonun kestirimi için uygulanabilirler. Bu tipteki bulanık sistemler Uyarlamalı Sinirsel-Bulanık Çıkarım Sistemleri (USBÇS) olarak adlandırılırlar. Üstün genelleme performansları ve belirsizliklere karşı dayanıklılıklarından dolayı, USBÇS tabanlı modeller, karmaşık doğrusal olmayan dinamiklerin tanılanmasında kullanılabilirler. USBÇS yapısı fonksiyonel olarak Şekil 2’de görüldüğü gibi Sugeno tipinde bir bulanık modele eşdeğerdir [7, 8]. USBÇS’nin normal bulanık mantık sistemlerinden ana farkı uyarlamalı parametrelere sahip olmasıdır. Öncül ve soncul parametreler olarak adlandırılan bu parametreler uyarlanabilmektedirler[12]. Yapı 5 tane katmandan oluşmaktadır [8-14]. Uyarlamalı ağdaki bağlantılar sadece düğümler arasındaki sinyalin akış yönünü göstermektedir, yani, bağlantılara ilişkin ağırlıklar bulunmamaktadır[9]. Katmanlar ve fonksiyonları aşağıdaki gibi özetlenebilir: Katman 1: Girişlerin üyelik dereceleri bu katmanda hesaplanmaktadır. Üyelik fonksiyonları uyarlanabilir parametreler içerdiği için, bu katman uyarlamalı katman olarak adlandırılmakta ve bu katmandaki parametreler öncül parametreler olarak isimlendirilmektedir. Katman 2: Kurallara ait ateşlenme dereceleri bu katmanda hesaplanmaktadır. Katman sabit bir katmandır ve Π ile etiketlenmektedir. Katman 3 : Ateşlenme dereceleri bu katmanda normalize edilmektedir. Katman 4 : Bu katmana ilişkin parametreler { pi , qi , ri } soncul parametreler olarak adlandırılmaktadırlar ve uyarlanabilir parametrelerdir. fi 'ler aşağıdaki gibi verilmektedirler. fi = pi x1 + qi x2 + ri . Katman 5 : Çıkış katmanı olarak adlandırılmaktadır. 4. katmanın çıkışları bu katmanda toplanmaktadır. Katman 1 ve katman 4 uyarlamalı katman olarak adlandırılmaktadır [15,16]. Bu parametrelerin optimizasyonu için hibrit öğrenme algoritması kullanılmaktadır. Hibrit öğrenme algoritması geri yayılım algoritması ile en küçük kareler algoritmasının birleştirilmesiyle oluşur. Öğrenme süreci 2 adımda gerçekleştirilmektedir: ileri yayılım ve geri yayılım. Đleri yayılımda, öncül parametreler sabitken, ağ girişleri 4. katmana kadar ileri yayılmaktadır ve normalize ateşlenme dereceleri hesaplanmaktadır. Daha sonra, en küçük kareler algoritmasının yardımıyla soncul parametrelerinin optimal değerleri elde edilen normalize ateşlenme dereceleri ve çıkış verileri için hesaplanmaktadır. Π M w2 f 2 w2 M M M wR B2 N M M değerleri için [17] den yaralanılmıştır. w1 f1 x1 x2 M M Ak dir. Sistem parametrelerinin sayısal N Π A2 w1 µ ( Bk ) Şekil 2: Uyarlamalı Sinirsel-Bulanık Çıkarım Sistemi. Geri yayılımda, soncul parametreler sabitken, öncül parametreler geri yayılım algoritması yardımıyla optimize edilmektedir. Bu yaklaşımda, en küçük kareler algoritması geri yayılım algoritmasının arama uzayının boyutunu düşürdüğü için yakınsaklık hızını artırmaktadır [10, 11]. Bu nedenle, hibrit öğrenme algoritması geri yayılım algoritmasına göre daha etkilidir . Ayrıntılı bilgi [13]'te bulunabilir. 4. USBÇS ile Arıza Teşhisi Arıza teşhisi ve izolasyon şeması Şekil 3'te verilmiştir. Yapı 3 parçadan oluşmaktadır. Sistem tanılayıcı, sistemin durumları kestirmek için kullanılmaktadır. Sistem durumları ve gözleyicinin çıkışı ile kestirim hatası oluşturulmaktadır. Kestirim hatasına bağlı olarak, rezidüler üretilmekte ve bu rezidüler hata sınıflandırıcısının eğitildiği değerlere normalize edilmektedir. Arıza sınıflandırıcı ile rezidülere bağlı olarak arızalar tespit edilmektedir. x ( k + 1) u (k ) z −1 xˆ ( k + 1) + f ( k + 1) − r ( k + 1) Şekil 3: Arıza Teşhisi. Sistemde bir arıza olması durumunda, sistem tanılayıcı, arızanın dinamiğini bilmediği için olağandışı davranacaktır ve bu durum gözleyici ile tespit edilebilir. Delinme arızalarına bağlı rezidülerle eğitilen çıkarım mekanizması ile arızanın yeri ve zamanı tespit edilebilmektedir. Bölüm 4.1'de sistem tanılama problemi ana hatlarıyla belirlenmiştir. Arıza tespiti ve izolasyon sınıflandırıcısı Bölüm 4.2 de açıklanmıştır. 4.1. Sistem Tanılama Bu çalışmada üçlü tank sisteminin kestirimi için, sistemin YSA ve USBÇS tabanlı NARX (Nonlinear AutoRegressive with eXogenous inputs model) modeli kullanılmıştır. Lineer olmayan sistemin dinamikleri (4) ile temsil edilebilir. y ( n ) = F ([u ( n ),.., u ( n − nu ), y ( n − 1),.., y ( n − n y )]) (4) 126 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Burada, sırasıyla, u(n) çıkışını, nu kontrol ny ve sinyalini, NARX y(n) modelin sistem 0.8 0.6 0.4 0.2 derecesini göstermektedir. Modelin eğitimi ve testi için sırasıyla 3000 ve 500 veri rastlantısal olarak seçilmiştir. Seçilen eğitim verisi ile YSA ve USBÇS eğitilmiş ve test verisi ile NARX modelin performansı değerlendirilmiştir. USBÇS'de, her giriş için 2 tane gauss üyelik fonksiyonu kullanılmıştır. Şekil 4’te USBÇS’nin doğrulama performansı verilmiştir. Sonuçlardan görüldüğü gibi uygun model verisi seti ile sistem dinamikleri başarılı bir şekilde modellenebilmektedir. L1 ANF 1 200 400 600 800 1000 1200 1400 1600 1800 2000 0.4 0.3 0.2 0.1 L2 ANF 2 200 400 600 800 1000 1200 1400 1600 1800 2000 0.6 0.4 4.2. Arıza Algılama ve Đzolasyon Rezidü sinyalleri üretilmektedir. (5)'te L3 0.2 verilen kestirim hatası e (k + 1) = x (k + 1) − xˆ (k + 1) ile (5) 400 600 800 1000 1200 Zaman(sn) 1400 1600 1800 2000 Şekil 4: USBÇS ile tanılama. USBÇS nin tanılama performansı YSA modeller ile kıyaslanmış, fakat USBÇS nin performansı daha iyi olduğu için YSA’ya ait grafikler verilmemiştir. Tablo 2’de USBÇS ve YSA’ya ait eğitim, test ve doğrulama perforansları verilmiştir. Burada, etr , etst ve ev , sırasıyla, ortalama mutlak eğitim, test ve doğrulama hatasını göstermektedir. Burada xˆ ( k + 1) kestirilen sistem durumlarını göstermektedir. Gürültü, parametre değişimi ve diğer faktörlerden dolayı gerçek durum farklı olabileceği için, alarm durumu için bir eşik değeri kullanılabilir. if ei < ε i , i. tan kta arıza yok if ei > ε i , i. tan kta arıza var ANF 3 200 (6) Tablo 2: Hatalar Başka bir USBÇS ile rezidü sinyallerinin karakteristikleri kestirilebilir. Böylece, üretilen rezidüler ile sistemde arıza olup olmadığı sınanabilir. USBÇS sınıflandırıcısının çıkışı alarm sinyalidir ve f = [ f1 f 2 f 3 ] ile gösterilir. f i , i. tanktaki arızayı göstermektedir. Sınıflandırıcının eğitimi için genelleştirilmiş gözleyici şemasına (GGŞ) bağlı delinme arızaları için kullanılan eğitim verileri Tablo 1’de verilmiştir. Hatalar etr1 YSA USBÇS 4.5134 x10−4 1.1704 x10−5 Kıyaslama 97.4068 etr 2 5.6569 x10−4 1.0499 x10−5 98.1440 etr 3 6.0353 x10 −4 2.8974 x10−6 99.5199 4.7838 x10 −4 1.2353 x10 −5 97.4177 etst 2 6.4341 x10 −4 9.8523 x10 −6 98.4687 etst 3 5.9652 x10−4 3.0929 x10−6 99.4815 −4 −5 87.3469 etst1 Tablo 1: Genelleştirilmiş Gözleyici Şeması için Arızalar ev1 6.4535 x10 8.1657 x10 Arızalar f1 f2 f3 ev 2 9.4120 x10−4 1.5126 x10−4 83.9291 Tank 1 Tank 2 Tank 3 0 1 1 1 0 1 1 1 0 ev 3 −4 −6 98.9267 8.2236 x10 8.8265 x10 Tablo 2’den görülebileceği gibi, YSA ve USBÇS modelleri yeterince küçük hatalara sahiptir. Tablonun 3. sütunu USBÇS ve YSA arasındaki performans farkını göstermektedir. Tüm durumlar için USBÇS, YSA dan daha iyi bir performansa sahiptir. i. tankta delinme olması durumunda, GGŞ göre, f 'nin i. elemanı 0, diğerleri 1 olacaktır. Arıza olmaması durumunda, alarm verilmeyecek yani f [0 0 0] olacaktır. 5.2. Arıza algılama ve Đzolasyon Sınıflandırıcısı 5. Benzetim Sonuçları Tablo 1 yardımıyla arıza algılama ve izolasyon sınıflandırıcı oluşturmak için 2000 eğitim 500 doğrulama veri çifti üretilmiştir. Sınıflandırıcının performansı Şekil 5’te verilmiştir. Sonuçlar USBÇS tabanlı sınıflandırıcının ideal bir çıkarım mantığına sahip olduğunu göstermektedir. YSA ve USBÇS performansları Tablo 3’te kıyaslanmıştır. 5.1. Sistem Tanılama USBÇS modellerinin tanılama performansları Şekil’4 te verilmiştir. USBÇS ve YSA modellerinin eğitim ve test süreçleri için sırasıyla 3000 ve 500 veri seçilmiştir. 127 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya 0.15 1 0.4 0.5 0.3 f1 r1 0.1 0.05 0 0.2 0 0 1000 2000 3000 0 0.15 1000 2000 L1 0.1 3000 ANF 1 1 0 f2 r2 0.1 200 400 600 800 1000 0.5 0.05 0 0 0 1000 2000 3000 0.25 0 0.15 1000 2000 3000 0.2 1 0.15 f3 r3 0.1 0.5 0.1 0 0.05 0.05 0 0 1000 2000 3000 0 1000 2000 3000 0 Şekil 5: Doğrulama performansı,Kırmızı(USBÇS), Mavi(Gerçek). L2 ANF 2 0 200 400 600 800 1000 0.3 0.2 Tablo 3’ten görülebileceği gibi, eğitim evresinde USBÇS’nin performansı daha iyi iken doğrulama evresinde YSA ve USBÇS’nin performansları çok yakındır. L3 0.1 ANF 3 0 200 400 600 800 1000 Tablo 3: Hatalar USBÇS Şekil 6: Sistem ve gözleyici çıkışı(arızalı durum). Hatalar etr1 YSA 0.0034 4.9974 x10 −10 Kıyaslama 100 etr 2 0.0025 5.1124 x10 −10 100 15 etr 3 0.0025 3.9921 x10 −10 100 10 ev1 0.0360 0.0334 7.2222 5 ev 2 0.0350 0.0333 4.8571 0 ev 3 0.0351 0.0333 5.1282 -3 x 10 |e1| th1 0 200 400 600 800 1000 5.3. Arıza Teşhisi 0.03 |e2| USBÇS’nin performansını sınamak için, 400.-600. saniyeler arasında 1. tankta, 700.-800. saniyeler arasında 2. tankta ve 850.-870. saniyeler arasında 3. tankta delinmeler meydana geldiği farz edilmiştir. Şekil 6-7 sistem ve gözleyici davranışlarını ve kestirim hatasını göstermektedir. Tanklardaki delinmeler kestirim hatasının gözlenebilir bir şekilde artmasına neden olmaktadır . Elde edilen kestirim hataları bir eşik değeri kullanılıp, arıza sınıflandırıcısının eğitildiği değer aralığına normalize edilmektedir. Bu normalize edilmiş rezidü sinyalleri arızanın yerinin tespiti için kullanılmaktadır. Şekil 8’den görüldüğü gibi, arıza vektörü, Tablo 1’de verilen değerlere göre, 400-600 sn lerde f = [0 1 1] değerine sahiptir. Arıza vektörü 1. tankta delinme olduğunu göstermektedir. Benzer şekilde, tank 2 ve tank 3 deki arızalar 700-800 ve 850-870 saniyeler arasında başarılı bir şekilde izole edilmiştir. 0.02 th2 0.01 0 0 x 10 20 15 10 200 400 600 800 1000 800 1000 -3 |e3| th3 5 0 -5 0 200 400 600 Zaman(sn) Şekil 7: Arıza Sinyalleri. 128 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya 0.1 0.08 [3] S. Srinivasan, P. Kanagasabapathy, N. Selvaganesan, "Neural Based Parameter Identification and Fault Diagnosis in a Three-Tank System", in IEEE International Conference on Computational Intelligence and Multimedia Applications, India, Tamil Nadu, 2007, pp. 169-173. [4] R.Z.A. Rahman, A.C. Soh, N.F.B. Muhammad, "Fault Detection and Diagnosis for Continuous Stirred Tank Reactor using Neural Network", Journal of Science, vol. 6, no. 2, pp. 66-74, Nov.,2010. [5] P. Chalupa, J. Novák, V. Bobál , "Comprehensive Model of DTS200 Three Tank System in Simulink", International Journal of Mathematical Models and Methods in Applied Sciences, vol. 6, no. 2, pp. 358-365, 2012. [6] M. Hou, Y. S. Xiong, and R. J. Patton, "Observing a Three-Tank System" , IEEE Transsaction on Control Systems Technology, vol. 13, no. 3, pp. 478-484, May., 2005. [7] P. Akhlaghi, A. R. Kashanipour, K. Salahshoor, "Complex Dynamical System Fault Diagnosis based on Multiple ANFIS using Independent Component" in Proceeding of 16th Mediterranean Conference on Control and Automation, Ajaccio, 2008, pp. 1798-1803. [8] J-S.R. Jang, C.-T. Sun, E. Mizutani, "Neuro-Fuzzy and Soft Computing: A Computational Approach to Learning and Machine Intelligence" Prentice Hall ,1997. [9] H. Sadjadian, H.D. Taghirad, A. Fatehi, "Neural Networks Approaches for Computing the Forward Kinematics of a Redundant Parallel Manipulator", International Journal of Computational Intelligence, vol. 2, no. 1, pp. 40-47, 2005. [10] M. Aghajarian, K. Kiani " Inverse Kinematics Solution of PUMA 560 Robot Arm Using ANFIS" in International Conference on Ubiquitous Robots and Ambient Intelligence, Incheon, 2011, pp. 574-578. [11] S. Alavandar M.J. Nigam " Adaptive Neuro-Fuzzy Inference System based Control of six DOF robot manipulator" Journal of Engineering Science and Technology Review, vol. 1, issue 1, pp. 106-111, 2008. [12] S. Alavandar, M.J. Nigam, "Neuro-Fuzzy based Approach for Inverse Kinematics Solution of Industrial Robot Manipulators", International Journal of Computers, Communication and Control, vol. 3, no. 3, pp. 224-234, 2008. [13] J.S.R. Jang, "ANFIS: Adaptive-network based fuzzy inference system", IEEE Transactions on Systems Man and Cybernetics, vol. 23, no. 3, pp. 665-685, 1993. [14] O.M.Al Jarah, M.Al Rousan, "Fault Detection and accomodation in dynamic systems using adaptive neurofuzzy systems", in IEE Proceedings Control Theory and Applications, vol. 148, issue 4, 2011, pp. 283-290. [15] B. Zhang, J. Luo, Z. Chen, S. Li, "Fault Diagnosis using Neuro-fuzzy Transductive Inference Algorithm", in International Symposium on Systems and Control in Aerospace and Astronautics, China, Shenzhen, 2008, pp. 1-4. r1 r2 0.06 r3 0.04 0.02 0 0 200 400 600 800 1000 200 400 600 800 1000 600 800 1000 1 f1 0.8 0.6 0.4 0.2 0 Time(sec) 1 f2 0.8 0.6 0.4 0.2 0 200 400 200 400 600 Zaman(sn) 1 0.8 f3 0.6 0.4 0.2 0 800 1000 Şekil 8: Rezidüler ve Sınıflandırıcı çıkışı. 6. Sonuçlar Bu çalışmada, üçlü tank sisteminin arıza teşhisi için YSA ve USBÇS modelleri kullanılmıştır. Sistem tanılama ve arıza sınıflandırıcı için iki ayrı model kullanılmıştır. Arıza olması durumunda, sistem olağan davranmadığı için sistem tanılayıcı ile sistemin davranışı arasında farklılık oluşmaktadır. Oluşan bu rezidü sinyalleri arıza sınıflandırıcıda kullanılarak arızanın yerinin tespiti yapılabilmektedir. Simülasyon sonuçları, sistem tanılama ve arıza sınıflandırmasında USBÇS’nin performansının YSA’dan daha iyi olduğunu göstermektedir. Gelecek çalışmalarda, tıkanma, ölçme elemanı (algılayıcı) ve eyleyici arızaları ele alınarak arızalar çeşitlendirilebilir. Sistemin durumlarının kestirimi için EKF ve UKF tabanlı kestiricilerden yararlanılabilir. Kaynakça [1] P.J. Patton, J. Chen, T.M. Siew, "Fault Diagnosis in nonlinear dynamic systems via neural networks", in IEEE International Conference on Control, United Kingdom, Coventry, 1994, pp. 1346-1351. [2] A.P. Wang, H. Wang, "Fault Diagnosis for nonlinear systems via neural networks and parameter estimation", in IEEE International Conference on Control and Automation, China, Hefei, 2005, pp. 559-563. 129 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya [16] X. Wang, X.B. Xu, Y.-D. Ji, X.-Y. Sun, "Fault Diagnosis using Neuro-fuzzy Network and Dempster-Shafer Theory", in International Conference on Wavelet Analysis and Pattern Recognition, China, Xian,2012, pp. 137-147. [17] DTS200- Laboratory Setup Three-Tank System. Amira GmbH, Duisburg, 2000. 130