UAS-Logika Fuzzy

[Kembali ke Cover]

Implementasi Kendali Fuzzy pada Torsi Motor DC untuk Kestabilan Quadcopter
Bahan Presentasi Untuk Mata Kuliah JST
Semester Genap 2019



Dosen : Darwison, M.T


Oleh:
Fallahati Alhamdi
1610952021


Jurusan Teknik Elektro
Fakultas Teknik
Universitas Andalas
Padang
2019
Referensi
1. Patanik, Amiya. “Fuzzy Logic Control of Air Conditioners,”Indian Institue of Technology., unpublished.

2. Von Altrock, C., “Fuzzy Application Library/Technical Applications/ Fuzzy in Appliances”., Embedded System Conferences in 1994, 1995, and 1996 in Santa Clara.

3. A. Zadeh, Lotfi., “Fuzzy Logic”., University of California, Berkeley.

4. Mitra, B, et.al. “Applications of fuzzy logic to the prediction of soil erosion in a large watershed”., Geoderma 86(1998), halaman 183-209

5. Sandra Anggagita, Implementasi Kendali Fuzzy untuk Kestabilan Ketinggian Quadcopter, Tugas Akhir, Universitas Komputer Indonesia, Bandung, 2016.





1. Teori [Kembali]

Judul Aplikasi

Implementasi Kendali Fuzzy pada Torsi Motor DC untuk Kestabilan Quadcopter.

Tujuan

Tujuan dari pembuatan blog ini adalah sebagai tugas ujian akhir semester kuliah Jaringan Syaraf Tiruan. Dan juga diharapkan pembaca dapat merancang pengendali torsi motor dc untuk kestabilan quadcopter.

1.1 Latar Belakang [Kembali]

Seiring perkembangan zaman, teknologi digunakan untuk membantu pekerjaan manusia. Salah satu teknologi yang sedang berkembang saat ini adalah teknologi robot. Robot digunakan untuk membantu setiap pekerjaan manusia. Robot memilki banyak sekali jenis yaitu untuk robot manipulator, robot mobile,humanoid, robot underwater, flying robot / drone dan robot berkaki. Flying robot merupakan robot yang berada dilangit / diudara, robot ini digunakan untuk mengambil gambar dari udara atau menjelajah daratan dari udara yang sulit dilakukan oleh manusia dengan berjalan kaki. Flying robot juga disebut juga drone karena robot tersebut mempunyai kecerdasan buatan didalam nya untuk melakukan manuver,take off dan landing. Banyak sekali contoh dari drone ini salah satu nya adalah Quadcopter. Quadcopter memiliki bentuk menyerupai helicopter, dan memiliki 4 baling-baling sebagai penggerak nya.
Pada saat quadcopter melayang atau hovering, quadcopter harus tetap stabil. Kestabilan permukaan (level) dikendalikan oleh kendali PID dan kestabilan ketinggian dikendalikan oleh kendali logika fuzzy. Setiap quadcopter memiliki bentuk yang berbeda oleh karena itu diperlukan nya tuning PID secara manual agar quadcopter melayang dengan stabil, kendali logika fuzzy digunakan untuk menahan nilai ketinggian (altitude hold) pada saat quadcopter melayang.

1.2 Tujuan [Kembali]

Tugas ini berrtujuan untuk :

1. Dapat merakit sebuah quadcopter

2. Memahami pengaruh parameter PID terhadap kestabilan
permukaan (level)

3. Kendali fuzzy dapat mengatur kestabilan ketinggian quadcopter

1.3 Quadcopter [Kembali]

Quadcopter adalah jenis pesawat udara aerodinamis dan bersayap putar dan salah satu jenis dari multirotor. Sebagaimana dengan namanya Quad yang berarti empat, sehingga pada multirotor ini memiliki empat buah motor brushless dan 4 buah baling baling. Berdasarkan bentuk rangka (frame), quadcopter terdiri dari 2 model yaitu quadcopter dengan model plus (+) dan bentuk silang (x).

Gambar 1.3.1 model quadcopter plus dan bentuk silang

Prinsip Kerja

