Anda di halaman 1dari 63

GERE NDEN OK SERBESTL K DERECEL ROBOT KOLU KONTROL S STEM TASARIMI VE UYGULAMASI

lker EREN

Haziran 2006 DEN ZL

GERE NDEN OK SERBESTL K DERECEL ROBOT KOLU KONTROL S STEM TASARIMI VE UYGULAMASI

Pamukkale niversitesi Fen Bilimleri Enstits Yksek Lisans Tezi Elektrik-Elektronik Mhendislii Anabilim Dal

lker EREN

1.Danman: Yard. Do. Dr. Abdullah T. TOLA 2. Danman: Do. Dr. E. ahin ONKUR

Haziran, 2006 DEN ZL

ii

TEEKKR Yksek Lisans renimim srasnda ve tez almalarm boyunca gsterdii her trl destek ve yardmlardan dolay danman hocam Yard. Do. Dr. Abdullah T. TOLAya, ikinci danman hocam Do. Dr E. ahin ONKURa, Makine Mhendislii Blm yksek lisans rencisi smail BOZTAYa, Elektrik Elektronik Mhendislii Blm yksek lisans rencisi Nesrin KILIa ve ortam Ali APALIya en iten dileklerimle teekkr ederim. Bu alma boyunca yardmlarn esirgemeyen Fen Bilimleri Enstits alanlarna, projede kullanlan donanmlar salayan TB TAKa, i arkadalarma ve yksek lisans dnemi snf arkadalarma teekkr bor bilirim.

iii

iv

ZET GERE NDEN OK SERBESTL K DERECEL ROBOT KOLU KONTROL S STEM TASARIMI VE UYGULAMASI EREN, lker Yksek Lisans Tezi, Elektrik Elektronik Mhendislii ABD Tez Yneticileri: Yard. Do. Dr. Abdullah T. TOLA ve Do. Dr. E. ahin ONKUR Haziran 2006, 49 Sayfa Bu tezin amac, gereinden ok serbestlik dereceli bir robot kolunun bilgisayardan kontrol iin gerekli kontrol sisteminin tasarmnn ve uygulamasnn yaplmasdr. Bu alma TB TAK tarafndan desteklenen, tasarm ve prototipi niversitemizde yaplan ilk sanayi tipi robotu ieren projenin bir parasdr. Prototipin tahrik mekanizmas AC servo motorlardan olumaktadr. Visual C++.NET bilgisayar program iinden bir OCX program parac vastasyla eksen kontrol kartna emir yollanmakta, kart bu emirleri servo srclere iletmekte ve servo srcler de motorlar srmektedir. Bu tezde, motorlarn kurulmas, ayarlanmas ve kontrol kartyla bilgisayardan kontrol gerekletirilmitir. Buna ek olarak, bu prototipte kullanlan kontrol algoritmalar incelenmitir. Robotun mafsallar zerinde ek bir enkoder yerletirilebilmesi iin gerekli almalar yaplm, bu enkoderlerden alnan bilgi bilgisayar programna aktarlmtr. Benzer ekilde robotun u noktasna taklan bir lazer sensryle seri port vastasyla iletiim kurulmu ve sensr verisi bilgisayar programna aktarlmtr. Anahtar Kelimeler: Robot, Robot Kontrol Algoritmalar, Eksen Kontrol, Servo Motor, Servo Src Do. Dr. E. ahin ONKUR Yard. Do. Dr. Abdullah T. TOLA Yard. Do. Dr. Murat AYDOS Yard. Do. Dr. Serdar PL K Yard. Do. Dr. Sezai TOKAT

ABSTRACT CONTROL SYSTEM DESIGN AND APPLICATION OF A REDUNDANT ROBOT MANIPULATOR EREN, lker M. Sc. Thesis in Electrical&Electronics Engineering Supervisors: Asst. Prof. Dr. Abdullah T. TOLA and Assoc. Prof. Dr. E. ahin ONKUR June 2006, 49 Pages The aim of thesis is to design and implement a control system that is able to control a redundant robot by means of a computer. This work is a part of the project supported by TUBITAK, including the first industrial type robot that are designed and manufactured in our university. The driving mechanism of the prototype consists of AC servo motors. Using an OCX component embedded in the Visual C++.NET program, communication with the motion control card connected to the computer is achieved. The motion control card sends the commands to the servo drivers and the servo drivers drive the servo motors. In this thesis, servo motor setup, servo tuning and control of the motors with the motion control card have been carried out. Furthermore, control algorithms used in the prototype has been considered. By doing some work on the encoders which are attached to the joints of the robot, the information obtained from these encoders has been carried to the computer. Similarly, communication with a laser sensor by means of the serial port has been established and the information obtained from the sensor has been carried to the computer. Keywords: Robot, redundant robots, robot control algorithms, motion control, servo motor, servo drive Assoc. Prof. Dr. E. ahin ONKUR Asst. Prof. Dr. Abdullah T. TOLA Asst. Prof. Dr. Murat AYDOS Asst. Prof. Dr. Serdar PL K Asst. Prof. Dr. Sezai TOKAT

vi

NDEK LER Sayfa Yksek Lisans Tez Onay Formu................................................i Teekkr........................ii Bilimsel Etik Sayfas....iii zet ......iv Abstract .....v indekiler ........... vi ekiller Dizini ........viii Tablolar Dizini......................ix Semboller ve Ksaltmalar Dizini......................x 1.G R 1.Giri ..........1 1.1. Literatrn Gzden Geirilmesi........2 1.2. Tezin Amac...........4 2. ELEKTR K ve ELEKTRON K DONANIM5 2.1. Servo Motorlar.......5 2.1.1. Servo Motor Genel zellikleri .....5 2.1.2. Servo Motor Balantlar.......6 2.2. Servo Srcler.....7 2.2.1. Servo Src Genel zellikleri....7 2.2.2. Servo Src Balantlar.8 2.2.2.1. Servo Src G Balantlar.8 2.2.2.2. Servo Src Kontrol Balantlar ..9 2.2.2.3. Servo Src Enkoder Balantlar.10 2.3. Geribesleme Elemanlar .....10 2.4. Servo Srclerin Devreye Alnmas .11 2.5. Eksen Kontrol Kart.12 2.6. Sekiz Eksen Robot Kontrol Panosu.13 3. ROBOT KOLU K NEMAT ...17 3.1. Robot Kolu Kinematii Genel zellikleri...17 3.2. Genel Bir Robot Kolu in Koordinat ereveleri ve Transformasyon matrisleri..17 3.3. D & H ( Denavit ve Hartenberg ) Koordinat ereveleri....21 3.4. leri Kinematik ....21 3.5. Ters Kinematik.....22

vii

4. HAREKET KONTROL ALGOR TMASI ve K KOLLU ROBOT KOLU TASARIMI..23 4.1. Hareket Algoritmas Genel zellikleri.... 23 4.1.1. Nesneler ve Nesne Dizileri (Objects and Object Arrays)....23 4.1.2. RoboKol Programnn Temel Yaps ve Snflar26 4.1.3. RoboKol Programnn Menleri..35 4.1.4. RoboKol Programnda Kontrol Algoritmalar Gelitirilmesi..37 4.1.5. ki Uzuvlu Robot Kolu Dizayn ve altrlmas ......43 4.1.6. Lazer Mesafe lme Sensr ....44 5. SONU ve NER LER..45 KAYNAKLAR..46 ZGEM ...49

viii

EK LLER D Z N Sayfa ekil 2.1 Servo motor.5 ekil 2.2 Servo motor zerileri.................6 ekil 2.3 Servo motor genel balantlar.....6 ekil 2.4 Servo src alma prensibi.............7 ekil 2.5 Servo src g balantlar ........ .8
.

ekil 2.6 Servo src kontrol balantlar ....9 ekil 2.7 Enkoder alma prensibi ...11 ekil 2.8 Eksen kontrol kart genel grnm ......12 ekil 2.9 Eksen kontrol kart terminal kart .......13 ekil 2.10 Eksen kontrol kart enkoder balantlar ...13 ekil 2.11 Sekiz eksen robot kolu iin yaplan elektrik panosu ve servo sistem....14 ekil 2.12 Sekiz eksen robot kolu iin kullanlan motorlar....14 ekil 2.13 Eksen kontrol kart enkoder balantlar, hz referans balantlar, al dur balantlar...15 ekil 2.14 Servo srcler ..15 ekil 2.15 Servo motor ve kablo balantlar..15 ekil 2.16 TB TAK projesi iin yaplan panonun kontrol ettii robot kolu....16 ekil 3.1 Bal alar gsterilen n uzuvlu seri robot kolu .19 ekil 3.2 D&H parametreleri..20 ekil 4.1 Be uzuvlu robot kolu .....24 ekil 4.2 RoboKol programnn arayz.........26 ekil 4.3 RoboKol programnn snflar.....27 ekil 4.4 line snfnn deikenleri ve fonksiyonlar.....27 ekil 4.5 link snfnn deikenleri ve fonksiyonlar......28 ekil 4.6 manip snfnn deikenleri ve fonksiyonlar.....29

