DESIGN AND IMLEMENTATION OF A ROBOT THAT LEARNS THE MAZE



Benzer belgeler
LABİRENTTEN ÇIKIŞ YOLUNU BULAN ROBOT

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ. Uzaktan Kumanda Edilen Lamba Dimmer inin Gerçekleştirilmesi

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

IR Modülü. Kart Özellikleri Çalısma Frekansı: 38KHz Mesafe: 6 Metre Çalısma Voltajı: 3.3-5V Kart Boyutları: 20 mm x 20 mm

YAKLAŞIM SENSÖRLERİ (PROXIMITY) Endüktif, Kapasitif ve Optik Yaklaşım Sensörleri

DESIGN AND MANUFACTURING OF SERVICE ROBOT

DC motorların sürülmesi ve sürücü devreleri

Çizgi İzleyen Robot Yapımı ve Teknik Bilgiler

OTONOM ÇĐM BĐÇME MAKĐNESĐ GELĐŞTĐRĐLMESĐ DEVELOPING OF AUTONOMOUS LAWN MOVER. Danışman: Prof.Dr. Koray TUNÇALP, Marmara Üniversitesi Đstanbul

EEM 419-Mikroişlemciler Güz 2017

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.

RTX12-BX UZAKTAN KUMANDA

DOKUMANLAR

ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ Elektrik ve Elektronik Ölçmeler Laboratuvarı Deney Adı: Sensörler. Deney 5: Sensörler. Deneyin Amacı: A.

Çizgi İzleyen Robot Yapımı

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

BÖLÜM Mikrodenetleyicisine Giriş

Yaptığımız aracın yere çizilen bir çizgiyi tanıması ve bu çizgiyi takip etmesi.

EEM 419-Mikroişlemciler Güz 2016

PIC 16F877A ile DA MOTOR KONTROLLÜ ROBOT UYGULAMASI DC MOTOR CONTROLLED ROBOT APPLICATION WITH USING PIC 16F877A

BESLEME KARTI RF ALICI KARTI

RF İLE ÇOK NOKTADAN KABLOSUZ SICAKLIK ÖLÇÜMÜ

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

5.BÖLÜM ÇİZGİ İZLEYEN ROBOT

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması

Mikroişlemcili Sistemler ve Laboratuvarı

Adım Motoru: açıya adım. Şekil 8.2 tekyönlü. Lab 8. Siyah (A) Mavi ( B ) Kırmızı (B)

Elektromanyetik ışınlar ve dalga boyları

PIC Mikrodenetleyicileri

OMS-312 ENDÜSTRİYEL SENSÖRLER EĞİTİM SETİ

PROTOTYPE ROBOT DESIGN TO CATCH HARMFUL LIVING THINGS AS SAME AS RAT

ELEKTROLİZ YAPMAK İÇİN PI DENETİMLİ SENKRON DA-DA DÖNÜŞTÜRÜCÜ TASARIMI

CUMHURİYET MESLEKİ VE TEKNİK ANADOLU LİSESİ BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ DERSİ DERS NOTLARI BELLEKLER

SABİT MIKNATISLI MOTORLAR ve SÜRÜCÜLERİ

İnönü Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

PIC16F877 Mikrodenetleyicisi İle Uzay Vektör PWM İşaretlerinin Üretilmesi

5.14. ŞİFRELİ OTOMATİK GARAJ KAPISI KONTROL PROJESİ

YILDIZ TEKNIK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKULTESİ ELEKLTRONİK VE HABERLEŞME MÜHENDİSLİĞİ BÖLÜMÜ

Kritik Unsurlar: Tarama Mesafesi Tarama Açısı Nokta Büyüklüğü Tarama Alanının Görüşe Açıklığı

PIC Programlama. Devrim Çamoğlu

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

IŞIK ĐZLEYEN ROBOT PROJESĐ FOLLOWĐNG ROBOT SĐNOP LIGHT PROJECT. Proje Yürütücüleri Bünyamin TANGAL, Sinop Ünv. Meslek Yüksekokulu Mekatronik Bölümü

2- Tristör ile yük akımı değiştirilerek ayarlı yükkontrolü yapılabilir.

Gerçek Zaman Kontrollü Sumo Robot Tasarımı ve Uygulaması

