Kablosuz Veri İle Haberleşerek Görev Paylaşımı Yapan Çoklu Robot Uygulaması Özet Bilim alanındaki teknolojik gelişmeler özellikle son yıllarda büyük ilerleme kaydetmiştir. Bu ilerleme daha çok robotik alanında ve insan hayatını kolaylaştıran robotların üzerinde yoğunlaşmıştır. Bu çalışmada görev paylaşımı yapan iki robot üzerinde durulmuştur. Usta ve Çırak olmak üzere iki robot bulunmaktadır. Bu iki robot RF ile kablosuz olarak haberleşmektedir. Usta robottan alınan veriye göre Çırak robot çalışmakta ve iş paylaşımı yaparak bir görev yapılmaktadır. Çalışmalar 8x8 matris şeklinde bir pist üzerinde yapılmıştır. Anahtar kelimeler: Sürü Robot, Kablosuz haberleşme, Görev paylaşımı 1. Giriş Doğada sürü halinde yaşayan canlıların ilginç özellikleri bilim dünyasını uzun yıllardır etkilemektedir. Görece basit canlıların birleşerek oluşturdukları canlı sürülerinin çok gelişmiş davranışlar sergileyebilmeleri ortak bir sürü zekâsının varoluşunun ve bu zeka ile çok karmaşık işlerin yapılabileceğinin bir göstergesidir. Doğadaki karınca kolonileri buna gösterilebilecek en önemli örneklerden birisidir. Sürü halinde yaşayan canlıların davranışlarının modellenerek günlük hayatta kullanılabilmeleri birçok alanda çok verimli sonuçlar ortaya çıkarabilir. Bu sebeple sürü davranışlarının anlaşılması, modellenmesi ve yapay olarak taklit edilebilmesi için yıllardır yoğun çalışmalar gerçekleştirilmektedir. Bilim insanlarının oldukça ilgisini çeken bu potansiyel çok erkinli robot sistemleri adlı araştırma 1 alanını ortaya çıkarmış ve son yıllarda bu alana olan ilgi nedeniyle önemli ve popüler bir araştırma konusu haline gelmiştir. Kontrol kuramı, elektronik, elektromekanik sistemler ve iletişim/ağ teknolojilerindeki son gelişmeler işbirliği halinde çalışan büyük robot gruplarının (sürü robotlar) geliştirilip uygulanabilmelerini mümkün kılmıştır. Göreceli olarak basit robotların toplu halde kullanılması, tek ve gelişmiş bir robotun kullanımına göre çeşitli avantajlara sahiptir. Bu avantajlara örnek olarak hatalara karşı gürbüzlük (bir ya da daha fazla robot kaybedilse bile grubun hala istenilen görevi yerine getirebilmesi), esneklik (grubun kendisini değişen görev şartlarına göre tekrar adapte edebilmesi), ölçeklenebilirlik (amaca göre farklı sayıda robotun görevlendirilebilmesi) ve maliyet (basit tasarıma sahip robotların karmaşık bir robota göre çok daha ucuza imal edilebilmesi) verilebilir. Günümüzde robotlar insan hayatı için vazgeçilmez birer obje olmuştur. Robotlar insan hayatını kolaylaştırmada, eşya taşımada, maliyeti azaltmada, insanın yapması olanaksız olan tehlikeli işleri vs. yapmada kullanılmaktadır. Robotlarında yapamadığı güçlerinin yetmediği işler olduğu bilinmektedir. Bir robot yapamadığı, gücünün yetmediği bir işte başka bir robotu çağırarak işlem yapabilir. Görev paylaşımı yapan çoklu robotlar verilen görevlerden başarısız olmadan birbirleriyle insan misali yardımlaşarak görevlerini tamamlamaktadır. Bu projede biri usta diğeri çırak olmak üzere iki adet robot tasarlanmıştır. Usta robot, kullanıcı ara yüzünden seçilen koordinatlardaki kutuları pist dışına itmek için görevlendirilir. Usta robot gücünün yetmediği ağır kutuyu pist dışına itemediği zaman bulunduğu koordinatı çırak robota gönderir ve bu iki robot yardımlaşarak ağır kutuyu pist dışına iterler ve görev tamamlanır. Bu görev tamamlandığında çırak robot başlangıç noktasına geri döner. Usta robot ise kullanıcı ara yüzünden belirlenen tüm koordinatlardaki kutuları pist dışına itmediyse kalan kutuları pist dışına iter. Eğer usta robotun pist dışına iteceği başka kutu kalmadıysa başlangıç noktasına döner ve yeni görev için hazırda bekler. Çok robotlu sistemlerin koordinasyon ve kontrolü üzerine son yıllarda yoğun kuramsal çalışmalar yapılırken, deneysel ve pratik çalışmalar nispeten daha az yoğunlukta kalmıştır. Kuramsal çalışmalarda çoğu zaman belirli varsayımlar üzerinden sonuçlar elde edilmektedir. Fakat uygulama (gerçekleme) deneysel çalışmalarında çoğu zaman araştırmacılar laboratuvarlarında var olan robotların özellikleri ile sınırlı kalmak durumundadır ve çoğu zaman bu özellikler kavramsal çalışmalardaki “ideal” koşullardan farklıdır. Bu açıdan 2 deneysel uygulamalı çalışmalar teorik çalışmalardan farklı zorluklar içermektedir. Bu nedenlerle pratik robot uygulamalarındaki çalışmalara daha fazla önem verilmeli ve teori ile pratik arasındaki boşluklar doldurulmalıdır. Son yıllardaki teknolojik gelişmeler, endüstride insanın iş yükünü hafifletmek ve insan yerine robotların kullanılması üzerine büyük AR-GE faaliyetleri yürütülmüştür. Bunun bir çok nedeni vardır. Endüstride ağır işlerde ve insanın girmesi tehlikeli olan işlerde robotlar insanın görevini rahatça üstlenip insanın yapamadığı işleri kolay bir biçimde yerine getirebilirler. Robotlarında başarısız olduğu güçlerinin yetmediği durumlarda kullanıcı tarafından verilen görevin olumsuz sonuçlanmaması için akıllı robot uygulamaları büyük bir hızla gelişmektedir. Akıllı robot uygulamalarında amaç endüstride insanın yerini almak, insandan daha hızlı daha verimli, daha düşük oranda hata ile çalışıp işletmede zamandan ve maliyetten önemli kazanç sağlamaktır. 2. KULLANILAN MATARYELER 2.1. Mikro denetleyici Mikro denetleyici olarak üzerinde Atmel serilerinden 8 bitlik Atmega328P-PU işlemcisi bulunan Arduino UNO platformu kullanılmıştır. Arduino UNO Şekil 2.1 de verilmektedir. Arduino, temel olarak açık kaynaklı donanıma dayalı bir fiziksel programlama platformudur. Bu sayede gömülü sistemlerden biri olarak tabir edilen mikroişlemciler programlanabilir. Projede kullanılan Arduino UNO platformunun teknik özellikleri Tablo 2.1 de gösterilmiştir. Şekil 2.1: Kullanılan Arduino UNO Platformu 3 Arduino UNO Atmel ATmega328P-PU Mikro denetleyici 5V Çalışma Voltajı 7-12V Giriş Gerilimi 14 (6 PWM) Dijital Giriş/Çıkış Pin Sayısı 6 Analog Giriş Pin Sayısı 40mA DC Giriş/Çıkış Akımı 16 KB (ATmega328P-PU) Flash Memory 2 KB (ATmega328P-PU) SRAM 1 KB (ATmega328P-PU) EEPROM 16 MHz Osilatör Tablo 2.1: Kullanılan Arduino UNO Platformunun Genel Özellikleri 2.2. Radyo-Frekans (RF) Haberleşme İletişim çoklu robot sistemlerinde önemli bir role sahiptir. Sisteme iletişimin eklenmesi robotlar arasındaki işbirliğini kolaylaştırabilir ve sistemin performansını önemli ölçüde arttırabilir. Günümüzde veri haberleşmesi kablolu veya kablosuz olmak üzere iki farklı şekilde yapılmaktadır. Kablosuz haberleşme, genellikle kablolama yapmanın mümkün olamadığı uygulamalarda veya uzak mesafelerde veri haberleşmesi gerektiğinde tercih edilmektedir. Kablosuz haberleşme sistemleri, kullandıkları sinyal türüne göre kızılötesi (IR) ve radyo-frekans (RF) olmak üzere 2’ye ayrılır. Her iki şekilde de kablosuz iletişim mümkün olduğu halde IR ve RF arasında önemli farklılıklar vardır. Örneğin, kızılötesi sinyalle veri iletimi için mutlaka alıcı ile vericinin birbirini görmesi gerekirken RF iletişimde böyle bir sınırlama söz konusu değildir. Projede Şekil 2.2 de gösterilen RF alıcı ve verici kullanılmıştır. Projede kullanılan RF alıcı ve vericinin teknik özellikleri Tablo 2.2 de gösterilmiştir. Şekil 2.2: RF Alıcı ve Verici 4 RF Alıcı ve RF verici 25x19x7 mm RF alıcının Boyutları 30x20x8 mm RF vericinin Boyutları 5V DC Çalışma Voltajı 10mA Besleme Akımı: Açık havada 20 m RF alıcı ve RF vericinin menzili 433 MHz Alıcı Frekansı 433 MHz Verici Frekansı Tablo 2.2: RF Alıcı ve RF Verici Teknik Özellikleri 2.3. QTR8-A Çizgi Sensörü Çizgi izleyen robotlar için tasarlanmış olan bu sensör kartı 1cm arayla yerleştirilmiş 8 IR LED/fototransistör çifti barındırmaktadır. Stabil ve sorunsuz çalıştığı için tercih edilmektedir. LED çiftlerinin her biri ayrı birer MOSFET transistörle sürülmektedir ve ek hassasiyet ya da güç tasarrufu için LED'ler kapatılabilir. Kart üzerindeki her sensör ayrı bir analog voltaj çıkışı sağlar. Her bir sensöre bir pull-up direnci bağlanmıştır. Zeminin ışığı yansıtması veya cisimle olan mesafesine göre gerilim çıkışı analog olarak değişir. Yansıma arttıkça çıkış voltajı da yükselir. Şekil 2.3.1 te projede kullanılan sensör gösterilmiştir. Şekil 2.3.2 de sensörün iç yapısı gösterilmiştir. Tablo 2.3 te QTR8-A sensörünün teknik özellikleri verilmiştir. Şekil 2.3.1: OTR8-RA Çizgi Sensörü 5 Şekil 2.3.2: QTR8-A Sensörünün İç Yapısı QTR8-A Çizgi Sensörü 75x13x3 mm Boyutlar 3.3-5 Volt Çalışma Voltajı 100 mA Çektiği Akım 8 analog voltaj Çıkış Formatı 0V-Besleme Voltajı Değeri Çıkış Voltaj Aralığı 3 mm İdeal Algılama Mesafesi 6 mm Maksimum Algılama Mesafesi 3.09 gram Ağırlık Tablo 2.3: OTR8-A Çizgi Sensörü Teknik Özellikleri QTR8-A Sensör kartını bir kaç farklı şekilde çalıştırabilir. Bir mikro denetleyicinin analog giriş pinlerine bağlayarak ADC(Analog Dijital Çevirici) işlemine tabi tutabilir. Eşik değeri ayarlanabilir bir karşılaştırıcı kullanılarak gelen analog voltajı dijitale çevirerek işlemler yaptırılabilir. Her çıkışı mikro denetleyicinin I/O pinlerine bağlanarak mikro denetleyici içindeki karşılaştırıcı kullanılarak okuma yapılabilir. (Bu yöntemle yüksek yansıma olan ortamlarda daha iyi sonuç alınır.) 6 QTR8-A sensörü 8 sensörün tamamını kullanmak istenilmeyen durumlarda sensör, 6+2 şeklinde tasarlandığı için iki parçaya bölünebilir, 6 lı ve 2 li olmak üzere iki ayrı sensör kartı haline getirilebilir. Şekil 2.3.3 te bu durum gösterilmiştir. Şekil 2.3.3: QTR8-A Sensörünün 6+2 Şekline Getirilmesi 2.4. Kullanılan DC motorlar Projede çalışma gerilimi 6 Volt olan plastik redüktörlü motorlar kullanılmıştır. Redüktörün dişli oranı 114.7/1 oranında yapılmıştır. Şekil 2.4 te redüktörlerin bağlantıları gösterilmiştir. Şekil 2.4: Plastik Dişli Bağlantı Şeması 7 2.5. Motor Sürücü (L293D) DC motorların hızını ve yönünü kontrol etmek için kullanılan en yaygın entegrelerden bir tanesidir. İçyapısında transistörler ile oluşturulmuş iki adet H köprü vardır ve bu transistörler tetiklenerek DC motorlar kontrol edilir. Şekil 2.5 te entegrenin resmi gösterilmiştir. Bu entegre ile 2 adet DC motor kontrol edilebilir. Entegrenin teknik özellikleri Tablo 2.5 te gösterilmiştir. Projede toplamda 4 adet dc motor kullanıldığından iki adet motor sürücü (L293D) entegresi kullanılmıştır. Şekil 2.5.1: Motor Sürücü L293D Şekil 2.5.2: L293D Elektriksel İçyapısı 8 Giriş Gecikmesi Çıkış Gecikmesi Çalışma Voltaj Aralığı Çalışma Sıcaklık Aralığı Maksimum Çıkış Akımı Giriş(input) sayısı Çıkış(Output) sayısı Motor Sürücü (L293D) 800 ns 400 ns 4.5V-36V 0°C-70°C 1.2A 4 4 Tablo 2.5: Motor sürücü(L293D) Teknik Özellikleri 2.6. Li-Po Batarya Lityum polimer piller (Li-Po) Lityum Ion pillerin ileri teknolojisidir. Li-Po piller birçok elektronik aletin çağ atlamasını sağlamıştır. Kimyasal yapısı sayesinde kapladığı alan küçülmüş, verdiği güç artmıştır. Ayrıca kullanırken dikkat edilmesi gerekmektedir. Li-Po piller havayla temasa geçtiğinde patlamaktadırlar. Sistemde kullanılan Li-Po batarya Şekil 2.6 da gösterilmiştir. Kullanılan bataryanın genel özellikleri Tablo 2.6 da gösterilmiştir. Şekil 2.6: Robotlarda kullanılan Li-Po batarya 9 Li-Po Batarya Giriş Voltajı 7.4V Kapasite 1350mAh Çalışma Sıcaklığı 25C Hücre Sayısı 2 Ağırlık 69 gr Boyutları 103 x 34 x 15 mm Tablo 2.6: Robotlar da Kullanılan Li-Po Bataryanın Genel Özellikleri 3. Metotlar 3.1.Sistemin Genel Blok Diyagramı Sitemin genel blok diyagramı Şekil 3.1 de verilmektedir. Şekil 3.1: Sistemin Blok Diyagramı 10 3.2. Radyo-Frekans (RF) Haberleşme Protokolü RF verici 433 MHz de, alıcısı ile kablosuz olarak haberleşip bilgi gönderilmesini sağlamaktadır. Düşük maliyeti ve kolay kullanımı sayesinde birçok kablosuz haberleşmede kullanılır. RF haberleşme de kullanılan RF alıcı ve RF vericinin veri göndermesi için aynı frekansta olmaları gerekir. Yapılan yazılımda RF vericiden gönderilen verilerin kaybolmaması veya farklı RF alıcılara ulaşmaması için şifreleme yöntemi kullanılmıştır. 3.3. Oransal (P) Kontrol Kontrol sistemlerinde en çok kullanılan PID parametrelerinden bir tanesi oransal (P) kontroldür. Hata miktarına ve Kp katsayısına bağlı olarak oransal kontrol, denetleyici çıkışını üretir. Sistemin statik doğruluğunu ve dinamik cevabını artırır. Hatanın ve oransal kontrol katsayısının doğrudan fonksiyonudur. 4. Deneysel Çalışmalar 4.1. Deney Alanı Yapılan çalışmaları test etmek amacıyla Şekil 4.1 de görüldüğü gibi 8x8 kare matris şeklinde bir pist hazırlanmıştır. Pist üzerinde iki robot görev paylaşımı yapacaklardır. Bu görev pist üzerindeki 3 adet kutuyu itme şeklinde olacaktır. Kutulardan iki tanesi aynı ağırlıkta, üçüncü kutu ise daha ağır olacaktır. Usta robot ara yüz programından seçilen kutulardan iki tanesini ittikten sonra üçüncü kutuyu itemediğinde Çırak robotu çağıracak ve Çırak robot ile birlikte ağır kutuyu iteceklerdir. Görevler tamamlandığında robotlar başlangıç konumlarına geri gelecekler ve yeni görev için bekleyeceklerdir. Ayrıca Şekil 4.2 de görülen iki adet robot tasarımı yapılmıştır. 11 Şekil 4.1: Hazırlanan Test Alanı Şekil 4.2: Tasarlanan Robotlar 4.2. Tasarlanan Ara yüz Kutular Şekil 4.2 de görüldüğü gibi bir ara yüz programından seçilmektedir. Burada ekle butonuna basıldığında maksimum üç adet kutu seçilmekte ve bunun akabinde veri gönder butonuna basılarak seri haberleşme ile veriler gönderilmektedir. Ayarla butonu ile seri port numarası ve hızı değiştirilebilir. 12 Şekil 4.2: Tasarlanan Ara Yüz 4.3. PC’ den RF ile veri göndermek için tasarlanan kart Ara yüzden kutular seçilip veri gönder butonuna basıldığında PC’den alınan verileri göndermek için Arduino kart üzerine RF alıcı-verici devresi yapılmıştır. Bu veriler RF ile kablosuz olarak usta robota gönderilmektedir. Şekil 4.3 te kartın resmi gösterilmiştir. Şekil 4.3: PC’den RF İle Veri Göndermek İçin Tasarlanan Kart 13 5. Sonuçlar ve Değerlendirme Bu çalışmada görev paylaşımı yapan ve birbirleriyle yardımlaşarak bir görevi tamamlayan robotlar üzerine çalışılmıştır. Görev koordinatları ara yüz programından verilmekte ve RF ile Usta robot tarafından işlenip yerine getirilmektedir. Usta robot verilen görevi yerine getiremediği zaman RF ile Çırak Robotu çağırmakta ve bu iki robot yardımlaşarak görevi tamamlamaktadır. Bu çalışma sonucunda ara yüz programından seçilen koordinatlardaki kutular Usta robot tarafından pist dışına itilmiştir ve Usta robotun tek başına itemediği kutular Çırak robotunda yardımıyla pist dışına itilmiştir. Çalışma sonucunda istenilen amaca ulaşılmıştır. Robotlara verilen görevler başarıyla gerçekleştirilmiştir. Kaynaklar: 1. Brian P. Gerkey, Richard T. Vaughan, Andrew Howard -Tools for Multi-Robot and Distributed Sensor Systems, Coimbra, Portugal, June 30 - July 3, 2003. 2. Ross A. Knepper, Todd Layton, John Romanishin, and Daniela Rus- An Autonomous Multi-Robot Coordinated Furniture Assembly System, Karlsruhe, Germany, May 2013 3. Ali E. Turgut1, Fatih Gökçe2, Hande Çelikkanat1, Levent Bayındır1, Erol Şahin1Sürü robot çalışmaları için tasarlanmış gezgin robot platformu, 1KOVAN Araştırma Laboratuvarı, Bilgisayar Mühendisliği Bölümü Orta Doğu Teknik Üniversitesi, Ankara, Türkiye, 2Makina Mühendisliği Bölümü, Süleyman Demirel Üniversitesi, Isparta, Türkiye, Kasım 2007 4. Rodney A. BROOKS, A Robust Layered Control Syste For A Mobile Robot, MARCH 1986 5. Mobile Robot Localization by Tracking Geometric Beacons, John J. Leonard and Hugh F. Durrant-Whyte, JUNE 1991 14 Ekler 1. Maliyet analizi 2. Kaynak kod 3. Çalışma takvimi 15 1. Maliyet Analizi Malzeme adı Adet Arduino UNO 3 74.53 TL RF alıcı-verici 3 43.08 TL DC motor (çift) 2 61.4 TL QTR8-A 2 69.62 TL Li-Po pil 2 64.9 TL Pist 1 25 TL Tekerlek 4 25,48 TL Plexiglass (kesimi dahil) 60 cm2 Fiyatı 50 TL Motor sürücü (L293D) 2 10.2 TL Arduino prototip shield 2 39.16 TL Pist malzemeleri (Toplam) 1 145 TL Toplam 608,37 TL Tablo 1: Maliyet analizi tablosu 16
© Copyright 2024 Paperzz