ix

ekil 4.7 obstacle snfnn deikenleri ve fonksiyonlar.......30 ekil 4.8 frameForm snfnn deikenleri ve fonksiyonlar ....31 ekil 4.9 mainForm snfnn deikenleri ve fonksiyonlar..32 ekil 4.10 optionDialog snfnn deikenleri ve fonksiyonlar.....34 ekil 4.11 RoboKol programnn MDI zelliini gsteren ak iki dokmanl ... arayz...35 ekil 4.12 Program file mens ..............36 ekil 4.13 Program option ve draw menleri .....36 ekil 4.14 Program context mens ...37 ekil 4.15 Program options diyalou ......................................................................37 ekil 4.16 Drt uzuvlu seri robot kolu.....39 ekil 4.17 Drt uzuvlu seri robot kolunun iki ayr konfigrasyonu....39 ekil 4.18 leri ve geri kavramlarnn belirlenmesi..40 ekil 4.19 2 nolu uzvun geriye alnmas......41 ekil 4.20 2 nolu uzvun ve dierlerinin geriye alnmas.....42 ekil 4.21 Geriye doru hareketin tamamlanmas ......42 ekil 4.22 Robot kolunun ideal hareketi.....43 ekil 4.23 Tasarlanan iki uzuvlu robot kolu ......43

TABLOLAR D Z N Sayfa Tablo 2.1 Enkoder geribesleme eleman balant terminalleri 10

xi

S MGE VE KISALTMALAR D Z N PWM RPM A DSP MDI DOF Pulse Wide Modulation Revulotion Per Minute Amper Digital Signal Processor Multiple Documet Interface Degrees Of Freedom

1. G R
Sanayinin her alannda ba dndrc bir hzla kullanlmaya balanan robotlar, insanlarn yapabileceklerinin ok daha iyisini, kalitelisini ve hzlsn yapabilmektedirler. retimin btn aamalarnda sanayi robotlar kullanlmakta ve byk zaman ve para tasarrufu salamaktadrlar. Her geen gn robotlar, kullanlan hareket algoritmalarnn, servo motorlarn, src ve dier donanmlarn gelitirilmesiyle daha hzl, daha kabiliyetli ve daha akll olmaktadrlar. Sanayi robotlarnn mekanik dizaynnn ilerlemesine ek olarak hareket algoritmalarnn gelitirilmesi de ok nemlidir. Ayrca algoritmadan gelen bilgilere gre robotun uzuvlarn hareket ettirecek elektronik donanmn kurulmas ve altrlmas da gereklidir. Bu tez almasnda, ard arda eklenen kollardan oluan bir robot kolu iin hareket algoritmas gelitirilmesi ve servo motorlarn altrlmas iin gereken elektronik donanmn kurulup altrlmas amalanmtr. Robot kolu iin bir hareket algoritmas Visual C++.NET programlama dilinde yazlmtr. Bilgisayarn fare imlecini hedef kabul eden robot, imleci ekranda ve alma uzaynda takip edebilmektedir. Ek olarak sekiz adet servo motorun altrlp bilgisayardan kontrol edilebilmesi iin bir elektrik panosu denmitir. Bilgisayarda izim halindeki robotun eklemlerinin dnme miktar kadar servo motorlarn da dndrlmesi gerekletirilmitir.

1.1. Literatrn Gzden Geirilmesi Gereinden ok serbestlik dereceli robot kollar, kendi uzuv deikenlerine sonsuz sayda zm retebilen robot kollar olarak tanmlanr. Bu robot kollar i ve d engeller ortaya ktnda deiik konfigrasyonlar seerek bu engeller arasndan geebilirler. (E. S. Conkur ve R. Buckingham,1997) Balca kullanm alanlar u ekilde sralanabilir(Ma S., Hirose S., Yoshinada H. 1995):

Byk makinelerin ilerine tamir ve bakm iin girebileceklerdir. Serbestlik dereceleri snrl olan ve alma ortamlar ok itinayla hazrlanmas gereken gnmzdeki endstriyel robotlarn hareket kabiliyetlerini ok fazla arttrabileceklerdir. Uzay istasyonu inas gibi el becerisi, mikro-elektronik imalat gibi vakum ortam gerektiren ok eitli ileri yapabileceklerdir. Baz beyin ameliyatlarnda, cerrahn elle ulamasnn ok zor olduu beyin ksmlarna ulamada kullanlabileceklerdir. Depremde ykk altnda kalm canllarn yer tespitini yapabilecek ve ykklar arasnda kendi yolunu bulup ilerleyerek onlara ilk mdahaleyi yapabilecektir.

Bu alanlar ok daha fazla geniletilebilir. Bu tr robotlar, insanlarn ulamas zor veya imkansz olduu blgelere girerek, el becerisi ve zeka gerektiren fakat insanlarn yapmas zor ve tehlikeli olan birok ii otomatik olarak yapabileceklerdir. Bu gibi ileri baaran bir robot kolu, hem zaman ve para tasarrufu salayacak hem de insanlar bu ileri yaparken karlaacaklar tehlikelerden koruyacaktr.

alma alannda robotun u noktasnn yrngesi verildiinde geerli bir mafsal yrngesinin hesabna gereinden ok eklemli zmleme denir (A. A. Maciejewski ve C. A. Klein, 1985). Bu zmleme snfnda, gradyan izdm teknii bo uzay ile eitli performans kriterleri uygulayarak robot uzuvlarnn kendi i hareketini belirler. Geniletilmi Jacobian teknii, mafsal uzay ile grev uzay arasndaki ilikiyi tanmlanan ek snrlamalar kullanarak tam belirli olmayan bir sistemi belirli bir sistem haline dntrr (D. N. Nenchev,1989). Ek kinematik snrlamalar engelden kanma

iin de tanmlanabilir (C. L. Boddy ve J. D. Taylor, 1993). Gereinden ok eklemli zmleme evredeki deiikliklere ok abuk tepki verebilir, fakat yrnge planlamas bakmndan yeterlilii tartlr. Bu teknikler esas olarak yerel tekniklerdir, yani retilen zmler istenen hareket alan dar olduunda geerli olur. Fakat az sayda olmakla beraber gereinden ok eklemli zmlemeyi global olarak kullanan teknikler de vardr (Y. Nakamura, 1991).

Eer grev u noktann belirli bir hedef noktaya ulamas olarak verilirse, robot mafsallarnn yrnge hesaplamas yrnge planlama problemi olarak isimlendirilir ve hareket planlamas iinde deerlendirilir (J. Latombe, 1991). Geometrik hareket planlama algoritmalar robotun tamam iin engellerle arpmayan yrngeler hesaplayabilir. Birok hareket planlama algoritmas arasnda ne kan genel yaklamlar yol haritalar, hcre ayrtrma ve potansiyel alan metotlardr. Bu yaklamlar hem alma uzaynda hem de konfigrasyon uzaynda uygulanabilir. alma uzay robotun iinde hareket ettii boyutlu uzay temsil ederken, konfigrasyon uzay robotun mmkn olan btn konfigrasyonlarn temsil eder. Robotun alma uzayndaki yrnge planlamas konfigrasyon uzaynda bir noktann yrnge planlamasna indirgenir (N. Amato ve Y. Wu, 1996). Yol haritalar alma alannn serbest blgeleri arasndaki balantlar tek boyutlu dorular setine indirger. Yol haritalar, grnrlk grafikleri, Voronoi diyagramlar ve serbest yol alar ile oluturulur. Bu yntemin nemli bir dezavantaj verimsizlie sebep olan ok sayda dm ierebilmesidir. Hcre ayrtrma metodu serbest blgeleri hcrelere ayrr ve hcreler arasndaki bitiiklikleri temsil eden balant grafiini oluturur. Bu grafik daha sonra hedef noktas ile balang noktasn balayan birbirine bitiik bir hcre grubu bulmak iin taranr (A. Hayashi, 1994).

Potansiyel alan metodunda, alma alan suni bir potansiyel alann etkisi altnda tutulur. Engeller itme etkisi verirken hedef noktas ekme etkisi oluturur. Bu iki etkinin negatif gradyannn toplam, robot uzuvlarndaki kontrol noktalar vastasyla robot hareketinin kontrolnde kullanlr. Potansiyel alan metodunda en byk problem, robot hedefe varmadan nce yerel minimumlardan birinde taklp kalmasdr. Bu soruna deiik zmler dnlmtr. Bunlardan biri yerel minimumlar arayp bularak devre d brakmaktr. Bir dieri de yerel minimumlar olmayan potansiyel alanlar

oluturmaktr.

Potansiyel

alan

metodu

gerek

zamanl

yerel

uygulamalarda