IFD8520 ADRESLENEBİLİR RS-485/RS-422 İZOLELİ ÇEVİRİCİ KULLANIM KILAVUZU

FP52 PROXIMITY KART OKUYUCUSU KULLANIM KILAVUZU

İçerik. Ürün no.: MLC500T IP Set güvenlik sensörü verici

Sensörler. Yrd.Doç.Dr. İlker ÜNAL

MEKANİK DESTEK SETİ MEKANİK DESTEKLER TAHTA DESTEKLER VİDALI DESTEK BARLARI

İçerik. Ürün no.: SET PRK5 + BT205M + TKS40x60.A Set reflektörden yansımalı fotoelektrik sensör kutuplu

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu


8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

PIC PROGRAMLAMA STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ NEDİR? Unipolar Step Motorlar. Uç TESPİTİ NASIL YAPILIR?

12.Patates.. Patates.. Patates yumru olarak ekildiğinden patates ekim makinaları da diğer makinalardan ayrı olarak tasarlanmış özel makinalardır.

İÇİNDEKİLER 1. KLAVYE KLAVYE RB KLAVYE RBHIGH DİSPLAY... 31

İçerik. Ürün no.: PRK5/4P Reflektörden yansımalı fotoelektrik sensör kutuplu

ELEKTRİK MOTORLARI VE SÜRÜCÜLERİ ADIM MOTORLARI (STEP MOTORS)

BAĞLANTILI SĐSTEMLER ĐLE MODEL BĐR YERLEŞKE A MODEL CAMPUS WITH CONNECTED SYSTEMS

Semboller : :Açma kapama alteri :Ate leme butonu :Yardımcı röle :Merkez kontak :Normalde açık kontak :Normalde kapalı kontak :UV.

DENEY-2. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

ELEKTRĐK MOTORLARI ve SÜRÜCÜLERĐ DERS 01

Bu kategoride robotlar siyah pist üzerine beyaz veya beyaz pist üzerine siyah çizgilerin üstünde kalarak parkuru tamamlamaya çalışırlar.

PİST AYDINLATMA KULE KUMANDA MASASI

SAYFA NO: 2/8 1.2 Genel Özellikler Dış Görünüş İncelemeye alınan parçaların yüzeyinde oksidasyon, deformasyon, hasar olmayacaktır İşaretl

idea Kontrol Kartı (idea Board jv2.1) Kullanım Kılavuzu

3 Fazlı Motorların Güçlerinin PLC ile Kontrolü. Doç. Dr. Ramazan BAYINDIR

5.22. OTOMATİK SU ÇEKME VE TAŞIMA SİSTEMİ

FRENIC MEGA ÖZET KULLANIM KLAVUZU

T.C. MİLLİ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ-6

Haftalık Ders Saati Okul Eğitimi Süresi

DESIGN AND IMPLEMENTATION OF MULTIMETER BASED ON MICROCONTROLLER

Varol, A., Şengür, A., Avcı, E.: Atık Toplayan Araç Otomasyonu, Otomasyon, Sayı 154, 2005(03), Mart 2005.

İçerik. Ürün no.: Set PRK5/4P-M8 + TKS 40x60.A Set reflektörden yansımalı fotoelektrik sensör kutuplu

RTX 6A-BX RF Uzaktan Kumanda

Sistem Nasıl Çalışıyor: Araç İzleme ve Filo Yönetim Sistemi

PIC MİKROKONTROLÖR TABANLI ADIM MOTORU KONTROLU

LOJİK DEVRELER-I IV. HAFTA DENEY FÖYÜ

MÜZİK SETİ-SES SİSTEMİ- OTO AMFİ EĞİTİM

PVA-CSK PAVIRO Çağrı İstasyonu Seti

Sensörler. Yrd.Doç.Dr. İlker ÜNAL

PLC (Programlanabilir Lojik. Denetleyici)

ROBOTECH-10 ARDUINO UYGULAMA KARTI. SENSÖR ve ROBOT TEKNOLOJİLERİ GELİŞTİRME KARTI

Sensörler Öğr. Gör. Erhan CEMÜNAL Thomas Alva Edison

S50 Parmak izi Cihazı Kullanım Kılavuzu. S50 Genel Tanıtım

5.28. UÇAKSAVAR PROJESİ

FRENIC MULTİ ÖZET KULLANIM KLAVUZU

Bilgisayar Programcılığı

