BAB 2 LANDASAN TEORI
2.1
Teori-teori Dasar Untuk dapat mengerti tentang robot dan kinematika dalam bidang robotika,
beberapa pengetahuan umum dalam robotika dan matematika perlu diketahui.
2.1.1
Definsi Robot Istilah “robot” berasal dari perkataan Czech “robota”, yang berarti “kerja”.
Kamus besar Webster memberikan definisi mengenai robot, yaitu “sebuah peralatan otomatis yang melakukan pekerjaan seperti apa yang dilakukan manusia”.
2.1.2
Klasifikasi Umum Robot Berdasarkan fungsinya robot dapat diklasifikasikan ke dalam 2 bagian besar,
yaitu: a. Industrial Robot, digunakan pada sektor industri seperti, membantu dalam proses perakitan kendaraan, mengelas, dan sebagainya. b. Service Robot, merupakan robot yang berfungsi membantu manusia dalam membersihkan rumah, membantu dokter melakukan operasi, menjadi pemandu wisata, dan lain-lain. Berdasarkan sifat mobilitasnya, robot diklasifikasikan ke dalam 2 bagian besar, yaitu:
9 a. Fixed Robot, robot yang memiliki ruang kerja (spatial space) yang terbatas, di mana bagian dasarnya (Base) dilekatkan pada sebuah benda tetap seperti panel atau meja. b. Mobile Robot, robot yang memiliki ruang kerja yang cukup luas, di mana bagian dasarnya dilekatkan pada sebuah alat gerak seperti roda/ban atau kaki.
2.1.3
Hukum Asimov Seorang penulis cerita fiksi ilmiah, Isaac Asimov, pernah memberikan tiga
hukum penting mengenai tingkah laku sebuah robot, yaitu: a. Robot tidak boleh melukai manusia. b. Robot harus patuh pada perintah yang diberikan manusia, kecuali bila perintah tersebut melanggar hukum pertama. c. Robot harus dapat menjaga eksistensi dirinya sendiri, kecuali bila terjadi pelanggaran terhadap hukum pertama dan kedua.
2.1.4
Matematika Pada bagian ini akan dijelaskan mengenai vektor, matriks, operasi matriks dan
transpos matriks
2.1.4.1 Vektor Berdasarkan Gere dan Weaver (1983, p1-3), berikut adalah bagian-bagian yang penting tentang vektor: Vektor didefinisikan sebagai besaran yang memiliki panjang dan arah. Vektor sering dinyatakan secara geometris oleh sebuah garis dengan tanda panah pada
10 ujungnya. Panjang garis menunjukkan besarnya vektor, dan tanda panah menunjukkan arah vektor. Sebagai ilustrasi, perhatikan vektor F pada gambar 2.1 (vektor dicetak dengan huruf tebal untuk membedakannya dengan besaran skalar). Vektor F digambarkan dengan sebuah anak panah, memiliki panjang dan arah. Di sini jelas bahwa sebuah bilangan tunggal tidak cukup untuk menyatakan vektor ini, sebab harus ada besar dan arahnya. Besar suatu vektor adalah suatu besaran skalar yang diperlihatkan oleh panjangnya vektor; sebagai contoh, jika vektor F dalam gambar 2.1 adalah vektor jarak, maka besarnya mungkin 10 meter, diperlihatkan dengan skala yang sesuai dengan panjang dari pangkal panah sampai ujungnya. Jadi besar suatu vektor senantiasa mempunyai nilai non negatif, yakni positif atau nol, dan umumnya dinyatakan oleh tanda nilai mutlak; misalkan, besar F ditulis |F|. Y
Fy F Fz
X Fx
Z
Gambar 2.1 Suatu vektor F dan komponennya
Berdasarkan Hadley (1961, p16-17), vektor pada gambar 2.2 terdapat titik (Px, Py, Pz) yaitu titik di mana kepala dari vektor berakhir, vektor P sudah dinyatakan secara lengkap. Besar/panjangnya adalah
11
Px 2 + Py 2 + Pz 2
P =
(2-1)
dan arahnya, ditentukan oleh kedua sudut Φ dan θ, di mana tan θ =
cos Φ =
Py Px
(2-2)
Pz
(2-3)
Px 2 + Py 2 + Pz 2
selanjutnya hubungan antara vektor dengan titik dapat ditulis sebagai berikut : P = (Px, Py, Pz)
(2-4)
Persamaan (2-4) menandakan bahwa P adalah sebuah vektor yang digambar dari titik asal sampai titik (Px, Py, Pz) dengan koordinat Px, Py, Pz. Hubungan antara vektor dan titik dalam ruang merupakan dasar dan penting karena nilai praktisnya dalam perhitungan-perhitungan vektor, juga merupakan kunci untuk perluasan yang lebih abstrak dari konsep vektor. z (Px, Py, Pz) P Φ
y θ
x
Gambar 2.2 Vektor P dalam ruang 2.1.4.2 Matriks Berdasarkan Gere dan Weaver (1983, p13-14), berikut adalah bagian-bagian yang penting tentang matriks:
12 Bentuk yang paling umum dari suatu matriks adalah susunan bilangan-bilangan yang berbentuk persegi panjang yang dapat digambarkan sebagai berikut:
A11 A12 ... A1n A ... A A 21 22 2 n A= ... ... ... ... Am1 Am2 ... Amn
(2-5)
Bilangan-bilangan A11, A12, . . ., Amn yang menyusun rangkaian itu disebut
Elemen atau Unsur dari matriks. Indeks pertama dari elemen menunjukkan baris dan indeks kedua menunjukkan kolom di mana elemen itu berada. Untuk menuliskan matriks beserta elemen-elemennya dipergunakan tanda kurung siku seperti yang diperlihatkan pada persamaan (2-5); sedangkan, sebuah huruf yang dicetak tebal (misalnya, A) dapat digunakan juga untuk menyatakan sebuah matriks. Sebuah penyajian lain untuk sebuah matriks adalah dengan menuliskan elemen umumnya dalam sebuah kurung siku; maka matriks A pada persamaan (2-5) dapat juga ditulis [Aij] atau [A].
Ordo (atau ukuran) sebuah matriks ditentukan oleh banyaknya baris dan kolom; maka, matriks A pada persamaan (2-5) mempunyai ordo m dan n, biasanya ditulis m x n.
Matriks bujur sangkar adalah matriks yang jumlah baris dan kolomnya sama (m = n) dan dikatakan berordo n. Elemen-elemen dari matriks bujur sangkar mulai ujung kiri atas sampai ujung kanan bawah secara diagonal (yaitu elemen A11, A22, . . ., Amn) disebut
diagonal utama matriks. Dan elemen-elemen dari kiri bawah sampai kanan atas (Am1, . . ., A1n) dinamakan diagonal kedua.
13 2.1.4.3 Operasi Matriks Berdasarkan Gere dan Weaver (1983, p14-21), berikut adalah bagian-bagian yang penting tentang operasi matriks: Aturan-aturan operasi matematika (seperti penjumlahan dan perkalian) untuk matriks agak intuitif dan telah dirumuskan sedemikian agar berguna untuk perhitunganperhitungan praktis. Hubungan yang paling sederhana kesamaan dua matriks. Agar dua buah matriks dapat dikatakan sama, mereka harus berordo sama dan elemen-elemen yang bersesuaian harus sama. Maka, jika A = B, di mana A dan B haruslah berlaku hubungan Aij = Bij untuk i dari 1 sampai m dan j dari 1 sampai n.
Penjumlahan Matrix
Penjumlahan dua buah matriks A dan B dapat berlangsung jika kedua matriks itu berordo sama. Jumlah dua buah matriks adalah matriks lain yang berordo sama yang elemen-elemennya merupakan jumlah dari elemen-elemen yang bersesuaian dari kedua matriks asal. Dengan kata lain, jika A + B = C maka tiap elemen C akan mempunyai bentuk:
Aij + Bij = Cij
(2-6)
Perkalian Matrix Ada banyak cara untuk mengalikan dua buah matriks, antara lain, misalnya hanya mengalikan elemen-elemen yang bersesuaian. Secara umum kita dapat mengalikan sebuah matriks A yang berordo m x n dengan matriks B yang berordo n x p. Hasil-kalinya berupa matriks C yang berordo m x p, yang dinyatakan sebagai berikut: A.B=C atau
14
A11 A 21 ... Am1
A12
...
A22 ...
... ...
Am 2 ...
A1n A2 n ... Amn
B11 B 21 ... Bn1
B12
...
B22 ...
... ...
Bn 2 ...
B1 p C11 C12 ... B2 p C 21 C 22 ... = ... ... ... ... Bnp C m1 C m 2 ...
C1 p C 2 p ... (2-7) C mp
Perkalian dilakukan dengan mengambil perkalian-dalam antara baris-baris dari matriks A dan kolom-kolom dari matriks B. Elemen C11 yang terletak pada baris dan kolom pertama matriks C berasal dari perkalian-dalam antara baris pertama matriks A dengan kolom pertama matriks B, sehingga:
C11 = A11B11 + A12B21 + . . . + A1nBn1
(2-8)
Elemen C1p berasal dari perkalian-dalam antara baris pertama matriks A dengan kolom ke-p matriks B, sehingga:
C1p = A11B1p + A12B2p+ . . . + A1nBnp
(2-9)
Elemen-elemen baris ke-dua matriks C dihitung dari perkalian-dalam antara baris kedua matriks A dengan setiap kolom matriks B secara bergantian; yakni:
C21 = A21B11 + A22B21 + . . . + A2nBn1 C22 = A21B12 + A22B22 + . . . + A2nBn2 ....
....
....
....
....
C2p = A21B1p + A22B2p + . . . + A2nBnp
(2-10)
Cara untuk menghitung elemen-elemen matriks C ini (atau perkalian matriks) menunjukkan bahwa supaya perkalian ini dapat berlangsung maka banyaknya kolom matriks A harus selalu sama dengan banyaknya baris matriks B. Matriks C akan selalu mempunyai banyak baris yang sama dengan matriks A dan banyak kolom yang sama dengan matriks B. Hubungan kesesuaian untuk perkalian matriks ini dapat dinyatakan dengan bagan sebagai berikut:
15 [m x n] [n x p] = [m x p]
(2-11)
Perkalian matriks kebanyakan tidak komutatif. Yakni:
AB≠BA
(2-12)
2.1.4.4 Transpos Matriks Berdasarkan Gere dan Weaver (1983, p21), matriks tranpos, yaitu sebuah matriks baru yang dibentuk dengan menukar baris-baris dan kolom-kolom dari matriks asal; yaitu; baris pertama dari matriks asal menjadi kolom pertama dari matriks transpos, baris kedua menjadi kolom kedua dan seterusnya. Jika matriks A adalah matriks asal yang berordo m x n, seperti yang terdapat pada persamaan (2-5), maka matriks transposnya, ditulis AT, akan berordo n x m:
A11 A21 ... Am1 A A ... Am2 12 22 T A = ... ... ... ... A1n A2n ... Amn
2.2
(2-13)
Teori-teori Khusus yang Berhubungan dengan Topik Yang Dibahas Teori khusus tentang robot industri dan kinematika yang berhubungan dengan
geometri dari gerakan. Berikut ini beberapa dasar teori robot industri dan kinematika.
2.2.1
Definisi Robot Industri Organisasi standarisasi dunia melalui ISO 8373 mendefinisikan robot industri
sebagai “sebuah manipulator dengan tiga atau lebih sumbu, yang dikontrol secara otomatis, yang dapat diprogram ulang, dengan banyak tujuan, di mana diletakkan pada
16 tempat yang tetap atau dapat bergerak untuk keperluan dan aplikasi-aplikasi otomasi industri”. Di samping itu, British Robot Association memberikan definisi mengenai robot industri, yaitu “sebuah peralatan yang dapat diprogram ulang, yang dirancang untuk sekaligus memanipulasi dan memindahkan benda, peralatan atau alat khusus untuk proses manufaktur, melalui gerakan dengan pemrograman variabel untuk melakukan tugas manufaktur khusus”. Demikian halnya dengan Japanese Industrial
Robot Association yang memberikan definsi robot menjadi enam tingkatan (Fu et al, 1987, p1-6), yaitu: a. Peralatan manual (manual handling devices). b. Peralatan mengangkat dan meletakkan (pick and place devices). c. Manipulator yang variabelnya dapat diprogram secara berurutan (programmable
variable sequence manipulator). d. Robot yang diajar secara manual (robot taught manually). e. Robot yang dikendalikan dengan sebuah bahasa pemrograman (robots
controlled by a programming language). f.
Robot yang dapat bereaksi terhadap lingkungannya (robots which can raect to
their environment).
2.2.2
Karakteristik Robot Industri Berdasarkan James L. Fuller (1991, p37-38), berikut adalah karakteristik-
karakteristik robot industri: a. Hand, atau tangan dalam robotika dikenal sebagai gripper, end effector, atau end-of-
arm. Di dalam tangan tersebut terdapat peralatan-peralatan mekanik yang bisa digerakkan yang dilekatkan pada ujung manipulator. Tangan robot dapat memegang
17 dan memindahkan objek serta bisa juga melakukan proses manufaktur seperti: mengelas, mengecat dan sebagainya. b. Wrist, merupakan penghubung antara tangan (hand) dan lengan (arm) pada robot.
Wrist dapat bergerak dengan tiga pergerakan, antara lain: •
Pitch, pergerakan joint naik dan turun.
•
Yaw, pergerakan joint menyamping kiri dan kanan.
•
Roll, pergerakan joint memutar.
c. Arm, atau lengan, merupakan sarana untuk berinteraksi langsung dengan objek. Bentuk dari lengan ini akan dapat mempengaruhi pergerakan, lintasan dan luas jangkauan dari robot. Secara mekanis lengan robot terbagi atas dua bagian utama, yaitu: •
Link, merupakan bagian lengan.
•
Joint, merupakan titik pertemuan antara dua link. Joint itu sendiri terdiri dari beberapa macam, yaitu prismatic joint, planar joint, spherical joint, revolute
joint, screw joint, dan cylindrical joint. d.
Shoulder, berfungsi untuk mendukung/membantu pergerakan lengan.
e. Lifting Power, merupakan gaya angkat dari lengan robot yang bergantung pada berat, bentuk dan objek yang akan dipindahkan. f. Repeatability, untuk dapat menggantikan peran manusia dengan sempurna, sebuah robot harus dapat melakukan tugas/pekerjaan secara berulang-ulang dengan presisi yang tinggi/baik. Kemampuan pergerakan robot secara berulang-ulang untuk melakukan tugas dengan presisi yang baik disebut repeatability.
18
g. Automatic Control System, digunakan untuk menjalankan instruksi-instruksi yang tersimpan di dalam memori robot. Tanpa Automatic Control System, robot hanyalah seperti sebuah peralatan kendali jarak jauh.
2.2.3
Komponen Robot Industri Berdasarkan James L. Fuller (1991, p37-38), robot industri mempunyai dua
komponen utama, antara lain: a. Physical Parts/Anatomy, terbentuk dari empat bagian, yaitu: •
Mechanical Part/Manipulator, adalah suatu struktur peralatan mekanik yang mempunyai fungsi tertentu, misalnya untuk menjepit, berputar ataupun bergeser dan lain sebagainya. Manipulator biasanya dibuat dalam bentuk lengan.
•
Controller, yaitu bagian dari sistem yang bertugas mengatur semua kegiatan yang terjadi pada robot. Controller pada robot dapat menggunakan mikrokontroler atau mikroprosesor dan berisi control program dan task program.
•
Power Supply, berfungsi memberikan energi kepada manipulator untuk dapat bergerak. Energi yang diberikan bisa berupa elektrik, hidrolik, atau pneumatik.
•
Vehicle, komponen ini dapat digunakan ataupun tidak (optional). Berfungsi untuk membawa bagian dasar (base) dari robot ke arah tempat robot bekerja. Bagian dasar robot (base) bisa dilekatkan pada sebuah benda tetap seperti panel atau meja, juga bisa dilekatkan pada sebuah alat gerak seperti roda/ban atau kaki.
b. Learned Behavior/Task Program, berfungsi sebagai data pada control program untuk melaksanakan pekerjaan yang diberikan.
19 2.2.4
Kinematika Dasar Berdasarkan Fu, Gonzales dan Lee (1987, p6-13), berikut adalah pengertian
tentang permasalahan-permasalahan yang terdapat pada kinematika: Terdapat dua permasalahan dalam mempelajari kinematika, permasalahan pertama adalah direct kinematics. Direct kinematics berhubungan dengan mencari solusi untuk mendapatkan posisi dan orientasi dari tool frame dalam hal ini end effector yang relatif terhadap base frame dengan memberikan sudut-sudut dari joint (θi). Permasalahan yang kedua adalah inverse kinematics, berhubungan dengan mencari solusi untuk menemukan besarnya sudut-sudut joint (θi) dengan memberikan posisi dan orientasi dari end effector.
Parameter Link
Sudut-sudut Joint
Direct Kinematic
Posisi dan Orientasi End Effector
Parameter Link
Sudut-sudut Joint
Inverse Kinematic
Gambar 2.3 Direct kinematics dan inverse kinematics
Definisi Posisi, Orientasi, dan Frame Berdasarkan Craig (1989, p20-24), berikut adalah definisi dari posisi, orientasi, dan frame. Posisi merupakan lokasi kedudukan relatif suatu benda terhadap suatu acuan. Orientasi merupakan arah rujukan suatu benda relatif terhadap suatu acuan. Frame
20 merupakan sekumpulan vektor yang memberikan informasi tentang posisi dan orientasi atau secara singkat frame dapat disebut koordinat.
Macam-macam Gerakan Berdasarkan Craig (1989, p32-37), gerakan bisa dibagi menjadi: gerak translasi, gerak rotasi, dan transformasi. Gerak translasi adalah gerak perpindahan suatu titik ke titik lain secara lurus di dalam ruangan. Gerak rotasi adalah gerak perpindahan suatu titik ke titik lain secara melingkar di dalam ruangan. Transformasi adalah gerakan gabungan dari gerak translasi dan gerak rotasi.
2.2.5
Direct Kinematics Pada bagian ini akan dijelaskan mengenai matriks rotasi, translasi, transformasi
homogeneous, dan konsep Denavit-Hartenberg. Hal ini dimaksudkan dalam memahami konsep Denavit-Hartenberg memerlukan pembahasan transformasi homogeneous di mana untuk memahaminya memerlukan pembahasan tentang matriks rotasi dan translasi baik dalam dua ataupun tiga dimensi. 2.2.5.1 Rotasi Dalam 2 Dimensi
Y
y'
V’ V
y Θ
Φ
x'
x
X
Gambar 2.4 Vektor V berotasi menjadi V’
21 x Gambar 2.4 menggambarkan vektor V = adalah posisi dari sebuah titik. Bila y ditulis dengan koordinat polar menjadi x r cos φ V = = y r sin φ
(2-14)
Bila terjadi rotasi sebesar θ, V menjadi V’ di mana x' r cos (θ + φ V’ = = y ' r sin (θ + φ
) r (cos θ cos φ − sin θ sin φ ) = ) r (sin θ cos φ + cos θ sin φ )
x cos θ − y sin θ cos θ = V’ = x sin θ + y cos θ sin θ
− sin θ x cos θ y
(2-15)
sehingga V’ = R . V
(2-16)
dengan cos θ − sin θ R = matriks rotasi = sin θ cos θ
(2-17)
2.2.5.2 Rotasi Dalam 3 Dimensi Gambar 2.5 menggambarkan sistem koordinat OUVW berotasi terhadap sistem koordinat referensi OXYZ. Titik P dapat direpresentasikan melalui tiap-tiap koordinatnya dengan mengacu kepada sistem koordinat OUVW dan OXYZ.
22 Z
.
P W O
V
Y
U
X
Gambar 2.5 Koordinat OUVW relatif terhadap sistem koordinat OXYZ Matriks rotasi dalam 3 dimensi berukuran 3 x 3. Pada gambar 2.6, bila sistem koordinat OUVW berotasi terhadap sumbu OZ dengan sudut θ, maka koordinat arah sumbu OZ tidak berubah, yang berubah koordinat pada arah OX dan OY , jadi matriksnya mirip dengan matriks rotasi dalam 2 dimensi dengan komponen Z-nya tetap, hasilnya adalah,
Rz ,θ
cosθ = sin θ 0
− sin θ cosθ 0
0 0 1
(2-18)
Z P
W
V O
U
Y
X
Gambar 2.6 Koordinat OUVW berotasi terhadap sumbu OZ Gambar 2.7 menggambarkan bila sistem koordinat OUVW berotasi terhadap sumbu OX dengan sudut α, maka koordinat arah sumbu OX tidak berubah, yang berubah koordinat pada arah OY dan OZ , jadi matriksnya mirip dengan matriks rotasi dalam 2 dimensi dengan komponen X-nya tetap, hasilnya adalah,
23 0 1 = 0 cos α 0 sin α
Rx , α
− sin α cos α 0
(2-19)
Z
P V
Y
W O U
X
Gambar 2.7 Koordinat OUVW berotasi terhadap sumbu OX Gambar 2.8 menggambarkan bila sistem koordinat OUVW berotasi terhadap sumbu OY dengan sudut Φ, maka koordinat arah sumbu OY tidak berubah, yang berubah koordinat pada arah OX dan OZ , jadi matriksnya mirip dengan matriks rotasi dalam 2 dimensi dengan komponen Y-nya tetap, hasilnya adalah,
R y ,Φ
cos Φ 0 sin Φ = 0 1 0 − sin Φ 0 cos Φ
(2-20)
Z
W
U O
X
P
Y V
Gambar 2.8 Koordinat OUVW berotasi terhadap sumbu OY
24 Arah rotasi berlawanan jarum jam tanda α, θ, dan Φ adalah positif sedangkan arah rotasi searah dengan gerak jarum jam tanda α, θ, dan Φ adalah negatif. Matriks-matriks Rx,α persamaan (2-19), Ry,Φ persamaan (2-20) dan Rz,θ persamaan (2-18) di atas dapat disebut sebagai matriks rotasi dasar. Z
Z W W Φ α
V α
X
Y
Φ
O
O
U V θ
O
Y
θ
U X
Gambar 2.9 Sistem-sistem koordinat yang berputar
2.2.5.3 Translasi Dalam 2 Dimensi Gambar 2.10 menggambarkan posisi sebuah titik (x, y) dinyatakan dengan sebuah vektor V. Titik ini kemudian berpindah menjadi (x’, y’) dan dinyatakan dengan vektor V’. Y V ∆V V’ O
X
Gambar 2.10 Vektor V bertranslasi menjadi V’
25 Misalkan perubahan vektor ∆V yang merupakan perubahan dalam arah x sebesar ∆x, dan dalam arah y sebesar ∆y, maka V’ = V + ∆V
(2-21)
Jika ditulis dalam komponennya menjadi, x' x ∆x = + y ' y ∆y x' x + ∆x = y ' y + ∆y
(2-22)
2.2.5.4 Translasi Dalam 3 Dimensi Seperti halnya dengan translasi 2 dimensi, untuk translasi 3 dimensi hanya menambahkan komponen z, sehingga persamaan (2-22) menjadi, x' x + ∆x y ' = y + ∆y z ' z + ∆z
(2-23)
Jika ditulis dalam bentuk matriks persamaan (2-23) di atas menjadi, x' 1 y' 0 z' = 0 1 0 1 0 Matriks 0 0
0 1 0 0
0 1 0 0
0 ∆x x 0 ∆y y 1 ∆z z 0 1 1
(2-24)
0 ∆x 0 ∆y disebut matriks translasi. Nilai 1 pada pojok kanan bawah 1 ∆z 0 1
hanya merupakan operator matematika pembantu saja agar penulisan dalam bentuk matriks bisa dilakukan. Selain itu jika bukan translasi saja tetapi juga melakukan rotasi
26 maka matriks rotasi dan translasi bisa digabung menjadi satu dan biasanya disebut matriks transformasi homogenous.
2.2.5.5 Matriks Transformasi Homogeneous Berdasarkan Fu, Gonzales dan Lee (1987, p27-29), berikut adalah bagian-bagian yang penting tentang transformasi homogeneous: Matriks rotasi 3x3 yang sebelumnya diperkenalkan tidak dapat digunakan untuk menunjukkan pergeseran dari suatu posisi (translasi) dan penskalaan, untuk itu dibutuhkan sebuah matriks baru yang bisa merepresentasikan pergeseran sekaligus penskalaan. Matriks transformasi homogeneous adalah sebuah matriks 4x4 di mana matriks ini dapat memetakan sebuah vektor posisi yang diekspresikan dalam koordinat
homogeneous dari suatu sistem koordinat ke sistem koordinat lainnya. Sebuah matriks transformasi homogeneous terdiri dari 4 submatriks: R3 x 3 T = − f1x 3
vektor matriks Ι Ι P3 x1 rotasi posisi Ι − = − Ι − transforma si Ι S1x1 Ι skala perspektif
(2-25)
di mana submatriks 3x3 yang terletak di kiri atas merepresentasikan matriks rotasi, submatriks 3x1 di bagian kanan atas merepresentasikan vektor posisi dari sistem koordinat asal yang dirotasi mengacu pada sistem koordinat referensi. Submatriks 1x3 di bagian bawah kiri merepresentasikan transformasi perspektif, dan terakhir submatriks 1x1 yang terletak di bagian kanan bawah adalah matriks yang merepresentasikan faktor penskalaan.
27 Selanjutnya sebuah matriks rotasi 3x3 bisa diperluas menjadi matriks transformasi homogeneous 4x4 yang dilambangkan dengan Trot. Persamaan (2-18) sampai dengan persamaan (2-20) dapat diekspresikan sebagai matriks transformasi
homogeneous,
Tx ,α
0 1 0 cos α = 0 sin α 0 0
T y ,Φ
cos Φ 0 = − sin Φ 0
Tz ,θ
cosθ sin θ = 0 0
0 − sin α cos α 0
0 0 0 1
0 sin Φ 0 1 0 0 0 cos Φ 0 0 0 1
− sin θ cosθ 0 0
0 0 1 0
0 0 0 1
(2-26)
(2-27)
(2-28)
Matriks-matriks rotasi 4x4 di atas disebut juga matriks rotasi homogeneous dasar. Submatriks 1x3 yang merepresentasikan transformasi perspektif berguna pada komputer
vision dan kalibrasi dari sebuah kamera. Semua elemen dari sub matriks ini di set sama dengan nol untuk mengindikasikan bahwa perspektif/sudut pandang tidak berubah karena tidak menggunakan kamera. Pada matriks rotasi homogeneous faktor penskalaan di set 1, karena diasumsikan tidak terjadi pembesaran pada objek jika tidak menggunakan kamera.
28 2.2.5.6 Konsep Denavit Hartenberg Manipulator mekanik terdiri atas sejumlah bagian tubuh yang dinamakan sebagai
link. Kemudian sejumlah joint digunakan untuk menghubungkan link-link tersebut. Setiap joint mewakili satu derajat kebebasan. Untuk mendeskripsikan hubungan translasional dan rotasional antara link-link yang berdekatan, Denavit dan Hartenberg [1955] memperkenalkan rancangan sebuah metode matriks yang secara sistematis membangun sebuah sistem koordinat dari masing-masing link. Dalam mencari sebuah transformasi dari sebuah ujung alat hingga basis dari sebuah manipulator, ditentukan frame dari link-link dan mendapatkan teknik yang sistematikal, yang dapat menjabarkan kinematika dari sebuah robot dengan n derajat kebebasan dalam cara yang unik.
Gambar 2.11 Links of a kinematic chain
29 Gambar 2.11 menunjukkan link pertama dari rantai kinematika. Pada basis dan tiap link i dari rantai tersebut menggambarkan sebuah frame Ki yang spesifik, yang mana merupakan link. Jadi posisi dan orientasi dari sebuah frame link berubah dengan berdasarkan frame link yang sebelahnya menurut pergerakkan dari penggabungan joint. Maka dari itu koordinat frame Ki dapat dijabarkan dari frame Ki-1 link sebelumnya. Transformasi homogeneous meliputi sudut joint (untuk joint putar) atau offset joint (untuk prismatic joint). Pada akhirnya frame Kn dapat ditransformasikan ke frame base dengan mengalikan semua transformasi link dengan rantai kinematik. Jadi untuk membuat sebuah posisi/orientasi tergantung dari frame alat (sensor yang terletak disana) mendekati frame basis dari manipulator (yang berada di lantai biasanya permanen), urutan dari transformasi homogeneous diurut dari atas(ujung akhir) hingga bawah(basis) dengan urutan Kn-1,Kn-2,….,K0 harus diolah. Tugas yang tersisa adalah mengatur semua matriks transformasi homogeneous untuk sebuah tipe rantai kinematik, mengingat sudut dari link dan tipe dari joint.
30
Gambar 2.12 Parameter kinematik menurut konsep Denavit Hartenberg
Gambar 2.12 menunjukkan secara terperinci dari rantai kinematik, dimana dua buah link yang terhubung lewat sebuah joint putar. Ini digunakan untuk menunjukkan bagaimana parameter-parameter didapat dengan penjabaran link. Untuk mendapatkan sistem koordinat-koordinat dari link dapat dilihat pada penjabaran pada joint-joint-nya. i dan i-1 adalah joint yang merepresentasikan joint yang satu dengan yang sebelumnya. Pada joint yang ke i, perpotongan garis tegak pada titik Ui dengan garis lurus ai merupakan frame Ki , dimana i = 0, 1, 2, 3, 4,…, n (dimana n merupakan jumlah derajat kebebasan). Sumbu x didapat dari garis normal pada frame
base dan searah dengan link jika bukan base. Sumbu Z merupakan garis lurus yang searah dengan sumbu putar joint, sehingga berdasarkan kaedah tangan kanan sumbu y
31 bisa didapatkan. Kaedah tangan kanan didefinisikan sebagai perluasan ibu jari, jari telunjuk, dan jari tengah tangan kanan. pergerakan dari x (jari telunjuk) ke +y (jari tengah) menunjukkan hasil vektor z (ibu jari). Berdasarkan Fu, Gonzales dan Lee (1987, p36) setiap koordinat dibuat berdasarkan tiga buah aturan di bawah ini: 1. Sumbu Zi-1 berada di sepanjang poros pergerakan dari joint ke-i 2. Sumbu Xi tegak lurus terhadap sumbu Zi-1 dan menunjuk menjauh darinya 3. Sumbu Yi melengkapi sistem koordinat yang diperlukan berdasarkan aturan tangan kanan Pada parameter-parameter yang ada untuk konsep Denavit Hartenberg yang ada pada gambar 2.12 dapat dijabarkan sebagai berikut:
ai. Panjang dari garis normal Sudut antara Zi-1 dan Zi dengan sumbu Xi sebagai acuannya Panjang dari garis Sudut antara Xi-1 dan Xi dengan sumbu Zi-1 sebagai acuannya
Sebuah transformasi homogeneous
i-1
Ti pencerminkan frame Ki terhadap Ki-1
melalui link terbaru, dapat diturunkan dengan transformasi geometrikal melalui link dengan pertimbangan sebagai berikut: 1. Rotasi terhadap Zi-1 dengan sudut θ. 2. Translasi sepanjang Zi-1 dengan perpindahan di. 3. Translasi sepanjang Xi-1 dengan perpindahan ai. 4.
Rotasi terhadap Xi dengan sudut αi. Masing-masing dari keempat pertimbangan di atas dapat dilakukan
perhitungan dengan cara matriks homogeneous rotasi-translasi dan hasil dari keempat
32 matriks tersebut adalah matriks transformasi berdasarkan konsep Denavit Hartenberg untuk sistem koordinat berdekatan
i-1
Ai, yaitu sistem koordinat i dan sistem koordinat i-
1, untuk joint putar adalah: i-1
1 0 i-1 Ai = 0 0
0 1 0 0
0 0 1 0
0 cosθ i 0 sin θ i d 0 1 0
cosθ i sin θ i i-1 Ai = 0 0
2.2.6
Ai = TZ,d . TZ,θ . TX,a . TX,α
− sin θ i cosθ i 0 0
− cos α i sin θ i cos α i cosθ i sin α i 0
0 0 1 0
0 1 0 0 0 0 1 0
0 1 0 0
sin α i sin θ i − sin α i cosθ i cos α i 0
0 a i 1 0 0 0 0 cos α i 1 0 0 sin α i 0 1 0 0
0 − sin α i cos α i 0
ai cosθ i ai sin θ i di 1
0 0 0 1
(2-29)
Inverse Kinematics
Inverse Kinematics diperlukan pada pengendalian posisi dan orientasi dari end effector robot untuk mencapai suatu objek di dalam sistem koordinat. Berdasarkan posisi dan orientasi (0Ti) yang ingin dicapai, inverse kinematics digunakan untuk mencari besarnya sudut (θi) yang harus diberikan pada setiap joint (i) manipulator untuk mendapatkan posisi dan orientasi tersebut (Fu, Gonzales dan Lee, 1987, p52). Berdasarkan Craig (1989, p114-118), kemungkinan adanya solusi perlu diketahui dahulu sebelum melakukan pencarian nilai θi. Kemungkinan untuk mendapatkan solusi sangat penting untuk diketahui, hingga perhitungan untuk mencari solusi tidak perlu dilakukan apabila tidak ada jaminan bisa mendapatkan solusi. Ada tidaknya solusi berhubungan erat dengan area jangkauan (workspace) robot. Area jangkauan adalah volum ruang yang dapat dicapai oleh end effector manipulator. Apabila posisi dan
33 orientasi (titik tujuan) dari end effector berada di dalam area jangkauan, maka sekurangkurangnya terdapat satu solusi. Apabila solusinya ada, maka kemungkinan lain yang bisa terjadi adalah solusinya lebih dari satu (multi solusi). Hal ini menjadi masalah karena sistem dituntut hanya bisa memilih satu solusi saja. A B
1
2
Gambar 2.13 Dua solusi untuk satu posisi
Sebagai contoh bisa dilihat pada gambar 2.13, berdasarkan gambar tersebut, end
effector semula berada pada posisi A dan diinginkan pindah ke posisi B. Untuk mencapai posisi B ada dua macam konfigurasi gerakan manipulator yang bisa dilakukan (ditunjukkan dengan garis putus-putus 1 dan 2). Kedua solusi tersebut sama-sama bisa mendapatkan posisi yang sama. Bila terdapat lebih dari satu solusi, maka akan sangat baik untuk memilih solusi dengan gerakan paling sedikit pada joint-joint, berdasarkan contoh gambar 2.13 di atas, maka garis putus-putus paling atas (1) merupakan pilihan terbaik. Namun apabila ada halangan atau rintangan ketika memilih solusi dengan gerakan yang paling minimal, maka solusi dengan pergerakan yang lebih jauh bisa dipilih. Hal ini menunjukkan perlunya menghitung semua solusi yang mungkin dilakukan.
34 Banyaknya solusi ditentukan oleh jumlah joint yang dimiliki manipulator, dan juga fungsi dari parameter-parameter link (di, ai, dan αi pada manipulator dengan joint putar; dan θi, ai, dan αi pada manipulator dengan joint prismatik) yang tidak sama dengan nol. Semakin banyak parameter link yang tidak bernilai nol, maka semakin banyak pula cara atau solusi untuk mencapai suatu tujuan. Berdasarkan Fu, Gonzales dan Lee (1987, p53), ada dua cara untuk mencari solusi Inverse Kinematics: teknik transformasi inverse untuk mencari solusi sudut Euler, dan pendekatan geometris. Teknik Transformasi Inverse untuk Solusi Sudut Euler Berdasarkan Fu, Gonzales dan Lee (1987, p53-60), solusi dicari dengan menggunakan konsep dasar dari teknik transformasi inverse untuk mencari sudut Euler. Karena matriks rotasi 3 x 3 dapat ditulis dengan persamaan sudut Euler (Φ, θ, ψ) sesuai dengan persamaan di bawah ini, n x n y n z n x n y n z
sx sy sz
sx sy sz
ax a y = R z ,Φ Ru ,θ Rw,ψ a z
a x CΦCψ − SΦ Cθ Sψ a y = SΦCψ + CΦCθ Sψ a z Sθ Sψ
− CΦSψ − SΦCθ Cψ − SΦSψ + CΦCθ Cψ Sθ Cψ
(2-30)
SΦSθ − CΦSθ Cθ
(2-31)
Di mana n = normal vector, orthogonal terhadap end effector. s = sliding vector, menunjuk ke arah end effector bergerak (membuka atau menutup). a = approach vector, menunjuk ke arah luar end effector. Cθ = cos θ, Sθ = sin θ, CΦ = cos Φ, SΦ = sin Φ, Cψ = cos ψ, Sψ = sin ψ.
35 Pada persamaan di atas (2-31) jika ruas kiri sama dengan ruas kanan, maka diperoleh nx = CΦ Cψ – SΦ Cθ Sψ
(2-32a)
ny = SΦ Cψ + Cψ Cθ Sψ
(2-32b)
nz = Sθ Sψ
(2-32c)
sx = -CΦ Sψ - SΦ Cθ Cψ
(2-32d)
sy = - SΦ Sψ + CΦ Cθ Cψ
(2-32e)
sz = Sθ Cψ
(2-32f)
ax = SΦ Sθ
(2-32g)
ay = - CΦ Sθ
(2-32h)
az = Cθ
(2-32i)
Kemudian gunakan persamaan (2-32f), (2-32h), dan (2-32i) untuk mencari nilai Φ, θ, ψ, maka diperoleh θ = cos -1 ( az )
(2-33)
s ψ = cos -1 z Sθ
(2-34)
− ay Φ = cos -1 Sθ
(2-35)
Pendekatan Geometris Cara geometris ini didapat berdasarkan sistem koordinat link dan geometri tangan manusia. Pada pendekatan ini dibagi menjadi 2 macam solusi yaitu solusi untuk posisi dan solusi untuk orientasi. Solusi untuk posisi menyelesaikan 3 joint pertama sedangkan untuk solusi untuk orientasi menyelesaian 3 joint terakhir. Dalam penyelesaiannya menggunakan trigonometri untuk mendapatan sudut-sudutnya. Berdasarkan Fu, Gonzales, dan Lee (1987, p60-69), pada cara geometris, solusi dicari
36 dengan menerapkan ilmu-ilmu geometri dan hukum-hukum trigonometri. Sebagai contoh: Z
A (Px, Py, Pz)
θi
X, Y
O
Gambar 2.14 Sudut joint 1
Untuk mencari θi, bisa digunakan ilmu-ilmu geometrik, sehingga didapatkan:
PZ
[ (Px + Py + Pz )] [ (Px + Py ) ] cosθ = [ (Px + Py + Pz )]
(2-36)
θ i = arctan 2(sin θ i , cosθ i )
(2-38)
sin θ i =
2
2
2
i
2
2
2
2
2
(2-37)
Pendekatan Numerik
Pada robot yang distandarisasi dapat dirangkai dalam struktur dengan beragam derajat kebebasan dan bentuk untuk tugas yang berbeda. Pada umumnya robot manipulator yang didesain, solusi inverse kinematics diturunkan sendiri dan disimpan sebagai fungsi pusataka dalam pengendali robot. Bagaimanapun untuk modul sistem yang dapat dipasang, untuk jumlah geometri dan derajat kebebasan bisa didapat dari modul dan sangat besar dan meningkat secara eksponensial. Juga beberapa dari geometri
37 robot mungkin tidak memiliki solusi bentuk tertutup inverse kinematics. Dalam kasus tertentu, penurunan manual untuk solusi secara umum tidak praktis dan mustahil (IMing Chen & Guilin Yang, In-Gyu Kang, 1999, p2). Pendekatan numerik memanfaatkan kemampuan komputer untuk melakukan perhitungan secara berulang-ulang di dalam mendapatkan solusi inverse kinematics. Komputer akan terus 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 numerik relatif lebih mudah, namun menghabiskan lebih banyak waktu karena sifat pengulangannya. Apabila cara numerik menghabiskan waktu terlalu banyak, maka perlu dipertimbangkan penggunaan cara analitik (Craig, 1989, p119-120).