5. Uluslararası İleri Teknolojiler Sempozyumu (IATS 09), 13-15 Mayıs 2009, Karabük, Türkiye SERVİS ROBOTU TASARIM VE YAPIMI DESIGN AND MANUFACTURING OF SERVICE ROBOT Abdülkadir Çakır a * Onur Bulut b ve Salim Yılmaz c a * Süleyman Demirel Üniversitesi, Tek. Eğt. Fak., Elektr.-Bilg.Eğt. Bl., Isparta, Türkiye, E-posta: cakir@tef.sdu.edu.tr b Hisar İ.O. (MEB), Hayrabolu/Tekirdağ, Türkiye, E-posta: onurbul@gmail.com c 75. Yıl Anadolu Meslek, Teknik ve End. Mes. Lisesi. (MEB), Aksaray, Türkiye, E-posta: salimyilmazsdu@gmail.com Özet Bu çalışmada, uzaktan kumandalı servis robotu tasarlanmış ve Sistem dört bölümden oluşmaktadır. Birinci bölüm üç ayrı anahtardan oluşan verici kumanda devresi, ikinci bölüm uzaktan kumanda alıcı devresi, üçüncü bölüm PIC (mikrodenetleyici) ile çalışan veri sıralayıcı devre, dördüncü bölüm ise motor kontrol devresinden oluşmaktadır. PIC in yazılımı JAL programı kullanılarak Çalışmada tasarlanan sistemin birinci bölümü odaları temsil eden anahtarlıklardan oluşmakta olup ARX 34 RF verici modülü ile kontrol edilmektedir. Bu anahtarlara basıldığı anda analog olarak oda numarası gönderilmektedir. Çalışmada tasarlanan sistemin ikinci bölümü, gelen oda numaralarını dijital bilgiye dönüştüren üniteden oluşmakta olup ARX 34 RF alıcı modülü ile kontrol edilmektedir. Çalışmada tasarlanan sistemin üçüncü bölümü PIC 16F84 ile yapılmış bir geçici hafıza ünitesinden oluşmaktadır. Alıcıdan aktarılan oda numaraları burada istek sırasına göre sıralanmaktadır. Çalışmada tasarlanan sistemin dördüncü bölümü robotun odalara gitmesini sağlayan motor kontrol devresinden oluşmaktadır. Motorun tur kontrolü CNY70 renk sensörü ile yapılmıştır. İleri geri hareketi ULN2003 entegresi ile Anahtar kelimeler: Servis Robotu, RF Alıcı/Verici, Renk Sensörü. Abstract In this project, an intelligent remote controlled room service was designed. The project consists of four divisions. First one is a transmitter control circuit which consists of three different switches, the second one is remote control receiver circuit, the next one is a data sequencing circuit working with PIC, and the last division is a motor control circuit. The JAL program was used in order to control the division with PIC. The first stage of the system which was designed in the project consists of the controls representing the rooms. It is controlled by an ARX-34 RF transmitter modulator. When pressed on the buttons in these controls, the room number is sent as analog data. The second stage of the system which was designed in the project consists of the division which turns the analog room numbers into digital data. It is controlled by an ARX-34 RF transmitter modulator and supported by a PIC 16F84. The analog data sent by the transmitter is turned into digital data. The third stage of the system which was designed in the project consists of a temporary memory which was constructed with a PIC 16F84. The room numbers transmitted by the transmitter are sequenced according to the request order. The fourth stage of the system which was designed in the project consists of the motor control circuit which makes the robot go to the rooms. The revolution of the motor is provided by the CNY70 color sensor. The movement in the longitudinal axis is implemented by ULN2003 integrated circuit. Keywords: Service Robot, RF Receiver/Transmitter, Color Sensor. 1. Giriş Robot; ortamdan topladığı verileri kendi dünyası hakkında sahip olduğu bilgiyle sentezleyerek, anlamlı ve amaçlarına yönelik bir şekilde hareket edebilen ve bunu güvenli bir biçimde yapabilen bir makinedir. Robotları, mobil ve mobil olmayan robotlar şeklinde iki kısımda incelemek mümkündür. Bir robotun ulaşabileceği maksimum noktalar kümesinden oluşan yüzeyin hacmine çalışma hacmi denir. Eğer bir robotun çalışma hacmi bir referans koordinat sistemine göre yer değiştirmiyorsa bu robota mobil olmayan robot, yer değiştiriyorsa bu robota mobil robot denilebilir [1]. Robotta algılama mekanizmaları kullanmak robotun çevresiyle esnek bir tarzda etkileşmesine izin verir. Bu mekanizmaları kullanan sistemler, tekrarlı görevleri bir dizi programlanmış fonksiyon yoluyla yapan sistemlere zıt sistemlerdir. Bir robot bir yerden diğer bir yere başarılı bir şekilde yol alabilmek için etrafındaki engeller hakkında bir takım bilgileri edinmek zorundadır. Bu bilgiler uygun sensörlerin yardımıyla elde edilebilir. Gerçek zamanlı engelden sakınma, özellikle mobil robot sistemlerinin başarılı uygulamaları için anahtar rol oynar. Tüm mobil robotlar, engelleri tespit eden ve robotu durduran ilkel algoritmalardan, engelleri aşabilen karmaşık algoritmalara kadar değişen birtakım özellikler içerirler. Tüm bunları IATS 09, Karabük Üniversitesi, Karabük, Türkiye
yapabilmeleri için mobil robotlar ilkel sensörlerden karmaşık sensörlere kadar birçok sensörü içerebilirler. Robot sensörlerinin fonksiyonları iç durum ve dış durum olmak üzere iki ana kategoriye ayrılabilir. İç durum sensörleri, robot kontrolünde kullanılan kol eklem pozisyonu gibi değişkenlerin saptanmasıyla uğraşırken dış durum sensörleri, mesafe, yakınlık ve dokunma gibi değişkenlerin algılanmasıyla uğraşırlar. Her ne kadar yakınlık, dokunma ve kuvvet sensörleri robot performansının geliştirilmesinde önemli bir rol oynasa da görme, robot duyusal yeteneğinin en güçlüsü olarak kabul edilir. Robot görüşü, üç boyutlu dünyanın resimlerinden bilgiyi çıkartma, karakterize etme ve yorumlama işlemi olarak tanımlanabilir. Genellikle Makine veya Bilgisayar Görüşü olarak da isnat edilen bu işlem altı önemli alana bölünebilir. Bunlar; algılama önişlem parçalara bölme açıklama tanıma yorumlama. Robot görüş sisteminin bu alanlarını, zorluk seviyelerine göre gruplandırmak analizi kolaylaştırır [2]. Bu çalışmada bir koridorda hizmet vermek üzere servis robotu prototipi tasarlanmış ve Gerçekleştirilen robot koridor üzerinde bulunan odalardan çağrıldığı oda önüne gitmektedir. Oda sakini robot üzerinde taşınan çay setinden çayını alabilmekte veya isteğinden vazgeçebilmektedir. Yapılan çalışmada temel olarak garsonların, komilerin, çaycıların çalışmaları ele alınmışsa da geliştirilen robot ile herhangi bir bina içerisinde (hastane, okul, ofis, alışveriş merkezleri, vb.) odadan odaya dosya transferi, çay servisi, yiyecek içecek servisi gibi işlemlerin gerçekleştirilmesi mümkündür. Gerçekleştirilen robot, amaca yönelik olarak üzerine konulan tepsi, sepet, mini dolap, klasör, dosya gibi nesneyi taşıyabilmektedir. Bu robot ile iletişim odalarda bulunan mini uzaktan kumanda vericiler aracılığıyla sağlanmaktadır. Robot, çağrıldığı odadan gelen sinyali radyo frekans alıcı devresi yardımıyla almaktadır. Gerçekleştirilen çalışmada robot birinci oda önünde beklemektedir. Odalardan gelen çağrı sinyallerine göre ilk hareketine başlamaktadır. Robotun hareketi esnasında başka bir odadan daha istek gelmesi durumunda robot bu isteği de hafızasına almaktadır. Bu işlemler iki mikro denetleyici (PIC) kullanılarak gerçekleştirilmektedir. İsteğin geldiği ilk oda önüne giden robot orada on saniye bekledikten sonra hafızasında bulunan diğer odaya doğru hareketine devam etmektedir. Robot son isteği gerçekleştirdikten sonra bir istek gelmemesi durumunda ilk konumu olan birinci oda önüne geri dönmektedir. Odalar arası mesafeyi içerisinde bulunan DC motor tur kontrol devresi ile hesaplamaktadır. PIC lerden gelen sinyaller yardımıyla DC motor yönünü belirleyen DC motor yön kontrol devresi kullanılmıştır. Servis robotu üzerinde kullanılan PIC lerin programlanmasında JAL programlama dili kullanılmıştır. Bu çalışma üç oda bulunan bir koridor için prototip olarak gerçekleştirilmiş olup oda sayısı isteğe bağlı olarak artırılabilecektir. 2. Servis Robotunun Gerçekleştirilmesi Gerçekleştirilen Servis robotu üç ana başlıkta incelenecektir; platform seçimi, elektronik donanım ve yazılım. 2.1. Platform Seçimi Mobil robot yapımı için öncelikle bir platform seçilmesi gerekmektedir. Bu platformları bacaklı ve tekerlekli platformlar olarak iki bölüme ayırabiliriz [3]. Bacaklı platformların isimlerinden de anlaşılacağı üzere hareket etmek için insanlardan veya hayvanlardan örnek alınan bacak biçimli unsurları vardır. Bu bacaklar çift olabileceği gibi tek bacaklı robot platformları da mevcuttur. Bu tür robotlar dengede kalabilmeleri için küçük de olsa sürekli hareket etmek zorundadırlar. Çift ayaklı olanlar ise ilk bakışta kolay dengelenebilecek gibi görünseler de ayakta dengede durdurmak için bile birçok sensöre ve güçlü bir yazılıma ihtiyaç duyarlar. Tekerlekli platformlarda ise durum farklıdır. Tekerlekli platformlar ekstradan yazılım ve donanıma ihtiyaç duymadan dengede kalabilecek şekilde üretilirler. Tekerlekli platformları tahrik biçimlerine göre ikiye ayırmak mümkündür. Araba biçimli platformların birinci tipinde dört tekerlek vardır. Bunlarda tahrik öndeki veya arkadaki iki tekerden verilir. Yön değişimi ise Şekil 1 deki gibi öndeki iki tekerin platforma göre açıları değiştirilerek yapılır. Şekil 1. Araba biçimli mobil robot platformu. İkinci tip platformlarsa yine dört tekerleğe sahiptirler. Bu dört tekerleğin iki tanesi dengeyi sağlamak üzere bulunurlar ve herhangi bir hareket sağlamazlar. Diğer ikisi ise ayrı ayrı tahrik özelliğine sahiptirler. Bu tip platformlar Şekil 2 de görülmektedir. Bu platform çeşitinde herhangi bir yönde düz ilerleyebilmek için her iki tekerinde aynı yönde eşit hızda dönmesi gerekmektedir. Örnek olarak platform ilerlerken sağa doğru gitmesi istenirse sol tekerleğin açısal hızını sağ tekerleğinkinden yüksek tutmak yeterli olmaktadır. Bu platformun araba biçimli platformlara olan bir üstünlüğü ise platformun ağırlık merkezinin yeri değiştirilmeden platform sağa veya sola
döndürülebilmesidir. Bu hareket ise her iki tekerin birbirine zıt ve eşit hızda dönmesiyle sağlanabilir. nm dir. Bu sensör CNY70 olarak adlandırılmaktadır (Şekil 4). Şekil 4. CNY70 renk sensörü. Şekil 2. Çift tahrikli mobil robot platformu. Bu çalışmada gerçekleştirilen servis robotu için düşük maliyetli olması ve kolay bulunabilirliğinden dolayı araba biçimli bir platform seçilmiştir. 2.2. Elektronik Donanım Servis robotu platformunun seçilmesinden sonra robotun hareket etmesi, algılaması, yönünü değiştirmesi gibi işlemleri yapabilmesi için elektronik devrelere ihtiyaç duyulmaktadır. Tabiî ki elektronik devrelerin çalışması içinde enerjiye ihtiyaç vardır. Şekil 5 de görüldüğü gibi CNY70 den (A-C) gönderilen ışık, bir yüzeye çarparak geri yansımakta ve kendisi tarafından (C-E) algılanmaktadır. Eğer ışığın çarptığı yüzey siyah ya da koyu renkse ise ışık soğurulacağı için algılayıcı tarafından algılanamayacaktır. Aynı şekilde eğer algılayıcının önünde bir cisim yoksa gönderilen ışık geri dönmeyeceği için siyah cisimdeki gibi ışığı algılayamayacaktır. Eğer CNY70 gönderdiği ışığı algılayamazsa, tetikleyici devre çıkış olarak 1, algılarsa 0 vermektedir. CNY70 in çalışma prensibi Şekil 5 de verilmiştir. Siyah = 1 Beyaz = 0 2.2.1. Enerji Bir sistemin çalışabilmesi için enerjiye ihtiyaç duyulmasıdır. Bu enerji güneş enerjisi, rüzgâr enerjisi gibi yenilenebilir enerji kaynaklarından birisi olabileceği gibi bu çalışmada kullanılan 6V, 4000 ma lik şarj edilebilir bir NiCd batarya da olabilmektedir Şarj edilebilen batarya için ek olarak Şekil 3 de verilen şarj cihazı Robotun işlevlerini kontrol etmek için kullanılan PIC16F84 mikrodenetleyicisi +5VDC ile çalışmaktadır. 6V luk bataryadan regüleli 5V elde etmek için 7805 regülatör entegresi kullanılmıştır. Şekil 5. CNY70 Çalışması. Renk sensörü siyah tekerlek üzerine konulan beyaz noktayı algılamaktadır. Sürekli olarak lojik 1 sinyali üretmekte ve sensör beyaz noktayı gördüğü zaman lojik 0 üretmektedir. Robotun arka tekerleklerini görecek şekilde yerleştirilmiştir. Şekil 6 sensörün konumunu göstermektedir. Şekil 3. Mobil robotun NiCd bataryası için şarj cihazı. Şekil 3 deki devre aynı zamanda bir akım sınırlayıcıdır. Devredeki R1 direnci bu devreden çekilecek maksimum akımı ayarlamak için kullanılmaktadır. 2.2.2. Renk Sensörü Robotta bir adet renk algılama modülü kullanılmıştır. Bu modülde bir adet led ve bir adet alıcı dedektör bulunmaktadır. Sensör basit anlamda, ışık yayan ve gönderdiği ışığın yansıyıp yansımadığına bakarak, siyahla beyazı ayırt etmekte veya dar bir alanda cisim belirlemekte kullanılan bir algılayıcıdır. Kullanılan ışığın dalga boyu 950 Şekil 6. CNY70 in Servis robotu üzerindeki konumu. 2.2.3. Motor ve Kontrol Ünitesi Servis robotunun gerçekleştirilmesinde kolay temin edilebilmesi ve fiyatı nedeniyle DC motor kullanılmıştır. Motorun ileri geri hareketini sağlamak, odalar arası kaç tur boyunca tekerlerin dönmesine karar vermek için PIC16F84-A, ULN2003 ve CNY70 oluşan DC motor kontrol devresi tasarlanmıştır.
Motorun hareket etmesi için önce kumandalardan istek sinyalinin gelmesi gerekmektedir. Odalarla Servis robotu arasında ki haberleşme ARX 34 RF alıcı verici modülü ile gerçekleştirmiştir. Odalardan istek göndermek için kullanılan verici kumanda üniteleri Şekil 7 ve Şekil 8 de görülmektedir. Şekil 7. Verici Ünitesi (önden ve arkadan görünüş) Veri seçici olarak bir adet PIC16F84-A kullanılmıştır. PT2272 dekoderinin çıkışına bağlanan PIC16F84-A ardışık şekilde gelen oda numaralarını hafızaya almaktadır. Bu işlemi de içerisinde tanımlanan değişkenler sayesinde yapmaktadır. İstek gelen odaya göre içerisinde tanımlanmış fonksiyonlara programı yönlendirmektedir. Aynı şekilde bu kısım, sistemin son konuma göre kaç tur ilerlemesi gerektiğini tayin etmektedir. Tur sayısını kontrol etmek içinde bir tane CNY70 renk sensörü kullanılmıştır. Bu sensör tekerlek üzerindeki beyaz noktayı gördüğü anda B6 portu pasif olmaktadır. Böylece turun bittiği anlaşılmaktadır. PIC16F84 mikrodenetleyicisi içerisinde her odanın isteği için ayrı bir fonksiyon tanımlanmıştır. Bu fonksiyonlar son konuma göre motorun ileri veya geri hareketini tayin etmektedir. İleri gidecekse B2 portu aktif, geri gidecekse B1 ucu aktif olmaktadır. Bu hareketi motor süren devreye aktarmak içinde Şekil 11 de görülen ULN2003 entegresi kullanılmıştır. Şekil 8. Verici Ünitesi (kutulanmış görünüş). Vericilerden gönderilen oda numaraları alıcı devre tarafından alınarak işlenmektedir. Alıcı olarak yine ARX 34 RF alıcı verici modülü kullanılmıştır. Şekil 9 de alıcı kumanda devresi görülmektedir. Şekil 11. ULN2003 Blok Şeması. ULN2003 içerisinde 7 adet NPN transistör ve dâhili diyot bulunmaktadır. 1 7 arasındaki bacaklar NPN transistörlerin beyzlerine bağlıdır. Bu uçlara enerji uygulandığında 10 16 arasındaki bacaklar şaselenmektedir. 1 için 16, 2 için 15 karşılıklı şekilde bağlantılıdır. Şekil 12 de robot resmi görülmektedir. Şekil 9. ARX 34 RF Alıcı. Kumandalardan analog sinyal geldiği için bunu binary sinyallere dönüştürmek için ARX 34 RF alıcı kumanda devresi çıkışına ek olarak analog dijital olarak görev yapan PT2272 entegresi ilave edilmiştir. Bu entegre gelen sinyallere göre hangi odadan veri gelmişse, bu verileri çıkışında binary olarak göstermektedir. Şekil 10 da PT2272 dekoderinin blok şeması verilmiştir. 2.3. Yazılım Şekil 12. Servis Robot resmi. Şekil 10. PT2272 Blok şeması. Gerçekleştirilen Servis robotun da Microchip firmasının mikrodenetleyicilerinden olan bir PIC16F84-A mikrodenetleyicisi kullanılmıştır. Gerçekleştirilen servis robotu için geliştirilen yazılım JAL programlama dilinde
yazılmıştır. Derlenmiş ve simüle edilmiş kodlar mikrodenetleyiciye yüklenmiştir. Yükleme programı olarak da ICPROG yazılımı kullanılmıştır [4]. 3. Sonuç Teknolojinin gelişmesiyle insanların günlük hayatlarında kullanmak istedikleri robotların çeşitlilikleri artmıştır. Bu çalışmada bunlara bir yenisi daha eklenmiştir. Burada PIC mikro denetleyicinin getirmiş olduğu kontrol kolaylığı çevre birimlerine rahat uyum sağlama özelliği bilgisayarlarla uyumlu çalışma yeteneği kolay programlanabilme özelliği göz önünde bulundurularak istenilen verim elde edilmiştir. Bu çalışmada PIC içerisine yazılan programların esnekliği ile RF sinyalleri arasında senkron bir çalışma Çalışmada tasarlanıp gerçekleştirilen, uzaktan kumandalı servis robotu dört bölümden oluşmaktadır. Birinci bölüm üç ayrı anahtardan oluşan verici kumanda devresi, ikinci bölüm uzaktan kumanda alıcı devresi, üçüncü bölüm PIC (mikrodenetleyici) ile çalışan veri sıralayıcı devre, dördüncü bölüm ise motor kontrol devresinden oluşmaktadır. PIC in yazılımı JAL programı kullanılarak Bu çalışmaya ilave olarak; tasarıma daha güçlü motorlar eklenerek büyük ve daha ağır cisimler taşınabilir. Hafıza birimleri geliştirilerek daha fazla oda için servis yapılabilir. Üzerine eklenecek olan farklı sensörlerle kullanım alanları genişletilebilir. Kaynaklar [1] http://www.robotstore.com [2] http://www.teknolojihaber.net [3] Güçlü TUĞAY (2004), Elektronik Hobi, Alfa Yayınları, İstanbul [4] http://jal.sourceforge.net/manual/manual.html