to Download the Article(pdf).

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