Jumat, 14 Juni 2013

Kontrol Fuzzy Logic Berbasis Sensor Ultrasonik Pada Navigasi Robot Pemadam Api Beroda

A. Pendahuluan

  Perkembangan ilmu pengetahuan memacu perkembangan teknologi yang dapat membantu aktifitas manusia. Pada umumnya manusia tertarik dengan sesuatu yang dapat meringankan beban dari pekerjaannya. Salah satu caranya dengan adanya pemakaian robot. Robot memiliki beberapa kelebihan dalam pekerjaan dibandingkan manusia, salah satunya adalah dalam aspek tenaga, kualitas kerja yang statis, dan masih banyak lagi. 
   Sementara itu, perkembangan dunia robotik di Indonesia mulai berkembang dengan pesat, dimana dapat dilihat dari banyaknya kontes-kontes robot yang diadakan saat ini. Salah satu kontesnya adalah KRCI(Kontes Robot Cerdas Indonesia), yang mana merupakan ajang kontes robot bertaraf nasional. Pada lomba ini robot dihadapkan pada lintasan tertentu. 
  Robot Cerdas Pemadam Api divisi beroda adalah robot yang memiliki kemampuan menjelajahi suatu arena untuk menemukan titik api kemudian memadamkannya dan kembali ke titik awal dengan waktu secepat mungkin. Agar dapat melakukan misi tersebut dalam waktu yang cepat, sistem navigasi dalam perancangan robot memegang peranan penting, seperti sistem navigasi right-wall following, left-wall following, dead recogning, dan lain-lain. 
   Pada sistem kerja robot juga dibutuhkan suatu input berupa sensor yang berguna sebagai media perindraan robot. Sensor yang biasa digunakan pada robot adalah sensor ultrasonik sebagai sensor untuk mengukur jarak. Sensor ini dapat memberikan data sejauh apa robot ini dapat bergerak, sesuai dengan adanya halangan di depannya. Selain itu dalam robot pemadam api juga ditambahkan sensor untuk mendeteksi  api dan sensor untuk mendeteksi suhu api, yaitu sensor UVtron dan Thermal Array.   
   Penggunaan sensor ultaksonik tidak terbatas hanya untuk mendapatkan jarak, tetapi sensor ini juga memungkinkan robot dapat mengetahui posisi robot tersebut terhadap suatu lintasan (apakah robot sudah dalam posisi yang tepat atau tidak). Posisi robot yang miring dapat disempurnakan dengan dilakukannya kontrol kecepatan motor terhadap perbandingan pembacaan ultrasonik dengan metode fuzzy logic. 
    Dengan adanya kesamaran posisi robot yang didapat dari sensor ultrasonik (dekat, sedang, atau jauh,dll), maka metode fuzzy logic dinilai tepat. Diharapkan dengan menggunakan metode ini bisa mendapatkan hasil yang terbaik dalam memposisikan robot dalam lintasannya secara tepat dikarenakan banyak kemungkinan yang terjadi pada posisi robot saat melalui lintasan. Dengan latar belakang itu semua, maka kami membuat tugas besar kami dengan judul “Desain dan Implementasi Robot Pemadam Api Beroda dengan Kontrol Fuzzy Logic Berbasis Sensor Ultrasonik”.

1) Batasan Masalah
   Kami membatasi masalah-masalah dalam tugas besar sebagai 
   berikut :
a. Menggunakan 2 sensor ultrasonik sebagai media pembacaan 
   jarak dan penentuan posisi robot (1 didepan, 1 di kanan 
   robot).
b. Robot berjalan dengan sistem navigasi right-wall following
c. Robot akan mencari titik api, memadamkannya, dan kembali 
   posisi awal start
d. Bahasa pemrograman yang digunakan adalah bahasa pemrograman C
e. Menggunakan metode fuzzy logic untuk menyempurnakan jalannya 
   robot serta adanya penambahan program untuk mendapatkan hasil 
   yang terbaik dalam navigasi