Trafik Işık Kontrolü

RTX356 Remote Control

5.34. VİDA YUVASI AÇMA OTOMASYONU

SATRANÇ HAMLELERİNİ YAPAN BİLGİSAYAR DESTEKLİ ROBOT DÜZENEĞİNİN TASARIMI VE GERÇEKLENMESİ

Doç. Dr. Cüneyt BAYILMIŞ

PROGRAMLANABİLİR LOJİK DENETLEYİCİ İLE DENEYSEL ENDÜSTRİYEL SİSTEMİN KONTROLÜ

ELEKTRİKSEL EYLEYİCİLER

RF Haberleşme Tabanlı Su Deposu Otomasyon Sistemi

Titreþim denetim cihazý

Sabit Gerilim Regülatörü Kullanarak Ayarlanabilir Güç Kaynağı

Transkript:

5. Uluslararası İleri Teknolojiler Sempozyumu (IATS 09), 13-15 Mayıs 2009, Karabük, Türkiye LABİRENT ÖĞRENEN ROBOT TASARIMI VE GERÇEKLEŞTİRİLMESİ DESIGN AND IMLEMENTATION OF A ROBOT THAT LEARNS THE MAZE Oktay YAĞLI Karabük Üniversitesi, Fen Bilimleri Enstitüsü, Karabük, TR, E-posta: oktayyagli@hotmail.com Özet Bu çalışmada labirent öğrenen robot gerçekleştirilmiştir. Robot mikrodenetleyici ile kontrol edilmektedir. Robotun amacı labirent içerisindeki bir hedefi bulmak ve labirenti öğrenmektir. Labirenti öğrenen robot önceden girip de hedefi bulamadığı odalara tekrar girmez. Tasarlanan robotun boyutları, şekli, hareket organları ve kullanılan sensörler değiştirilerek, insanlar için uygun olmayan fiziksel ortamlarda veya daha farklı alanlarda kullanılabilir. Anahtar kelimeler: Mikrodenetleyici, PicBasic, Labirent, Robot, Mobil robot Abstract In this study a robot which learns the maze was constructed. The robot is controlled by a microcontroller. The aim of the robot is to find a target in the maze and to learn the maze. The robot that learned the maze doesn t enter the rooms that are entered before but the target was not found. By changing the dimensions, shape, moving parts and type of the sensors of the robot, it can be used in different fields that the conditions are not suitable for human beings. Keywords: Microcontroller, PicBasic, Maze, Robot, Mobile robot 1. Giriş Robotlar ile labirent çözme 1970 li yıllara dayanmaktadır. Hatta 1970 lerin ortalarından bu yana her yıl IEEE tarafından Micro Mouse Contest isimli labirent çözme yarışmaları düzenlenmektedir. Yarışmalardaki amaç, labirentin orta noktasını en kısa sürede bulan bir robot tasarlamak ve gerçekleştirmektir. Gerçekleştirilen robotlarda, labirent çözme programlarında 3 temel algoritma kullanılmaktadır. Bunlar rasgele arama, labirenti haritalama ve sağ veya sol duvar takibi metotlarıdır. Rasgele arama metodu bu üç metot içerisinde en iyisi, en kısası veya en hızlısı değildir ama mantıksal olarak en basit olan metottur. Bu metotta robot, labirent içerisinde rasgele ilerlemektedir. Robot sağında veya solunda bir boşluk olduğunda sağa veya sola dönme kararını rasgele vermektedir. Rastgele arama metodunun tek dezavantajı labirent çözme işleminin daha uzun süre alması ve muhtemelen istenen süreden daha fazla zaman gerektirmesidir. Ayrıca robot dönüşler sırasında yapacağı olası yanlış kararlarla saatlerce labirent içerisinde dolaşabilir. Dolayısıyla programlama konusunda biraz daha zaman harcayarak farklı algoritmalar kullanmak daha akılcıdır. Labirent haritalama metodunda ise labirent içerisindeki her bir oda, robotun labirent içerisinde harekete başlayacağı noktadan başlanarak 1,2,3,4 şeklinde numaralandırılır. Yani labirent içerisindeki her odanın bir numarası vardır. Robotun labirent içerisindeki hareketleri sırasında bulunduğu her oda numarası bir dizi içerisine kaydedilmektedir. Bu metotla robot sağ veya sol duvarı takip ederek labirenti haritalamaktadır. Haritalama işlemi sırasında ölü noktalar 0 bilgisi ile doldurulmaktadır. Robot hareketini tamamladığında labirent, oda numaraları ve sıfırlardan oluşan bir matris şeklinde ifade edilmektedir. Haritalanan labirentte robot başlangıç noktasından çıkışa en kısa yolu kullanarak ulaşabilir [1]. Bu yöntemler içerisinde en işlevsel olanı duvar izleme yöntemidir. Bu yöntemde robot labirent içerisinde sağ veya sol yanındaki duvarı izlemektedir. Bu metodu, en iyi kendimizi bir labirentin içerisinde gözleri kapalı olarak hayal ederek açıklayabiliriz. Eğer bir elimizle duvarı tutabilirsek ve çıkış da bir ada değilse, eninde sonunda çıkışı bulabiliriz. Ama çıkışa ulaşıncaya kadar mutlaka bir duvar takip edilmelidir [2]. Bu çalışmada gerçekleştirilen Labirent Robotu ile labirent içerisinde istenen bir hedefin bulunması ve arama işlemi sırasında labirentin öğrenilmesi amaçlanmıştır. Labirenti öğrenen robot ikinci çalıştırmada, daha önceden hedefi bulamadığı boş odacıklara tekrar girmeyecektir. Böylece robot, labirenti öğrenmiş ve hedefe en kısa yoldan ulaşacaktır [3]. 2. Labirent Robotu Tasarımı Robotun mekanik yapısı; alüminyum malzeme, polyemit tekerlekler ve 2 adet adım motordan oluşmaktadır. Elektronik yapısında ise 5 adet cisimden yansımalı sensör, motor sürücü devresi ve işlemci devresi bulunmaktadır. 2.1. Labirentin Tasarımı Labirent, 80cm eninde, 100cm uzunluğunda pleksiglas malzemeden yapılmıştır. Bu zemin üzerine duvarları tutturmak için 12cm yüksekliğindeki direkler 18cm aralıklarla yerleştirilmiştir. Duvarlar 18cm boyunda, 12cm yüksekliğinde ve 1.8cm genişliğindedir. Direklerin 4 tarafında da duvarların tutturulmasına imkân sağlayan oluklar vardır. Böylece duvarların yerleri değiştirilerek farklı labirent şekilleri oluşturulabilmektedir. Şekil 1 de örnek bir labirent şekli verilmiştir. IATS 09, Karabük Üniversitesi, Karabük, Türkiye

