MEKATRONĐK BĐR SĐSTEMĐN MODELLENMESĐ, BENZETĐMĐ, GERÇEKLENMESĐ VE GERÇEK ZAMANLI DENETĐMĐ Ahmet DEMĐRKESEN T.C. ULUDAĞ ÜNĐVERSĐTESĐ FEN BĐLĐMLERĐ ENSTĐTÜSÜ MEKTRONĐK BĐR SĐSTEMĐN MODELLENMESĐ, BENZETĐMĐ, GERÇEKLENMESĐ VE GERÇEK ZAMANLI DENETĐMĐ Ahmet Demirkesen Prof. Dr. Đbrahim YÜKSEL (Danışman) YÜKSEK LĐSANS TEZĐ MAKĐNE MÜHENDĐSLĐĞĐ ANABĐLĐM DALI BURSA – 2012 Her Hakkı Saklıdır TEZ ONAYI Ahmet Demirkesen tarafından hazırlanan “Mekatronik Bir Sistemin Modellenmesi, Benzetimi, Gerçeklenmesi ve Gerçek Zamanlı Denetimi” adlı tez çalışması aşağıdaki juri tarafından oy birliği/oy çokluğu ile Uludağ Üniversitesi Fen Bilimleri Enstitüsü Makine Mühendisliği Anabilim Dalı’nda YÜKSEK LĐSANS TEZĐ olarak kabul edilmiştir. Danışman Prof. Dr. Đbrahim Yüksel Başkan: Prof. Dr. Đbrahim YÜKSEL Đmza Uludağ Üniversitesi Mühendislik-Mimarlık Fakültesi Makine Mühendisliği Anabilim Dalı Üye : Yrd. Doç. Dr. Gürsel ŞEFKAT Đmza Uludağ Üniversitesi Mühendislik-Mimarlık Fakültesi Makine Mühendisliği Anabilim Dalı Üye : Yrd. Doç. Dr. Zeliha KAMIŞ KOCABIÇAK Đmza Uludağ Üniversitesi Mühendislik-Mimarlık Fakültesi Otomotiv Mühendisliği Anabilim Dalı Yukarıdaki Sonucu Onaylarım Prof. Dr. Kadri ARSLAN Enstitü Müdürü ..../..../........ U.Ü. Fen Bilimleri Enstitüsü, tez yazım kurallarına uygun olarak hazırladığım bu tez çalışmasında; - tez içindeki bütün bilgi ve belgeleri akademik kurallar çerçevesinde elde ettiğimi, - görsel, işitsel ve yazılı tüm bilgi ve sonuçları bilimsel ahlak kurallarına uygun olarak sunduğumu, - başkalarının eserlerinden yararlanılması durumunda ilgili eserlere bilimsel normlara uygun olarak atıfta bulunduğumu, - atıfta bulunduğum eserlerin tümünü kaynak olarak gösterdiğimi, - kullanılan verilerde herhangi bir tahrifat yapmadığımı, - ve bu tezin herhangi bir bölümünü bu üniversite veya başka bir üniversitede başka bir tez çalışması olarak sunmadığımı beyan ederim. 07.08.2012 Ahmet Demirkesen ÖZET Yüksek Lisans Tezi MEKATRONĐK BĐR SĐSTEMĐN MODELLENMESĐ, BENZETĐMĐ, GERÇEKLENMESĐ VE GERÇEK ZAMANLI DENETĐMĐ Ahmet DEMĐRKESEN Uludağ Üniversitesi Fen Bilimleri Enstitüsü Makine Mühendisliği Anabilim Dalı Danışman: Prof. Dr. Đbrahim YÜKSEL Bu tez çalışmasında, model-tabanlı tasarım ile mekatronik sistem tasarımı süreçlerini kapsayan örnek bir mekatronik sistem geliştirilmiştir. “Nesne Takip Sistemi” olarak isimlendirilen bu sistem, belirli bir renge sahip bir nesneyi görme alanı içerisinde algılayabilen, kameranın açısal hareketini denetleyerek nesneyi görüntü içerisinde merkezleyen bir servo sistemdir. Model-tabanlı tasarımın, denetim sistemlerinin tasarımına sağladığı kolaylıklardan faydalanarak, bu sistem için kararlı gömülü algoritmalar geliştirilmiş, hem benzetim ortamında hem de deney düzeneği üzerinde gerçekleştirilmiştir. Geliştirilen sistemin nesne-takibi performansı test edilmiş ve sonuçlar tartışılmıştır. Tez çalışması sonucunda, benzer uygulamalara faydalı olabilecek sonuçlar çıkarılmıştır. Anahtar Kelimeler: Makine ile görme, görüntü tabanlı görsel servolar, gömülü denetleyiciler, hızlı denetim prototipleme, gerçek-zamanlı sınamalar, model-tabanlı tasarım 2012, xiv + 127 sayfa. i ABSTRACT MSc Thesis MODELING, SIMULATION, IMPLEMENTATION OF A MECHATRONIC SYSTEM AND ITS REAL-TIME CONTROL Ahmet DEMĐRKESEN Uludag University Graduate School of Natural and Applied Sciences Department of Mechanical Engineering Supervisor: Prof. Dr. Đbrahim YÜKSEL In this thesis, a study case which covers stages of mechatronic system development with model based design was developed. The system, that is called "object tracking system", is an image-based visual servo which can detect objects that have a specified color and area in field of view and control angular movement of camera to adjust position of the object in the center of the image. By taking advantage of model-based design, stable embedded algorithms were developed and implemented on both simulation and test bench enviroment. A number of object tracking tests were performed and results were discussed. As a result of this study, facts that could be applicable and are useful for similar systems were presented. Key words: Machine vision, image-based visual servo, embedded controllers, rapid control prototyping, real-time testing, model-based design 2012, xiv + 127 pages. ii ÖNSÖZ VE TEŞEKKÜR Mekatronik, birden fazla mühendislik alanını içeren, sürekli gelişen ve heyecan veren bir mühendislik dalıdır. Bu tezin gelişimini ve yazılmasını kapsayan bir yılı aşkın süre içerisinde, bu genç mühendislik dalının inceliklerini keşfetme şansını buldum. Tezin içerisine, ülkemizde henüz yaygınlaşmayan yenilikçi teknolojileri olabildiğince dahil etmeye çalıştım. Bundaki amaç, ülkemizde mekatronik üzerine çalışan kurumların (hem ticari hem de akademik), dünyada bu alandaki yeni eğilimlere olan uyumuna katkı sağlamaktır. Ayrıca teze başlamadan önce, kullanılacak teorilerin hayata geçirilmeleri de hedeflenmişti. Đlerleyen sayfalar boyunca görüldüğü gibi, teorik esaslarla tasarlanmış mekatronik bir sistem, geliştirme aşamaları süresince deneylerle doğrulanmış, son aşamada “elle tutulur” bir ürün haline gelmiştir. Uludağ Üniversitesi’ndeki yüksek lisans öğrenimim süresince, emeği geçen tüm öğretim görevlilerine ayrı ayrı teşekkür ederim. Danışmanlığımı üstlenen, sarfettiği emek ve aktardığı deneyimler ile daha iyi bir mühendis olmamı sağlayan Sayın Prof. Dr. Đbrahim YÜKSEL’e teşekkür ederim. Ahmet Demirkesen 07.08.2012 iii ĐÇĐNDEKĐLER Sayfa ÖZET ............................................................................................................................ i ABSTRACT ................................................................................................................. ii ÖNSÖZ VE TEŞEKKÜR ............................................................................................ iii SĐMGELER VE KISALTMALAR DĐZĐNĐ .................................................................. vi ŞEKĐLLER DĐZĐNĐ ..................................................................................................... xi ÇĐZELGELER DĐZĐNĐ .............................................................................................. xiv 1. GĐRĐŞ .................................................................................................................... 1 2. KAYNAK ARAŞTIRMASI .................................................................................. 4 3. MATERYAL VE YÖNTEM ............................................................................... 13 3.1. Materyal ....................................................................................................... 13 3.1.1. Çalışmada Faydalanılan Disiplinler........................................................ 13 3.1.1.1. Mekatronik Sistemler ve Mekatronik Sistem Tasarımı .................... 13 3.1.1.2. Gömülü Denetim Sistemleri ............................................................ 14 3.1.1.3. Gömülü Yazılımlar ve V-Modeli .................................................... 15 3.1.1.4. Model Tabanlı Tasarım ................................................................... 18 3.1.1.5. Gerçek Zamanlı Test ve Uygulamaları ............................................ 22 3.1.2. Nesne Takip Sistemi .............................................................................. 26 3.1.3. Nesne Takip Sistemi Deney Düzeneği ................................................... 31 3.1.4. Nesne Takip Sisteminin Bileşenleri ve Özellikleri ................................. 34 3.1.4.1. DC Motor Grubu ............................................................................ 34 3.1.4.2. Motor Sürücü Devresi ..................................................................... 36 3.1.4.3. xPC Target Yazılımı ve Hedef/Yönetici PC .................................... 38 3.1.4.4. Çok Amaçlı I/O Kartı ..................................................................... 40 3.1.4.5. Web Kamerası ve Örnek Nesne Fotografları ................................... 42 3.1.5. Kullanılan Geliştirme Araçları ............................................................... 43 3.1.5.1. Sistem Modelleme ve Benzetim Araçları ........................................ 43 3.1.5.2. Denetim Sistemi Tasarımı Araçları ................................................. 45 iv 3.1.5.3. Görüntü ve Video Đşleme Araçları .................................................. 46 3.1.5.4. Otomatik Kod Oluşturma Araçları .................................................. 46 3.2. Yöntem ......................................................................................................... 48 3.2.1. Görme Altsistemi ................................................................................... 49 3.2.2. Hareket Altsistemi ................................................................................. 57 3.2.2.1. Denetlenen Sistemin (Elektromekanik sistem) Modellenmesi ......... 60 3.2.2.2. DC Motorun Hız Denetleyicisinin Tasarımı .................................... 77 3.2.2.3. DC Motorun Konum Denetleyicisinin Tasarımı .............................. 96 3.2.3. Durum Geçişleri Denetimi Altsistemi .................................................... 99 4. BULGULAR VE TARTIŞMA .......................................................................... 103 4.1. Takip Performansı Testleri .......................................................................... 103 4.1.1. Hareketsiz Nesne Testleri .................................................................... 105 4.1.1.1. “PI-1x” Hız Denetimi ile Hareketsiz Nesne Takibi Testi ............... 107 4.1.1.2. “PI-4x” Hız Denetimi ile Hareketsiz Nesne Takibi Testi ............... 109 4.1.1.3. Hareketsiz Nesne Takibi Deneyi Sonuçları ................................... 110 4.1.2. Hareketli Nesne Testleri ...................................................................... 111 4.1.2.1. “PI-1x” Hız Denetimi ile Hareketli Nesne Takibi Deneyi ............. 111 4.1.2.2. “PI-4x” Hız Denetimi ile Hareketli Nesne Takibi Deneyi ............. 115 4.2. Model-Tabanlı Tasarımın Mekatronik Tasarım Süreçlerine Katkısı ............ 120 4.3. Đleriye Dönük Çalışmalar ............................................................................ 121 5. SONUÇ ............................................................................................................. 122 KAYNAKLAR ......................................................................................................... 125 ÖZGEÇMĐŞ.............................................................................................................. 127 v SĐMGELER VE KISALTMALAR DĐZĐNĐ Simgeler Simge Açıklamalar  Piksel cinsinden görüntü genişliği  Piksel cinsinden görüntü yüksekliği  Bir matrisin herhangi bir satırı  Bir matrisin herhangi bir sütunu R Kırmızı görüntü kanalı matrisi G Yeşil görüntü kanalı matrisi ∗ Belirginleştirilmiş yeşil görüntü kanalı matrisi  Yeşil kanala ilişkin eşik değerlenmiş siyah-beyaz görüntü matrisi Görüntüye ilişkin eşik değer B Mavi görüntü kanalı matrisi Yeşil kanalını belirginleştirme ölçeği 1 yada 0 değerini alabilen keyfi bir değer  Görüntüye ilişkin ROI matrisi ̅ R matrisinin ağırlık merkezinin satır bileşeni ̅ R matrisinin ağırlık merkezinin sütun bileşeni  Blob merkezi ile görüntü merkezi arasındaki konum farkı (piksel cinsinden) Δ̅ Konum hatası töleransı (piksel cinsinden)  Görüntüye ilişkin ROI alanı  Etiketlendirilmiş yeşil görüntü kanalı matrisi  Yatay eksendeki piksel cinsinden görüntü genişliği  Zaman,   Örnekleme Zamanı, s  Gözlem zaman-dilimi, s Δ Açısal hıza ilişkin niceleme hatası, rad/s  Bir encoderin bir tur başına ürettiği darbe sayısı, darbe/s vi Δ Bir  zaman-dilimi içerisinde gözlemlenen darbe sayısı  ! Armatür akımı,  "# Motor milinin açısal konumu, $% Θ# ! Motor milinin açısal konumu (Laplace dönüşümü alınmış) "' = %"# %# Motor milinin açısal hızı, $%/ "* = %+"# % #+ Motor milinin açısal ivmesi, $%/+ ", " Yük milinin açısal konumu, $% Θ ! Yük milinin açısal konumu (Laplace dönüşümü alınmış)  = "' = %" % Yük milinin açısal hızı, $%/ Ω ! Yük milinin açısal hızı ((Laplace dönüşümü alınmış) "* = % +" % + Yük milinin açısal ivmesi, $%/+ - Armatür Endüktansı, .  Armatür Direnci, Ohm / Zıt EMF katsayısı, 01 ∙ /$% 3 EMC Tork dönüşüm katsayısı, / # Motor milinin açısal hızı, $%/ 4# Motorun ürettiği moment,  45 Küçük dişliye aktarılan moment,  4+ Büyük dişliye aktarılan moment,  6# Motor milinin viskoz sürtünme katsayısı, / $%/! 6 Yük milinin viskoz sürtünme katsayısı, / $%/! 7# DC motor ve motor miline bağlı dişlinin eylemsizlik momenti, 89+ 7 8Y9ük v+e yük miline bağlı dişlinin eylemsizlik momenti, 7 :; Motor-dişli kutusunun bileşke eylemsizlik momenti, 89+ 6:; Mot/o r-d$i%şl/i k!utusunun bileşke viskoz sürtünme kat sayısı,  < Sürtünme torku,  vii  + =  Dişli kutusu indirgeme oranı, 5 =5, =+, … , =@ Bir sistemin kutupları  ! Denetleyicinin çıkışı A ! Denetleyicinin çıkışı (Laplace dönüşümü alınmış) %BC PWM sinyaline ilişkin görev çevrimi (doluluk oranı) %0 Yön sinyali DEF Besleme gerilimi  Oransal Kazanç G Đntegral Kazanç H Türev Kazancı @ Doğal frekans F Sistemin kazancı I Sistemin zaman sabiti . ! Sistemin açık döngü transfer fonksiyonu  Sistemin kalıcı durum hatası viii Kısaltmalar Kısaltma Açıklamalar TTL Transistor-to-transistor Logic. Transistör-Transistör mantığı CMOS Complementary Metal-oxide-semiconductor. Tümler metal-oksit yarı-iletken BJT Bipolar juction transistör. Đki kutuplu bağlantı transistörü PWM Pulse width modulation. Darbe genişlik modülasyonu D/A Digital/Analog. Sayısal/Analog A/D Analog/Digital. Analog/Sayısal DC Direct Current. Doğru Akım EMF Electromotor force. Elektromotor kuvvet. FPGA Field Programmable Gate Arrays. Alan programlanabilir kapılar dizisi DSP Digital Signal Processor. Sayısal Đşaret Đşleyici CCD Charge-coupled device. Dolgu-çiftli aygıt. SLAM Static Look-and-Move. Durgun izle ve hareket et. LTI Linear Time Invariant. Doğrusal ve Zamandan Bağımsız RCP Rapid Control Prototyping. Hızlı Kontrol Prototipleme HIL Hardware-in-the-Loop. Döngüde Donanım PIL Processor-in-the-Loop. Döngüde Đşlemci SIL Software-in-the-Loop. Döngüde Yazılım CAN Control Area Network. Denetim Alanı Ağı ECU Electronical Control Unit. Elektronik denetim birimi FDIR Fault Detection Isolation and Recovery. Arıza Algılama Ayırma ve Kurtarma EML Embedded MATLAB Language PCB Printed circuit board. Baskı devre kartı I/O Input/Output. Giriş/Çıkış PID Proportional Integral Derivative. Oransal Đntegral Türev LED Light-Emmiting Diot. Işık yayan diyot 3B 3 boyutlu ix 2B 2 boyutlu PCI Peripheral Component Interconnect GND Ground. Toprak VIN Input Voltage. Giriş Gerilimi DIRA Direction A. A yönü DIRB Direction B. B yönü PC Personal Computer. Kişisel bilgisayar TCP/IP Transmission Control Protocol/Internet Protocol. Gönderim Denetim Protokolü / Đnternet Protokolü USB Universal Serial Bus. Evrensel Seri Veri yolu LTI Linear Time-Invariant. Doğrusal ve zamanla değişmeyen EML Embedded MATLAB Language GUI Graphical User Interface. Grafiksel Kullanıcı Arayüzü ROI Region of Interest. Đlgilenilen bölge. x ŞEKĐLLER DĐZĐNĐ Sayfa Şekil 3.1. V-Modeli Đş Akışı ....................................................................................... 17 Şekil 3.2. Model-tabanlı tasarım iş akışı ...................................................................... 19 Şekil 3.3. Model-tabanlı tasarım ve öğeleri ................................................................. 20 Şekil 3.4. Bilgisayar Benzetimleri ile Test ve Doğrulama ............................................ 20 Şekil 3.5. Ayrıntılandırılmış Bir Tasarım .................................................................... 21 Şekil 3.6. Gerçek-Zamanlı Test Uygulamaları ............................................................. 22 Şekil 3.7. HIL yapılanması .......................................................................................... 24 Şekil 3.8. SIL Yapılanması ......................................................................................... 25 Şekil 3.9. Nesne Takip Sisteminin Yapısal Şeması ...................................................... 26 Şekil 3.10. Nesne Takip Sisteminin Fiziksel Bileşenleri .............................................. 27 Şekil 3.11. Makinenin Çalışmasına Bir Örnek ............................................................. 28 Şekil 3.12. Görüntü üzerindeki geometrik gösterimler ................................................. 29 Şekil 3.13. Durum geçiş denetimleri ........................................................................... 29 Şekil 3.14. Gerçek-zamanlı programın çalışma prensibi .............................................. 30 Şekil 3.15. Nesne takip sistemi deney düzeğinin çalışma prensibi ............................... 31 Şekil 3.16. Deney düzeneğine ilişkin donanımsal ve yazılımsal bileşenler ................... 32 Şekil 3.17. Deney Düzeneğinin Bir Görüntüsü ............................................................ 33 Şekil 3.18. Deney düzeneği elektriksel bağlantı şeması ............................................... 33 Şekil 3.19. NXT motorun CAD montaj görüntüsü ve motora tümleşik optik encoder .. 34 Şekil 3.20. Çalışmada kullanılan RJ-12 konektörü ...................................................... 35 Şekil 3.21. Genel bir H-Köprüsü devre şeması (Bishop 2007) ..................................... 36 Şekil 3.22. Sürücü devre şeması .................................................................................. 37 Şekil 3.23. Bir L298 tüm devresinin iç şeması ............................................................. 38 Şekil 3.24. xPC Target ile Gerçek Zamanlı Test yapılanması ...................................... 39 Şekil 3.25. Çalışmada kullanılan xPC Target hedef bilgisayar ..................................... 40 Şekil 3.26. Humusoft MF624 I/O kartı ........................................................................ 41 Şekil 3.27. Simulink ve SimScape’in karşılaştırılması ................................................. 44 Şekil 3.28. Gerçek-zamanlı programın Simulink modeli ............................................. 48 Şekil 3.29. Görme Altsisteminin Đşlevsel Şeması ........................................................ 49 Şekil 3.30. Örnek nesne fotografı ................................................................................ 50 Şekil 3.31. Özgün Görüntü (Solda) ve Yeşil Kanal (Sağda) ......................................... 50 Şekil 3.32. Farklı ölçekleme katsayıları altında yeşil kanal .......................................... 51 Şekil 3.33. Parlak piksele ait okunan değerler ............................................................. 52 Şekil 3.34. Seçilen parlak noktanın yatay hizasındaki piksellerin renk şiddetleri ......... 53 Şekil 3.35. Özgün resim ve eşik değerleme işlemi sonucu ........................................... 53 Şekil 3.36. Hesaplanan blobun yakından görünümü .................................................... 53 Şekil 3.37. Herhangi bir ikili (binary) görüntüye ait matris ve etiketlendirilmiş bağlı bileşenler matrisi (Shapiro 2000) ................................................................................ 54 xi Şekil 3.38. Merkez noktası hesaplanmış blob .............................................................. 55 Şekil 3.39. Görme altsisteminin testi ........................................................................... 56 Şekil 3.40. Elektromekanik sisteme ilişkin denetim sisteminin modeli ........................ 57 Şekil 3.41. Denetleyici alt sistemi ............................................................................... 58 Şekil 3.42. DC motor sürücüsünün Simulink/SimScape modeli ................................... 61 Şekil 3.43. DC motor ve dişli grubunun şeması ........................................................... 61 Şekil 3.44. DC motor ve dişli grubunun blok diyagramı .............................................. 65 Şekil 3.45. Blok diyagramının indirgenmiş hali ........................................................... 65 Şekil 3.46. Elektromekanik altsistemin Simulink Modeli ............................................ 67 Şekil 3.47. DC motor elektriksel kısmın Simulink modeli ........................................... 68 Şekil 3.48. DC motor mekanik kısmın Simulink modeli .............................................. 68 Şekil 3.49. Motorun gerçek zamanlı sınanmasına yönelik Simulink ortamında geliştirilen uygulama ................................................................................................... 69 Şekil 3.50. Parametre kestirimi deneyleri için geliştirilen GUI ve prensip şeması ........ 70 Şekil 3.51. Giriş test sinyaline karşılık elektromekanik sistemin yanıtı ........................ 71 Şekil 3.52. Parametre kestirimi için oluşturulan Simulink modeli ................................ 71 Şekil 3.53. Optimizasyon öncesi ve sonrası benzetim/gerçek sistem yanıtlarının karşılaştırılması ........................................................................................................... 73 Şekil 3.54. Denetlenen sistemin birim basamak yanıtı ................................................. 75 Şekil 3.55. Hız denetim sistemi blok diyagramı........................................................... 77 Şekil 3.56. P denetimli denetim sistemi (doğrusal model) ........................................... 78 Şekil 3.57. P denetimli sistemin açık döngü kök-yer eğrileri grafiği ............................ 79 Şekil 3.58. P denetleyici ile oluşturulan denetim sisteminin farklı orantı kazançlarına göre birim basamak yanıtı ........................................................................................... 80 Şekil 3.59. PI denetimli denetim sistemi (doğrusal model) .......................................... 82 Şekil 3.60. PI denetimli sistemin (başlangıç ayarları ile) açık-döngü kök-yer eğrileri grafiği ......................................................................................................................... 84 Şekil 3.61. Başlangıç ayarları ile PI denetimli sistemin birim basamak yanıtı .............. 85 Şekil 3.62. Düzenlenmiş ayarlar ile PI denetimli sistemin açık-döngü kök-yer eğrileri grafiği ......................................................................................................................... 86 Şekil 3.63. Düzenlenmiş ayarlar ile PI denetimli sistemin birim basamak yanıtı .......... 87 Şekil 3.64. Çeşitli PI yapılanmaları ile doğrusallaştırılmış denetim sisteminin birim basamak yanıtı ............................................................................................................ 89 Şekil 3.65. Çeşitli PI yapılanmaları ile doğrusal-olmayan denetim sisteminin birim basamak yanıtı ............................................................................................................ 89 Şekil 3.66. Niceleme hatalarının darbe/devir sayısı ve zaman-dilimi ile ilişkisi (Petrella ve ark. 2007) ............................................................................................................... 91 Şekil 3.67. Farklı gözlem zaman-dilimlerinde ölçülen hızlar ....................................... 92 Şekil 3.68. ”PI 1x” Denetimli Sistemin Birim Basamak Yanıtı (Gerçek Zamanlı Test) 93 Şekil 3.69. ”PI 3x” Denetimli Sistemin Birim Basamak Yanıtı (Gerçek Zamanlı Test) 94 Şekil 3.70. ”PI 4x” Denetimli Sistemin Birim Basamak Yanıtı (Gerçek Zamanlı Test) 94 Şekil 3.71. ”PI 4x” Denetimli Sistemin Birim Basamak Yanıtı (Gerçek Zamanlı Test) 95 xii Şekil 3.72. (a) ve (b). Konum denetim sisteminin sınır kararlıktaki yanıtı ve yakından görünümü ................................................................................................................... 97 Şekil 3.73. Ayarlanmış katsayılar ile konum denetim sisteminin yanıtı........................ 98 Şekil 3.74. Durum geçiş denetimi ve Denetleyici Altsistemleri ................................. 100 Şekil 3.75. Durum geçiş denetimine ilişkin Stateflow şeması .................................... 101 Şekil 3.76. Denetleyici Altsistemi ............................................................................. 102 Şekil 4.1. Deney Izgarası .......................................................................................... 103 Şekil 4.2. Deney masası ve işaretlenmiş noktalar ...................................................... 104 Şekil 4.3. Test sehpası ve hareketsiz nesnenin konumu ............................................. 105 Şekil 4.4. Test süresince deney düzeneğinin görünümü ............................................. 106 Şekil 4.5. “PI-1x” hız denetimi ile hareketsiz nesne takibi deneyi ve deneyin zamana bağlı ölçüm verileri grafiği ....................................................................................... 107 Şekil 4.6. “PI-4x” hız denetimi ile hareketsiz nesne takibi deneyi ve deneyin zamana bağlı ölçüm verileri grafiği ....................................................................................... 109 Şekil 4.7. Test sehpası ve nesnenin hareket yörüngesi ............................................... 111 Şekil 4.8. “PI-1x” Hız Denetimi ile Hareketli Nesne Takibi Deneyi .......................... 112 Şekil 4.9. “PI-1x” hız denetimi ile hareketli nesne takibi deneyi ve deneyin zamana bağlı ölçüm verileri grafiği ....................................................................................... 113 Şekil 4.10. Nesne B ve A noktasında iken yakınlaştırılmış grafik .............................. 114 Şekil 4.11. “PI-4x” Hız Denetimi ile Hareketli Nesne Takibi Deneyi ........................ 116 Şekil 4.12. “PI-4x” hız denetimi ile hareketli nesne takibi deneyi ve deneyin zamana bağlı ölçüm verileri grafiği ....................................................................................... 117 Şekil 4.13. Nesne B ve A noktasında iken yakınlaştırılmış grafik .............................. 118 xiii ÇĐZELGELER DĐZĐNĐ Sayfa Çizelge 3.1. V-Modeline Göre Geleneksel Đş Akışı ..................................................... 17 Çizelge 3.2. Geleneksel Yaklaşımdaki Güçlükler ........................................................ 18 Çizelge 3.3. Kullanılan DC motorun parametreleri ...................................................... 35 Çizelge 3.4. DC Motor Konektöründeki Kablolar ....................................................... 35 Çizelge 3.5. Tez çalışması için MF624 kartında kullanılan I/O kapıları ....................... 41 Çizelge 3.6. MATLAB Coder ve Simulink Coder Đşlevleri .......................................... 47 Çizelge 3.7. DC motorun denklemleri ve transfer fonksiyonu temsilleri ...................... 65 Çizelge 3.8. DC motorun bilinmeyen parametreleri ve yaklaşık hesaplanan değerler ... 74 Çizelge 3.9. P denetimli sistemin birim basamak yanıtı ............................................... 80 Çizelge 3.10. Aday Denetleyiciler ve Özellikleri ......................................................... 88 Çizelge 3.11. Farklı denetim yapılanmaları ile sistemin gerçek-zamanlı test sonuçları. 95 Çizelge 3.12. Makinenin Alabileceği Durumlar ve Geçiş Koşulları ............................. 99 Çizelge 3.13. Farklı denetleyici yapılanmasının genel performans üzerine etkisi ....... 110 xiv 1. GĐRĐŞ Mekanik ve elektronik bileşenler, akıllı bilgisayar denetimi ile birlikte mekatronik sistemleri oluştururlar. Bundan dolayı mekatronik sistemler bilgi teknolojilerinden çok şey ödünç almıştır ve gömülü yazılımların tasarımı da mekatronik sistemlerin tasarımında çok önemli bir rol oynamaktadır. Gömülü yazılımlar, bir ürünü rakiplerinden ayırarak ona rekabet üstünüğü sağlar, güç ve esneklik kazandırır. Modern gömülü denetim sistemlerinin günümüzdeki karmaşıklığı, tasarımlarında sistematik yöntemleri de gerektirmiştir. Bu çalışmada, gömülü yazılımların ve karmaşık kontrol sistemlerinin tasarımındaki güçlüklerin üstesinden gelmek için kullanılan matematiksel ve görsel bir yöntem olan Model-Tabanlı Tasarım süreçleri örnek bir çalışmaya uygulanmıştır. Tüm bu süreçler, bu tez için geliştirilen ve “nesne takip sistemi” olarak adlandırılan mekatronik sisteme uygulanmıştır ve geleneksel geliştirme süreçlerine olan katkıları da ayrıca görülmüştür. Nesne takip sistemi, belirli bir renge sahip bir nesneyi görme alanı içerisinde algılayabilen, kameranın açısal hareketini denetleyerek nesneyi görüntü içerisinde merkezleyen bir servo sistemdir. Bu sistem, mekatronik bir sistemin bir çok unsurunu içermektedir. Geliştirilen sistem, görme ve hareket alt sistemlerinden oluşmaktadır. Görme altsistemi donanımsal olarak bir adet kameradan, yazılımsal olarak ise belirli bir nesnenin algılanmasına ve konumunun hesaplanmasına yönelik algoritmalardan oluşmaktadır. Hareket alt sistemi ise donanımsal olarak konum geri beslemeli bir DC motordan, yazılımsal olarak da DC motorun açısal konum ve hız denetimini gerçekleştiren denetim algoritmalarından oluşmaktadır. Ayrıca, makinenin durumları arasındaki geçişler ve görüntü-hareket altsistemleri arasındaki bütünleşme, “durum geçiş denetimleri” ile sağlanmaktadır. 1 Görüntü içerisindeki nesnelerin algılanması ve izlenmesine yönelik teknikler bir çok alanda kullanılmaktadır. Bilgisayarla görme, kontrol teorisi, makine mühendisliği, optik ve endüstriyel otomasyon gibi alanların bir arada kullanıldığı makine ile görme sistemleri (machine-vision) bir çok uygulamada yer alır: Endüstriyel robotik, otonom taşıtlarda navigasyon, görsel gözleme dayalı olayların algılanması, üretim bantlarında ürünlerin otomatik incelenmesi gibi uygulamalar örnek olarak verilebilir. Makine ile görme sistemlerinin endüstrideki kullanımı aşağıda özetlenmiştir: - Otomotiv endüstrisinde: Machine-vision, bu endüstride özellikle aşağıdaki amaçlar için kullanılır: o Robotlara rehberlik: Nesnelerin konumlarını bulmak, raflardan ve sandıklardan parçaları almak ve montaja yönelik parçaları konumlandırmak amaçlı kullanılabilir. o Muayene: Machine-vision sistemleri ile, üretilen parçaların yüzeyleri incelenerek estetik ve işlevsel kusurlar algılanabilir. Ayrıca üretim hattındaki parçaların varlığını, şekil düzgünlüğü denetlenebilir, birleştirilmiş bir üründeki montaj kusurları incelenebilir. o Parça tanılama: Üretim bandındaki parçaların tanınmasında ve sınıflandırılmasına kullanılabilir. Örnek olarak, farklı türlerde üretilen otomobil tekerlekleri, ait olduğu aracın üretildiği banda kendiliğinden yönlendirilebilir. o Boyutsal ölçümler: Hassas işlenmiş parçaların (kavramalar, vites kutusu ve diğer alt bileşenler) boyutsal ölçümlerinde kullanılmaktadır. Böylece parçaların boyutsal töleranslar içerisinde olup olmadığı belirlenebilir, olmayanları üretim bandından uzaklaştırılabilir. o 2B matris verilerinin okunması: Parçaların üzerine lazerle işlenen operasyon bilgilerinin okunmasında ve ilgili parçaya doğru operasyonun uygulanmasında kullanılmaktadır. - Otonom taşıtlarda; insan müdahelesi olmaksızın ilerleyebilen otonom araçlar iyi bir machine-vision uygulamasıdır. Bu araçlar trafik kurallarına uymak, engellerden ve diğer araçlardan kaçınmak, gideceği yolları planlamak ve yönlendirmek gibi işlemleri gerçek zamanlı olarak gerçekleştirebilir. 2 - Tıp sektöründe; machine-vision sistemleri sayısal radyografi ve kan/ilaç taraması gibi tanı aracı olarak kullanılabileceği gibi hassas tıbbi aygıtların üretiminde de kullanılabilir. - Paketleme hatlarında kullanılmaktadır ve yaygın kullanımlarına örnekler aşağıdaki gibi verilebilir: o Etiketlerin incelenmesi (varlığı ve yokluğu, yırtıklar, baskı kalitesi, optik karakter tanılama ve doğrulama vs.), o tenekelerin, kutuların ve kartonların göçüklere ve kapanmamış kapaklara yönelik incelenmesi, o robotların tutma ve yerleştirme işlemlerine yönelik rehberlik edilmesi, o şişelerdeki sıvı seviyelerinin doğrulanması gibi örnekler verilebilir. - Diğer uygulamaları ise aşağıdaki listelenebilir: o Baskı ve renk incelemede, o barkod ve karakter tanılamada, o yüzey analizinde, o 2B/3B konumlandırma ve nesne tanılamada, o 3B-kalite, 3B-geometri ve 3B-biçim denetiminde, o gıda kalite denetiminde kullanılmaktadır. Sonuç olarak, bu tez kapsamında gerçekleştirilmesi hedeflenen çalışmalar aşağıdaki gibi özetlenmiştir: - Belirli bir alana ve renge sahip hareketli bir nesnenin takibini gerçekleştiren bir servo sisteme yönelik kararlı algoritmaların Model-tabanlı tasarım ile oluşturulması, - geliştirilen bu algoritmaların bir hızlı denetim prototipleme sistemi ile gerçeklenip doğrulanması, - model-tabanlı tasarımın, geleneksel geliştirme süreçlerine katkılarının incelenmesi, hedeflenmiştir. 3 2. KAYNAK ARAŞTIRMASI Bu kısımda makine ile görme (machine-vision) ve görme-tabanlı görsel servolara ilişkin kaynak araştırmalarına yer verilmiştir ve model-tabanlı tasarımın gömülü denetim sistemleri tasarımına olan katkıları araştırılmıştır. Chaumette ve Hutchinson (2006), görüntü işlemenin (bilgisayarla görme) robotların servo denetiminde kullanıldığı sistemleri, diğer bir deyişle görsel servo denetimini genel olarak incelemiştir. Đncelemede görsel servo denetimi, bir robotun hareketli bir uzvuna yada mobil bir robotun üzerine bağlı bir kameradan alınan görüntü verilerinin, robotun hareket denetiminde kullanıldığı sistemler olarak tanımlanmıştır. Đncelemede bu sistemler, gereksinim duyulan unsurlar görüntü içerisinde bulunuyorsa “görüntü-tabanlı servo denetimi”; görüntü ölçümlerinden tahmin edilmek zorunda ise “konum-tabanlı servo denetimi” olarak adlandırılmıştır. Nesne gözlem ve nesne takip sistemleri ve diğer çeşitli servo sistemlere ilişkin kaynaklar araştırılmıştır. Çeşitli araştırmacıların bu konuda gerçekleştirdikleri çalışmalar özetlenmiştir. Kaynaklar incelenirken kullanılan algoritmalar, yöntemler ve donanımlar özellikle göz önünde bulundurulmuştur. Lee ve ark. (1988), hareketli bir kamera ile hareketli nesnelerin takibi üzerine bir çalışma gerçekleştirmiştir. Bir robotoun koluna bağlı bir kamera ile çeşitli izleme yöntemleri kullanılarak yoğun dokulu bir arka plandaki hareketli ve tekli bir nesnenin takibi gerçekleştirilmiştir. Nesnenin takibi, sadece x ve y yönlerinde öteleme hareketi yapabilen PUMA 560 model robot kolu ve bu kola bağlı bir CCD kamera ile gerçekleştirilmiştir. Başlangıçta hareketli ve tek bir nesnenin takibi gerçekleştirilmiştir. Nesnelerin takibi; piramit tabanlı işleme algoritmaları ve görüntülerin farkının hesaplanması ile gerçekleştirilmiştir. Çalışmada kullanılan piramit-tabanlı görüntü işleyicisi (PVM-1), Anderson ve ark. (1985) tarafından tanıtılmıştır. PVM-1, görüntüdeki değişimleri gerçek zamanlı olarak algılamaya ve izlemeye olanak tanıyan işlevlere sahiptir. PVM-1’in yaklaşımında, hareketin algılanması görüntünün zamana göre farkı alınarak gerçekleştirilir. Çalışmada kullanılan piksellerin farkının alınması işlemi geçici bir yüksek geçirgen filtre işlevi görür ve böylece daha hızlı hareket eden nesne, fark görüntüde daha fazla enerji bırakır. Daha sonra farkı alınmış bu görüntü, 4 Laplace piramitlerinin oluşturulması ile uzamsal frekans bantları kümelerine ayrıştırılmıştır. Bu Laplace piramitin her seviyesi, hareketli nesnenin geçici ve uzamsal bilgilerine ilişkin farklı bilgileri içermektedir. Yavaş hareket eden nesne çoğunlukla en üst seviyede (-J) yer almaktadır. Böylece -J seviyesindeki görüntü seçilmiş ve piksellerinin mutlak değeri hesaplanmıştır (|-J|). Çalışmada bu mutlak değerin, nesnenin hareketliliğinin bir ölçüsü olduğu belirtilmektedir. |-J| ile çeşitli çözünürlüklerdeki hareket enerjisine yönelik yerel olarak integre edilmiş ölçümleri temsil eden Gauss piramiti oluşturulmuştur. Nihai Gauss piramiti ile hareketli nesnenin konumu yüksek bir verimle hesaplanabilmiştir. Çalışmada, görüntülerin farkını alma işlemi, kameranın görüntülerin alımı sırasında tamamen durgun olmasını gerektirmiştir. Öbür türlü, hareketli bir arka plandaki hareketli bir nesne algılanadığı belirtilmiştir. Bu çalışma durumu, “durgun izle ve hareket et” (SLAM – Static Look-and-Move) olarak isimlendirilmiştir. SLAM yapılanmada, görsel gözlem sırasında robot hareket etmemekte ve nesneyi belirli bir zaman aralığında izlemektedir. Sabit arka plandan hareketli bir nesneyi ayırabilmek için kamerayı tutan eyleyici görsel gözlem süresince tamamen hareketsiz kalmıştır. Çalışmaya göre, SLAM yapılanmasının en büyük eksisi bu kaçınılmaz gecikme zamanlarıdır ve bu gecikme kayıplarının giderilmesine yönelik “dinamik olarak izle ve hareket et” (Dynamic Look-and-Move) yapılanmasının ilkel bir hali ayrıca geliştirilmiştir. Bu çalışmada, en fazla saniyede 10° görüntüleme açısına sahip nesneler takip edilebilmiştir. Bu da yaklaşık olarak, 60 cm mesafedeki ve 15 cm/s hızındaki bir nesneye karşılık gelir. Denzler ve ark. (1994), görüntülerdeki hareketli nesnelerin algılanmasına yönelik, sabit bir kameradan alınan görüntülerin farkının alınmasına dayalı hızlı bir algoritmayı tanıtmıştır. Briz ve ark. (1994), artımsal encoderlerden hızın hesaplanmasına yönelik iki farklı yöntemi tanıtmış ve bu yöntemlerin artılarını, eksilerini ortaya koymuştur, benzetimlerle başarımlarını karşılaştırmıştır. Hızın hesaplanmasına yönelik tanıtılan “frekans ölçümü” ve “periyod ölçümü” yöntemleri bir uyartımlı motorun denetiminde kullanılarak, deneysel sonuçları elde etmiştir. Hız ölçümü için ilave bir donanım kullanmaksızın tüm hız aralıklarında, hem geçici durum hem de kalıcı durumda, hassas bir hız ölçümü gerçekleştirilmiştir. 5 Kim ve ark. (2005), hareket algılama ve izlemeye yönelik bir yöntem önermiştir ve bu yöntemi kamera kullanan bir mobil robot üzerinde gerçekleştirmiştir. Hareketli kameralarla nesne takibindeki zorluk, alınan görüntünün hem nesnenin hem de kameranın hareketini içermesidir. Bu çalışma kapsamında bu zorluğun üstesinden gelen bir yöntem geliştirilmiştir. Geliştirilen hareket algılama sistemi, şu adımları takip etmektedir: i) Pan-tilt-zoom türünde bir kameradan görüntüler alınır. ii) Mobil robot hareketli nesneyi algılayabilmek için kamera ve nesnenin bileşik hareketini ayrıştırabilmesi gerekir. Kamera hareketi ayrıştırıldıktan sonra nesnenin hareketi algılanabilir. Bu ayrıştırma işlemi, ardışık iki görüntünün farkı alınarak gerçekleştirilir. k ve k-1, k+1 adımlarındaki görüntülerin farkı belirli bir eşik değerinin üzerinde ise kamera hareketli anlamına gelir. Kameranın hareketi ise bir takım blob analizi yöntemleri ve çalışmada sunulan bir denklem ile hesaplanır. Bu işlem ile kameradan kaynaklanan hareketler telafi edilir. iii) Telafi işleminden sonra nesneye ilişkin aday bölgeler belirlenir. iv) Kenar, renk ve şekil gibi unsurlar hesaplanır ve v) hareketli nesne algılanır. vi) Nesne algılanıldığında nesneye ilişkin konum, boyut, şekil ve renk dağılımı gibi blob bilgileri hesaplanır ve nesne, ilgilenilen alan içerisinde izlenir. Denemeler kameralı mobil bir robot üzerinde yapılmıştır ve sözü edilen bu algoritmanın, robotun içerisinde bulunduğu ortamda kararlığını koruduğu, hareketin algılanmasında ve nesnenin takibinda (önü kapalı olsa yada ortadan kaybolsa bile) iyi bir başarım sağladığı ortaya konmuştur. Takahashi ve ark. (2005), görüntü bilgilerini kullanarak izleme denetimi gerçekleştiren bir aygıt geliştirmişlerdir. CCD kameradan belirli bir mesafede bulunan hareketli bir nesnenin konumunu görsel geri beslemeler ile algılayabilen bir yöntem kullanılmış ve buna ilişkin konum denetçisini geliştirilmiştir. Geliştirilen cihaz kamera, servo motor ve encoder bileşenlerine sahiptir. Hareketli nesneler, PID denetimi ve “genişletilmiş Kalman filtresi sistemi” ile takip edebilmiştir. Nesnenin konumunu ölçebilmek için nesnenin üzerine bir LED yerleştirilmiştir; böylece nesne bir LED’e indirgenmiştir. Deney sonuçları, 20 m uzaktaki bir LED’in konumunu ±1 mm’den daha az bir sapma ile algılanabildiğini göstermiştir. 6 Mir-Nasiri (2006), nesne takibini 3B olarak gerçekleştiren kamera tabanlı bir mobil izleme robotunu geliştirmiştir. 2 tekerlekli platforma sahip bu kameralı izleme robotu belirlenen nesneye her zaman ilerleyecek şekilde tasarlanmıştır. Bu izleme robotu görme ve hareket olmak üzere iki ana altsistemden oluşmaktadır. Görme altsistemi; dahili potansiyometreli ve iki motorlu pan-tilt kameradan, PCI tabanlı görüntü yakalama kartından ve PWM tabanlı DC motor sürücü kartından oluşmaktadır. Hareket altsistemi ise 2 tekerlekli bir platform ve yükselticilere sahip 2 adet DC servomotordan oluşmaktadır. Çalışmada, görüntü altsisteminde 3B nesnelerin algılandığı ve hareket altsisteminde ise bu tanımlanan nesneye doğru ilerlenildiği belirtilmiştir. Bu çalışmadaki görüntü denetimindeki amaç, nesnenin daima kamera merkezinde olmasını sağlamaktır. Buradaki yaklaşım, insan gözünün daima hareketli nesneye odaklanmasına benzetilmiştir. Çalışmadaki geliştirilen sistem, görüntüleri sürekli gri olarak alıyor ve 3B uzayda belirli bir şekle sahip nesneleri tanımlayabiliyor. Her bir resim karesinde hareketli nesnenin merkezinin koordinatları piksel cinsinden hesaplanmakta ve kamera sürüş mekanizmasına gönderilecek gerekli denetim sinyalleri hesaplanmaktadır. Robotun tekerleklerinin sürücülerine gönderilen denetim sinyalleri ile robotun yüzünün daima nesneye doğru dönmesi ve robotoun nesneye doğru ilerlemesi sağlanmaktadır. Çalışmada kameranın izleme hareketleri quadrant yaklaşımı ile gerçekleştirilmiştir. Nesne konumlandırılır ve tanımlanırken; hareketli nesnenin sürekli takibi insan gözünün çalışmasına benzer bir şekilde gerçekleştirilmiştir. Tanımlama sürecini kolaylaştırmak ve zıtlığı artırmak için nesne siyah bir top olarak seçilmiştir. Nesne tanımlanmadan önce alınan görüntüler iyileştirilmiş ve önişlenmiştir. Bunun için çalışmada, alınan görüntülerde arkaplan ile nesne arasındaki zıtlığı artırmak ve gri farklılıklarını azaltmak için ters gama doğrulaması uygulanmıştır ve karanlık nesneleri daha karanlık, aydınlık nesneleri de daha aydınlık yapmak için doğrusal doğrulama fonksiyonu uygulanmıştır. Çalışmada nesneleri tanımlamak için akan görüntü bilgileri önce ikili (binary) biçime dönüştürülmesi gerekeceğinden, gri tonlarda ölçeklenmiş renkleri, belirlenmiş bir eşik değer ile karşılaştırılarak siyah ve beyaz görüntü elde edilmiştir. Elde edilen görüntüdeki istenmeyen nesneler ise bazı blob teknikleri ile elenmiştir. Đşlenmiş bu siyah ve beyaz görüntüde aranan nesne tanımlanırken önce bloblar ve parçacıklar etiklenmiş, sınır nesneleri kaldırılmış ve 50 piksel ve altındaki parçacıklar gürültü olarak tanımlanıp elenmiş, nihai olarak da nesnenin dairesel özellikleri hesaplanmıştır. 7 Nesne izleme stratejisi olarak quadrant yaklaşımı kullanıldığı için her bir görüntü karesindeki blobların merkezi hesaplanmış, sonra insan gözünün nesneleri takip etmesine benzer şekilde görüntü düzlemi ile nesne arasındaki konum hatası hesaplanmış ve hatanın telafisine yönelik doğrulama ölçümleri gerçekleştirilmiştir. X eksenindeki sapmalar (hatalar (dx) ) kameranın yatay (pan) motoru ile, Y eksenindeki hatalar (dy) dikey motorun hareketleri ile telafi edilmiştir. Kamera hareket altsistem tasarımında, kameranın dönme miktarı yerine dönme hızı ile ilgilenilmiştir (DC servomotorun hız denetimi). Çalışmadaki hareket denetim stratejisi hareketli nesnenin hızı ile kameranın hızının eşleştirilmesine dayalıdır ve kameranın hızı PWM tekniği ile ayarlanmıştır. Çalışmada motorun besleme gerilimi ise dx ve dy sinyalinin mutlak değeri ile orantılı olması sağlanmış ve motorun ivmesi ve yavaşlatılması sikloid ve rampa fonksiyonları ile sağlanmıştır. Kamera hareket altsisteminin donanımsal kurulumunda ise bir tek renkli analog kamera, NI marka PCI görüntü toplama kartı, L298D sürücülü 2 adet DC motora sahip dikey-yatay kamera mekanizması ve LabView 8 yazılımı kullanılmıştır. Çalışmadaki akıllı robotun, nesneleri izleyebilmesi ve nesnelere müdahele edebilmesi amaçlanmıştır ve deneysel sonuçlar, sistemin iyi bir başarıma ve kararlılığa sahip olduğunu göstermiştir. Ding ve ark. (2006) yayınladıkları makalede, geleneksel pasif video izleme yöntemlerinin yerini alacak yeni ve akıllı bir video takip yöntemini tanıtmıştır. Gerçekleştirdikleri çalışmada yerden düşük bir yükseklikteki hareketli nesneleri gerçek zamanlı olarak izleyebilen başlıca bir teknik üzerinde çalışmışlardır. Yayınlarında çalışmayı, görsel gözetim sistemlerinin üç önemli aşaması göz önünde bulundurularak incelemişlerdir: Çevrenin modellenmesi, hareketin bölümlenmesi (segmentation) ve izleme. Çalışmada çevre modelleme ile arka plan görüntüleri oluşturulmuş; hareket bölümleme ile taşıtlar gibi hareketli nesnelere karşılık gelen ve sonra izlemeye alınacak olan hareketli bölgeler algılanmıştır. Hareket bölümlenirken, “arkaplan ile fark alma”, “geçici fark alma” ve “optik akış” yöntemlerinden faydalanılmıştır. Đzleme aşamasında ise unsur-tabanlı izleme yöntemi kullanılmıştır. Geliştirilen algoritmaları sınamak için bir nesne gözlem sistemi geliştirilmiştir. Çalışmada geliştirilen nesne gözlem sisteminin çalışma prensibi şu şekilde özetlenmiştir: Hareketli bir platforma bağlı kameradan görüntüler alınmıştır, bölümlenmiş ve bu görüntülerin unsurları çıkarılarak nesnenin görüntü merkezine göre bağıl konum bilgisi elde edilmiştir. Bu konum bilgisi hareketli 8 bölgeden hesaplanmıştır. Kameranın otomatik yatay-dikey hareketi ile nesne takip edilmiştir. Bu çalışmanın deneyleri ise Canon marka ve VC-C50iR model bir pan-tilt kamera ve Matrox Meteor II model bir görüntü yakalama kartı ile gerçekleştirilmiştir. Kamera, motor tahrikli ve tavana asılmış bir raylı kamera taşıyıcısına bağlanmış ve takip amaçlı olarak uzaktan kumandalı bir oyuncak araba kullanılmıştır. Đzlemenin başında kullanıcı bir fare yardımı ile nesneye konumlanmış ve bir alt-pencere oluşturmuştur. Nesne üzerine tıklayarak bölümleme eşiği olarak nesnenin gri-seviye değerlerini çıkarmıştır. Laboratuvar ortamındaki temiz arkaplan görüntüsü ve ışıklandırmanın sabit olmasından dolayı deney sonuçları oldukça olumludur. Diğer bir deney ise bina dışarısında trafik gözlenerek gerçekleştirilmiştir. Kamera sabit bir platforma bağlanmış ve sadece pan-tilt hareketi yapmasına izin verilmiştir. Nesneye alt- pencere ile kilitlenildiğinde taşıtı, yolun sonuna kadar kendiliğinden takip edebilmiştir. Petrella ve ark. (2007), düşük çözünürlükü ve ucuz artımsal encoderlerden hız ölçümüne ve tahminine yönelik algoritmaları karşılaştırmalı olarak tanıtmıştır. Briz ve ark. (1994) çalışmasına ilave olarak frekans/periyod ölçümü yöntemlerinin beraber kullanıldığı bir yöntemi (karışık mod yöntemi) ve “gözleyici tabanlı” (observer-based) yöntemleri tanıtmıştır. Karışık mod yönteminde gözlenen hız ölçümü hatalarının, frekans ve periyod ölçümü yöntemlerindekine göre çok düşük seviyede olduğu sonucuna varmıştır. Loh ve ark. (2007), bir elektronik kısma valfi denetimi sistemi üzerinde sistem modelleme, parametre kestirimi, denetleyici tasarımı ve gerçek-zamanlı denetim çalışması gerçekleştirmiştir.Çalışmada Bosch tarafından üretilen bir kısma valfi sistemi kullanılmıştır ve bu sistemin bilinmeyen parametreleri hesaplanmış ve bu sisteme doğrusal ve doğrusal olmayan denetleyiciler geliştirilmiştir. Gerçek-zamanlı denetleyici xPC Target ile gerçekleştirilmiştir. Benzetim ortamında ve deneysel elde edilen sonuçların mükemmel eşleştiği sonucuna varılmıştır. Ayrıca mevcut tasarım, bağımsız uyartımlı doğrusal olmayan bir DC motor ile genişletilmiştir. Benzetim sonuçları bu yeni tasarımın, denetim gereksinimlerini mükemmel karşıladığı sonucuna varmıştır. Đçten yanmalı motorlara gönderilen yakıt/hava karışımının debisini ayarlamada kullanılan bu elektronik kısma valfi sistemleri aslında birer servo denetim sistemidir ve bu tez çalışmasında sözü geçen kuramlardan faydalanılmıştır. 9 Lang ve ark. (2010), nesneleri tanımlayabilen ve izleyebilen görmeye dayalı bir mobil robot üzerinde çalışmıştır. Çalışmayı gerçekleştirebilmek için nesnenin konumunu piksel koordinatları cinsinden hesaplayacak kararlı bir nesne takip algoritmasına ve şimdiki konum ile hedef konum arasındaki piksel cinsinden hatayı sıfırlayacak bir görüntü-tabanlı görsel servo denetim stratejisine gereksinim duyulmuştur. Bu çalışmada kamera yardımıyla sağlanan görme, denetim sisteminin parçasıdır. Görme ile alınan ortam bilgisi bir geri besleme bilgisi olarak denetim döngüsüne sağlanmıştır. Çalışmada nesnelerin tanımlanması ve takibinde unsurlar, ölçekten-bağımsız unsur dönüşümü algoritması ile sağlanmıştır. Çalışmada kullanılan bu algoritma, Lowe (1999) ve Lowe (2004) tarafından öne sürülmüştür ve kullanılan algoritmanın ışık miktarı, gürültü, dönme ve ölçeklemelerden bağımsız olduğu ve kararlılığın yüksek olduğu belirtilmiştir. Çalışmada mobil robotun kamera görüntüsündeki nesneyi takip edebilmesi, ortam bilgisini geri beslemesi ve robotun hedef konuma yönelik denetlenebilmesi için ölçekten-bağımsız unsur dönüşümü algoritması kullanılmıştır. Çalışmaya ilişkin deneyler bütünleşik kameralı bir Pioneer DX3TM mobil robotu üzerinde denenmiştir. Robot, görüntü içerisindeki istenilen konuma erişene kadar hedefe ilerleyebilmesi için bir görüntü-tabanlı görsel servodan faydalanılmıştır. Çalışma sonunda şimdiki konum ile hedef konum arasındaki piksel cinsinden hatayı sıfıra yaklaştırarak robotun sürüldüğü sonucuna varılmıştır. Kim ve ark. (2011), uyarlamalı geri-adım denetimli (adaptive backstepping control) bir otonom quadrotoru bir görüntü-tabanlı görsel servo ile bütünleştirmiştir. Bu görüntü- tabanlı görsel servo, görüntüden referans hızları ve görüntü düzlemindeki konum hatasını Jacobian matrisleri ile hesaplamaktadır. Belirsiz bozucu büyüklüklere rağmen referans hızın takip edebilebilmesini sağlamak için, iticilerin giriş sinyalleri, uyarlamalı geri-adım denetimi ile oluşturulmuştur. Çalışma sonunda bütünleştirilen bu sistem ile görüntüden çıkarılan unsurların, robotun en az konum hatası ile hedefe uçabildiği gözlemlenmiştir. Zhou ve ark. (2011), çalışmasında stereo görmeye dayalı robot denetim teknolojilerini incelemiştir. Stereo görmeye dayalı robotların çalışma koşullarına daha iyi uyum sağladıkları; insan müdahelesi olmaksızın konumlandırma, tutma gibi işlevleri daha iyi yerine getirdiğini ortaya koymuştur. 10 Shu ve ark. (2011), çalışmalarında bir kameralı servo sistem tasarlayıp uygulamıştır. Çalışmada kullanılan algoritma görüntülerin farkını almaya dayalıdır ve bu algoritma çeşitli dış ortamlarda kullanılmıştır. Çalışma sonucunda hareketli nesnenin görüntünün sürekli merkezinde kalması sağlanmıştır. Model-tabanlı tasarım yönteminin tez konusu çalışmaya olan katkıları araştırılmıştır ve bu yöntem ile gerçekleştirilen çalışmalar incelenmiştir. Araştırmalar sonucunda, model- tabanlı tasarımın karmaşık denetim sistemlerinin tasarımına sağladığı artılar ortaya konmuştur. Model-tabanlı tasarım ile gerçekleştirilmiş çalışmalara ilişkin araştırmalar aşağıda özetlenmiştir: Oherek ve Robl (2001), ağır taşıt üreticisi MAN AG ile gerçekleştirdiği bir çalışmada; MAN marka bir kamyonun hidrostatik öntekerlek sürücü deneçtisini model-tabanlı tasarım yaklaşımı ile tasarlamıştır. Geliştirilen elektronik denetim birimi (ECU), gerçek bir taşıt üzerinde gerçeklenip sınanmıştır. Geliştirilen gerçek zamanlı uygulama, VxWorks işletim sistemi ile çalışan bir dizüstü bilgisayarda gerçeklenip, I/O bağlantıları CAN veri yolu ile sağlanmıştır. Çalışma sonucunda model-tabanlı tasarımın bu çalışmaya katkıları ortaya konmuştur: i) Modellenen sistem, erken tasarım safhasında benzetimlerle doğrulanabilmiştir. ii) Doğrulanmış aynı denetim algoritmaları farklı hedef ortamlarda kolayca gerçeklenebilecektir. iii) Model tabanlı tasarımın görsel bir yöntem olması tasarım süreçlerinin okunabilirliğini artırmıştır. Tasarımın elle yazılmış kodlara göre daha okunaklı olması hatalara karşı çok daha az eğilimli olmasını sağlamıştır. Oherek ve Robl (2001), Model-tabanlı tasarım yaklaşımı ile yakıt hücrelerinde kullanılan ve elektrikle ısıtılan buharlaştırıcı geliştirmiştir. Buharlaştırıcının tasarımı ve optimizasyonunun yanı sıra denetçi sistemi de geliştirilmiştir. Denetim algoritmaları MPC555 mikrodenetleyicisi üzerinde gerçeklenmiştir. Çalışma neticesinde, model- tabanlı tasarım yaklaşımının geleneksel iş akışına olan üstünlükleri ortaya konmuştur. 11 Ahmadian ve ark. (2005), yazılım tanımlı bir telsizin sisteminin başlıca geliştirme aşamalarını, model-tabanlı tasarımın unsurlarını (tasarım, benzetim, kod oluşturma ve doğrulama) temel alarak incelemiştir. Bu çalışmada bir örnek üzerinden, model-tabanlı tasarım yaklaşımı ile bu başlıca aşamaların tek bir sürekli tasarım döngüsü içerisinde bütünleştirilmesini ele almıştır. Benzetim, kod oluşturma, HIL testleri gibi ileri seviye tasarım kavramları tanıtılmıştır. Bir “Future Multi-Band, Multi-Waveform, Modular, Tactical Radio” modeminin gerçeklenmesi tartışılmış ve gösterilmiştir. SMT6050 (Sundance firması tarafından geliştirilen ve Sundance donanımlarına yönelik kod oluşturmaya olanak tanıyan bir MATLAB eklentisi) ile oluşturulan kod, HIL benzetimleri ve sınamalarına yönelik kullanılmıştır. Bu çalışma ile yazılım-tanımlı radyo uygulamalarının model-tabanlı tasarım ile, geleneksel iş akışında karşılaşılan problemler olmaksızın çok daha kolayca modellenebildiği ve geliştirilebildiği sonucuna varılmıştır. Ghidella ve Mosterman (2005), sivil uçaklarda yaygın olarak rastlanabilen yedek asansör sistemlerine yönelik bir hata algılama, ayırma ve kurtarma (FDIR) sistemi tasarlamıştır. Tanıtılan çalışmada her bir asansör, aynı anda sadece biri etkin olabilen iki ayrı eyleyici tarafından konumlandırılmaktadır. Çalışmadaki hata algılama, ayırma ve kurtarma sistemi model-tabanlı tasarım iş akışına göre geliştirilmiştir ve model-tabanlı tasarımın daha çok sınama ve doğrulama unsurları üzerinde durulmuştur. Oluşturulan bilgisayar benzetiminde, proje isterlerine dayalı sınama senaryoları oluşturulmuş ve tasarımın tamamen umulduğu gibi davrandığından emin olmak için “kapsama ölçümleri” (covarage metrics) gerçekleştirilmiştir. Çalışma sonucunda model-tabanlı tasarımın, sistemin hayata geçirilmeden sınanmasına ve oluşabilecek hataları daha erken aşamalarda bulunabilmesine olanak tanıdığı ortaya konmuştur. Kirby ve Kang (2008), güç sistemleri koruma rölelerine yönelik bir çalışma gerçekleştirmiş ve model-tabanlı tasarım ile tasarım döngüsünü iyileştirmeye yönelik yenilikçi çalışma yöntemlerini tanıtmıştır. Projelerin tamamlanma sürelerini uzatan ve son aşamada farkedilen hataların güçlüklere neden olduğu geleneksel iş akışına karşılık model-tabanlı tasarım yaklaşımını önermiştir. Model-tabanlı tasarım yaklaşımı ile zaman ve proje maliyetlerinden önemli miktarda kazanılabileceği sonucuna varmştır. 12 3. MATERYAL VE YÖNTEM Tez konusu çalışmanın, mekatronik bir sistemin tüm unsurlarını kapsadığından söz edilmişti. Çalışma, tamamen mekatronik disiplini çerçevesi içerisinde gerçekleştirilmiştir ve bağlı kalınan bu disiplinler bu kısımda kapsamlıca anlatılmıştır. Geliştirilen sistem aslında bir “gerçek-zamanlı test” uygulamasıdır; sistemin sahip olduğu tüm donanımsal/yazılımsal bileşenler ve sistemin çalışma ilkeleri de bu kısımda ayrıntılı bir şekilde verilmiştir. Tasarım ve doğrulama süreçlerini daha akıcı ele alabilmek için sistem, alt-sistemlere ayrıştırılmıştır. Her bir alt-sisteme ilişkin matematiksel modeller kurulmuş ve bu matematiksel modeller deney düzeneğinden alınan veriler ile doğrulanmıştır. Sistem genel hatları ile “görme” ve “hareket” altsistemlerinden oluşmaktadır. Video işleme algoritmaları, hareket denetimi ve mantıksal durum denetimleri içeren bu altsistemler deney düzeneği üzerinde gerçek-zamanlı olarak test edilmiştir. 3.1. Materyal 3.1.1. Çalışmada Faydalanılan Disiplinler 3.1.1.1. Mekatronik Sistemler ve Mekatronik Sistem Tasarımı Bir çok teknik alanda ürünlerin yada süreçlerin elektronik ile bütünleşik olarak kullanıldığı gözlemlenebilir. Özellikle de bu 1980’lerden itirabaren geliştirilen mekanik sistemler için geçerlidir. Elektriksel ve mekanik parçaları birbirinden ayrık olan bu sistemler zamanla algılayıcılar, eyleyiciler ve sayısal mikroelektronik bileşenlere sahip bütünleşik elektromekanik sistemler halini almıştır. Bu bütünleşik sistemlere, mekanik ve elektronik sözcüklerinden türetilen mekatronik sistemler denilmiştir. Mekatronik sözcüğü ilk defa 1969 yılında Japon elektrik firması Yasakawa’nın tanımında geçmiştir. Yasakawa, teknolojiler ve ürünlerde elektroniğin hergün daha fazla mekanik ile iç içe geçeceğini ve hangisinin nerede başlayıp nerede biteceğini artık kesin olarak ayırt edemeyeceğimizi söylemiştir. Bugünkü anlamda eksik kalan bu tanım yıllarca evrim geçirerek günümüzdeki tanımlarına ulaşmıştır. Bu tanımlardan birine göre mekatronik; endüstriyel ürün ve süreçlerin tasarımı ve üretiminde, elektronik ve 13 akıllı bilgisayar kontrolünün makine mühendisliği ile beraber sinerjik bir bütünlüğüdür (Bishop 2002). Bu tanımlardan yola çıkılarak mekatroniğin disiplinler arası bir alan olduğu sonucuna varılabilir. Mekanik sistemler, elektronik sistemler (güç elektroniği, algılayıcı ve eyleyici teknolojileri vs.) ve bilgi teknolojileri (sistem ve kontrol kuramı, otomasyon, yazılım mühendisliği vs.) birlikte rol alarak bir mekatronik sistemi oluştururlar. Bu tez çalışması kapsamında geliştirilen nesne gözlem sistemi uygulaması, mekatronik sistem geliştirme unsurlarının bir çoğunu kapsamaktadır. 3.1.1.2. Gömülü Denetim Sistemleri Bir denetim sistemi, fiziksel bir sistemin (plant) istenilen bir şekilde davranmasını sağlamak üzere uygulanan bir stratejidir. Yaygın olarak iki farklı denetim stratejisi mevcuttur (Mosterman ve ark. 2005): - Kapalı-döngü denetim: Denetlenen sistemin (plant) yanıtı ile referans girişi (istenilen davranış) arasındaki hatayı düzeltmeye yönelik geri-beslemeli bir denetimdir. - Mantıksal durum denetimi: Mantıksal durum denetimi, olay tabanlı bir denetimdir ve denetlenen sistemi durum geçişleri ile yönetir. Tez çalışması kapsamında geliştirilen nesne gözlem sisteminde kamera hareketini sağlayan DC motorun açısal konum ve hız denetimi, kapalı-döngü bir denetime iyi bir örnektir. Nesne takip sistemi, nesnenin görüş alanı içerisinde olmasına (olay) göre “hız denetimi”, “konum denetimi” ve “beklemede kal” gibi farklı çalışma durumlarına sahiptir ve sahip olduğu anlık duruma göre farklı şekilde çalışacaktır. Böyle bir denetim de mantıksal durum denetimine iyi bir örnektir. Günümüzde denetim sistemleri tamamen sayısal olarak gerçekleştirilir ve mikrodenetleyici tabanlıdır. Çünkü geri beslemeli bir denetimin stratejisi karmaşıklaştıkça, sistemin analog bileşenler kullanarak hayata geçirilmesi giderek zorlaşır. Analog bir geri beslemeli denetimin dinamikleri herşeye tepki verdiğinden yada sınırlı bir çalışma aralığına sahip olduğundan, istenilen denetçi özyapısına ulaşmak zordur. Bu nedenlerden dolayı, bilgisayarların yada mikrodenetleyicilerin kullanıldığı 14 modern denetim sistemlerinde, denetim stratejileri yazılımsal olarak gerçekleştirilirler. Bir başka deyişle, denetlenen sistemi düzenleyecek olan giriş sinyali bir mikrodenetleyici tarafından hesaplanır. Bir mikrodenetleyici yardımı ile yazılımsal olarak gerçekleştirilen ve gerçek-zaman kısıtlarına sahip denetim sistemlerine gömülü denetim sistemleri denilir. Bu tez çalışmasındaki sistemin denetim algoritmaları tamamen gerçek-zamanlı bir çekirdeğe sahip (xPC Target Real Time Kernel) bir hedef bilgisayar üzerinde yazılımsal olarak gerçekleştirilmiştir. 3.1.1.3. Gömülü Yazılımlar ve V-Modeli Mekatronik sözcüğünü tanımlanırken; mekanik, elektronik ve bilgi teknolojilerinin bir arada kullanıldığı sistemlerden söz edilmişti. Bir mekatronik sistemde; mekanik ve elektronik donanımlar, mikroişlemci tabanlı denetim yazılımları ile yönetilir. Bu denetim yazılımlarını tutarlı bir şekilde geliştirebilmek için denetlenen sistemin davranışlarını doğru bir şekilde tanımlamak gerekir. Tersten gidilirse, denetlenen sistemin dinamik davranışları hakkında fikir sahibi olunduğu sürece bu sisteme yönelik denetim yazılımları geliştirilebilir. Mikrobilgisayarların yaygın olmadığı dönemlerde, denetlenen sistemlerin davranışlarını tanımlayan matematiksel ifadelerin çözümlemeleri kağıt üzerinde gerçekleştiriliyordu. Tasarlanan denetleyiciler mekanik ya da analog elektronik tabanlı yapıdaydı. Günümüzde ise elle çözümlemelerin yerini bilgisayar benzetimleri; mekanik/analog denetleyicilerin yerini ise mikrodenetleyiciler almıştır. Bu sayede, mikroişlemci tabanlı elektronik donanımlara yönelik geliştirilen yazılımlara gereksinim duyulmuştur ve “gömülü yazılımcılık” kavramı ortaya çıkmıştır. Gömülü yazılımlar, mikroişlemci tabanlı ürünlerin tamamında yer alır. Gömülü yazılımlar için ilk akla gelen ürünler otomobillerdir. Bir otomobilde; elektrikli direksiyon (electric powered steering), elektronik kısma valfi denetimi (electronic throttle control), ABS, otomatik vites, hava yastıkları, motor denetimi, yolcu bilgilendirme, klima denetimleri vs. gibi altbileşenler tamamen gömülü yazılımlar ile denetlenir. 15 Gömülü yazılımlar, farklı mühendislik alanlarına hakimiyet gerektirdiğinden genelde takımlar halinde geliştirilir. Bu denli bir ekip çalışması ayrıca bir proje yönetim yöntemini gerektirir. Sistem mühendisliğinde ve proje yönetimlerinde “V-modeli” olarak isimlendirilen iş akışı modeli, gömülü yazılımlar için bir endüstri standartı haline gelmiştir. V-modeli, ilk defa 1980’li yıllarda eşzamanlı olarak Amerikan ve Alman savunma sanayisi tarafından geliştirilmiş ve günümüzde bir çok kurum tarafından iş akışı modeli olarak benimsenmiştir. Şekil 3.1’de verildiği üzere V-modeli, sistem geliştirme süreçlerindeki doğrulama ve sağlama aşamalarına odaklanan bir sistem geliştirme yöntemidir. Sol taraf, gömülü yazılıma ilişkin kodun oluşturulması ile sonuçlanır. Sağ taraf ise sol taraftaki aşamaların doğrulanması ve sağlanmasına odaklanır Genelde, sistemlerin geliştirilmesine en tepedeki gereksinimlerin (requirement) bir araya getirilmesi ile başlanır. Bu gereksinimler genelde metin belgeleri biçiminde saklanır. Bu gereksinimlerden sistem tanımlamaları (specification) elde edilir. Hayata geçirilecek ayrıntılı tasarımlar, sistem tanımlamalarından oluşturulur. Sistem tanımlamaları, ayrıntılı tasarım elde edilene kadar aşamalı olarak sadeleştirilir. (Mosterman ve Ghidella 2005) Bu geleneksel iş akışının aşamaları Çizelge 3.1’de ve bu yaklaşımın zorlukları Çizelge 3.2’de özetlenmiştir. 16 Gereksinimlerin Son Bütünleştirme Belirlenmesi ve Sınama HIL Sistem-Seviyesinde Sistem Seviyesinde Tanımlamalar Bütünleştirme RCP PIL, HIL Altsistemlerin Altsistemlerin Tasarımı Bütünleştirilmesi RCP SIL, PIL Altsistemlerin RCP: Hızlı Denetim Prototipleme Gerçeklenmesi HIL: Döngüde Donanım SIL: Döngüde Yazılım PIL: Döngüde İşlemci Şekil 3.1. V-Modeli Đş Akışı Çizelge 3.1. V-Modeline Göre Geleneksel Đş Akışı Aşama Açıklama Gereksinimler ve Sistem mühendisleri, tasarımın farklı bileşenlerine ilişkin Tanımlamalar işlevsel gereksinimleri ve tanımlamaları oluşturur. Tasarım Bazen ayrı takımlar halinde çalışan tasarım mühendisleri sistem bileşenlerinin modellerini oluşturur. Gerçekleme Tasarım mühendisleri tarafından oluşturulan modeller fiziksel ortamda gerçekleştirilir. Tasarım mühendisleri tarafından oluşturulan algoritmalardan yola çıkarak, yazılım mühendisleri tarafından gömülü yazılımlar bu aşamada gerçekleştirilir. Sınama ve Doğrulama Sistemin bileşenleri ve sistemin bütünü, beklenen işlevleri yerine getirdiğini doğrulamak için sınanır. V-modeli iş akışında, Çizelge 3.1’de tanımlanan aşamalar birbirinden ayrıdır ve beraberinde Çizelge 3.2’de özetlenen bir takım güçlükler getirir. 17 Çizelge 3.2. Geleneksel Yaklaşımdaki Güçlükler Güçlük Örnek Durum Takımlar arasındaki iletişim güçlüğü Tasarımlar ve tanımlamalar genelde belgeler halinde yazılır ve tasarım mühendisleri tarafından okunmak ve anlaşılmak zorundadır. Aynı işin tekrarlanması Yazılım mühendisleri, tasarım mühendisinin oluşturduğu algoritmaları programlama diliyle yazabilmek için yeniden oluşturmak zorundadır. Tasarım aşamalarının sonunda farkedilen Bileşenler bütünleştirilirken bir hata hatalar bulunursa, bu hata tasarımın test aşamasına kadar farkedilmeyecektir. Sağladığı bir takım araçlar ile V-modeli iş akışındaki aşamaların bir arada olmasını sağlayan ve bu süreçleri kolaylaştıran model-tabanlı tasarım yaklaşımı ortaya konmuştur. 3.1.1.4. Model Tabanlı Tasarım Otomotiv ve havacılık/uzay elektroniği uygulamalarındaki hesaplamaya dayalı işlevsellik, katlanarak daha karmaşık hale gelmektedir. 1970’li yıllarda ortalama bir otomobilde 100 bin gömülü program satırı bulunurken, günümüzde 100 milyon program satırına ulaşmıştır. (Popovici ve Lalo 2009). Günümüzdeki karmaşık denetim sistemlerinin tasarımı, artık yeni bir sistematik yaklaşım gerektirecek hale gelmiştir (Mosterman ve Ghidella 2005). Model-tabanlı tasarım; gömülü yazılımların ve karmaşık kontrol sistemlerinin tasarımındaki güçlüklerin üstesinden gelmek için kullanılan ve sistemin matematiksel modelinin grafiksel bir blok diyagramı ortamında (Simulink gibi) geliştirildiği bir yöntem disiplinidir. Model-tabanlı tasarımın genelleştirilmiş bir iş akışı Şekil 3.2’de verilmiştir. V-modeli, sistemlerin geliştirilmesine yönelik aşamaları tayin ederken, model-tabanlı tasarım ise bu aşamaların gerçekleştirebilmesine yönelik araçlar ve 18 teknolojiler sunar.Model-tabanlı tasarımda, Çizelge 3.1’de verilen geleneksel iş akışının yerini, Şekil 3.2’de verilen iş akışı almıştır. Tasarımın tekrarlı olarak Model Tasarımı doğrulanması (Blok Diyagramı) Modelden Otomatik Kod Oluşturma Yazılımın Gerçek- Zamanlı Bir Ortama Gömülmesi Test Şekil 3.2. Model-tabanlı tasarım iş akışı Model tabanlı tasarımda; fiziksel prototipler yada metinsel tanımlamalar yerine, yürütülebilir tanımlamalar yerine geçen sistem modeli vardır ve bu model herşeyin merkezidir. Model-tabanlı tasarım, aşağıda özetlenen ve Şekil 3.3’de verilen dört unsuru içerir (Popovici ve Lalo 2009): 19 Yürütülebilir Tanımlamalar Sınama ve Tasarım Doğrulama Kod Oluşturma (C/HDL) Şekil 3.3. Model-tabanlı tasarım ve öğeleri - Yürütülebilir tanımlamalar: Yürütülebilir bir tanımlama (executable specification), bilgisayar ortamında benzetimi gerçekleştirilebilir bir model algoritması anlamına gelir. Yürütülebilir tanımlamalar, geleneksel iş akışında metinler şeklinde saklanan sistem tanımlamalarının ve gereksinimlerin yerini alır. Sistem modelleri yürütülebildiğinden dolayı, metin şeklinde saklanan sistem tanımlamalarına göre çok daha az belirsizlikler içerir. Bu tanımlamalar yürütülebilir bir model olduğu için, gerçekleme aşamasına daha geçilmeden erken aşamalarda sınama ve doğrulamalar gerçekleştirilebilir (Şekil 3.4). Erken aşamalarda, yürütülebilir tanımlamalar; yazılım/donanım uyumu gibi gerçekleme ayrıntılarını içermeyebilir. Daha çok, tasarlanan sistemin davranışlarını yansıtan algoritmalara sahiptir. + Denetim Denetlenen Algoritmaları Sistem X - Test Girişleri Doğrulama Şekil 3.4. Bilgisayar Benzetimleri ile Test ve Doğrulama 20 - Benzetimlerle tasarımlar: Model-tabanlı tasarımda sonraki adım, yürütülebilir tanımlamaları ayrıntılı tasarımlara dönüştürmektir (model elaboration). Tasarım; bellek yada işlem gücü gibi sınırlı kaynaklara sahip gömülü sistemlere uygun hale getirmek için ayrıntılandırılır (Şekil 3.5). Uygun bir gerçeklemeye yönelik bu tasarım değişiklikleri yapılırken, asıl modele aşağıdaki gibi ayrıntılar eklenir: o Yazılım/donanım uyumu, o hedef donanıma göre sabit-noktalı hassasiyetin eklenmesi, o zamanlama bilgileri ve o bileşen arayüzleri. + Denetim Algoritmaları X - Donanım Test Girişleri Arayüzleri Doğrulama Şekil 3.5. Ayrıntılandırılmış Bir Tasarım - Kod dönüşümü ile gerçekleme: Otomatik kod dönüşümü teknolojisi ile tasarımlar, donanımlara gömülebilir C yada HDL kodlarına dönüştürülebilir. Eğer elde edilmek istenen, gömülü bir ortamda (DSP yada mikrodenetçiler gibi) çalışacak bir yazılım ise C kodu oluşturulur. - Kesintisiz sınama ve doğrulama: Model tabanlı tasarımda sınama ve doğrulama, tasarımın ilk aşamalarında başlayan kesintisiz bir süreçtir. Model tabanlı tasarım bir bilgisayar destekli tasarım teknolojisidir ve model-tabanlı tasarımı temel alan ticari paket yazılımlar mevcuttur. MathWorks’ün Simulink yazılımı ve NI’ın LabView yazılımı buna örnek verilebilir. Bu çalışma kapsamında Simulink yazılımı tercih edilmiştir. 21 3.1.1.5. Gerçek Zamanlı Test ve Uygulamaları Denetim sistemleri üzerinde geleneksel yöntemler ile çalışan kontrol mühendisleri, son ürünün çalışan bir prototipini bile sürecin son aşamalarında sahip olabilmektedir. Ancak sistem bütünleştirildikten sonra sistemin beklenildiği gibi çalışıp çalışmadığı anlaşılmaktadır. Sistemin tasarlandığı, gerçekleştirildiği ve bütünleştirildiği aşamalardaki olası hatalar ancak son aşamada farkedilmektedir. Model-tabanlı tasarımın sağladığı en büyük artılardan biri, sadece son aşamada değil, tasarım çevriminin her aşamasında test ve doğrulamaya olanak sağlamanmasıdır (Şekil 3.3). Bu kesintisiz doğrulama ve sınama, hataların erken aşamalarda tespit edilmesine ve düzeltilmesine olanak sağlamaktadır. Model-tabanlı tasarımda, Şekil 3.2’den (sayfa 19) de görüldüğü gibi, sistemin matematiksel modelini temsil eden blok-diyagramlarından, otomatik olarak kod oluşturmak mümkündür. Bu oluşturulan kod, gerçek-zamanlı bir hedef bilgisayar üzerine, mikrodenetleyici birimlerine, DSP yada FPGA gibi donanımsal ortamlara gömülmeye ve gerçek zamanlı olarak test edilmeye hazırdır. Sonuç olarak gerçek-zamanlı test, benzetim modellerinin kendi normal çalışma koşulları altında çalıştırılması, test edilmesi ve doğrulanması işlemlerinin bütünüdür ve yaygın karşılaşılan uygulama biçimleri Şekil 3.6’da verilmiştir. Hızlı Denetim Prototipleme •İşlevsel Hızlı Prototipleme •Hedef-Üzerinde Hızlı Prototipleme Döngüde-İşlemci (PIL) Sınamaları Döngüde-Yazılım (SIL) Benzetimleri Döngüde-Donanım (HIL) Benzetimleri Şekil 3.6. Gerçek-Zamanlı Test Uygulamaları Bir denetim sisteminde, denetim algoritmaları denetlenen sistemin modeline göre tasarlanır ve analiz edilir (Şekil 3.4). Bu denetim sistemi içerisindeki denetim algoritmalarının gerçek bir denetlenen sisteme bağlanması ve bu denetlenen sistem üzerinde sınanması gerekir (Şekil 3.5) 22 Hızlı denetim prototipleme; denetim algoritmalarının denetlenen gerçek sistem ile çalıştırılarak hızlıca doğrulanmasına olanak tanıyan bir yöntemdir (Mosterman 2005). Hızlı denetim prototipleme, denetçinin işlevsel bir prototipinin hızlıca oluşturulmasını ve denetim algoritmalarının gerçek I/O aygıtlarına sahip bir gerçek-zamanlı bir ortam üzerinde yinelemeli olarak test edilmesini kapsar (Abourida ve ark. 2009). Hızlı prototiplemenin amacı, tasarım tamamlanmadan önce kusurları ve hataları tamamen belirlemek ve güvenirliği kazanmaktır (Mosterman 2005). Şekil 3.5 tekrar göz önünde bulundurulduğunda, denetim algoritmaları (test girişleri ve doğrulamalar ile beraber) gerçek-zamanlı bir hedef ortama (bir hedef bilgisayar yada mikrodenetleyici) otomatik kod dönüşümü ile gömülür. Bu sefer denetlenen sistem, bir bilgisayar benzetim modeli yerine, gerçek bir sistemdir. Hızlı denetim prototiplemenin yaygın olarak iki farklı türü vardır. - Đşlevsel hızlı prototipleme: Tasarlanan denetçi henüz başlangıç aşamasındayken (ileri denetim stratejilerini desteklemeyecek kadar ilkelken) kavramlar geliştirmek ve yeni düşünceler ortaya koymak için kullanılan hızlı protitpleme yöntemidir. Đşlevsel hızlı prototiplemede kullanılan donanım çoğunlukla PC- tabanlıdır ve son ürüne yönelik denetçi uygulamalarına yönelik değildir. Burada odaklanılan şey kavramdır: Oluşturulan kodun performansı, işlem gücü, hafıza tüketimi ve sabit-nokta hassasiyetleri vs. gibi son ürüne yönelik nitelikler göz önünde bulundurulmaz. Đşlevsel hızlı prototiplemeye yönelik ticari paket yazılımlar mevcuttur. MathWorks firmasının xPC Target yazılımı, dSpace firmasının TargetLink yazılımı ve Opal-RT firmasının RT-Lab yazılımı işlevsel hızlı prototiplemeye yönelik ortam sağlamaktadır. - Hedef-üzerinde hızlı prototipleme: Denetim algoritmaları, doğrudan son ürün işlemcisi üzerinde prototiplenir ve tüm I/O sınırlandırmalarını kapsayacak şekilde denetlenen sisteme doğrudan bağlanır. Bu yaklaşımda, son ürün kodu oluştururken göz önünde bulundurulan tüm kısıtlar hesaba katılır. Bilimsel ve akademik araştırmalarda, tasarlanan sistem çok nadir olarak bir son ürüne dönüştürüldüğünden dolayı hızlı prototipleme bu alanda önemli bir rol oynar. Endüstrideki uygulamalarda ise, denetim sistemi henüz bir son ürün haline getirilmeden önce, denetim algoritmalarının test edilmesinde kullanılır (Mosterman 2005). 23 Bu tez çalışmasında ele alınan “nesne takip sistemi”, işlevsel hızlı denetim prototiplemeye bir örnektir. Geliştirilen tüm denetim algoritmaları xPC Target ortamında bir PC üzerinde gerçeklenmiştir ve denetlenen gerçek sisteme bağlanmıştır. Tez çalışmasının amacı bir son ürün elde etmek olmadığından, hedef-üzerinde hızlı prototipleme ele alınmamıştır ve gelecekteki çalışmalarda göz önünde bulundurulmak üzere bırakılmıştır. Döngüde-donanım (HIL) uygulamalarında (bu tez çalışmasında kullanılmamakla beraber) gerçek denetleyici, denetlenen gerçek sistem yerine, gerçek zamanlı bir benzetici üzerinde çalışan sanal sisteme bağlanır (Şekil 3.7). Hızlı kontrol prototipleden farklı olarak bir döngüde-donanım uygulamasında, gerçek fiziksel sistem henüz ortada yokken denetçileri erkenden sınamak mümkün olur. Denetlenen sanal sistemler daha az maliyetlidir ve daha sabittir. Böylece daha tekrarlanabilir sonuçlar alınabilir ve gerçek donanım üzerinde uygulanamayan test koşulları (sıra dışı durum testleri gibi) sağlanabilir. Denetleyici Denetlenen sistem Gerçek-zamanlı benzetici Gerçek-zamanlı benzetici Şekil 3.7. HIL yapılanması Döngüde-yazılım (SIL) ise, hızlı kontrol prototipleme ve HIL’in birleşimini temsil eder. Yeterince güçlü bir hedef bilgisayar ile, hem denetçi hem de denetlenen sistem aynı benzetici içerisinde gerçek zamanlı olarak çalıştırılabilir (Şekil 3.8). 24 Denetleyici Denetlenen sistem + Gerçek-zamanlı benzetici Şekil 3.8. SIL Yapılanması Döngüde-yazılımın döngüde-donanım ve hızlı denetim prototiplemeye göre artısı, fiziksel giriş ve çıkış bağlantılarının kullanılmayışıdır ve böylece sinyal bütünlüğü sağlanabilir. Buna ilave olarak, hem denetçi hem de denetlenen sistem aynı benzeticide çalıştığından dolayı, fiziksel dış ortam ile ilgili zamanlamalar artık önemli değildir. Sonuçlar üzerinde etkisi olmaksızın benzetimler, gerçek zamandan yavaş ya da hızlı olabilir. Bu da döngüde-yazılımı, bir benzetim türü olan “hızlandırılmış benzetim”e (rapid simulation) elverişli kılar. Hızlandırılmış durumda bir benzetim gerçek zamandan daha hızlı çalışır. Böylece, kısa bir zaman diliminde çok fazla testin gerçekleştirilmesi mümkün olur. Bu nedenden dolayı döngüde-yazılım, model kapsama (model coverage) analizleri, Monte-Carlo benzetimleri gibi istatistiksel sınamalar için çok uygundur. Eğer gerçek zamanlı hedef bilgisayarın işlem gücü, gerçek zamana ulaşmak için yetersizse, yine de bir masaüstü bilgisayardan hızlı olacak şekilde, gerçek zamandan bir oranda daha az hızda olacaktır. Tez çalışması kapsamında döngüde-yazılım, hareketli kameranın (DC motorun) konum denetleyicisinin tasarımında kullanılmıştır. Benzetim ortamında denetçi algoritmaları doğrulandıktan sonra, bu algoritmaların performansını sınamak üzere xPC Target hedef bilgisayarı üzerinde gerçek zamanlı olarak (hem denetleyici hem de denetlenen sistem) çalıştırılmıştır ve sonuçlar, gerçek sistemin performansı ile karşılaştırılmıştır. 25 3.1.2. Nesne Takip Sistemi Tezin başlığına uygun olarak, bir mekatronik sistem tasarımının tüm süreçlerini içeren bir örnek uygulama tasarlanmış ve gerçekleştirilmiştir. Bu örnek uygulama “nesne takip sistemi” olarak isimlendirilmiştir. Nesne takip sistemi, yatay düzlemde dönme hareketi yapabilen ve hareketli/durgun bir nesnenin takibini gerçekleştirebilen bir hareketli- kameradır. Belirli bir renge ve alana sahip bir nesneyi görüntü içerisinde algılayabilen, nesnenin merkezi ile görüntü merkezini eşleştirecek şekilde yatay kamera konumunu güncelleyebilen bir görsel-servodur. Sistemin yapısal şeması Şekil 3.9’da, yakından bir görünümü Şekil 3.10’da verilmiştir. Sistemin çalışmasına bir örnek ise Şekil 3.11’de verilmiştir. Hareketli Kamera Grubu Nesne Kamera Dişli Kutusu Encoder DC Motor Mikro-denetleyici Birimi Motor Sürücü (xPC Target hedef bilgisayarı) Devresi Güç Kaynağı Şekil 3.9. Nesne Takip Sisteminin Yapısal Şeması 26 Motor Sürücü Devresi I/O Vida Terminali DC Motor / Dişli Grubu WEB Kamerası Şekil 3.10. Nesne Takip Sisteminin Fiziksel Bileşenleri Şekil 3.9 ve Şekil 3.10’dan anlaşılacağı üzere hareketli kamera grubu, DC motor/dişli grubu ve bir kameradan oluşmaktadır. Kameranın yatay hareketi DC motor tarafından sağlanmakta ve motor, yönetici bilgisayardan gelen denetim sinyallerine uygun olacak şekilde sürücü devre tarafından sürülmektedir. Kameranın mevcut konumu (ve dolaylı olarak hızı), motor üzerinde bütünleşik olarak bulunan konum algılayıcısı (encoder) ile algılanmaktadır. Motor sürücü devresi, güç kaynağından sağlanan sabit gerilimle beslenmektedir. Görüntü işleme ve hareket denetim algoritmaları, hedef bilgisayar üzerinde gerçek-zamanlı olarak çalışmaktadır. Gerekli sinyal alışverişleri hedef bilgisayar üzerinde bulunan bir I/O kartı tarafından sağlanmaktadır. Sistemin çalışma sırasındaki davranışına bir örnek Şekil 3.11’de verilmiştir. 27 (a) Nesne Başlangıç konumunda (b) Nesne +x yönünde ilerletilmiş (c) Nesne -x yönünde ilerletilmiş Şekil 3.11. Makinenin Çalışmasına Bir Örnek Sistem nesnenin takibini, nesnenin görüntü içerisindeki yatay merkezi ()̅ ile görüntü merkezi (⁄2) arasındaki farkı en aza indirerek gerçekleştirir. Piksel cinsinden hesaplanan bu  = ̅ N /2 hatası, kameranın yatay açısal hareketi ile telafi edilmektedir. Pratikte, görüntü ve nesne merkezlerini eşleştirmek tam mümkün olmadığından bu işlem, belirli bir ∓Δ ̅ töleransı ile gerçekleştirilir. Alınan görüntü üzerindeki geometrik gösterimler Şekil 3.12’de verilmiştir. 28 NΔ̅ QΔ̅ Yatay Merkez Algılanan Bölgesi Nesne  ̅ Görüntünün Yatay Merkezi /2 /2 Şekil 3.12. Görüntü üzerindeki geometrik gösterimler Nesne görüş alanı içerisinde (ve görüntü merkezinin dışında) algılandığında, kamera nesneye doğru sabit bir hızla dönecektir. Nesne ile görüntü merkezleri eşleştiğinde ise kamera o andaki ( anı), açısal konumunda (θ) kalacaktır. Böylesine bir denetim, Şekil 3.13’de tarif edilen durum geçişleri ile sağlanır. Hız Modu  W 0 NΔ̅ W  W QΔ̅ İleri Yönde Geri Yönde R:< = J  X 0 R:< = NJ Nesne Merkez Nesne Nesne Merkez Bölgesinde Algılandı Bölgesi Dışında Konum Modu " = " NΔ̅ X  R:< S:RT:U ∨ Nesne  X QΔ̅ Algılanmadı Bekleme Modu R:< = 0 $%/ Şekil 3.13. Durum geçiş denetimleri 29 Şekil 3.13’den görüldüğü üzere sistemin açısal hareketi ya hız denetimi yada konum denetimi ile gerçekleştirilir. Nesne yatay görüntü merkezi dışındayken, sistem hız moduna geçer ve sabit hızla nesneye yaklaşılır (hız denetimi). Nesne yatay görüntü merkezi içerisindeyken, sistem konum moduna geçer ve kamera o anki konumunu korur (konum denetimi). Sözü geçen bu çalışma prensibi, hedef bilgisayar üzerinde çalışan gerçek-zamanlı bir yazılım ile gerçekleştirilmiştir. Bu program, MATLAB&Simulink paket programı ortamında tasarlanmıştır ve yine bir MATLAB&Simulink eklentisi olan xPC Target ortamında gerçeklenmiştir. Geliştirilen programın çalışma akışı Şekil 3.14’de verilmiştir. Kameradan Nesnenin Algılanması ve Alınan Görüntüler Merkezinin Hesaplanması Nesnenin Konumu Denetim Modu Kameranın Hız Referans Bilgisi Açısal Konumu Durum Geçiş Denetimi Konum Ref. Bilgisi Hareket Denetim Algoritmaları I/O Kartı Arayüzü Şekil 3.14. Gerçek-zamanlı programın çalışma prensibi Şekil 3.14’de gösterilen alt-işlevler ileriki başlıklarda ayrıntılı bir şekilde anlatılsa da bu kısımda bütünsel olarak bahsedilebilir: Kameradan alınan görüntüler işlenerek ilgili nesne algılanır ve nesnenin görüntü içerisindeki konumu hesaplanır. Nesne konum bilgisine ve nesnenin varlığına/yokluğuna dayalı olarak makine, hangi “denetim 30 modu”nda çalışacağına karar vermektedir. Karar verilen denetim moduna göre, hız denetimi yada konum denetimi gerçekleştirilir. 3.1.3. Nesne Takip Sistemi Deney Düzeneği Tez konusu çalışma için bir deney düzeneği kurulmuştur. Deney düzeneğinin çalışma prensip şeması Şekil 3.15’de verilmiştir. Donanımsal, yazılımsal bileşenler ve fiziksel bağlantılar Şekil 3.16’da verilmiş ve 3.1.4. numaralı (sayfa 34) başlıkta ayrıntılı bir şekilde anlatılmıştır. Oluşturulan deney düzeğinin fotografı Şekil 3.17’de verilmiştir. Deney düzeneğinin bileşenler arası elektriksel bağlantı şeması Şekil 3.18’de verilmiştir. Simulink/xPC Target tabanlı sistem geliştirme ortamı (Yönetici PC) xPC Target Kernelinin çalıştığı gerçek- zamanlı hedef bilgisayar I/O Gerçek-Zamanlı I/O Uygulama Algılayıcılar Eyleyiciler Nesne Takip Sistemi Şekil 3.15. Nesne takip sistemi deney düzeğinin çalışma prensibi Şekil 3.15, sayfa 23’de anlatılan işlevsel hızlı denetim prototipleme uygulamasının “nesne takip sistemine” uyarlanmış biçimidir. Hızlı denetim prototipleme düzeneği, sayfa 38’de anlatılan xPC Target yapılanmasına uygun oluşturulmuştur. 31 xPC Target Hedef PC xPC Target Yönetici PC (Dizüstü PC) xPC Target Real MATLAB & Simulink TCP/IP Time Kernel xPC Target I/O Kartı Humusoft MF624 Nesne Takip Sistemi USB USB Kamera DC Motoru Video HP HD-3100 NXT Motor Akışı 4.2 v Konum Sensoru Vida Terminali X1 Vida Terminali X2 Humusoft TB620 Humusoft TB620 Motor Sürücü Devresi PWM L298 Tam Köprü Tümdevresi Tabanlı Sürücü Devresi 3.3v ve 5v 9V Doğru Akım 9v V Güç Kaynağı Şekil 3.16. Deney düzeneğine ilişkin donanımsal ve yazılımsal bileşenler Şekil 3.17’de, Şekil 3.16’da tarif edilen yapılanmaya uygun olarak oluşturulan deney düzeneğinin bir fotografı verilmiştir. 32 9v Güç (PWM) xPC Target Hedef PC Yönetici Bilgisayar I/O Bağlantıları ve Sürücü Devresi Sınanan Aygıt Şekil 3.17. Deney Düzeneğinin Bir Görüntüsü Şekil 3.18’de deney düzeneğinin elektriksel bağlantı şeması verilmiştir. Şekil 3.18’de verilen bağlantı kapıları ve kısaltmalar, 3.1.4 başlığında ayrıntılı olarak verilmiştir. Şekil 3.18. Deney düzeneği elektriksel bağlantı şeması 33 3.1.4. Nesne Takip Sisteminin Bileşenleri ve Özellikleri 3.1.4.1. DC Motor Grubu Nesne takip sisteminde, kameranın açısal hareketi bir DC motor ile sağlanmaktadır. DC motor olarak, Lego tarafından üretilen NXT Motor olarak bilinen bir fırçalı doğru akım motoru seçilmiştir. Bu motorun tercih nedenleri aşağıdaki şekilde sıralanabilir: - Bütünleşik konum algılayıcısı (encoder), bu çalışmada gerekli olacak açısal konum denetimini mümkün kılmıştır, - Sahip olduğu bütünleşik indirgeme dişlisi konum denetimini kolaylaştırımştır, - düşük güç gereksinimleri, piyasada bulunabilirliği ve ekonomik oluşu diğer nedenlerdir. Şekil 3.19’da motor ve dişli kutusu grubunun 3B çizimi ve tümleşik konum algılayıcısına ait bir fotograf verilmiştir. Şekil 3.19. NXT motorun CAD montaj görüntüsü ve motora tümleşik optik encoder 34 Çalışmada kullanılan DC motorun paremeterleri Çizelge 3.3’de verilmiştir: Çizelge 3.3. Kullanılan DC motorun parametreleri Parametre Değer Armatür Direnci  = 6.69 0] Armatür Endüktansı - = 1.4 ∙ 10`a .C Eşdeğer zıt EMF bbb/b = 0.468 01 ∙ /$% katsayısı Eşdeğer tork sabiti bbb3 = 0.317 / NXT Motoruna güç ve veri giriş çıkışları, 6 ayrık iletkenli bir kablo ile sağlanmaktadır. “NXT kablo”, RJ-12 standartındaki bir konektör (Şekil 3.20) ile sonlanmaktadır. Bu konektörün kablolama yapısı Çizelge 3.4’de verilmiştir (Gasperi 2007). Çizelge 3.4. DC Motor Konektöründeki Kablolar Pin Renk Đsim Açıklama Numarası 1 Beyaz M1 Motora güç sağlar. En yüksek gerilim 9v olabilir. Doğrudan sürücü elektroniği devresine 2 Siyah M2 bağlanır. 3 Kırmızı GND Toprak ucudur. Algılayıcı (encoder) beslemesidir. Sabit 4.3v 4 Yeşil 4.3V GÜÇ veren bir gerilim kaynağına bağlanır. 5 Sarı TACH01 NXT Motorun optik encoder çıkışlarıdır. 6 Mavi TACH02 Şekil 3.20. Çalışmada kullanılan RJ-12 konektörü Açısal konum, dahili optik enkoder ile algılanır. Enkoder, kare biçiminde sinyal üretir ve böylece motorun yönü ve hızı belirlenebilir. Bu iki sinyal, kaydırılmış dikdörtgensel 35 darbelerdir ve bu kayıklık bir fazın çeyreğini temsil eder. Motorun dönüş yönü, bu iki sinyal karşılaştırılarak belirlenir (Gasperi 2007). 3.1.4.2. Motor Sürücü Devresi Denetleyiciden gelen sinyalle motorun çalıştırılabilmesi için yüksek güç sağlayan bir arayüze gereksinim vardır. Bunun için çoğunlukla, ana elemanları güç transistörlerinden oluşan bir akım sürücü devre kullanılır. Đleri ve geri yönde çalıştırılabilen bir DC motor için en uygun sürücü devre, H köprüsü biçiminde bağlanmış 4 transistörlü bir bir devredir. H-köprüsü devre yapılanması, tek-kutuplu kaynak kullanarak iki-kutuplu uygulamalar gerçekleştirmenin elverişli bir yoludur. Şekil 3.21’de bir yükün sürüldüğü basit bir H- köprüsü devresi verilmiştir. Şekil 3.21. Genel bir H-Köprüsü devre şeması (Bishop 2007) Bir H-köprüsü, Wheatstone köprüsü yapılanmasına uygun dört adet transistörden oluşur. Tek kutuplu bir kaynak kullanarak çift kutuplu bir yükü sürebilmek için Şekil 3.21’de görülen Q1-Q3 ve Q2-Q4 transistör çiftleri açılıp kapatılır. Bir çok uygulamada H-köprüsü üzerindeki transistör çiftleri, sayısal bir aygıtın çıkışları (TTL yada CMOS) ile doğrudan sürülebilir. n-p-n ya da n-kanallı transistörler, yüksek seviye (yüksek-TTL) bir sinyal ile açılabilir ya da düşük seviye bir sinyal ile (düşük- TTL) kapatılabilir. Motoru sürmek için gerekli mantıksal (logic) sinyal, H-köprüsüne gönderilen darbe genişlik modülasyonu (PWM) ile sağlanır. Bu teknikte, motora sağlanan akım çok kısa 36 aralıklarla açılır ve kapatılır. Motorun hızı, kendisine uygulanan ortalama gerilime bağlıdır ve PWM yöntemi bu ortalama gerilimi ayarlamanın bir yoludur. Bu çalışmada Sparkfun firması tarafından üretilen ve Ardumoto olarak isimlendirilmiş hazır bir PWM sürücü devresi kullanılmıştır. Bu sürücü devrenin şeması Şekil 3.22’de verilmiştir. Şekil 3.22. Sürücü devre şeması Şekil 3.22’de verilen OUT1, OUT2 ve OUT3, OUT4 çıkışları, sırasıyla 1. ve 2. motorun gerilim beslemesi olarak kullanılır. Bu çıkışlar VIN giriş beslemesinden elde edilirler. VIN giriş beslemesi, PWMA ve PWMB mantıksal sinyalleri ile anahtlanır ve çıkış OUT1-4 elde edilir. Yine Şekil 3.22’de verilen DIRA ve DIRB girişleri, OUT1-2 ve OUT3-4 çıkış gerilimlerinin kutuplarını değiştirmek için kullanılır. Bu şekilde motor ileri yada geri yönde sürülebilir. Eğer DIRA ve DIRB girişlerine yüksek-TTL değerinde sinyal gönderilirse motor ileri yönde; düşük-TTL değerinde sinyal gönderilirse motor geri yönde sürülmektedir. Sürücü devre, ST tarafından üretilen L298 H-köprüsü tümdevresine sahiptir. Bu tüm devrenin şeması Şekil 3.23’de verilmiştir. 37 Şekil 3.23. Bir L298 tüm devresinin iç şeması L298 tek yongalı bir tümleşik devredir. Röleler, selenoidler, DC motorlar ve adım motorlar gibi eyleyicileri sürmek için tasarlanmış bir tam-köprü sürücüdür. Şekil 3.23’den de görüldüğü gibi bu sürücü devre 2 ayrı H-köprü devresine sahip olup, 2A kapasiteli iki ayrı kanala sahiptir ve böylece iki motor aynı anda sürebilir. Yine iki ayrı PWM girişlerine sahiptir ve bu girişlere gönderilen mantıksal sinyaller ile güç kaynağından alınan doğru akım anahtarlanabilir. Devrenin en yüksek anahtarlama gerilimi 20 volttur. Bu sürücü devre, NXT motorun akım ve gerilim gereksinimlerine uygundur. Ayrıca, kullanılan I/O kartının sayısal çıkışları ve sürücü kartının girişleri (PWM ve DIR) TTL seviyesindedir. Bu da I/O kartı ile sürücü devreyi birbirine uyumlu kılmaktadır. 3.1.4.3. xPC Target Yazılımı ve Hedef/Yönetici PC Tezde konusu olan makineye ilişkin denetim sistemlerinin tasarlanması, gerçek-zamanlı yazılımların geliştirilmesi ve çalışma sonrası analizler MATLAB&Simulink ortamında gerçekleştirilmiştir. Bu geliştirme ortamı 3.1.5 (sayfa 43) numaralı başlıkta ayrıntılı olarak verilmiştir. Tez çalışması için tasarlanan ve çalışma prensibi Şekil 3.14’de verilen (sayfa 30) gömülü algoritmaların gerçek-zamanlı olarak test edilmesi ve 38 çalıştırılmasına olanak tanıyan bir ortama gereksinim vardır. Gerçek-zamanlı test ve çalışma ortamı olarak bir Simulink eklentisi olan xPC Target yazılımı tercih edilmiştir. xPC Target, Simulink ortamında geliştirilen algoritmaların gerçek-zamanlı olarak test edilmesine olanak tanıyan bir yazılım ortamıdır. 3.1.1.5 numaralı başlıkta ve Şekil 3.6’da (sayfa 22) özetlenen gerçek-zamanlı test uygulamaları xPC Target ile gerçekleştirilebilir. xPC Target uygulamasında, birbirleri ile haberleşen hedef-yönetici (host-target) PC yapılanması mevcuttur. Bu yapılanma genel bir biçimi Şekil 3.24’de verilmiştir. Simulink/xPC Target tabanlı sistem geliştirme ortamı (Yönetici PC) TCP/IP Haberleşmesi xPC Target Kernelinin çalıştığı gerçek- zamanlı hedef bilgisayar I/O Gerçek-Zamanlı I/O Uygulama Algılayıcılar Eyleyiciler Sınan Aygıt Şekil 3.24. xPC Target ile Gerçek Zamanlı Test yapılanması Hedef bilgisayar, gerçek zamanlı bir işletim sistemi çekirdeği1 (kernel) ile çalışır ve Windows, Linux, DOS vs. gibi herhangi bir işletim sistemine gereksinim duymaz. Bu kernel üzerinde, Simulink modellerinden oluşturulan 2gerçek-zamanlı uygulamalar çalışır. Hedef bilgisayar çevresel fiziksel bileşenlerle (algılayıcılar ve eyleyiciler) sinyal alışverişlerini sağlayan I/O kartlarını da üzerinde bulundurur. 1 xPC Target Real-Time Kernel. xPC Target yazılımı tarafından sağlanır ve hedef bilgisayar bu gerçek- zamanlı işletim sistemi ile başlatılır. 2 Bir gerçek zamanlı uygulama (real-time application) xPC Target Real-Time Kernel üzerinde doğrudan çalışır ve Simulink modellerinden otomatik olarak üretilen C kodlarının derlenmesi ile oluşturulur. Derleyici olarak Microsoft Visual C++ yada openWATCOM C derleyicisi kullanılabilir. Uygulama, geliştirilen gömülü algoritmaları ve kullanılan I/O kapılarının sürücülerini içerir. 39 Yönetici PC, Simulink modellerinin geliştirildiği kullanıcı bilgisayarıdır. Hedef bilgisayar tamamen yönetici PC tarafından kontrol edilir. Çalışma öncesinde, gerçek- zamanlı uygulamalar yönetici PC tarafında oluşturulur ve hedef bilgisayara yüklenir. Çalışma sırasında ve öncesinde gerçek-zamanlı uygulamanın parametreleri yönetici PC üzerinde canlı olarak değiştirilebilir (online parameter tuning). Çalışma sırası ve sonrasında hedef bilgisayar tarafından sağlanan sinyal verileri işlenmek üzere yönetici PC’ye aktarılabilir. Yönetici-hedef PC arasındaki haberleşme, TCP/IP protokolü ile LAN üzerinden sağlanır. Tez çalışmasında kullanılan hedef bilgisayar, Intel Core2Duo mikroişlemcisine ve 2 GB RAM’e sahiptir (Şekil 3.25). xPC Target yazılımının 5.2 (R2012a) sürümü kullanılmıştır. Yönetici PC olarak HP Pavilion dv6-3102et dizüstü PC kullanılmıştır. I/O kartı olarak Humusoft MF624 çok amaçlı I/O kartı kullanılmıştır. Şekil 3.25. Çalışmada kullanılan xPC Target hedef bilgisayar 3.1.4.4. Çok Amaçlı I/O Kartı Hızlı denetim prototipleme uygulamalarında, gerçek-zamanlı hedef bilgisayarın algılayıcılardan verileri alabilmesi ve eyleyicilere hesaplanan denetim sinyallerini gönderebilmesi gerekir. Çevresel birimlerle sinyal alışverişlerinin gerçekleştirilebilmesi için bir I/O kartına arayüz elemanı olarak gereksinim duyulur. Bu tez çalışmasında, xPC Target hedef bilgisayar üzerinde Humusoft firması tarafından geliştirilen çok amaçlı I/O kartı (Şekil 3.26) kullanılmıştır. MF624 kartı servo denetimi uygulamalarına uygun PCI tabanlı bir karttır. Bu tez çalışmasında gerekli olan kanallara -bir başka deyişle- A/D ve 40 D/A dönüştürücülerine, encoder girişlerine, sayısal I/O ve zamanlayıcı/sayıcı kapılarına yeterli sayıda sahiptir. Şekil 3.26. Humusoft MF624 I/O kartı MF624 kartının, bu tez çalışmasında tercih edilmesinin nedenleri aşağıdaki şekilde sıralabilir: - MATLAB ortamı ve xPC Target yazılımı ile tam uyumludur, - çalışmada kullanılan DC motorun optik encoder geri beslemesine uygun encoder girişlerine sahiptir, - sürücü devre kartı girişi için gerekli sinyallere uygun PWM çıkışı sağlar, - konum algılayıcısını destekleyecek güçte akım çıkışına sahiptir, - diğer yardımcı birimlere gönderilen sayısal çıkışlara sahiptir. MF624 kartı üzerinde, tez çalışmasındaki kameranın açısal hareketini sağlayan DC motorun denetiminde kullanılan I/O kapıları Çizelge 3.5’de özetlenmiştir. Çizelge 3.5. Tez çalışması için MF624 kartında kullanılan I/O kapıları I/O Kullanım D/A dönüştürücüler Aygılayıcı (encoder) beslemesi Sayısal çıkış Motor yön denetimi Encoder girişleri Konum algılayıcısı (encoder) geri beslemesi Zamanlayıcılar/Sayıcılar PWM sinyalinin oluşturulması (DC motor sürücü devresi için) 41 Motor sürücüsüne sağlanacak PWM sinyali, hedef bilgisayar üzerinde çalışan gömülü yazılım tarafından hesaplanan frekansta ve doluluk oranında donanımsal olarak üretilir ve sayıcı çıkışlarına gönderilir. PWM sinyalinin doluluk oranı 0 ≤ %BC ≤ 1 değeri ile belirlenir. %BC = 0 iken, sayıcı çıkışı %100 düşük TTL seviyesinde iken, %BC = 1 iken %100 yüksek TTL seviyesindedir (Anonim, 2006). MF624 kartı, hedef bilgisayarın PCI yuvası üzerinde yer aldığı için dış ortam bağlantısı (algılayıcı ve eyleyici kabloları) ilave bir vida terminali ile sağlanmaktadır. Bu çalışmada, yine Humusoft firmasının üretmiş olduğu TB620 evrensel terminal kartı kullanılmıştır. 3.1.4.5. Web Kamerası ve Örnek Nesne Fotografları Tez çalışmasındaki nesne takip sisteminde, görüntüdeki nesneye ilişkin konum vs. gibi unsurların hesaplanabilmesi için önce görüntülerin gerçek zamanlı olarak denetim sistemine beslenmesi gerekir. Bu nedenden, görüntülerin toplanmasına yönelik bir kameraya gereksinim vardır. Bu tez çalışmasındaki denetim algoritmalarının gerçekleştirildiği xPC Target ortamı, CameraLink arayüzünü kullanan kameraları yada USB Web kameralarını desteklemektedir. Çalışmada, kolay bulunabilirliği ve ekonomik olması nedeni ile HP HD-3100 web kamerası tercih edilmiştir. HD-3100, 720 piksel ekran genişliğine ve 2.0 mm odak uzaklığına sahiptir. Çalışmada kullanılan gerçek-zamanlı video işleme algoritmaları ilk önce sabit fotograflar üzerinde prototiplenmiştir. Uygun video işleme algoritmalarını tasarlayabilmek için Şekil 3.30’da verilenlere (sayfa 50) benzer görüntüler alınmıştır ve kullanılmıştır. 42 3.1.5. Kullanılan Geliştirme Araçları 3.1.5.1. Sistem Modelleme ve Benzetim Araçları Denetlenen sistemlerin modelleri oluşturulurken MATLAB & Simulink, SimScape ve SimElectronics yazılımları tercih edilmiştir. MATLAB, MathWorks firması tarafından geliştirilen bir bilgisayar yazılımıdır. Algoritma geliştirmeye, verilerin görselleştirilmesine, verilerin analizine ve sayısal hesaplamalara yönelik yüksek-seviyeli bir programlama dili ve bütünleşik geliştirme ortamıdır. Bu unsurlarından dolayı tez çalışmasında tercih edilmiştir. Simulink bir MATLAB eklentisi olup, dinamik ve gömülü sistemlerin model tabanlı tasarımına yönelik bir ortamdır. Haberleşme, kontrol, sinyal işleme, video ve görüntü işleme gibi zamana-bağlı sistemlerin tasarımına, benzetimine, gerçeklenmesine ve sınanmasına yönelik etkileşimli grafiksel bir ortamdır. Simulink ortamında modelleme, “sinyal akışları grafikleri” ve “blok diyagramları” ilkesine benzer şekilde gerçekleştirilmektedir. Nesne takip sisteminin sahip olduğu dinamik altsistemlerin tasarımına, benzetimine ve doğrulanmasına yönelik tercih edilmiştir. SimScape bir Simulink eklentisidir ve fiziksel sistemlerin matematiksel denklemlerine gereksinim olmaksızın modellenmesine olanak tanıyan bir kütüphanedir. Simulink ortamında dinamik sistemleri sinyal akışları ilkesine göre modellenirken, SimScape kütüphanesi ile fiziksel sistemler, elemanlar arasındaki enerji alış/verişini temsil eden “fiziksel bağlantılar” ilkesine göre oluşturulur (Şekil 3.27). Mekanik sistemleri modellemek için kütle, eylemsizlik vs., elektriksel sistemleri modellemek için direnç, kapasite, endüktans vs. gibi alt-seviye bileşenlere sahiptir. SimEletronics, SimScape’in bir alt kütüphanesidir ve elektronik sistemlerin modellenmesine olanak tanıyan sürücüler ve eyleyiciler, tümleşik devreler, pasif aygıtlar, yarı iletkenler vs. gibi bileşenlere sahiptir. Bu tez çalışmasında, DC motorun sürücüsünün modellenmesinde SimScape ve SimElectronics kütüphanesinden faydalanılmıştır. 43 DC Motor Modeli (Simulink) DC Motor Modeli (SimScape) Şekil 3.27. Simulink ve SimScape’in karşılaştırılması Simulink ortamında geliştirilen modeller değeri tam olarak bilinmeyen parametreler içeriyor olabilir ve bu bilinmeyen parametreler deney verilerinden tahmin edilmesi gerekebilir. Aynı zamanda bir model yanıtının belirli kısıtlar içerisinde olması istenebilir ve bu kısıtları sağlayan model parametrelerinin hesaplanılması gerekebilir. Yaygın olarak sırası ile parametre kestirimi ve yanıt optimizasyonu olarak bilinen bu uygulamaların gerçekleştirilebilmesi için MathWorks firması tarafından geliştirilen ve bir MATLAB eklentisi olan Simulink Design Optimization aracı kullanılmıştır. Parametre kestirimi, sistemin geçici-durum yanıtını içeren ölçüm verileri ile gerçekleştirilir. Yaygın olarak, adım yada ani-darbe (impulse) giriş sinyaline karşılık sistem yanıtı ölçülür. Ölçüm verileri ile benzetim sonuçları, kullanıcı tarafından belirlenen maliyet (cost) fonksiyonu minimize edilene kadar yinelemeli olarak (iteratively) karşılaştırılır. Bu karşılaştırma yaygın olarak, en küçük kareler hatasının hesaplanması ile gerçekleştirilir. Bu optimizasyon tabanlı uygulama, veri-yönelimli matematiksel modellemeye yardımcı olmaktadır. Bu yöntem, eldeki sonuçlardan ya da varılması gereken sonuçlardan yola çıkarak, model parametrelerini geriye dönük olarak hesapladığı için, bazı yazılı kaynaklarda gri kutu modelleme olarak da geçmektedir. 44 Nesne takip sistemi uygulamasında, DC motorun doğrudan hesaplanamayan bazı parametrelerin kestirilmesi gerekli olmuştur. Bu kapsamda, DC motora ait eşdeğer sönüm oranı (6:;) ve eşdeğer eylemsizlik momenti (7:;) parametreleri deney düzeneği üzerinden toplanan veriler ile parametre kestirimi yöntemleri ile hesaplanılmıştır. Bu tez çalışmasında parametre kestirimi çalışması yapılırken aşağıdaki adımlar takip edilmiştir. - Elektromekanik altsistemin (sürücü ve DC motor/dişli grubu) matematiksel modeli Simulink ortamına taşınmıştır, - birim basamak, sinüs vs. gibi giriş test sinyalleri tanımlanmıştır, - gerçek elektromekanik altsisteme gönderilen test sinyallerine (denetçi sinyalleri) karşılık konum verileri kaydedilmiştir, - 6:; ve 7:; için başlangıç tahmin değerleri belirlenmiştir, - optimizasyon yöntemi, töleranslar vs. gibi çözücü ayarları belirlenmiş ve optimizasyon işlemi başlatılmıştır, - optimizasyonun iterasyonları, aynı test sinyalleri ile çalıştırılan Simulink benzetim modelinin yanıtı ile deney düzeneğinden alınan sistem yanıtı belirli töleranslar dahilinde eşleşene kadar, bir başka deyişle cost fonksiyonu minimize edilene kadar tekrarlanmıştır. - kestirilen parametreler, çalışmada kullanılmak üzere kaydedilmiştir. 3.1.5.2. Denetim Sistemi Tasarımı Araçları Nesne takip sisteminin denetleyici tasarımında, bir MATLAB & Simulink eklentisi olan Control System Toolbox , Simulink Control Design ve Stateflow araçları kullanılmıştır. Control System Toolbox, kontrol sistemlerinin tasarımına ve analizine yönelik işlevlere ve grafiksel arayüzlere sahip bir MATLAB eklentisidir. Doğrusal ve zamanla- değişmeyen (LTI) denetim sistemlerine yönelik bir çok ön-tanımlı fonksiyonlar içerir. Simulink Control Design ise Simulink ortamında modellenen kontrol sistemlerinin tasarımına analizine olanak tanıyan bir eklenti paketidir. 45 Bu tez çalışmasında, hareketli kameranın konum ve hız denetimine yönelik algoritmaların tasarımında kullanılmıştır. Stateflow, durum şemalarının ve akış grafiklerinin geliştirilmesine yönelik bir yazılım ortamıdır ve mantıksal durum geçişleri içeren gömülü denetim sistemlerinin tasarımına olanak tanır. Durumların ve karmaşık mantıksal akışların modellenebilmesi için etkileşimli grafiksel bir ortam sağlar. Şekil 3.13’de (sayfa 29) tarif edilen durumlar arasındaki geçişlerin modelleyebilmek için Stateflow tercih edilmiştir. 3.1.5.3. Görüntü ve Video Đşleme Araçları Makine ile görme (machine-vision) uygulamalarında video işleme algoritmalarının tasarımı ve gerçekleştirilmesi önemli bir rol oynar. Bu algoritmalar MATLAB, Halcon ve NeuroCheck, Cognex vs. gibi ticari paket program ortamında geliştirilebilir ve M dili3, C, C++, C#, OpenCV, ITK, VTK vs. gibi yazılım dili ve kütüphaneleri ile gerçekleştirilebilirler. Nesne takip sistemi uygulamasında ise, görüntü içerisindeki nesneye ilişkin konum vs. gibi unsurların hesaplanması gerekli olmuştur. Bu nedenle görüntülerin işlenmesine, analizine, görselleştirilmesine ve bunlara yönelik algoritmaların geliştirilmesine yönelik bir MATLAB eklentisi olan Image Processing Toolbox tercih edilmiştir. Tez çalışmasında kullanılan gerçek-zamanlı video işleme algoritmalarının (Şekil 3.29, sayfa 49) tasarımında ise yine bir MATLAB eklentisi olan Computer Vision Toolbox kütüphanesi kullanılmıştır. 3.1.5.4. Otomatik Kod Oluşturma Araçları MATLAB ve Simulink ortamında geliştirilen algoritmaların gerçek-zamanlı uygulamalara dönüştürülebilmesi için otomotik kod dönüşümü gereklidir. MATLAB Coder ve Simulink Coder, bu kod dönüşümünü sağlayan araçlardır. Elde edilen C kodu, hedef donanıma yönelik üretilir. Bu çalışmada xPC Target gerçek-zamanlı çekirdeğine yönelik kod üretimi gereklidir ve bu otomatik kod dönüşümü araçları gerekli olmuştur. 3 MATLAB dili 46 MathWorks tarafından geliştirilen MATLAB Coder ve Simulink Coder araçlarının 2011 yılı sürümünden önceki “Real-Time Workshop” olarak isimlendirilmişti. 2011 yılından itibaren Realtime Workshop, iki ayrı ürün olarak mevcuttur ve işlevleri Çizelge 3.6’da özetlenmiştir: Çizelge 3.6. MATLAB Coder ve Simulink Coder Đşlevleri MATLAB Coder Embedded MATLAB Language (EML) dili ile yazılmış fonksiyonları gömülebilir ve hedeften bağımsız C-kodlarına dönüştürür. Simulink Coder Simulink modellerini gömülebilir ve hedeften bağımsız C kodlarına dönüştürür. 47 3.2. Yöntem Nesne takip sistemi için geliştirilen gerçek zamanlı programın prensip şeması Şekil 3.14’de (sayfa 30) özetlenmişti. Anlaşıldığı üzere bu program görme, hareket ve “durum geçiş denetimi” altsistemlerinden oluşmaktadır. Bu altsistemler matematiksel olarak ayrı ayrı tasarlanmış, Simulink ortamında modellenmiş ve daha sonra tek bir model içerisinde bütünleştirilmiştir (Şekil 3.28). Durum Geçiş Görme Alsistemi Denetimi Hareket Altsistemi Şekil 3.28. Gerçek-zamanlı programın Simulink modeli Görme altsisteminde görüntüye sırayla eşik-değerleme ve bağlı-bileşenlerin etiketlendirilmesi yöntemleri uygulanmıştır ve daha sonra 4blob analizi yöntemleri ile nesneye ilişkin unsurlar hesaplanmıştır. Hareket altsistemi ise tek serbestlik dereceli dönel bir mekanizma ve ona ilişkin denetim algoritmalarından oluşmaktadır. Mekanizmanın dinamiği Newton’un ikinci yasası ile türetilmiş ve hareket denetimi ise PID algoritması ile tasarlanmıştır. 4 Bir görüntü içerisinde hesaplanan bağlı bileşenlerin her birine blob ismi verilmektedir. Blob analizi ise, bu bağlı bileşenlerden ağırlık merkezi, alan vs. gibi unsurların hesaplanmasına yönelik yöntemler bütünüdür. 48 3.2.1. Görme Altsistemi Bu tez çalışmasında ele alınan nesne takip sistemi, görüntü içerisindeki belirli bir renge ve alana sahip nesneleri ayırt edip algılayabilen ve kameranın açısal konumunu bu nesneyi merkezleyecek şekilde güncelleyen bir görüntü-tabanlı görsel servodur. Bunun için, görüntüleri ortama alabilecek, sözü edilen nesneyi görüntü içerisinde ayırt edip algılayabilecek, nesnenin konum bilgilerini ve konum hatasını (merkezden uzaklığını) hesaplayıp hareket altsistemine geri besleyebilecek bir görme altsistemine gereksinim duyulur. Görme altsistemi kameradan görüntülerin alımına, görüntülerin yorumlanmasına ve hareket altsistemine geri beslenecek konum hatası değerlerinin hesaplanmasına olanak tanıyan donanımsal ve yazılımsal bileşenlerden oluşur. Görüntülerin yorumlanmasına olanak tanıyan yazılım xPC Target hedef bilgisayarı üzerinde gerçek zamanlı olarak çalışırken, görüntü verileri bir web kamerası ile alınmaktadır. Görme altsistemi için geliştirilen yazılımın genel algoritmik akışı Şekil 3.29’da verildiği gibidir:  ×  × 3 G ( × ) RGB ( ) Kanalların  ×  Yeşil Kanalının Belirginleştirilmesi Ayrıştırıltırılması R ( )  ×  ∗  =  N  Q 6! Kam era Verileri B ( )   ×  Eşik Değerleme Bağlı Bileşenlerin ( ) ∗ , ! X  , ! = 1 ∗ ( × ) ise  Etiketlenmesi ∗ , ! W ise  , ! = 0 ′ × ′ Bölgesel Özelliklerin Hesaplanması R ( )  = ∑ (̅ × )̅ R,!∈j 1, ̅ = 5k ∑ R,!∈j  , ̅ = 5k ∑ R,!∈j  Nesne Merkezinin Piksel Koordinatları  Merkezden sapma (piksel Sapma miktarı (piksel) hatası) miktarının Hareket Altsistemine hesaplanması Şekil 3.29. Görme Altsisteminin Đşlevsel Şeması 49 Şekil 3.29’daki işlevsel şemaya göre video işleme yazılımı prototiplenirken, Şekil 3.30’da bir örneği verilen nesne fotograflarından faydalanılmıştır. Şekil 3.30. Örnek nesne fotografı Kameradan giriş olarak alınan görüntüler her bir görüntü karesi için  ×  × 3 elemanlı ( ∈ mn ve  ∈ mn olmak üzere) üç boyutlu bir matris şeklinde hedef bilgisayar ortamına alınırlar. Burada  alınan görüntünün piksel cinsinden genişliği,  ise yüksekliğidir. Görüntü matrisinin üçüncü boyutuna ilişkin her bir katman ayrı bir renk kanalını temsil eder.  ×  elemanlı R, G ve B matrisleri sırası ile alınan görüntünün kırmızı (R), yeşil (G) ve mavi (B) kanallarını temsil eder. Özgün görüntü ve görüntünün yeşi kanalına bir örnek Şekil 3.31’de verilmiştir. Şekil 3.31. Özgün Görüntü (Solda) ve Yeşil Kanal (Sağda) Konum hesaplamaya yönelik algoritma belirli bir eşiğin üzerindeki yeşil nesneler için tanımlandığı için, yeşil kanal (G) belirli bir eşik değeri ile karşılaştırılır. 50 Eşik değeri ile karşılaştırmadan önce yeşil renkli pikseller basit bir aritmetik işlem ile belirginleştirilir: ∗ =  N  Q 6! (3.1) Yeşil (G) kanalını temsil eden matristen, kırmızı (R) ve mavi (B) kanalı temsil eden matrislerin toplamının belirli bir ölçekte ( ) farkı alındığında belirginleştirilmiş yeşil kanalına ilişkin matris (∗) hesaplanabilir. katsayısı deneysel olarak hesaplanmıştır. Yukarıdaki aritmetik işlem, örnek bir görüntü üzerine uygulanarak aşağıdaki görsel sonuçlar edilmiştir. Farklı değerlerine ilişkin görsel sonuçlar Şekil 3.32’de verilmiştir. K = 0.4 K = 0.5 K = 0.6 K = 0.8 Şekil 3.32. Farklı ölçekleme katsayıları altında yeşil kanal Görsel bir inceleme sonucunda = 0.6 olarak belirlenmiştir. Yeşil nesne görüntünün geri kalanına göre belirginleştirildikten sonra eşik değerleme işlemi uygulanır. Görüntü zıtlığı ve parlaklığın değiştirilmesi ile birlikte kullanıldığında eşik değerleme tekniği nesneleri arka plandan ayırmak için kullanılabilir. Eşik değerleme işlemi, görüntü matrisindeki her bir değeri bir eşik değeri ile karşılaştırarak gerçekleştirilir. Bu 51 işlem sonunda görüntü ikili (binary) değerlere (sadece siyah ve beyaz) sahip bir  matrisine dönüşür. ∗ , ! ve  , ! sırası ile ∗ ve  matrislerine ait r satırı ve c sütunundaki değeri temsil etsin.  ×  bir görüntü için  = 0 …  N 1! ve  = 0 …  N 1! aralığında olacaktır. Örneğin, ∗ 0,0! en üst sol pikselin değerini temsil ederken ∗  N 1,  N 1! en alt sağ pikselin değerini temsil edecektir. ∀ ve ∀ için ∗ , ! X ise  , ! = 1 ∗ , ! W ise  , ! = 0 (3.2) ile  ikili matrisi hesaplanabilir. Burada eşik değeridir. Eşik değeri bir önceki örnek görüntü üzerinde deneysel olarak belirlenmiştir. Bunun için (3.2) denklemi ile hesaplanan ∗ matrisine ilişkin görselde nesne üzerinde bir nokta seçilmiştir (Şekil 3.33) ve ilgili noktanın yatay piksel numarasına karşılık değer grafiği çizdirilmiştir (Şekil 3.34). Şekil 3.33. Parlak piksele ait okunan değerler 52 Şekil 3.34. Seçilen parlak noktanın yatay hizasındaki piksellerin renk şiddetleri Şekil 3.34’de verilen grafik üzerinde görsel bir inceleme sonucunda eşik değeri deneysel olarak = 35 olarak belirlenmiştir. Eşik değerleme sonucunda hesaplanan  matrisinin görseli Şekil 3.35 ve Şekil 3.36’da gösterilmiştir. Şekil 3.35. Özgün resim ve eşik değerleme işlemi sonucu Şekil 3.36. Hesaplanan blobun yakından görünümü 53 Bu binary görüntüden nesnenin merkezini elde edebilmek için,  matrisine bazı binary görüntü analizi yöntemleri uygulanır. Önce “bağlı bileşenlerin etiketlenmesi” yöntemi ile binary görüntü içerisindeki bağlı bileşenler (blob) etiketlenir; daha sonra da etiketlenen bağlı bileşenlerin merkezleri hesaplanır. Bağlı bileşenleri tanımlamak gerekirse:  matrisinde iki adet  , ! =  q, q! = pikseli tanımlansın. değeri ya 1 yada 0 değerini alabilir. , !’den q, q!’ye  = 1, … ,  için , ! = J, J!, 5, 5!, … , @, @! = q, q! sıralı pikselleri bulunsun. Eğer her bir  = 1, … ,  değeri için  G, G! = oluyorsa ve yine her bir  değer için G, G! ile G`5, G`5! pikseli komşu ise , ! pikseli ile q, q! pikseli birbirine bağlıdır denir (Shapiro 2000). Böylece J, J!, … , @, @! sıralı pikselleri , !’den q, q!’ye bağlı bir yol oluşturur. Her biri değerini alan ve her bir piksel çiftinin birbirine göre bağlı olduğu bir kümeye “ değerinde bir bağlı bileşen” denir. Şekil 3.37’de 1’lerden oluşan beş adet bağlı bileşen görülüyor. Bu bileşenler gerçekten de birbirleriyle 8 yada 4-komşuluğa göre bağlıdır (Shapiro 2000). Şekil 3.37. Herhangi bir ikili (binary) görüntüye ait matris ve etiketlendirilmiş bağlı bileşenler matrisi (Shapiro 2000) Bağlı bileşenlerin etiketlendirilmesi, binary  matrisindeki her bir bağlı bileşenin benzersiz bir numara ile eşleştirilmesidir. Elde edilen  matrisi ise etiketlendirilmiş görüntüyü temsil eder. (Şekil 3.37) Bağlı bileşenlerin etiketlendirilmesine yönelik çeşitli algoritmalar vardır (Shapiro 2000). 54 Bağlı bileşenler bir kez etiketlendikten sonra bu bölgelere ilişkin unsurlar hesaplanabilir (feature extraction). Bu unsurlar bölgenin alanı, merkezi, uç noktaları gibi geometrik özellikler olabileceği gibi çembersellik yada elipsellik gibi şekilsel ölçümler de olabilir. Bir  matrisi bir bölge içerisindeki piksellere işaret etsin. Bölgenin alanı () ve merkezi ( ̅, !̅ ) hesaplanabilen en basit özelliklerdir ve aşağıdaki şekilde hesaplanırlar (Shapiro 2000):  = r 1 (3.3) R,!∈j Denklem (3.3), basitce  alanı içerisindeki piksellerin sayısı anlamına gelir. ̅ = 1 r  R,!∈j (3.4) ̅ = 1 r  R,!∈j Bölgenin merkezi ̅, !̅, piksellerin R bölgesi içerisindeki ortalama konumudur (ağırlık merkezi). Her bir , ! ∈  birer tamsayı çifti olsa bile, ̅, !̅ genelde bir tamsayı değildir fakat bir pikselin ondabirlik bir hassasiyeti kabul edilebilir bir miktardır. Denklem (3.4) yardımı ile, etiketlendirilmiş görüntü () matrisi içerisindeki bölgelerin merkezleri hesaplanabilir. Deney görüntüsünde hesaplanan ve işaretlenen merkez noktası aşağıdaki Şekil 3.38’de görülmektedir: Şekil 3.38. Merkez noktası hesaplanmış blob 55 Bu şekilde video görüntüleri içerisindeki nesneye ilişkin konum ve alan unsurları çıkarılabilir. Hesaplanan bu unsurlar daha sonra hareket altsistemine hata girişi olarak beslenmektedir. Tasarlanan görme altsisteminin testi sırasında elde edilen bir ekran görüntüsü Şekil 3.39’da verilmiştir. (a) Algılanan ve merkezi hesaplanan nesne (b) Hesaplanan blob Şekil 3.39. Görme altsisteminin testi 56 3.2.2. Hareket Altsistemi Tez çalışmasında ele alınan nesne takip sisteminin, algılanan nesneyi merkezleyecek şekilde kameranın açısal konumunu güncelleyen bir görüntü-tabanlı görsel servo olduğundan bahsedilmişti. Kameranın açısal hareketi ise hareket altsistemi tarafından gerçekleştirilmektedir. Hareket altsistemi donanımsal olarak bir elektromekanik eyleyici olan DC motor-dişli grubundan ve sürücü elektroniğinden; yazılımsal olarak ise konum ve hız denetleyici algoritmalarından oluşmaktadır. Hareket altsistemi aslında kapalı döngü bir denetim sistemidir Şekil 3.15 (sayfa 31) tekrar göz önünde bulundurulursa denetim algoritmaları gerçek-zamanlı olarak xPC Target hedef bilgisayar üzerinde çalışmaktadır. Konum geri beslemesi, DC motor üzerindeki dahili optik encoder ile sağlanmakta ve hesaplanan denetim sinyalleri ise PWM biçiminde sürücü devresine gönderilmektedir. Sonuç olarak, kameranın açısal hareketi DC motorun açısal konum ve hız denetimi ile gerçekleştirilmektedir. Bundan dolayı, kullanılan elektromekanik eyleyiciye konum ve hız denetleyicisi tasarlamak gerekli olmuştur. Şekil 3.40’da hareket altsistemine ilişkin denetim sisteminin prensip şeması verilmiştir. %0 t. %BC s ! Denetleyici Sürücü Modeli DC Motor ve Dişli Grubu Modeli Denetlenen Sistem Θ !, Ω ! Şekil 3.40. Elektromekanik sisteme ilişkin denetim sisteminin modeli Şekil 3.40’da görüldüğü üzere hareket altsistemi, kapalı döngü bir denetim sisteminin genel biçimine uygun olacak şekilde denetleyici ve denetlenen altsistemlerinden mevcuttur. Denetleyici altsistemi, referans hızın/konumun ve ölçülen hızın/konumun 57 farkı olan hata sinyalinden, denetlenen sistemin girişi olan denetleyici sinyallerini (%BC ve %0) hesaplar. Şekil 3.41’den tekrar görüldüğü gibi, sürücü altsisteminin girişleri (aynı zamanda denetleyicinin çıkışları) %0 ve %BC sinyalleridir. %0 Denetim Yasası Duty/Direction (PID) Konum/Hız  ! Dönüşümü %BC Hatası Şekil 3.41. Denetleyici alt sistemi %BC ve %0 sinyali, DC motorun sürülebilmesi için gerekli olan gerilim sinyalinin (s) oluşturulması için gereklidir. %BC, belirli bir  anı için PWM sinyalinin doluluk/boşluk oranı anlamına gelir ve DC motora sağlanan gerilim (s), 0 W %BC W 1 değeri ile kontrol edilir. %0 değeri ise, 3.1.4.2. numaralı başlıkta (sayfa 36) tarif edilen H-köprüsünün kutuplarını değiştirmek için, başka bir deyişle, motoru ileri yada geri sürmek için gerekli olan mantıksal bir sinyadir. Şekil 3.41’de gösterilen ve tasarımı 3.2.2.2-3 numaralı başlıklarda (sayfa 77 ve 96) ayrıntılı bir şekilde verilen denetim yasası olarak PI algoritması tercih edilmiştir. Şekil 3.41’deki  ! her zaman N1 W  ! W 1 aralığındadır ve denetim yasası tarafından hesaplanan komut sinyalini temsil eder.  !, elektromekanik altsisteme giriş olarak gönderilmeden önce, %BC ve %0 sinyallerine ayrıştırılması gerekir: %BC = | !|  ! X 0 → %0 = 1 (3.5)  ! W 0 → %0 = 0 Sonuç olarak, Şekil 3.41’de gösterilen duty/direction dönüşümü (3.5) ile gerçekleştirilir. 58 Elektromekanik eyleyiciye yönelik denetim sisteminin tasarımında aşağı sıralanan iş akışı takip edilmiştir. 1) Denetlenen sistemin modellenmesi: Kapalı-döngü denetim sistemlerinde denetleyicinin tasarımı, denetlenen sistemin modeline dayalı olarak geliştirildiği için önce denetlenen sistemin modellenmesi gerekli olur. Bu çalışmada elektromekanik sistemin bileşenleri (DC motor - dişli grubu ve sürücü elektroniği) matematiksel olarak modellenmiştir ve Simulink yazılımı ortamında benzetim modeli oluşturulmuştur. Modellenen bir fiziksel sistemin bazı parametreleri kesin olarak bilinmiyor ise ölçüm verilerinden yola çıkarak parametre kestirimi gibi yöntemler ile bu bilinmeyen parametreler hesaplanabilir. Bu çalışmada, değeri kesin olarak bilinmeyen eşdeğer sürtünme katsayısı (6:;) ve eylemsizlik momenti (7:;) parametre kestirimi yöntemleri ile hesaplanıp model kalibre edilmiştir. 2) Denetleyici tasarımı: Deney verileri ile doğrulanmış bir denetlenen sistem modeli elde edildikten sonra, bu sisteme ilişkin denetleyici tasarlanabilir. Bu çalışmada elektromekanik altsistem için gerekli olan hız ve konum denetleyicisi, ilerideki başlıklarda açıklanan yöntemler ile tasarlanmıştır. 3) Gerçek zamanlı testlerin gerçekleştirilmesi: Benzetim ortamında kurulan denetim sistemi işlevsel olarak tasarlanıp doğrulandıktan sonra, denetim algoritmalarının gerçek zamanlı bir ortamda test edilmesi gerekli olur. Bu çalışmada, geliştirilen denetim algoritmaları xPC Target hedef bilgisayarı ortamında gerçek zamanlı olarak çalıştırılıp, gerçek elektromekanik sistem ile birlikte test edilmiştir. Test yöntemi olarak da, önceki başlıklarda açıklanan hızlı denetim prototipleme ve döngüde-yazılım benzetimleri kullanılmıştır. Bu iş akışı yinelemeli bir iş akışıdır. Tasarlanan denetim sistemi, istenilen performans ölçütlerini (maksimum aşım, oturma zamanı vs. ) sağlayana kadar model parametreleri değiştirilip gerçek-zamanlı testler tekrarlanmıştır. Đstenilen performans ölçütleri sağlandıktan sonra, en uygun parametreler belirlenip, çalışma içerisinde kullanılmıştır. Hemen sonraki başlıklarda, uygulanan iş akışı ayrıntıları ile tarif edilmiştir. 59 3.2.2.1. Denetlenen Sistemin (Elektromekanik sistem) Modellenmesi Şekil 3.40’dan da görüldüğü üzere; denetlenen sistem; DC motoru, dişli kutusu ve sürücü elektroniğinden oluşan elektromekanik bir altsistemdir. 3.1.4.2 numaralı başlıkta (sayfa 36) tarif edilen motor sürücü devresi, PWM ve yön (DIR) sinyal girişlerine sahiptir. PWM sinyali fiziksel olarak, 3.1.4.4 numaralı başlıkta (sayfa 40) tarif edilen çok amaçlı I/O kartı tarafından oluşturulur. Sürücü devresi, sabit bir doğru akım kaynağından alınan besleme gerilimini ( DEF) PWM ve DIR sinyaline göre anahtarlayarak, motoru sürecek olan s gerilimini oluşturur. Çok amaçlı I/O kartının PWM sinyalini oluşturabilmesi için belirli bir  anı için %BC değerine gereksinim duyar ve bu sinyal denetleyici altsistem tarafından hesaplanır. Özetle, sürücü devresinin matematiksel modeli oluşturulmak istenirse, modelin girişleri %BC ve %0 sinyalleri olacaktır ve çıkışı ise DC motoru sürecek olan gerilim s olacaktır. Sürücü devresini modellemek için iki farklı yaklaşım tercih edilmiştir. Birinci yaklaşımda, Simulink yazılımı ortamında SimScape ve SimElectronics kütüphaneleri ile tamamlanmıştır. Diğer yaklaşımda ise, sürücü devresinin basitleştirilmiş matematiksel modeli elde edilmiştir. DC motora uygulanan ortalama gerilim, PWM sinyalinin doluluk/boşluk oranı (%BC) ile doğru orantılı olduğu kabul edilirse, ,vR3 = %BC ∙ %0 ∙ DEF (3.6) elde edilir.  ! = %BC ∙ %0 olarak (3.6)’da tekrar yerine konursa ve Laplace dönüşümü gerçekletirilirse, s !A ! = DEF (3.7) olarak sürücünün giriş/çıkış ilişkisini veren kazanç türünden transfer fonksiyonu elde edilebilir. Burada  ! aslında, kullanılan denetim yasasının (PI algoritması) çıkışıdır ve 3.2.2 numaralı başlıkta ayrıntılı bir şekilde verilmiştir. 60 SimScape kütüphanesi ile gerçekleştirilen sürücü modeli de Şekil 3.42’de verilmiştir. PWM üreteci H-köprüsü %BC ve %0 DC motora sinyalleri uygulanan gerilim Şekil 3.42. DC motor sürücüsünün Simulink/SimScape modeli Elektromekanik altsistemin diğer bileşenleri de DC motor-dişli grubudur. Şekil 3.43’de DC motor ve dişli grubunun basitleştirilmiş modelini temsil eden şema verilmiştir.  !  - Q Q # / ! 4 7 # N N " ! 6# " ! s ! # 7   6  Eşdeğer Devre  X # Şekil 3.43. DC motor ve dişli grubunun şeması Şekil 3.43’de görüldüğü gibi, elektriksel kısım direnç () ve endüktans (-) elemanlarından; mekaniksel sistem de 7# eylemsizlik kütlesi ve 6# dönel sönümleme elemanından oluşmaktadır. Bu dönel elektromekanik sistemin matematiksel modeli çıkarılırken, armatür uçlarına uygulanan s gerilim değişkenine karşılık mekanik sistemin açısal hareketi (konum ve hız) göz önünde bulundurulmuştur. 61 Bu sistemde rotor, değişken mıknatıs alanı içinde dönmeye zorlandığından bobinin üzerinde akımın akışını zorlaştırıcı yönde bir zıt elektromotor kuuvet (/) meydana gelir. Buna göre sargı uçlarına uygulanan  gerilim değişimine karşılık olulan akım değişiminin oluşturduğu mıknatıs akısı,  gerilimine ters yönde bir / gerilim farkı oluşturur. Bu durumda, elektriksel devredeki akım değişimini oluşturan gerilim  N / fark gerilimine eşittir. Elektriksel kısma Kirchoff yasası uygulanırsa:  N  %/ = - % Q  ! (3.8) elde edilir. Burada / zıt elektromotor kuvvet, rotorun hızı ile orantılı olup doğrusallaştırılmış bağıntısı / = /# (3.9) olarak verilir. Meydana gelen akım değişimi sonucu bobin etrafında bir mıknatıs alanı oluşur ve bu mıknatıs alanı rotor üzerinde bir döndürme momenti oluşturur. Gerçekte, akım ile meydana gelen döndürme momenti arasındaki bağıntı doğrusal değildir. Sistemin dinamik davranışına açıklık getirmek için akım ile moment değişimi arasındaki bağıntının doğrusal olduğu varsayılırsa, oluşturulan moment (4#) aşağıdaki şekilde ifade edilebilir: 4# = 3 ! (3.10) (3.10), elektriksel sistem ile mekaniksel sistem arasında elektromekanik bir tork dönüşüm denklemi olup burada 3 tork dönüşüm sabitidir. (3.10) ile motorun yük tarafına (dişli grubu) aktaracağı momentin denklemi elde edilmiştir. Şekil 3.43’de yine yük tarafının (dişli kutusu) basitleştirilmiş bir modeli verilmiştir. Dönel servomekanizmalarda dişli takımları hız düşürmek ve buna karşılık üretilen torku yükseltmek amacı ile yaygın olarak kullanılırlar. Şekil 3.43’deki basitleştirilmiş dişli grubu modeli ele alınırsa yük, bir dişli takımı boyunca motor tarafından üretilen tork ile sürülmektedir. Bu çalışmada kullanılan DC motoruna ait dişli kutusunda 8 adet dişli 62 bulunsa da, dişli oranlarının bileşkesi alınmış ve dişli kutusunun modeli büyük ve küçük dişliden oluşacak şekilde basitleştirilmiştir. Motorun sağladığı 4# döndürme momentinin bir kısmı motor eylemsizlik momentini (7#), bir kısmı da motor yapışkanlık sürtünmesini (6#) yenmek için harcanacaktır ve geri kalan kısmı da küçük dişliye iletilecektir. Net moment, 4# = 7#"*# Q 6#"'# Q 45 (3.11) olarak elde edilir. Burada 45, küçük dişliye iletilen momenttir. "'# ve "*# sırası ile motor milinin açısal hızı ve ivmesidir. Büyük dişliye ulaşan döndürme momentinin (4+), yük milinin eylemsizlik momentine (7) ve viskoz sürtünmeye (6) harcanır: 4+ = 7"* Q 6"' (3.12)  = +/5 dişli kutusunun girişi ile çıkışı arasındaki bileşke çevrim oranı olmak üzere, dişli takımının özelliklerinden, 45"# = 4+" → 4 = 4 + 5 + 5 = 45 (3.13)   15"# = +" → " = 5+ "# =  "# elde edilir. Burada 5 ve + sırası ile küçük ve büyük dişlinin diş sayısıdır. (3.10)’da elde edilen 4+ = 45 ve " = 5@ "# (3.11) ve (3.12)’de yerine koyup, tek eşitliğe indirgenirse; 4 = 7 7 6# #"*# Q 6#"'# Q + "*# Q + "'# (3.14) elde edilir. (3.14) yeniden düzenlenirse: 4# = w7 7# Q +x "*# Q 6# Q 6 +!"'# (3.15) 63 Motor ve dişli kutusu sistemi, tekil bir sisteme indirgenirse, eşdeğer eylemsizlik momenti (7:;) ve viskoz sürtünme katsayısı (6:;): 7:; = 7# Q 7+ (3.16) 6 6:; = 6# Q + (3.15) denklemi yeniden düzenlenirse: 4# = 7:;"*# Q 6:;"'# (3.17) Elde edilmek istenen, motor tarafından üretilen torka karşılık (4#), yük milinin konumu olduğuna göre ("), aşağıdaki dönüşümler gerçekleştirebilir: "# = " "'# = "' (3.18) "*# = "* 4# =  7:;"* Q 6:;"'! (3.19) Sonuç olarak (3.19) ile motorun ürettiği momente karşılık, yük miline ilişkin dinamik davranışlarını temsil eden ifadeye erişilebilir. Burada dikkat edilmesi gereken, (3.19)’da mekanik parçalardan kaynaklanan sürtünme momenti (<) ihmal edilmiştir. <’nin yönü yük milinin dönüş yönüne bağlıdır (Loh ve ark. 2007) ve sistemi doğrusal olmayan yapar. Moment eşitliği aşağıdaki gibi yeniden ifade edilebilir: 4# = y7:;"* Q 6:;"'z Q <9 "'! (3.20) (3.20) doğrusal olmadığı için, denetleyici tasarımlarında (3.19), ileriki başlıklarda bahsedilecek karşılaştırmalı analizlerde (3.20) tercih edilmiştir. Burada amaçlanan sistemin girişi (armatür gerilimi ) ve sistemin çıkışı (yük milinin konumu " ve hızı ) arasında bir ilişki elde etmektir. Sırası ile Laplace dönüşümleri alınmış (3.8), (3.9), (3.10), (3.19) denklemleri (Çizelge 3.7) ile (3.7), giriş ve çıkış ilişkileri göz önünde bulundurularak blok diyagramı (Şekil 3.44) ile temsil edilirse, tüm denetlenen sisteme (elektromekanik altsistem) ait Θ !⁄A ! transfer fonksiyonu elde edilir. 64 Çizelge 3.7. DC motorun denklemleri ve transfer fonksiyonu temsilleri Denklem Transfer Fonksiyonu Temsili % { 1 N / = - % Q  ! s ! N  |/ ! =  Q - / = /# |Ω/ ! ! = / 4# = 3 ! 4# !{ ! = 3 4# = y7:;"* Q 6:;"'z =  7:;' Q 6:;! Θ ! 14# ! = y7:; Q 6:;z A ! s ! 1 { ! Ω ! DEF 4 Q -  3 # ! 1 Θ !   y7:; Q 6 z 1 :;  + - Sürücü |/ ! /  Şekil 3.44. DC motor ve dişli grubunun blok diyagramı Şekil 3.44’deki blok diyagramı indirgenirse (Şekil 3.45) denetçi girişine karşılık hızın transfer fonksiyonu Ω !/A ! ve konumun transfer fonksiyonu Θ !/A ! elde edilir. A ! DEF 3 y7 - + Q y6 - Q  7 z Q 6  Q z Ω ! 1 Θ ! :;  :;   :; :;  3 /  Şekil 3.45. Blok diyagramının indirgenmiş hali 65 Ω ! A ! = DEF 3y7:;∗-+ Q y6:;- Q  Ω !  7:;z Q 6 :;  Q 3 /z }A !~ = DEF 3 Θ ! y6:;- Q 7:;z Q 6  Q (3.21) :;  3 / A ! = DEF 3y7:;-+ Q y6:;- Q 7:;z Q 6:; Q 3 /z Çizelge 3.3’de (sayfa 35) verilen motor parametrelerine göre - sıfıra çok yakın bir değerdir ve (3.21)’de Ω∗ !⁄A !, Ω !/ A ! ’nin - ≅ 0 kabulu ile sadeleştirilmiş halidir. Bu sadeleştirme Şekil 3.54’de (sayfa 75) görüldüğü üzere, sistemin dinamiğini neredeyse hiç etkilememektedir. Sadeleştirilmiş Ω∗ !⁄A !, hız denetleyicisi tasarımını kolaylaştırdığı için ileriki başlıklarda kullanılmıştır. (3.21)’deki Ω∗ !/ A ! zaman tipinde bir transfer fonksiyonudur ve ∗ }Ω ! A !~ = I QF1 (3.22) genel biçiminde verilir. Burada F sistem kazancıdır. I, zaman sabiti olup birinci dereceden sistemlerin dinamik davranışı ile ilgili temel bir parametredir. Bir sistemin zaman sabiti ne kadar az ise, sistem o kadar hızlıdır (Yüksel 2011). (3.21), (3.22)’deki genel biçiminde yeniden düzenlenirse F = 6 DEF 3 :;  Q 3 / I =  6:;- Q  7 ! (3.23) 6:;   Q  3 :; / elde edilir. F ve I’nin değerleri, 6:; ve 7:; parametrelerinin bu aşamadaki belirsizliğinden dolayı sayfa 75’de verilmiştir. (3.21) ile dinamiği tanımlanan elektromekanik altsistemin parametreleri Çizelge 3.3’de verilmişti. DC motora ait ve Çizelge 3.3’de (sayfa 35) yer almayan eşdeğer viskoz sürtünme sabiti ve eşdeğer eylemsizlik momentinin değeri tam olarak bilinmediğinden parametre kestrimi yöntemleri ile ölçüm verilerinden yaklaşık olarak hesaplanılması gerekli olmuştur. Parametre kestirimi 3.1.5.1 numaralı başlıkta (sayfa 43) tarif ediliği gibi gerçekleştirilmiştir ve Çizelge 3.8’de verilen sonuçlar elde edilmiştir. 66 Parametre kestirimi için iznelenen bu adımlar ve yapılan çalışmalar aşağıdaki ayrıntılantırılmıştır. Simulink benzetim modellerinin oluşturulması: Eletromekanik altsistemin matematiksel modeli Simulink ortamına taşınmıştır ve bu model Şekil 3.46’da verilmiştir. Elektriksel Kısım Mekanik Kısım A B Alt sistemin girişleri: Görev çevrimi ve yön bilgisi. Şekil 3.46. Elektromekanik altsistemin Simulink Modeli Şekil 3.46’da Simulink modelinin üç ayrı altsistemden oluştuğu görülmektedir: - (A), sürücü altsistemidir ve görev çevrimi bilgisi ile PWM işaretini üretir. Üretilen PWM sinyali ve yön (direction) bilgisi H-köprüsü altsistemine gönderilerek motor uçlarına uygulanan  gerilim sinyali oluşturulur. - (B), ise DC motor/dişli grubunu temsil eden altsistemlerdir ve DC motorun elektriksel ve mekanik kısımlarını temsil eden diferansiyel denklemleri içerir. Elektriksel kısım içerisinde mekanik tarafa aktarılacak olan moment hesaplanır, mekanik tarafta ise buna karşılık motor milinin konumu hesaplanır. Sürücü altsisteminin içeriği Şekil 3.42’de ve (B)’deki altsistemlerin içeriği Şekil 3.47 ve Şekil 3.48’de verilmiştir. 67 Şekil 3.47. DC motor elektriksel kısmın Simulink modeli Şekil 3.48. DC motor mekanik kısmın Simulink modeli Elektromekanik sistem üzerinden verilerin toplanması: Parametre kestirimi için gerekli olan deney verileri, xPC Target hedef bilgisayarı ile elektromekanik altsisteme gönderilen giriş sinyaline karşılık yük mili konum verileri toplanarak elde edilmiştir. Buna yönelik gerçek-zamanlı bir test uygulaması geliştirilmiştir ve bu uygulama (Şekil 3.49) xPC Target ortamında gerçeklenmiştir. 68 B C D A Şekil 3.49. Motorun gerçek zamanlı sınanmasına yönelik Simulink ortamında geliştirilen uygulama Şekil 3.49’da verilen Simulink modelininde, - (A) ile gösterilen kısımda, gerçek sisteme giriş olarak gönderilen  ! giriş sinyali üretilmektedir. - Üretilen  ! giriş sinyali, (B) ile gösterilen altsistem ile görev çevrimi (%BC) ve yön (%0) sinyallerine dönüştürülür. - (C) ile gösterilen altsistem, elektromekanik sistem ile I/O kartları arasındaki arayüzün sağlamaktadır. Bu altsistemde, Humusoft MF624 I/O kartına ilişkin kanallar tanımlıdır ve bu kartın sürücüleri bulunur. - (D) ile gösterilen çıkış kapıları (outports) ile gerçek zamanlı çalışma süresince, hangi sinyallerin hafızada tutulacağını belirlenir. Bu çalışmada, giriş komut sinyaline ( !) karşılık, yük mili konum verileri saklanmıştır. Şekil 3.49’da verilen gerçek-zamanlı uygulama, başlatılmak, sonlandırılmak, çalışma sonunda depolanmış verileri kullanıcı tarafına (xPC Target yönetici PC) geri taşımak gibi görevleri yerine getiren bir programa gereksinim duyar. Bu kapsamda, xPC Target hedef PC’yi yönetebilmek için, yönetici PC üzerinde çalışan bir grafiksel kullanıcı arayüzü geliştirilmiştir (Şekil 3.50). 69 xPC Target Hedef Bilgisayar Yönetici Bilgisayar NXT Motor Şekil 3.50. Parametre kestirimi deneyleri için geliştirilen GUI ve prensip şeması Şekil 3.50’deki program, önceden tanımlanmış test giriş sinyallerini sırası ile gerçek sisteme giriş olarak gönderir ve test sonunda depolanmış verileri kullanıcı tarafına geri aktarır. Bu parametre kestrimi çalışmasında, 30 s süreli, genliği 1 ve frekansı 1 rad/s olan giriş sinüs fonksiyonu test sinyali uygulanmıştır ve düzenek üzerinden alınan veriler Şekil 3.51’de verilmiştir. 70 Sine Amp = 1 Command Input 1 0 -1 0 5 10 15 20 25 30 Time (sec) 40 20 0 0 5 10 15 20 25 30 Time (sec) Şekil 3.51. Giriş test sinyaline karşılık elektromekanik sistemin yanıtı Şekil 3.51’deki ilk grafik giriş test sinyalini, ikinci grafik ise motor mili konumunu göstermektedir. Parametre kestirimi işlemine ön-hazırlık: Parametre kestirimi için gerekli olan giriş/çıkış ölçüm verileri (Şekil 3.51) elde edildikten sonra, optimizasyon hesabına girecek bir Simulink modelinin ayrıca oluşturulması gerekir ve bu model Şekil 3.52’de verilmiştir. A B C D Şekil 3.52. Parametre kestirimi için oluşturulan Simulink modeli 71 Shaft Position (Radians) Command (% Duty) Şekil 3.52’de verilen Simulink modelinde, - (A) ve (D) ile modelin girişi ( !) ve çıkışı (konum) belirlenir; - (B) ile  ! sinyali (3.5)’de verildiği şekilde %BC ve %0 sinyallerine ayrıştırılır; - (C) ise elektromekanik altsistemdir ve açık modeli Şekil 3.46’da (sayfa 67) verilmiştir. Optimizasyon yöntemi olarak doğrusal olmayan en küçük kareler yöntemi kullanılmıştır ve 6:; ve 7:; parametrelerinin başlangıç tahmini olarak Çizelge 3.8’deki değerler kullanılmıştır. Parametre kestimi işlemi ve sonuçların alınması: Şekil 3.52’de verilen Simulink modeli Simulink Design Optimization aracı ile optimize edilir. Benzetim modelinin yanıtı ile gerçek sistemin yanıtı belirli bir tölerans içerisinde eşleşene kadar iterasyonlar tekrarlanır. Şekil 3.53’de optimizasyon işlemi öncesi ve sonrası sistem yanıtlarının karşılaştırılması verilmiştir. 72 Giriş Sine Amp = 1 Testi 1 Benzetim Gercek Sistem 0 -1 0 5 10 15 20 25 30 60 Çıkış - Önce (Başlangıç Tahminleri ile) 40 A 20 0 0 5 10 15 20 25 30 Çıkış - Sonra (Parametre Kestirimi sonrası) 40 20 B 0 0 5 10 15 20 25 30 Zaman Şekil 3.53. Optimizasyon öncesi ve sonrası benzetim/gerçek sistem yanıtlarının karşılaştırılması Şekil 3.53’de birinci grafik, Şekil 3.51’de verilen test giriş sinyalinin aynısıdır. Đkinci ve üçüncü grafiklerde, deney ve benzetim sonuçlarının karşılaştırıldığı motor konum- zaman (s) grafiğidir. - (A)’da 6:; ve 7:; parametrelerinin başlangıç tahmin değerlerine göre, sistem yanıtlarının karşılaştırılması verilmiştir. Görüldüğü üzere benzetim modelinin yanıtı ile gerçek sistemin yanıtı oldukça farklıdır. - (B)’de ise aynı karşılaştırma, kestirilen son değerlere göre verilmiştir. Görüldüğü üzere, benzetim modeli ile gerçek sistemin yanıtı oldukça benzerdir. 73 Mil Konumu (Radyan) Mil Konumu (Radyan) c(t) Hesaplanan 6:; ve 7:; parametreleri Çizelge 3.8’de verilmiştir. Çizelge 3.8. DC motorun bilinmeyen parametreleri ve yaklaşık hesaplanan değerler Parametre Değer Eşdeğer viskoz 6:; = 1,1278 ∙ 10`€  $%/ 6:; = 4,031 ∙ 10` $%/ sürtünme sabiti (Başlangıç tahmini) (Kestirilen değer) Eşdeğer eylemsizlik 7:; = 1 ∙ 10`‚ 89+ 7:; = 0,0084 89+ Momenti (Başlangıç tahmini) (Kestirilen değer) Bilinmeyen parametreler de hesaplandığına göre, denetlenen sistemin (plant) eksiksiz bir modeli elde edilmiş olunur. Bu denetlenen sistem modeli, denetleyici tasarımı için esas teşkil eder. Denetleyici tasarımından önce, denetlenen sistemin dinamik davranışlarını (zaman ve frekans alanında) incelemekte fayda vardır. 74 Dinamik Davranışların Analizleri Açık döngü sistemin kazancını ve zaman sabitini hesaplamak için Denklem 3.22’de sabitler yerine konulduğunda Ω∗ ! 19.23 A ! = 0.3788 Q 1 transfer fonksiyonu elde edilir. Buradan F = 19.23 I = 0.3788  olarak hesaplanır. Ω∗ !⁄A ! sisteminin sadece bir adet kutubu vardır: =5 = N2.64 Şekil 3.54’de görüldüğü gibi sistemin (Ω !/A !) birim basamak yanıtı sönümlü, titreşimsiz ve üstel gecikmeli bir biçimdedir. Zaman gecikmesi ve yukarıda belirtildiği gibi I = 0.3788 ’dir. Sistemin oturma zamanı yaklaşık olarak 4I ≅ 1.4819 ’dir. Birim Basamak Yaniti 20 Ω(s)/C(s) * 15 Ω (s)/C(s) 10 5 0 0 0.5 1 1.5 2 2.5 Zaman (seconds) Şekil 3.54. Denetlenen sistemin birim basamak yanıtı 75 Hiz (rad/s) Bir sistemin kutuplarının karmaşık düzlemdeki yeri, o sistemin kararlılığına işaret eder. Sistemin kutubu karmaşık düzlemin sol tarafında kaldığı için sistem kararlıdır. Kararlı sistemler, sonu bir girişe sonlu bir çıkışla yanıt veren sistemlerdir. Bu sonuç, Şekil 3.54’de de görülmektedir. Ayrıca Denklem (3.21) ile temsil edilen sistemi kalıcı durum hatasına göre sınıflandırarak, denetlenebilirliğini ortaya konulabilir. Denklem (3.21)’de parametrelerin değerleri yerine konulup sıfır-kutup-kazanç gösterimi ile yeniden düzenlenirse Ω ! = 2426020.4082A ! J  Q 47780!  Q 2.64! Ω∗ ! 50.7687A ! = J  Q 2.64! (3.24) Θ ! 2426020.4082 A ! = 5  Q 47780!  Q 2.64! elde edilir. (3.25) ile Ω !/A ! ve Ω∗ !⁄A ! sisteminin Tip0, Θ !/A ! sisteminin ise Tip1 olduğu anlaşılır. O halde, Ω !/A ! ve Ω∗ !⁄A ! basamak girişini, Θ !/A ! ise rampa girişini belirli bir kalıcı durum hatası ile takip edebilecektir. Denetleyici tasarımında bu sistemlerin tip numarası göz önünde bulundurulmuştur. 76 3.2.2.2. DC Motorun Hız Denetleyicisinin Tasarımı Şekil 3.13’de (sayfa 29) nesne takip sisteminin, hız veya konum durumlarından birine sahip olabileceği verilmişti. Bundan dolayı DC motor için hız denetim sisteminin tasarımı gerekli olmuştur. Başlıkta bu çalışmaya yönelik farklı hız denetleyici yapılanmaları verilmiş ve bu yapılanmalar karşılaştırmalı olarak tartışılmıştır. Başlangıç olarak P denetleyicisi tasarlanmış, fakat kalıcı durum hatalarının giderilemediği için PI denetleyicisi tercih edilmiştir. Birden fazla P ve PI yapılanmaları bu başlıkta karşılaştırmalı olarak verilmiş ve aralarından en uygunu çalışma için seçilmiştir. Şekil 3.40’da (sayfa 57) verilen denetim sistemi yeniden düzenlenerek Şekil 3.55’deki blok diyagramına ile temsil edilebilir. ΩR:< + ƒ ! ∗ Ω „! Ω ! - A „! Denetim Yasası Elektromekanik Altsistem Şekil 3.55. Hız denetim sistemi blok diyagramı Hız denetleyicisi tasarlanırken aşağıdaki birim basamak yanıtı gereksinimleri göz önünde bulundurulmuştur: - Kalıcı durum hatası sıfır olmalıdır, - %5 ve altında bir aşım olmalıdır, - sistem yanıtı titreşimsiz sönümlü olmalıdır, - 1 saniyeden daha az oturma süresi istenmektedir. 77 P Denetimli Sistemin Tasarımı Başlangıç olarak, denetleyici kazanç türünde (P) seçilmiştir ve denetim sistemi oluşturulmuştur. Denetim sisteminin blok diyagramı Şekil 3.56’da verilmiştir.  ! | ! + DEF 3 y6 - Q  7 z Q 6 Ω ! :;   :; :; Q 3 / - Denetleyici Denetlenen Sistem Şekil 3.56. P denetimli denetim sistemi (doğrusal model) Şekil 3.56’daki geri besleme döngüsü indirgenirse, denetim sisteminin transfer fonksiyonu  = Ω ! =  ∗ ƒ,…  ! DEF ∗ 3 7:; Q y6:; Q 3 /z Q  DEF 3 olarak elde edilir. . ! sistemin açık döngü transfer fonksiyonu olmak üzere, başvuru sinyali  ! ile hata sinyali | ! ilişkisini veren transfer fonksiyonu | !  ! = 1 1 Q . ! olarak verilir ve sistemin kalıcı durum hatası  son değer teoreminden  = 3l→im‰  ! = li→mJ | ! = li  →mJ 1 Q . !  ! şeklinde hesaplanabilir (Yüksel 2011). Kalıcı durum hatası , birim basamak başvuru sinyaline göre  ! = 1/ göre yeniden düzenlenirse  = lim  y6:;- Q 7:;z Q 6:; Q  3 / 1→J y6 - Q  7 z Q 6  Q Q  :;   :; :;  3 /  DEF 3 78  6 = 6  Q :;  Q :;  3  / Q 3  / DEF 3 elde edilir. Görüldüğü üzere,  kalıcı durum hatası sıfırdan farklıdır ve artan  ile azalacaktır. Ω !/ ! denetim sisteminin açık döngü kök yer eğrileri grafiği incelenirse (Şekil 3.57), sahip olabileceği köklerin negatif gerçek eksen ile üzerinde olduğu görülür. Bu, sistemin tüm  değerleri için kararlı olduğu ve titreşimsiz sönümlü olduğunu gösterir. Ayrıca, kökler dikey eksenden uzaklaştıkça (sola doğru) sistemin kazancının artacağı görülür. Artan sistem kazancı ile birlikte, sistemin zaman sabiti azalacak ve yanıt hızı artacaktır. O halde, artan  ile birlikte sistemin yanıt hızının artması beklenir. Kok Yer Egrisi (P denetimli Ω (s)/R(s) icin) 0.4 0.999 0.998 0.997 0.993 0.9820.94 0.3 1 0.2 1 0.1 8 6 4 2 0 -0.1 1 -0.2 1 -0.3 0.999 0.998 0.997 0.993 0.9820.94 -0.4 -10 -8 -6 -4 -2 0 2 -1 Gercek Eksen (seconds ) Şekil 3.57. P denetimli sistemin açık döngü kök-yer eğrileri grafiği ƒ ! =  olarak tanımlanan denetleyici, farklı ve artan orantı kazancı ( ) değerleri için denenmiştir ve Şekil 3.58’de ve Çizelge 3.9’da verilen birim basamak yanıtları elde edilmiştir. 79 -1 Sanal Eksen (seconds ) Birim Basamak Yaniti 1 0.9 0.8 0.7 0.6 0.5 Kp = 0.5 0.4 Kp = 0.5 (NonLin. Model) Kp = 0.75 0.3 Kp = 0.75 (NonLin. Model) 0.2 Kp = 1 Kp = 1 (NonLin. Model) 0.1 Kp = 2 Kp = 2 (NonLin. Model) 0 0 0.05 0.1 0.15 0.2 0.25 Zaman (seconds) Şekil 3.58. P denetleyici ile oluşturulan denetim sisteminin farklı orantı kazançlarına göre birim basamak yanıtı Çizelge 3.9. P denetimli sistemin birim basamak yanıtı Orantı Kazancı Kalıcı Durum Yanıtı Kalıcı Durum Hatası 0.5 0.9058 rad/s 0.0942 rad/s 0.75 0.9352 rad/s 0.0648 rad/s 1 0.9506 rad/s 0.0494 rad/s 2 0.9747 rad/s 0.0253 rad/s Şekil 3.58’den ve Çizelge 3.9’dan görüldüğü üzere sistem, referans hız girişini belirli bir kalıcı durum hatası ile takip edebilmektedir. Bu kalıcı durum hatası, doğrusal olmayan denetim sisteminde daha da fazla olmaktadır. Doğrusal denetim sistemi modeli, sistemin doğrudan transfer fonksiyonudur. Oysa doğrusal olmayan denetim sistemi modelinde sürtünme torku (<) etkisi dahildir ve denetleyicinin çıkışı sınırlandırılmıştır. Sürtünme torku, sayfa 93’deki anlatılan gerçek- zamanlı testlerde, ölçüm verilerinden yola çıkarak parametre kestirimi yöntemi ile 80 Hiz (rad/s) hesaplanmıştır. Çoğu deneyde yaklaşık ±%20 belirsizlikle < = 0.14  olarak hesaplanmıştır. Bu kalıcı durum hatası, denklem (3.21) ile temsil edilen Ω !/A ! sistemin Tip-0 olmasının bir sonucudur. Basamak girişlerindeki kalıcı durum hatasını ortadan kaldırmak için bu sisteme bir integral eleman dahil edilmelidir. Bundan dolayı hız denetim sistemi, PI türünde denetleyici ile oluşturularak, sistemin Tip-1 olması sağlanabilir. Tez konusu olan servo sistemin hız denetiminde kalıcı durum hatası istenmediğinden, P denetleyici bu çalışma için uygun değildir. Bundan dolayı PI denetleyici tasarımları test edilmiştir ve uygun olanı çalışma için seçilmiştir. 81 PI Denetimli Sistemin Tasarımı Bir PI denetim yasası ƒ =  Q 1G  (3.25) şeklinde verilir (Yüksel 2011) ve burada , G sırası ile orantı ve integral kazancı anlamına gelir. Şekil 3.59’da verilen kapalı döngü blok diyagramı indirgenirse, denetim sisteminin transfer fonksiyonu Ω !  ! = DEF y  Q G 3z  7:;+ Q y6:; Q 3  Q DEF z Q G DEF 3 olarak elde edilir.  ! +  Q DEF 3  G y6 Ω ! - :;- Q 7:;z Q 6:; Q 3 / Denetleyici Denetlenen Sistem Şekil 3.59. PI denetimli denetim sistemi (doğrusal model)  ! = 1/ basamak başvuru girişi, . ! Şekil 3.59’daki sistemin açık döngü transfer fonksiyonu . ! = DEF 3y  Q Gz yy6:;- Q 7:;z Q 6:; Q 3 /z olmak üzere, sistemin kalıcı durum hatası  elde edilmek istenirse, son değer teoreminden  = 3l→im‰  ! = li→mJ | ! = l  i→mJ 1 Q . !  !  = lim yy6:;- Q 7:;z Q 6:; Q  3 /z→J yy6:;- Q 7:;z Q 6:; Q 3 /z Q = 0 DEF 3y  Q Gz 82 elde edilir. Görüldüğü üzere,  ! = B ! birim basamak referans girişine karşılık denetim sisteminin kalıcı durum hatası  = 0 olacaktır. Bu da, PI denetimli sistemin kalıcı durum hatasını tamamen gidereceğini gösterir. Uygun  ve G katsayılarının belirlenmesinde Simulink Control Design yazılımının Control and Estimation Tools Manager (denetim ve tahmin araçları yöneticisi) uygulamasından faydalanılmıştır. Bu araç, doğrusal ve zamanla değişmeyen (LTI) sistemlerin doğrusal analizlerinin gerçekleştirilmesine ve denetleyicilerin etkileşimli olarak hesaplanmasına olanak tanımaktadır. Denetleyici tasarlanırken kök-yer eğrilerinden, analiz edilirken de birim basamak yanıt grafiğinden faydalanılmıştır. Control and Estimation Tools Manager ortamında, kök-yer eğrisi grafiklerine gereksinim ölçütleri eklenebilmektedir. Şekil 3.57’de P denetimli sistemin kök-yer eğrisine Œ X 1/√2 tasarım ölçütü (%4.32 ve altı aşım oranına denk gelen sönüm oranıdır) tanımlanmıştır. Kökler açık renkli bölgede kaldığı sürece (Şekil 3.60) bu ölçütün sağlanacağı anlamına gelmektedir. Orijinde bir adet kutup ve açık renkli bölge içerisinde bir adet gerçek sıfır ilave edilecek sistemin PI denetimli olması sağlanmıştır. 83 Şekil 3.60. PI denetimli sistemin (başlangıç ayarları ile) açık-döngü kök-yer eğrileri grafiği Şekil 3.60’daki yapılanmaya göre  = 0.0098 ve G = 0.08202’dir ve sistemin birim basamak yanıtı Şekil 3.61’de verilmiştir. Mevcut denetim sisteminin açık döngü transfer fonksiyonu (kutup-sıfır-kazanç gösterimi) aşağıdaki gibidir: Ω ! = 0.49992  Q 8.329!| ! + Q 3.14 Q 4.164 84 Şekil 3.61. Başlangıç ayarları ile PI denetimli sistemin birim basamak yanıtı Şekil 3.61’den görüldüğü üzere, aşım oranı %2.36, oturma zamanı 2.59 s, sönüm oranı 0.7694, doğal frekansı 2.0406 rad/s ve kalıcı durum hatası 0’dır. PI denetimle kalıcı durum hatası giderilmesine karşın, sistem bu sefer de yavaşlamıştır. Sistem, daha hızlı yanıt verecek şekilde yanıtının iyileştirilmesi gerekmektedir. Bunun için, denetleyicinin çıkışını yani açık döngü sistemin kazancını yükseltecek şekilde kök- yer eğrileri yeniden düzenlenmiştir. Açık döngü sistemin, Control and Estimation Tools ile etkileşimli olarak yeniden ayarlanmış kök-yer eğrileri Şekil 3.62’de verilmiştir. 85 Şekil 3.62. Düzenlenmiş ayarlar ile PI denetimli sistemin açık-döngü kök-yer eğrileri grafiği Şekil 3.62’deki yapılanmaya göre  = 0.1332 ve G = 0.3699’tür ve sistemin birim basamak yanıtı Şekil 3.63’de verilmiştir. Mevcut denetim sisteminin açık döngü transfer fonksiyonu (kutup-sıfır-kazanç gösterimi) aşağıdaki gibidir: Ω ! = 6.764  Q 2.777!| !  Q 2.878!  Q 6.526! 86 PI Denetimli Kp = 0.133, Ki = 0.37 1 0.8 Benzetim (linear model) Benzetim (nonlinear model) 0.6 0.4 0.2 Sürtünme torkunun (<) etkisi 0 0 0.5 1 1.5 2 2.5 3 Zaman (s) Şekil 3.63. Düzenlenmiş ayarlar ile PI denetimli sistemin birim basamak yanıtı Tasarlanan denetleyicilerin hem doğrusal hem de doğrusal olmayan denetim sistemi ile test edilmiştir. Kök yer eğrileri, frekans yanıtı vs. gibi denetim sistemi tasarım yöntemleri sadece doğrusal modellere uygulanabildiğinden, denetim sistemi doğrusal modeller (transfer fonksiyonları vs.) ile tasarlanmıştır. Denetim sisteminin yanıtı analiz edilirken de doğrusal olmayan modeller kullanılmıştır. Bunun nedeni, doğrusal modellerin ile doğrusalsızlıkların dahil edildiği modellerin yanıtı farklılık göstermektedir. Şekil 3.63’deki doğrusal modelin birim basamak yanıtına göre, sistemin aşım oranı %0.211, oturma zamanı 0.53 s, sönüm oranı 1 ve kalıcı durum hatası 0’dır. Sistem, bir önceki yapılanmaya göre daha hızlıdır. Doğrusal olmayan modelin oturma zamanı ise 1.71 s ve aşım oranı %0’dır. Doğrusal olmayan modelde sürtünme torku nedeni ile, denetleyicinin çıkışı belirli bir seviyeye ulaşana kadar sistem hareketsiz kalmıştır. Böylece başlangıçta 0.15 s kadar bir gecikme meydana gelmiştir. 87 Hiz (rad/s) Sistemdeki doğrusalsızlıklar nedeni ile bu yapılanma yetersizdir. Başlangıçtaki gecikmeleri ortadan kaldırmak ve sistemin yanıtını hızlandırmak için denetim sisteminin kazancı sırası ile 3, 4 ve 8 katına çıkarılarak  ve G kazanç katsayıları yeniden düzenlenmiştir ve topluca özeti Çizelge 3.10’da verilmiştir. Çizelge 3.10. Aday Denetleyiciler ve Özellikleri Denetleyicinin Denetim Sisteminin Tanım Kazançları Açık-Döngü T.F.  G PI (özgün) Ω ! 6.7679  Q 2.777! 0.133 0.37 (PI 1x) | ! =   Q 2.64! Ω ! 20.292  Q 2.777! PI x3 0.4 1.11 | ! =   Q 2.64! Ω ! PI x4 0.533 1.48 | ! = 27.0559  Q 2.777!   Q 2.64! Ω ! 54.1119  Q 2.777! PI x8 1.07 2.96 | ! =   Q 2.64! Çizelge 3.10’da verilen denetleyiciler ile oluşturulan denetim sistemlerinin birim basamak yanıtları Şekil 3.64 ve Şekil 3.65’de verilmiştir. Şekil 3.64’deki yanıtlar doğrusallaştırılmış denetim sistemi ile, Şekil 3.65’de yanıtlar ise doğrusal olmayan denetim sistemi ile elde edilmiştir. 88 Birim Basamak Yaniti (Dogrusal Model ile) 1 0.8 0.6 0.4 PI, Kp = 0.133, Ki = 0.37, Linear Model PI x3, Kp = 0.4, Ki = 1.11, Linear Model 0.2 PI x4, Kp = 0.533, Ki = 1.48, Linear Model PI x8, Kp = 1.07, Ki = 2.96, Linear Model 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Zaman (s) Şekil 3.64. Çeşitli PI yapılanmaları ile doğrusallaştırılmış denetim sisteminin birim basamak yanıtı Birim Basamak Yaniti (Dogrusal-Olmayan Model ile) 1 0.8 0.6 0.4 PI, Kp = 0.133, Ki = 0.37, Nonlinear Model PI x3, Kp = 0.4, Ki = 1.11, Nonlinear Model 0.2 PI x4, Kp = 0.533, Ki = 1.48, Nonlinear Model PI x8, Kp = 1.07, Ki = 2.96, Nonlinear Model 0 0 0.5 1 1.5 2 2.5 3 Zaman (s) Şekil 3.65. Çeşitli PI yapılanmaları ile doğrusal-olmayan denetim sisteminin birim basamak yanıtı 89 Hiz (rad/s) Hiz (rad/s) Şekil 3.64 ve Şekil 3.65’de görüldüğü üzere artan sistem kazancı ile sistemin yanıtı hızlanmaktadır. Ayrıca, Şekil 3.65’de görüldüğü üzere, artan sistem kazancı ile sürtünme torkundan kaynaklanan başlangıç gecikmesi giderilmiştir. Gerçek sistem üzerinde gerçekleştirilen testlerde (sayfa 93’de ayrıntılı verilmiştir), özgün-PI denetleyicisinin kazancı 4 katına çıkana kadar kararlı sonuçlar alındığı gözlenmiştir. Fakat daha yüksek kazançlarda, sistem kararsızlaşmaktadır ve referans hız değeri civarında titreşimler meydana gelmektedir. Bu nedenden dolayı, yanıt hızı ve kararlılık göz önünde bulundurulduğunda, bu tez çalışması için en uygun denetleyici Çizelge 3.10’da verilen PI-4x yapılanmasıdır. Denetim sisteminin uygun bir davranış sergilediği benzetim ortamında sınandıktan sonra, tasarlanan denetleyiciyi deney düzeneği üzerinde gerçek-zamanlı olarak test edilmesi gerekli görülmüştür. Şekil 3.40 (sayfa 57) göz önünde bulundurulduğunda, denetlenen sistem üzerinden açısal hız ölçümü yapılması gereklidir. DC motor üzerinde hız ölçümü yapan bir algılayıcı bulunmadığı için, anlık hız bilgisi sadece konum algılayıcısından (encoder) sağlanan veriler ile tahmin edilmek zorundadır. Bir encoderden sağlanan konum verilerinden rotor hızını elde edebilmenin çeşitli yöntemleri vardır. Bunlardan biri frekans ölçümü yöntemi, diğeri ise periyod ölçümü yöntemidir. Frekans-ölçümü yöntemi, belirli bir zaman aralığındaki encoder’in ürettiği darbeleri saymaya dayalıdır. Periyod ölçümü yöntemi ise her bir darbenin genişliğini ölçmeye dayalıdır (Briz ve ark. 1994). Ayrıca Kalman filtresi yöntemi ve Luenberger gözlemcisi gibi gözlemci (observer) tabanlı hız ölçümü yöntemleri de mevcuttur (Petrella ve ark. 2007). Bu çalışmada, basitliği ve kolay uygulanabilirliği nedeni ile frekans-ölçümü yöntemi tercih edilmiştir. Frekans-ölçümü yönteminde rotor hızı, doğrudan encoder darbelerinin frekansını hesaplayarak elde edilir. Sabit-aralıklı ve önceden belirlenmiş bir gözlem zaman- diliminde gözlemlenen darbeler sayılır. Hızın bu zaman-dilimleri içerisinde sabit olduğu kabul edilir ve (3.26) ile hız yaklaşık olarak hesaplanır:  = %" Δ" 2ŽΔ% ≅  ≅  [$%/] (3.26) 90 Burada , encoderin bir turu başına ürettiği darbe sayıdır;  zaman dilimidir ve Δ ise bu zaman dilimi içerisinde gözlemlenen darbe sayısıdır. Ancak, encoder darbeleri ve gözlem-dilimi arasındaki eş-zamanlılığın yetersizliğinden, ölçülen Δ darbe sayısı tam belirli değildir. Bu da o zaman-dilimi içerisindeki ortalama hızın üzerine niceleme (quantisation) hataları bindirir. Bu Δ niceleme hatası, Δ = 2Ž [$%/] (3.27) olarak verilir. Denklem (3.27)’nin bir sonucu olarak, niceleme hataları çalışma hızından bağımsızdır ve sadece encoderin darbe/devir sayısına ve gözlem-dilimine bağlıdır (Petrella ve ark. 2007) ve bu ilişki Şekil 3.66’da görülmektedir. Δ [$%/] N’ T”• Şekil 3.66. Niceleme hatalarının darbe/devir sayısı ve zaman-dilimi ile ilişkisi (Petrella ve ark. 2007) Burada amaç, Δ hız hatalarını en düşük yapmaktır. (3.27)’ün bir sonucu olarak, hız hatalarını en düşük yapmak için yüksek hassasiyetli bir encoder (yüksek ) kullanmak ve  zaman-dilimini yüksek tutmak gerekir. Fakat, hız hesaplanırken yine  kadar bir geri-besleme gecikmesi söz konusudur ve artan  ile birlikte gerçek hız ile ölçülen 91 hız arasında artan bir faz farkı oluşacaktır. Yüksek faz farkı, sistemin kararlılığını azaltacağından  sınırlı bir değere kadar yüksek tutulabilir (Briz ve ark. 1994). Bu çalışmada kullanılan DC motora ait encoderin darbe/devir sayısı  = 720’dir ve uygun gözlem zaman-diliminin () belirlenmesi gerekli olmuştur. Uygun ’yi belirleyebilmek için bu çalışmada kullanılan DC motor deney düzeneğinde, sabit bir %BC oranında boşta çalıştırılmıştır ve denklem (3.26)’daki algoritma ile hız ölçümleri alınmıştır. Her durumda sistemin kalıcı durumdaki hız deneysel olarak 3.3423 rad/s hesaplanmıştır. Elde edilen hız ölçümleri, farklı  zaman-dilimleri için tekrarlanmıştır ve Şekil 3.67’de karşılaştırmalı olarak verilmiştir. Görüldüğü üzere, gözlem zaman- dilimi, örnekleme zamanının () yaklaşık 6 veya 8 katı olarak seçildiğinde, niceleme hataları en düşük olmaktadır. Bu çalışmada  = 6 (3.28) olarak seçilmiştir. Şekil 3.67. Farklı gözlem zaman-dilimlerinde ölçülen hızlar Denetleyici gerçek sistem üzerinde test edilirken hız geri beslemesi Denklem (3.26) ve (3.28)’deki esaslara göre elde edilmiştir. 92 Hız Denetleyicisinin Gerçek Zamanlı Testleri Çizelge 3.10’da verilen aday hız denetleyicileri, deney düzeneği üzerinde gerçek sisteme uygulanmış, test edilmiş ve sonuçları bu kısımda tartışılmıştır. DC motora (gerçek sistem), “PI 1x” denetleyicisi uygulandığında, benzetim çalışmalarından da tahmin edildiği gibi, sistemin yanıtı sürtünme torku nedeniyle gecikmeli ve yavaştır (Şekil 3.68). Oturma zamanı 1.04 s olarak ölçülmüştür. PI Denetimli Kp = 0.133, Ki = 0.37 1 Benzetim (linear model) 0.8 Benzetim (nonlinear model) Deneysel (gercek sistem) 0.6 0.4 0.2 Sürtünme torkunun (t) etkisi 0 0 0.5 1 1.5 2 2.5 3 Zaman (s) Şekil 3.68. ”PI 1x” Denetimli Sistemin Birim Basamak Yanıtı (Gerçek Zamanlı Test) “PI 3x” ve “PI 4x” ile denetlenen gerçek sistemin birim basamak yanıtı Şekil 3.69 ve Şekil 3.70’de verilmiştir. “PI 1x” yapılanmasına göre motorun yanıtı hızlanmıştır (oturma zamanı 0.86 ve 0.82 s) ve sürtünme torkundan kaynaklanan başlangıç gecikmesi ortadan kalkmıştır. 93 Hiz (rad/s) PI Denetimli Kp = 0.4, Ki = 1.11 1 Benzetim (linear model) 0.8 Benzetim (nonlinear model) Deneysel (gercek sistem) 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 Zaman (s) Şekil 3.69. ”PI 3x” Denetimli Sistemin Birim Basamak Yanıtı (Gerçek Zamanlı Test) PI Denetimli Kp = 0.533, Ki = 1.48 1 Benzetim (linear model) 0.8 Benzetim (nonlinear model) Deneysel (gercek sistem) 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 Zaman (s) Şekil 3.70. ”PI 4x” Denetimli Sistemin Birim Basamak Yanıtı (Gerçek Zamanlı Test) “PI 8x” ile denetlenen sistem benzetimlerde iyi bir sonuç vermesine karşın, gerçek sisteme uygulandığında yüksek sistem kazancından dolayı kararsız hale gelmiştir. Bu etki Şekil 3.71’de açıkca görülmektedir. 94 Hiz (rad/s) Hiz (rad/s) PI Denetimli Kp = 1.07, Ki = 2.96 1 0.8 Yüksek sistem kazancı ile sistem kararsız hale 0.6 gelmektedir. 0.4 Benzetim (linear model) 0.2 Benzetim (nonlinear model) Deneysel (gercek sistem) 0 0 0.5 1 1.5 2 2.5 3 Zaman (s) Şekil 3.71. ”PI 4x” Denetimli Sistemin Birim Basamak Yanıtı (Gerçek Zamanlı Test) Gerçek zamanlı testlerin toplu bir özeti Çizelge 3.11’de verilmiştir. Görüldüğü üzere, denetleyicinin artan kazancı ile birlikte sistemin yanıtı hızlanmaktadır, fakat belirli bir seviyeden sonra sistem kararsızlaşmaktadır. Çizelge 3.11. Farklı denetim yapılanmaları ile sistemin gerçek-zamanlı test sonuçları Kullanılan Denetleyici Denetleyicinin Kazancı Sistemin Oturma Zamanı (Deneysel) PI 1x = 0.13323 1.04 s PI 3x 3 = 0.39969 0.86 s PI 4x 4 = 0.53293 0.82 s (en uygun) PI 8x 8 = 1.0659 ∞ (Kararsız) Çizelge 3.11’den yola çıkarak, nesne takip sisteminde “PI 4x” ile isimlendirilen hız denetleyicisinin kullanılmasına karar verilmiştir. Seçilen denetleyiciye ilişkin özellikler Çizelge 3.10’da (sayfa 88) verilmişti. 95 Hiz (rad/s) 3.2.2.3. DC Motorun Konum Denetleyicisinin Tasarımı Şekil 3.13’de (sayfa 29) nesne takip sisteminin, hız veya konum durumlarından birine sahip olabileceği verilmişti. DC motorun hız denetleyicisinin tasarımı ve doğrulanması bir önceki başlıkta verilmişti, bu başlıkta ise konum denetimi tasarımı incelenmiştir. Sistemin mekanik kısımlarından (özellikle dişli kutusu) kaynaklanan statik sürtünme torku nedeniyle, DC motorun düşük gerilim seviyelerinde doğrusalsızlıklar mevcuttur. Bu doğrusalsızlıklar, önceki başlıklarda verilen sistem modelinin içerisine kısmen dahil edildiğinden, konum denetimi matematiksel modeller ile değil, gerçek sistem ile deneysel olarak tasarlanmıştır. Konum denetleyicisi olarak PID yasası, PID denetleyicinin parametrelerinin ayarlanmasına yönelik ise ise Ziegler-Nichols yöntemi tercih edilmiştir. Denklem (3.21) ile temsil edilen Θ !/C s! sistemi Tip-1 bir sistemdir ve sisteme PID ile bir integral eleman sağlanması, sistemin rampa sinyalini izlerken oluşan kalıcı durum hatasını da ortadan kaldıracaktır. Ayrıca Θ !/A ! transfer fonksiyonunun payda ve pay mertebelerinin farkı 3 olduğu için Ziegler-Nichols yöntemini uygulamak mümkün olmaktadır. Ziegler-Nichols yöntemi, geribeslemeli ve kapalı-döngü bir sistemin basamak giriş ile sürekli salınımda test edilmesine dayanır (Yüksel 2011). Đlk aşamada denetim yasası olarak ˜ ! =  (3.29) oransal denetim uygulanmıştır.  kazancı, sistem sınır kararlı hale, başka deyişle sürekli salınım haline gelene kadar kadar artırılmışıtır. S = 16 için sistemin sınır kararlı olduğu gözlemlenmiştir (Şekil 3.72.a). 96 Kp = 16 Konum (ref.) Konum (olculen) 0.15 0.1 0.05 0 -0.05 0 1 2 3 4 5 6 7 8 Zaman (s) 0.15 0.1 0.05 ™D 0 -0.05 1 1.2 1.4 1.6 1.8 2 Zaman (s) Şekil 3.72. (a) ve (b). Konum denetim sisteminin sınır kararlıktaki yanıtı ve yakından görünümü Denklem (3.30)’da verilen ardışık-PID denetim yasasından yola çıkarak ˜ ! =  w1 Q G Q Hx (3.30) integral zaman sabiti (G) ve türev sabiti (H), Ziegler-Nichols yöntemine göre 97 Acisal Konum (rad) Acisal Konum (rad)  = 0.6 S G = 0.825™D (3.31) H = 0.125™D ile hesaplanır (Yüksel 2011). Burada ™D sürekli salınım periyotudur ve Şekil 3.72 (b) üzerinden ™D = 1.106  olarak hesaplanmıştır. Denetim sistemine ilişkin katsayılar denklem (3.32) ile hesaplanmış ve denetim sistemi hem benzetim ortamında hem de deney düzeneği üzerinde test edilmiştir ve basamak girişine karşılık yanıtı Şekil 3.73’de verilmiştir. Şekil 3.73. Ayarlanmış katsayılar ile konum denetim sisteminin yanıtı Şekil 3.73’de görüldüğü gibi, benzetim sonuçları ile gerçek sistem yanıtlarının kısmen eşleştiği görülmektedir. Bunun başlıca nedeni, motor milinin hareket edebilmesi için aşılması gereken sürtünme torkudur (<). Denetim sinyali ilk defa oluşturulduğunda, sürtünme torku nedeni ile yük milinde açısal bir yer değiştirme o an meydana gelmeyeceğinden, denetleyicinin çıkışı hatayı hızlıca telafi edebilmek için yükselmektedir. Böylece aşım artmaktadır. Ayrıca referans konum 0.1 $% iken göreceli olarak düşük bir kalıcı durum hatası oluşmakta iken, referans konum 0 $% olduğunda kalıcı durum hatası olmamaktadır. Bunun nedeni, sürtünme torkunun (<) motorun ileri yada geri yönde hareket ederken farklı değerde olmasıdır. Buna benzer doğrusalsızlıklar, Şekil 3.73’de benzetim modeline dahil edilmemiştir. 98 3.2.3. Durum Geçişleri Denetimi Altsistemi Nesne takip sisteminin çalışma ilkelerine göre, makinenin farklı çalışma modlarına sahip olduğu 3.1.2 numaralı başlıkta (sayfa 26) ayrıntılı bir şekilde anlatılmıştı. Nesnenin görüntü merkezi içerisinde veya dışında olmasına ve nesnenin görüş alanı içerisinde olup olmamasına göre makine farklı durumlara sahip olabilirdi. Makinenin alabileceği bu çalışma durumları ve geçiş koşulları Çizelge 3.12’de özetlenmiştir. Çizelge 3.12. Makinenin Alabileceği Durumlar ve Geçiş Koşulları Çalışma Modu Koşul Hız Denetimi Modu Nesne merkez bölgesi dışında veya görüş š1C 40%B = 1 alanında nesne algılanmamış ise N10 X  ⋀  X Q10 Konum Denetimi Modu Nesne merkez bölgesinde ise š1C 40%B = 2 N10 W  W Q10 Durma Modu Nesne görüş alanı içerisinde değilse yada š1C 40%B = 1 algılanmamışsa. Đlk Başlatma Bekleme Modu Makine ilk defa başlatıldığında, 2 sn š1C 40%B = 1 süresince. Durum geçiş denetimi altsistemi farklı çalışma durumlarına karşılık, o an için denetleyicinin hız yada konum denetiminin hangisini gerçekleştireceğini belirler. Şekil 3.13’de (sayfa 29) verilen algoritmaya göre tasarlanan durum geçiş denetimleri, Stateflow ortamında tasarlanmıştır (Şekil 3.75). Durum geçişleri denetimi altsistemi, eğer konum denetimi gerçekleştirilecekse konum referans değerini, hız denetimi gerçekleştirilecekse hız referans değerini denetleyiciye sağlar. Sözü edilen bu çalışma prensibi ile oluşturulan Simulink modelinin ilgili kısmı Şekil 3.74’de verilmiştir. Şekil 3.74’deki durum geçişleri denetimi ve denetleyici altsistemleri sırası ile Şekil 3.75 ve Şekil 3.76’da gösterilmiştir. 99 Durum Geçiş Denetimi Altsistemi Nesnenin Konum Hız Referansı Bilgisi Konum Ref. Kameranın açısal konumu Denetleyici Modu Denetleyici Altsistemi Şekil 3.74. Durum geçiş denetimi ve Denetleyici Altsistemleri Şekil 3.74’de verilen bu Stateflow şemasında, nesnenin görüntü merkezinden sapma miktarı () ve kameranın anlık açısal konumu (") giriş olarak sağlanmaktadır. Sapma miktarı ve kameranın açısal konum verilerinden yola çıkılarak - hız denetleyicisinin referansı, - konum denetleyicisinin referansı - ve o an için hangi denetleyicinin etkin olacağını belirleyen denetleyici modu sinyalleri hesaplanmakta ve denetleyici altsistemine giriş olarak gönderilmektedir. Durum geçiş denetimi altsisteminde yer alan Stateflow şeması Şekil 3.75’de verilmiştir. 100 İlk başlatmada bekleme durumu Konum Denetimi Durumu Hız Denetimi Durumu Durma Durumu (a) (b) Şekil 3.75. Durum geçiş denetimine ilişkin Stateflow şeması Şekil 3.75’de Stateflow şemasına göre, - makine ilk başlatıldığında 2 sn kadar bekleme durumunda kalması istenmiştir. Bunun nedeni, kameranın başlatılabilmesi için donanıma süre tanımaktır. - eğer sapma miktarı N10 W  W Q10 aralığında ise makine “konum denetimi” durumuna geçecektir ve denetleyicinin konum referansı kameranın o anki açısal konumu olacaktır ("R:< = "). 101 - Eğer sapma miktarı, bu aralığın dışında ise makine “hız denetimi” moduna geçecektir ve  X 0 yada  W 0 olmasına göre denetleyicinin hız referansı R:< = ±0.5 $%/ olacaktır (Şekil 3.75b). - Eğer nesne görüş alanı içerisinde algılanmamışsa makine “durma” durumuna geçecektir hız referansını R:< = 0 $%/ olarak belirleyecektir. Şekil 3.74’de görülen denetleyici altsisteminin içeriği Şekil 3.76’da verilmiştir. Denetleyici altsisteminde hız ve konum denetleyicisi beraber bulunmaktadır. “Denetleyici modu” bilgisine göre hız ve konum denetleyicilerinden sadece biri etkin olacaktır. Bu geçiş, switch-case akış denetimi ile sağlanmıştır. Denetleyici Modu Hız Denetleyicisi Hız Referansı Konum Referansı Konum Denetleyicisi Şekil 3.76. Denetleyici Altsistemi 102 4. BULGULAR VE TARTIŞMA Bu tez kapsamında önceki başlıklarda, mekatronik bir sistem tasarımının bir çok unsurunu içeren “nesne takip sistemi”nin altsistemleri ayrı ayrı tasarlanmış ve altsistemlerin başarımları test edilmişti. Bu başlık altında sistem bir bütün olarak ele alınmış ve bazı performans testleri uygulanmıştır. 4.1. Takip Performansı Testleri Nesne takip sisteminin takip performansını sınamak için test masası üzerinde bir deney ızgarası oluşturulmuştur (Şekil 4.1 ve Şekil 4.2). Bu ızgara üzerinde 7 adet farklı nokta belirlenmiştir. Takip performansları için nesne, bu ızgara üzerinde önceden tanımlanmış bir iz üzerinde, göreceli olarak düşük ve sabit bir hızda hareket ettirilmiştir. Nesne Takip Sistemi Test Masası (0,0) z +x +y G F E D C B A 0.25 m 0.25 m Şekil 4.1. Deney Izgarası 103 0.15 m 0.15 m 0.20 m Şekil 4.2. Deney masası ve işaretlenmiş noktalar Takip performansını test etmek için iki farklı test türü uygulanmıştır. “Hareketsiz nesne testleri” ile sistemin tepki süreleri ölçülmüş, “hareketli nesne testleri” ile de takip performansı test edilmiştir. Deneyler gerçekleştirilirken, sistem üzerinden - nesnenin görüntü içerisindeki piksel cinsinsen zamana göre konumu, - kameranın zamana göre açısal konumu, - denetleyicinin modu, - konum denetim sisteminin referansı bilgileri toplanmış, kaydedilmiş ve görselleştirilmiştir. Deney sonuçları bu bilgiler ile yorumlanmıştır. Deney düzeneği üzerinden alınan zamana bağlı ölçümler görselleştirilirken, çok eksenli grafikler kullanılmıştır. Şekil 4.5, Şekil 4.6, Şekil 4.12 ve Şekil 4.13’de verilen zamana bağlı ölçüm verileri grafikleri şu şekilde yorumlanmalıdır: - Birinci grafikteki sol-y ekseni, nesnenin görüntü içerisindeki piksel cinsinden konumunu temsil etmektedir. Görüntü merkezi sınırları Δ̅ = ±10 =81 olarak verildiğinden, C = 10 ve C = N10 yatay doğruları sırası ile görüntü merkezinin üst ve alt sınırlarını temsil etmektedir. C = 0 doğrusu ise tam görüntü merkezini temsil etmektedir. 104 - Đkinci grafikteki sol-y ekseni ise kameranın açısal konumunu derece cinsinden temsil etmektedir. Sistem “konum denetimi” modunda iken, ayrıca referans konum eğrisi de yer almaktadır. Bu eğri, konum denetimi sisteminin o andaki referans girişini temsil eder. - Birinci ve ikinci grafiklerdeki sağ-y ekseni ise sistemin anlık denetim modunu temsil etmektedir. Alabileceği iki değer vardır: “Hız denetimi” ve “Konum denetimi”. 4.1.1. Hareketsiz Nesne Testleri Bu deney ile sistemin tepki süresi test edilmek istenmiştir. Deney başlatılmadan önce, kameranın konumu 0º’ye ayarlanır ve nesne C noktasına bırakılır (Şekil 4.3). Makine başlatıldıktan sonra, kamera otomatik olarak nesneye yönelecektir (Şekil 4.4). Nesne Takip Sistemi Test Masası +y z +x C Sabit Duran Nesne Şekil 4.3. Test sehpası ve hareketsiz nesnenin konumu 105 Deney Başlamadan Önce Deney Bitimi Şekil 4.4. Test süresince deney düzeneğinin görünümü Bu deney, Çizelge 3.10’da (sayfa 88) verilen “PI 1x” ve “PI 4x” hız denetimi yapılanması ile birer kez tekrarlanmıştır. Böylece, göreceli olarak daha yavaş (PI 1x) ve daha hızlı bir hız denetiminin (PI 4x), genel sistem performansı üzerindeki etkisi ortaya konmuştur. Bu iki deneyin sonuçları ise sayfa 110’da karşılaştırmalı olarak tartışılmıştır. 106 4.1.1.1. “PI-1x” Hız Denetimi ile Hareketsiz Nesne Takibi Testi Bu deneyde, hız denetleyicisi “PI-1x” olarak ayarlanmıştır ve deneyler bir önceki başlıkta tarif edildiği gibi gerçekleştirilmiştir. Deney bitiminde, sistem üzerinden toplanan veriler Şekil 4.5’de görselleştirilmiştir. 2 (Konum) Nesnenin Konumu 100 Denetleyici Modu 50 25 Görüntü Merkezi Üst Sınırı 10 1 (Hiz) 0 2 2.5 3 3.5 4 4.5 Zaman (s) Görüntü Merkezi 0 2 (Konum) Tepki Gecikmesi -5 Olculen Konum Referans Konum -10 Denetleyici Modu -15 -20 -25 1 (Hiz) -30 2 2.5 3 3.5 4 4.5 Zaman (s) -25 1 (Hiz) 3.85 3.9 3.95 4 Şekil 4.5. “PI-1x” hız denetimi ile hareketsiz nesne takibi deneyi ve deneyin zamana bağlı ölçüm verileri grafiği Şekil 4.5 incelendiğinde aşağıdaki sonuçlara varılabilir ve yorumlar getirilebilir: 107 Kameranin Acisal Konumu (Derece) Nesnenin Konumu (Piksel) Denetleyici Modu Denetleyici Modu - Zaman ekseni 2. saniyeden itibaren gösterilmiştir. Bunun nedeni, Çizelge 3.12’de (sayfa 99) verildiği üzere, sistem ilk başlatılırken 2 saniye boyunca bekleme durumunda kalmaktadır. Beklenildiği üzere sistem 2. saniyeden itibaren etkin olacaktır. - Makine bekleme süresini tamamladıktan 0.065 saniye sonra nesneyi algılamıştır ve o zaman adımında ( = 2.065 ) hız moduna geçmiştir. Nesne yatay görüntü düzleminde pozitif tarafta kaldığı için, sistem hız referansını R:< = N1 $%/ olarak ayarlar. Kamera, nesnenin merkezi görüntü merkezi sınırları içerisinde olana kadar dönme hareketini gerçekleştirir. - Nesnenin görüntü içerisindeki merkezi, görüntü merkezi sınırına ulaştığı anda ( = 3.916 ), makine “konum denetimi” moduna geçmiştir. Kameranın o andaki konumu ("R:< = N25.5°), aynı zamanda konum denetiminin referans konumu olarak ayarlanmıştır ve kamera bu konumda sabit kalmıştır. Şekil 4.5’in büyütülmüş kısmında bu durum görülmektedir. - Nesne 2.065’inci saniyede algılanmasına rağmen, kameranın harekete geçmesi yaklaşık 1 saniye kadar gecikmiştir. Bunun nedeni, “PI-1x” yapılanmasının başlangıç torkunu hemen telafi edemeyişidir. - Sonuçta ise nesnenin algılanması ile nesne merkezinin görüntü merkezi bölgesine ulaşması 3.916 N 2.065!  = 1.851  süre almıştır. -  = 3.916 ’den itibaren nesnenin görüntü içerisindeki merkezi, görüntü merkezi bölgesindedir. Durgun nesnenin takip edilmesi başarılıdır. Fakat takip, bir sonraki başlıkta anlatılan deneye göre daha yavaştır. 108 4.1.1.2. “PI-4x” Hız Denetimi ile Hareketsiz Nesne Takibi Testi Bu deneyde, hız denetleyici “PI-1x” olarak ayarlanmıştır ve deneyler bir önceki başlıkta tarif edildiği gibi gerçekleştirilmiştir. Deney bitiminde, sistem üzerinden toplanan veriler Şekil 4.6’da görselleştirilmiştir. 2 (Konum) Nesnenin Konumu 100 Denetleyici Modu 50 25 Görüntü Merkezi Üst Sınırı 10 1 (Hiz) 0 2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 3.8 4 Zaman (s)Görüntü Merkezi 0 2 (Konum) Olculen Konum -5 Referans Konum -10 Denetleyici Modu -15 -20 -25 -30 1 (Hiz) 2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 3.8 4 Zaman (s) Şekil 4.6. “PI-4x” hız denetimi ile hareketsiz nesne takibi deneyi ve deneyin zamana bağlı ölçüm verileri grafiği Şekil 4.6 incelendiğinde “PI-1x” Hız Denetimi ile Hareketsiz Nesne Takibi Deneyi”nden farklı olarak aşağıdaki sonuçlara varılabilir: - Nesne, makine etkin duruma geçtikten 0.111 saniye sonra algılanmıştır ( = 2.111 ) ve kamera tepki gecikmesi olmaksızın harekete başlayabilmiştir. Bunun nedeni, “PI-4x” yapılanmasının sürtünme torkunu telafi etmesidir. Böylece tepki gecikmeleri ortadan kaldırılmıştır. 109 Kameranin Acisal Konumu (Derece) Nesnenin Konumu (Piksel) Denetleyici Modu Denetleyici Modu - Nesnenin algılanması ile nesne merkezinin görüntü merkezi bölgesine ulaşması 3.217 N 2.111!  = 1.106  süre almıştır. PI-1x yapılanmasına göre daha hızlı bir sonuçtur. Böylece, sistemin tepki hızı artmıştır. -  = 3.217 ’den itibaren nesnenin görüntü içerisindeki merkezi, görüntü merkezi bölgesindedir. Durgun nesnenin takip edilmesi başarılıdır. Takip, bir önce başlıkta anlatılan deneye göre daha hızlıdır. 4.1.1.3. Hareketsiz Nesne Takibi Deneyi Sonuçları Her iki deneyde de, nesnenin takibi başarılı ile gerçekleştirilmiştir. Fakat, göreceli olarak daha yüksek kazanca sahip PI-4x hız denetimi kullanımı ile aşağıdaki iyileşmeler gözlemlenmiştir: - PI-1x yapılanması ile gerçekleştirilen deneylerde, kameranın harekete geçene kadar kaybettiği süreler (tepki gecikmeleri) ortadan kaldırılmıştır, - PI-4x ile sistemin genel tepki hızı artmıştır, kararlılığından ödün vermemiştir. Bu tepki sürelerinin karşılaştırması Çizelge 3.13’de verilmiştir. Çizelge 3.13. Farklı denetleyici yapılanmasının genel performans üzerine etkisi Hız Denetleyicisi Nesnenin Görüntü Merkez Bölgesine Ulaşma Süresi PI-1x 1.851 s PI-4x 1.106 s 110 4.1.2. Hareketli Nesne Testleri Bu deney ile sistemin, hareketli nesnelerin takip performansı test edilmek istenmiştir. Nesne, Şekil 4.7’de görüldüğü gibi, sırası ile B, A, G ve C noktalarına doğru sabit (ve keyfi) hızla hareket ettirilmiş ve her bir noktada bir süre (1 yada 2 s) bekletilmiştir. Nesne Takip Sistemi Test Masası +y z +x G C B A Hareketli Nesne Şekil 4.7. Test sehpası ve nesnenin hareket yörüngesi Bu deney, Çizelge 3.10’da (sayfa 88) verilen “PI 1x” ve “PI 4x” hız denetimi yapılanması ile birer kez tekrarlanmıştır. Böylece, göreceli olarak daha yavaş (PI 1x) ve daha hızlı bir hız denetiminin (PI 4x), genel sistem performansı üzerindeki etkisi ortaya konmuştur. 4.1.2.1. “PI-1x” Hız Denetimi ile Hareketli Nesne Takibi Deneyi Bu deneyde, hız denetleyici “PI-1x” olarak ayarlanmıştır ve deneyler Şekil 4.7’de tarif edildiği gibi gerçekleştirilmiştir. Deneyin aşamalarını özetleyen fotograflardan da (Şekil 4.8) anlaşılacağı üzere, sistem hareketli nesnenin takibini başarabilmiştir. 111 B Noktasında A Noktasında G Noktasında C Noktasında Şekil 4.8. “PI-1x” Hız Denetimi ile Hareketli Nesne Takibi Deneyi Deney sonrası elde edilen zaman bağlı ölçüm verileri grafiği Şekil 4.9’da verilmiştir. 112 Nesnenin Konumu Denetleyici Modu 100 2 (Konum) 50 25 Görüntü Mer kezi Sınırı 10 0 -10 -25 -50 1 (Hiz) 0 2 4 6 8 10 12 14 16 18 20 Zaman (s) B Nok. BA A Nok. AG G Nok. GC C Nok. (Beklemede) (Beklemede) (Beklemede) (Beklemede) 30 25 2 (Konum) 20 15 Olculen Konum 10 Referans Konum 5 0 Denetleyici Modu -5 -10 -15 Gecikme Gecikme -20 -25 -30 Gecikme -35 -40 1 (Hiz) 0 2 4 6 8 10 12 14 16 18 20 Zaman (s) Şekil 4.9. “PI-1x” hız denetimi ile hareketli nesne takibi deneyi ve deneyin zamana bağlı ölçüm verileri grafiği “PI-1x” Hız Denetimi ile Hareketli Nesne Takibi Deneyi”nde, sistemin genel performansını değerlendirmek gerekirse, Şekil 4.9’da verilen grafiğin belirli bir bölgesinin incelenmesi yeterli olacaktır. Nesnenin B noktasından ayrılıp A noktasında bekleme yaptığı zamana kadar olan kısmı Şekil 4.10’da mercek altına alınmıştır. 113 Kameranin Acisal Konumu (Derece) Nesnenin Konumu (Piksel) Denetleyici Modu Denetleyici Modu Nesne Tekrar Görüntü Nesnenin Konumu Merkezinde Denetleyici Modu 25 2 (Konum) 10 0 -10 -25 B Noktasından Ayrılış -50 A Noktasına Varış 1 (Hiz) 3.5 4 4.5 5 5.5 6 6.5 Zaman (s) Nesne Tekrar Görüntü Merkezinde 30 25 Nesne Görüntü 2 (Konum) 20 Merkezinden Ayrıldı 15 10 5 0 -5 Tepki Gecikmesi -10 -15 Olculen Konum -20 Referans Konum -25 -30 Denetleyici Modu -35 -40 1 (Hiz) 3.5 4 4.5 5 5.5 6 6.5 Zaman (s) Şekil 4.10. Nesne B ve A noktasında iken yakınlaştırılmış grafik Yakınlaştırılmış grafik (Şekil 4.10) incelenirse aşağıdaki yorumlar yapılabilir: Nesne  = 3.51’de B noktasından ayrılmış ve  = 5.27’de A noktasına varmıştır. Bu sırada nesne görüntü merkezi sınırından ayrıldığı anda sistem “hız denetimi” moduna geçmiştir ve R:< = Q1 $%/ ile nesnenin merkezi tekrar görüntü merkezi sınırında olana kadar açısal dönme hareket gerçekleştirmiştir ve nesneyi tekrar görüntü merkezine almıştır. Nesne takip sistemine uygulanan hareket denetimi stratejisine göre, nesne görüntü merkezi sınırlarına girdiği andaki ( = 5.27) konumda sabit kalması 114 Kameranin Acisal Konumu (Derece) Nesnenin Konumu (Piksel) Denetleyici Modu Denetleyici Modu istenmişti. Kameranın o andaki konumu ("R:< = N23.5°), aynı zamanda konum denetiminin referans konumu olarak ayarlanmıştır ve kamera bu konumda sıfır kalıcı durum hatası ile sabit kalmıştır. Şekil 4.10’dan görüldüğü üzere, nesnenin görüntü merkezinden ayrılması ile kameranın harekete geçmesi arasında yaklaşık 1 saniyelik tepki gecikmesi vardır. Kamera neredeyse, nesne A noktasına vardıktan sonra harekete geçebilmiştir. Şekil 3.65’deki (sayfa 89) benzetim çalışmalarına göre bu beklenen bir durumdur. “PI-1x” hız denetleyicisi başlangıçtaki sürtünme torkunu hemen telafi edememektedir ve bu da tepki gecikmelerine neden olmaktadır. Ayrıca bu tepki gecikmeleri, sistem her hız denetimi moduna geçtiğinde gözlemlenmektedir ve Şekil 3.49’da açıkça gösterilmiştir. Benzer sonuçlar, nesnenin - A noktasından ayrılıp G noktasına vardığı ve beklediği, - G noktasından ayrılıp C noktasına vardığı ve beklediği, zaman dilimlerinde de gözlemlenebilir. Sonuç olarak “PI-1x” hız denetimli sistem, hareketli nesneyi tekrar görüntü merkezi sınırına, fazladan gecikmeli olarak almayı başarmıştır. 4.1.2.2. “PI-4x” Hız Denetimi ile Hareketli Nesne Takibi Deneyi PI-1x hız denetimi yapılanması ile meydana gelen gecikmeli takipler, daha yüksek kazançlı ve daha hızlı “PI-4x” hız denetleyici yapılanması ile ortadan kaldırılmak istenmiştir. Bu deneyde, hız denetleyici “PI-4x” olarak ayarlanmıştır ve deneyler Şekil 4.7’de tarif edildiği gibi gerçekleştirilmiştir. Deneyin aşamalarını özetleyen fotograflardan da (Şekil 4.11) anlaşılacağı üzere, sistem hareketli nesnenin takibini başarabilmiştir. 115 B Noktasında A Noktasında G Noktasında C Noktasında Şekil 4.11. “PI-4x” Hız Denetimi ile Hareketli Nesne Takibi Deneyi Deney sonrası elde edilen zaman bağlı ölçüm verileri grafiği Şekil 4.12’de verilmiştir. 116 Nesnenin Konumu Denetleyici Modu 25 2 (Konum) 10 0 -10 -25 1 (Hiz) 0 2 4 6 8 10 12 14 16 Zaman (s) B Nok. BA A Nok. AG G Nok. GC C Nok. (Beklemede) (Beklemede) (Beklemede) (Beklemede) 25 2 (Konum) 20 Olculen Konum 15 10 Referans Konum 5 Denetleyici Modu 0 -5 -10 -15 -20 -25 -30 -35 1 (Hiz) -40 0 2 4 6 8 10 12 14 16 Zaman (s) Şekil 4.12. “PI-4x” hız denetimi ile hareketli nesne takibi deneyi ve deneyin zamana bağlı ölçüm verileri grafiği “PI-4x Hız Denetimi ile Hareketli Nesne Takibi Deneyi”nde, sistemin genel performansını değerlendirmek gerekirse, Şekil 4.12’de verilen grafiğin belirli bir bölgesinin incelenmesi yeterli olacaktır. Nesnenin B noktasından ayrılıp A noktasında bekleme yaptığı zamana kadar olan kısmı Şekil 4.13’de mercek altına alınmıştır. 117 Kameranin Acisal Konumu (Derece) Nesnenin Konumu (Piksel) Denetleyici Modu Denetleyici Modu Nesne hareket halindeyken, B Noktasından birden fazla kez tekrar görüntü Nesne Tekrar Görüntü Ayrılış merkezi bölgesine alınmıştır Merkezinde 2 (Konum) 10 0 -10 Nesnenin Konumu -25 Denetleyici Modu 1 (Hiz) 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 Zaman (s) A Noktasına Varış 25 2 (Konum) 20 15 10 Olculen Konum 5 Referans Konum Denetleyici Modu 0 1 (Hiz) -5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 Zaman (s) Şekil 4.13. Nesne B ve A noktasında iken yakınlaştırılmış grafik Yakınlaştırılmış grafik (Şekil 4.13) incelenirse aşağıdaki yorumlar yapılabilir: Nesne  = 2.21 ’de B noktasından ayrılmış ve  = 5.56 ’de A noktasına varmıştır. Bu sırada nesne görüntü merkezi sınırından ayrıldığı anda sistem “hız denetimi” moduna geçmiştir ve R:< = Q1 $%/ ile nesnenin merkezi tekrar görüntü merkezi 118 Kameranin Acisal Konumu (Derece) Nesnenin Konumu (Piksel) Denetleyici Modu Denetleyici Modu sınırında olana kadar açısal dönme hareket gerçekleştirmiştir ve nesneyi tekrarlı olarak görüntü merkezine almıştır. Bir önceki deneyden farklı olarak, - sistemdeki doğrusalsızlıklardan kaynaklanan başlangıç gecikmeleri tamamen ortadan kalkmıştır (Şekil 3.65’deki (sayfa 89) benzetim çalışmalarında, “PI-4x” denetleyici yapılanmasının bu tepki gecikmelerini ortadan kaldırdığı görülmüştü), - kamera nesne A noktasına vardıktan sonra değil, B noktasından ayrılır ayrılmaz harekete geçmiştir ve nesneyi takibe başlamıştır. Bu çaba, Şekil 4.13’de açıkca gösterilmiştir. Nesne takip sistemine uygulanan hareket denetimi stratejisine göre, nesne görüntü merkezi sınırlarına girdiği andaki konumda sabit kalması istenmişti. Şekil 4.13’de görüldüğü üzere, nesne hareket halindeyken birden fazla kez nesne görüntü merkezine alınmıştır ve kameranın o anlardaki açısal konumu referans konum olarak ayarlanmış ve bu referans değer sıfır kalıcı durum hatası ile takip edilmiştir. Benzer sonuçlar, nesnenin - A noktasından ayrılıp G noktasına vardığı ve beklediği, - G noktasından ayrılıp C noktasına vardığı ve beklediği, zaman dilimlerinde de gözlemlenebilir. Sonuç olarak “PI-4x” hız denetimli sistem, hareketli nesneyi tekrar görüntü merkezi sınırına, tepki gecikmeleri olmaksızın almayı başarmıştır. 119 4.2. Model-Tabanlı Tasarımın Mekatronik Tasarım Süreçlerine Katkısı Tezin konusu olan mekatronik sistemin tasarımları model-tabanlı tasarım yaklaşımı ile gerçekleştirilmiştir. Bu başlıkta ise, model-tabanlı tasarımın geleneksel tasarım süreçlerine katkıları tartışılmıştır. Yapılan anket araştırmalarında (Anonim 2008), mekatronik ürün geliştiren kurumların karşılaştığı önemli zorluklar genel hatları ile iki ana yetersizliğe işaret etmektedir: - Farklı mühendislik disiplinlerinin, tek bir mekatronik ürün geliştirme sürecine dahil edilmesindeki zorluk, - erken aşamalarda testlerin gerçekleştirilememesi. Ayrıca, ileri aşamalarda farkedilen hatalar, erken aşamalarda farkedilenlere göre çok daha fazla maliyet kayıplarına neden olmaktadır. Đlk prototipin elde edildiği aşama, hataların telafisi için en yüksek maliyetli aşamadır. Bütün bunlar göz önünde bulundurularak, bu tez çalışması sonunda, model-tabanlı tasarım aşağıdaki artıları sağladığı sonucuna varılmıştır: - Gerçek fiziksel prototiplerle çalışmadan önce, benzetim çalışmalarının tasarımları doğruladığı, - tasarımın erken aşamalarında modellenen sistemin davranışlarının, gereksinimlere uygunluğunun benzetimlerle sınanabildiğinin, - otomatik kod dönüşümünün, elle kodlamanın yerini aldığı ve kodlama hatalarının ortadan kaldırıldığı, - hızlı denetim prototipleme ile farklı tasarım düşüncelerinin hızlıca gerçek donanım üzerinde test edilebildiği, sonucuna varılmıştır ve farklı hedef donanımlara uygulanabilen doğrulanmış bir model elde edilmiştir. 120 4.3. Đleriye Dönük Çalışmalar Bu tez kapsamında geliştirilen mekatronik sistem üzerinde ileride aşağıdaki çalışmalar ilave edilebilir. - Nesne takip sistemi sadece tek eksenli takip (yatay eksende dönme hareketi) yapabilmektedir. Dikey yönde dönme serbestliği ilave edilerek iki eksenli takip gerçekleştirilebilir. - Sadece belirli bir renge ve alana sahip nesneler değil; daha gelişmiş video işleme algoritmaları ile araç, insan vs. gibi daha karmaşık nesnelerin takibi sağlanabilir. - Sistem, bir hızlı prototipleme ortamında gerçekleştirmek yerine, bir son ürün işlemcisi (mikrodenetleyici birimleri vs. gibi) üzerinde gerçekleştirilerek tek başına sistem haline getirilebilir. 121 5. SONUÇ Bu tez çalışması kapsamında, bir mekatronik sistem tasarımının tüm süreçlerini içeren bir örnek uygulama tasarlanmış ve gerçekleştirilmiştir. Bu örnek uygulama “nesne takip sistemi” olarak isimlendirilmiştir. Nesne takip sistemi, yatay düzlemde dönme hareketi yapabilen ve hareketli/durgun bir nesnenin takibini gerçekleştirebilen bir hareketli- kameradır. Belirli bir renge ve alana sahip bir nesneyi görüntü içerisinde algılayabilen, nesnenin merkezi ile görüntü merkezini eşleştirecek şekilde yatay kamera konumunu güncelleyebilen servo sistemdir. Çalışma süresince aşağıdaki bulgulara ve sonuçlara varılmıştır: - Nesne algılama ve nesne merkezinin hesaplanılması işlemleri için alınan görüntüye sırası ile eşik değerleme, bağlı bileşenlerin etiketlendirilmesi ve blob analizi yöntemeri uygulanmıştır. Görüntü içerisinde belirli bir renge ve sınırlı bir alana sahip nesnenin algılanması ve bu nesneye ilişkin unsurların (ağırlık merkezi, alan vs.) hesaplanmasında başarılı olduğu sonucuna varılmıştır. - Denetlenen sistemin (elektromekanik altsistem) sahip olduğu belirsiz parametreler parametre kestirim yöntemleri ile hesaplanmış ve doğrulanmıştır. Elektromekanik altsisteme ilişkin eşdeğer eylemsizlik (7:;) ve viskoz sürtünme (6:;) sabitleri ve sürtünme torku (<) parametre kestirimi yöntemleri ile hesaplanmıştır. Benzetim modelleri ve deneysel sonuçlar karşılaştırılarak hesaplanan bu parametrelerin güvenilir olduğu sonucuna varılmıştır. - Elektromekanik altsistemin modeli Ω !/ A ! ikinci mertebeden bir transfer fonksiyonu iken, - ≅ 0 kabulu ile birinci mertebeden bir fonksiyona indirgenmiştir. Sadeleştirilmiş model ile yapılan karşılaştırmalarda, - sıfıra çok yakın olduğu için, sistemin dinamiğine neredeyse hiç bir etkisi olmadığı sonucuna varılmıştır. Bu sadeleştirme, denetim sistemi tasarımını oldukça kolaylaştırmıştır. 122 - Denetim tasarımı aşamasında fiziksel prototipler kullanmak yerine sistemin benzetim modelleri kullanılmıştır. Bu sayede, o farklı denetleyici algoritmaları hızlıca sınanabilmiş ve denetim sistemi tasarımı hızlıca tamamlanabilmiştir, o uygun olmayan denetim stratejileri ve hatalar erken aşamalarda farkedilmiş ve düzeltilmiştir. - Tasarlanan farklı denetleyici algoritmaları hızlı prototipleme ile gerçek zamanlı olarak test edilmiş, model ve deney sonuçları karşılaştırılmış ve modellerin tutarlılığı doğrulanmıştır. xPC Target gibi gerçek zamanlı test ortamlarının, kavram aşamasındaki fikirlerin hızlıca test edilmesine olanak sağladığı sonucuna varılmıştır. - Hareket altsistemi, sürtünme torkunun (<) dönüş yönüne bağlı olması ve denetleyici çıkışının N1 W  ! W Q1 arasında sınırlı olması nedeniyle doğrusal değildir. Doğrusal olmayan ve doğrusallaştırılmış denetim sistemi modellerine ilişkin sistem yanıtları, göz ardı edilemeyecek kadar birbirinden farklı olduğu sonucu elde edilmiştir. - Kök-yer eğrileri, frekans yanıtı vs. gibi klasik denetim kuramına ilişkin yöntemler tamamen doğrusal ve zamanla değişmeyen (LTI) sistemlere uygulanabildiğinden, denetim sisteminin tasarımında doğrusal modellerden, analizinde ise doğrusal olmayan modellerden faydalanılmıştır. Denetleyici tasarımında sadece doğrusal modellerin kullanımının yetersiz kaldığı sonucuna varılmıştır. - Hız denetiminde P algoritmasının kalıcı durum hatasını gideremediği benzetim aşamasında farkedilmiştir. Benzetim çalışmaları PI algoritmasının kalıcı durum hatasını tamamen giderdiğini göstermiştir, fakat düşük kazançlı PI yapılanmasında, sürtünme torkundan kaynaklanan tepki gecikmeleri meydana gelmiştir. PI denetleyicinin kazancı yükseltilerek bu tepki gecikmeleri tamamen giderilebileceği sonucu elde edilmiştir. - Hız denetiminde deneysel çalışmalar sonucunda, PI denetimli denetim sisteminin, artan sistem kazancı ile birlikte yanıt hızının da arttığını, fakat belirli bir kazançtan sonra sistemin kararsızlaştığı sonucuna varılmıştır. 123 - Çalışmada kullanılan DC motor bir hız algılayıcısına sahip olmadığı için, motorun hızı konum verilerinden hesaplanılmıştır. Hızın hesaplanması için “frekans ölçümü yöntemi” tercih edilmiştir. Yapılan deneysel çalışmalarda, hız ölçümünde karşılaşılan niceleme (quantisation) hatalarının (Δ), gözlem- zamanı dilimine () bağlı olduğu (Δ = ty, z) görülmüştür. Farklı  değerleri için hız ölçümü deneylerinin sonuçları karşılaştırıldığında, çalışmada kullanılan motor için en uygun gözlem-zaman diliminin  = 6 kadar olması sonucuna varılmıştır. - Nesne takip sisteminin nesne takibi testlerinde, göreceli olarak düşük kazançlı hız denetimi yapılanmasında (“PI-1x”), sistemde tepki gecikmelerinin meydana geldiği sonucuna varılmıştır. Daha yüksek kazançlı “PI-4x” hız denetleyici ile tepki gecikmeleri olmaksızın takip edilebildiği sonucuna varılmıştır. - Farklı mühendislik disiplinlerinin (makine, elektronik, kontrol ve bilgi teknolojileri) model-tabanlı tasarım ile mekatronik ürün geliştirme süreçlerine kolayca dahil edilebileceği sonucuna varılmıştır. Tez çalışması için tasarlanan bu mekatronik sistemin tasarımında, model-tabanlı tasarımın unsurlarından olabildiğince faydalanılmıştır ve model-tabanlı tasarım mekatronik sistem tasarımına olan katkıları ortaya konmuştur. 124 KAYNAKLAR Anonim, 2010. The Autonomous Vehicle. http://www.visiononline.org/vision- resources-details.cfm?content_id=2364 – (Erişim tarihi: 20 Şubat 2012) Anonim 2006. Humusoft MF 624 User’s Manual. Çek Cumhuriyeti Anonim 2007. Humusoft Data Acquisition Library Reference Manual. Çek Cumhuriyeti Anonim 2008. System Design: New Product Development for Mechatronics. http://www.aberdeen.com/Aberdeen-Library/4576/RA-product-development- mechatronics.aspx – (Erişim tarihi: 04 Temmuz 2012) Abourida, S. Belanger J. 2009. Real-Time Platform for the Control Protyping and Simulation of Power Electronics and Motor Drives. Third International Conference on Modeling, Simulation and Applied Optimization, 20-22 Ocak 2009, Sharjah Bishop, R. H. 2007. The Mechatronics Handbook. USA Briz, F. Cancelas, J. A. Diez A. 1994. Speed Measurement Using Rotary Encoders for High Performance AC Drives. 20th International Conference on Industrial Electronics, Control and Instrumentation, 1994, Đspanya Chaumette, F., Hutchinson S. 2006. Visual Servo Control Part 1: Basic Approaches. IEEE Robotics & Automation Magazine, 1070: 82-90 Ding, W. Gong Z., Xie, S., Zou, H. 2006. Real-time Vision-based Object Tracking from a Moving Platform in the Air. International Conference on Intelligent Robots and Systems, 9-15 Ekim 2006, Beijing Çin Halk Cumhuriyeti Gasperi, M., Hurbain, P., Hurbain I.. 2007. Extreme NXT. USA, 295 s. Hardin, W. 2008. Machine Vision Brings Advanced Medical Technology to Life. http://www.visiononline.org/vision-resources-details.cfm?content_id=1131 – (Erişim tarihi: 20 Şubat 2012) Kellett, P. 2006. Machine Vision in the Automotive Industry. http://www.visiononline.org/vision-resources-details.cfm?content_id=1175 – (Erişim tarihi: 20 Şubat 2012) Kim, S. Lee, D. Kim, H. J. 2011. Image Based Visual Servoing for an Autonomous Quadrotor with Adaptive Backstepping Control. International Conference on Control, Automation and Systems. 26-29 Ekim 2011, Kore. 125 Lang, H., Wang, Y. Silva, C. W. 2010. Vision Based Object Identification and Tracking for Mobile Robot Visual Servo Control. 8th International Conference on Control and Automation, 9-11 Haziran 2010, Xiamen Çin Halk Cumhuriyeti Loh, R. N. K., Pornthanomwong, T., Pyko J. S., Lee, A., Karsiti M. N. 2007. Modeling, Parameters Identification, and Control of an Electronic Throttle Control (ETC) System. International Conference on Intelligent and Advanced Systems. 25-28 Kasım 2007, Kuala Lumpur Malezya Mosterman, P. J. 2005. Embedded Real-Time Control via MATLAB, Simulink, and xPC Target: Networked and Embedded Control Systems, Hristu-Varsakelis, D., Levine, W. S.. Boston, 419-446. Oherek, M., Robl, C. 2001. Model-Based Design of an ECU with Data- and Event- Driven Parts Using Auto Code Generation. International Conference on Robotics & Automation, 21-26 Mayıs 2001, Seoul Kore. Oherek, M., Robl, C. 2002. Model Based Design in the Development of Thermodynamic Systems and their Electronic Control Units. IEEE International Conference on Control Applications, 18-20 Eylül 2001, Glasgow Petrella, R. Tursini, M. Peretti, L. Zigliotto, M. 2007. Speed Measurement Algorithms for Low-Resolution Incremental Encoder Equipped Drives: A Comparative Analysis. International Aegean Conference on Electrical Machines and Power Electronics, 2006 Shapiro, L. 2000. Computer Vision, USA, 617 s. Yamamoto, Y. 2009. NXTway-GS Model-Based Design. Applied Systems First Division, Cybernet Systems Co., Japonya Yüksel, Đ. 2011. Otomatik Kontrol. Nobel Yayın Dağıtım, Ankara 126 ÖZGEÇMĐŞ Adı Soyadı : : Ahmet Demirkesen Doğum Yeri ve Tarihi : Đskenderun – 09.11.1983 Yabancı Dili : Đngilizce Eğitim Durumu Lise : Süleyman Çelebi Lisesi (Y.D.A.) - 1998-2002 Lisans : Sakarya Üniversitesi Mühendislik Fakültesi Makine Mühendisliği Bölümü – 2003-2008 Yüksek Lisans : Uludağ Üniverstesi Fen Bilimleri Enstitüsü Makine Mühendisliği Anabilim Dalı – 2009-2012 Đletişim (e-posta) : ahmetdksn@live.com 127