kullanlabilir. Fakat engellerin says arttnda engele ok yaklamak imkansz hale gelebilmektedir. Potansiyel alan metodu global olarak da uygulanabilir. Bu, saysal potansiyel alanlarn yerel minimumsuz olarak bir zgara zerinde tanmlanmas ile olur. Global bir yrnge iin iyi bilinen yntemleri bir ekilde kullanan baz algoritmalar vardr. Fakat bu algoritmalar u nokta yerine robot uzuvlarnn yrnge planlamasn yapar ve bunun iin farkl yntemler kullanr. rnein, sensr verisi kullanarak ve robot uzuvlarnn engellere hafif dokunmasna izin vererek robotun kinematik kontrol baarlmtr (D. Reznik ve V. Lumelsky, 1995). Robot konfigrasyonunu bir omurga erisine uygun hale getiren bir kontrol modeli oluturulmutur. Belirli bir eriye robot konfigrasyonunu uygun hale getirmek iin yeni kinematik denklemler gelitirilmitir. Yrnge planlamas penalt fonksiyonlarn ieren bir dizi minimizasyon problemi olarak incelenmitir. Sonsuz derecede esnek robot kontrol, Catmull-Rom erileri veya elipsoidler kullanlarak kontrol edilmitir. Konfigrasyon uzaynn hesap zorluklarn hafifletmek iin boyutu konfigrasyon uzayndan daha az olan duru uzay tasarlanmtr. Gereinden ok serbestlik dereceli bir robot dizayn edilmi ve duru uzay kullanlarak kontrol edilmitir (S. Ma ve I. Kobayashi, 2000). Gereinden ok serbestlik dereceli robot kollarnn mekanik dizayn ile ilgili literatrde az sayda yayn vardr. Mekanik dizayn genelde kategoride incelenir. Birincisi uzuvlar birbirine eklenerek oluturulan seri uzuv kollardr. kincisi uzuvlar yerine rnein hidrolik silindirler kullanlarak ekli deitirilebilen yaplar kullanlan robotlardr. ncs ise ard ardna eklenen modllerden oluan robotlardr. Ayrca, endoskop gibi tamamen esnek yaplar da vardr (P. J. Choi, J. A. Rice ve J. C. Cesarone, 1993)

1.2. Tezin Amac Gnmzde retilen teknolojinin kullanlmasnn yan sra teknoloji retmenin nemi, teknoloji reten lkelerin lider olduu dnya dengelerinde her geen gn daha da artmaktadr. Bu balamda 21. yzyln robot a olaca, robotlarn sadece sanayi ortamnda kalmayp, gnlk yaamn iinde yer alaca dnlerek, kendi hareket algoritmalarmz ve yazlmlarmz yazarak, robot retim teknolojisinin lkemize kazandrlmasnda alt yapya destek olacak almalarn yaplmasn amaladk.

2. ELEKTR K VE ELEKTRON K DONANIM


2.1. Servo Motorlar 2.1.1. Servo Motor Genel zellikleri Servo motorlar, dinamik yk ve hz deiiklii, pozisyonlama, peryodik alma, yksek kararllk ihtiyalarnda kullanlrlar. Rotorunda sabit mknatslar bulunan, modern elektronik srcler ile kontrol edilen senkron motorlardr. DC servo motorlardaki gibi komutatr ve fra elemanlar olmadndan gvenilir, kararl ve kk boyutlarda imal edilirler. faz sarglarna uygulanan sins eklindeki akm ile hava aralnda bir dner alan oluturulur ( ekil 2.1).

ekil 2.1 Servo motor (WEB_1, 2006) Servo motorlarn en nemli zelliklerinden birisi sfr devirde nominal moment deerlerini verebilmesidir. Bu zellik ekil 2.2de gsterilmitir.

ekil 2.2 Servo motor zerileri (WEB_2, 2006) 2.1.2. Servo Motor Balantlar Servo motorda, g ve geribesleme kablosu olmak zere iki kablo balants vardr. G kablosu, servo srcye balanarak 3 faz dalga genilik modlasyonu ile enerji beslemesi yaplmaktadr. Geribesleme eleman ise servo motorun milinin konum bilgisini vermektedir. Uygulamaya gre en yaygn olarak enkoder, resolver v.b. donanmlar geribesleme eleman olarak seilmekte ve bu donanmlar motorla birlikte orijinal olarak akuple gelmektedir. Servo srclerde geribesleme eleman balamak iin hazr soket bulunmaktadr. Servo motor genel balantlar ekil 2.3de gsterilmitir.

ekil 2.3 Servo motor genel balantlar (WEB_3, 2006)

2.2. Servo Srcler 2.2.1. Servo Src Genel zellikleri Motor, aktarma organ ve ykten oluan mekanik servo sisteminin hz, moment veya pozisyon deikenlerinden herhangi birinin, bu deikenle ilgili verilen referans deerine uygun olarak hareket ettirilmesini salayan elektronik g elemanlardr. Sinzoidal darbe genilik modlasyonu ile alan, analog veya dijital yapda srclerdir. Geribesleme olarak hall sensr, resolver, artml encoder veya mutlak (sin/cos) encoder kullanlr. Dinamik performans yksek, kullanm bilgi gerektiren grece pahal srclerdir.

ekil 2.4 Servo src alma prensibi (WEB_4, 2006) ekil 2.4de gsterildii gibi, servo srcler kompakt bir yapya sahip olup donanmnda mikroilemci bulunan bir kontrolr, darbe genilik modlasyonu yaparak sinzoidal k gerilimini oluturan bir PWM darbe reticisi ve g katn oluturan bir transistorl src kat vardr.

erdii mikroilemci sayesinde srcler, kullanc dostu yani kolay kullanmldr. Ayrca aada bir ksm verilmi bir ok arzada otomatik motor koruma zellii vardr. Ar akm k faz ve toprak ksa devresi DC bara yksek ve dk gerilim korumas Ar hz Giri gerilimi dk korumas Yariletken ar scaklk korumas Motor ar scaklk korumas Geribesleme hatas G kayna hatas Frenleme direnci hatas

2.2.2. Servo Src Balantlar 2.2.2.1 Servo Src G Balantlar

ekil 2.5 Servo src g balantlar (WEB_5, 2006)

ekil 2.5de gsterildii zere L1, L2, L3 srcnn faz enerji beslemesidir. U, V, W ular ise servo motor balant ulardr. Burada dikkat edilmesi gereken hususlardan birincisi motor kablosundaki U, V, W ularnn srcdeki U, V, W balant klemensine sral ekilde balanmasdr. kinci husus ise src L1, L2, L3 enerji balantsnn mutlaka uygun bir hzl sigorta ile srcye balanmasdr. Hzl sigorta karakteristik deerler olarak normal sigorta erilerinden daha hzl cevap verebilmekte ve srcnn zarar grmesini engellemektedir. 2.2.2.2. Servo Src Kontrol Balantlar Servo src, kontrol balantlar, src ve motoru altrp durduran, hz ayarlarn yapan, arza bilgilerini, devir, akm gibi bilgileri k sinyali olarak verebilen hazr klemens balantlardr.

ekil 2.6 Servo src kontrol balantlar (WEB_6, 2006)

10

ekil 2.6da src kontrol balantlar gsterilmitir. Bu almada kullanlan klemens numaralar ve fonksiyonlar u ekildedir: 3 ile 5 nolu klemens: Eksen kontrol kartndan gelen hz referans 26 ile 31 nolu klemens: Src ve motor ileri al 30 ile 31 nolu klemens: Acil stop durdurma, src aktif veya aktif deil

2.2.2.3. Servo Src Geribesleme ( Enkoder ) Balantlar Servo motorlu sistemlerde geribesleme eleman, motorun gerek pozisyon bilgisini srcye ve kontrol sistemine aktarr. Tablo 2.1de bir enkoderin, src terminallerine balant bilgileri verilmitir.

Tablo 2.1 Enkoder geribesleme eleman balant terminalleri (WEB_7, 2006) 2.3. Geribesleme Elemanlar Bu almada geribesleme eleman olarak enkoder kullanlmtr. Motor miline taklan bir enkoder, (servo motorlarda, enkoder motora akuple gelmektedir) motorun bir turunu kendi pals says kadar znrle ayrmaktadr. Enkoder alma prensibi ekil 2.7de verilmitir.

11

ekil 2.7 Enkoder alma prensibi (WEB_8, 2006) 2.4. Servo Srclerin Devreye Alnmas Sistem balantlar yapldktan sonra, enerji alp, servo srclerin parametre ayarlar yaplmaldr. Bu ayarlar; motor ve geribesleme elemannn parametrelerinin tantlmasn, sisteme ait maksimum hz, maksimum akm, hz kontrol sisteminin PID katsaylarnn ayarlanmasn kapsar. Srcler ok geni uygulamalar kapsayacak ekilde dizayn edildii iin yaklak 20 men ve her mende 50 parametre olmak zere 1000 den fazla parametre ayar bulunmaktadr. Parametre numaralar, men ve parametre bilgisini iermektedir. rnein 0.38 nolu parametre; 0. mennn 38 nolu parametresini gstermektedir. Kullanc ihtiyaca gre bu parametre menlerini ve parametreleri ayarlamak durumundadr. Bu men ve parametreler src ile birlikte gelen kullanc klavuzunda ve ayrca CD formatnda bulunmaktadr. Bu prototipte Control Techniques servo srcler kullanlmtr. Bu almada servo modu ve klemensten al, dur, hzlan modu kullanlmtr. Bu mod iin u ayarlar yaplmtr. Parametre 3.38: Ab.Servo Geribesleme eleman tipi servo enkoder seilmitir. Parametre 3.36: 5V Enkoder besleme voltaji 5 V seilmitir. Bu deer motorun zerindeki geribesleme eleman zerinden renilir. Parametre 3.34: 4096 Enkoder pals says. Bu deer motorun zerindeki geribesleme eleman zerinden renilir. Enkoderin 1 tur dndnde rettii pals saysdr.