2) Proses Fuzzyfikasi

     Setelah kita mendapatkan nilai jarak dari tiap sensor, langkah selanjutnya adalah fuzzyfikasi yakni proses pengubahan nilai data jarak setiap sensor menjadi bentuk himpunan fuzzy menurut fungsi keanggotaannya.Proses awal di dalam proses fuzzyfikasi adalah membuat fungsi keanggotaan dari setiap masukan terlebih dahulu, serta menentukan banyaknya variabel linguistic di dalam fungsi keanggotaan yang akan kita buat nantinya. Dari fungsi keanggotaan yang kita buat akan dapat diketahui nilai derajat keanggotaan masing-masing variabel dalam himpunan fuzzy yang telah dibuat.Dalam tugas besar kami, terdapat dua masukan dari sensor ultrasonik, yaitu sensor ultrasonik depan dan sensor ultrasonik kanan. Masukan dari sensor ultrasonik depan memiliki dua variabel linguistic, yaitu DEKAT dan JAUH dengan menggunakan fungsi keanggotaan trapesium. Berikut tampilan fungsi keanggotaan dari sensor ultrasonik depan di dalam sebuah gambar :

   Dari fungsi keanggotaan di atas, dapat diketahui derajat keanggotaan masing-masing variabel dala himpunan fuzzy DEKAT dan JAUH. Untuk menghitung derajat keanggotaan dapat menggunakan persamaan sebagai berikut : 

   Sedangkan untuk sensor ultrasonik kanan memiliki tiga variabel linguistic, yaitu DEKAT, SEDANG, dan JAUH dengan fungsi keanggotaan gabungan dari fungsi segitiga dan trapesium seperti yang tampak pada gambar :
3) Rules Evaluation
  Pada rules evaluation, terjadi pengolahan data input fuzzyfikasi dengan hasil keluaran yang dikehendaki dengan aturan-aturan tertentu. Dari aturan-aturan yang dibentuk inilah yang nantinya akan menentukan respon dari sistem terhadap berbagai kondisi set point dan gangguan yang terjadi pada sistem yang akan dibuat. Dalam tugas besar kami set point yang kami ambil adalah 8 cm dari dinding, dimana posisi tersebut berada pada posisi sedang pada sensor kanan. Berikut adalah tabel rules evaluation :

Dari tabel di atas, maka kita memiliki 6 aturan sebagai berikut :
IF sensor depan=DEKAT AND sensor kanan=DEKAT THEN motor kiri=PELAN AND motor kanan=CEPAT
•    IF sensor depan=DEKAT AND sensor kanan=CUKUP THEN motor kiri=PELAN AND motor kanan=CEPAT
•    IF sensor depan=DEKAT AND sensor kanan=JAUH THEN motor kiri=CEPAT AND motor kanan=PELAN
•    IF sensor depan=JAUH AND sensor kanan=DEKAT THEN motor kiri=PELAN AND motor kanan=CEPAT
•    IF sensor depan=JAUH AND sensor kanan=CUKUP THEN motor kiri=SEDANG AND motor kanan=CEPAT
•    IF sensor depan=JAUH AND sensor kanan=JAUH THEN motor kiri=CEPAT AND motor kanan=SEDANG

  Setelah mendapatkan aturan seperti tabel di atas, maka selanjutnya yang dilakukan adalah mencari nilai derajat keanggotaan untuk nilai setiap aturan yang didapat. Nilai keanggotaan untuk keluaran didapatkan dengan menggunakan fungsi AND.Misalkan didapatkan aturan sebagai berikut :

IF Sensor Depan = DEKAT(0.5) AND Sensor Kanan = DEKAT(0.5) THEN Motor Kiri = PELAN AND Motor Kanan = CEPAT
• IF Sensor Depan = DEKAT(0.75) AND Sensor Kanan = CUKUP(0.5) THEN Motor Kiri = PELAN AND Motor Kanan = CEPAT
• IF Sensor Depan = JAUH(0.75) AND Sensor Kanan = CUKUP(0.25) THEN Motor Kiri = SEDANG AND Motor Kanan = SEDANG