geçme yöntemiyle tutturulmuşlardır. Şaseye tutturulan gövde üzerine, labirent üzerindeki duvarları algılamak üzere 4 adet sensör yerleştirilmiştir. Robotun üst kapağında ise sensörlerin durumlarını gösteren ledler ve robotun kumanda butonları yer almaktadır. Şekil 3 te labirent robotun çalışma esnasındaki bir resmi yer almaktadır. 2.3. Motorlar ve Motor Sürücü Devre Şekil 1. Odaları değiştirilebilen labirent 2.2. Robotun Mekanik Yapısı Robotun gövdesi 13cm çapında, 12cm yüksekliğinde alüminyum borudan yapılmıştır. Robotun şasesi ise 0,5mm kalınlığında alüminyumdan yapılmıştır. Şekil 2 de robot şasesinin şekli gösterilmektedir. BİLYE Robotun hareketini 2 adet adım motoru (step motor) sağlamaktadır. Kullanılan adım motoru melez (hybrid) tip, tek kutuplu (unipolar) adım motorudur. Motor 3,6º açılı ve 100 adımlıdır. Motorlar; darlington bağlı transistörlerden oluşan motor sürücü devresi tarafından sürülmektedirler. Şekil 4 te motorları kontrol eden bu sürücü devre ve bağlantı noktaları görülmektedir. Bu devre için gerekli olan motor kontrol sinyalleri mikrodenetleyici tarafından sağlanmaktadır. Adım motorlarının sargıları, her biri darlington bağlı olan transistör çiftinin kolektörüne bağlıdır. Adım motoru sargılarındaki zıt EMK (Elektro Motor Kuvvet) dan transistörleri korumak üzere sargılara paralel diyotlar konmuştur. Bu katın beslemesi 9,6 volt tur. Devre tam yük altında 1,2A akım çekmektedir. 2.4. Robotta Kullanılan Sensörler SOL TEKERLEK SOL STEP MOTOR SENSÖR SAĞ STEP MOTOR SAĞ TEKERLEK Sensör olarak siyah beyaz renk algılayan cisimden yansımalı (opto reflective) CNY70 sensörü kullanılmıştır. Bu sensörün tercih edilme sebebi düşük maliyeti ve kolayca ulaşılabilmesidir. Sensör Şekil 5 de görüldüğü gibi IR ışık yayan bir led ile bir foto transistörden oluşmaktadır. IR ledden yayılan ışınlar bir cisme çarptığında geriye yansıyacak ve sensörün içerisindeki foto transistör yansıyan bu ışık ile iletime geçecektir. BİLYE Şekil 2. Robotun şasesi Şekil 3. Labirent robotunun görünüşü Bu şase üzerine step motorlar sırt sırta yerleştirilmişler ve polyemit malzemeden yapılan tekerlekler de step motorlara geçirilmişlerdir. Tekerlekler motor miline sıkı Şekil 4. Motor sürücü devresi Sensörün algılama mesafesi yani cisimden yansıyan ışınların foto transistorü iletime geçirebileceği mesafe 0,3mm dir. Bu algılama mesafesi robotta kullanım için uygun bir değer değildir. Bu yüzden Şekil 6 daki devre ile