12

Parametre 0.46: 1.6 A Motor akm deeri. Bu deer motor plaka etiketinden baklr. Parametre 0.42: 6 Motor kutup says. Bu deer motor plaka etiketinden baklr. Parametre 0.02: 3000 rpm Maksimum hz (devir/dk). Sisteme gre seilir. Parametre 0.03: 1 s Hzlanma rampas (sn). Maksimum hza klacak sre. Sisteme gre seilir. Parametre 0.04: 1 s Yavalama rampas (sn). Maksimum hzdan sfr hza dlecek sre. Sisteme gre seilir. Aada verilen parametrelerden de gereklenen deerler izlenebilir: Parametre 0.10: Motor devri (devir/dk) Parametre 0.13: Motor akm A ( amper ) Parametre 3.27: Enkoder pozisyonu

2.5. Eksen Kontrol Kart Eksen kontrol kartlar (ekil 2.8), bilgisayarlarn PCI slotlarna taklan, kendi hzl ilemcisi ve giri k donanmlar bulunan DSPli kontrol kartlardr. En byk zellikleri 8 eksen iin 8 enkoder balantsnn direkt olarak yaplabilmesi, bu kartlarn kendi hafzalarnn bulunmas ve interpolasyon yapabilmeleridir.

ekil 2.8 Eksen kontrol kart genel grnm (WEB_9, 2006)

13

ekil 2.9 Eksen kontrol kart terminal kart (WEB_10, 2006) ekil 2.9da gsterilen terminal kart, bilgisayarn PCI slotuna taklan eksen kontrol kartnn dier donanmlarla balantsn salar. Bu almada kullanlan balantlar u ekildedir; Axis 0 dan Axis 7 ye kadar olan konnektrler: Motorlarn enkoder balantlarnn yapld noktalardr. ekil 2.10da enkoder balants ayrntlar verilmitir. X17 konnektr: al, dur gibi veya snr switchleri gibi dijital girilerin balantlarnn yapld noktalardr. X9 konnektr: Src ileri al, geri al gibi dijital klarn balantlarnn yapld noktalardr. X11 konnektr: Src hz referanslarnn verildii anolog klarn balantlarnn yapld noktalardr.

ekil 2.10 Eksen kontrol kart enkoder balantlar (WEB_11, 2006)

14

2.6. Sekiz Eksen Robot Kontrol Panosu Bu almada, Makine Mhendislii Blmnde Do. Dr. E. ahin ONKUR ynetimindeki TB TAK destekli proje (ekil 2.16) iin sekiz ekseni kontrol edebilen servo sistemi ve elektrik panosu kurulmu ve devreye alnmtr ( ekil 2.11). Kullanlan motorlar ekil 2.12de gsterilmitir. ekil 2.15te servo motorlar gsterilmitir. Enkoderler eksen kart terminal balantlarna ekil 2.13te gsterildii gibi balanmtr. ekil 2.14te servo srcler,

ekil 2.11 Sekiz eksen robot kolu iin yaplan elektrik panosu ve servo sistem

ekil 2.12 Sekiz eksen robot kolu iin kullanlan motorlar

15

ekil 2.13 Eksen kontrol kart enkoder balantlar, hz referans balantlar, al dur balantlar

ekil 2.14 Servo srcler

ekil 2.15 Servo motor ve kablo balantlar

16

ekil 2.16 TB TAK projesi iin yaplan panonun kontrol ettii robot kolu

17

3. ROBOT KOLU K NEMAT


3.1. Robot Kolu Kinematii Genel zellikleri Robotikte kinematik, hareket inceleme bilimidir. Robot kolu uzuvlar referans koordinat erevesine gre dnebilir veya telenebilir. Denavit ve Hartenberg tarafndan gelitirilen sistematik ve genel bir yaklam robotun u noktas ile robot kolu uzuvlarnn toplam yer deitirmeleri arasndaki ilikiyi kurar (Fu 1987). Uzuvlar arasndaki asal ve dorusal yer deitirmeler mafsal koordinatlar olarak adlandrlr ve uzuv deikenleri tarafndan tanmlanr. U noktasnn referans koordinat sistemine gre dnme ve teleme miktarn belirlemek iin, her uzuv dnme ve teleme miktarlarn gsteren A matrisleri srayla birbiriyle arplr. U noktasnn koordinatlarnn verilmesi durumunda, geriye doru gidilerek uzuv deikenleri elde edilebilir. Bu ilemler ileri ve ters kinematik olarak isimlendirilir. Bundan sonraki ksmda ileri ve ters kinematiin nasl belirlenecei anlatlacaktr. Genel transformasyon matrisi basit robotlar iin bile olduka kark olabilmektedir. Standart robotlar iin olan Jacobian matrisi (McKerrow 1991) ve (Koivo 1989) gibi standart ders kitaplarnda bulunabilir. 3.2. Genel Bir Robot Kolu Matrisleri in Koordinat ereveleri ve Transformasyon

n boyutlu bir pozisyon vektrnn n+1 boyutlu bir vektr ile gsterilmesine homojen koordinat gsterimi denir. Aada koordinat ereveleri arasnda bir pozisyon vektrn homojen koordinatlarda gsteren 4 4 lk bir matris grlmektedir (Fu, 1987).
dnme teleme x x R T = (3 * 3) (3 *1) = x y H 0 1 xz (1* 3) (1*1) 0 yx yy yz 0 zx zy zz 0 px py pz 1

18

p = p x i + p y j + pz k

yeni erevenin orijininin vektrn, yeni erevenin x ekseninin dorultu vektrn, yeni erevenin y ekseninin dorultu vektrn, yeni erevenin z ekseninin dorultu vektrn temsil eder.

x = x x i + x y j + xz k
y = y x i + y y j + yz k

z = z x i + z y j + zz k

Transformasyon matrisinin 4. kolonu x, y, ve z dorultularndaki telemeye karlk gelen 3 elemana sahiptir.

1 0 Trans ( p x , p y , p z ) = 0 0

0 1 0 0

0 0 1 0

px py pz 1

3 koordinat ekseninin herhangi birinde dnme mmkn olduundan, x, y ve z eksenlerinde as kadar olan dnmelere karlk gelen 3 dnme transformu vardr. x ekseni iin aadaki matris yazlabilir;

0 0 1 0 cos( ) sin( ) Rot ( x , ) = 0 sin( ) cos( ) 0 0 0

0 0 0 1

y ve z eksenleri etrafnda sadece dnmeleri temsil eden matrisler benzer ekilde yazlabilir.
cos( ) 0 Rot ( y , ) = sin( ) 0 0 sin( ) 1 0 0 0 0 cos( ) 0 0 0 1

cos( ) sin( ) sin( ) cos( ) Rot ( z , ) = 0 0 0 0

0 0 0 0 1 0 0 1

19

Transformasyon matrisinin elemanlar saf dnme ve teleme matrislerinin ard arda arpmyla bulunabilir. Kartezyen uzayda u noktasnn referans erevesine gre oryantasyonu istendiinde, bu, sabit referans erevesinin eksenleri etrafndaki dnmelerin bir dizisi olarak elde edilebilir. Bunu yapmak iin ok sayda yol varsa da, en iyi bilinenlerde birisi roll-pitch-yaw transformasyonudur. 3 dnmenin belirlenmesiyle olur. nce x ekseni etrafnda dnme, sonra y ve daha sonra da z eksenli etrafnda dnme.

RPY( , , ) = Rot( z , )Rot( y , )Rot( x , )


C( )C( ) C( )S ( )S ( ) S ( )C( ) C( )S ( )C( ) + S ( )S ( ) S ( )C( ) S ( )S ( )S ( ) + C( )C( ) S ( )S ( )C( ) C( )S ( ) = S ( ) C( )S ( ) C( )C( ) 0 0 0 Robotikte kinematik, 0 0 0 1

hareket inceleme bilimidir. Robot kolu uzuvlarnn

pozisyonlar, hzlar ve ivmeleri arasndaki ilikileri, kuvvetleri ve hareketi etkileyen dier faktrleri dikkate almadan inceler.

ln

n n -1
l n -1

l4

l3

3 2
l2

l1
1

ekil 3.1 Bal alar gsterilen n uzuvlu seri robot kolu

20

ekil 3.1de verilen seri uzuv robot kolunu incelendiinde uzuvlardan birinin

