Aplikasi fuzzy

Aplikasi Fuzzy

A Low Cost Microcontroller Implementation of Fuzzy Logic Based Hurdle Avoidance Controller for a Mobile Robot


Referensi: 

Farooq, U., Hasan, K. M., Raza, A., Amar, M., Khan, S., & Javaid, S. (2010). A low cost microcontroller implementation of fuzzy logic based hurdle avoidance controller for a mobile robot. 2010 3rd International Conference on Computer Science and Information Technology.

Jurnal referensi untuk saran

Singh, R., & Bera, T. K. (2019, April). Obstacle avoidance of mobile robot using fuzzy logic and hybrid obstacle avoidance algorithm. In IOP Conference Series: Materials Science and Engineering (Vol. 517, No. 1, p. 012009). IOP Publishing.




1. Abstrak[Kembali]
Makalah ini menjelaskan desain dari logika fuzzy
berbasis logika fuzzy untuk navigasi robot bergerak di lingkungan yang bising dan tidak pasti di lingkungan yang bising dan tidak pasti. Pengontrol yang digunakan adalah sistem dua masukan, dua keluaran. Input ke pengontrol adalah informasi 'jarak ke rintangan' dari dua sensor ultrasonik SRF05 yang dipasang di depan robot. Output dari pengontrol adalah perintah kecepatan untuk dua roda penggerak. Pengontrol pertama kali dirancang di MA TLAB® dan basis aturannya dioptimalkan untuk hasil terbaik. Kemudian diimplementasikan dengan menggunakan mikrokontroler AT89C52 yang murah dan mudah didapat. Robot dengan pengontrol yang diusulkan akhirnya diuji di berbagai lingkungan yang mengandung rintangan dan ternyata berhasil menghindari rintangan yang menghalanginya.

Keywords: Navigasi Mobile robot; penghindar rintangan; fuzzy logic controller; MATLAB; fuzzy logic toolbox; SRF05 ultrasonic sensors; AT89C52 microcontroller

2. Pendahuluan [Kembali]
Robot bergerak otonom adalah sebuah robot yang dapat menavigasikan dirinya sendiri pada lingkungan yang memiliki penghalang maupun rintangan. Cara robot tersebut untuk menghindari rintangan diatur oleh sebuah controller inti yang mengambil keputusan berdasarkan faktor - faktor eksternal seperti jarak terhadap rintangan, kecepatan, dll. Salah satu cara untuk mendesign controller jenis ini adalah dengan menggunakan metode fuzzy logic controller (FLC). FLC sendiri adalah controller yang dideskripsikan berdasarkan sistem yang terdiri dari pernyataan IF - THEN rules yang digunakan sebagai landasan untuk pengambilan keputusan dengan mekanisme inferensi fuzzy logic.

3. Metode [Kembali]
Metode yang digunakan untuk merancang controller fuzzy ini dilakukan dalam 3 tahap berurutan yakni
  • Fuzzifikasi
  • Fuzzy Inference System
  • Deffuzyfication
Pada tahap fuzzyfikasi, variable numerik dikonversikan menjadi variabel linguistik yang masing - masing dari variabel ini memiliki membership function masing - masing. Langkah selanjutnya ialah membangun sistem FIS dengan menentukan IF-THEN rules untuk skenario-skenario yang memungkinkan yang akan diterima oleh controller tersebut. Kemudian pada tahap deffuzifikasi nilai kualitiatif yang dihasilkan berdasarkan proses inferensi dikonversikan kembali menjadi nilai numerik. Untuk detail lengkap dari proses ini akan dibahas pada bagian selanjutnya dari artikel jurnal ini.

Adapun blok diagram dari FLC sistem yang akan dirancang adalah sebagai berikut
Gambar 1. Blok diagram sistem


4. Design Controller Fuzzy [Kembali]
Pada aplikasi ini akan didesain sebuah controller yang menerima 2 input yakni dari dua sensor ultrasonik untuk mengukur jarak antara robot dan penghalang. Dan terdapat 2 output yakni besar duty cycle untuk mengatur sinyal PWM yang digunakan untuk mengendalikan kecepatan dari motor. Adapun implementasi serta penjelasan dari langkah - langkah tersebut adalah sebagai berikut:

