• Sonuç bulunamadı

Çoğul Robotlarda Hareket Koordinasyonunun Kuaternionlar İle Kinematik Olarak Modellenmesi Ve Çözümü

N/A
N/A
Protected

Academic year: 2021

Share "Çoğul Robotlarda Hareket Koordinasyonunun Kuaternionlar İle Kinematik Olarak Modellenmesi Ve Çözümü"

Copied!
66
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Anabilim Dalı: MAKĐNA MÜHENDĐSLĐĞĐ Programı: SĐSTEM DĐNAMĐĞĐ VE KONTROL

ÇOĞUL ROBOTLARDA HAREKET KOORDĐNASYONUNUN KUATERNĐONLAR ĐLE KĐNEMATĐK OLARAK MODELLENMESĐ VE ÇÖZÜMÜ

KASIM 2008 YÜKSEK LĐSANS TEZĐ Mak. Müh. Erdem SAĞLAMER

(2)

ĐSTANBUL TEKNĐK ÜNĐVERSĐTESĐ  FEN BĐLĐMLERĐ ENSTĐTÜSÜ

ÇOĞUL ROBOTLARDA HAREKET KOORDĐNASYONUNUN KUATERNĐONLAR ĐLE KĐNEMATĐK OLARAK MODELLENMESĐ VE ÇÖZÜMÜ

YÜKSEK LĐSANS TEZĐ

Mak. Müh. Erdem SAĞLAMER

KASIM 2008

Tezin Enstitüye Verildiği Tarih : 15 Eylül 2008 Tezin Savunulduğu Tarih : 15 Ekim 2008

Tez Danışmanı : Prof.Dr. Hakan TEMELTAŞ Diğer Jüri Üyeleri : Y. Doç. Dr. Levent OVACIK

(3)

ÖNSÖZ

Robotların sanayide kullanımı ülkemizde ve dünyada gün geçtikçe hızlanan bir şekilde yaygınlaşmaktadır. Buna paralel olarak da endüstriyel robot teknolojisi sanayinin değişen ihtiyaçlarına cevap verecek şekilde gelişmektedir. Günümüzdeki uygulamalarda yaygın olarak çoğul robotlar bir PLC vasıtasıyla senkronize edilmektedir. Karmaşık ya da büyük parçalarda birden fazla robotun aynı anda çalışması sanayinin giderek artan esneklik, düşük maliyetli yatırım ve hızlı çevrim zamanı ihtiyaçlarına cevap vermekle beraber robotlar arasında koordinasyon gerektirmektedir. Bu tez kapsamında uygulamaları henüz çok yeni olan koordinasyonlu çalışan çoğul robotların kinematiği üzerinde çalışılmıştır. Robotların modellenmesinde kuaternion cebri kullanılmış ve bunun avantaj ve dezavantajları teorik modeller üzerinde gösterilmiştir.

Bu çalışmada bana yardımcı olan ve yol gösteren tez danışmanlarım Doç. Dr. Şeniz Ertuğrul’a ve Prof. Dr. Hakan Temeltaş’a, ayrıca öğrenim hayatım boyunca benden yardımlarını esirgemeyen aileme teşekkür ederim.

Erdem SAĞLAMER Kasım 2008

(4)

ĐÇĐNDEKĐLER

KISALTMALAR

v

TABLO LĐSTESĐ

vi

ŞEKĐL LĐSTESĐ

vii

SEMBOL LĐSTESĐ

viii

ÖZET

ix

SUMMARY

x

1 GĐRĐŞ 1

1.1 Endüstriyel Robotlar 2

1.2 Çoğul Robotlarda Senkronizasyon ve Koordinasyon 4

1.3 Literatüre Geçen Çalışmalar 7

1.4 Tezin Kapsamı 9

2 DÖNME, YÖNELME VE KUATERNĐONLAR 10

2.1 Đki Boyutta Dönme 10

2.1.1 Dönme matrisi ile gösterim .11 2.1.2 Karmaşık sayılar ile gösterim .12

2.2 Üç Boyutta Dönme 14 2.2.1 dönme matrisi .14 2.2.2 euler açıları .15 2.2.3 euler parametreleri .16 2.3 Kuaternionlar ve Dönme 17 2.3.1 kuaternion cebri ..18 2.3.2 kuaternionlar ile dönme operasyonu ..20

3 YERDEĞĐŞTĐRME VE DUAL KUATERNĐONLAR 24

3.1 Dual Sayılar 24

3.2 Birim Dual Kuaternionlar 27

3.3 Dual Açılar ve Vida Teorisi 27

3.4 Birim Dual Kuaternionlar ile Yerdeğiştirme 28

3.5 Plücker Koordinatları 30

3.6 Birim Dual Kuaternionlar ile Doğru Dönüşümleri 30

3.7 Robot Kinematiği Uygulamaları 33

3.8 ABB Robotunun Düz Kinematik Çözümü 33

3.8.1 nokta dönüşümü yöntemi .33 3.8.2 doğru dönüşümü yöntemi .35

(5)

4 VEKTÖR-KUATERNĐON YÖNTEMĐYLE ÇÖZÜM 37

4.1 Kinematik Model 37

4.1.1 düz kinematik 38 4.1.2 ters kinematik 42

4.2 Çoğul Robotlar Đçin Matlab/Simulink Modeli 445

5 SONUÇLAR VE ÖNERĐLER 48

5.1 Öneriler 48

KAYNAKLAR 49

EKLER 51

(6)

KISALTMALAR

CAD : Computer Aided Design DQ : Dual Quaternion

PLC : Programmable Logic Controller

PUMA : Programmable Universal Machine for Assembly RAP : Robot Application Protocol

SCARA : Selective Compliance Assembly Robot Arm TCP : Tool Center Point

(7)

TABLO LĐSTESĐ

Sayfa No

Tablo 1.1 Đşlem Karşılaştırmaları... 8 Tablo 3.1. Temel performans verileri... 38

(8)

ŞEKĐL LĐSTESĐ Sayfa No Şekil 1.1 Şekil 1.2 Şekil 1.3 Şekil 1.4 Şekil 1.5 Şekil 1.6 Şekil 1.7 Şekil 2.1 Şekil 2.2 Şekil 2.3 Şekil 3.1 Şekil 3.2 Şekil 3.3 Şekil 4.1 Şekil 4.2 Şekil 4.3 Şekil 4.4 Şekil 4.5 Şekil 4.6 Şekil 4.7 Şekil 4.8 Şekil 4.9 Şekil 4.10 Şekil 4.10 Şekil 4.11 Şekil 4.12 Şekil 4.13

: Özel Tasarım Makina ... : Unimate Robot ... : ABB Marka Manipülatör ve Kontrolcüsü... : Altı Eksenli ABB Marka Endüstriyel Robot ... : Bir Robotlu Sistem ... : Đki Robotlu Sistem... : Koordinasyonlu Çalışan Robotlar... : Düzlemde Dönme ... : Karmaşık Düzlem... : Euler Parametreleri ile Dönme... : Karmaşık ve Dual Sayıların Düzlemde Nokta Olarak Gösterimi : Denavit-Hartenberg Parametreleri... : ABB 6600 Robotunun Eksenlerinden geçen Doğrular... : Manipülatör Modeli... : Küresel Bilek... : Dördüncü Eksen Etrafında Dönme... : Beşinci Eksen Etrafında Dönme... : Altıncı Eksen Etrafında Dönme... : Simulink Diyagramı... : VRML Ortamında Oluşturulan Simülasyon... : Robot1 ve Robot2 Đçin Yörünge Talimatı... : Robot2-link1... : Robot2-link2... : Robot2-link3... : Robot2-link4... : Robot2-link5... : Robot2-link6... 2 3 3 4 5 5 7 11 12 17 24 27 27 37 40 40 41 41 44 45 45 46 46 46 47 47 47

(9)

SEMBOL LĐSTESĐ

{ }

B

: B düzlemi z : karmaşık sayı t r : vektör B

A

R

:

{ }

A

’ya göre

{ }

B

’nin dönüşü;

P A

r

: p’nin

{ }

A

’dan görünüşü

q : Kuaternion

: Dual Kuaternion

q’ : Dual Kuaternion dual kısım i

(10)

ÇOĞUL ROBOTLARDA HAREKET KOORDĐNASYONUNUN

KUATERNĐONLAR ĐLE KĐNEMATĐK OLARAK MODELLENMESĐ VE

ÇÖZÜMÜ

ÖZET

Endüstriyel bir çok uygulamada; hız, pozisyonda doğruluk, dayanıklılık ve tekrar gerektiren işler endüstriyel bir robot tarafından bir insandan daha iyi bir şekilde yerine getirilebilmektedir. Bu nedenle robotların endüstride kullanımı ülkemizde ve dünyada hızla yaygınlaşmakta ve robot teknolojileri alanında birçok araştırma geliştirme faaliyetleri sürmektedir.

Bu tez kapsamında ilk olarak endüstriyel robotlar ve endüstriyel robotların birarada çalışmasına imkan veren teknikler anlatılmış ve örnekler verilmiştir. Bu tezin konusu olan endüstriyel robotların koordinasyonlu çalışmasının endüstriye getireceği avantajları incelenmiştir.