pozisyonu ve oryantasyonu veya her ikisi deitiinde, bu uzuv ve u noktas arasnda olan uzuvlarn pozisyonlar ve oryantasyonlar da deiecektir. Uzuvlarn pozisyon ve oryantasyonlar deiirken, genellikle u noktasnn pozisyonu ve oryantasyonunun temel referans erevesine gre belirlenmesi arzu edilir.

zi-1 zi zi-2
i
Joint i

yi xi

li
Link i Link i-1

xi-1
Joint i+1

li-1

Joint i-1

yi-1

ekil 3.2 D & H parametreleri

Her hareketli uzuva bir koordinat erevesi balandnda, her iki uzuv arasndaki transformasyon, A matrisi olarak isimlendirilen bir homojen transformasyon matrisi ile tanmlanabilir. rnein 1. uzuv temel ereveye 1. A matrisi olan 0A1 ile balanr. U noktasnn transformasyon matrisi R TH ise A matrislerinin 1. A matrisinden balayarak u noktasnn A matrisine kadar olan A matrislerinin ard arda arpmyla referans erevesine gre ifade edilebilir.
R

TH = R T1.1 T2 n 2 Tn1.n 1 TH = 0 A1.1 A 2 n 2 A n1.n1 A n

Bu denklem kapal formda olduundan, herhangi bir terim bir dierine gre ifade edilebilir ve robot kolunun kinematik analizinde ok nemlidir. nk robot kolunun ileri ve ters kinematiinin zmlemesinde kullanlr.

21

3.3. D & H (Denavit ve Hartenberg) Koordinat ereveleri


Uzuvlar arasndaki alar ve yer deitirmeler uzuv deikenleri tarafndan tanmlanan mafsal koordinatlar olarak adlandrlr. Her uzuvu iin bir DOFa sahip olan

n mafsall bir seri uzuv robot kolu n+1 tane uzuva sahiptir. D & H parametrelerini
kullanarak ekil 3.2de grld zere dorusal olmas art olmayan herhangi bir uzuv, yapsal kinematik uzuv parametreleriyle karakterize edilebilir (Koivo, 1989);

ln: uzuv uzunluu, mafsal eksenleri arasndaki ortak normal boyunca olan mesafedir. z
ve zi-1 eksenleri arasndaki uzunlua diktir.

i: positif zi-1 ekseninden positif zi eksenine olan pozitif x ekseni etrafndaki dnme
asdir.

i: pozitif xi-1 ekseninden positif zi eksenine olan pozitif zi-1 ekseni etrafndaki dnme
asdir. di 1. koordinat erevesinin orijininden xi-1 ekseni boyunca olan zi-1 ve xi eksenlerinin kesiimine olan uzaklkdr. Yapsal parametrelerin bazlar robot kolu hareketi srasnda zamanla deiebilir. Bu deerleri deien parametreler, rnein dnel mafsaldaki I as, mafsal deikenleri olarak isimlendirilir.

3.4. leri Kinematik


Bir robot kolunun mafsal uzay tanm, kartezyen uzay tanmyla ilikilendirilebilir. Yani, verilen bir mafsal deikenleri takm iin u noktasnn pozisyonu ve oryantasyonu kartezyen koordinatlarda belirlenebilir. Bu ilem ileri kinematik olarak bilinir. leri kinematik, nceden bahsettiimiz A matrislerini kullanarak u noktasnn pozisyon ve oryantasyonunu veren R TH transformasyon matrisini bulma olaydr. R TH transformasyon matrisi, genel teleme matrisi ile RPY alarnn oryantasyon transformu matrisiyle arplarak da elde edilebilir.

22

3.5. Ters Kinematik


Kartezyen koordinatlarda verilen bir u noktas pozisyonu ve oryantasyonu iin, mafsal deikenlerinin almas gereken deerleri bulma ilemine ters kinematik denir. Ters kinematik ileri kinematie gre zmlenmesi olduka zor olabilmektedir. Birok durumda zm garanti etmeyen ve deneme yanlma yntemini de ieren teknikler kullanmak gerekmektedir

23

4. HAREKET KONTROL ALGOR TMASI VE K KOLLU ROBOT KOLU TASARIMI


4.1. Hareket Algoritmas Genel zellikleri
Hareket algoritmas bir robot kolu iin verilen hedefe ulamak iin yaplacak hareketlerin uygun hz, uygun zaman, uygun pozisyon gibi kriterleri gz nnde bulundurarak planlanmas, yazlmn oluturulmas, eksen kontrol kart aracl ile servo src ve servo motorlara aktarlmasdr. Yazlm ve algoritma gelitirme aamalar drt ana gruba ayrlarak incelenecektir.

4.1.1. Nesneler ve Nesne Dizileri (Objects and Object Arrays)


Nesne temelli yaklam, gelitirdiimiz programnn her ksmnda kullanlmaktadr. Microsoft Visual Studio.NET dillerinden olan Visual C++.NET ile gelitirilmi nesne temelli programlamay esas alan bir yapya sahiptir. Robot uzuvlar, robotun kendisi, engeller, robotun u noktasnn izimindeki izgi paracklar gibi birok ilem nesneleri tanmlayan snflarla baarlr. Her nesne de kendisiyle ilgili ArrayList isimli bir nesne dizisinde saklanarak kullanlrlar ve birok maniplasyona maruz braklabilirler. Nesnelerin ve nesne dizilerinin programmzdaki neminden dolay gelitirilen basit bir programla nesneler ve nesne dizileri ksaca u ekilde anlatlabilir: Bu program, ok sayda uzva sahip bir seri robot kolu oluturup, robot kolunun uzuv alarna keyfi deerler vererek ekranda robot kolunun hareketini salamaktadr ( ekil 4.1).

24

ekil 4.1 Be uzuvlu robot kolu

ncelikle aadaki gibi bir uzuv (link) snf yazlr:

public __gc class link { public: double l, teta; };


Grld gibi link snf kullanm son derece basittir, sadece iki tane yesi vardr. l uzuv uzunluu deikeni ve teta uzuv as deikenidir. Bir nesne dizisi (ArrayList) oluturulur ve bu dizinin adresini ar isimli ArrayList tipinde bir iaretiye atanr.

ArrayList *ar; ar = new Array List();


Daha sonra bir link nesnesi oluturulur ve bu nesnenin adresini le isimli link tipindeki iaretiye atayalm. Daha sonra, uzuv deikenlerine keyfi deerler verelim:

link *le=new link(); le->l = 200; le->teta = 0.2;


Sonra, link nesnesini nesne dizisine ekleyelim.

ar->Add(le);

25

Bu ekilde istenilen kadar link nesnesi oluturulup ArrayListe eklenebilir. Link ekleme bittiinde artk robot kolu ekranda devaml hareket edecek ekilde izilmeye hazrdr. Bunun iin bir timer olay kullanlabilir. Timern iinde bir link nesnesi oluturulur.

ArrayListte nceden kaydedilmi link nesnesi bu linke atanr. Bylece bu linkin


yelerine eriim mmkn hale gelir. Aada gsterildii gibi her link alar timern her tick olaynda belli bir miktar arttrldnda ve paint olaynda izimler yapldnda robot ekranda hareket eder.

link *le=new link(); le = dynamic_cast < link* >(ar->Item[0]); le->teta+=-0.01; le= dynamic_cast <link* >(ar->Item[1]); le->teta+=0.02; Link alarna farkl arttrm deerleri verilerek deiik hareketler elde edilmektedir.
Ayrca robotun u noktasnn hareketi izildiinde ok ilgin eriler elde edilmektedir. Belli bir zaman sonra robotun ekranda izdii erilerin zerinden giderek, hareketlerini tekrarlad grlmektedir. Eer yukardaki snflar kullanmadan bu program yazmaya alsaydk birok ciddi zorlukla karlaacaktk. rnein her uzvun sadece iki deikeni olmasna ramen 5 uzuvlu robotumuza 10 tane deiken tanmlamamz gerekecekti. Uzuvlar iin yeni bir deiken dndmzde her uzuv iin ayr ayr deiiklik yapmamz gerekecekti. Robot kol saysn arttrmaya kalktmzda da kodun hemen her yannda zor olan deiiklikler yapmamz gerekecekti. Ayrca dngleri kullanarak kodu ksaltamayacaktk.

26

4.1.2. RoboKol Programnn Temel Yaps ve Snflar RoboKol program ngilizce dilinde yazlmtr. Ayrca fonksiyon ve deiken
isimleri mmkn olduunca yapt ie uygun olarak ve yeteri kadar uzunlukta isimlendirilmitir. Algoritma gelitirebilmek iin yazlmas gereken RoboKol programdaki temel ksmlar Robotu temsil eden snf, Engelleri temsil eden snf, Engelleri izecek kodu, Potansiyel alan hesaplayp ekranda grntleyecek kodu, Menler, ikonlar, dosya ama vb. ksmlar, Robotlar ve engelleri ieren alma alann kaydedecek kodu yazmaktr.

ekil 4.2 RoboKol programnn arayz ekil 4.2de grlen RoboKol programnn arayznde drt uzuvlu, uzuv genilikleri