Pada ujung setiap frame terpasang 4 buah motor brushless dan propeller, motor brushless yang akan memutar propeller, dengan mengatur kecepatan dan mengatur arah putaran kedalam, sehingga menghilangkan gaya sentrifugal disekitar quadcopter mengakibatkan terangkat dan ber-manuver. Ada 4 pengaturan dasar dasar kecepatan putaran propeller yaitu pengaturan throttle propeller, pitch propeller, yaw propeller dan roll propeller. Throtller propeller bertujuan untuk melakukan vertical take off dan landing (VTOL) bergerak ke atas dan ke bawah.


Gambar 1.3.2 Throttle Propeller

Putaran yang tebal menandakan propeller berputar dengan cepat yang mengakibatkan quadcopter akan terangkat (take-off), sedangkan putaran yang tipis menandakan propeller berputar dengan lambat yang mengakibatkan quadcopter akan turun/mendarat (landing). Pengaturan pitch propeller adalah pengaturan yang diberikan agar quadcopter bergerak maju dan bergerak mundur. Berikut gambar yang menampilkan ilustrasi kecepatan putar propeller untuk pengaturan pitch.


Gambar 1.3.3 Pitch propeller
Pengaturan yaw control bertujuan agar quadcopter bergerak berputar kekiri dan bergerak ke kanan. Ilustrasinya dapat dilihat pada gambar berikut ini.


Gambar 1.3.4 Yaw control

Pengaturan roll propeller diberikan agar quadcopter bergerak kekiri dan kekanan. Ilustrasi pengaturan roll propeller dapat dilihat pada gambar 4 di bawah ini.


Gambar 1.3.5 Roll propeller

1.4 Logika Fuzzy [Kembali]

Teori himpunan logika fuzzy dikembangkan oleh Prof. Lofti Zadeh pada tahun 1965. Ia berpendapat bahwa logika benar dan salah dari logika Boolean tidak dapat mengatasi masalah gradasi yang berada pada dunia nyata. Untuk mengatasi masalah gradasi yang tidak terhingga tersebut, Zadeh mengembangkan sebuah himpunan fuzzy. Tidak seperti logika Boolean, logika fuzzy mempunyai nilai yang kontinu. 
Fuzzy dinyatakan dalam derajat dari suatu keanggotaan dan derajat dari kebenaran. Oleh karena sebab itu sesuatu dapat dikatakan sebagian benar dan sebagian salah pada waktu yang sama. Logika fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang masukan (input) ke dalam suatu ruang keluaran (output).


Himpunan Fuzzy

Pada himpunan tegas (crisp), nilai keanggotaaan suatu item x dalam suatu himpunan A, yang sering ditulis dengan μA [x], memiliki dua kemungkinan, yaitu:


  • satu (1), yang berarti bahwa suatu item menjadi anggota dalam suatu himpunan, atau
  • nol (0), yang berarti bahwa suatu item tidak menjadi anggota dalam suatu himpunan.


Pada penggunaan himpunan crisp, adanya perubahan kecil saja pada suatu nilai mengakibatkan perbedaan kategori yang cukup signifikan. Himpunan fuzzy digunakan untuk mengantisispasi hal tersebut. Seberapa besar ekstensinya dalam himpunan tersebut dapat dilihat pada nilai keanggotaannya. Kalau pada himpunan crisp, nilai keanggotaan hanya ada dua kemungkinan, yaitu 0 atau 1, pada himpunan fuzzy nilai keanggotaan terletak pada rentang 0 sampai 1. apabila nilai keanggotaan fuzzy μ A[x] = 0 berarti x tidak menjadi anggota himpunan A, demikian pula apabila x memiliki nilai keanggotaan μA[x] = 1 berarti x menjadi anggota penuh himpunan A. Himpunan fuzzy memiliki dua atribut, yaitu :


  1. linguistik, yaitu penamaan suatu grup yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami, seperti : MUDA, PAROBAYA, TUA.
  2. numeris, yaitu suatu nilai (angka) yang menunjukkan ukuran dari suatu variabel seperti 40, 25, 30.


Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy, yaitu.
1. Variabel fuzzy
Variabel fuzzy merupakan variabel yang hendak dibahas dalam suatu sistem fuzzy. Contoh: umur, temperatur, permintaan.