algılama mesafesi arttırılmış ve ortamın aydınlık durumuna bağlı olarak 1 1,5cm mesafede algılama sağlanmıştır. Çıkış sinyalini kararlı hale getirmek için schmitt trigger çıkışlı bir invert (değil) kapısı olan 7414 entegresi kullanılmıştır. Şekil 5. CNY70 sensörün iç yapısı [4] Şekil 6. CNY70 sensörün bağlantısı Robotta kullanılan 5 sönserden, 1 tanesi robotun altında olup hedefi tespit etmek amacıyla, diğer 4 sensör ise duvarları algılamak amacıyla kullanılmıştır. Her bir sensör devresinin çıkışı PIC16F877 entegresinin A portu girişlerine bağlanmıştır. Sensörlerden gelen lojik sinyallere göre labirent içerisinde yön ve hedef bulma işlemi gerçekleştirilmiştir. 2.5. Mikrodenetleyici Katı Robotun kontrolünde Microchip firmasının üretmiş olduğu PIC16F877 mikrodenetleyicisi kullanılmıştır. PIC16F877 azaltılmış komut setine ve RISC mimarisine sahiptir. İşlem hızı 20 Mhz dir. Veriyolu 8 bittir. 14 farklı kaynaktan kesme yapılabilir. 8 Kword e kadar artan flash belleği 1 milyon kez programlanabilir. 368 Byte veri belleği, 256 Byte EEPROM veri belleği vardır. Yığın derinliği 8 bittir. Doğrudan, dolaylı ve göreceli adresleme yapabilir [5]. 16F877 mikrodenetleyicisi kolay ulaşılabilir olması, maliyetinin düşük olması, çalışma hızı, I/O pin sayısının çok olması ve EEPROM belleğinin miktarı sebebiyle bu uygulamada tercih edilmiştir. Şekil 7 de mikrodenetleyici katına ait devre şeması görülmektedir. Sensörlerden gelen giriş bilgileri A portuna bağlanmıştır. Mikrodenetleyici bu bilgileri değerlendirerek yapacağı harekete karar vermektedir. Motor dataları B portundan gönderilmektedir. İlk 4 pin (PortB.0-PortB.3) sağdaki adım motorunu, son 4 pin (PortB.4-PortB.7) soldaki adım motoru kontrol eden bitlerdir. Adım motorunun veriler arasındaki değişimi algılayabilmesi için, veriler arasında 20 msn gecikme yapılmıştır. Bu gecikmeler değiştirilerek adım motorlarının dolayısıyla da robotun daha hızlı veya daha yavaş hareket etmesi sağlanabilir. Sensör durumunu gösteren ledleri çok amaçlı kullanabilmek için, her bir sensör ledi D portundaki bir çıkışa bağlanmıştır. Böylece ledler yazılım yardımıyla istenilen şekilde yakılıp söndürülebilmektedir. Robotun besleme gerilimi, birbirlerine seri bağlı 4 adet 2.4Volt, 2 Amper Ni-Cd şarjlı pil ile sağlanmaktadır. Mikrodenetleyici katını beslemek üzere 7805 entegre gerilim regülatörü kullanılmıştır.

