II. Kinematika Robot Pendahuluan Definisi : Kinematika : Studi analitis pergerakan lengan robot (robot arm) terhadap sistem kerangka koordinat referensi yang diam/bergerak tanpa memperhatikan gaya yang menyebabkan pergerakan tersebut. terdapat dua topik pembahasan kinematika Direct/Forward Kinematics : (angles to positions) Diketahui : panjang setiap link dan sudut setiap joint Informasi yang akan diperoleh : posisi dari ujung lengan robot dalam kerangka 3 D Inverse Kinematics : (Positions to angles) Diketahui : panjang setiap link, posisi ujung lengan robot Informasi yang akan diperoleh : sudut masing joint untuk dapat mencapai posisi tersebut
II. Kinematika Robot Definisi : Terminologi Kinematika Link, Joint, End-effector, gripper (lihat kuliah yang lalu) Base : Link (Link 0) yang terhubung pada kerangka koordinat diam (fixed) biasanya terhubung langsung pada sistem kerangka koordinat cartesian (world coordinate) Kinematic chain : sejumlah link yang dihubungkan oleh joint (yang membentuk sebuah manipulator) Open kinematic chain : sejumlah link yang memiliki hubungan kerangka koordinat yang terbuka (acyclic) Mixed kinematic chain : sejumlah link yang memiliki hubungan tertutup II. Kinematika Robot
II. Kinematika Robot
Review : Vector dan Matriks II. Kinematika Robot Review : Vector dan Matriks Dot Product: Representasi Geometri: Representasi vektor : Vektor Satuan (Unit Vector) Vector dalam arah vektor yang dipilih dengan magnituda = 1.
Review : Vector dan Matriks II. Kinematika Robot Review : Vector dan Matriks Terminologi Square matrix A adalah Matriks A (n x n), disebut, Matriks A berorde n (square matrix of order n) merupakan matriks yang memiliki jumlah baris dan kolom sama (m = n) Diagonal Matrix adalah square matrix, dengan elemen aij = 0 jika i j Identity matriks (Matriks Identitas) adalah diagonal matrix dimana nilai elemen aij = 1 jika i = j Symetric Matrix (Normal Matrix) adalah square matrix dimana nilai transpose adalah nilai matrik itu sendiri, A = AT atau elemen aij = aji Skew Matrix adalah square matrix dimana nilai elemen aij = - aji atau jika A adalah Skew Matrix maka A = - AT Sebuah symetric matrix A dapat dibuat dari sebuah non-symetric matrix B, dengan operasi A = B + BT/2 Orthogonal Matrik adalah AT = A-1
Review : Vector dan Matriks II. Kinematika Robot Review : Vector dan Matriks Matrix Multiplication: Matriks A (m x n) dan Matriks B (n x p), dapat dikalikan jika jumlah kolom Matriks A sama dengan jumlah baris Matriks B. Perkalian matriks tidak secara umum tidak bersifat komutatif (Non-Commutative Multiplication) AB is NOT equal to BA Matrix Addition:
Review : Vector dan Matriks II. Kinematika Robot Review : Vector dan Matriks Matrix Determinant . Cofactor Inverse Matrix : (matriks cofactor dibagi dengan determinant)
Matrix dan Vector Review II. Kinematika Robot Matrix dan Vector Review Karakteristik Matriks Rank sebuah matriks A (m x n) = orde dari sub matriks A terbesar dengan determinan = 0 Sebuah matrik dengan orde yang lebih besar dari Rank adalah matriks Singular Jika | A | 0, maka Matriks A adalah non singular Matriks yang non singular memiliki inverse Inverse of a diagonal Matrix Inverse dari symmetrical matrix adalah symmetrical matrix Inverse dari non-symmetrical matrix adalah non-symmetrical matrix Inverse dari perkalian matriks adalah .
Transformasi Dasar Matrik Rotasi Dasar Dua persoalan Transformasi : Bagaimana menghitung nilai sebuah titik terhadap sebuah KK tertentu yang mengalami rotasi Penentuan Matrik Rotasi Dasar Bagaimana menghitung nilai sebuah titik tehadap sebuah KK tertentu yang mengalami translasi/pergeseran Penentuan Vektor Translasi Matrik Rotasi Dasar Perhatikan dua buah Kerangka Koordinat (KK) 0XYZ dan 0UVW yang pada saat awal berimpit OXYZ merupakan KK diam OUVW merupakan KK bergerak Titik P ikut bergerak bersama KK OUVW Pada saat KK OUVW bergerak/berputar, titik pusat (origin) selalu berimpit dengan titik pusat KK OXYZ (coincident)
Matrik Rotasi Dasar Titik P dapat direpresentasikan dalam nilai koordinat terhadap KK OXYZ maupun KK OUVW, pUVW = (pu, pv, pw)T pXYZ = (px, py, pz)T Persoalannya adalah bagaimana menghitung matrik transformasi (3 x 3) yang akan mentransformasikan koordinat pUVW menjadi nilai koordinat yang dinyatakan terhadap KK OXYZ pXYZ = R pUVW
Matrik Rotasi Dasar titik pUVW dan pXYZ , masing-masing dapat dinyatakan dalam nilai komponen vektor, yang menyatakan proyeksi titik P terhadap masing-masing sumbu dari KK pXYZ = px ix + py jy + pz kz) pUVW = pu iu + pv jv + pw kw) i, j, k = vektor satuan dalam arah sumbu KK Berdasarkan definisi dari Dot product
Matrik Rotasi Dasar Persamaan sebelumnya dapat diekspresikan ke dalam bentuk matrik Dengan cara yang sama, kita dapat memperoleh nilai koor dinat pUVW terhadap koordinat pXYZ, pUVW = Q pXYZ
Matrik Rotasi Dasar Karena Dot Product bersifat komutatif Q = R-1 = RT QR = RTR = R-1R = I Q, R disebut matrik transformasi orthogonal Disebut juga matrik transformasi orthonormal karena elemen-elemen nya berupa vektor satuan (unit vector)
Matrik Rotasi Dasar Rotasi Terhadap Sumbu X Rotasi Terhadap Sumbu Y Rotasi Terhadap Sumbu Z
Rotasi Terhadap Sumbu X Matrik Rotasi Dasar Rotasi Terhadap Sumbu X pXYZ = Rx, pUVW ix iu
Rotasi Terhadap Sumbu Y Matrik Rotasi Dasar pXYZ = Ry, pUVW jy jv Rotasi Terhadap Sumbu Y
Rotasi Terhadap Sumbu Z Matrik Rotasi Dasar pXYZ = Rz, pUVW kz kw Rotasi Terhadap Sumbu Z
Matrik Rotasi Dasar (Contoh) Diketahui dua buah titik auvw = (4,3,2)T dan buvw = (6,2,4)T terhadap KK OUVW hitunglah nilai titik tersebut terhadap KK OXYZ (axyz dan bxyz) jika KK OUVW diputar terhadap sumbu OZ sebesar 60o
Matrik Rotasi Dasar (Contoh) Diketahui dua buah titik axyz = (4,3,2)T dan bxyz = (6,2,4)T terhadap KK OXYZ hitunglah nilai titik tersebut terhadap KK OUVW (auvw dan bovw) jika KK OUVW diputar terhadap sumbu OZ sebesar 60o
Matrik Rotasi Komposit Matrik rotasi dasar dapat dikalikan untuk menyatakan rotasi terhadap beberapa sumbu dari Kerangka Koordinat Mengingat bahwa perkalian matriks tidak bersifat komutatif, maka urutan rotasi terhadap beberapa sumbu menjadi penting Contoh 1, Pada saat awal KK OXYZ dan KK OUVW berimpit. Hitunglah nilai matrik rotasi, apabila KK OUVW berturut-turut : diputar terhadap sumbu OX sebesar sudut , kemudian diputar terhadap sumbu OZ sebesar sudut , kemudian diputar terhadap sumbu OY sebesar sudut
Matrik Rotasi Komposit Contoh 2, Pada saat awal KK OXYZ dan KK OUVW berimpit. Hitunglah nilai matrik rotasi, apabila KK OUVW berturut-turut : diputar terhadap sumbu OY sebesar sudut , kemudian diputar terhadap sumbu OZ sebesar sudut , kemudian diputar terhadap sumbu OX sebesar sudut
Matrik Rotasi Komposit KK OUVW (bergerak) selain dapat diputar terhadap KK OXYZ (referensi/diam) dapat pula diputar terhadap sumbunya sendiri (sumbu OU, sumbu OV atau sumbu OW) Aturan umum untuk menghitung matriks transformasi komposit yang mencakup dua kemungkinan rotasi diatas (berputar terhadap sumbu KK diam atau KK dirinya sendiri) adalah : Pada saat awal dua buah KK tersebut berimpit (coincident) dengan demikian matrik rotasi adalah matrik Identitas/Satuan, I Bila KK OUVW diputar terhadap salah satu sumbu dari KK OXYZ lakukan proses perkalian premultiply sesuai dengan matriks rotasi dasar dan urutannya Bila KK OUVW diputar terhadap salah satu sumbu dari KK nya sendiri (OUVW) lakukan proses perkalian postmultiply sesuai dengan matriks rotasi dasar dan urutannya
Matrik Rotasi Komposit Contoh, Pada saat awal KK OXYZ dan KK OUVW berimpit. Hitunglah nilai matrik rotasi, apabila KK OUVW berturut-turut : diputar terhadap sumbu OY sebesar sudut , kemudian diputar terhadap sumbu OW sebesar sudut , kemudian diputar terhadap sumbu OU sebesar sudut Perhatikan contoh diatas menghasilkan nilai matrik rotasi komposit yang sama dengan contoh sebelumnya namun berbeda dalam urutan rotasi
Rotasi Terhadap Sumbu Sembarang Selain rotasi terhadap sumbu-sumbu dari KK (diam atau bergerak) dapat juga terjadi rotasi sebesar sudut terhadap sebuah sumbu sembarang. OR, yang memiliki komponen vektor rx, ry, rz melalui titik pusat (origin) KK. Salah satu keuntungan dengan cara rotasi terhadap sumbu sembarang adalah tidak diperlukan rotasi terhadap beberapa sumbu dari KK. Untuk menurunkan matrik rotasi, Rr, , pertama kali perlu dilakukan beberapa kali rotasi terhadap sumbu KK OXYZ agar sumbu OR searah dengan sumbu OZ. Kemudian lakukan rotasi terhadap sumbu OR (atau sumbu OZ) dengan sudut dan terhadap sumbu KK OXYZ untuk mengembalikan sumbu OR ke posisi semula
Rotasi Terhadap Sumbu Sembarang Untuk mensejajarkan Sumbu OR dengan sumbu OZ dapat dilakukan dengan cara memutar sumbu OR terhadap sumbu OX sebesar sudut (sumbu OR sekarang berada di bidang XZ) kemudian diputar terhadap sumbu OY sebesar sudut - (Sumbu OR sejajar dengan sumbu OZ). Setelah diputar terhadap sumbu OZ (atau sumbu OR) sebesar , kembalikan lagi sumbu OR ke posisi semula dengan cara membalik urutan diatas dengan sudut yang berlawanan
Rotasi Terhadap Sumbu Sembarang Dengan demikian, Matrik Rotasi ,Rr, , yang merepresentasikan putaran terhadap sumbu sembarang dapat dinyatakan menjadi Dimana :
Rotasi Terhadap Sumbu Sembarang CONTOH : Hitunglah matrik rotasi Rr, yang merepresentasikan putaran sebesar sudut terhadap vektor r = (1, 1, 1)T Karena vektor r bukan vektor satuan maka komponen vektornya perlu dinormalisasi sepanjang sumbu-sumbu utama dari KK OXYZ, yaitu : Dengan mensubstitusi persamaan diatas dengan persamaan sebelumnya , diperoleh :
Rotasi Dengan sudut Euleur Perputaran sudut dari sebuah KK seringkali dinyatakan dalam perputaran sudut Euler, yaitu , , dan terhadap KK referensi Terdapat 3 sistem perputaran sudut Euleur yang pada dasarnya perbedaannya terletak pada urutan putarannya. Tiga sistem perputaran ditunjukkan dalam Tabel dibawah ini Urutan Sudut Euler Sistem I Sudut Euler Sistem II Sudut Euler Sistem III (Roll, Pitch and Yaw 1 Terhadap sumbu OZ Terhadap sumbu OZ Terhadap sumbu OX 2 Terhadap sumbu OU Terhadap sumbu OV Terhadap sumbu OY 3 Terhadap sumbu OW
Rotasi Dengan sudut Euleur Sistem I Perputaran ini dapat dinyatakan dalam KK OXYZ (KK referensi) dengan urutan : Terhadap OZ sebesar Terhadap OX sebesar , dan Terhadap OZ sebesar
Rotasi Dengan sudut Euleur Sistem II Perputaran ini dapat dinyatakan dalam KK OXYZ (KK referensi) dengan urutan : Terhadap OZ sebesar Terhadap OY sebesar , dan Terhadap OZ sebesar
Rotasi dengan sudut Euleur Sistem III (Roll, Pitch,Yaw, RPY)
Matriks Transformasi Homogen Matrik Rotasi (3 x 3) Vector Translasi (3 x 1) Matrik Homogen (4 x 4)
Matrik Transformasi Homogen Bentuk Matrik hanya translasi Bentuk Matrik rotasi saja Aturan matrik transformasi homogen bentuk komposit sama dengan aturan sebelumnya untuk bentuk rotasi/translasi terhadap KK diam atau KK berputar.
D-H Parameters Denavit-Hartenberg (D-H) digunakan untuk menggambarkan hubungan link dari robot dimana link diasumsikan berbentuk benda tegar (rigid body) Setiap linki memiliki sebuah kerangka koordinat (KKi). Setiap KK ditentukan berdasarkan kaidah [K.S. Fu et.al] : Arah sumbu Zi berimpit dengan sumbu pergerakan dari joint i+1 Arah sumbu Xi Sumbu Yi-1 mengikuti aturan tangan kanan Titik pusat KKi Pada titik potong antara sumbu Z i-1 dengan Zi di sumbu Zi Titik potong garis tegak lurus bersama antara Z i-1 dengan Zi. Sejajar Zi-1 X Zi (Cross product). Apabila Zi-1 dan Zi paralel, maka arah sumbu Xi sejajar dengan garis tegak lurus bersama antara Z i-1 dengan Zi. z2 z1 Link 2 Joint 3 Joint 2 x2 Perhatikan sumbu Z adalah sumbu Joint y1
D-H Parameters Denavit-Hartenberg (D-H) digunakan untuk menggambarkan hubungan link dari robot dimana link diasumsikan berbentuk benda tegar (rigid body) Setiap linki memiliki sebuah kerangka koordinat (KKi). Setiap KK ditentukan berdasarkan kaidah [K.S. Fu et.al] : Arah sumbu Zi berimpit dengan sumbu pergerakan dari joint i+1
D-H Parameters Denavit-Hartenberg (D-H) digunakan untuk menggambarkan hubungan link dari robot dimana link diasumsikan berbentuk benda tegar (rigid body) Setiap linki memiliki sebuah kerangka koordinat (KKi). Setiap KK ditentukan berdasarkan kaidah [K.S. Fu et.al] : Arah sumbu Xi Sejajar Zi-1 X Zi (Cross product). Apabila Zi-1 dan Zi paralel, maka arah sumbu Xi sejajar dengan garis tegak lurus bersama antara Z i-1 dengan Zi.
D-H Parameters Denavit-Hartenberg (D-H) digunakan untuk menggambarkan hubungan link dari robot dimana link diasumsikan berbentuk benda tegar (rigid body) Setiap linki memiliki sebuah kerangka koordinat (KKi). Setiap KK ditentukan berdasarkan kaidah [K.S. Fu et.al] : Sumbu Yi-1 mengikuti aturan tangan kanan
D-H Parameters Denavit-Hartenberg (D-H) digunakan untuk menggambarkan hubungan link dari robot dimana link diasumsikan berbentuk benda tegar (rigid body) Setiap linki memiliki sebuah kerangka koordinat (KKi). Setiap KK ditentukan berdasarkan kaidah [K.S. Fu et.al] : Titik pusat KKi Pada titik potong antara sumbu Z i-1 dengan Zi di sumbu Zi Titik potong garis tegak lurus bersama antara Z i-1 dengan Zi.
D-H Parameters Terdapat 4 parameter ai (link length); Jarak dari titik potong antara sumbu Zi-1 dengan sumbu Xi menuju titik pusat KKi sepanjang sumbu Xi (atau jarak terpendek antara sumbu Zi-1 dengan sumbu Zi ) ai (link twist); Sudut dari sumbu Zi-1 menuju sumbu Zi terhadap sumbu Xi (menggunakan aturan tangan kanan) di (link offset); Jarak dari titik pusat KK i-1 menuju ke titik potong antara sumbu Zi-1 dengan sumbu Xi sepanjang sumbu Zi-1 qi (joint angle); Sudut dari sumbu Xi-1 menuju sumbu Xi terhadap sumbu Zi-1 (menggunakan aturan tangan kanan) LINK PARAMETER (Lokasi relatif 2 buah sumbu di dalam Ruang) JOINT PARAMETER
ai (link length) ai (link length); Jarak dari titik potong antara sumbu Zi-1 dengan sumbu Xi menuju titik pusat KKi sepanjang sumbu Xi. (atau jarak terpendek antara sumbu Zi-1 dengan sumbu Zi ) Jarak dari sumbu Zi-1 ke sumbu Z i sepanjang garis tegak lurus bersama (common perpendicular) Common perpendicular adalah jarak terpendek dua buah garis dalam ruang. Common perpendicular tidak selalu terletak di dalam link. Jika sumbu ZI-1 dan Sumbu Zi berpotongan ai = 0 Tidak didefinisikan untuk Joint Prismatic, ai = 0 z1 z2 x2 a2
ai (link length) ai (link length); Jarak dari titik potong antara sumbu Zi-1 dengan sumbu Xi menuju titik pusat KKi sepanjang sumbu Xi. (atau jarak terpendek antara sumbu Zi-1 dengan sumbu Zi ) Jarak dari sumbu Zi-1 ke sumbu Z i sepanjang garis tegak lurus bersama (common perpendicular) Common perpendicular adalah jarak terpendek dua buah garis dalam ruang. Common perpendicular tidak selalu terletak di dalam link. Jika sumbu ZI-1 dan Sumbu Zi berpotongan ai = 0 Tidak didefinisikan untuk Joint Prismatic, ai = 0
i(link twist) ai (link twist); Sudut dari sumbu Zi-1 menuju sumbu Zi terhadap sumbu Xi Sudut offset Biasanya kelipatan dari 90o Sumbu Zi-1 // Zi, ai = 0 z2 z1 x2 a2
di (link offset) qn (Joint Angle) di (link offset); Jarak dari titik pusat KK i-1 menuju ke titik potong antara sumbu Zi-1 dengan sumbu Xi sepanjang sumbu Zi-1 Berupa variabel untuk untuk Prismatic joint qn (Joint Angle) Sudut dari sumbu Xi-1 menuju sumbu Xi terhadap sumbu Zi-1 (menggunakan aturan tangan kanan)
Robot PUMA 560
Robot Stanford
D-H Parameter Setelah parameter (a, , d, ) setiap link telah ditentukan, persamaan matriks homogen dapat dibangun untuk membentuk hubungan antar KK terdekat (adjacent), atau hubungan KK i dengan KK i-1, dimana i menyatakan link ke i, yang pada prinsipnya adalah membuat agar kedua KK koordinat tersebut berimpit, yaitu melalui urutan operasi Putar sebesar sudut i terhadap sumbu Zi-1 agar sumbu Xi-1 dengan sumbu Xi sejajar/paralel Translasikan sejauh di sepanjang sumbu Z i-1 agar sumbu X i dan sumbu Xi-1 berimpit (coincidence) Translasikan sejauh ai sepanjang sumbu Xi agar kedua titik pusat berimpit Putar sebesar sudut i terhadap sumbu Xi agar kedua KK berimpit
D-H Parameter Untuk joint berputar ai, i dan di adalah konstanta, i variabel memenuhi hubungan : i-1 A i = Tz,d Tz, Tx,a Tx, Bentuk Inverse
D-H Parameter Untuk joint prismatic ai, i dan i adalah konstanta, di variabel memenuhi hubungan : i-1 A i = Tz, Tz,d Tx, Bentuk Inverse
D-H Parameter Contoh Matrik Transformasi untuk Robot PUMA dimana semua jointnya berputar
Persamaan Kinematik untuk Manipulator Matriks Transformasi homogen 0Ti yang menyatakan lokasi KK ke i terhadap kerangka koordinat dasar (base, KK ke 0) merupakan rantai perkalian dari matrik transformasi i-1Ai dan diekspresikan sebagai : Dimana [xi, yi, zi] = Matrik orientasi KKi pada link i terhadap KK dasar/base . Merupakan matriks 3x3, terletak disebelah kiri atas dari 0Ti pi = Vektor posisi yang berarah dari titik pusat KK dasar menuju titik pusat KK i. Merupakan vektor 3x1, terletak disebelah kanan atas dari 0Ti
Persamaan Kinematik untuk Manipulator Sebagai contoh, untuk i = 6, matrik transformasi T = 0A6, yang menyatakan posisi dan orintasi dari ujung lengan robot terhadap KK dasar (matriks ini seringkali disebut arm matrix), yang berbentuk :
Persamaan Kinematik untuk Manipulator Dimana (diasumsikan bentuk tangan parallel-jaw) n = Normal vector, arah tegak lurus terhadap jari dari tangan robot s = Sliding vector, searah dengan pergerakan jari, gripper open/close a = Approach vector, arah tegak lurus dengan telapak/muka tangan p = Position vector, arah dari titik pusat KK dasar menuju titik pusat KK tangan
Persamaan Kinematik untuk Robot PUMA Dimana
Persamaan Kinematik untuk Robot PUMA Persamaan Arm Matrix, 0T6
Tugas Akhir (Manipulator and Mobile Robot) Low-level control motors purely reactive control behavioral control Sensing and Modeling sensors kinematics workspace modeling Spatial reasoning decomposing space path planning with and w/o full knowledge Handling uncertainty building maps localization sensor fusion & filtering Vision tracking visual servoing E A C X B D E