FPGA TABANLI 5 EKSENLİ MOBİL ROBOT KOLU TASARIMI VE UYGULAMASI



Benzer belgeler
FPGA TABANLI 5 EKSENLİ MOBİL ROBOT KOLU TASARIMI VE PROTOTİP GERÇEKLENMESİ

T.C. RC SERVO MOTOR KONTROLÜ

Gömülü Sistemler. (Embedded Systems)

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

VHDL Kullanarak FPGA ile Yüksek Kapasiteli Tam Çıkarıcı Devre Tasarımı

LABİRENTTEN ÇIKIŞ YOLUNU BULAN ROBOT

1. DÖNEM Kodu Dersin Adı T U K. Matematik II Mathematics II (İng) Fizik I Bilgisayar Programlama I (Java) Computer Programming I (Java) (İng)

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

Yrd. Doç. Dr. Mustafa NİL

İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK FAKÜLTESİ ÖZET FONKSİYON TABANLI GÜVENLİ BİR RFID PROTOKOLÜNÜN FPGA ÜZERİNDE GERÇEKLENMESİ

Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi. Buse Ustaoğlu Berna Örs Yalçın

Digital Design HDL. Dr. Cahit Karakuş, February-2018

Yetenekler Ve Mühendislik/Danışmanlık Hizmetleri. Ağustos 2014

Sahada Programlanabilir Kapı Dizileri (FPGA) Sayısal CMOS Tümdevre Tasarımı Y. Fırat Kula