2. Himpunan fuzzy
Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy. Contoh: Variabel umur, terbagi menjadi 3 himpunan fuzzy, yaitu: muda, parobaya, tua.

3. Semesta pembicaraan
Semesta pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk dioperasikan dalam suatu variabel fuzzy. Contoh: Semesta pembicaraan untuk variabel umur: [0 + ~].

4. Domain
Domain himpunan fuzzy adalah keseluruhan nilai yang diijinkan dalam semesta pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy.
Contoh: MUDA = [0, 45] ,TUA = [45, + ~].

Fungsi Keanggotaan

Fungsi keanggotaan (membership function) adalah suatu kurva yang menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotaannya (derajat keanggotaan). Ada beberapa fungsi yang digunakan pada perancangan ini, antara lain.
1. Representasi Linier

Pada pemetaan linear, pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus. Ada dua keadaaan himpunan fuzzy yang linear. Pertama, kenaikan himpunan dimulai pada nilai domain yang memiliki derajat keanggotaan nol [0] bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan lebih tinggi. Gambar 2.11 dibawah ini menunjukan grafik dari kurva linier naik.


Gambar 1.4.1 Kurva Linear Naik
Fungsi keanggotaan :



Kedua, merupakan kebalikan yang pertama. Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri, kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah. Gambar 2.12 dibawah ini menunjukan grafik dari kurva linier naik.


Gambar 1.4.2 Kurva Linear Turun
Fungsi keanggotaan :



2. Representasi Kurva Segitiga
Kurva segitiga pada dasarnya merupakan gabungan antara dua garis linear.Gambar 2.3 dibawah ini  enunjukan grafik dari kurva segitiga.


Gambar 1.4.3 Kurva Segitiga
Fungsi Keanggotaan :


(pers.3)

(pers.4)
Untuk menentukan nilai minimum dan maximum fungsi keanggotaan pada representasi kurva segitiga, dapat menggunakan persamaan 4. Parameter {a,b,c} dengan (a < b < c) menentukan sudut x dari tiga sudut penting dari fungsi keanggotaan.

3. Representasi kurva trapezoid
Kurva trapesium pada dasarnya seperti bentuk segitiga, hanya saja ada beberapa titik yang memiliki nilai keanggotaan satu. Gambar 2.14 dibawah ini menunjukan grafik dari kurva trapesium.


Gambar 1.4.4 kurva trapezoid
Fungsi keanggotaan :

(pers.5)

(pers.6)
Untuk menentukan nilai minimum dan maximum fungsi keanggotaan pada representasi kurva trapesium, dapat menggunakan persamaan 5. Parameter {a,b,c,d} dengan (a < b < c < d) menentukan sudut x dari empat sudut penting dari fungsi keanggotaan.


Fuzzy Inference System

Salah satu metode untuk penalaran (Fuzzy Inference System) adalah Metode Mamdani (Max-Min). Metode ini diperkenalkan oleh Ebrahim Mamdani pada tahun 1975. Untuk mendapatkan output, diperlukan empat tahap. Dapat digambarkan dengan block dibawah ini.
1. Pembentukan himpunan Fuzzy
Pada Metode Mamdani, baik variabel input maupun variabel output dibagi menjadi satu atau lebih himpunan fuzzy.

2. Fuzzyfikasi (Fuzzification)
Proses memetakan nilai tegas input (crisp) kedalam himpunan Fuzzy. Hasil dari proses ini berupa fuzzy input.

3. Rule evaluasi (Rule evaluation)
Proses melakukan penalaran terhadap fuzzy input yang dihasilkan oleh proses fuzzification berdasarkan aturan fuzzy yang telah dibuat. Proses ini menghasilkan fuzzy output. Fungsi Implikasi yang digunakan adalah Min.