Đkinci olarak, kuaternion cebri anlatılmış, kuaternionlar ve dual kuaternionların robotik hesaplamalarda kullanılmasına imkan veren bağıntılar elde edilmiştir. Robotların kinematik hesaplarında vektör-kuaternion gösterimi benimsenmiş ve robot modeli buna göre oluşturulmuştur. Bu bağıntılar yardımıyla koordinasyonlu çalışan iki endüstriyel robotun ters ve düz kinematik bağıntıları elde edilmiştir. Koordinasyonlu hareketi sağlayacak, robotların arasındaki bağıntılar da yine aynı şekilde vektör-kuaternion gösterimi ile elde edilmiştir. Bütün bu hesaplamalar Matlab program kodları haline getirilmiştir.

VRML ortamında bir parça tutan ABB 6600 robotu ile bu parça üzerinde çalışan bir ABB 6600 robotunun bulunduğu bir simülasyon platformu oluşturulmuştur. Matlab/Simulink programında yapılan simülasyonda parçayı tutan robotun değişik yörüngelerdeki hareketinde, yörüngesi hareketli parça üzerinde tanımlı diğer robotun çizdiği yörüngeler incelenmiştir. Simülasyon, iki robotun ters ve düz kinematiğini hesaplayan bir bölüm, ve bu hesap sonucu elde edilen eksen açı değerlerinin VRML ortamında hazırlanmış platforma aktaran bir bölümden oluşmaktadır. Bunun için Matlab/Virtual Reality Toolbox kullanılmıştır.

(11)

KINEMATICALLY MODELLING AND SOLUTION OF MOTION

COORDINATION OF MULTI ROBOTS WITH QUATERNIONS

SUMMARY

In most industrial applications, the processes which demand speed, accuracy of position and robustness are performed more successfully by robots compared to the use of human labor. Therefore, the number of robots used in manufacturing processes is increasing rapidly and as a consequence, increasing number of research and development activities are conducted in the robotic technologies field. In this thesis, firstly, industrial robots and the techniques which provide the communication between industrial robots that work in the same cell are presented and examples of industrial usage are given. The advantages provided by the coordination of industrial robots are explained.

Secondly, quaternion algebra is investigated. The necessary equations to use quaternions as rotation operators and dual quaternions as transformation operators are derived. In the kinematical calculations of robots, vector-quaternion representation is used and the robot model is developed in this way. With the help of these equations, direct and inverse kinematical equations of coordinated two industrial robots are derived. The necessary equations of the coordinated motion are also derived with vector-quaternion representation. These calculations are programmed as m-files in Matlab environment.

In VRML environment, a 3D graphical presentation platform which includes two ABB 6600 robot is prepared. One of the robots carries the work piece and another robot follows a predefined trajectory on the work piece. In the simulation model prepared in Matlab/Simulink, the trajectory of the robot whose movements are defined on the moving work object is investigated while the position of the work object is manipulated by the other robot. The simulation has two parts. First part includes the calculation of the direct and the inverse kinematics of two robots including their axes angle values. The second part transfers these values to the 3D graphical platform prepared in the VRML environment which is created with Matlab/Virtual Reality Toolbox.

(12)

1.

GĐRĐŞ

Robot, bir dizi verilen görev çerçevesinde çeşitli programlanmış hareketler ile materyalleri, parçaları, aletleri veya özel donanımları hareket ettirmek için tasarlanmış programlanabilir çok işlevli manipülatördür. Bu tanım RIA (Robot Institute of America) tarafından verilmiştir [1]. 8373:1994 ISO Standardında ise bir manipülatörün endüstriyel robot olarak tanımlanabilmesi bu tanıma ek olarak, üç ya da daha fazla ekleme sahip olması gerekliliğini getirmiştir. Endüstriyel robotlarla ilgili istatistiki çalışmalarda bu tanım dikkate alınmaktadır.

Bir çok uygulamada hız, konumda doğruluk ve tekrar edilebilirlik, dayanıklılık ve tekrar gerektiren işler, endüstriyel bir robot tarafından bir insandan daha iyi bir şekilde yerine getirilebilmektedir. Bu nedenle fabrikalarda bugüne kadar insanların yaptığı birçok iş robotlu üretim sistemlerinde yapılmaktadır. Sonuç olarak, otomotiv ve elektronik sektörlerinde olduğu gibi seri üretim yapılan tesislerde endüstriyel robotların birçok avantajından yararlanılmaktadır.

Bir endüstriyel üretim sisteminin tasarımında, birçok faktör gözönüne alınmaktadır. Đstenilen çevrim zamanı, planlanan üretim adedi, üretilecek ürünün karmaşıklığı ve istenilen toleranslar, prosesin gerektirdiği ortam şartları bu faktörlerin başlıcalarıdır. Üretim tesisinde, insan işgücü ile üretim, robotlu üretim ve özel tasarım makinalar ile üretim seçeneklerinden birinin ya da bir birleşiminin seçilmesi gerektiği safhada bu faktörler gözönüne alınmaktadır. Genel olarak, düşük üretim adetleri planlanan, üründe düşük tolerans beklentisinin olmadığı ve ortam şartlarının müsait olduğu proseslerde insan işgücü kullanımı yüksektir.

Çok hızlı üretim istenen ve uzun zamanlı üretimi planlanan ürünlerin değişik proseslerinde o prosese uygun özel makinalar tasarlanmaktadır. Buna örnek olarak ambalajlama ve kağıt üretim proseslerinde kullanılan makinalar verilebilir. Bu makinalar, özel bir ürünün özel bir prosesinin kendine özgü gereksinimlerini karşılamak için tasarlanmış makinalardır. Đlk kurulum maliyetleri, insan işgücünün kullanıldığı ve robotların kullanıldığı tesislere göre daha yüksek olmasına rağmen çok yüksek üretim adetleri ve düşük çevrim zamanı bu makinaların kullanımını avantajlı kılmaktadır. Üründeki model, ebat gibi gelebilecek değişikliklerde özel

(13)

tasarım makinaların çok büyük değişiklikler gerektirmesi ve bazen yeni üretim gereksinimlerine uygun hale getirilmesinin imkansız olması, diğer bir deyişle üretimde esnekliğe izin vermemesi bu makinaların en büyük dezavantajıdır. Şekil 1.1’de elektrik şalteri montaj hattında birleştirilecek parçalara beş ayrı noktada ultrasonik kaynak yapması için tasarlanmış özel üretim bir makina görülmektedir. Günde 10.000 parçanın üretilebildiği sistem özel tasarım makina uygulamasına tipik bir örnektir çünkü bu hızda bir üretim insan işgücünün ya da robotlu bir sistemin kullanıldığı bir tesisle gerçekleştirilememektedir. Öte yandan, ürün tasarımındaki değişikliklere, kaynak noktalarının sayısının ve yerlerinin değişimine karşı makina esneklikten uzaktır.

Şekil 1.1 Özel Tasarım Makina [2]

Robotlu üretim tesisleri, endüstriyel robot teknolojisindeki gelişmelere bağlı olarak her geçen sene artmaktadır. Teknolojinin ilerlemesiyle robotların hızları, hassasiyetleri, yük kapasiteleri gibi özelliklerinin yanı sıra bu tez kapsamında incelenen koordinasyonlu çalışma gibi robotlar arası iletişimin de artmasıyla beraber maliyetleri de azalmaktadır. Bunun neticesinde robot kullanım alanlarının işgücü kullanılan alanlara ve özel üretim makinalar kullanılan alanlara doğru yayılmasını artırmaktadır.

1.1. Endüstriyel Robotlar

Şekil 1.2’de görülen Unimate marka robot, endüstride kullanılan ilk robot olarak kabul edilmektedir [2]. Bu robot 1961’de General Motors’da, sıcak döküm parçalarının makinadan alınıp paletlenmesi için kullanılmıştır. Dünya sanayinde günümüzde bir milyondan fazla robot çalışmaktadır [3].

(14)

Şekil 1.2 Unimate Robot [2]

Endüstriyel robotlar, üretim tesislerinde birçok uygulamada kullanılmaktadır. Robotlar, en çok kullanıldığı otomotiv endüstrisinde nokta kaynağı, ark kaynağı (Şekil 1.3), boyama gibi geleneksel uygulamalarının yanısıra kalite kontrol, kenetleme (hemming) gibi yeni uygulama alanlarıda bulmaktadır [4]. Bu uygulamalarda robot kullanımına teşvik eden en önemli neden robotların sürekli tekrar gerektiren işleri hassas bir şekilde yapabilmeleridir. Elektronik endüstrisinde de aynı ihtiyaç nedeniyle robotlar kullanılmaktadır. Robotlar döküm endüstrisinde de yoğun bir şekilde kullanılmaktadır. Çapak alma, besleme kanallarından parçayı ayırma, döküm presinden parçayı alma gibi uygulama alanları bulmaktadır. Döküm sanayinde robot kullanımının en önemli nedeni sıcak parça ve tehlikeli gazlar nedeniyle birçok prosesin insan sağlığı için tehlikeli olmasıdır. Metal endüstrisinde robotlar en çok tezgahları beslemek için kullanılmaktadır. Bununda nedeni robotların hızlı bir şekilde işlenmiş ürünü tezgahtan alıp işlenecek ürünü tezgaha koyarak, makinanın verimini arttırmasıdır.