Şekil 7. Robotun mikrodenetleyici katı Şekil 8. Programın akış diyagramı 2.5. Robotun yazılımı Robotun yazılımında PicBasic dili kullanılmıştır. Programda sensörlerden alınan bilgilere göre robotun hareketine yön verilmektedir. Yazılım için kullanılan akış diyagramı Şekil 8 de gösterilmiştir. Start düğmesi ile birlikte robot sağında bulunan duvarı takip etmeye başlar. Robot hareketinde sağ yanında bulunan duvarı referans almaktadır. Yani robot labirent içerisinde sağındaki duvarı gördüğü müddetçe ileri yönde hareketini devam ettirmektedir. Yazılımda öncelik hedefi aramakta olan alt sensöründür. Daha sonra sırası ile sağ sensör, ön sensör, sol sensör ve son olarak da arka sensör önceliğe sahiptir. Robot sağında duvar olduğu sürece ilerleyecek, sağında boşluk olduğunda ise sağa dönecektir. Robotun dönüşleri her iki tekerleğin de dönmesi ile sağlanmaktadır. Sağa veya sola dönme hareketi, kaymaları önlemek için tek tekerlek ile değil de, aynı anda her iki tekerleği de aynı yönde döndürerek gerçekleştirilmiştir. Tekerlekleri döndüren adım motorları sırt sırta monte edildiği için robotun ileri veya geri yönde hareket etmesi için adım motorlarının zıt yönde dönmeleri gereklidir.