4. Penegasan (Defuzzification)
Input dari proses penegasan (defuzzification) adalah suatu himpunan fuzzy yang diperoleh dari komposisi aturan-aturan fuzzy, sedangkan output yang dihasilkan merupakan suatu bilangan pada domain himpunan fuzzy tersebut. Sehingga jika diberikan suatu himpunan fuzzy dalam range tertentu, maka harus dapat diambil suatu nilai crisp tertentu sebagai output. Ada banyak metode penegasan (defuzzification) yang dapat digunakan untuk aturan Mamdani, salah satunya dengan mengunakan metode centroid of area.


Gambar 1.4.5 Fuzzy Inference System (Mamdani)


Salah satu alternatif metode untuk penalaran (Fuzzy Inference System) adalah dengan menggunakan metode penalaran fuzzy metode Sugeno hampir sama dengan penalaran Mamdani, hanya saja output sistem tidak berupa himpunan fuzzy, melainkan berupa konstanta atau persamaan linier. Metode ini diperkenalkan oleh Takagi-Sugeno Kang pada tahun 1985. 

Pada metode Sugeno, fuzzifikasi, operasi fuzzy, dan implikasi sama seperti metode Mamdani, perbedaannya hanya pada agregasi dan defuzzifikasi. Jika pada metode Mamdani agregasi berupa daerah di bawah kurva, maka pada metode Sugeno agregasi berupa singleton. Defuzifikasi pada metode sugeno lebih sederhana, karena hanya menghitung titik rata-rata.




Gambar 1.4.6 Fuzzy Inference System (Sugeno)

2. Alat [Kembali]

2.1 Flight Controller
Flight Controller adalah sebuah mikroprosesor yang berfungsi sebagai pengatur kecepatan dan penerima sinyal dari Remote Control. Flight Controller menerima sinyal masukan dari telementry atau Remote Control yang berupa nilai kecepatan motor sesuai dengan stick ,lalu Flight Controller akan mengirimkan sinyal pulsa dari pin output yang akan di terima oleh ESC.

Gambar 2.1 Flight Controller CRIUS AIOP

2.2 Electronic Speed Controller (ESC)
ESC adalah rangkaian elektronik yang berfungsi sebagai pengatur kecepatan putaran motor pada pesawat atau helikopter dengan cara menterjemahkan sinyal yang diterima receiver dari transmitter.


Gambar 2.2 Electronic Speed Controller

2.3 Catu daya
Catu daya adalah sebuah piranti elektronika yang berguna sebagai sumber daya untuk piranti lain, terutama daya listrik. Pada dasarnya pencatu daya bukanlah sebuah alat yang menghasilkan energi listrik saja. Catu daya yang digunakan berjenis Lithium Polymer (LiPo) yang kapasitansi sebesar 5000 mAh dan memiliki 3s.


Gambar 2.3 Catu daya LiPo

2.4 Motor Brushless
Motor dc tanpa sikat atau disebut Brushless DC Motor. Brushless DC Motor adalah suatu jenis motor-sinkron. Artinya medan magnet yang dihasilkan oleh stator dan medan magnet yang dihasilkan oleh rotor berputar di frekuensi yang sama. BLDC motor tidak mengalami Slip, tidak seperti yang terjadi pada motor induksi biasa. Motor jenis ini mempunyai permanen magnet pada bagian "rotor"
sedangkan elektro-magnet pada bagian "stator"-nya. Setelah itu, dengan menggunakan sebuah rangkaian sederhana (simpel computer system), maka kita dapat merubah arus di eletro-magnet ketika bagian "rotor"-nya berputar. Motor brushless yang digunakan memiliki daya sebesar 980 kV.


Gambar 2.4 Motor Brushless

2.5 Sensor Accelerometer
Sebuah tranduser yang berfungsi untuk mengukur percepatan, mendeteksi dan mengukur getaran, ataupun untuk mengukur percepatan akibat gravitasi bumi. Accelerometer juga dapat digunakan untuk mengukur getaran yang terjadi pada kendaraan Kendaraan, bangunan, mesin, dan juga bisa digunakan untuk mengukur getaran yang terjadi di dalam bumi, jarak yang dinamis, dan kecepatan dengan ataupun tanpa pengaruh gravitasi bumi. Percepatan merupakan suatu keadaan berubahnya kecepatan terhadap waktu. Bertambahnya suatu kecepatan dalam suatu rentang waktu disebut juga percepatan (acceleration). Jika kecepatan semakin berkurang dari pada kecepatan sebelumnya, disebut deceleration. Percepatan juga bergantung pada arah / orientasi karena merupakan penurunan kecepatan yang merupakan besaran vector. Berubahnya arah pergerakan suatu benda akan menimbulkan percepatan pula.