(15)

Uluslararası Robotik Federasyonuna (IFR) aktif üye yirmiden fazla endüstriyel robot üreticisi firma vardır [3]. Robot firmaları, endüstriyel robotları ticari olarak kaldırma kapasitelerine (5kg, 500kg vs.) ve özel kullanım alanlarına (döküm, boyama, paletleme vs.) göre sınıflandırırlar [5 - 7]. Günümüzde en çok altı eksenli endüstriyel robotların (Şekil 1.4) kullanılmasının yanı sıra üç eksenli scara tipi robotlar ve dört eksenli paletleme robotları da bir çok uygulama alanı bulmaktadır.

Şekil 1.4 Altı Eksenli ABB Marka Endüstriyel Robot

1.2. Çoğul Robotlarda Senkronizasyon ve Koordinasyon

Birçok üretim otomasyonu uygulamasında, birden fazla robotun birbiriyle ve diğer çevresel birimlerle uyumlu bir şekilde çalışması gerekmektedir. Aynı hücrede bulunan robotların dış birimlerle ve birbiriyle haberleşmesi PLC gibi hat kontrolcüleri ile yapılır. Şekil 1.5’de bir fikstür üzerine yerleştirilmiş ve kenetlerle sabitlenmiş bir parça üzerinde çalışan bir robot gösterilmiştir. Bu tipteki bir uygulamada robotun işleme başlaması için parça varlık bilgisine ve kenetlerin kapalı olduğu bilgisine ihtiyacı vardır. Robot işleme başladığında kenetlerin açılmaması için işleme başladığı bilgisini gönderir çünkü kenetler robot çalışma alanında olduğu için açılmaları çarpma tehlikesi yaratabilir. Robot işlemini bitirip güvenli bölgeye çekildiğinde işlem bitti sinyalini gönderir ve kenetlerin açılıp parçanın alınmasına izin verir. Tüm bu haberleşme bir PLC tipi kontrolör ile yapılır.

(16)

Şekil 1.5 Bir Robotlu Sistem

Aynı tesiste şekil 1.6(a)’da gösterildiği gibi iki robotun birbirinden farklı alanlarda çalışması durumunda tek robotlu tesistekine benzer bir haberleşme yeterli olmaktadır. Öte yandan şekil 1.6(b)’de gösterilen tesiste robot çalışma alanlarının kesişmesinden dolayı robotların senkronizasyonunu gerektirecek yeni bilgilere ve PLC’de ek mantık komutlarına ihtiyaç duyulacaktır. Robotların kesişim bölgesinde sırayla çalışması PLC ve robot programlarına eklenen komutlar ile sağlanır. Bu uygulamalarda robot iç hesaplamaları kendi kontrolcülerinde yapılır ve sadece – kesişim bölgesine girmeden önce gibi – gerekli yerlerde PLC ile bir sinyal alışverişi olmaktadır.

(a) (b) Şekil 1.6 Đki Robotlu Sistem

Bütün robotların aynı anda başlayıp bitirmesi, kesişim bölgesinin kullanımı gibi basit uygulamaların dışında birbirilerine göre hareketlerininde tanımlanabildiği sistemler de tasarlanmaktadır. Robota bağlı alet ile uygulanan prosesin bu koordinasyonlu hareketlere uyumu da aynı şekilde önemlidir.

Koordinasyonlu hareketlere gereksinim duyan bu hareketlere en çok ark kaynağı ya da mastik (sealing) gibi uygulamalarda ihtiyaç duyulmaktadır. Bu uygulamalar işlem

Robot çalışma alanı

Robot1 çalışma alanı ı Robot2 çalışma alanı Robot1 çalışma

alanı

Robot2 çalışma alanı

(17)

gören parçanın devamlı ve prosese uygun hız ve hareket komutlarının robotik sistem ile uygulanmasını gerektirmektedir. Örneğin ark kaynağında, torcun parçaya göre göreceli konumu ve proses hızı yapılan kaynağın kalitesinde kritik öneme sahiptir. Bu nedenle birçok robotlu ark kaynağı sistemi, bir robot ve tek ya da daha çok serbestlik derecesine sahip bir pozisyoner ile yapılmaktadır. Çalışılan parçanın bir pozisyoner aracılığı ile manipüle edilmesinin yanı sıra, altı eksenli endüstriyel robotun kendisine bir slider ile lineer bir serbestlik derecesi daha kazandırılıp, robotun çalışma uzayı genişletilebilir ve daha uzun parçalarda çalışılmasına imkan tanır [8]. Böyle bir sistemdeki pozisyoner sayısı arttırılıp çevrim zamanındaki ark yapma zamanı (verimli zaman) arttırılabilmektedir. Bu tür sistemlerin entegrasyonunda, bütün robotik cihazların (altı eksenli endüstriyel robot, pozisyonerler...) koordinasyonu büyük önem taşımaktadır.

Günümüzdeki uygulamaların büyük bir kısmında, bir pozisyoner ya da slider, sadece robotu veya parçayı farklı yerlerdeki kaynaklardan önce konumlamak için kullanılmaktadır. Bu yeniden konumlama süresince harekette girişim olmadığı müddetçe endüstriyel robotun ve pozisyonerin sadece başlangıçtaki ve sondaki pozisyonları önemlidir. Bu tip uygulamalarda, pozisyoner robottan bağımsız bir şekilde kontrol edilebilir. Bu nedenle, tek bir servo motoru bağımsız olarak sürmeyi destekleyen robot programları bu gibi durumlarda yeterlidir. Öte yandan bazı durumlarda, robot ve servo motorun eş zamanlı koordinasyonlu hareketi gerekmektedir. Bu, örnek olarak, birden fazla başlama noktasının istenmediği uzun dairesel ark kaynağı uygulamalarında gereklidir.

Bu uygulamalar, kaynak torcunun parçaya göre istenen göreceli konumunun, yönelmesinin ve hızının devamlı sağlanabilmesi için eş zamanlı hareketi ve iki manipülatörün sıkı koordinasyonunu gerektirir. Ek olarak bazı ark kaynağı proseslerinde torç, yerçekimi yönüne belli bir açıyla kaynak çizgisini izlemelidir. Böyle durumlarda, bütün kaynak yapılacak bölge ulaşılabilir bölgede dahi olsa, mutlak torç oryantasyonu koruyabilmek için pozisyoner parçanın yönelmesini koordinasyonlu olarak torca göre ayarlamalıdır.

(18)

Şekil 1.7 Koordinasyonlu Çalışan Robotlar [8]

Torcun izleyeceği yörünge hareketli işparçası koordinat eksen takımına göre tanımlanmalıdır. Yörüngenin hareketli bir eksen takımında tanımlandığı bu tam koordinasyon gerektiren hareket yakın bir zamana kadar konvansiyonel robot programlama ve kontrol sistemlerinin kapasitelerinin dışındaydı. Günümüzde ABB ve Fanuc gibi bazı robot firmaları bu teknolojiyi barındıran kontrolcüleri piyasaya sunmuştur[5,9].

1.3. Literatüre Geçen Çalışmalar

Robotikte manipülatör ile ilgili herhangi bir çalışma yapılmadan önce ilgili konfigürasyondaki modelin elde edilmesi gerekir. Gerek kinematik gerekse dinamik model çıkartmak için araştırmacılar çok farklı teknikler kullanmışlardır. Klasik homojen dönüşümleri kullanan yaklaşımlar değişik konfigürasyonlarda farklı sorunlar çıkarmışlardır. Örneğin Euler açıları kullanıldığında açılardan biri 90 veya 270 derece olursa tekil yapıya rastlanır. Benzer şekilde Klump [10] ve Funda [11] verilen dönüşüm matrisinden Euler açılarını bulmaya çalışırken tekilliğe rastlamışlardır. Wie B. kuaternion tabanlı kinematik eşitliklerin sayısal olarak kararlı ve tekillikten etkilenmeyen yapılar olduğunu belirtmiştir [12]. Ayrıca özellikle gerçek zamanlı çalışma koşullarında zaman faktörünün etkisini öne çıkararak Mukundan kuaternion yöntemini diğer yöntemler ile karşılaştırmıştır [13]. Bu karşılaştırma Tablo 1.1’de verilmiştir.

(19)

