Perancangan Dan Implementasi Kontrol Adaptif Untuk Smooth Trajectory Pada Manipulator 4 DOF Furqan, Rusdhianto Effendi AK, Eka Iskandar Jurusan Teknik Elektro, Fakultas Teknologi Industri – Institut Teknologi Sepuluh Nopember Surabaya Abstrak – Robot telah banyak mengalami perkembangan dan diminati disemua industri. Robot Lynk5 merupakan robot arm jenis arthromorphic dengan empat derajat kebebasan (4 DOF) yang dilengkapi dengan penjepit (griper). Motor penggeraknya menggunakan motor DC servo. Gerakan tiap-tiap Joint adalah revolute. Bahan baku robot (lengan dan badan) menggunakan akrilik (plat plastik). Sensor yang digunakan adalah potensiometer. System kendali menggunakan adaptif STR (self tunning regulator). Disain kendali robot menggunakan perangkat keras mikrokontroler, power supply dan regulator. Sedangkan perangkat lunak menggunakan software MATLAB 7.1 untuk menganalisa pergerakan robot secara kinematik (toolbox robotic) dan merancang kendali adaptif STR (self tunning regulator). Implementasi penerapan algoritma program dibangun menggunakan software codevisionAVR dengan bahasa C. Dalam pengujian dan analisa, untuk gerak sudut tiap link menggunakan kontroler mempunyai prosentasi kesalahan masing-masing adalah 0.2% untuk link1, 0.46% untuk link2, 0.76% untuk link3, 0.51% untuk link4. Sedangkan untuk gerak posisi end effector mempunyai prosentasi kesalahan 2.35% , 6.57% , 1.92% adalah Kata Kunci : kinematic, self tunning regulator (STR), trajectory
I. PENDAHULUAN Robot petama diperkenalkan oleh dramatis Czech, Karel Capek pada tahun 1921 dalam drama ”Rossum’s Universal Robot”. Pada tahiun1940-an, menurut Isaac Asumov – perkataan robotic adalah sains dalam pembelajaran robot. Di Eropa, robotic didefinisikan sebagai cara bagaimana mesin robot digabungkan dan membuat kerja. Sedangkan Institud Robot Amerika (Robotics Institut of Amerika) mendifinisikan robot adalah manipulator yang dapat diprogram dan mempunyai banyak kegunaan diantaranya untuk memindahkan benda, peralatan atau peralatan khusus melalui pengendalian gerak dan pelaksanaan tugas yang bervariasi [2]. Berdasarkan sistem koordinat, robot diklasifikasikan menjadi empat macam [1]. a. Cartesian atau Rectangular : gerakan menurut 3 sumbu linier yang membentuk koordinat kartesian.
b.
Spherical : gerakan menurut 3 sumbu linier dan 2 sumbu putar, yang membentuk koordinat bola/polar. c. Cylindrical : gerakan menurut 2 sumbu linier dan 1 sumbu putar. d. Anthromorphic : gerakan menurut 3 sumbu putar yang membentuk kordinat putar /engsel Sedangkan gerakan dasar robot dibagi menjadi 3 yaitu: a. Gerakan Swipe adalah gerakan rotasi terhadap sumbu longitudinal dari link antara dua Joint (rotation) b. Gerakan Bending adalah gerakan rotasi terhadap sumbu potong pada Joint. c. Gerakan Prismatic adalah gerakan linier pada arah sumbu longitudinal. Secara umum, untuk mengontrol beberapa robot manipulator digunakan beberapa metode terutama analisa kinematika, dalam industri maupun bidang pendidikan metode ini sudah sering digunakan, metode Denavit Hartemberg memberikan gambaran terhadap gerakan robot serta model matematika dari sebuah manipulator yang terhubung secara seri berdasarkan dari geometri robot dan juga tergantung dari letak posisi dan orientasi end effector. Pada bab dua ini akan dibahas dua permasalahan kinematika robot manipulator dimana pada sesi berikutnya akan dibahas kinematik maju dan kinematik balik.
II TEORI PENUNJANG Robot Lynx5 merupakan manipulator RRRR articulated dengan 4 DOF (degree of freedom) yang dilengkapi dengan gripper pada bagian ujungnya. Terdapat beberapa Joint yang diberi nama sebagai base, shoulder, elbow, Wrist dan gripper, dapat dilihat pada Gambar 2.1 Pada tiap-tiap Joint akan dipasang motor servo yang berfungsi sebagai penggerak (actuator).
Gambar 2.1 Model Frame Robot arm Link5
Robot Lynk5 mempunyai 4 Joint yang berputar (revolute). Joint1 merupakan base frame yang mempunyai sumbu putar terhadap dan mengahasilkan . Sedangakn Joint2 merupakan shoulder yang paralel terhadap Joint1 memiliki sumbu putar terhadap dan mengahasilkan . Joint 3 (elbow) dan Joint4 (wrist) sumbu z merupakan seri terhadap Joint2 memiliki sumbu putar terhadap dan dan terhadap dan . Sedangakan griper memiliki sumbu kordinat yang mengikuti sumbu sebelumnya. Pergerakan motor servo menggunakan pulas (PWM) yang dihasilkan dari mokrokontroler dengan mengatur leber pulsa sehingga menghasilkan arah putar searah jarum jam atau berlawanan arah jarum jam. Dibawah ini merupakan Gambar 2.2 mikrokontroler yang digunakan robot Lynk5.
+ $ ' 0 0
,- + 0 0
0 0 + 0 0 - ) 1 0 0 1
+% $% ' % 0 0
,-% +% 0 0
0 0% +% 0 0% -% ) 1 0 0 1
Gambar 3,1 Matrik Transformasi Robot Lynk5 A. Kinematik maju (forward kinematic) Analisa kinematik maju adalah mencari posisi dan orientasi dari end effector dengan memberikan sudut pada tiap Joint. Persamaan kinematik berasal dari matrik transformasi dari Gambar 3.1 dan hasil dari kinematik maju adalah total dari perkalian semua matrik transformasi (&% ) seperti dibawah ini &% Sehingga
(11 ( $ $ $ $% '(21 31 0
(12 (22 (32 0
(13 (23 (33 0
) 1
( *+ + + , + - - .+% / *+ + + , + - - .-%
Gambar 2.2 Mikrokontroler penghasil PWM
III KINEMATIK Pada gambar 2.1 merupakan bentuk kordinat tiap Joint yang didapat menggunakan metode DH (denafit hartemberg). Dibawah ini merupakan table yang dibentuk dari analisa DH parameter. Tabel 3.1 D-H parameter Pada Robot Lynk5 Link
Joint
1 2 3 4
1-2 2-3 3-4 4-5
0 10cm 10cm 12cm
90
2cm 0 0 0
0 0 0
! " #
Setelah mensubsitusi parameter D-H ke matrik transformasi maka akan didapat matrik $ sampai $% seperti pada persamaan dibawah ini + $ ' 0 0
0 0 1 0
- ,+ 0 0
0 0) 1 1
+ $ ' 0 0
,- + 0 0
0 0 + 0 0 - ) 1 0 0 1
( ,*+ + + , + - - .-% / *,+ + - , + - + .+% ( - ( *- + + , - - - .+% , *- + - / - - + .-% ( ,*- + + , - - - .-% / *,- + - , - - + .+% ( ,+ ( *- + / + - .+% / *,- - / + + .-% ( ,*- + / + - .-% / *,- + / + + .+% ( 0 *+ + + , + - - .0% +% / *,+ + - , + - + .0% -% / + + 0 - , + - 0 - / + 0 + *- + + , - - - .0% +% / *,- + - , - - + .0% -% / - + 0 + , - - 0 - / - 0 + *- + / + - .0% +% / *- - / + + .0% -% / - 0 + / 0 - + / 0 - / 1 Dimana
-2 -342 +2 +5-2
B. Kinematik Balik (invers kinematic) Kinematik balik merupakan kebalikan dari kinematik maju, dimana kinematik balik adalah mencari sudut dari tiap Joint dari kordinat posisi dan orientasi end effector yang telah diketahui. Ada 2 cara mencari kinematik balik robot Lynk5 yang pertama secara analitik dan yang kedua menggunakan toolbox robotic pada MATLAB. Pada gambar 3.2 dibawah ini merupakan bentuk salah satu lengan yang akan dicari kinematik baliknya, dengan mencari , , dan % dari titik kordinat end effector yang telah diketahui.
Joint juga akan berbeda, sesuai dengan metode dari kinematik balik. Pada lintasan akan terdapat halangan dimana robot tidak boleh mengenai benda tersebut sehingga dibutuhkan titik kordinat end effector yang sesuai agar robot tidak mengenai halangan. Pada kasus ini terdapat dua lintasan dengan letak objek yang berbeda, dimana lintasan_1 berada pada objek_1 sedangkan lintasan_2 berada pada objek_2. Pada Gambar 3.3 dibawah ini merupakan lintasan_1 pada objek_1 yang tampak dari samping terhadap sumbu Y dan Z.
z ( 14.5,10,21 )
( 16,-7,21 )
( 11,28,2.2) ( 0,-20,-4 )
Gambar 3.2 Solusi Kinematik Balik
y Jika gambar diatas dilihat dari samping maka sumbu r merupakan rotasi dari sumbu sehingga terhadap diketahui sudut dan panjang .
Gambar 3.3 Kordinat End Effector Untuk Lintasan_1 Pada Objek_1
z Setelah mendapatkan panjang panjang dan
maka dapat diketahui
( 14.5,10,21 )
( 16,-7,21 )
( 11,28,2.2)
( 23,-19,-5 )
Sehingga didapat nilai s, α dan β y Gambar 3.4 Kordinat End Effector Untuk Lintasan_2
Dari nilai variabel diatas maka didapat sudut
dan
Mencari kinematik balik berfungsi untuk mencari sudut tiap Joint dari titik kordinat end effector yang telah diketahui. Setelah kinematik balik secara analitik didapatkan kemudian akan dibandingkan dengan kinematik balik yang disimulasikan menggunakan toolbox robotic pada MATLAB adapun program pada toolbox robotic seperti pada Gambar 3.3 bawah ini. Sebelum Pada kasus ini terdapat dua objek yang akan dipindahkan kesatu tempat objek trakhir. Setiap objek memiliki nilai kordinat yang berbeda sehingga sudut yang dihasilkan tiap
Maka program kinematik balik pada toolbox robotic MATLAB seperti pada gambar3.55 dibawah ini
Sehingga didapat sudut tiap Joint seperti berikut
Tabel 4.2 Parameter Plant Motor DC Servo No 1 2 3 4
Motor Servo1 Servo2 Servo3 Servo4
0.3968 0.4077 0.4325 0.3643
! 0.3913 0.3916 0.4158 0.3745
89 0.1607 0.1888 0.1868 0.1488
Sehingga menjadi transfer fungsi dalam bentuk diskrit ditunjukkan pada Tabel 4.3 dibawah ini : Tabel 4.3 Transfer Fungsi Motor DC Servo No
Motor
1
Servo1
2
Servo2
3
Servo3
4
Servo4
IV. IDENTIFIKASI PLANT Identifikasi plant digunakan untuk mendapatkan model matematis berupa fungsi alih yang kemudian akan digunakan untuk proses perancangan kontroler. Hasil identifikasi menggunakan pendekatan sistem orde pertama. Orde sistem menentukan jenis kontroler yang akan dipakai dan nilai parameter kontroler untuk hasil respon yang diinginkan. Identifikasi motor servo dilakukan secara dinamis dengan proses PRBS (pseudo random binary sequence) membarikan sinyal acak yang diimplementasikan dalam mikrokontroler. Hasil pembacaan data akan ditampilkan pada LCD sehingga pengambilan data dilakukan secara manual. Dari tiap motor servo akan dambil data sebanyak 121 data. Dibawah ini adalah contoh hasil input/output dari identifikasi pada servo1.
TF Diskrit
*. 0.1607 *. / 0.3968 / 0.3913 *. 0.1888 *. / 0.4077 / 0.3916 *. 0.1868 *. / 0.4325 / 0.4158 *. 0.1488 *. / 0.3643 / 0.3745
Setelah mendapatkan bentuk transfer fungsi dari plant maka untuk melihat respon dari tiap-tiap transfer fungsi adalah dengan memasukkan pada SIMULINK sehingga didapat hasil respon sebenarnya. Untuk mengatur agar respon sesuai dengan setpoint yang dinginkan maka diperlukan kontroler. Pada Gambar 4.1 dibawah ini merupakan respon plant dari identifikasi untuk servo_1
Tabel 4.1 Niliai Input/Output Pada Servo1 No 1 2 3 4 5 6 7 8 9 10
Input 0.208 0.375 0.375 0.375 0.208 0.375 0.208 0.375 0.375 0.208
Output 0.51 0.815 0.815 0.815 0.541 0.847 0.517 0.823 0.823 0.533
Untuk mendapatkan modelplant dengan mencari parameter plant pada tiap servo menggunakan proses identifikasi standard least square dengan pendekatan persamaan deterministik AR (Auto Regresive) 6*7. , 6*7 , . , ! 6*7 , !. / 89 :*7 , .
Dengan menggunakan program m-file pada Matlab digunakan untuk membangun algoritma standard least square sehingga didapat hasil parameter 0 , 0 dan 0 seperti pada tabel 4.2 dibawah ini
Gambar 4.1 Respon Motor DC Servo_1 Dari hasil respon servo 1 diatas tanpak bahwa respon berosilasi dengan overshoot 13 dan ESS (error steady state) sebesar ,5 . Untuk memperbaiki respon agar mencapai setpoint yang diinginkan maka digunakan kontroler dengan pendekatan orde1.
Hasil parameter kontroler tiap motor servo dapat dilihat pada Tabel 5.1 berikut
V. PERANCANGAN KONTROLER Dari persamaan deterministic AR dengan model plant pada gambar 5.1 berikut 8>@ / >@ / ! >@!
u(z)
No 1 2 3 4
y(z)
Gambar 5.1 Blok diagram motor DC servo
Setelah parameter kontroler diatas diketahui maka kontroler utuk tiap motor servo dapat dilihat pada Tabel 3.9 dibawah ini
Dan bentuk umum dari kontroler PID adalah
7 7 @ > / ! >@! A 79 79 =*>. , B >@ Sehingga blok diagram close loop dari plant dan kontroler PID ditunjukkan seperti Gambar 5.2. 79 ? /
6C +
e
-
7 7 79 ? / >@ / ! >@! A u 79 79 , B >@
8>@
/ >@ / ! >@!
Tabel 5.1 Parameter Kontroler Untuk Motor DC Servo Plant 79 7 7! B Servo1 0.731 0.290 0.286 0.99997 Servo2 0.6223 0.253 0.2436 0.99999 Servo3 0.629 0.272 0.261 0.99999 Servo4 0.789 0.287 0.295 0.99990
Tabel 3.9 Kontroler Plant Motor Servo Plant
Kontroler
Servo1 69
Servo2 Servo3 Servo4
Gambar 3.17 Blok Diagram Close Loop Kontroler dan Plant 7 79
Jika dipilih
7! ! 79
Maka persamaan TF close loop menjadi : 69 *>. 6C *>.
79 8>@ , *B , 79 8.>@
Target disain yang diinginkan adalah orde1 dengan τ = 0.8 seperti pada persamaan dibawah ini 69 *D. 6C *D. 9. ED /
I*J. 0.99997I*J , 1. / 0.731*J. / 0.290*J , 1. / 0.286*J , 2. I*J. 0.99999I*J , 1. / 0.622*J. / 0.253*J , 1. / 0.243*J , 2. I*J. 0.99999I*J , 1. / 0.629*J. / 0.272*J , 1. / 0.261*J , 2.
I*J. 0.99990I*J , 1. / 0.789*J. / 0.287*J , 1. / 0.295*J , 2.
VI. TRAJECTORY Trajectory merupakan suatu lintasan yang dibangun dengan perencananan lintasan yang telah ditentukan sehingga robot diharapkan mampu dalam melalui lintasan tersebut. Sedangkan tracking merupakan suatu pergerakan robot yang berusaha untuk melalui lintasan (trajectory) tersebut tanpa ada kesalahan dalam melaluinya. Trajectory pada robot Lynk5 seperti pada Gambar 6.1 dibawah ini : Halangan End Point
x
Objek_1 Objek_2
Dalam bentuk diskrit menjadi
69 *>. 9. FG 6C *>. > , 9. EE!G
y
Sehingga untuk mendapatkan parameter kontroler dengan target disain orde1 persamaannya menjadi : 9. FG>@ , 9. EE!G>@
Jadi
7H 8 9.
FG
7 79
79 8>@ , *B , 79 8.>@
B 9. EE!G / 79 8 7! ! 79
Jangkauan minimum Jangkauan maksimum
Gambar 6.1 Trajectory Pada robot Lynk5
VII. PENGUJIAN DAN ANALISA SISTEM A. Pengujian Posisi Sudut Pada Tiap Joint Pengujian posisi sudut pada setiap Joint bertujuan untuk membuktikan atau mengetahui ketetapan gerakan motor perposisi. Sudut posisi tiap derajat dikonversi kepulsa untuk setiap motor melalui mikrokontroler yang didalamnya telah dimasukkan program persamaan tiap derajat sudut dengan jumlah pulsa. Mikrokontroler ini akan menjalankan motor servo dan akan menerima data sensor yang berfungsi mengontrol motor. Pada Tabel 4.1 merupakan data pengujian sudut untuk masing-masing link dengan tiga kali pengujian. Dari hasil pengujian didapat error yang dapat dihitung berdasarkan hasil pembacaan sensor dan pengukuran dilapangan. Pengujian pertama dilakukan untuk melihat error posisi dari tiap Joint tanpa menggunakan kontroler seperti pada Tabel 4.1 dibawah ini.
Dari hasil diatas telihat bahwa kontroler dapat memperkecil error yang terjadi dengan sehingga sudut masukan sama dengan sudut keluaran pada tiap Joint. B. Analisa Kontroler dan Plant Dari hasil identifikasi maka didapat model dari motor servo dengan menggunakan pendekatan persamaan deterministik AR. Dari hasil respon motor servo belum memungkinkan untuk mencapai posisi yang diinginkan, dengan adanya error maka digunakan kontroler agar dapat meminimal kan error yang terjadi. Dapat dilihat pada Gambar 4.4 bahwa motor servo1 memiliki error yang cukup besar terhadap setpoint yang diinginkan, motor belum mencapai steady state untuk itu diperlukan kontroler agar mencapai set point, sehingga dibutuhkan kontroler untuk menaikkan respon sesuai dengan yang diinginkan
Tabel 4.1 Pengujian Posisi Joint Tanpa Kontroler No Joint
Pengujian I
K
e%
No Joint
Pengujian II
K
e%
1
50
46
8%
1
90
85
5.5%
2
25
22
12%
2
70
66
5.7%
3
150
144
4%
3
45
41
8.8%
3.6%
4
30
27
10%
4
110
106
Pengujian III
1
130
126
3%
2
110
104
5.4%
3
60
58
3.3%
4
50
47
6%
No Joint
K
e% Gambar 4.4 Respon Motor Servo_1 Dengan Kontroler PID
Dari hasil pengujian terdapat error yang nantinya akan disesuaikan oleh kontroler sehingga dapat meminimalkan error pada tiap-tiap Joint sehingga menghasilkan posisi yang diinginkan. Pada Tabel 4.2 dibawah ini merupakan hasil pengujian sudut Joint dengan menggunakan kontroler PID
Pada motor servo_2 didapat hasil respon seperti pada Gambar 4.5 yang memiliki karakteristik hampir sama dengan motor servo1 dimana pada motor servo2 memiliki nilai steady state sebesar 70
Tabel 4.2 Pengujian Posisi Joint Menggunakan Kontroler No Joint 1 2 3 4
Pengujian I K 40 70 100 140
e%
39.8 69.8 99.7 139.8
0.5% 0.2% 0.3% 0.14%
No Joint
Pengujian II
K
e%
1
60
59.9
0.16%
2 3 4
30 50 70
29.7 49.8 69.7
1% 0.4% 0.4%
Gambar 4.5 Respon Motor Servo2 Kontroler PID No Joint
Pengujian III
1
120
119.8
K
0.16%
2
150
148.7
0.2%
3
25
24.6
1.6%
4
30
29.7
1%
e%
Pada motor servo2 memiliki respon tanpa kontroler seperti pada Gambar 4.6 dibawah ini, dimana motor servo3 memiliki nlai steady state sebesar 150 .
end effector yang akan dituju, sehingga dapat dikatakan bahwa robot tidak akan dipengaruhi oleh beban sekitarnya,
IX. DAFTAR PUSTAKA [1] M.W. Spong, S. Hutchinson and M. Vidyasagar, Robot Modeling and Control, 1st Edition, Jon Wiley & Sons, Inc, 2005.
Gambar 4.6 Respon Motor Servo3 Kontroler PID Pada motor servo4 memiliki respon dengan kontroler PID seperti pada Gambar 4.7 dibawah ini, dimana motor servo4 memiliki nlai steady state sebesar 10 .
[2] J. Angeles, Fundamentals of Robotic Mechanical Systems: Theory, Methods, and Algorithms, 2nd Edition, Springer, 2003. [3] K. H. Kalil, Nonlinear Systems, 3rd Edition, Prentice Hall, 2002. [4] A.Z. Alassar, I.M. Abuhadrous and H.A. Elaydi “Control of 5DOF Robot Arm Using PID Controller with Feedforward Compensation”, Accepted in the 2nd Conference on Computer and Automation Engineering, Singapore, 5. Dec. 2009. [6] Paul, R.P. (1981). Robot manipulator: mathematics, programming, and control. Massachusetts: MIT Press.
RIWAYAT PENULIS
Gambar 4.7 Respon Motor Servo_4 Kontroler PID Dari keseluruhan hasil respon tanpa menggunakan kontroler dari setiap motor servo memiliki karakteristik dan nilai error yang hampir sama, dan membutuhkan waktu yang lama untuk mencapai nilai steady state. Dengan demikian motor servo memerlukan kontroler yang dapat membantu respon agar mencapai nilai steady state yang diinginkan.
VIII. PENUTUP Dari hasil penelitian yang telah dilakukan pada pengerjaan tugas akhir ini, maka dapat diperoleh beberapa simpulan diantaranya: 1. Terlihat perbedaan dari pergerakan robot menuju posisi yang diinginkan pada saat kondisi keadaan tanpa kontroler dan menggunakan kontroler. 2. Untuk mendapatkan pergerakan yang smooth dibutuhkan nilai kordinat end effector yang lebih banyak sesuai dengan lintasan (trajectory) yang ditentukan. 3. pergerakan smooth juga ditentukan oleh waktu tunda (delay) dari pergerakan robot menuju tiap titik end effector 4. Kontroler PID selalu mempertahankan kondisi kecepatan robot sampai mendapatkan titik kordinat
dilahirkan di Furqan Pekanbaru, 6 April 1988. Merupakan putra pertama dari pasangan M. Jakfar dan Zamiatul Azma. Lulus dari SD Cendana Rumbai Pekanbaru Riau pada tahun 2000, kemudian melanjutkan studinya ke MTS Al-ittihad Rumbai Pekanbaru dan lulus pada tahun 2003. Kemudian melanjutkan ke SMA Candara Rumbai dan lulus pada tahun 2006. Setelah menamatkan SMA, penulis melanjutkan studinya di Universitas Gadjah Mada tepatnya pada jurusan Diploma Teknik Elektro UGM dan lulus pada tahun 2009. Selanjutnya penulis meneruskan studi sarjana di Teknik Elektro ITS, kemudian fokus pada bidang studi Teknik Sistem Pengaturan. Pada bulan Juli 2011 penulis mengikuti seminar dan ujian Tugas Akhir sebagai salah satu syarat untuk memperoleh gelar Sarjana Teknik Elektro dari Institut Teknologi Sepuluh Nopember Surabaya.