Implementasi Metode Fuzzy Logic Controller Pada Kontrol Posisi Lengan Robot 1 DOF Andik Yulianto1), Agus Salim2), Erwin Sukma Bukardi3) Prodi Teknik Elektro, Fakultas Teknologi Industri, Universitas Internasional Batam email: 1)
[email protected], 2)
[email protected],3)
[email protected]
Abstrak Artikel ini membahas implementasi metode Fuzzy Logic Controller pada sebuah lengan robot 1 DOF. Sistem yang dirancang memiliki 2 nilai input yang akan masuk ke proses fuzzifikasi. Input yang pertama yaitu nilai error yang didapatkan dari selisih antara nilai set point (posisi lengan actual) dan nilai present value (posisi lengan target). Nilai posisi tersebut didapatkan dari nilai potensiometer yang di-couple pada lengan. Input yang kedua yaitu nilai delta error (error – last error). Output dari proses fuzzy logic controller berupa nilai PWM (pulse width modulation) yang akan mengatur pergerakan motor dari posisi lengan robot (actual). Nilai dari sensor potensiometer yang ada pada lengan robot (actual) akan digunakan sebagai feedback untuk mengetahui nilai error pada setiap iterasi yang telah dijalankan. Kata Kunci: Fuzzy Logic Controller, Robot Lengan, Kartesian
1. Pendahuluan Robot merupakan sesuatu yang dapat diprogram dan diprogram ulang, dengan memiliki manipulator mekanik/pengerak yang didesain untuk memindahkan barang-barang, komponen atau alat khusus dengan berbagai program yang fleksibel/mudah disesuaikan untuk melaksanakan berbagai macam tugas. Robot mempunyai bermacam-macam bentuk dan ukuran, sehingga memiliki beragam kemampuan gerakan pula. Sekarang ini, perangkat robot sudah banyak digunakan pada berbagai bidang, terutama sudah digunakan luas pada industri. Salah satu bagian yang paling sering digunakan dari robot adalah bagian lengan robot itu sendiri. Adanya teknologi lengan robot karena dapat dipergunakan sebagai alat bantu manusia yang memiliki tugas tertentu dan digunakan sesuai dengan keinginan perancangnya. Dalam penggunaan teknologi lengan robot, ada istilah yang disebut dengan Degree of Freedom (DOF) atau derajat kebebasan. Secara umum DOF atau derajat kebebasan adalah jumlah arah yang independen yang dibutuhkan untuk menyatakan posisi dari setiap hubungan relatif terhadap link yang tetap. Jumlah DOF ditentukan oleh struktur kinematik manipulator, yang biasanya bertepatan dengan jumlah joint (bagian yang memungkinkan terjadinya gerakan pada dua bagian tubuh robot). Dari sudut pandang teori kontrol, telah banyak kemajuan dalam pengembangan kontroler untuk manipulator lengan robot, seperti kontrol proporsional-integral-derifatif (PID), kontrol feedforward dan computed torque, kontrol adaptif, dan Fuzzy Logic Controller. Fuzzy Logic Controller merupakan salah satu kontroler cerdas (intelligent
controller) yang dapat mengendalikan suatu peralatan secara online. Salah satunya untuk mengontrol navigasi robot sepak bola [1]. Pada kontroler logika fuzzy (fuzzy logic) untuk memperoleh performansi yang diinginkan diperlukan pengetahuan yang cukup tentang plant yang akan dikontrol sehingga dapat menentukan aturan (rule) yang tepat dan variabel linguistik yang sesuai. Berdasarkan pengetahuan tentang metode tersebut, pada penilitan ini akan dirancang sebuah sistem yang mengimplementasikan metode Fuzzy Logic Controller pada sebuah lengan robot 1 DOF.
2. Kajian Pustaka 2.1. Fuzzy Inference System 2.1.1. Logika Fuzzy Pada logika fuzzy, yang dikenalkan oleh Lotfi Zadeh, berbeda dengan logika biasa atau tradisional dimana logika fuzzy dasarnya adalah kekaburan dan ketidakpastian [2]. Logika fuzzy merupakan cara untuk memetakan ruang masukan kedalam ruang keluaran. Karakteristik lain yang ada pada logika fuzzy adalah dapat dibangun berdasarkan pengalaman seorang ahli, dengan kata lain logika fuzzy dapat memformulasikan pengetahuan seorang ahli [2].
2.1.2.
Himpunan Fuzzy
Himpunan fuzzy merupakan himpunan yang memiliki batasan yang tidak tegas. Jika X adalah semesta pembicaraan dan tiap elemennya dinotasikan dengan x, maka himpunan fuzzy A pada X didefinisikan sebagai suatu himpunan urutan pasangan (( x, A ( x) ) dengan demikian
A x, A ( x) | x X ,0 A ( x) 1
(1) 19
CENTRE, Civil and Electrical Engineering Journal, Vol.9 No.2 December 2014
Dimana
A ( x) adalah
derajat keanggotaan dari
tiap x pada A. Fungsi keanggotaan merupakan fungsi sederhana yang memetakan tiap elemen X ke sebuah nilai keanggotaan antara 0 dan 1. Terdapat beberapa macam bentuk fungsi kenggotaan, misalnya segitiga, trapessium, Gaussian dan lain sebagainya. Fungsi keanggotaan yang paling sederhana adalah segitiga dan trapezium, sehingga membutuhkan perhitungan yang mudah. Bentuk fungsi keanggotaan segitiga ditunjukkan pada Gambar 1 [2]. A ( x) Derajat keanggotaan
ISSN : 1907-6452
, x a atau x d 0 x a ,a x b ba A ( x) c x ,c x d x b ,b x c 1
2.1.3.
(3)
Variabel Fuzzy
Variabel fuzzy atau variabel lingustik, X f , adalah sebuah variabel berupa kata-kata dan istilah linguistik (linguistic terms) atau label.
1
Xf
merupakan representasi dari X. Dapat didefinisikan n istilah linguistik (Li) dari sebuah variabel fuzzy, dimana himpunan fuzzy berkaitan dengan label lingustik:
X f Li |1 i n
0 a
Gambar 1.
b
c
X Semesta Pembicaraan
Fungsi Keanggotaan Segitiga
Dengan demikian fungsi keanggotaan segitiga dapat dituliskan sebagai berikut.
, x a atau x c 0 x a A ( x) ,a x b b a c x ,b u c x b
(4)
Li x, Li ( x) x X ,0 Li ( x) 1 1 i n
(5)
Label lingustik dapat berupa bahasa manusia yang tidak presisi untuk menginterpretasikan variabel yang berbeda. Misalnya untuk menjelaskan jarak, maka labelnya bisa berupa Sangat Dekat, Dekat, Jauh, Sangat Jauh, dan sebagainya.
2.1.4.
Operator Fuzzy[3]
(2)
Sedangkan untuk bentuk fungsi keanggotaan trapesium ditunjukkan pada Gambar 2.
Secara umum operator yang digunakan dalam operasi himpunan fuzzy antara lain NOT, OR, dan AND. Operasi yang didefisnisikan sebagai berikut: 1) NOT (complement) Komplemen dari sebuah himpunan fuzzy A dengan fungsi keanggotaan A ( x) didefinisikan sebagai berikut.
Derajat keanggotaan
A ( x)
A ( x) 1 A ( x) x X
1
2) AND (conjunction) Gabungan dari dua buah himpunan fuzzy A dan B dengan fungsi keanggotaan A ( x) dan
B ( x) adalah
himpunan fuzzy dalam X yang
didefinisikan sebagai: 0 a
Gambar 2.
b
c
d
X Semesta Pembicaraan
Fungsi Keanggotaan Trapesium
Fungsi keanggotaan trapezium dituliskan sebagai berikut.
A B ( x) max A ( x), B ( x) x X
(7)
3) OR (disjunction) Irisan dari dua buah himpunan fuzzy A dan B dengan fungsi keanggotaan A ( x) dan B ( x) adalah himpunan fuzzy dalam X yang didefinisikan sebagai:
A B ( x) min A ( x), B ( x) x X 20
(6)
(8)
CENTRE, Civil and Electrical Engineering Journal, Vol.9 No.2 December 2014
2.2. Kinematika Lengan Robot 1 DOF Kinematika robot adalah studi analitis pergerakan lengan robot terhadap sistem kerangka koordinat acuan yang diam/bergerak tanpa memperhatikan gaya yang menyebabkan pergerakan tersebut. Model kinematika merepresentasikan hubungan end–effector dalam ruang tiga dimensi dengan variabel sendi dalam ruang sendi. Persamaan kinematika maju mendeskripsikan posisi dan orientasi end–effector yang dinyatakan dalam posisi sendi. Sedangkan persamaan kinematika balik mendeskripsikan posisi sendi untuk menghasilkan posisi dan orientasi end – effector tertentu. Dalam penggunaan teknologi lengan robot, ada istilah yang disebut dengan Degree of Freedom (DOF) atau derajat kebebasan. Secara umum DOF atau derajat kebebasan adalah jumlah arah yang independen yang dibutuhkan untuk menyatakan posisi dari setiap hubungan relatif terhadap link yang tetap. Jumlah DOF ditentukan oleh struktur kinematik manipulator, yang biasanya bertepatan dengan jumlah joint (bagian yang memungkinkan terjadinya gerakan pada dua bagian tubuh robot). Dalam penelitian ini akan dirancang sebuah sistem lengan robot manipulator 1 DOF yang akan bersikap sebagai pengikut lengan lainnya. Berikut representasi kinematik maju 1 DOF:
y
p x, y
ly
Gambar 3.
nilai set point (posisi lengan actual) dan nilai present value (posisi lengan target). Nilai posisi tersebut didapatkan dari nilai potensiometer yang di-couple pada lengan. Input yang kedua yaitu nilai delta error (error – last error). Keluaran dari proses fuzzy logic controller berupa nilai PWM (pulse width modulation) yang akan mengatur pergerakan motor dari posisi lengan robot (actual). Nilai dari sensor potensiometer yang ada pada lengan robot (actual) akan digunakan sebagai feedback untuk mengetahui nilai error pada setiap iterasi yang telah dijalankan.
Gambar 4.
Diagram Blok Kendali Robot Lengan 1 DOF menggunakan Fuzzy Logic
Pada plant kontrol posisi lengan robot 1 DOF terdapat mikrokontroler minimum system AVR ATmega8535 yang berfungsi sebagai pemroses data dari fuzzy inference system yang diterapkan pada plant. Pada minimum system AVR ATmega8535 terdapat pin-pin yang digunakan yaitu : 1) PORT.A : Read data ADC 2) PORT.C : LCD 3) PORT.D : Output PWM
l
lx
ISSN : 1907-6452
x
Kinematik Maju Lengan 1 DOF
Persamaan kinematik lengan 1 DOF ditunjukkan pada persamaan berikut:
lx l.cos
(9)
l y l.sin
(10)
Untuk mengatur pergerakan motor pada lengan pengikut robot 1 DOF digunakan driver motor L293D. Driver motor L293D bekerja untuk mengatur pergerakan motor forward atau backward dengan membalik polaritas. Output pwm dari mikrokontroler tidak langsung dihubungkan ke motor DC melainkan dihubungkan ke driver motor dan setelah itu ke motor DC. Gambar 5 merupakan diagram blok sistem robot lengan 1 DOF. PortC
PortA
LCD
Sensor Posisi ATMega8535
Sedang persamaan kinematik balik lengan satu DOF sebagai berikut:
tan 21 ( y, x)
(11)
3. Metode Penelitian Berdasarkan blok diagram pada Gambar 1, dapat dilihat bahwa terdapat 2 nilai input yang akan masuk ke proses fuzzifikasi. Input yang pertama yaitu nilai error yang didapatkan dari selisih antara
Gambar 5.
PortD
H-Bridge Motor Driver
Motor DC
Diagram Blok Perangkat Keras Sistem
3.1. Perancangan Robot
Mekanisme
Lengan
Pada perancangan perangkat keras lengan robot 1 DOF, terdapat bagian lengan (actual) yang dijadikan sebagai set point dimana nilai set point didapatkan dari hasil kuantisasi dari nilai output
21
CENTRE, Civil and Electrical Engineering Journal, Vol.9 No.2 December 2014
tegangan potensiometer yang di kopel antara 2 bagian lengan sehingga menjadi sendi pada lengan, sendi pada lengan ini akan membentuk sudut derajat kebebasan. Berikut gambar lengan yang dicouple dengan potensiometer :
Gambar 6.
Peletakan sensor posisi
Pada plant kontrol posisi lengan robot 1 DOF juga terdapat lengan pengikut (target) yang dijadikan sebagai output dari hasil sistem kontrol fuzzy inference system, dimana lengan pengikut tersebut dikopel antara motor DC dan potensiometer. Motor DC berfungsi sebagai aktuator penggerak dari lengan pengikut dan potensiometer sebagai sensor posisi lengan aktual. Berikut gambar dari lengan pengikut (target).
3.2.2.
ISSN : 1907-6452
Perancangan Fungsi Keanggotaan error
Fungsi keanggotaan input nilai error terdiri dari 5 himpunan, yaitu negatif besar (NB), negatif kecil (NK), zero (Z), positif kecil (PK) dan positif besar (PB).
Gambar 8.
3.2.3.
Fungsi Keanggotaan error
Perancangan Fungsi Keanggotaan delta_error
Fungsi keanggotaan input nilai delta error terdiri dari 5 himpunan, yaitu negatif besar (NB), negatif kecil (NK), zero (Z), positif kecil (PK) dan positif besar (PB).
Gambar 9.
3.2.4.
Fungsi Keanggotaan delta error
Perancangan Fungsi Keanggotaan Keluaran PWM
Fungsi keanggotaan output nilai PWM terdiri dari 5 himpunan, yaitu kanan sangat cepat (Kanan_SC), kanan cepat (Kanan_C), diam (Diam), kiri cepat (Kiri_C) dan kiri sangat cepat (Kiri_SC).
Gambar 7.
Plant kontrol posisi lengan 1 DOF
3.2. Perancangan Fungsi Keanggotaan Pengendali Fuzzy yang dirancang menggunakan dua masukan yaitu error dan delta_error, serta satu keluaran yaitu PWM.
Gambar 10. Fungsi Keanggotaan PWM
3.2.1.
3.3. Perancangan Aturan Fuzzy
Perancangan Fungsi Keanggotaan error
Fungsi keanggotaan input nilai error terdiri dari 5 himpunan, yaitu negatif besar (NB), negatif kecil (NK), zero (Z), positif kecil (PK) dan positif besar (PB).
22
Aturan Fuzzy yang dirancang mengikuti Tabel 1 dibawah ini. Aturan dirancang sedemikian rupa agar lengan robot dapat mengikuti posisi lengan manusia.
CENTRE, Civil and Electrical Engineering Journal, Vol.9 No.2 December 2014
ISSN : 1907-6452
Tabel 1. Rancangan Aturan Fuzzy
Operasi logika fuzzy yang digunakan adalah operator OR. Dalam bentuk IF – THEN, dapat dicontohkan sebagai berikut: IF Error is NB OR Delta_Error is NB THEN PWM is Kanan_SC
4. Hasil dan Analisa Pengujian algoritma fuzzy dilakukan untuk mengetahui apakah sistem sudah bekerja dengan baik. Proses pengujian dilakukan dengan cara menentukan set point pada nilai yang berbeda. Untuk memudahkan melihat hasil respon pada motor, digunakan tampilan grafik melalui PC. Pada grafik akan muncul grafik respon untuk set point yang digambarkan dengan garis merah, sedangkan untuk respon dari pergerakan motor akan ditampilkan menggunakan garis yang berwarna biru.
Gambar 12. Grafik respon kontrol pada set point = 94 Jika pada percobaan pertama diberlakukan pergerakan sudut yang lumayan kecil (39⁰), maka pada percobaan kedua ini sistem lengan robot 1 DOF diberikan pergerakan dengan set point yang lebih besar, yaitu 94 (besar sudut = 94⁰). Pada percobaan kedua ini, respon memperlihatkan penurunan rise time (waktu mencapai steady state). Dimana pada percobaan sebelumnya respon lengan pengikut dapat mulai mengikuti lengan actual pada iterasi ke 99 kali, pada percobaan kali ini lengan pengikut sudah bisa mendekati pergerakan lengan actual pada iterasi ke 35 kali. Berkurangnya rise time pada percobaan ini juga dipengaruhi oleh sudut yang ditunjukkan oleh lengan actual, karena semakin besar sudut yang ditunjukkan oleh lengan actual maka PWM sistem diatur semakin besar sehingga lengan pengikut bergerak semakin cepat dalam mengikuti pergerakan lengan actual. Sebagai tambahan, pada percobaan kali respon memperlihatkan overshoot, walaupun tidak terlalu besar.
Gambar 11. Grafik respon kontrol pada set point = 39 Pada percobaan pertama, sistem lengan robot 1 DOF diberikan pergerakan dengan set point = 39 (besar sudut = 39⁰). Pada percobaan pertama ini, respon memperlihatkan rise time yang cukup besar, yaitu sekitar iterasi ke 99 kali. Setelah iterasi ke 99 kali, pergerakan dari lengan pengikut sudah bisa mendekati pergerakan lengan actual yang dijadikan sebagai perangkat masukan. Pada percobaan pertama ini pula, tidak terjadi overshoot pada respon, melainkan respon lengan pengikut sedikit demi sedikit mendekati pergerakan dari pergerakan lengan actual.
Gambar 13. Grafik respon kontrol pada set point = 125 Pada percobaan terakhir, sistem lengan robot 1 DOF diberikan pergerakan dengan set point yang lebih besar daripada sebelumnya, yaitu 125 (besar sudut = 125⁰). Pada percobaan terakhir ini, respon menunjukkan rise time yang paling kecil jika
23
CENTRE, Civil and Electrical Engineering Journal, Vol.9 No.2 December 2014
dibanding dengan dua percobaan sebelumnya, yaitu sekitar iterasi ke 25 kali. Overhoot yang diperlihatkan lebih besar daripada pada percobaan kedua, namun dapat kembali stabil pada posisi set point yang ditentukan pada sekitar iterasi ke 49 kali.
5. Kesimpulan Berdasarkan perancangan, pengujian, dan analisis yang telah dilakukan pada sistem kontrol posisi lengan 1 DOF menggunakan metode fuzzy, maka dapat diperoleh beberapa kesimpulan sebagai berikut: 1) Metode Fuzzy Logic Controller dapat digunakan untuk mengatur pergerakan dari motor DC dan diimplementasikan pada plant kontrol posisi lengan robot 1DOF. 2) Berdasarkan respon kontrol dari hasil pengujian saat start up awal dari titik 0, pada perbedaan sudut di atas 90 memiliki respon yang relatif lebih baik dibandingkan dengan perbedaan sudut di bawah 90 dengan respon yang lebih lambat. 3) Dari ketiga pengujian yang dilakukan, dapat dilihat bahwa sistem kendali fuzzy logic telah mampu bekerja pada plant kontrol posisi lengan robot 1DOF dengan rata-rata nilai error sebesar 3%.
6. Daftar Pustaka [1] Yulianto, Andik. (2012), Penerapan BehaviorBased Control dan Fuzzy Logic Controller pada Sistem Navigasi Robot Soccer, CENTRE, Civil and Electrical Engineering Journal,Vol.7 No.1, pp.16-23. [2] Naeeni, A.F., (2004), Advanced Multi-Agent Fuzzy Reinforcement Learning, Master Thesis Computer Engineering, Computer Science Department, Dalarna University, Sweden, [3] Yulianto, Andik, (2011), Implementasi Behavior-Based Control Dengan Pembelajaran Fuzzy Q-Learning Pada Robot Soccer, Master Thesis, Institut Teknologi Sepuluh Nopember, Surabaya. [4] Pambudi W. S., Nona Mahditiara A, S., (2014), “Implementasi Fuzzy-Pd Untuk Menentukan Posisi Obyek Pada Model Simulasi Robot Arm Manipulator 3 Dof (Degree Of Freedom) Dalam Bidang 2 Dimensi”, Jurnal Ilmiah Mikrotek, Vol. 1, No.2, pp: 19-30.
24
ISSN : 1907-6452