BAB 2 LANDASAN TEORI
2.1
Teori-teori Umum 2.1.1
Matematika Pengertian terhadap konsep diferensial atau turunan dan integral
diperlukan untuk memahami persamaan mekanika. Bagian lain dari matematika yang penting dihubungkan dengan kinematika adalah perkalian matriks dan vektor. Vektor M enurut Anton Howard [Aljabar Linear Elementer, 5 th ed. Jakarta : Penerbit Erlangga, (1997), page 112], “Vektor adalah besaran yang memiliki arah, umumnya ditunjukkan dengan gambar anak panah.” Di dalam sistem koordinat 2 dimensi atau 3 dimensi, suatu vektor bisa dipecah ke dalam komponen yang searah dengan sumbu-sumbu koordinat. M isalnya: V (pada gambar 2.1) adalah sebuah vektor yang dipecah terhadap sumbu x an sumbu y, masing-masing sebesar Vx dan Vy. Vx dan Vy sendiri, masing-masing adalah vektor. Anton et al., mengatakan, “Vektor cross product atau hasil kali silang adalah salah satu operasi vektor yang mengkalikan vektor dengan vektor dan menghasilkan vektor baru, operasi ini disimbolkan dengan tanda × atau cross.” Hasil kali silang atau
cross product antara vektor a
dan vektor b, yang
menghasilkan vektor c, disimbolkan dengan c = a × b. besar vektor c adalah:
8
c = a.b.sin θ
(2-1)
Gambar 2.1 Vx dan Vy adalah komponen Vektor V.
Gambar 2.2 c = a × b.
dimana θ adalah sudut antara a dan b yang kurang atau sama dengan 180°. Sedangkan arah dari c adalah tegak lurus terhadap bidang yang dibentuk oleh vektor a dan b, dengan arah yang ditentukan oleh aturan tangan kanan. Berikut adalah tentang cross product, diambil dari Anton Howard, et al : Jika u = (u1,u2,u3) dan v = (v1,v2,v3) adalah vektor di ruang-3, maka hasil kali silang u × v adalah vektor yang didefinisikan oleh s u × v = (u2 v3 − u3 v2 , u 3 v1 − u1v 3 , u1v 2 − u 2 v1 )
(2-2)
Penjelasan mengenai diferensial, integral, matriks dan vektor dapat dipelajari dari buku-buku matematika umum. 9
Matriks Berdasarkan (Hadley, 1992, p51-52), berikut ini adalah bagian-bagian yang penting tentang matriks: M atriks didefinisikan sebagai susunan peregi panjang dari bilanganbilangan yang diatur dalam baris dan kolom. M atriks dirulis sebagai berikut: a11 a21 M am1
a12 a 22 M a m2
L a1 n L a2 n L M L a mn
(2-3)
Susunan di atas disebut sebuah matriks m kali n (ditulis dengan m x n) karena memiliki m baris dan n kolom. Sebagai aturan, kurung siku [ ], kurung biasa ( ), atau bentuk || || digunakan sebagai batasan dari bilangan-bilangan yang terdapat dalam suatu matriks. Karena matriks pada umumnya merupakan susunan bilangan-bilangan yang berdemensi dua, maka diperlukan dua subskrip untuk menyatakan setiap elemennya. Dengan perjanjian, subskrip pertama berkaitan dengan baris, dan yang kedua dengan kolom
Operasi Matriks Perkalian matriks dengan skalar adala bila diberikan sebuah matriks A dan sebuah skalar λ , hasil perkalian λ , dan A, ditulis λ A, didefinisikan sebagai λ a11 λa λA = 21 M λ am1
L λa1 n L λ a2 n L M L λ a mn
10
(2-4)
Perkalian antar matriks adalah bila diberikan matriks m x n A dan matriks n x rB, maka hasil kali AB didefinisikan sebagai matriks m x r C, yang elemen-elemennya dihutung dari elemen-elemen dari A,B menurut n
cij = ∑ a ik bkj ,
i = 1, ..., m,
j = 1, ..., r.
(2-5)
k =1
dalam hasil kali matriks AB, A disebut sebagai pengali depan dan B pengali belakang. Hasil kali AB ditentukan hanya kalau jumlah kolom di A sama dengan jumlah baris d B. Perkalian matriks tidak memenuhi semua aturan perkalian dari bilangan-bilangan biasa salah satu perbedaan yang paling penting adalah kenyataan bahwa pada umumnya perkalian matriks adalah tidak komutatif, yaitu: AB dan BA tidak sama.
Tranpose Matriks Berdasarkan (Hadley,1992,p65), tranpose dari matriks A = ||aij || adalah matriks yang dibentuk dari A dengan mempertukarkan baris-baris dan kolom-kolom sehingga baris i dari matriks A menjadi kolom i dari matriks transpose dinotasikan dengan AT. AT = a ji
jika
A = aij
(2-6)
Penjelasan mengenai vektor, matriks dan trigonometri dapat dipelajari dari bukubuku matematika umum.
2.2
Teori-teori Khusus 2.2.1
Kinematika Fu, K. S., R. C. Gonzales,C. S. G. Lee (1987). Robotics: Control,
Sensing, Vision, and Intelligence, 1st ed. Singapore : Penerbit M cGraw-Hill, Book Co., page 6 mengatakan bahwa, “Kinematika adalah ilmu tentang gerak 11
tanpa
memperhatikan
penyebabnya
salah
satunya
adalah
gaya
yang
mempengaruhinya, berhubungan dengan geometri dari gerakan. Dalam mengkaji kinematik perlu dilakukan deskripsi analisis dari penempatan posisi secara spasial dari lengan robot sebagai sebuah fungsi waktu. Secara garis besar, kinematika ini membahas tentang hubungan antara derajat kebebasan masingmasing joint, posisi, serta orientasi dari end effector pada lengan robot.” Terdapat dua topik pembahasan mendasar pada kinematik lengan robot. Yang pertama adalah Direct (atau forward) Kinematics. Dan yang kedua adalah Inverse Kinematics (atau arm solution). Inverse kinematics akan lebih sering digunakan dalam pembuatan lengan robot karena pada penggunaan robot secara real, pengaturan joint-joint tidak lagi diutamakan. Yang menjadi fokus utama adalah bagaimana end effector mencapai posisi objek dengan baik berdasarkan peletakan referensi koordinat frame yang sudah ditentukan. Denavit dan Hartenberg [1995] memperkenalkan pendekatan sistematik dan pendekatan umum menggunakan matriks algebra untuk menyatakan dan menunjukkan geometri spasial pada link pada lengan robot dengan frame yang fix. M etode ini menggunakan matriks homogeneous transformation 4 x 4 untuk menyatakan hubungan spasial antara dua link yang berhubungan serta menyederhanakan
masalah direct kinematics pada matriks transformasi
homogeneous yang berhubungan dengan penempatan spasial dari frame koordinat lengan terhadap frame koordinat referensi. M atriks transformasi homogeneous juga berguna untuk mencari turunan dari persamaan dinamik gerakan lengan robot.
12
Secara umum, masalah dalam inverse kinematik dapat diselesaikan dengan beberapa tehnik. M etode yang paling sering digunakan adalah matrix algebraic, pendekatan numerik, dan pendekatan geometri. Kinematika
sehubungan
dengan
robotika,
yang pertama
perlu
mendapatkan perhatian adalah matriks rotasi dan matrik transformasi. M atriks rotasi adalah matriks yang memetakan sebuah vektor atau posisi pada satu sistem koordinat ke sistem koordinat yang lain dalam gerakan rotasi. M atriks transformasi adalah matriks yang memetakan sebuah vektor atau posisi pada satu sistem koordinat ke sistem koordinat yang lain dengan memperhatikan rotasi, translasi, penskalaan dan perspektif / sudut pandang. Berikutnya juga perlu diperhatikan adalah konvensi Denavit-Hartenberg, dikutip dari Fu, K. S. et al., page 37: θi
adalah sudut pandang pada joint dari sumbu xi −
1
dengan sumbu z i –
1
sebagai porosnya (perputarannya menggunakan aturan tangan kanan). di
adalah jarak dari pusat koordinat kerangka/sumbu koordinat ke-(i – 1) ke perpotongan sumbu z i –
1
dengan sumbu z i – 1 dengan sumbu xi
sepanjang sumbu z i – 1. ai
adalah jarak/panjang perpotongan sumbu z i – 1 dengan sumbu xi ke pusat kerangka/sumbu koordinat ke-i sepanjang sumbu xi (atau jarak terpendek antara sumbu z i – 1dan sumbu z i).
αi
(alpha) adalah sumbu dari sumbu z i –1 ke sumbu z i dengan poros sumbu xi (perputarannya dengan menggunakan aturan tangan kanan).
13
Dikutip dari Walker, M . W., D. E. Orin (1982). Efficient Dynamic Computer Simulation Of Robotic M echanisms. Journal Of Dynamic System, Measurement, and control 104, page 142: “Dalam menetapkan koordinat setiap link, konvensi Denavit-Hartenberg digunakan. Konvensi ini menjelaskan empat parameter, a1, d1, α 1, θ1, joint i dapat dirotasikan atau ditranslasikan. Jika joint itu berotasi, a1, d1, α 1, konstan dan θ1, merupakan variabel. Jika joint itu bertranslasi, a1, α 1, θ1 konstan dan d1 merupakan variabel.” Dengan
memperhatikan
konversi
Denavit-Hartenberg,
matriks
transformasi Denavit-Hartenberg untuk sistem koordinat yang berdekatan
i–1
Ai,
yaitu sistem koordinat i dan sistem koordinat i – 1, joint rotasi: i− 1
Ai = Tz,d Tz,θ Tx ,a Tx ,α
1 0 0 1 = 0 0 0 0
0 0 cosθ i 0 0 sin θ i 1 d i 0 0 1 0
− sin θ i cos θ i 0 0
cos θi sin θ i = 0 0
− cosα i sin θ i cos α i cos θ i sin α i 0
sin α i sin θi − sin α i cos θ i cos α i 0
0 0 1 0 0 0 1 0 0 0 1 0
0 1 0 0
0 a i 1 0 0 0 0 cosα i 1 0 0 sin α i 0 1 0 0
ai cos θi ai sin θ i di 1
0 − sin α i cosα i 0
0 0 0 1
(2-7)
Kinematics pada perhitungan pergerakan lengan robot sangat diperlukan selain dilihat dari sisi dinamiknya karena kinematics merupakan dasar pembuatan controller / drive unit dari robot. Dengan mempelajari kinematics maka rancangan model robot dapat dibuat sesuai dengan perhitungan kinematics agar
14
didapatkan referensi sudut, posisi, dan orientasi yang sesuai. Hal yang penting lainnya adalah juga pengaruhnya terhadap akurasi dan ketepatan peletakkan end effector pada robot serta orientasinya. Dengan menggerakkan masing-masing joint pada sudut tertentu maka akan didapatkan end effector dengan posisi dan orientasi tertentu. Pada direct kinematics, secara umum yang akan dilakukan adalah menggerakkan sudut pada joint space dimana akan menghasilkan posisi dan orientasi end effector pada Cartesian space. Sedangkan untuk inverse kinematics, dari posisi yang sudah ditentukan berupa Cartesian space, akan menghasilkan output berupa pergerakan sudut joint-joint pada lengan robot. Pada bagian
awal disebutkan
bahwa spatial information
serta
penggambaran matematis berupa matriks homogeneous 4 x 4 sangat penting dalam kinematiks. Spatial information adalah informasi yang akan dihadapi oleh lengan robot berupa posisi dan orientasi awal, posisi dan orientasi tujuan, serta informasi dari perangkat tambahan seperti camera yang memantau keadaan sekitar serta aktifitas pergerakan lengan robot. Informasi-informasi inilah yang akan dihadapi dalam perancangan sebuah sistem lengan robot, dipandang dari segi kinematics. Coordinate frame digunakan untuk menggambarkan posisi relatif dan orientasi dari objek. Sebuah titik pada workspace dapat digambarkan dalam sebuah frame atau lebih, pada frame 3 dimensi {x, y, z} terdapat titik origin dan arah sumbu dimana tiap bagian link dari robot masing-masing memiliki frame. Perubahan posisi dan orientasi dari sebuah frame terhadap frame lainnya merupakan sebuah pergerakan robot. 15
Pergerakan robot merupakan sebuah gabungan pergerakan tiap joint yang mempengaruhinya. Bila gerakan beberapa joint tersebut dipandang dari sisi end effector saja, maka berdasarkan informasi spasial pergerakan yang dilakukan dalam kenyataannya adalah transformasi, dimana transformasi yang dilakukan pada umumnya adalah
gabungan gerak translasi dan
rotasi. Contoh pada
gambar 2.3 memberikan gambaran jelas perbedaan antara posisi dan orientasi, yang digambarkan dalam bentuk 2 dimensi.
Gambar 2.3 Posisi dan Orientasi Posisi memberikan informasi tentang letak dari objek, karena objek tidak berupa sebuah titik maka penentuan posisi dilakukan berdasarkan centre of mass dari objek. Posisi sebuah objek terhadap objek lainnya bila digambarkan dalam bentuk 3 dimensi maka diwakilkan dengan vektor posisi matriks 3 x 1.
16
{A} Z
Pz
Px v P = Py Pz Py
Y
Px
X
Gambar 2.4 Vektor posisi Orientasi adalah informasi tentang arah dari objek. Orientasi satu objek terhadap objek lainnya dapat digambarkan dengan matriks rotasi 3 x 3. Pada pergerakan rotasi, sumbu putar dipecah menjadi 3 bagian,
yaitu berputar
terhadap sumbu z, sumbu x, dan sumbu y. Dalam penerapannya, objek berputar berorientasi pada ketiga sumbu koordinat tiga dimensi tersebut.
17
Rotasi terhadap sumbu Z
R Z ,θ
cos θ = sin θ 0
− sin θ cos θ 0
0 0 1
Gambar 2.5 Rotasi terhadap sumbu Z Rotasi terhadap sumbu X
0 1 R X ,α = 0 cos α 0 sin α Gambar 2.6 Rotasi terhadap sumbu X
18
0 − sin α cosα
Rotasi terhadap sumbu Y Z
W
φ
O
X
φ U
cos φ RY ,φ = 0 − sin φ Gambar 2.7 Rotasi terhadap
0 sin φ 1 0 0 cos φ sumbu Y
Pada kinematika lengan robot khususnya yang dibahas dalam skripsi ini banyak membahas masalah transformasi, dimana terdiri atas pergerakan translasi dan rotasi, kedua pergerakan ini dituangkan dalam bentuk matriks yang terpisah yaitu matriks 3x1 untuk pergerakan translasi dan matriks 3x3 untuk pergerakan rotasi. Untuk mempermudah dalam perhitungan transformasi, kedua matriks tersebut perlu digabungkan, maka digunakan matriks transformasi homogenus 4x4 (2-8). matriks ini terdiri dari posisi, rotasi, perspective dan scale. Dalam perhitungan kinematika yang dibahas dalam skripsi ini komponen perspective dan scale diabaikan, karena hanya menggunakan satu sudut pandang dengan skala yang tetap.
19
Homogenous Transformation (Fu, K. S. et al., page 28) R3 x3 T = − f 1 x3
| P3 x1 rotation | − | − = | | S1x1 Perspective |
position − Scale
(2-8)
Pre Multiply adalah cara menghitung perkalian matriks untuk mencari posisi dan orientasi dari object dipandang dari stationary frame atau base frame, maksudnya adalah posisi dan orientasi dari benda itu berdasarkan pada basenya, sehingga jika terjadi rotasi maka perputaran yang terjadi adalah perputaran dengan
pusat perputaran pada koordinat 0,0,0. Post Multiply adalah cara
menghitung pekalian matriks untuk mencari posisi dan orientasi dari object dipandang terhadap own frame, maksudnya posisi dan orientasi benda tersebut berdasarkan pada dirinya sendiri, jika benda bukan merupakan titik maka di lihat dari center of mass benda tersebut, sehingga jika terjadi rotasi maka perputaran yang terjadi adalah perputaran dengan pusat perputaran center of mass dari benda itu sendiri.
2.2.2
Invers Kinematika Kinematik adalah proses menghitung posisi pada space dari end-effector
berdasarkan sudut-sudut dari kesemua joint. Cara tersebut disebut juga direct kinematics, dan perhitungannya lebih mudah karena hanya menghasilkan satu solusi. Inverse kinematics adalah sebaliknya, diberikan posisi end-effector, dan yang akan dicari adalah berapa besar sudut yang harus diubah untuk tiap jointnya untuk dapat mencapai posisi end-effector tersebut. Hal ini akan menjadi lebih
20
sulit., dan ada banyak cara atau banyak solusi untuk mencari besar sudut tersebut. Proses ini sangat berguna dalam robotika. Dengan sebuah lengan robot yang sederhana sekalipun, jika dari sebuah simulasi software kita mendapat posisi relatif objek terhadap base, maka dengan perhitungan invers kinematics dapat diketahui pergerakan sudut masing-masing joint secara langsung untuk dapat mencapainya. Objek yang akan dimanipulasi biasanya digambarkan dalam ruang koordinat 3 dimensi berupa posisi (world coordinate), sedangkan pada lengan robot, koordinat untuk tiap joint digambarkan dalam ruang koordinat jointvariable berupa sudut-sudut. Penetapan posisi dan orientasi end-effector pada lengan robot enam axis dipandang dari base frame disimbolkan dengan 0T6 (29). Dengan invers kinematik dapat menentukan sudut-sudut dari tiap joint dari posisi end-effector yang dapat diletakkan sesuai dengan keinginan pemrogram robot.
nx n 0 0 = = T6 A6 y n z 0
sx sy sz 0
ax ay az 0
px p y 0 1 2 3 4 5 = A1 . A2 . A3 . A4 . A5 . A6 pz 1
(2-9)
Dalam banyak kasus, sangat memungkinkan sebuah struktur lengan robot untuk tidak dapat mencapai ke objek tujuan atau targetnya. M isalkan dalam kehidupan sehari-hari, manusia tidak dapat menyentuh siku dengan jari-jarinya, dan manusia tidak mampu meraih daun di pucuk sebuah pohon yang tinggi dari
21
bawah. Hal ini juga terjadi pada batasan gerakan lengan robot atau workspace. Target yang berada di luar range lengan robot tentu tidak dapat dicapai oleh end effector. Bila lengan robot dipaksa untuk mencapai target yang tidak mungkin diraihnya, maka akan berakibat hang atau menjadi unstable.
Gambar 2.8 Satu solusi Sumber : http://freespace.virgin.net Jika terdapat dua solusi, cara ini akan mencari gerakan terdekat dari struktur lengan sebelumnya.
Gambar 2.9 Dua solusi Sumber : http://freespace.virgin.net Bila ada lebih dari dua joint, akan memungkinkan menghasilkan banyak solusi untuk mencapai target. Tetapi dari sekian banyak solusi yang dihasilkan, hanya ada beberapa solusi yang terbaik untuk dilakukan. Bila struktur lengan seperti pada gambar 2.10, untuk mencapai posisi target lainnya akan ada banyak cara. Tetapi akan ada beberapa cara yang baik, efisien dan cukup cepat untuk dilakukan. Tidak ada solusi yang pasti dan optimal untuk keadaan struktur lengan yang berbeda.
22
Gambar 2.10 Banyak solusi Sumber : http://freespace.virgin.net
Pendekatan Geometris Berdasarkan Fu, Gonzalez dan Lee (1987, p60-69), pada cara geometris, solusi dicari dengan menerapkan ilmu-ilmu geometri dan hukum-hukum trigonometri. Sebagai contoh:
θi
Gambar 2.11 sudut joint 1 Untuk mencari θ i, bisa digunakan ilmu-ilmu trigonometri, sehingga didapatkan:
23
Pz
sin θ i =
(2-10)
Px 2 + Py 2 + Pz 2
cosθ i =
Px2 + Py 2
(2-11)
Px 2 + Py 2 + Pz 2 sin θ i cosθ i
θ i = tan −1
(2-12)
Pendekatan Algebraic Berdasarkan (Craig, 1989, p131-136), pada cara algebraic, solusi dicari dengan cara melakukan penurunan persamaan-persamaan kinematik dari matriks transformasi homogeneous sehingga didapatkan sudut-sudut joint yang dibutuhkan. Sebagai contoh, lokasi dan frame {3} relative terhadap base frame {0} adalah: 0
T 3 = 0T 1 1T 2 2T 3
(2-13)
dimana: 0
T 1 = 0A1
1
T 2 = 1A2
2
T 3 = 2A3
Untuk mencari besarnya persamaan sudut pada setiap joint, bisa dilakukan dengan memindahkan elemen dari bagian kanan ke bagian kiri, sehingga menjadi: (0T 1)-1 0T 3 = 1T 2 2T 3
(2-14)
(0T 1)-1 0T 3 = 1T 3
(2-15)
Dengan menggunakan persamaan diatas, maka bisa dicari besarnya sudut-sudut joint yang dibutuhkan untuk mencapai suatu posisi.
24
Apabila masih ada sudut joint lain yang belum didapatkan, maka pindahkan lagi elemen dibagian kanan ke kiri, sehingga menjadi: (0T 1)-1 . (1T 2)-1 . 0T 3 = 2T 3
(2-16)
(0T 2)-1 . 0T 3
(2-17)
= 2T 3
Dengan bantuan persamaan diatas, maka solusi untuk inverse kinematics bisa didapatkan.
Pendekatan Numerik Pada umumnya pendekatan numeric tidak mengutamakan diperoleh solusi yang tepat, tetapi mengusahakan perumusan metode yang menghasilkan solusi pendekatan yang berbeda dari solusi yang tepat sebesar suatu nilai yang dapat diterima berdasarkan pertimbangan praktis, tetapi cukup memberikan penghayatan pada persoalan yang dihadapi (Harijono Djojodiharjo, 2000, p3). Pendekatan numerik memanfaatkan komponen Komputer untuk melakukan perhitungan secara berulang-ulang di dalam mendapatkan solusi inverse kinematics computer akan menghitung semua kemungkinan solusi secara berulang-ulang sampai didapatkan suatu solusi yang sesuai untuk sudut-sudut joint yang dibutuhkan agar bisa mencapai posisi dan orientasi yang diinginkan. Cara numeric memang lebih mudah, namun menghabiskan lebih banyak waktu karena
sifatnya
penggulangannya.
Umumya pada
solusi
numeric
algoritma
dikembangkan untuk mendapatkan solusi dengan tingkat konvergensi yang baik. Apabila
cara
numeric
menghabiskan
waktu
terlalu
banyak,
dipertimbangakan penggunaan cara analitik (Craig,1989, p119-120).
25
maka
perlu