ve uzuvlarn baz parametreleri de grlen bir robot izilmitir. Algoritma gelitirirken uzuv genilikleri ve parametre deerleri bazen gerekli olmakta bazen de bunlarn

27

ekranda grntlenmesi istenmemektedir. Bu yzden uzuv genilikleri ve parametreleri deerleri options diyalog kutusundan gerektiinde iptal edilebilir.

ekil 4.3 RoboKol programnn snflar ekil 4.3te u ana kadar yazlm olan kodda bulunan snflar grlmektedir.

Gelitirilmi snflar aada aklanmtr.

ekil 4.4 line snfnn deikenleri ve fonksiyonlar

ekil 4.4te grlen line snf robotun u noktasnn gittii yolu ekranda izmek iin

kullanlr. Bu yol ard arda eklenmi izgilerden oluur. ekildeki drt deiken her izgi iin balang ve biti koordinatlarn saklar. Bu koordinatlara erimek iin ise drt tane deiken alan yapc tasarlanmtr.

28

ekil 4.5 link snfnn deikenleri ve fonksiyonlar

ekil 4.5te grlen link snf uzuvlarla ilgili ilemleri bir araya getiren bir snftr.

Her link ile ilgili balang ve biti koordinatlar, linkin rengi, linkin mutlak ve bal alar gibi ok sayda deiken bu snftan oluturulan nesnelerce saklanr. Ayrca

linkin izimini bu snf kullanarak yapmak olduka pratik olmaktadr. Bu sebepten


ekil 4.5te grld gibi bu snf iinde link izimiyle ilgili ok sayda fonksiyon

gelitirilmitir.

29

ekil 4.6 manip snfnn deikenleri ve fonksiyonlar ekil 4.6da grlen manip snf robot kolu ile ilgili ilemleri gerekletirir. ok

sayda fonksiyon ve deiken ierir. Bu snf kullanarak ayn anda birden ok robot kolu oluturulabilir. Bylece program daha esnek bir yapya sahip olmaktadr. Manip snf yukarda bahsedilen link snfn kullanarak uzuvlarn oluturur ve uzuvlar arasndaki ilikileri kurar. rnein bir link hareket ettirildiinde dier linklerin koordinatlar deiecektir. Bu yzden link nesnelerinin yelerine yeni uygun deerler atanmaldr. Bunu manip snf forwardKinematics fonksiyonuyla yapar. Ekranda robot kolunu izmek iin snfnda drawManipulator fonksiyonu

manip

gelitirilmitir. Esasnda bu fonksiyonda linkleri izecek kodun kendisi yoktur. Bu

30 fonksiyon sadece her link iin link snfnda bulunan ve esas izimi yapan drawLink fonksiyonunu arr.

ekil 4.7 obstacle snfnn deikenleri ve fonksiyonlar ekil 4.7de grlen obstacle snf ayr bir program olarak RoboKol programna

entegre edilmitir. Burada ortaya kan ilgin bir nokta, mousemove gibi olaylara yazlm kodu adapte etmekte ortaya kt. Bir programda tek bir mousemove olay olduundan dier programda olan mousemove olayna yazlm kodu kopyalayp, bu program iine yazmak yerine, mousemove olaynn ismini deitirerek basit bir fonksiyon haline getirip esas programn mousemovenda kullanld. Bylece karklk nlenmi oldu.

Obstacle snf, dikdrtgen, daire, izgi gibi nesneleri ekrana izmekte ve


gerektiinde byltme, kltme, uzatma, ksaltma ve silme gibi edit ilemlerine izin

31

vermektedir. Burada ekrana bir dikdrtgen izmekle onu fare ile deitirmek iin gerekli kodun olduka farkl ve zor olduunu vurgulamak gerekir. Bu snfn esas grevi ise ekrana izdii temel geometrik ekilleri, genilii ve ykseklii kullanc tarafndan zgaray kullanarak engel noktalarna dntrmesidir. stendiinde ekrana bir zgara izebilir ve izimleri bu zgaraya uyumlu hale getirebilir.

ekil 4.8 frameForm snfnn deikenleri ve fonksiyonlar

32

RoboKol snf MDI (Multiple Documet Interface) zelliine sahip bir programdr.
Yani program iinde ayn anda birden fazla dokman alabilir (ekil 4.11de bu zellik grlebilir).
ekil 4.8de grlen frameForm snfnn parent zellii aktif hale getirilerek

MDI oluturulur. Bu snf kayt yapmak, menleri kullanmak, ikonlar oluturmak ve Windows kayt defterine kayt yapmak gibi ilemlerden sorumludur.

ekil 4.9 mainForm snfnn deikenleri ve fonksiyonlar

33

ekil 4.9da grlen mainForm snf asl ii gren snftr. Dier snflarda

tanmlanm fonksiyonlar, o snflar vastasyla arlr ve bu snf iinde kullanlr.


ekil 4.9da da grld gibi ok sayda fonksiyon ve deiken iermektedir.

ncelikle ekrana bir robot kolu izilir. Fakat izim tamamlanmadan hemen nce bu izim sadece u uca eklenmi dorulardan baka bir ey deildir. izim tamamlanp farenin ortadaki tuuna basldnda convertToManip fonksiyonu bu izgileri robot koluna evirir. Ayrca, gerektiinde robot kolunun ilk haline dnebilmek iin robot kolunun ilk durumu ayr bir ArrayListde saklanr. Program mmkn olduunca deiik denemelere izin verecek ekilde esnek tasarlanmtr. Birden ok robot kolu ayn alma alannda oluturulabilir. Bu robot kollar temel (ilk) uzuvlarndaki mafsala tklanarak istenilen bir yere srklenebilir. Dier mafsallara fare ile tklanarak uzuvlar elle oynatlarak dz kinematik denenebilir ve uzuv uzunluklar fare ile deitirilebilir. Bunlara ek olarak, btn alma alan fare ile saa-sola ve yukar-aa serbeste kaydrlabilir, kltlebilir ve byltlebilir. Dier bir yazmas zor olan ksm da koordinat sistemini deitirmek oldu. Bilindii gibi Windowsun varsaylan koordinat sisteminin orijini formun sol st kesidir.

x ekseni saa doru, y ekseni ise aa doru pozitiftir. Bu sistem her zaman kullanlan
orijini sol alt kede istenilen bir yerde olan, x ekseni saa doru, y ekseni ise yukar doru pozitif olan sisteme dntrld. ekil 4.9daki fonksiyonlar incelendiinde, bu fonksiyonlar arasnda servo motorlarla ilgili fonksiyonlarn olduu da grlecektir.

34

ekil 4.10 optionDialog snfnn deikenleri ve fonksiyonlar ekil 4.10da grlen optionDialog snf (ekil 4.15te bu snfn arayz

grlmektedir) RoboKol programnda kullancnn baz ok kullanlan deerleri ayarlayabilmesini salar. Ekrandaki robot veya robotlar, engeller ve bu snf deikenlerine verilen deerler kullanc dokman kaydettiinde, dokman ile saklanr. Kullanc dokman atnda deitirdii deerlerin saklandn grecektir.

35

4.1.3. RoboKol Programnn Menleri RoboKol snfnn MDI zelliine sahip bir program olduu Ksm 4.1.2de
bahsedilmiti. ekil 4.11de RoboKol programnn ana erevesi iinde iki tane ak dokman grlmektedir. Bu dokmanlardan istenilen dokmann balk ksmna ift tklanarak, bu dokmann tm formu kaplamas salanabilir. Ayrca yine ekil 4.11de de grlen Windows mens bu dokmanlara tile horizontal, tile vertical ve cascade dzenlerinin verilmesini salar. Gelitirilmi olan dier menler aada aklanmtr.

ekil 4.11 RoboKol programnn MDI zelliini gsteren ak iki dokmanl arayz

36

ekil 4.12 Program file mens ekil 4.12de grlen file mens standart dokman ilemlerini gerekletirir. ekil

4.12de grlen son alan dokmanlar listesi MFCde standart olarak gelmekteydi. Fakat yeni versiyonda hazr olmadndan bunun yazlmas gerekti. Bu listeyi dokmanla kaydetmek mmkn olmadndan Windows kayt defterine yazlmas gerekti. En byk zorluk da sralamada ortaya kt. En son alan dokmann adnn en stte olmas zorunluluu probleminin zm zerinde ok allmas gerekti. Fakat problem istenilen ekilde zld. Bu listenin nemi dokman amay ok kolaylatrmasdr. Ayrca, biraz daha ileri gidip program alrken en son dokmann da otomatik olarak almas saland. Bylece bir dosya zerinde alrken devaml olarak program kapatlp aldnda bu kullancya ok zaman kazandrmaktadr. ekil 4.13te option ve draw menleri grlmektedir.

ekil 4.13 Program option ve draw menleri

37

ekil 4.14 Program context mens ekil 4.14te fare form zerinde hareket ederken sa tua basldnda farenin

olduu yerde ortaya kan ve en ok kullanlan konutlar ieren context mens grlmektedir. ekil 4.15te, options snf incelenirken bahsedilen options dialou grlmektedir.

