Abstrak—Penggunaan manipulator di dunia industri berkembang pesat. Hal tersebut terkait dengan peningkatan performa kerja dan berkurangnya biaya produksi. Pada umumnya manipulator digunakan untuk menyelesaikan tugas seperti material handling, assembling, dan sebagainya. Penugasan tersebut direpresentasikan dengan suatu trayektori dengan nilai referensi sudut yang berubah sesuai dengan titik-titik pada koordinat kartesian. Nonlinearitas sistem dan gaya friksi pada tiap joint dapat mengurangi akurasi dari manipulator sehingga hasil dari penugasan tidak sesuai. Untuk mengatasi permasalahan tersebut digunakan metode kontrol Optimal CTC. Pada metode tersebut, sinyal kontrol u untuk CTC dihitung menggunakan linear quadratic regulator. Metode kontrol tersebut menghasilkan solusi dalam ruang joint. Penyelesaian inverse kinematic diterapkan pada sistem untuk menghasilkan solusi dalam ruang kartesian, sehingga penugasan dapat diberikan pada manipulator. Penugasan yang diberikan pada manipulator berupa trayektori berbentuk lingkaran dengan radius 10 hingga 50 cm. Hasil simulasi menunjukkan bahwa rata-rata nilai RMSE dari posisi end-effector sebesar 0,0065 cm pada sumbu x, 0,0099 cm pada sumbu y, dan 0,0082 cm pada sumbu z.
Kata Kunci—Manipulator, Akurasi, Inverse Kinematic, Optimal CTC
I. PENDAHULUAN
enggunaan robot di dunia industri berkembang pesat, khususnya manipulator. Peningkatan performa kerja dari
manipulator seperti efektivitas kerja, akurasi, dan presisi merupakan faktor utama yang memicu hal tersebut. Seiring dengan meningkatnya performa kerja tersebut, jumlah produksi menjadi lebih banyak, dan sebaliknya biaya produksi menjadi berkurang [1]. Pada umumnya manipulator
melakukan tugas seperti material handling, assembling,
welding dan sebagainya. Akurasi pada manipulator akan berkurang akibat adanya nonlinearitas dari sistem dan gaya friksi pada tiap joint, sehingga hasil dari tugas yang diberikan tidak sesuai. Oleh karena permasalahan tersebut, dilakukan pengaturan gerak untuk manipulator agar hasil dari penugasan sesuai. Pengaturan gerak yang digunakan menghasilkan penyelesaian dalam ruang joint sehingga digunakan inverse kinematic untuk memperoleh solusi pengaturan gerak
manipulator dalam ruang kartesian.
Berdasarkan penelitian [2] dan [3], pengaturan posisi
manipulator PUMA 560 dilakukan menggunakan PD CTC dan PD fuzzy CTC. Kedua metode tersebut mampu
memperbaiki respons sudut joint terhadap trayektori yang diinginkan. Penyelesaian inverse kinematic pada penelitian [4] dibutuhkan agar manipulator dapat melakukan tugas berdasarkan trayektori ruang kartesian. Penyelesaian tersebut dilakukan berdasarkan pendekatan geometri yang berlaku untuk manipulator dengan enam derajat kebebasan. Metode
inverse kinematic menggunakan jacobian pada buku literatur [5] mampu memberikan penyelesaian untuk manipulator
dengan jumlah derajat kebebasan yang lebih bervariasi. Penugasan manipulator dirancang melalui suatu trayektori kartesian. Trayektori kartesian diubah menjadi nilai tiap sudut
joint melalui inverse kinematic [5] yang dijadikan referensi untuk kontrol optimal CTC.
Sistematika dari makalah ini yaitu bagian II menjelaskan tentang pemodelan kinematika dan dinamika PUMA 560. Bagian III menjelaskan tentang perancangan kontroler optimal
CTC. Bagian IV menjelaskan hasil pengujian dan analisis dari simulasi sistem secara keseluruhan. Bagian V berisi kesimpulan dari penelitian yang telah dilakukan.
II. PEMODELANKINEMATIKADANDINAMIKAPUMA 560
A. Kinematika PUMA 560 [6]
Kinematika PUMA 560 terbagi menjadi dua yaitu forward kinematic dan inverse kinematic. Forward kinematic PUMA 560 direpresentasikan melalui kaidah Denavit-Harternberg (D-H). Kaidah ini merepresentasikan tiap transformasi homogen
Ai sebagai perkalian dari empat transformasi dasar yang berisi empat parameter D-H antara lain θi, ai, di, dan αi. Parameter D-H yang digunakan berdasarkan referensi [5] ditunjukkan pada Tabel 1.
Tabel 1 Parameter D-H PUMA 560 [5] Joint ke-i θi (0) αi (0) ai (mm) di (mm) 1 * 90 0 0 2 * 0 431,8 0 3 * -90 19,1 125,4 4 * 90 0 431,8 5 * -90 0 0 6 * 0 0 0
Pengaturan Gerak
Manipulator
PUMA 560
Menggunakan
Optimal Computed Torque
Control
(
Optimal
CTC)
Aditya Rahmat Abdillah dan Trihastuti Agustinah
Teknik Elektro, Fakultas Teknologi Industri, Institut Teknologi Sepuluh Nopember (ITS)
Jl. Arief Rahman Hakim, Surabaya 60111
: [email protected]
Berdasarkan Tabel 1, diperoleh matriks transformasi homogen yang digunakan untuk memperoleh hubungan posisi dan orientasi end-effector PUMA 560 berdasarkan sudut joint yang telah diketahui. Matriks transformasi homogen untuk PUMA 560 ditunjukkan pada Persamaan 1.
0 6 1 2 3 4 4 6 T A A A A A A 1 1 2 2 2 1 1 2 2 2 0 0 0 431,8 0 0 0 431,8 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 c s c s c s c s c s 3 3 3 4 4 3 3 3 4 4 0 19,1 0 0 0 19,1 0 0 0 1 0 431,8 0 1 0 125,4 0 0 0 1 0 0 0 1 c s c c s s c s s c 5 5 6 6 5 5 6 6 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 c s c s s c s c (1)
Inverse kinematic PUMA 560 diperoleh melalui perhitungan jacobian manipulator. Jacobian menunjukkan hubungan antara kecepatan end-effector terhadap kecepatan sudut tiap joint manipulator yang ditunjukkan pada Persamaan 2.
nxn
v J (2)
dengan:
v: Vektor kecepatan end-effector,v R n
Jnxn: Jacobian manipulator, n adalah jumlah DOF manipulator
: Kecepatan sudut joint, Rn
Untuk manipulatorn-DOF variabel joint θ1, θ2,…,θn memiliki matriks transformasi homogen seperti yang ditunjukkan pada Persamaan 3.
0
0
0 R 0 1 n n n p T (3)Dari Persamaan 3 diperoleh kecepatan linear v dari end-effector melalui perpindahan posisi end-effector seperti yang ditunjukkan pada Persamaan 4.
0 0 3x1 3x1
n n
v p (4)
Untuk kecepatan sudut dari end-effector ωn3x1 diperoleh dari Persamaan 5. 3 1 1 0 0 0 p r r p r p r p r y n x s c c s s c s (5)
Berdasarkan Persamaan 2, diperoleh hubungan antara vektor kecepatan end-effector dengan kecepatan sudut joint melalui Persamaan 6. 0 0 v n v n J v J J J (6)
dengan Jv dan Jω berupa matriks 3xn merupakan jacobian untuk kecepatan linear dan kecepatan sudut dari end-effector. Oleh karena semua joint berupa revolute, maka jacobian untuk kecepatan sudut end-effector diperoleh melalui Persamaan 7.
0 1 1
i i J z zz (7) dengan 0 0 ( 1)i ( 1)i z R k untuk i = 1,…,n. k = [0 0 1]T adalah vektor koordinat satuan sumbu z dan 00
z k . Untuk jacobian
kecepatan linear end-effector diperoleh melalui Persamaan 8.
0 0 0 1 1 vi i n i J z p p (8)dengan adalah notasi cross product dan 0
T 0 0 0 0p .
B. Dinamika PUMA 560 [7]
Model dinamika manipulator secara umum ditunjukkan pada Persamaan 9 [1].
,
M q q V q q F q G q
, M q q N q q (9) dengan:
ij
, , 1, , nxn M q m q i j n
ij ji m q m q
,
, i
, 1, 1, , nx V q q F q G q N q q n q q i nUntuk model dinamika dari PUMA 560 terdiri dari matriks
M6x6 yang berisi konstanta inersia dan matriks N6x1 ≡ V + F +
G dengan V berupa vektor Koriolis, F berupa vektor friksi viskos dan dinamik, serta G berupa matriks gravitasi. Elemen-elemen matriks M dan N ditunjukkan pada persamaan 10 dan Persamaan 11. 11 12 13 12 22 23 13 23 33 34 35 34 44 35 55 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 m m m m m m m m m m m M m m m m m (10)
1 2 3 4 5 0 n N n n n n (11) dengan: 112,57 1,38 20,3 230,744 2 23 m CC SS C S 12 2 23 2 13 23 23 0,69 0,134 0,0238 0,134 0,00397 m S C C m C S 22 3 23 3 3 6,79 0,744 0,333 0,372 0,011 m S m S C 33 34 4 5 35 4 5 1,16 0,00125 0,00125 m m S S m C C 440,2; 550,18; 660,19 m m m
2 1 2 23 2 2 2 23 23 3 2 223 23 23 1 2 2 23 23 2 23 23 1 3 23 4 5 0,69 0,134 0,0238 + 0,1335 0,00379 2,76 0,744 0,6 0,021 1 2 0,74 0,6 0,0 + + 2 0,021 1 2 0,002 0, + 5 n C S S S C SC C SC SS C C SC C S SS SC S S
4 5 2 23 4 5 1 4 23 5 23 4 5 2 23 5 23 4 5 4 5 1 5 23 23 2 3 0008 0,0024 0,0025 0,00248 +0,000864 +[ ] 0,267 0,00758 C S C C S S SS S SC C C C S S C C C S C S C
2 2 2 223 23 23 1 2 3 3 3 23 23 4 5 2 4 5 23 4 1 4 23 4 5 2 4 5 23 4 [ + 1 2,76 0,74 0,6 0,02 1 2 2 1 + 0,022 0,744 0,0016 0,0025 2 0,00248 0,00003 1 2 ] + 0,0021 0,0024 0,00064 n SC C SC SS S C S C C S S C S S SS C S C S S C C S
1 5 3 3 2 3 3 4 5 2 4 5 3 4 5 3 5 2 5 3 4 5 3 4 5 3 4 5 3 5 3 5 2 23 0,022 0,744 0,00248 0,0025 0,00248 0,00248 0,0025 0,0 0248 37,2 8,4 1,02 S C C S S S C C C S S C S S S C C C S S C S S 2
2 3 2 223 23 23 1 2 2 2 3 3 2 4 5 5 4 5 4 23 4 5 23 23 4 1 4 23 4 5 23 4 1 5 1 2,76 0,74 0,6 0,02 1 2 2 1 0,02 0,74 0,001 0, 001 2 0,002 0,0016 0,0003 1 2 0,0025 0,0 0064 n SC C SC SS S C C S C S C C S S S SS C S C C S
5
3 5
4 5
4 5 23 5 2 523 0,0025 0,0025 0,0025 8,4 0,25 S S S C S C
2 4 23 4 5 4 5 2 23 4 5 1 2 3 4 5 2 23 23 4 5 2 4 5 23 4 1 2 23 4 5 23 23 4 1 1 0,0025 0,00086 0,00248 2 1 0,00248 [0,00164 0,0025 2 +0,00248 0,0003 1 2 ] + 0,0025 0,00164 0,003 1 2 n SC S S C S C C S S C S S S C C S S C C S SS C C S S S SS
3 23 4 1 5 4 2 5 4 3 5 23 4 5 - 0,00064 0,00064 0,000 64 0,028 S C S S S S S
5 23 5 23 4 5 2 23 5 23 4 5 2 2 4 5 1 5 3 4 5 3 5 2 23 4 5 2 4 5 23 4 1 2 23 4 5 23 4 1 3 1 [ ] 0,0025 0,002 2 1 0,0008 0,0025 0,002 2 0,0026 0,00248 0,000642 0,0025 0,0006 0 n SS S SC C C C S S C C C S C S C C C S S C S C S S C C S C S C C S
23 4 1 4 4 2 4 4 3 4 23 5 23 4 5 ,0006 - 0,0006 0,0006 0,028 S C S S C S S C S Keterangan Notasi: 2 2 2 ; ; ( ); ( ); ( ); ( ); ; ; ; ( ); i i i i ij i j ij i j ijk i j k ijk i j k i i i i i i i ij i jS sin C cos S sin
C cos S sin
C cos SS sin
CC cos CS cos sin SS sin
III. PERANCANGANKONTROLEROPTIMALCTC Pada bagian ini akan dijelaskan tentang perancangan kontroler computed torque control (CTC) dengan perhitungan nilai gain menggunakan optimal control. Optimal control yang digunakan yaitu metode linear quadratic regulator. Perhitungan nilai gain dengan metode linear quadratic regulator akan mempercepat waktu steady state dari respons tiap joint manipulator sehingga error posisi end-effector
semakin berkurang. Diagram blok perancangan secara keseluruhan ditunjukkan pada Gambar 1.
Gambar 1 Diagram Blok Perancangan Keseluruhan
A. Computed Torque Control (CTC)
Metode kontrol ini merupakan salah satu cara untuk mengatur gerak manipulator dalam ruang joint. Pada metode ini digunakan feedback linearization untuk menghilangkan nonlinearitas dari model error variabel joint. Torsi yang dibutuhkan agar manipulator bergerak menuju nilai joint yang diinginkan dihitung menggunakan inverse dynamic yang diperoleh dari model dinamika manipulator.
Nilai variabel joint yang diinginkan q td
ditentukansebagai referensi manipulator. Error dari variabel joint
didefinisikan sebagai selisih nilai variabel joint yang diinginkan terhadap nilai variabel joint aktual q t
yang ditunjukkan pada Persamaan 12 [7]. Untuk memperoleh relasi antara torsi dengan error dilakukan turunan sebanyak dua kali dari error terhadap waktu t [7].
, 1, , i di i e t q t q t i n (12)
, 1, , i di i e t q t q t i n (13)Pada Persamaan 13, q ti
disubtitusikan berdasarkan modeldinamika pada Persamaan 9, sehingga diperoleh hubungan antara torsi dan error yang ditunjukkan pada Persamaan 14 [7].
1
i di i
e t q t M N , i 1, ,n (14) Didefinisikan suatu fungsi masukan kontrol yaitu
1
i di i
u q t M N dan state variable x = [
i i e e ]T, diperoleh suatu model linear dari error variabel joint yang ditunjukkan pada Persamaan 15 [7].
0 1 0 0 0 1 i i i i e e d u e e dt (15)
Sistem linear pada Persamaan 15 disebut bentuk Brunovsky canonical dengan nilai error dan delta error sebagai state variable untuk tiap joint dari manipulator. Metode feedback linearization dilakukan pada pendefinisian fungsi masukan kontrol u. Torsi masukan untuk manipulator ditunjukkan pada Persamaan 16 [7].
i M qdi ui N
(16)
Masukan kontrol dapat dilakukan dengan metode kontrol yang dapat membuat error dan delta error menjadi nol.
B. Linear Quadratic Regulator (LQR)
Metode linear quadratic regulator merupakan salah satu metode kontrol optimal yang digunakan untuk membuat state variable yang telah didefinisikan pada subbab 3.A menuju ke nol.
Suatu sistem LTI dalam bentuk state space ditunjukkan pada Persamaan 17 [7].
x Ax Bu
(17)
dengan state feedback gain K dipilih untuk memperoleh
closed-loop stabil yang ditunjukkan pada Persamaan 18 [7].
x A BK x (18)
Didefinisikan suatu Indeks performansi PI yang ditunjukkan pada Persamaan 19 [7].
0 1 PI 2
x Qx u Ru dtT T (19)Q adalah matriks semidefinit positif pembobot state dan R
adalah matriks pembobot kontrol. Matriks Q dipilih dengan cara membentuk matriks diagonal dengan nilai elemen diagonal lebih dari nol. Nilai R akan mempengaruhi besarnya sinyal kontrol yang dikeluarkan. Untuk kebutuhan sistem dengan energi minimal, maka nilai R yang dipilih dibuat besar.
Nilai K diperoleh dengan menyelesaikan aljabar Riccati (A P PA Q PBR B PT 1 T 0) dengan K =R B P1 T .
Matriks P, solusi dari aljabar Riccati dihitung menggunakan fungsi matlab “[K P e] = lqr (A, B, Q, R, N)” dimana K = [K1
K2] digunakan sebagai gain untuk error dan delta error pada tiap joint dan nilai N = 0. Untuk perancangan didefinisikan A,
B, Q, dan R sebagai berikut: 0 1 0 0 A (20) 0 1 B (21) 11 22 0 0 Q Q Q , dengan Q11, Q22 > 0 (22) R = c, dengan c > 0 (23)
Dari Persamaan 3.11 hingga Persamaan 3.14, dihitung matriks solusi aljabar Ricatti dengan keluaran yaitu gain K, solusi Riccati P, dan nilai eigen e dari sistem baru.Nilai dari
state variabel x = [e ei i] akan semakin cepat menuju ke nol
jika elemen matriks pembobot Q11 dan Q22 semakin besar. Pada simulasi ini nilai R dibuat tetap dan pembobot Q diubah-ubah untuk memperoleh respons yang diinginkan.
IV. HASILPENGUJIANDANANALISIS
Pada bagian ini hasil pengujian dan analisis dari simulasi sistem keseluruhan akan dijelaskan. Pengujian yang dilakukan terdiri dari pengujian respons joint terhadap sinyal uji step, dan pengujian akurasi dari posisi end-effector melalui penugasan tertentu.
A. Pengujian Respons Joint Terhadap Sinyal Uji Step
Sinyal step yang diberikan berupa enam nilai sudut referensi untuk masing-masing joint yang ditunjukkan pada Persamaan 25. Untuk pengujian sinyal step dipilih kondisi awal (IC) dari sudut joint yang ditunjukkan pada Persamaan 26. Pemilihan matriks pembobot Q dan R untuk perhitungan metode LQR dilakukan berdasarkan waktu steady state yang paling kecil dari respons sistem. Rata-rata RMSE dan waktu steady state
Tabel 2 Rata-rata Nilai RMSE dan Waktu Steady State Respons Sistem Sistem 1 2 3 4 Rata-rata RMSE (0) 6,001 5.884 6.101 7.567 Rata-rata Ts (Detik) 0,336 0,375 0,472 0,564 Keterangan: Sistem 1: K = [774,59 80,9271] Sistem 2: K = [670,82 79,6344] Sistem 3: K = [387,298 72,6264] Sistem 4: K = [223,6068 44,1272]
Berdasarkan kondisi tersebut, dipilih sistem 1 dengan waktu
steady state yang relatif kecil dibandingkan sistem lainnya. Dari Sistem 1, diperoleh nilai gain K = [774,59 80,9271]. Respons dari tiap joint yang dikontrol menggunakan CTC dengan sinyal kontrol optimal ditunjukkan pada Gambar 2 hingga Gambar 7.
Gambar 2 Respons Joint 1 Optimal CTC Terhadap Sinyal Uji
Step
Gambar 3 Respons Joint 2 Optimal CTC Terhadap Sinyal Uji
Step
Gambar 4 Respons Joint 3 Optimal CTC Terhadap Sinyal Uji
Step
Gambar 5 Respons Joint 4 Optimal CTC Terhadap Sinyal Uji
Step
Gambar 6 Respons Joint 5 Optimal CTC Terhadap Sinyal Uji
Step
Gambar 7 Respons Joint 6 Optimal CTC Terhadap Sinyal Uji
Step
Pengujian dengan nilai joint statis menunjukkan bahwa
manipulator mampu mengikuti referensi joint yang diberikan dengan toleransi perubahan nilai sudut referensi kurang maksimal 0,4 detik.
B. Pengujian Akurasi Posisi Aktual End-Effector Melalui Penugasan
Penugasan untuk manipulator berupa trayektori kartesian dengan lintasan berbentuk lingkaran dengan radius 10 hingga 50 cm. Error dari posisi end-effector dihitung untuk menentukan akurasi dari manipulator. Nilai RMSE dari posisi
end-effector ditunjukkan pada Tabel 3. Untuk respons tiap
joint dari penugasan trayektori lingkaran ditunjukkan pada Gambar 9 sampai Gambar 14.
Tabel 3 Nilai RMSE Posisi End-effector
Metode Penugasan End-Effector (cm) RMSE Posisi
X Y Z Optimal CTC Lingkaran r 10 cm 0,0016 0,0036 0,0075 Lingkaran r 20 cm 0,0028 0,0061 0,0065 Lingkaran r 30 cm 0,0053 0,0116 0,0071 Lingkaran r 40 cm 0,0088 0,0117 0,0085 Lingkaran r 50 cm 0,0142 0,0165 0,0112
Gambar 9 Respons Joint 1 Untuk Penugasan Trayektori Lingkaran
Gambar 10 Respons Joint 2 Untuk Penugasan Trayektori Lingkaran
Gambar 11 Respons Joint 3 Untuk Penugasan Trayektori Lingkaran
Gambar 12 Respons Joint 4 Untuk Penugasan Trayektori Lingkaran
Gambar 13 Respons Joint 5 Untuk Penugasan Trayektori Lingkaran
Gambar 14 Respons Joint 6 Untuk Penugasan Trayektori Lingkaran
V. KESIMPULAN
Berdasarkan analisis dan hasil percobaan dari penelitian yang dilakukan, dapat disimpulkan bahwa kontroler optimal
CTC mampu mengatur gerak PUMA 560 dengan rata-rata nilai RMSE untuk pergerakan sumbu x = 0,0065 cm; sumbu y = 0,0099 cm; sumbu z = 0,0082 cm untuk penugasan trayektori lingkaran dengan radius 10 hingga 50 cm. Metode optimal
CTC dan inverse kinematic melalui jacobian manipulator
mampu mengatur pergerakan manipulator PUMA 560 dalam koordinat kartesian.
DAFTARPUSTAKA
[1] Craig, John J.,”Introduction to Robotics Mechanics and Control – Third Edition”Prentice Hall, USA,2005
[2] Piltan F., Yarmahmoudi, M.H., Shamsodini M.,“I”, IJRA, Vol. 3, No. 3, 2012.
[3] Istriantono, Duli R.,”Perancangan Pengaturan Posisi Robot Manipulator Berbasis PD Fuzzy Mamdani Computed Torque Control (PD Fuzzy
CTC)”, Jurnal Teknik POMITS Vol 1 No 1 2015.
[4] Armstrong-Helouvry, Brian., Khatib, Oussama., Burdick, Joe.,”The Explicit Dynamic Model and Inertial Parameters of the PUMA 560 Arm”,Proc. 1986 IEEE Conf. Robot. Autom., San Fransisco, April 1986. [5] Corke, Peter I., Armstrong-Helouvry, Brian.,”A Search for Consensus Among Model Parameters Reported for the PUMA 560 Robot”,Proc.
Int. Conf. Robotics and Automation., pp1608-1613, San Diego, 1994. [6] Spong, Mark W., Hutchinson, S. dan Vidyasagar, M.,”Robot Dynamics
and Control – Third Edition”, John Wiley & Sons, 2004
[7] Lewis, Frank L., Dawson, Darren M., Abdallah, Chaouki T.,”Robot Manipulator Control Theory and Practice - Second Edition”, Marcel Dekker, USA, 2004.
[8] Corke, Peter I.,”Robotics, Vision, and Control Fundamental Algorithms in Matlab”, Springer, Australia, 2011.
[9] Paul, R.P., Z., Hong, “Computationally Efficient Kinematics for Manipulator with Spherical Wrist Based on the Homogenous Transformation Representation”, IJRR, China, 1986.