Kuaternion yönteminin bir diğer avantajı verilen iki konfigürasyon arasındaki geçiş noktalarının tespiti olarak niteleyebileceğimiz interpolasyon işleminde başarılı olmasıdır. Oysa Euler açıları kullanılarak gerçekleştirilen interpolasyon doğal bir geçiş yaratamaz. Diğer taraftan birim kuaternion kümesi toplandığında, sonuçta bir küre oluşturacağı için daha gerçekçidir. Lengley küresel interpolasyon tanımı ile küre üzerinde geçiş noktalarını tanımlamıştır [14]. Kuaternion cebri son yıllarda doğal görünümlü interpolasyon sağladığı için grafik programcılar tarafından bilgisayarda üç boyutlu grafik tasarımlarında yaygınlıkla kullanılmaya başlanmıştır. Coburn ve Crisco, kubik kuaternion interpolasyonu, lineer ve kubik interpolasyon ile karşılaştırmış ve üstünlüklerini göstermiştir [15]. Feng-yun ve Tian-sheng, bilgisayarda elde edilen robot yörüngesine kuaternion interpolasyonu uyguladıkladıktan sonra, cilananan yüzeydeki kalite artışını göstermişlerdir [16]. Dual Kuaternionlar ve vida teorisi, kuaternionların ve vida teorisinin sağladığı avantajlar ile uzaydaki rijit cisim hareketinin formülasyonunda farklılıklar yaratmış ve birçok araştırmanın dikkatini çekmiştir. Daniilidis, el-göz kalibrasyonu (son eksenine hem tutucu hem de kamera takılmış robot) için dual kuaternionlarla bir formülasyon

Tablo 1.1 Đşlem Karşılaştırmaları [13]

Kuaternion Euler Açıları

Gösterim 4 Eleman 9 Eleman

(16 eleman homojen dönüşüm matrisi kullanılırsa) Kompozisyon 16 Çarpma 12 Toplama 27 Çarpma 18 Toplama Rotasyon 24 Çarpma 15 Toplama 9 Çarpma 6 Toplama Normalizasyon 8 Çarpma 3 Toplama 1 Karekök Karışık

(20)

yapmış ve dual kuaternion parametrelerinin çözümü için lineer homojen bir sistem kurmuştur [17].

1.4. Tezin Kapsamı

Koordinasyonlu çalışan çoğul robotlar endüstriyel tesislerde esneklik ve hızlı çevrim zamanı gibi bir çok avantaj sunmaktadır. Kuaternion cebri robotik hesaplarda gün geçtikçe artan bir şekilde kullanım alanı bulmaktadır. Bu tez koordinasyonlu çalışan çoğul robotların kinematik hesaplarının kuaternion cebri ile yapılması üzerinde çalışmaları içermektedir.

Birinci bölümde endüstriyel robotlar ve çoğul robotlarda koordinasyon konuları anlatılmış ve literatür taraması sonuçları ile günümüze kadar yapılmış çalışmalar incelenmiştir.

Đkinci bölümde değişik dönme ve yönelme gösterimleri üzerinde durulmuş ve bunlardan ileri bölümlerde kullanılacak olan kuaternion cebri incelenmiştir.

Üçüncü bölümde, vida teorisinin dual kuaternion gösterimi anlatılmıştır.

Dördüncü bölümde vektör-kuaternion gösterimi ve dual kuaternion gösterimi ile ABB 6600 robotunun kinematik analizi yapılmış ve MATLAB/Simulink ile çoğul robotların koordinasyonu simüle edilmiştir.

Beşinci bölümde ise sonuçlar incelenmiş ve ileride yapılacak çalışmalar için genel bir özet verilmiştir.

(21)

2.

DÖNME, YÖNELME VE KUATERNĐONLAR

Katı bir cismin, bir noktasının sabit kalması şartıyla yaptığı yer değiştirme dönme olarak tanımlanır. Yönelme ise katı bir cismin sabit bir koordinat eksen takımına göre anlık dönme konfigürasyonu olarak tanımlanmaktadır [18]. Bu nedenle, cismin yaptığı hareket dönme, hareket sonucu varılan konum ise yönelme olarak tanımlanır. Terimsel anlamda, öteleme ve konum arasındaki ilişkinin aynısı dönme ve yönelme için mevcuttur [19]. Noktasal cisimden farklı olarak katı bir cismin uzaydaki yerini tam olarak belirtmek için pozisyonu ile beraber yönelmesini de söylemek lazımdır. Robotik alanındaki çalışmalarda dönmenin tanımlanmasında birçok yöntem kullanılmaktadır. Bunlardan en çok kullanılanları, dönme matrisleri, euler açıları ve kuaternionlardır [19]. Bu tez kapsamındaki hesaplamalarda kuaternionlar kullanılacağı için bu bölümde diğer gösterimlerden kısa bir şekilde bahsedilmiş, kuaternion cebri ve kuaternionlar ile dönmenin gösterimi konuları daha detaylı bir şekilde gösterilmiştir.

Yönelme, iki boyutlu uzayda bir, üç boyutlu uzayda ise üç serbestlik derecesini haizdir [18].

2.1. Đki Boyutta Dönme

Đki boyutta dönme bir serbestlik derecesini haizdir ve yönü belirli bir açı ile gösterilebilir. Açı aralığı [-π,π] alınırsa sürekli bir harekette, dönme sonucu oluşan yönelmenin tanımı süreksiz olmaktadır (Şekil 2.1). Eğer yönelmenin süreksizliği önlemek için, açı aralığı kullanılmaz ise, tek bir fiziksel konumuna birden çok yönelme (θ + 2 π) karşılık gelmektedir. Dönmenin tek parametre ile tanımlanmasından doğan bu sorunları aşmak için birbirine bağlı birden fazla parametre kullanılır. Buna örnek olarak dönme matrisi ile gösterim ve karmaşık sayılar ile gösterim verilebilir.

(22)

Şekil 2.1. Düzlemde Dönme

2.1.1.

Dönme Matrisi ile Gösterim

Đki boyutta dönmenin gösterimi için kullanılan dönme matrisi 2 x 2 bir matristir. Matrisin satırları ve sütunları, sabit koordinat takımının eksenlerinin birim vektörleri (x0,y0) ile dönen cismin üzerindeki koordinat eksen takımının eksenlerinin birim

vektörlerinin (xc,yc) skaler çarpımlarından oluşur [20].

=

0 T c 0 T c 0 T c 0 T c

y

.

y

y

.

x

x

.

y

x

.

x

R

(2.1)

Koordinat eksen takımlarının ortonormal olmasından dolayı matrisin parametreleri birbirine trigonometrik olarak bağlıdır. Böylelikle, iki boyutta dönme gösteren (2.1) bağıntısı, (2.2) bağıntısı şeklinde gösterilebilir.

θ

θ

θ

θ

=

θ

cos

sin

sin

cos

)

(

R

(2.2)

2.2 bağıntısında verilen dönme matrisi tek başına dönme operatörünü veya yönelmeyi gösteririr. Dönme operatörü olarak kullanıldığında, (2.3.a) bağıntısında

0

2

π

2 π −

π

π

or

)

