Selamat datang di sonoku.com

Implementasi Metode Fuzzy Logic Controller Pada Kontrol Posisi Lengan Robot 1 DOF (bag.2/3)

Setelah perancangan perangkat keras (lengan robot) selesai, kemudian dilakukan perancangan fungsi keanggotaan yang nilai domainnya disesuaikan dengan keadaan lengan robotnya. Misalnya, pada robot yang dibuat hanya dapat bergerak ke kanan dan ke kiri hingga maksimal 150 derajat, maka pada perancangan fungsi keanggotaan (membership function disingkat MF) dapat ditentukan domainnya dari -150 derajat hingga +150 derajat.

2. Merancang Membership Function (MF)

1. MF masukan “error”

Fungsi keanggotaan (Membership Function/MF) masukan nilai error terdiri dari 5 himpunan, yaitu negatif besar (NB), negatif kecil (NK), zero (Z), positif kecil (PK) dan positif besar (PB).

sonoku.com_mf_fuzzy_1

Gambar 1 Membership functionnilai error

Secara matematis, fungsi keanggotaan input nilai error dapat dituliskan sebagai berikut:

Fungsi keanggotaan negatif besar (NB):

sonoku.com_fuzzy_NB1

Pada program, potongan kodenya dapat dituliskan sebagai berikut:

Fungsi keanggotaan negatif kecil (NK):

NK Pada program, potongan kodenya dapat dituliskan sebagai berikut:

Untuk fungsi keanggotaan yang lain kode programnya dapat disesuaikan dengan jenisnya seperti yang dicontohkan diatas.

2. MF masukan “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).

MF_delta_errorGambar 4 Membership function nilai delta_error

Potongan kode dapat ditulis sesuai contoh pada MF masukan error, hanya saja nilai batasan domainnya diubah menurut masing-masing MF sesuai gambar diatas.

3. MF 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). Jenis fungsi keanggotaan yang digunakan pada keluaran ini adalah singleton.

MF_PWMGambar 3 Membership function nilai PWM

Pada kode program penentuan fungsi keanggotaan PWM dideklarasikan sebagai berikut:

3. Rule Base

Setelah menenutukan fungsi keanggotaan masing-masing masukan dan keluaran, selanjutnya ditentukan rules (aturan) yang akan diterapkan pada kontroler.

rulebase

Potongan kode untuk mendeklarasikan rule base pada tabel diatas adalah sebagai berikut:

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

Contoh untuk kondisi error = -150 dan delta error = -50. Fungsi keanggotaan masukan error dapat digambarkan sebagai berikut:

contoh1Gambar 5 Membership functionnilai error = -150

 

Nilai derajat keanggotaan pada tiap-tiap membership:

µNB(-150) = 1;            µNK(-150) = 0;            µZero(-150) = 0;

µPK(-150) = 0;             µPB(-150) = 0

Fungsi keanggotaan masukan delta error dapat digambarkan sebagai berikut:

contoh2

Nilai derajat keanggotaan pada tiap-tiap membership:

µNB(-50) = -30-(-50)/-30-(-60)= 0.67

µNK(-50) = -50-(-60)/-30-(-60)= 0.33

µZero(-50) = 0;      µPK(-50) = 0;      µPB(-50) = 0

Karena operasi logika fuzzy yang digunakan adalah operator OR, maka nilai rule strength akan mengambil nilai tertinggi (MAX) dari 2 buah nilai derajat keanggotaan.

IF Error is NB = 1 OR Delta_Error is NB = 0.67 THEN PWM is Kanan_SC = 1

IF Error is NB = 1 OR Delta_Error is NK = 0.33 THEN PWM is Kanan_SC = 1

dst.

Potongan program untuk mengevaluasi masukan berdasarkan rule base yang dirancang adalah sebagai berikut:

Setelah didapatkan semua nilai rule strenght (alfa), berikutnya akan dibahas proses defuzzifikasi. Akan dibahas pada artikel berikutnya.

 

Comments

comments

Leave a Reply