Yazılımda 4 temel hareket söz konusudur ve bunlar birer altprogram olarak hazırlanmıştır. Bu hareketler, ileri gitme, sağa dönme, sağa kısa dönme ve sola dönme hareketleridir. Tasarlanan labirente göre robotun geriye gitmesine ihtiyaç duyulmamaktadır. İleri gitme alt programı her çağrıldığında yaklaşık olarak 0.9cm ilerleme gerçekleşmektedir. Yazılımda sağa dönme alt programı 3 aşamalıdır. Önce 9cm ileri gitme, sonra olduğu yerde sağa dönme ve sonra da 10cm ilerleme şeklinde gerçekleşmektedir. Sağa dönme işleminden sonra 10cm ilerlemenin sebebi, robotun labirent duvarlarından birini sağ sensörü ile görmesini sağlamaktır. Aksi takdirde robot sağa dönme işleminden sonra sağında duvar olmadığı durumlarda tekrar sağa dönecektir. Sola dönme işlemi ise, robotun bulunduğu noktadan doğrudan sola dönmesiyle gerçekleştirilmektedir. Sağa dönüşlerde sağ tekerlek saat ibresinin tersi, sol tekerlek saat ibresi yönünde dönerken, sola dönüşlerde sağ tekerlek saat ibresi yönünde, sol tekerlek de saat ibresinin tersi istikametinde döndürülür. Aynı anda her iki tekerlek de döndüğü için dönüş işlemi daha kısa sürede gerçekleştirilmektedir. Şekil 9. Labirentin matris şeklinde gösterimi Robotun, hedefi araması sırasında labirenti öğrenmesi gereklidir. Bu işlem labirentin 4x5 matris gibi düşünülmesi ile sağlanmaktadır. Bu durum Şekil 9 da gösterilmiştir. Robotun yatay ve düşeydeki hareketi esnasında, bir sonraki duvara geçtiğinde satır ve sütun bilgilerini tutan değişkenlerin değerleri değiştirilmektedir. Robotun başlangıç değeri olarak x=1 ve y=1 koordinatlarında ve yön olarak da sağ yöne hareket ettiği varsayılmaktadır. Robotun ileri yöndeki hareketleri sayılmakta ve bir duvar boyundan fazla ilerleme sağlandığında, robotun yön bilgisine bağlı olarak, yatay veya düşey eksendeki koordinat bilgileri x ve y değişkenlerine aktarılmaktadır. Elde edilen x ve y değerlerine göre oluşturulan tabloya bakılarak robotun o anda hangi adreste, yani hangi koordinatta olduğu belirlenmektedir. Belirlenen bu koordinat değeri, dâhili EEPROM belleğe kaydedilmektedir. Bunun yanı sıra, herhangi bir koordinata her ulaşıldığında o koordinata kaç kez ulaşıldığı bilgisini tutan değişkenin değeri de bir arttırılmakta ve dâhili EEPROM bellek içerisine kaydedilmektedir. Her dönüş sonrasında robotun hareket yönü değişmektedir. Bu yüzden, her dönüş işleminden sonra, çağrılan bir alt program ile eski yön bilgisi ve yapılan dönüşe göre yeni yön bilgileri ayarlanmaktadır. Robotun ilk çalıştırılması öğrenme aşamasıdır. Bu ilk çalıştırma sürecinde robot, labirent içerisinde hedefi aramaktadır. Aynı zamanda robot, gittiği hücreleri ve hangi hücreye kaç kez gittiği bilgilerini dâhili EEPROM belleğe kaydetmektedir. EEPROM bellekte saklanan koordinat bilgileri ile hangi koordinata kaç kez gittiği bilgileri robotun labirenti öğrenmesi için yeterlidir. Hedefi bulan robot labirenti de öğrenmiş olmaktadır. Labirentteki odaların yerleştirilme şekline ve hedefin bulunduğu odaya bağlı olarak, öğrenme süresi 10sn ile 4 dakika arasında değişmektedir. Labirentin öğrenildiği bilgisi, dâhili EEPROM belleğin sıfır (0) nolu adresine 2 bilgisi yazılarak ifade edilir. İkinci çalıştırılmada amaç; robotun labirent içerisinde yaptığı hareketler esnasında hedefi bulamadığı boş odaları atlayarak, hedefe en kısa yoldan ulaşmasını sağlamaktır. Öğrenme safhasında dâhili EEPROM belleğe, robotun bulunduğu koordinat değerleri ve bu koordinata kaç kez geldiği bilgilerini yazılmaktaydı. Bu bilgiler kullanılarak, içerisinde hedefin olmadığı boş odalara tekrar girilmesi önlenmektedir. Bu işlem de aşağıdaki şekilde gerçekleştirilmektedir. Başlangıçta dâhili EEPROM belleğin 0 nolu adresindeki 2 bilgisi test edilmektedir. Böylece robotun daha önce öğrenme işlemini yapıp yapmadığı kontrol edilir. Robot hareketi esnasında gideceği koordinatı, o andaki yönüne ve sensörlerin durumlarına bakarak belirlemektedir. Daha sonra, önceden kaydedilmiş dâhili EEPROM bellekten bu koordinata kaç kez gelindiği bilgisini okunmaktadır. Bir sonraki işlem, bu koordinata komşu olan ve daha önceden gidilen diğer koordinatları, yine dâhili EEPROM bellekten tespit edilmesidir. Sonrasında belirlenen bu koordinatlar içerisinden, sadece bir kez gidilen koordinatlar tespit edilir. Çünkü sadece bir kez gidilen koordinatlar, hedefin bulunduğu güzergâhı göstermektedir. Sonraki işlem ise robotun bulunduğu koordinattan, o bir kez gidilen koordinata, hangi yönde hareket ile ulaşılabileceğinin hesaplanmasıdır. Bu şekilde alt sensör bilgisi kontrol edilerek labirent içerisinde harekete devam edilir. 4.Sonuç ve Öneriler Tasarlanan robotun boyutları, şekli, hareket organları kullanılan sensörler değiştirilerek farklı kullanım alanlarında değerlendirilebilir. Kullanım alanları olarak fabrikaların stok ambarları, insanların bulunmasında sakınca olan ortamlar, insanların sığamayacağı kadar küçük yerler ilk akla gelen örneklerdir. Kaynaklar [1] http://www.gorobotics.net/index.php?option=com_cont ent&task=view&id=18&itemid=46 [2] http://fox.phoenix.az.us/~mlinnen/buildmazerobot.sht ml [3] Yağlı,O.,Labirent Robotu Tasarımı ve Gerçekleştirilmesi, Yüksek Lisans Tezi, Sakarya Üniversitesi, 2005 [4] http://www.vishay.com/doc?83751 [5] http://ww1.microchip.com/downloads/en/devicedoc /30292c.pdf.