ekil 4.15 Program options dialou

4.1.4. RoboKol Programnda Kontrol Algoritmalar Gelitirilmesi


Yukarda ksaca anlatlan program gelitirme aamasnn bilindii gibi hedefi gereinden ok serbestlik dereceli robot kollar iin kinematik kontrol algoritmalar gelitirmektir. Program belli bir olgunlua eritikten sonra algoritma gelitirilmeye baland. Bundan sonraki aamalarda hem program gerektike modifiye edildi hem de onun iinde algoritmalar gelitirildi.

38 Engellerin olmad alanda robot u noktasnn verilen yrngesini, robotun ka tane uzvu olursa olsun, takip edebilecek algoritma gelitirildi. Bu yrnge sadece ileri doru deil geriye doru da olabilmektedir. Bu algoritmann avantajlar yle sralanabilir: Basitlik Gerek zamanl alabilme Eklenebilirlik: Algoritmaya daha sonradan istenen baz ek zellikler kolayca monte edilebilir. Bu bir anlamda lineer sistemlerdeki sperpozisyon prensibine benzetilebilir.

Engeller olma durumunda engellerden kanmaya yardmc olma

ekil 4.16da drt uzuvlu seri bir robot kolu grlmektedir. Buradaki drt uzuv,

anlatmda basitlik iin seilmitir. Algoritmada uzuv snrlamas yoktur. Bilindii gibi, robotun u noktasnn ulamas gereken koordinatlar verildiinde bu koordinatlara ulamak iin gereken uzuv alarn hesaplamaya ters kinematik denmektedir. Bizim yapmaya altmz da gereinden ok serbestlik dereceli robotlar iin saysal ters kinematik zmleri gelitirmektir.
ekil 4.17de ayn robot kolunun iki konfigrasyonu izilmitir. Robot kolu birinci

konfigrasyonda iken ikinci konfigrasyona ulamas istenmektedir. Baka bir deyile, robot kolunun u noktas olan E noktasnn E noktasna gelmesi istenmektedir. Bu ilem gerekleirken de uzuvlarn mmkn olduunca az hareket etmesi tercih edilmektedir.
ekil 4.17ye tekrar baklarak, E noktasndan D noktasna bir ED vektr izilir.

Bu vektr E noktasnda balayp D noktasnda bitmektedir. Bu vektr kendi byklne blnrse E noktasnda balayan ve ED dorultusunda olan bir birim vektr elde edilir. imdi bu birim vektr 4 nolu uzvun uzunluuyla yani DE ile arplrsa D noktas elde edilir. Bylece 4 nolu uzuv DE konumundan DE olan yeni konumuna gelmi olur.

39 Benzer ekilde DC aras izilip DC birim vektr kullanlarak C noktas, CB aras izilip CB birim vektr kullanlarak B noktas ve BA aras izilip BA birim vektr kullanlarak A noktas belirlendiinde robot kolunun yeni konfigrasyonu ortaya km olur. Uzuvlar birbirine dnel mafsallarla bal rijit cisimler olduundan ve robot kolunun temeli yani A noktas sabit olduundan henz i bitmi deildir. nk ekil 4.17de rahatlkla grlebilecei gibi A noktas A noktasna kaymtr. Bu kayma geici bir sre iin dikkate alnmaz ve robot kolu fare ile hareket ettirilirse ok yumuak hareketler elde edildii grlr.

ekil 4.16 Drt uzuvlu seri robot kolu

ekil 4.17 Drt uzuvlu seri robot kolunun iki ayr konfigrasyonu

40

Program yazlrken ve denenirken uzun bir zaman robot kolu bu halde kullanld. Bulunan zm u ekilde aklanabilir: Robot kolunun u noktasyla temel noktasnn yeri deitiriliyor. Yani A noktasn robot kolunun u noktas ve E noktasn robot kolunun temel noktas kabul ediliyor. imdiki ama bu ters dnm robot kolu ile A noktasna ulamak. Biraz nce aklanan metot kullanlarak A noktasna ulalyor. Bu sefer de robot kolunun imdiki temel noktas olan E noktas kayyor. Robot kolunu eski haline getirip algoritma tekrar uygulanyor. Robot kolunun u ve temel noktalarnn srayla deitirilmesi hata sfr olana kadar, yani robotun temeli A noktasna ucu da E noktasna gelene kadar devam ediliyor. Buradaki en nemli soru u: Acaba ka iterasyondan sonra bu yerleme gerekleiyor? Yaplan denemelerin her defasnda hata gittike azalarak genelde 3-5 en ok da 10-15 defada yerleme gerekleiyor. Yukarda her ne kadar yumuak hareketler elde edildii sylense de nemli bir sorun henz zm beklemektedir. Robot kolunun uzuvlar baz durumlarda i ie geerek robot kolu uzuvlar karmakark bir hal almaktadr. Hedef noktas robot kolunun temelinden uzaklarken hibir problem ortaya kmamaktadr. Gzlemlerimiz sonucu bu problemin, robot kolunun ucu robot kolunun temeline doru giderken ortaya kt fark edildi. Bu durumda baka bir strateji belirlenmesi gerekti.

ekil 4.18 leri ve geri kavramlarnn belirlenmesi

41

ekil 4.18e bakarak robotun u noktasnn E ve E noktalarna gelmesinin

istendii farz edilir. leri ve geri kavramlarnn tanmlanmasnda EA ve EA dorularn kullanyoruz. EA dorusunun uzunluu, EA dorusunun uzunluundan daha ksa olduu iin robotun E noktasna olan hareketini geriye doru olarak tanmlanr. EA dorusunun uzunluu, EA dorusunun uzunluundan daha uzun olduu iin robotun E noktasna olan hareketini ileriye doru olarak tanmlanr.
ekil 4.19da grlen robot kolunun geriye doru hareketini incelenirse 1 nolu

uzvun hareket snrlarna eritiini ve artk harekete dahil edilmediini dnrsek bu durumdaki bir sonraki uzuv, yani 2 nolu uzuv, saat tersi ynde nceden belirlenen bir miktar dndrlr ve 2 nolu uzuv zerindeki C noktas C noktasna gelir. Robot kolu 3 nolu uzvu hala C noktas zerindedir.
imdi bu C noktasn robotun u noktas, E noktasn da robotun temeli olarak alp

ileri doru hareket algoritmas bir defa uygulanr. Bu durumda ekil 4.20de grld gibi 3 nolu uzvun C noktas da C noktasna gelir. Fakat nceden de bilindii gibi bir defa uygulanan ileri doru hareket algoritmasnda temel noktas kayacaktr ve E noktas E noktasna gelecektir.
ekil 4.20ye tekrar bakldnda robot kolu artk yle bir pozisyona gelmitir ki bu

pozisyon ok iyi bilinen ileri gitme posizyonudur. leri gitme algoritmas uygulanarak robot kolu ekil 4.21de grlen E konumuna gelir. Bylece geriye gitmede 3 ve 4 nolu uzuvlar ar derecede birbirine yaknlamaz ve mafsal limitleri ihlal edilmez.
A C' C

1 2 3

D' D B 4

robotun u noktas

E E''

robotun u noktasnn ulamas gereken nokta

ekil 4.19 2 nolu uzvun geriye alnmas

42

C'

1 2 3

D' D B 4

robotun u noktas

E' E E''

robotun u noktasnn ulamas gereken nokta

ekil 4.20 2 nolu uzvun ve dierlerinin geriye alnmas

ekil 4.21 Geriye doru hareketin tamamlanmas

Bu metotta hareketler ileriye ve geriye doru yumuak bir ekilde gereklemekte,


ekil 4.22de grlen robot kolunun tabii kvrmlar korunmakta ve ani deimelere izin

verilmemektedir.

43

ekil 4.22 Robot kolunun ideal hareketi

4.1.5. ki Uzuvlu Robot Kolu Dizayn ve altrlmas


ki uzuvlu robot kolu mekanik ve elektrik tasarm yaplarak, yazlan hareket kontrol algoritmas altrlmtr. ekil 4.23te gsterilen robot kolu iki eksenlidir, ve servo motorlar yke dorudan akuple edilmitir. Yazlan programdan servo motorlarn konum kontrolleri ve hz kontrolleri istenilen dzeyde gerekletirilememitir. Projede kullanlan servo motorlarn tork deerleri, redktrsz montaj iin yetersiz gelmitir.

ekil 4.23 Tasarlanan iki uzuvlu robot kolu

44

4.1.6. Lazer Mesafe lme Sensr


Tasarlanan prototip robot kolunun, sanayi ortamnda alabilmesi iin, robot kolunun son uzuvu zerine herhangi bir yrngeyi takip edebilmei salayacak hassas bir alglayc olan mikron baznda lm yapabilen lazer sensr taklmtr (ekil 4.24). Lazer sensorden gelen 4-20 mA mesafe bilgisi, eksen kontrol kartnda fazladan anolog giri olmad iin RS-485 haberleme protokol ile robot kolunu kontrol eden bilgisayar programna aktarlmtr.

ekil 4.24 Lazer sensr