Gambar 2.5 Sensor Accelerometer

2.6 Sensor Gyroscope
Device yang berguna untuk menentukan orientasi gerak yang berotasi dengan cepat pada poros sumbu. Gyroscope memiliki output yang peka terhadap kecepatan sudut dari arah sumbu x yang nantinya akan menjadi sudut phi (roll), dari sumbu y nantinya menjadi sudut theta (pitch), dan sumbu z nantinya menjadi sudut psi (yaw). Penggunaan gyroscope dalam kehidupan sehari-hari belum banyak. Gyroscope lazimnya digunakan pada pesawat terbang, kapal, helicopter, dll. Hal tersebut untuk mengurangi getaran yang ditimbulkan mesin agar keseimbangan tidak goyah. Gyroscope baru-baru ini juga diterapkan pada mainan helicopter dengan tujuan menyeimbangkan saat diterbangkan.


Gambar 2.6 Sensor Gyroscope

3. Pembuatan Kendali Logika Fuzzy [Kembali]

3.1 Kendali Logika Fuzzy [Kembali]

Kendali logika fuzzy pada perancangan alat ini memiliki 2 masukan yaitu error yang menyatakan nilai kesalahan pada saat ini dan d_error yang menyatakan nilai kesalahan saat ini dikurangi dengan nilai kesalahan sebelumnya , error adalah selisih dari bacaan barometer dengan setpoint yang diinginkan. Perancarangan input yang digunakan agar quadcopter dapat stabil secara cepat dan diharapkan rentan waktu osilasi untuk mencapai set point pendek. Keluaran aturan fuzzy hanya terdapat satu yaitu T sebagai nilai throttle. Setiap keluaran tersebut diproses dengan aturan yang berlaku pada nilai throttle yang telah ditentukan. Untuk fungsi keanggotaan dan aturan fuzzy inference system pada sistem kestabilan ketinggian quadcopter dapat dilihat pada tabel 1.5.1 dan tabel 1.5.2 dibawah.

Gambar 3.1.1 Struktur kendali fuzzy

Gambar 3.1.2 Blok diagram kendali Fuzzy

Berikut ini cara perhitungan yang digunakan pada sistem kendali fuzzy :
error(t) = SetPoint – PresentValue
d_error = error(t)-error(t-1)
output = nilai torsi motor + throttle

error merupakan nilai kesalahan ketinggian dengan cara menghitung selisih setpoint yang ditetapkan dengan bacaan dari barometer, d_error adalah selisih antara nilai kesalahan saat ini dengan nilai kesalahan pada (t-1) atau nilai kesalahan sebelumnya. Setelah mendapatkan nilai throttle kendali fuzzy , nilai torsi setiap motor akan dikurangi dengan nilai throttle kendali fuzzy yang akan menjadi keluaran.
Tabel 3.1.1 Fungsi keanggotaan pada kestabilan ketinggian quadcopter


Tabel 3.1.2 Aturan Fuzzy pada kestabilan ketinggian quadcopter




3.2 Langkah-Langkah Pembuatan Logika Fuzzy [Kembali]

Tujuan dari pengujian ini adalah untuk mengimplementasikan masukan, proses dan keluaran dengan fuzzy rule kedalam flight controller. Pengujian dilakukan melalui simulasi fuzzy Matlab. Pengamatan hasil dimaksudkan untuk mendapatkan nilai torsi yang diharapkan. Berikut ini adalah fungsi keanggotaan error dan d_error.


1. Menentukan fungsi keanggotaan dengan nilai dan parameter di bawah :