Derste Neler Anlatılacak? Temel Mekatronik Birimler,temel birim dönüşümü Güncel konular(hes,termik Santral,Rüzgar Enerjisi,Güneş

BM-311 Bilgisayar Mimarisi

YENİLENEBİLİR ENERJİ EĞİTİM SETİ

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

5.57. KIZIL ÖTESİ IŞIK KONTROLLÜ ARAÇ. Abdulkadir Şengür

Görev Unvanı Alan Üniversite Yıl Prof. Dr. Elek.-Eln Müh. Çukurova Üniversitesi Eylül 2014

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Bilgisayar Organizasyonu BIL

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ü

1. YARIYIL / SEMESTER 1 2. YARIYIL / SEMESTER 2

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

ELE 301 KONTROL SİSTEMLERİ, /I, PROJE

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

80C51 Mikrodenetleyicilerinde Timer-Counter Yapılarının FPGA Mimarileri Kullanılarak Geliştirilmesi. Özdemir ÇETİN 1. Bölümü, Adapazarı

MEKATRONİĞİN TEMELLERİ

1. YARIYIL / SEMESTER 1 2. YARIYIL / SEMESTER 2

Prof. Dr. Fuat ANDAY

VHDL Programlama Dili ve Sayısal Elektronik Devrelerin FPGA Tabanlı Uygulaması

Selçuk BAŞAK

PİEZOELEKTRİK YAMALARIN AKILLI BİR KİRİŞİN TİTREŞİM ÖZELLİKLERİNİN BULUNMASINDA ALGILAYICI OLARAK KULLANILMASI ABSTRACT

ENTEK TEKNOLOJİ EĞİTİMLERİ

1. YARIYIL / SEMESTER 1

Kablosuz Ağ Tabanlı Gezgin Keşif Robotu: Kaşif

5.63. YÜK KONTROLLÜ ASANSÖR ROBOT TASARIMI

VHDL DONANIM TANIMLAMA DİLİD ve FPGA, CPLD DONANIMLARI. Yard. Doç. Dr. Özdemir ÇETİN

Simulink Kullanılarak ROS Tabanlı Gezgin Robot Kontrol Benzetimi

BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ AKADEMİK ÖZGEÇMİŞ FORMU

BM-311 Bilgisayar Mimarisi

MİKROİŞLEMCİ MİMARİLERİ

Deney 10: Analog - Dijital Dönüştürücüler (Analog to Digital Converters - ADC) Giriş

5.34. VİDA YUVASI AÇMA OTOMASYONU

ENGELDEN KAÇARAK SESE YÖNELEN PALETLĐ ROBOT PROJESĐ ROBOTVOICETRACKTOWARDSFLEEFROM OBSTACLE. Ömer AYAN ÇANKIRI KARATEKĐN ÜNĐVERSĐTESĐ, ÇANKIRI

VIERO ARAÇ SAYIM SİSTEMİ

ENTEK TEKNOLOJİ EĞİTİMLERİ

PERFORMANCE COMPARISON OF KARATSUBA AND NIKHILAM MULTIPLICATION ALGORITHMS FOR DIFFERENT BIT LENGTHS

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

KST Lab. Shake Table Deney Föyü

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

Optik Filtrelerde Performans Analizi Performance Analysis of the Optical Filters

2017 MÜFREDATI MÜHENDİSLİK FAKÜLTESİ / ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ EĞİTİM PLANI

Sezai Taşkın Accepted: January ISSN : itemiz@marmara.edu.tr Istanbul-Turkey

DENEY 3: DTMF İŞARETLERİN ÜRETİLMESİ VE ALGILANMASI

KONTROL SİSTEMLERİ TASARIMI LABORATUARINA GİRİŞ

Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek

Programlanabilir Devreler

2019

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

BAÇ MÜHENDİSLİK. HIDROLIK STEWART PLATFORMU. Lorem ipsum dolor sit amet consectetur adipiscing elit

SİNYAL TEMELLERİ İÇİN BİR YAZILIMSAL EĞİTİM ARACI TASARIMI A SOFTWARE EDUCATIONAL MATERIAL ON SIGNAL FUNDAMENTALS

Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans:

Mühendislik Tasarım-3 ve Bitirme Çalışması Konuları

Hale Yenginer 1, Çağatay Canbaz 1, S. Ünsal Keser 1,, Hayriye Korkmaz 2

24 KANALLI DOREMİ SİSMİK CİHAZI

: ODTÜ Kent Konukevi - 1 Daire:101/5 ODTÜ Kampüsü Üniversiteler Mah. Dumlupınar Blv. No: Çankaya-Ankara, Türkiye

İ İŞİ BÖLÜM ROBOTİK KODLAMA ÖĞRENME ALANLARI BASİT ELEKTRONİK DEVRELERE GİRİŞ AKILLI CİHAZ TASARIMINA GİRİŞ ROBOTİĞE GİRİŞ

MikroiĢlemci ile Analog-Sayısal DönüĢtürücü (ADC)

NX Motion Simulation:

EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI

RF Haberleşme Tabanlı Su Deposu Otomasyon Sistemi

FBs-serisi. Programlanabilir Kontrol Cihazı. Kullanım Kitabı - II [ İleri Düzey Uygulamalar. Önsöz, İçerik. FBs-PLC Interrupt Fonksiyonu 9

5.13. SONDAJ MAKİNESİ PROJESİ

KODLAMAYA HAZIRLIK MODÜLÜ 1. YAZILI SINAV ÇALIŞMA SORULARI VE MODÜL ÖZETİ

Accurax G5 Serisi Dahili Pozisyonlama

Şekil1. Geri besleme eleman türleri

ÖZGEÇMİŞ. 1. Adı Soyadı : Kürşat Mustafa KARAOĞLAN. İletişim Bilgileri :, PK:, / İş Adresi. Telefon. : Mail. 2.

İSTANBUL MEDENİYET ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ(TÜRKÇE) 4 YILLIK DERS PLANI

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK SİSTEMLER LABORATUVARI 1. ARDUINO LCD ve Sensör Uygulamaları

VIERO, görüntü tabanlı analiz sayesinde, ortalama araç hızı bilgisi üretmekte ve araç yoğunluğunu da ölçmektedir. VIERO Araç Sayım Sistemi

BİLGİSAYAR BİLİMİ DERSİ ROBOT PROGRAMLAMA ÜNİTESİ

Evolution 200 Evolution 240

MİKROİŞLEMCİ İLE A/D DÖNÜŞÜMÜ

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

Endüstri 4.0 ve Nesnelerin Interneti

Alıcı Devresi; Sinyali şu şekilde modüle ediyoruz;

NES DC.DRV.200 Tanıtım Dokümanı

Üç Fazlı Sincap Kafesli bir Asenkron Motorun Matlab/Simulink Ortamında Dolaylı Vektör Kontrol Benzetimi

KTO KARATAY ÜNİVERSİTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ

EGE Üniversitesi Mühendislik Fakültesi Bilgisayar Müh. Bölümü Öğretim Yılı Lisans Tezi Önerileri

5.48. KALİTE KONTROL OTOMASYONU

HEDEF ĐZLEYEN PC TABANLI HAREKETLĐ ROBOT TARGET FOLLOWING PC BASED MOBILE ROBOT ÖZET

ORION ECHO ECH0201 Kullanıcı Kitapçığı Ver. 1.03

METSİM SİSTEM MÜHENDİSLİK

Proje Teslimi: güz yarıyılı ikinci ders haftasında teslim edilecektir.

EEM 419-Mikroişlemciler Güz 2017

Programlanabilir Sayısal Sistemler

SOFTWARE ENGINEERING PRACTICE Ders İzlence Formu. Kodu: CSE401 Dersin Adı: SOFTWARE ENGINEERING PRACTICE Toplam Saat

PLC (Programlanabilir Kontrol Cihazı) TABANLI SİSTEMLERİN İNTERNET ÜZERİNDEN İZLENMESİ

Transkript:

FPGA TABANLI 5 EKSENLİ MOBİL ROBOT KOLU TASARIMI VE UYGULAMASI Hasan KARCI 1, Ali TANGEL 2 1 Fen Bilimleri Enstitüsü - Elektronik ve Haberleşme Mühendisliği Anabilim Dalı Kocaeli Üniversitesi hsnkarci06@hotmail.com 2 Mühendislik Fakültesi - Elektronik ve Haberleşme Mühendisliği Bölümü Kocaeli Üniversitesi atangel@kocaeli.edu.tr Özet Bu çalışmada mobil arabanın üzerine yerleştirilmiş 5 eksenli robot kolu ile cisimleri ultrasonik sensör aracılığı ile tanıyıp boyutlarına göre ayırt edebilen bir mobil robot kolu sistemi gerçeklenmiştir. Ultrasonik sensörden alınan veriye göre mobil aracın hız ve konum kontrolü ile robot kolunun konum kontrolüne ait sayısal tasarım tek bir FPGA üzerinde gerçeklenmiştir. Mobil robot kolu üzerindeki DC motor ve DCservo motorların sürücü devreleri ayrıca tasarlanarak, motorların hız ve konum kontrolü VHDL kodu ile oluşturulan PWM sinyalleri aracılığıyla sağlanmıştır. Bu çalışmada PWM sinyallerini üretmede frekans bölme tekniği kullanılmıştır. FPGA nın paralel işlem yapabilme yeteneği yardımıyla mobil robot kolu üzerindeki ünitelerin aynı anda durumları kontrol edilebilmektedir. VHDL ile oluşturulan kod Modelsim simülasyon programı aracılığıyla test edilmiştir. Testte istenilen sonuçlar elde edilerek, yapılan tasarım Xilinx ISE paket programı aracılığı ile Spartan-3 FPGA geliştirme kiti üzerinde gerçeklendi. FPGA geliştirme kiti, gerçeklenen mobil robotun donanımının bir parçası olarak üzerine monte edildi. Mobil robot kolunun beklenen tüm işlevlerini sorunsuz bir şekilde yerine getirdiği testlerle gözlendi. Abstract In this study, A mobile 5-DOF robot arm, which can distinguish objects according to their dimensions using an ultrasonic sensor module is designed and implemented. Digital hardware design of speed and position control of the vehicle carrying the robot arm and the position control of the robot arm is implemented on a single FPGA chip. The driver circuits of the DC motors and the RC motors mounted on the mobile robot arm system are also realized, and the motor speed and position controls are handled through the PWM signals obtained by a specific VHDL module. Frequency division technique is used to produce the PWM signals. The concurrent controls of the units mounted on the arm are possible due to parallel execution ability of FPGAs. Modelsim program is used for VHDL code simulations. Then, the real FPGA implementations are done on a Spartan-3 FPGA evaluation board using Xilinx ISE tools. This evaluation board is also mounted on the vehicle as a part of the mobile robot arm system. The test results show that the robot arm is able to accomplish all expected functions successfully. 1. Giriş Günümüz teknolojisinde robotların önemi giderek artmakta ve birçok endüstriyel, askeri ve diğer uygulamalarda insanın yerini almaktadır. Robotlar, özellikle robot kolları endüstride yaygın olarak kullanılmaktadır. Robotların çalışabilmesi için elektronik bir sisteme ihtiyaç vardır. Bu elektronik sistem içerisinde genelde işlemci, algılayıcılar ve sürücü devreleri yer alır. Donanımın genel hatlarını değiştirmeden sistemin güncellenmesi maliyeti oldukça düşürür. Maliyetin yanında zaman tasarrufu için hızlı yazılım ve donanım adaptasyonu gereklidir. Geleneksel devre tasarımında herhangi bir uygulamada kullanılacak devreler üretim esnasında yapılandırılır iken, alan programlanabilir teknolojisinde ise üretimden sonra kapı seviyesinde ara bağlantılar yazılımsal olarak yeniden yapılandırılabilirler [1]. Alan programlama teknolojisi, esnekliği sayesinde tekrar programlanmaya ve uygulama geliştirmeye olanak sağlamaktadır. Robot teknolojisinde ise robotun yapacağı işler esneklik kazandıkça robotun kullanılabilirliği artmaktadır. FPGA nın yeniden yapılandırılması ile robotik sistemlerdeki esneklik ihtiyacı giderilebilmektedir. Genellikle robotik sistemlerin mikro denetleyici veya DSP ile kontrol edildiği göze çarpmaktadır [2]. Mikrodenetleyici ve DSP ile oluşturulan robot kontrol sistemleri büyük kapasite ve hızlı yapılandırılabilme olanağını yeterince sağlayamamaktadır [3]. Robot kolu ile birlikte mobil araç ve bu aracın algılayıcılarla birlikte karar verdiğini düşündüğümüzde, önümüze hem karmaşık hem de esneklik isteyen bir tasarım problemi çıkmaktadır. Bu da tasarımın çok sayıda bileşen içermesini gerektirmektedir. Birçok modülün eşzamanlı olarak kullanılmasıyla modüler 519

robotlar kontrol edilebilirlik açısından daha karmaşık hale gelebilmektedir. Bu nedenle tekdüze çalışan mimariler, birçok bileşen içeren robot tasarımında, robotların çeşitli fonksiyonları gerçekleştirmesinde yeterli olamamaktadır [4]. bilek ve tutucudan oluşmaktadır (Bknz. Şekil 2). Kolu oluşturan bileşenlerin geniş açı ile hareket etmeleri sayesinde robot kolu esneklik kazanmıştır. Robot kolu, ucundaki tutucusu yardımıyla cisimleri tutup kaldırabilmektedir. Bu çalışmada FPGA tabanlı esnek tasarım örneği olarak çok eksenli mobil bir robot uygulaması ve prototip üretimi gerçeklenmiştir. Makalede tasarım adımları detaylı olarak anlatılmakta, benzetim ve test sonuçları verilmektedir. 2. Mobil Robot Kolu Mobil robot kolu, 5 serbestlik derecesine sahip robot kolu ve ultrasonik sensör monte edilmiş mobil araçtan oluşmaktadır. Robot kolu kiti hazır olarak alınmıştır ve tarafımızca gerçeklenen dört bağımsız tekerlekli bir mobil platform üzerine monte edilmiştir. Şekil 1 de görüldüğü gibi mobil araç platformu üzerine ayrıca FPGA, motor sürücü devreleri ve bir adet akü yerleştirilmiştir. FPGA yapılandırılarak, yapılandırma kablosu FPGA kitinden çıkartılır, böylece serbest bir şekilde hareket sağlanmış olunur. Motorların, devrelerin ve FPGA kitinin güç gereksinimi ise araç platformuna yerleştirilen aküden sağlanmaktadır. Mobil araç harekete başladıktan sonra otonom hareket etmektedir. Şekil 2: Robot Kolu Eksen Gösterimi Şekil 3 te verilen mobil robot kolunun genel blok diyagramından görüldüğü gibi, tasarlanan robot kolu, mobil araçla birlikte hareket edebilmekte ve ultrasonik sensör yardımıyla yanından geçtiği cisimleri boyutlarına göre ayırt edip cisimleri üzerine alma veya yerlerini değiştirme gibi işlevleri yapabilmektedir. Mobil aracın hareketi, birbirinden bağımsız sürülen 4 adet DC motorlara bağlı tekerleklerle yapılmaktadır. Aracın hızı ve yönünün kontrolü PWM (Pulse Width Modulation) sinyali ile yapılmaktadır. Mobil aracın yan tarafına yerleştirilen bir tane ultrasonik sensör modülü aracılığıyla hem aracın konumunun kontrolü hem de cismin boyutu tespit edilebilmektedir. Cismin konumuna ve boyuna göre, robot kolu cismi tutup kaldırmak amacıyla hareket edebilmektedir. Şekil 3: Mobil Robot Kolu Blok Diyagramı Şekil 1: Mobil robot kolunun yandan ve üstten görünümü Robot kolu RC servo motora bağlı 180 o dönebilen bir taban üzerindedir. İnsan koluna benzetirsek, robot kolu omuz, dirsek 3. FPGA Kontrol Blokları Mobil robotun kolunun kontrolü için FPGA üzerinde gerçeklenen donanım tasarımı kullanılmıştır. FPGA nın yüksek kaynak kapasitesi, hızı ve esnekliği uygulama geliştirme için oldukça elverişlidir. Bu mobil robot kolu da FPGA kullanılarak tasarlanan robotik uygulamalarına güzel bir örnek oluşturmaktadır. Mikro denetleyiciler ve DSP ler yıllarca motor kontrolünde kullanıldı. Bu aygıtlar tasarımla tümleşik oluyordu ve sadece yazılımsal bazı güncellemelere olanak sağlıyordu. Fakat özel uygulamalar için sınırlı olanakları vardı [5]. FPGA ların sağladığı esneklik ile motor çeşitlerine göre kontrol stratejileri kolaylıkla tekrar ayarlanabilmektedir [6]. 520

Motor kontrolü için seri işleyen kod oluşturulur ama FPGA nın paralel işlem yapma özelliğinden dolayı aynı anda çok sayıda prosesi paralel olarak çalıştırabilme üstünlüğü vardır. Mobil robot hareket esnasında cismi algılarsa cismin boyu tespit edilir ve robot kolu pozisyon komutları bu bilgiye göre şekillenir. Aynı zamanda cismin arabaya olan uzaklığına göre de robot kolu cisme uzanır. Mesafe bilgisi, tasarım algoritmasında çeşitli matematiksel işlemler yardımıyla robot kolunun konumunu belirlemede kullanılır. Mobil robot, robot kolu, mobil araç ve ultrasonik sensörden oluşmaktadır. Bu çalışmada tasarımın genel bileşenleri de üç ana kısımda incelenebilir: Robot kolu kontrol bloğu Mobil araç üzerindeki DC motor kontrol bloğu Ultrasonik sensör kontrol bloğu Cisim boyutu algılama bloğu Şekil 4: Kontrol kodu blok diyagramı Şekil 4 da verilen diyagramdan anlaşıldığı üzere toplam 17 adet sinyal aynı anda kontrol edilmektedir. Bu sinyallerden 6 tanesi robot kolunu oluşturan RC servo motorlar için PWM, 8 tanesi mobil araçtaki 4 adet DC motor için kontrol ve enable sinyali ile birlikte ultrasonik sensörün çalışması için trigger tetikleme sinyali üretilmektedir. Mobil robot kolunun genel çalışma prensibi akış şeması Şekil 5 de verilmiştir. Hareket halinde olan mobil araç, konumunu ultrasonik sensörden gelen bilgiye göre ayarlar. Tasarım mimarisi içinde yer alan mesafe sayacı ile gelen mesafe bilgisi sürekli karşılaştırılır ve tekerleklerin dönüş hızı belirlenir. Tekerlek dönüş hızları ise PWM sinyaline göre ayarlanır. Ultrasonik sensör kontrol bloğundan gelen veriye göre diğer blokların akış algoritması şekillenir. Araç mobil olarak hareket halinde iken sürekli olarak mesafe ölçümleri değerlendirilir ve cisim algılandığında cismin üzerinde işlem yapılır. Cisim mobil araca alınır veya cismin yeri değiştirilir. Mobil araç, çalışma güzergâhında cisimler bitene kadar bu işlemleri yapabilir. 3.1. Robot Kolu Kontrol Bloğu RC servo motor kontrolü için saniyede 50 defa tekrar eden ve 1 ile 2 ms arasında doluluk boşluk oranına sahip olan PWM sinyali kontrol edilir (Bknz. Şekil 6). 5 eksenli robot kolu için 5 farklı PWM, FPGA üzerinde kolayca üretilebilir. Servo motorlar için gerekli olan sinyalin periyot çerçevesi 20 ms olmalıdır. FPGA nın çalışma frekansı 50 MHz olduğu için kontrol bloğu içinde sayıcı yardımıyla 20 ms lik yerel saat darbesi oluşturulmalıdır. Şekil 6: RC servo motor için PWM sinyali PWM sinyali ise 8 bitlik çözünürlüğe sahip ikili sayıcı kullanarak oluşturulur. PWM sinyali için gerekli matematiksel eşitlikler aşağıdaki gibi ifade edilebilir [7]: Frame _ Period 2 n T CLK (1) Mark _ Period T Mark _ Value (2) CLK Mark _ Value Duty _ Cycle (3) n 2 Şekil 5: Mobil robot kolu kontrol akış şeması Duty cyle olarak ifade edilen PWM sinyalinin doluluk boşluk oranıdır. Bu orana göre servo motorlar konum alırlar. İfadelerde geçen Mark_Value PWM sinyalinin doluluk miktarını 521

belirlemekte kullanılan onluk tabandaki sayıdır. Bu sayı mesafe bilgisinden hesaplanarak bulunabilir. Aracın cisme olan uzaklığına göre Mark_Value değeri değişerek motorların konumu belirlenebilir. Şekil 7: VHDL ile tasarlanan PWM kontrol kodunun Modelsim çıktıları Modelsim simülasyon programı kullanılarak VHDL ile yapılan yazılımsal tasarım analiz yapılmıştır. Şekil 7 deki gibi, verilere bağlı olarak robot kolu kontrolü için gerekli PWM ler üretilmiştir. Üretilen PWM sinyalleri detaylı bir şekilde burada kontrol edilmektedir. aracın motorlarını kontrol etmek için toplam 12 tane sinyal oluşturulmuştur. Bu sinyallerden 8 tanesi motorlara giden giriş uçları, 4 tanesi ise enable yani yetkilendirme uçlarıdır. Robot kolu kontrolü için PWM sinyali oluşturulduğu gibi mobil aracın kontrolü için de PWM sinyalleri oluşturulmuştur. Ultrasonik sensörden gelen mesafe bilgisine göre motorlar, aracın konumunu belirlemek için konum alırlar. 3.3. Ultrasonik Sensör Kontrol Bloğu Mobil robot kolunun ilerleme esnasındaki dengesini yani düz gitmesini sağlamak için ultrasonik sensörden gelen bilgiler kullanılır. Robot kolunun tutacağı cisimlerin boyutunu ölçmek için de aynı sensörden yararlanılır. Bir ultrasonik sensör ortama ses dalgası gönderir, gönderilen dalga cisme çarpıp geri döner. Dalganın gidip gelme süresi yardımıyla cisimlerin uzaklığı hesaplanır. Yapılan bu çalışmada 3 cm ile 300 cm arasını sağlıklı ölçebilen sürücü devresi üzerinde bulunan ultrasonik sensör modülü kullanıldı. Sensörle ölçüm yapılan mesafenin hesabı şu şekildedir: Mesafe Toplam_ süre ses _ hıız 2 (4) Gönderilen ses sinyali engele çarpıp döneceği için ölçülen mesafe iki kat olur. Bunun için formülde ikiye bölme yer almaktadır. Toplam süre ise FPGA nın çalışma frekansı ile ilgili olarak değişebilir. Spartan XC3S200 FPGA nın çalışma saat frekansı 50 MHz dir. Şekil 8: Robot Kol Kontrol Bloğu Şekil 8 deki kontrol bloğu sayısal kontrol devresinin genel görünümüdür. Devrenin şematik tasarımı Xilinx ISE programında Viev RTL Schematics prosesini çalıştırarak görülebilir. Bu proses yazılan VHDL kodunun şematik tasarımını oluşturmamızı sağlamaktadır, böylece tasarımda FPGA da oluşturulan lojik blokların çalışması analiz edilebilmektedir. 3.2. Mobil Araç Üzerindeki DC Motor Kontrol Bloğu Robot kolunun gezgin olmasını sağlamak için DC motorlara bağlı tekerleklerle hareket edebilen platform kullanılmıştır. Motorun dönme hızı ve yönü girişlere verilen sinyale göre ayarlanabilir. Giriş sinyalleri FPGA da tasarlanan mobil araç motor kontrol bloğu ile kolaylıkla takip edilmekte ve mesafe bilgisine göre aracın konumu ayarlanabilmektedir. Bu uygulamada DYP-ME007 ultrasonik sensörü kullanıldı. Sensörün çalışması için trigger yani tetikleme ucuna 10 us lik darbe uygulanmalıdır. Uyarılan sensör 8 tane ses dalgasını gönderir ve bekler. Echo ucu yani yansıma ucu ses dalgası gönderilir gönderilmez lojik 1 olur ve dalga gelene kadar bekler, geri dönen dalga algılanınca echo ucu lojik 0 olur. Echo ucunun 1 olduğu zamanı hesaplayarak mesafenin ölçümü yapılabilir. 3.4. Cisim Boyutu Algılama Bloğu Ultrasonik sensör mobil aracın konumunu belirlerken, cisimleri tespit edebilmekte ve cisimlerin boylarını ölçmede de kullanılmaktadır. Mobil robot kolu akış şemasının bir bileşeni olarak ultrasonik sensörle, cisimlerin boyu Şekil 10 da verilen blok diyagram yardımıyla ölçülerek gruplanabilir. Spartan XC3S200 FPGA üzerinde yer alan 8 tane led kullanılarak cisimlerin boyları ölçülmüştür. Bu çalışmada sadece üç tane farklı boyutta cisim kullanıldığı için; cisimlerin boyları ledlerle ifade edildi. Cisimlerin boylarını ölçüm tekniği olarak genel hız-konum eşitliğinden yararlanıldı. cisim boyutu araba _ hizi zaman _ (5) Şekil 9: Mobil araç motor kontrol bloğu FPGA nın bize sağladığı kolaylıklardan biri de bol miktarda giriş çıkış portunun olmasıdır. Şekil 9 da görüldüğü gibi mobil Bu eşitlikte arabanın hızına göre zaman ayarı yapılarak cisim boyu ölçülmektedir. Spartan XC3S200 FPGA nın çalışma frekansı kullanılarak yeni bir sayıcı modülü tasarlandı ve bu sayıcının frekansına göre zaman ayarı yapıldı. 522

Kaynaklar [1] Kumar, S., Shuklay,A., Duttaz, A. ve Beherax, L., Technique for Visual Motor Coordination of a 6 DOF robot manipulator, Intelligent Control Part of IEEE Multi conference on Systems and Control, 2007, 544-549. [2] Kung, Y-S., Shu, G-S.., FPGA-based Motion Control IC for Robot Arm, ICIT IEEE International Conference, 2005, 1397-1402. Şekil 10: Cisim boyutu algılama işlemi 4. Sonuçlar Bu çalışmada, 5 eksenli mobil bir robot kolunun, üzerine monte edildiği mobil araçla birlikte kontrolü, VHDL donanım programlama dili yardımı ile yapılan tasarım yoluyla FPGA üzerinde donanımsal olarak gerçeklenmiştir. Benzetimlerde Modelsim programı kullanıldı. Tasarlanan sistemde bileşen sayısının artmasına rağmen FPGA nın sağladığı esneklikle sistemler arası uyum kolaylıkla sağlandı. Sonuç olarak, donanım programlama dilleri yardımıyla yapılacak olan tasarımlarla, gelecekteki uygulama ve geliştirmeler için de örnek teşkil edecek çok eksenli esnek bir mobil robot kolu prototipi oluşturmuş oldu. Literatürde fonksiyonel olarak bu çalışmadaki robot kolu sistemi ile birebir örtüşen bir mobil robot kolu mekanizmasına henüz rastlanamadığından, sadece performansa ve donanımsal kaynak kullanımına dayalı bir karşılaştırma yapılamamıştır. Ancak bu çalışma, tasarım teknolojisi, mobil olup olmama durumu, kol serbestlik derecesi, cisim veya konum algılama tekniği gibi kriterler açısından, literatürdeki bazı örnek çalışmalarla aşağıdaki tablo üzerinde karşılaştırılmıştır. Yapılan Çalışmalar Bu çalışma Tablo 1: Karşılaştırma tablosu Motor Serbestlik Robot konumlarının Derecesi Serbestliği belirlenmesi (DOF) Ultrasonik sensör [8] Dönen kodlayıcı [9] Dönen kodlayıcı, PID, ters kinematik [10] Ultrasonik sensör, infrared sensör [4] Kablosuz olarak yeniden yapılandırma Kullanılan teknoloji 5 Mobil FPGA 5 Sabit FPGA 4 Sabit FPGA yok Mobil FPGA 4 Mobil FPGA+ARM [3] Meshram, U., Bande, P., Dwaramwar, P.A., Harkare, R.R., Robot Arm Controller Using FPGA, Multimedia, Signal Processing and Communication Technologies International Conference, 2009, 8-11. [4] Xu, M., Zhu, W. ve Zou, Y., Design of a Reconfigurable Robot Controller Based on FPGA, Fifth IEEE International Symposium on Embedded Computing, 2008, 216-222. [5] Monmasson, E. ve Cirstea, M., FPGA Design Methodology for Industrial Control Systems A review, IEEE Trans. on Industrial Electronics, 54(4), 1824-1842, 2007. [6] Meshram, U. ve Harkare, R.R., FPGA Based Five Axis Robot Arm Controller International Journal of Electronics Engineering, 2(1), 209-211, 2010. [7] Lawman,G., Pulse-Width Modulation in Xilinx Programmable Logic, Application Brief, 1-3, 1995. [8] Meshram, U., Bande, P., Harkare, R. R. Hardware and software co-design for robot arm position control using VHDL&FPGA IEEE Computer Society, International conference on advances in recent technologies in communication and computing, 780, 2009. [9] Cho, J. U., Le, Q. N., Jeon, J. W., An FPGA- Based Multiple- Axis motion control chip IEEE Transactions on Industrial Electronics, 56(3), 856-870, 2009. [10] Samuelsen, D., Graven, O. H., Low cost robots used for practical assignments in programming modules IEEE- ICELIE 09, 80-85 2009. Teşekkür Bu çalışma Kocaeli Üniversitesi Bilimsel Araştırmalar Şube Müdürlüğü BAP-2009/40 (Mikroelektronik Lab.) Nolu proje kapsamında finansal olarak desteklenmiştir. 523