Maka keluaran akan mendapatkan nilai keanggotaan sebagai berikut :
o IF Sensor Depan = DEKAT(0.5) AND Sensor Kanan = DEKAT(0.5) THEN Motor Kiri = PELAN(0.5) AND Motor Kanan = CEPAT(0.5)
o IF Sensor Depan = DEKAT(0.75) AND Sensor Kanan = CUKUP(0.5) THEN Motor Kiri = PELAN(0.5) AND Motor Kanan = CEPAT(0.5)
o IF Sensor Depan = JAUH(0.75) AND Sensor Kanan = CUKUP(0.25) THEN Motor Kiri = SEDANG(0.25) AND Motor Kanan = SEDANG(0.25)

   Setelah nilai linguistic keluaran telah mendapatkan nilai derajat keanggotaan, maka pada nilai linguistic keluaran yang sejenis dicari nilai derajat keanggotaan yang maksimum untuk digunakan dalam pengolahan data selanjutnya, yakni defuzzifikasi.
Misalnya dari data di atas didapatkan nilai-nilai maksimum setiap linguistic keluaran sebagai berikut :
 
    Motor Kiri
PELAN(0.5), PELAN(0.5) → maka nilai derajat keanggotaan PELAN = 0.5
SEDANG(0.25) → maka nilai derajat keanggotaan SEDANG = 0.25

    Motor Kanan
SEDANG(0.25) → maka nilai derajat keanggotaan SEDANG = 0.25
CEPAT(0.5), CEPAT(0.5) → → maka nilai derajat keanggotaan CEPAT

Lalu, setelah mendapatkan derajat keanggotaan pada nilai keluarannya, nilai keluaran juga memiliki fungsi keanggotaan model singletone, yang merupakan model interferensi sederhana. Dalam tugas besar ini kami menggunakan Model Sugeno

4) Defuzzyfikasi
Proses ini merupakan penggabungan dari beberapa fuzzy set yang telah didapatkan. Misal kita dapat menggunakan data di atas :

>>Motor Kiri
PELAN(0.5), PELAN(0.5) → maka nilai derajat keanggotaan PELAN = 0.5
SEDANG(0.25) → maka nilai derajat keanggotaan SEDANG = 0.25

Fungsi Keanggotaan Motor Kiri

>>Motor Kanan
SEDANG(0.25) → maka nilai derajat keanggotaan SEDANG = 0.25
CEPAT(0.5), CEPAT(0.5) →  maka nilai derajat keanggotaan CEPAT = 0.5


Fungsi Keanggotaan Motor Kanan


 
   Proses selanjutnya adalah mengolah data tersebut menggunakan metode Weight Average untuk proses defuzzifikasinya. Metode ini mengambil rata-rata dengan menggunakan nilai derajat keanggotaan dari proses komposisi fuzzy set menggunakan Model Sugeno sebelumnya.Dari data sebelumnya, didapatkan data sebagai berikut:

Motor Kiri = PELAN(0.5), SEDANG(0.25)
Motor Kanan = SEDANG(0.25), CEPAT(0.5)
Data diatas dapat diolah sebagai berikut :

>>Motor Kiri
PWMKIRI=  ((0.5)70+(0.25)150)/(0.5+0.25)=96.6
 
Jadi, berdasarkan persamaan di atas nilai kecepatan Motor Kiri yang didapat adalah 96.6 PWM
 
>>Motor Kanan
PWMKANAN=  ((0.25)150+(0.5)230)/(0.25+0.5)=203.3
 
Jadi, berdasarkan persamaan di atas nilai kecepatan Motor Kanan yang didapat adalah 203.3 PWM. Inilah hasil tugas besar fuzzy logic yang saya buat 


Silahkan di share dengan menuliskan sumbernya..
Created by: Rifqi Arridho Abid