Berikut ini penjelasan mengenai fungsi keanggotaan input error yang dirancang :
- Fungsi keanggotaan Zero (Z) : kurva segitiga dengan domain [5,0,5]
- Fungsi keanggotaan Positif (P) : kurva segitiga dengan domain [2,5,10]
- Fungsi keanggotaan Positif Big (PB) : kurva trapesium dengan domain [5,10,20,30]
- Fungsi keanggotaan Negatif (N) : kurva segitiga dengan domain[-10,-5,-2]
- Fungsi keanggotaan Negatif Big(NB) : kurva trapesium dengan domain [-30,-20,-10,-5]

fungsi keanggotaan input d_error yang dirancang :
- Fungsi keanggotaan Zero (ZdE) : kurva segitiga dengan domain [0.5,0,0.5]
- Fungsi keanggotaan Positif (PdE) : kurva segitiga dengan domain [0.2,0.5,1]
- Fungsi keanggotaan Positif Big (PBdE) : kurva trapesium dengan domain [0.5,1,2,3]
- Fungsi keanggotaan Negatif (NdE) : kurva segitiga dengan domain [-1,-0.5,-0.2]
- Fungsi keanggotaan Negatif Big(NBdE) : kurva trapesium dengan domain [-3,-2,-1,-0.5]

fungsi keanggotaan output torsi yang dirancang :
- Fungsi keanggotaan Stay (S) : kurva segitiga dengan domain [-2.5,0,3.5]
- Fungsi keanggotaan Tambah (T) : kurva segitiga dengan domain [2,5,10]
- Fungsi keanggotaan Tambah Banyak (TB) : kurva trapesium dengan domain [5,10,20,30]
- Fungsi keanggotaan Kurangi (K) : kurva segitiga dengan domain [-10,-5,-2]
- Fungsi keanggotaan kurangi banyak (KB) : kurva trapesium dengan domain [-30,-20,-10,-5]


2 Membuat FIS editor dengan dua fungsi keanggotaan input : error dan d_error, dan satu fungsi keanggotaan output

 Metode yang digunakan untuk AND adalah nilai minimun dan OR adalah nilai maksimun. Fuzzy inteference sistem yang digunakan adalah Mamdani dengan deffuzzyfikasi yang digunakan adalah deffuzzyfikasi Centroid Of Area.

Gambar 3.2.1 Fungsi keanggotaan error

3. Memasukkan nilai Fungsi Keanggotaan.

Nilai fungsi keanggotaan yang dimasukkan sesuai dengan data pada langkah 1. Dimana terdapat 2 input yaitu error dan d_error yang masing-masing teridiri atas 5 fungsi keanggotaan kemudian satu output yang terdiri atas 5 fungsi keanggotaan. 
Gambar 3.2.2 Fungsi keanggotaan error


Gambar 3.2.3 Fungsi keanggotaan d_error


Gambar 3.2.4 Fungsi keanggotaan output

4. Membuat Fuzzy Rule

Pada fungsi keanggotaan error dan derror nilai masukannya berupa jarak dalam centimeter, sedangkan dalam fungsi keanggotaan output nilai keluaran nya adalah nilai torsi yang akan di proses di flight controller. Dua fungsi keanggotaan input dan output tersebut akan di buat rulenya seperti gambar. Paramater yang dimasukkan pada fuzzy rule dibuat sesuai pada gambar 3.2.



Gambar 3.2.5 Tampilan editor Fuzzy Rule


5. Hasil simulasi rules dan surface 


Gambar 3.2.6  Hasil simulasi MATLAB error= 4.56 dan d_error=-0.336



Gambar 3.2.7 Hasil simulasi MATLAB error= -7.05 dan d_error=-0.336


Gambar 3.2.8 Grafik hasil simulasi surface

Hasil dari sistem fuzzy akan dibulatkan terlebih dahulu, setelah itu akan ditambahkan nilai torsi pada setiap motor. Pada saat nilai error ketinggian sebesar 4.56 cm dan d_error nya -0.336 maka output torsi nya adalah 3.19, nilai output tersebut akan ditambahkan pada nilai torsi pada setiap motor.



4. Link Download [Kembali]

Tidak ada komentar:

Posting Komentar