4.1.7. Robotun Mafsallar zerine Ek Bir Enkoder Yerletirilmesi


Prototip robot kolunda kullanlan redktrler standart redktr olduundan dolay dili boluklar bulunmaktayd. Bilgisayardan gnderilen hedef pozisyon deerine ulap ulaamadmz kontrol edebilmek ve sistemin gvenilirliini arttrmak iin mafsallar zerine ek bir enkoder yerletirilmesi zm olarak dnlmtr. Bu amala ek bir enkoder tek bir mafsal zerine yerletirilerek servo srcye balanp, servo srcnn RS-485 haberleme portundan bilgisayar programna enkoder bilgisi aktarlmtr. Bu alnan enkoder bilgisi robot kolu hareket kontrol algoritmas iine entegre edilecektir.

45

5. SONU VE NER LER


Bu tezde, motorlarn kurulmas, ayarlanmas ve kontrol kartyla bilgisayardan kontrol gerekletirilmitir. Buna ek olarak, bu prototipte kullanlan kontrol algoritmalar incelenmitir. Robotun mafsallar zerinde ek bir enkoder yerletirilebilmesi iin gerekli almalar yaplm, bu enkoderlerden alnan bilgi bilgisayar programna aktarlmtr. Benzer ekilde robotun u noktasna taklan bir lazer sensryle seri port vastasyla iletiim kurulmu ve sensr verisi bilgisayar programna aktarlmtr. Tasarlanan ve kurulan elektrik panosu ve eksen kontrol kart donanmlar altrld. Hareket kontrol algoritmas Visual C++.NET ile yazlarak altrld. Eksen kontrol kartnda hazr bulunan seri haberleme portuna balanabilen evresel giri ve klarn balanaca ek giri, k modllerinin kullanlmasnn sistemin fonksiyonelliini arttraca gzlendi.

Sistemde kullanlabilecek redktrlerin boluksuz olmas ve daha kk gvde boyutlarnda olmas tasarlanan robot kolunun fonksiyonelliini arttracaktr.

Hareket

kontrol

algoritmasnn

yazlmasnda

kullanlan

Visual

C++.NET

programlama dilinin nesneye ynelik olmas ve snf yaps, programlamay kolaylatrm ve hzlandrmtr. Sistemde kullanlan bilgisayarn sanayi tip bilgisayar olmas sistemin gvenilirliini arttracaktr.

ki uzuvlu robot kolu mekanik ve elektrik tasarm yaplarak, yazlan hareket kontrol algoritmas altrlmtr. Servo motorlar yke dorudan akuple edilmitir. Yazlan programdan servo motorlarn konum kontrolleri ve hz kontrolleri istenilen dzeyde gerekletirilememitir. Projede kullanlan servo motorlarn tork deerleri, redktrsz montaj iin yetersiz gelmitir. zm olarak motorlarn tork deerlerinin ykseltilmesi ya da boluksuz redktr kullanlmas dnlmtr.

46

KAYNAKLAR
E. S. Conkur and R. Buckingham, Clarifying the definition of redundancy as used in robotics, Robotica 15 (5), 583-586 (1997). Ma S., Hirose S., Yoshinada H. 1995. Development of a hyper-redundant multijoint manipulator for maintenance of nuclear reactors, Advanced Robotics 9 (3): 281-300. Buckingham R. 1993. Towards safe active robotic devices for surgery, Industrial Robot 20 (2): 8-11. A. A. Maciejewski and C. A. Klein, Obstacle avoidance for kinematically redundant manipulators in dynamically varying environments, The International

Journal of Robotics Research 4 (3), 109-117 (1985).


J. L. Chen, J. S. Liu, W. C. Lee and T. C. Liang, On-line multi-criteria based collision-free posture generation of redundant manipulator in constrained workspace,

Robotica 20 (6), 625636 (2002).


D. N. Nenchev, Redundancy resolution through local optimisation: a review,

Journal of Robotic Systems 6 (6), 769-798 (1989).


C. L. Boddy and J. D. Taylor, Whole arm reactive collision avoidance control of kinematically redundant manipulators, IEEE International Conference on Robotics and

Automation (1993), pp. 382-387.


Y. Nakamura, Advanced robotics, redundancy and optimisation (Addison-Wesley Pub. Company, Reading, 1991). J. Latombe, Robot motion planning (Kluwer Academic Publishers, USA, 1991). D. Hsu, J. Latombe and R. Motwani, Path planning in expensive C-spaces, IEEE

International Conference on Robotics and Automation (1997), pp. 2719-2726.


N. Amato and Y. Wu, A randomised roadmap method for path and manipulation planning, IEEE International Conference on Robotics and Automation (1996), pp. 113120. K. K. Gupta, Fast collision avoidance for manipulator arms: a sequential search strategy, IEEE Transactions on Robotics and Automation 6 (5), 522-532 (1990).

47

A. Hayashi, Geometric motion planning for highly redundant manipulators using a continuous model (PhD Thesis, The University of Texas at Austin, 1994). O. Khatib, Real-time obstacle avoidance for manipulators and mobile robots. The

International Journal of Robotics Research 5 (1), 90-98 (1986).


F. Janabi-Sharifi and D. Vinke, Robot path planning by integration the artificial potential field approach with simulated annealing, IEEE International Conference on

Robotics and Automation (1993), pp. 282-287.


S. W. Kim and D. Boley, Building and navigating a network of local minima,

Journal of Robotic Systems 18 (8),405419 (2001).


C. Connolly and R. Grupen, The application of harmonic functions to robotics,

Journal of Robotic Systems 10 (7), 931946 (1993).


E. Rimon and D. E. Koditschek, Exact robot navigation using artificial potential functions, IEEE Transactions on Robotics and Automation 8 (5), 501-517 (1992). B. Faverjon and P. Tournassoud, A local based approach for path planning of manipulators with a high number of degrees of freedom, IEEE International

Conference on Robotics and Automation (1987), pp. 1152-1159.


D. Reznik and V. Lumelsky, Sensor-based motion planning in three dimensions for a highly redundant snake robot, Advanced Robotics 9 (3), 255-280 (1995). F. Fahimi, H. Ashrafiuon and C. Nataraj, Obstacle avoidance for spatial hyperredundant manipulators using harmonic potential functions and the mode shape technique, Journal of Robotic Systems 20 (1), 23-33 (2003). H. Mochiyama, Kinematics of the whole arm of a serial-chain manipulator,

Advanced Robotics 15 (2), 255-275 (2001).


J. Z. Li and M. B. Trabia, Adaptive path planning and obstacle avoidance for a robot with large number of redundancy, Journal of Robotic Systems 13 (3), 163-176 (1996). P. J. Choi, J. A. Rice and J. C. Cesarone, Kinematics of an indefinitely flexible robot arm, Journal of Robotics Systems 10 (4), 407-425 (1993).

48

M. W. Hannan and I. D. Walker, Kinematics and the implementation of an elephants trunk manipulator and other continuum style robots, Journal of Robotic

Systems 20 (2), 4563 (2003).


S. Ma and M. Konno, An obstacle avoidance scheme for hyper-redundant manipulators-global motion planning in posture space, IEEE International Conference

on Robotics and Automation (1997), pp. 161-166.


S. Ma, I. Kobayashi, S. Hirose and K. Yokoshima, Control of a multijoint manipulator moray arm, IEEE/ASME Transactions on Mechatronics, 7 (3), 1-14 (2002). S. Ma and I. Kobayashi, An obstacle avoidance control scheme for the Moray arm on the basis of posture space analysis, Robotics and Autonomous Systems 32 (2-3), 163172 (2000). G.S. Chirikjian, J.W. Burdick, Parallel formulation of the inverse kinematics of modular hyper-redundant manipulators, in: Proceedings of the IEEE International Conference on Robotics and Automation, 1991, pp. 708713. WEB_1. WEB_2. WEB_3. WEB_4. WEB_5. WEB_6. WEB_7. WEB_8. WEB_9. (2006), www.controltechniques.com (2006), www.controltechniques.com (2006), www.controltechniques.com (2006), www.controltechniques.com (2006), www.controltechniques.com (2006), www.controltechniques.com (2006), www.controltechniques.com (2006), www.controltechniques.com (2006), www.triomotion.com

WEB_10. (2006), www.triomotion.com WEB_11. (2006), www.triomotion.com

49

ZGEM
1977 ylnda Afyon Sandklda dodu. lk ve orta okul renimini Afyon Dinar Atatrk lkokulu ve Atatrk Ortaokulunda tamamlad. Ortaokul sonunda yaplan snavla Isparta Gnen Anadolu retmen Lisesini kazand ve okul birincisi olarak lise renimini tamamlad. 1999 ylnda stanbul Teknik niversitesi Elektronik ve Haberleme Mhendislii blmnden mezun oldu. 2000 ylnda askerlik grevini tamamlad. 2000 ylndan itibaren Denizlide bulunan zel bir irkette proje mhendisi olarak alrken 2006 ylnn banda kendi irketini kurdu.

Anda mungkin juga menyukai