1. Fuzzyfication
Input yang diterima oleh kontroller ini adalah jarak dari penghalang ke robot dari dua buah sensor ultrasonik. Sensor ini akan ditandai sebagai sensor kanan (RS), dan sensor kiri (LS). Input ini dideskripsikan dengan 3 buah variabel linguistik yakni dekat, sedang(medium), dan jauh dengan rentang nilainya dari 0 (minium) sampai 100(maksimum).
Output dari kontroller ini adalah kecepatan dari motor kanan (RM) dan motor kiri(LM) yang menggunakan 3 buah variabel linguistik yakni lambat, sedang, dan laju. Untuk rentang nilainya itu sama yakni dari 0 - 100.

Fungsi keanggotan yang akan digunakan utnuk setiap input dan output nya adalah fungsi segitia (Triangular Membership Function) dengan peritmbangan untuk menghemat biaya komputasi. Fungsi membership tersebut didapat dengan menggunakan rumus:


Gambar 2. Fungsi membership triangular

Rentang dari nilai input dan outputnya bisa diperhatikan dari tabel dibawah ini:
input sensor
Gambar 3. Rentang input dan variabel lingusitiknya


output motor
Gambar 4. Rentang output dan variabel linguistiknya


Perhatikan bahwa terdapat beberapa nilai yang saling berpotongan, pada fuzzy logic, ini normal karna sifat dari logika fuzzy sendiri adalah dapat memiliki nilai lebih dari 1.

Pada aplikasi ini menggunakan sensor ultrasonik untuk mendeteksi jarak, grafik respons ultrasonik adalah sebagai berikut:



Implementasi dari design kontroller ini dilakukan dalam software MATLAB, dan berikut akan ditampilkan masing - masing membership function serta rentangnya
Untuk input Sensor kanan (RS):
Gambar 5. Membership function untuk input sensor kanan


Untuk input sensor kiri (LS):

Gambar 6. Membership function untuk input sensor kiri

Untuk output motor kanan (RM):
Gambar 7. Membership function untuk output motor kanan

Untuk output motor kiri (LM):

Gambar 8. Membership function untuk output motor kanan


b. Fuzzy Inference System
Proses selanjutnya dalam mendesign kotnroller tersebut adalah memasukkan input - input fuzzy set tersebut kesebuah sistem inference. Sistem inference ini dibentuk dengan menentukan rules (aturan - aturan) dari sistem yang akan dianalisa. Aturan - aturan ini dibentuk bedasarkan observasi/pengmatan terhadap sistem maupun dari pakar yang spesialisasi pada bidang tersebut. Pada permasalahan ini aturan dibentuk untuk masing - masing outputnya, yakni untuk motor kiri dan motor kanan. 

Aturan output motor kiri (LM):

Tabel 1. Aturan untuk output motor kiri







Aturan output motor kanan (RM):

Tabel 2. Aturan untuk output motor kanan

Implementasi dalam MATLAB:
Gambar 9. Implementasi IF-THEN rules pada matlab


Terdapat total 18 rules yang mendeskripsikan bagaimana sistem ini bekerja, 9 untuk motor kanan dan 9 untuk motor kiri
Lalu setiap rules dihitung dan masing - masing dari rules tersebut akan berkontribusi terhadap output dari fuzzy tersebut, berikut adalah contoh rule viewer pada MATLAB untuk input sensor kanan sebesar 32,9 dan sensor kiri sebesar 50:
Gambar 10. Hasil dari penetuan rules pada MATLAB


5. Hasil dan Pembahasan [Kembali]
Hasil dari design controller fuzzy adalah output dalam bentuk angka, angka ini didapatkan setelah melalui proses deffuzifikasi Proses terakhir adalah mengkonversi kembali dari fuzzy set ke dalam bentuk set klasik (crisp set). Pemetaan untuk setiap hubungan input dan output dari fuzzy logic ini bisa muncul dalam bentuk suatu bidang fungsi yang memetakan seluruh kombinasi input untuk sebiuah output. Pada software MATLAB sendiri hal ini dapat dilakukan dalam menu view, kemudian surface view. Pada MATLAB sendiri surface view hanya dapat memetakan dua input untuk satu output saja, untuk berganti ke output yang lain, pilih pada menu dibawah surface viewer tersebut.

Surface untuk output kcepatan morot Kanan (RM):
Gambar 11. Surface untuk output kecepatan motor kanan

Surface untuk output kcepatan morot Kiri(LM):
Gambar 12. Surface untuk output kecepatan motor kiri