(t

θ

π

π

θ

Time

(23)

olduğu gibi döndürülecek vektör ile çarpılarak sonuç olarak o vektörün dönme operatöründe belirtilen miktarda dönmüş hali olan yeni vektör elde edilir.

Arka arkaya uygulanan dönme operasyonları, dönme matrislerinin uygulandığı sıraya göre çarpılmasıyla elde edilen matrisle bağıntı (2.3.b) gösterildiği şekilde elde edilir.

v2=R.v1 (2.3.a)

RT=R1.R2 (2.3.b)

2.1.2.

Karmaşık Sayılar ile Gösterim

Đki boyutta dönme, birim karmaşık sayıların çarpımı kullanılarak komleks düzlemde öz bir biçimde ifade edilebilir (Şekil 2.2). Bu gösterimde biri sanal ve diğeri gerçek sayı olmak üzere dönmenin ve yönelmenin gösteriminde iki parametre kullanılmaktadır (2.4). Öte yandan, kullanılan karmaşık sayıların birim karmaşık sayılar olması (2.5) ve (2.6) denkleminde gösterildiği gibi bu karmaşık sayının argümanının dönme açısını vermesi sebebiyle iki boyutta dönmenin gerektirdiği bir serbestlik derecesi elde edilir [19].

z = x + iy (2.4)

|z| = 1  x2 + y2 = 1 (2.5)

arg(z) = θ (2.6)

Şekil 2.2. Karmaşık Düzlem θ iy x + Reel Imajiner z

(24)

Birim karmaşık sayı bağıntı (2.7)’de olduğu gibi gösterilebilir. Trigonometrik fonksiyonlar kuvvet serilerine açıldığında karmaşık sayının üstel gösterimi elde edilir. Bu gösterim de dönme operatörü olarak kullanılır.

θ = θ + θ = + i e sin i cos iy x (2.7)

Karmaşık sayılarda ardışık dönmeleri elde etmek için dönme matrisinde olduğu gibi çarpma işlemi yapılır. Örneğin, 90 derecelik dönme operatörü (z = 0 + i) ile 45 derecelik dönme operatörünün (z=√2/2+√2/2i) çarpımı bağıntı (2.8)’de gösterildiği şekilde yapılır. i ) 4 3 sin( ) 4 3 cos( i 2 2 2 2 ) i 2 2 2 2 )( i 0 ( + + =− + = π + π (2.8)

aynı şekilde üstel gösterimle (2.9) bağıntısında olduğu gibi elde edilir.

4 3 i 4 2 i 4 i 2 i

e

e

e

.

e

π       π + π π π

=

=

(2.9)

Đki çarpımda aynı sonucu verir ve ikisi de 135 derecelik bir dönmeye tekabül eder. Karmaşık sayı ile gösterilen dönme operatörü bir vektörü döndürmek için kullanılacak ise vektör karmaşık sayı şeklinde (x + iy) yazılmalıdır. Dönme operatörü ile vektör çarpılarak vektörün dönmüş hali elde edilir. v vektörünün normuna (|v|) bölümünden elde edilen birim vektörden, v vektörün yönelmesini elde edilir. Örneğin, v = [1 1] vektörünün karmaşık sayı olarak gösterimi v = 1+i şeklindedir. v vektörünün normalizasyonu ile (2.10) bağıntısında gösterildiği şekilde yönelmesi bulunur. 4 i ) 4 sin( ) 4 cos( i 2 2 2 2 1 1 i 1 v v v 2 2 = + = π + π ⇒θ=π + + = = ∧ (2.10)

Dönme operasyonu vektörün sadece yönünü değiştirir ve büyüklüğünü etkilemez. Örneğin, v vektörü 30 derece ( rad

6

π

) döndürülmek istenirse bağıntı (2.11)’de gösterilen dönme operatörü kullanılır.

i 5 . 0 2 3 i ) 6 sin( ) 6 cos( Z= π + π = + (2.11)

(25)

Bağıntı (2.12)’de gösterildiği şekilde dönme operasyonu uygulandığında

[

0

.

3660

1

.

3660

]

v

2

=

olarak bulunur. i 3660 . 1 3660 . 0 i ) 5 . 0 2 3 ( ) 5 . 0 2 3 ( ) i 1 )( i 5 . 0 2 3 ( v . z v2 = = + + = − + + = + (2.12) 2 1 1 v1 = 2+ 2 = (2.13) 2 3660 . 1 3660 . 0 v2 = 2 + 2 = (2.14)

Bağıntı (2.13) ve (2.14)’de görüleceği gibi vektörün büyüklüğü dönme operasyonundan etkilenmemiştir. Bağıntı (2.15)’te sonuçta elde edilen vektörün yönelmesi hesaplanmıştır. 12 5 i ) 12 5 sin( ) 12 5 cos( i 9659 . 0 2588 . 0 i 9659 . 0 2588 . 0 2 i 3660 . 1 3660 . 0 v v v 2 2 2 2 π = θ ⇒ π + π = + + = + = = ∧ (2.15) 2.2. Üç Boyutta Dönme

Üç boyutlu kartezyen uzayda katı cismin yer değiştirmesi altı serbestlik derecesini haizdir [18]. Referans eksen takımına göre, katı cisme bağlı bulunan eksen takımının yerdeğiştirmesi öteleme ve dönme parametreleriyle gösterilir. Literatürde, öteleme genelde kartezyen koordinat sisteminde iki eksen takımının arasındaki vektörü ifade eden üç parametreyle gösterilmektedir. Bunun yanında, vida teorisinde olduğu gibi dönme bilgisini de barındıran ve öteleme vektörünün parametrelerinin açık bir şekilde görülmediği gösterimler de mevcuttur [19].

Literatürde üç boyutta dönmenin bir çok gösterimi mevcuttur. Bunlardan başlıcaları dönme matrisi, euler açıları, euler parametreleri ve kuaternionlardır.

2.2.1.

Dönme Matrisi

Üç boyutlu uzayda dönmenin gösterimi için kullanılan matris, 3 x 3 bir matristir. Bu nedenle dönme matrisi ile gösterimde dokuz parametre gerekmektedir. Dönme matrisinin sütunları, dönme sonucu oluşan eksen takımının birim vektörlerinin

(26)

referans eksen takımına göre yazılmasıyla oluşur. Matris bağıntı (2.16)’daki gibi skaler çarpımlarla elde edilir [20].

          = 0 T c 0 T c 0 T c 0 T c 0 T c 0 T c 0 T c 0 T c 0 T c z . z z . x z . x y . z y . y y . x x . z x . y x . x R (2.16)

2.2.2.

Euler Açıları

Eulerin dönme teoremine göre bir katı cismin bir noktası sabit kalacak şekildeki genel yer değiştirmesi, bazı eksenler etrafında dönmesi ile oluşur. Üç boyutlu uzayda yönelme, üç ardışık dönme ile ifade edilir. Euler açıları ile dönmenin gösteriminde, cisim üzerindeki koordinat eksen takımındaki eksenlerde belli bir sıraya göre döndürülür. Eksenlerin döndürülme sırası seçilen konvansiyonu belirler. Ardarda aynı eksende çevrilmeyeceği göz önüne alındığında 12 tane Euler açısı konvansiyonu olduğu hesaplanır (ZYX, ZYZ, XYX,...). Seçilen eksenlerdeki döndürme miktarlarına Euler açıları denir. Literatürde en çok kullanılanılanı ZYX konvansiyonudur ve KUKA marka endüstriyel robotlarda yönelmeler bu şekide ifade edilmektedir.

Euler açıları, yönelmeyi ifade etmesinin yanında tek başına dönme operatörü olarak kullanılamaz. Bu nedenle Euler açıları ile dönme operasyonlarının yapılabilmesi için ilk olarak, üç eksendeki dönmeleri ifade eden operatörlerin başka bir gösterim ile yazılması gerekmektedir [21]. Đkinci olarak, bu operatörler konvansiyonda belirtilen sıraya göre çarpılıp toplam dönmeyi ifade eden tek bir operatör elde edilir. Bu operatör ile dönme operasyonları yapılır. Örneğin ZYX konvansiyonunda [θz θy θx]

Euler açıları ile ifade edilen dönmelerin, dönme matrisleri ile ifadeleri (2.17)’deki gibi elde edilir ve toplam dönme (2.18)’de gösterildiği şekilde bahsi geçen dönme matrislerinin çarpımı ile elde edilir.

θ

θ

θ

θ

=

1

0

0

0

)

cos(

)

sin(

0

)

sin(

)

cos(

R

z z z z z (2.17.a)           θ θ − θ θ = ) cos( 0 ) sin( 0 1 0 ) sin( 0 ) cos( R y y y y y (2.17.b)

(27)

θ

θ

θ

θ

=

)

cos(

)

sin(

0

)

sin(

)

cos(

0

0

0

1

R

x x x x x (2.17.c) i i

)

c

cos(

θ

=

,

sin(

θ

i

)

=

s

i (i = x, y, z) kısaltmaları kullanıldığında toplam dönme bağıntı (2.18)’deki gibi elde edilir.

x y z zyx R .R .R R =           + − − − + − = z y z x y x z y z x z x z y z y x z x z y x x z y x y y x zyx s c s c s s c s s c s s s c s s s c c s s c s c s c c c c R (2.18)

Euler açıları ile karşılaşılaşılan sorunlardan biri de aynı dönmenin birçok farklı açı kombinasyonu ile ifade edilebilmesidir. Bunun da nedeni Euler açılarının aslında yönelmeyi değil, o yönelmeye ulaşmak için sırasıyla yapılması gereken dönmeleri ifade etmesidir. Bir çok zaman, aynı yönelmeye farklı yollardan ulaşılabildiğinden, o yönelmeyi birden fazla euler açı grubu ifade edebilmektedir.

2.2.3.

Euler Parametreleri

Bir cismin herhangi bir dönmesi, sabit bir eksen etrafındaki sonlu bir dönme olarak gösterilebilir (Şekil 2.3). Bu tanım Euler parametreleri ve kuaternionlar ile dönmenin gösterimine temel teşkil eder [21].

Euler parametreleri [e0, e1, e2, e3] dört parametreden oluşur. Bağıntı (2.19)’da

gösterildiği gibi e0 dönme miktarının yarısının kosinüsünü; e1, e2, e3 ise dönme

eksenindeki birim vektörün bileşenlerinin dönme miktarının yarısının sinüsü ile çarpımlarını ifade edecek şekilde tanımlıdır. Euler teoremine göre dönme üç serbeslik derecesi haizdir ve euler parametrelerinin arasında (2.20)’de gösterilen bağıntı vardır. ) 2 sin( . nˆ e e e e ) 2 cos( e 3 2 1 0 Φ =           = Φ = (2.19)

(28)

1 e e e

e20 + 12 + 22 + 23 = (2.20)

Şekil 2.3. Euler Parametreleri ile Dönme

2.3. Kuaternionlar ve Dönme

ax + b = 0 denkleminde a, b ve x aynı cisim üzerinde kalmak koşuluyla bu denklemin x için bir çözümü var ise bu cismin bir bölüm cebri oluşturduğu söylenir [22]. 1898’de Hurwitz, gerçek sayılar üzerindeki bölüm cebrinin yalnızca 1,2,4 ve 8 boyutlar için var olduğunu ispatlamıştır [22]. Bunlar sırasıyla; gerçek sayılar, karmaşık sayılar (1 gerçek ve 1 sanal), kuaternionlar (1 gerçek ve 3 sanal), ve oktonionlardır (1 gerçek ve 7 sanal).

Gerçek sayılar günlük yaşantımızda da kullandığımız sayılardır. Karmaşık sayılar elektrik devre analizinden optiğe kadar bir çok alanda yaygın olarak kullanılmaktadır. Karmaşık sayıların iki boyutlu dönme hareketinin gösteriminde kullanılması bölüm 2.2.1’de anlatılmıştır. Oktonionlar kuantum mekaniğinde kullanılmaktadır [22].

Kuaternion cebri, Đrlandalı matematikçi William Rowan Hamilton (1805-1865) tarafından, iki boyutlu karmaşık sayılar kavramının üç boyuta genişletilmesi çabası sonucu bulunmuş, bir cebirdir [23]. Kuaternionlar keşfinden sonra yıllarca “kendine problem arayan çözüm” olarak kaldıktan sonra yirminci yüzyılın başlarında klasik mekanik ve izafiyet teorisi alanlarında uygulamaları başlamıştır [22]. Kuaternionların üç boyutlu dönmeyi kısa ve öz bir şekilde ifade edebilme özelliği, araştırmacıların

(29)

dönel kinematik eşitliklerde kuaternion cebrini kullanmasını motive etmiştir. Sonuç olarak robotik, orbital mekanik, uzay teknolojileri ve bilgisayar grafikleri gibi birçok yeni uygulama alanlarında kuaternion tabanlı algoritmalar geliştirilmiştir [24].

2.3.1.

Kuaternion Cebri

Kuaternionlar, gerçek sayılar alanı üzerinde dört boyutlu bir vektör uzayı oluşturan (rank 4) hiper-kompleks sayılardır [24]. Gösteriminde bağıntı (2.21)’deki notasyonlar kullanılacaktır.

q = (q0, q1 ,q2 ,q3)

= (q0,v) (2.21)

= q0 + iq1 + jq2 +kq3

q kuaternionu bir skaler parça (q0) ve bir vektörel parçadan (v = {q1 ,q2 ,q3}) oluşur.

i,j,k ortonarmal bazları, kuaternion cebrinin temelini oluşturan bağıntı (2.22)’deki kuralları sağlamaktadır [23]. i 2 = j 2 = k 2 = ijk = -1 ij = − ji = k (2.22) jk = − kj = i ki = − ik = j

Bu kurallardan yola çıkarak iki kuaternionun çarpımını bağıntı (2.23)’deki genel formda yazabiliriz.

p= (p0,v)

q= (q0,w)

pq = ( p0q0 − v.w , p0 w + q0 v + v×w ) (2.23)

Bu formdaki v.w ve v×w sırasıyla skaler çarpma ve vektörel çarpmadır. Vektörel çarpımın değişme özelliği yoktur (v×w ≠ w×v). Kuaternion çarpımı, vektörel

(30)

çarpmayı da içerdiğinden dolayı kuaternion çarpımınında, çarpmada değişme özelliği bulunmamaktadır.

(pq ≠ qp) (2.24)

Kuaternion toplaması, gerçek ve sanal bölümlerin kendi aralarında toplanması ile yapılır.

p + q = ( p0+q0 , v+w) (2.25)

Kuaternion toplamasının çarpma üzerine dağılma özelliği vardır.

(p + q)r = pr + qr (2.26)

Karmaşık sayılardaki gibi, kuaternionun eşleniği q* sanal kısmın negatifinin alınması ile tanımlanır.

q= (q0, w) (2.27)

q

*

= (q0, − w) = (q0 , − q1, − q2, − q3)

Bu tanımdan hareketle kuaternion normu ||q|| tanımlayabiliriz.

||q||

2

= qq

*

= q02 +q12+q22+q32 (2.28)

Bir kuaternionun tersi yine karmaşık sayılardaki gibi bağıntı (2.29)’da gösterildiği gibi tanımlıdır. q −1 = 12

q

q * , ||q|| ≠ 0 (2.29)

Normu bir olan kuaternionlara özel olarak birim kuaternion denilmektedir. Dönmenin tanımlanmasında birim kuaternionlar kullanılır. Birim kuaternionlar bağıntı (2.30)’daki ve bağıntı (2.31)’deki kuralları sağlarlar.

q −1 = q * (2.30) ||q|| 2 = qq * = q02 +q12+q22+q32= 1 (2.31)

(31)

n bir birim vektör olmak üzere, birim kuaternion bağıntı (2.32)’deki gibi ifade edilebilir. Bu şekilde gösterilen kuaternionun birim kuaternion olduğu bağıntı (2.33)’de gösterildiği şekilde normunun bir olduğu gösterilerek ispatlanabilir.

q = (cos(θ),sin(θ).n) (2.32) ||q|| 2 =||cos(θ)|| 2 +||sin(θ)|| 2 . ||n|| 2 =cos 2 (θ)+ sin 2 (θ)=1 (2.33)

2.3.2.

Kuaternionlar ile Dönme Operasyonu

Bir birim kuaternion, üç boyutlu öklid uzayında dönmeyi tanımlamada kullanılabilir [25]. Birim kuaternionun bağıntı (2.32)’deki birim vektör ile tanımı tekrar ele alınırsa, q kuaternionu, n vektörü etrafında θ açısı kadar dönmeyi ifade eder.

Bir vektörün kuaternion ifadesiyle dönmesinin hesaplanması bağıntı (2.34)’de gösterilen kuadratik kuaternion çarpımı ile yapılır [22]. Bu ifadelerde üç boyutlu vektörler skaler bölümü sıfır olan kuaternionlar (saf kuaternion) ile ifade edilmelidir.

v2=qv1q* (2.34)

Her birim kuaternion q ve saf kuaternion v için bu çarpım sonucunun bir saf kuaternion v2 olacağı ispatlanabilir. Bundan da önemlisi v2 vektörü, v1 vektörünün n

ekseni etrafında θ kadar döndürülmesi ile oluşan vektördür [22].

Ortaya çıkan dönmenin θ/2 kadar değil θ kadar olduğuna dikkat edilmelidir. Tanımda yarım-açının kullanılmasının nedeni de budur. Açının iki katı olmasının nedeni kuadratik çarpımda açının vektöre iki kere “uygulanması”dır [24]. Örneğin, v1=[vx vy

vz] vektörünün z ekseni etrafında 90 derece döndürülmesi ile oluşacak v2

vektörünün bulunması için bağıntı (2.35)’de gösterilen dönme ekseni kullanılarak oluşturulan bağıntı (2.36)’da gösterilen kuaternion kullanılır.

n = [0 0 1] (2.35) q=cos( 4

π

) + sin( 4

π

)(0.i + 0.j + 1.k) q k 2 2 22 + = ⇒ (2.36)

v1 vektörü bağıntı (2.37)’deki gibi saf sanal kuaternion formatında yazılır.

(32)

Bağıntı (2.22)’de verilen kurallar göz önüne alınarak bağıntı (2.38)’de verilen kuadratik kuaternion çarpımı yapılır ve v2 vektörü bağıntı (2.39)’da gösterildiği

şekilde hesaplanır. v2 = q v1q* = ) 2 2 2 2 )( k v j v i v )( 2 2 2 2 ( x y z 2 k k v = + + + − ⇒ (2.38)             −−−− ====                       ++++ −−−− ++++ ++++ ++++ −−−− −−−− ++++ −−−− ====                 −−−−                       ++++ −−−− −−−− ====                 −−−−                             ==== z x y 2 z z y x x y x y y x z z 2 z x y y x z z y x 2 v v v 0 v 2 2 v 2 2 2 2 v 2 2 ) v 2 2 v 2 2 ( 2 2 2 2 ) v 2 2 v 2 2 ( ) v 2 2 v 2 2 ( 2 2 2 2 ) v 2 2 v 2 2 ( 2 2 v 2 2 2 2 v 2 2 v 2 2 0 0 2 2 v 2 2 v 2 2 v 2 2 v 2 2 v 2 2 v 2 2 2 2 0 0 2 2 v v v 0 2 2 0 0 2 2 v (2.39)

Birim kuaternionlar çift-kapsama özelliğini haizdir. Bunun neticesinde n ekseni etrafındaki θ kadarlık dönme ile –n ekseni etrafında –θ kadarlık dönme aynı etkiyi yaratır ve bu nedenle q ve –q aynı dönmeyi yaratır. Buna çift değerli ya da çift-kapsamalı ifade denir [24].

Ardışık dönmelerin yarattığı toplam dönme birim kuaternionların çapılması ile elde edilir. Kuaternionların çarpma işleminin değişme özelliği olmamasından dolayı kuaternionlar -aynı dönme matrislerinde olduğu gibi- dönme sırasıyla çarpılmalıdır [25].

(33)

v2 = q1v1 q1*

v3 = q2 v2 q2*

v3 = q2*(q1 v1 q1*) q2* ve q12=q1q2 olduğundan

v3=q12 v1 q12* (2.40)

Ardışık dönmenin birim kuaternionlar ile hesaplanması (q12=q1q2), dönme matrisi ile

hesaplanmasından (R12=R1R2)matematiksel işlem olarak daha az maliyetlidir [20].

q-1, q kuaternionunun ifade ettiği dönmenin tersini gösterir. Birim kuaternionlarda q1=

q* olduğundan kuaternionun tersi, sanal kısmının negatifinin alınmasıyla elde edilir [20]. Diğer bir deyişle, birim kuaternionun tersi eşleniğine eşittir. Nitekim, sanal kısmın tersinin alınması, θ açısı sabit kalmak şartıyla, n vektörünün orijine göre simetriğinin kullanılması manasına geldiğinden, ters dönmeyi ifade ettiği geometrik olarak da görülür. Cebirsel olarak da bağıntı (2.41)’deki çıkarım yapılabilir.

q = (cos( 2 θ ),sin( 2 θ ).n) , q-1 = q* q-1 = (cos( 2 θ ),-sin( 2 θ ).n) (2.41)

Birim kuaternionla verilen dönmenin ifadesini dönme matrisi ile göstermek için bağıntı (2.42) kullanılır [18].

+

+

+

+

+

+

=

2 z 2 y 2 x 2 0 x 0 z y y 0 z x x 0 z y 2 z 2 y 2 x 2 0 z 0 y x y 0 z x z 0 y x 2 z 2 y 2 x 2 0

q

q

q

q

q

q

2

q

q

2

q

q

2

q

q

2

q

q

2

q

q

2

q

q

q

q

q

q

2

q

q

2

q

q

2

q

q

2

q

q

2

q

q

2

q

q

q

q

R

(2.42)

Dönme matrisi ile verilen dönmenin ifadesinin kuaternionla göstermek için aşağıdaki eşitliklerden yararlanılır.

=

33 32 31 23 22 21 13 12 11

m

m

m

m

m

m

m

m

m

R

ve q=

[

q0 qx qy qz

]

(2.43)

4

m

m

m

1

q

11 22 33 0

+

+

+

=

(2.44.a)

(34)

0 23 32 x q 4 m m q = − (2.44.b) 0 31 13 y q 4 m m q = − (2.44.c) 0 12 21 y q 4 m m q = − (2.44.d)

(35)

3.

YERDEĞĐŞTĐRME VE DUAL KUATERNĐONLAR

3.1. Dual Sayılar

Dual sayılar, matematiksel gelişimi ve düzlemsel ve uzaysal geometride kullanım şekli ile basit karmaşık sayılara benzerlik gösteren cebirsel bir sistemdir. Rooney [26], basit karmaşık sayılar ile dual sayıları üçüncü bir tip olan “çift (double) sayılar” ile daha geniş bir konsept olan “genelleştirilmiş karmaşık sayılar” başlığında incelemiş ve cebirsel ve geometrik olarak çıkarımlar yapmıştır.

Karmaşık sayıları tanımlama ihtiyacı ilk olarak polinomların köklerinin araştırılması çerçevesinde ortaya çıkmıştır. x2 ++++1====0 gibi basit bir eşitliğin gerçel sayılar alanında bir çözümünün olmaması, matematikçilerii2 ====−−−−1 eşitliği ile tanımlı sanal birimi (i) geliştirmeye itmiştir. Yeni bir cebirsel yapı, C karmaşık alanı, gerçel sayılardan sanal birimin tanımı ile geliştirilerek tanımlanmıştır ve Gauss tarafından 1861 yılında, polinomların bütün köklerini barındırması için bu sistemin gerekli ve yeterli olduğu ispatlanmıştır [22].

C={a +ib : a,b ∈∈∈∈ R, i2 = -1} (3.1) Basit karmaşık sayılar ile analojik olarak, Clifford 1873 yılında karmaşık sayıların başka bir tipi olan x + εy formunda dual sayıları tanımlamıştır [22]. ε2 = 0 özelliğinin

temelini oluşturduğu bu yapıda x ve y dual sayının sırasıyla gerçel ve dual kısımlarını oluşturmaktadır. Dual sayılarda toplama, gerçel ve dual kısımların kendi aralarında toplanması ile yapılır. Dual sayılarda çarpma, ε2=0 özelliği kullanılarak

gerçel ve karmaşık sayılardaki gibi yapıldığında (3.2) eşitliğinde gösterildiği şekilde yapılır.

(36)

Bir dual sayının tersinin, eşleniğinin ve normunun ifadesi karmaşık sayılarda elde edildiği yöntemlerle elde edilir. Buna ek olarak, bir dual sayının modülü (R) ve argümanı (T) aşağıdaki şekilde tanımlanır (Şekil 3.1).

R=x ;

T=y/x (x≠ 0) (3.3)

Şekil 3.1. Karmaşık (a) ve Dual Sayıların (b) Düzlemde Noktalar Olarak Gösterimi Sonuç olarak, Taylor serisi açılımı kullanılarak, dual sayıların polar ve üstel gösterimleri aşağıdaki gibidir [26].

x+εy = R(1+εT) = R eεT

(3.4)

Bu gösterim, aynı ifadenin basit karmaşık sayılar için olan aşağıdaki ifadesi ile benzeşim göstermektedir. 2 2 y x r= + ve       = θ x y

arctan olmak üzere,

θ = θ + θ = + i e . r ) sin . i (cos r iy x (3.5)

Geometrik olarak, karmaşık sayılar ve dual sayılar, sıralı iki parametre (x,y) olarak ele alınıp kartezyen düzlemsel noktalara birebir aktarılabilir. Şekil (3.1) bu eşleşmeyi göstermekte ve r, θ, R ve T polar paremetrelerinin düzlemsel geometrideki anlamlarını tanımlamaktadır.

Basit karmaşık sayılardaki θ parametresi, hem x ekseni ile orijinden x+iy noktasına giden radyal doğru arasındakı açı hem de Şekil (3.1a)’da gösterilen taralı alanın iki

(37)

katı olarak yorumlanabilir. Aynı şekilde dual sayılardaki T parametresi, hem x ekseni ile radyal eksen arasındaki x=1 doğrusu üzerindeki mesafe olarak hem de Şekil (3.1b)’deki taralı alanın iki katı olarak düşünülebilir.

Basit karmaşık sayılarda olduğu gibi dual sayılar da düzlemsel operatör olarak iki boyutlu geometride kullanılmaktadır. Bölüm 3’de anlatıldığı gibi x+iy=r.e

karmaşık sayının iα

e birim karmaşık sayısı ile çarpımı x + iy noktasını orijin etrafında saat yönünün tersinde

α

açısı kadar döndürmektedir.

) ( i i i e . r ) e . r ( eα θ = α+θ (3.6)

Düzlemdeki noktaların orijinden olan mesafesinin değişmediği dönme hareketini yarattığı için , iα

e karmaşık sayısı düzlemsel dönme operatörü olarak iş görmektedir. Buna benzer olarak, x+εy = R.eεT dual sayısının eετ birim dual sayı operatörü ile

çarpımı aşağıdaki ifadeyi verir:

) T ( T) R.e e . R ( eετ ε = ετ+ (3.7)

Şekil (3.1b)’de eετ birim dual sayı operatörünün x,y noktasını y ekseni boyunca R.τ

mesafesi kadar ötelediği görülmektedir. Bu operatörün tüm düzleme uygulanması durumunda, y eksenine paralel olacak şekilde, arctan(τ) kesme açısı boyunca, düzlemde kesme etkisi yarattığı görülmektedir.

En az bir türevi var olan bir f fonksiyonunun x+εy dual argümanı için değeri , taylor serisine açılarak ve ε2 = ε3=..= 0 olduğu göz önüne alınırak aşağıdaki şekilde

gösterilir [27]. ) x ( ' yf ) x ( f ) y x ( f +ε = +ε (3.8)

Bu özellik bu tez kapsamında da yoğun olarak kullanılan trigonometrik fonksiyonlara uygulandında aşağıdaki sonuçlar elde edilir.

x sin y x cos ) y x cos( x cos y x sin ) y x sin( ε − = ε + ε + = ε + (3.9)

(38)

3.2. Birim Dual Kuaternionlar

Dual kuaternionlar elemanları gerçel sayı yerine kuaternion olan dual sayılardır. q0 dual-olmayan kısımdaki kuaternion iken qεεεε dual kısımdaki kuaterniondır.

ε

ε + =q q

0 (3.10) Eşleniği her iki kısımdaki kuaternionun eşleniğinin ayrı ayrı alınmasıyla elde edilir.

c c 0 c q q qˆ = +ε ε (3.11)

Dual kuaternionun normu, karmaşık sayılarda olduğu gibi elde edilir (bağıntı 3.12) ve

=

özelliğini sağlar. c c

=

=

(3.12) 0 0 0 c

q

q

,

q

q

=

=

+

ε

ε (3.13)

Bağıntı (3.13)’den de anlaşılacağı gibi dual kuaternionun tersi sadece

q

0

≠≠≠≠

0

için tanımlıdır. Normu bire eşit olan dual kuaternionlar, birim dual kuaternionlar olarak anılırlar. Bu durumda, bağıntı (3.14)’ten birim dual kuaternionların tersinin, eşleniği olduğu ve her zaman tersinin var olduğu görülmektedir. Birim dual kuaternionlar kümesi 1 ile gösterilir. Geometrik olarak 1 8-boyutlu Öklid uzayında (dual kuaternionların imaj-uzayı adı verilen [28]) bir manifolddur. Dual kuaternionlarda olduğu gibi birim dual kuaternionlarda da dağılma özelliği vardır ve çarpmada sıra değiştiremez. 2 c 1 qˆ qˆ qˆ− = (3.14)

3.3. Dual Açılar ve Vida Teorisi

Üç boyutlu uzayda birbirine paralel olmayan iki doğru (a, b) arasındaki ilişki üç parametre ile belirtilebilir:

(39)

- doğrular arasında ortak normal vektör boyunca olan mefase d - a’dan b’ye pozitif ölçülen dönme açısı α

Dönme açısı (α) ve ortak normal mesafenin (d) dual sayının parametreleri olarak alındığı dual açı â = α + εd incelenecektir. Dual açı nosyonunun teorik çıkarımları ilk olarak Alman Matematikçi Study tarafından yapılmıştır [29].

Yukarıda bahsi geçen parametreler kullanılarak uzayda herhangi bir l2 doğrusunun,

verilmiş bir l1 doğrusuna göre konumu ve yönelmesi tanımlanabilir. Bu tanımlama,

ortak normal n etrafında, dönme açısı (α) kadarlık dönme ile aynı eksen (n) üzerinde d mesafesi kadar öteleme ile olmaktadır. Bu keşif, Chasles Teoremini’nin ortaya atılması için gerekli matematiksel zemini yaratmıştır. Bu teoreme göre “Bir katı cismin uzaydaki herhangi bir yerdeğiştirmesi, onun bir eksen etrafındaki dönmesi ve o eksene paralel ötelenmesine eşittir” [11].

Bu formülasyon, “vida ekseni” etrafındaki “vida yerdeğiştirmesi” terimleri ile adlandırıldı [30]. Günümüzde de bu terimler kullanılmaktadır.

Özet olarak, vida yerdeğiştirmesi bir vida ekseni etrafındaki “dual açısal yerdeğiştirme” olarak düşünülebilir. Vida ekseninin altı parametresi, dönme açısı α ve öteleme parametresi d toplam sekiz parametre ile katı cismin yerdeğiştirmesi tam olarak gösterir. Lineer yerdeğiştirmenin dönme açısına oranı “vida adımı” olarak adlandırılmaktadır [30].

3.4. Birim Dual Kuaternionlar ile Yerdeğiştirme

Beklenildiği gibi, dual kısmı sıfıra eşit olan (qε =0) birim dual kuaternionlar 3-boyutlu dönmenin ifadesini verir. Bir vektörün (v0,v1,v2) bir dual kuaternionla (

) dönmesi c ile hesaplanır. Burada c hem kuaternion hem de dual kuaternion

eşleniğinin alındığını gösterir. qε =0 olması halinde qˆ=q0 olacağı ve c

ifadesinin bağıntı (3.15)’de gösterildiği sadeleşeceği açıktır.

c 0 2 1 0 0 c 0 2 1 0 0(1 (v i v j v k))q 1 q (v i v j v k)q q +ε + + = +ε + + (3.15) c 0 2 1 0 0(v i v j v k)q

q + + kısmı kuaternionlar ile dönme formülünün aynısıdır. Dual kuaternionlar buna ek olarak 3-boyutlu ötelemeyi de gösterebilirler.

(40)

) k t j t i t ( 2 1

tˆ= +ε 0 + 1 + 2 ile gösterilen tˆ dual kuaternionu (t0,

t

1,

t

2) vektörü kadar ötelemeyi gösterir. Kuaternionlarda dönme formülasyonunda yarım açı kullanıldığı gibi dual kuaternionlar ile ötelemede de yarım öteleme vektörü kullanılmaktadır. Gerekli sadeleştirme işlemleri yapıldığında c

tˆ vˆ

tˆ çarpımını bağıntı (3.16)’da gösterildiği şekli alır ve tˆ dual kuaternionunun t

r

vektörü kadar öteleme işlemi yaptığı açıkça görülür. ) k ) t v ( j ) t v ( i ) t v (( 1 tˆ vˆ tˆ )) k t j t i t ( 2 1 ))( k v j v i v ( 1 ))( k t j t i t ( 2 1 ( tˆ vˆ tˆ 2 2 1 1 0 0 c 2 1 0 2 1 0 2 1 0 c + + + + + ε + = + + ε + + + ε + + + ε + = (3.16)

Öteleme ve dönme dönüşümlerinin ikisini de barındıran birim dual kuaternionu, q0 ve (t i t j t k)

2

1+ ε 0 + 1 + 2 birim dual kuaternionlarının çarpımıyla elde edilir (bağıntı 3.17). 0 2 1 0 0 0 2 1 0 (t i t j t k))q 2 q q )) k t j t i t ( 2 1 ( + ε + + = +ε + + (3.17)

Normu hesaplanarak bağıntı (3.17)’deki sonucun da birim dual kuaternion olduğu görülebilir. Bağıntı (3.17) aynı zamanda 4x4 dönüşüm matrisinden birim dual kuaternionun elde edilişini de göstermektedir. Dönme matrisinden q0 kuaternionunun nasıl elde edildiği ve kuaternion çarpımının yapılışı Bölüm 2’de gösterilmiştir (bağıntı 2.42 ve bağıntı 2.44). Tersi çevrim ise, yani birim dual kuaterniondan (qˆ=q0 +εqε) dönüşüm matrisinin elde edilmesi yine bağıntı (3.17)’den çıkarılabilir. Dönme matrisi, dual olmayan kısımdaki q0 kuaternionundan, öteleme vektörü ise c

0

q q

2 ε çarpımı ile elde edilebilir.

Dual kuaternionlar da kuaternionlarda olduğu gibi antipodal özellik gösterirler. Diğer bir değişle, bir birim dual kuaternionun kendisi ile negatifi aynı dönüşümü ifade eder (

). Bu nedenle rijit dönüşümler ile birim dual kuaternionlar eşleşmesi bire-iki şeklindedir.

(41)

3.5. Plücker Koordinatları

Uzaydaki bir nokta üç serbestlik derecelidir ve bu nedenle, üç boyutlu uzay, ∞3

noktalar kümesi olarak tanımlıdır. Buna alternatif olarak, uzaydaki bir doğruyu tam olarak tanımlayabilmek için en az dört parametreye ihtiyacımız olduğu bilindiğinden, üç boyutlu uzayı ∞4 doğrular kümesi olarak tanımlayabiliriz. Fazladan bir serbestlik

derecesine karşın, uzaysal hareketleri –noktalardan ziyade- doğrular ile analiz etmek genelde kullanışlıdır çünkü doğrular, uzaysal hareketlerdeki dönme eksenleri, uzuv yönelme eksenleri gibi birçok yerde karşımıza çıkmaktadır [22].

Uzayda herhangi bir doğru, tanımlanması için dört parametre yeterli olmasına karşın, Plücker koordinatları ile bazı matematiksel kolaylıklar için altı parametre ile tanımlanır. Plücker koordinatlarının altı parametresinin kendi içinde iki koşulla bağlı olması, beklenildiği gibi doğrunun dört serbestlik derecesini haiz olması şartını sağlar.

Plücker koordinatlarında bir doğru, iki 3-boyutlu vektör ile gösterilir. Bunlardan birincisi yönelme vektörü (l) ve ikincisi de orijin etrafındaki moment vektörüdür

l r

l0 = × . Burada r, doğru üzerindeki herhangi bir noktanın konum vektörüdür. Moment vektörünün tanımından, yönelme vektörünün moment vektörüne dik olduğu görülür. 0 ) l r .( l l . l 0 = × = (3.18)

l ve kl vektörlerinin aynı uzaysal yönelmeyi ifade etmesinden dolayı, Plücker koordinatlarında, yönelme vektörü birim vektör olacak şekilde kullanılmaktadır.

1 l .

l = (3.19)

Bu iki koşul (Bağıntı 3.18 ve 3.19) Plücker parametreleri uzayında bir doğrunun dört serbestlik dereceli olması için gerekli sınırlamaları sağlamaktadır.

3.6. Birim Dual Kuaternionlar ile Doğru Dönüşümleri

Đkinci bölümde bahsedildiği gibi pbnoktasının q birim kuaternionu ile pa noktasına döndürülmesi pa =qpbq çarpımıyla elde edilir. Bu form, ardışık dönmelerin basit birer kuaternion çarpımı ile gösterimine imkan sağlar. Öte yandan, Ötelemeyi de içinde barındıracak genel katı cisim dönüşümleri için böyle bir kuaternion gösterimi

Referanslar

Benzer Belgeler

• Öğrencileri sınıfta tahtanın önünde sesli bireysel olarak okuma yapmaya davet edin, hedeflediğiniz öğrencilerin okuma süresini biraz daha uzun tutun. • Bulduğunuz

alınarak ve dağılma özelliği kullanılarak reel sayılarda olduğu gibi çarpma işlemi

ÖRNEKSuda  AgCl’nin  çözünürlüğünü

• Kişinin yaşına, cinsiyetine, spor geçmişine, fiziksel, fizyolojik, sosyolojik ve psikolojik yapısına bakılmaksızın sağlık durumunun, yaşam biçiminin

Benzer şekilde 2x+3=0 denkleminin tam sayılarda çözümü yoktur.Eğer çözüm kümesi Rasyonel Sayılar seçilirse { −3. 2 } bu denklemin

[r]

[r]

[r]