6. Kesimpulan [Kembali]
Pada paper ini dilakukan design fuzzy controller sebagai sistem pengambilan keputusan pada robot otonom yang berfungsi untuk menghindari objek maupun rintangan. Design dari controller ini dites secara real time dengan menggunakan microcontroller AT89C52. Ekspreimen yang didapat setelah testing telah membuktikan validitas dari sistem ini.

SARAN
SARAN yang dilakukan adalah penambahan membership function pada input dan output menjadi 7 buah. Dan untuk meningkatkan kendali dari motor berdasarkan penerimaan input, ditambah 1 buah lagi input yakni sensor depan (FS). Sensor ini akan diletakkan didepan robot sebagai pembantu untuk mengendalikan motor kiri (LM) dan kanan (RM).

Realisasi Saran:

Gambar membership function:
Untuk inputnya membership function yang awalnya 3 dipecah menjadi 7 bagian, yakni sangat dekat, dekat, agak dekat, medium, agak jauh, jauh dan sangat jauh.  Patokan dari membership function ini berasal dari artikel mengenai topik yang sama, pada artikel tersebut, terdapat 4 buah membership function asimetris yang kemudian dipecah sehingga menjadi 7  buah sesuai ketentuannya.

membership function input:
Sensor kiri (LS)


Sensor kanan (RS)



Sensor depan (FS)



membership function output:
Sementara untuk membership function yang awalnya 3 dipecah kembali menjadi 7 buah, yakni sangat lambat, lambat , agak lambat, sedang, agak laju, laju, dan sangat laju
Motor kiri (LM)



Motor kanan (RM)


Gambar rules nya:

Hasil rules:







Gambar surfacenya:
Untuk RM





Untuk LM



7. Daftar Pustaka [Kembali]
  1. Ronald R. Yager and Dimitar P. Filev, Essentials of Fuzzy Modelingand Control, Johan Wiley & Sons, 2002.
  2.  Anis Fatmi, Amur AI Yahmadi, Lazhar Khiji, and Nouri Masmoudi, "A fuzzy logic based naviation of a mobile robot," International Journal of Applied Mathematics and Computer Sciences, vol. I, no. 2, pp. 87-92, August 2006
  3. M. K. Singh, D. R. Parhi, S. Bhowmik, and S. K. Kashyap, "Intelligent controller for mobile robot: fuzzy logic approach," Proc. 12th International Conference of International Association for Computer Method and Advances in Geomechanics, Goa, India, October 2008.
  4. Thamar E. Mora, and Edgar N. Sanchez, "Fuzzy logic based real time navigation controller for a mobile robot," Proc. International Conference on Intelligent Robots and Systems, pp. 612-617, October 1998.
  5. Petru Rusu, Emil M. Petriu, Thorn E. Whalen, Aurel Cornell, and Hans J. W. Spoelder, " Behavior-Based Neuro-Fuzzy Controller for Mobile Robot Navigation," IEEE Transactions On Instrumentation and Measurement, vol. 52, no. 4, August 2003.
  6. Yordan Chervenkov and Ovid Farhi, "Fuzzy control system with implementation on an embedded microcontroller," Proc. 2nd ISCCSP, March 13-15,2006.
  7. Robert T. Casey and Mike Hensler, "Fuzzy steering for autonomous MCU based mobile robots," Proceedings of the 5th WSEAS International Conference on Computational Intelligence, Man­ Machine Systems and Cybernetics, pp. 211-216, 2006.
  8. A. C. Nearchou, "Adaptive navigation of autonomous vehicles using evolutionary algorithms," Artificial Intelligence in Engineering, vol. 13, pp. 159-173,1999.
  9. S. K. Harisha, Ramkanth Kumar P., M. Krishma, and S. C. Sharma, "Fuzzy logic reasoning to control mobile robot on pre-defined strip path," Proc. World Academy of Science, Engineering and Technology, vol. 32, pp. 729-733, August 2008.
  10. MATLAB® Fuzzy Logic Toolbox
  11. Vasmi Mohan Peri, Fuzzy logic controller for an autonomous mobile robot, M. S. Thesis, Cleveland State University, May 2002.




8. Video [Kembali]
Video penjelasan aplikasi fuzzy bisa dilihat dibawah ini:

Video realisasi saran:








Video teori:

Tidak ada komentar:

Posting Komentar

Mata kuliah Elektronika Kelas A  Semester Genap Th.2021   DISUSUN OLEH :   MUHAMMAD RIZIEQ RIZALDI   2010952031     DO...