Obstacle Avoidance Robot dengan Kontroler Fuzzy
1. Tujuan [Kembali]
Pada Kontes Robot Pemadam Api Indonesia, Robot harus menelusuri sekat-sekat yang dibuat menyerupai rumah yang memiliki ruangan-ruangan. Untuk itu Robot memerlukan sensor untuk mendeteksi keberadaan sekat. Sementara, agar Robot dapat melakukan navigasi dengan baik maka sensor harus ditempatkan di beberapa tempat. Data dari sensor tersebut harus diproses sehingga dapat menghasilkan pergerakan Robot yang baik. Untuk itu Kontroler Fuzzy digunakan untuk mendapatkan pergerakan Robot yang responsive dengan input jarak dari sensor-sensor. Adapun tujuan percobaan kali ini adalah:
- Memahami perancangan kontroler Fuzzy
- Merancang kontroler Fuzzy untuk mobilisasi Robot Mobile
a. Motor DC
d. Kabel Jumper
e. Arduino Nano
Arduino Nano adalah development board Mikrokontroler ATmega328 yang berukuran kecil. Board ini akan dihubungkan dengan Sensor Jarak dan juga kontroler dari Robot Hexapod.
e. Arduino Nano
Arduino Nano adalah development board Mikrokontroler ATmega328 yang berukuran kecil. Board ini akan dihubungkan dengan Sensor Jarak dan juga kontroler dari Robot Hexapod.
3. Dasar Teori [Kembali]
a. Gambaran Umum
Gambar di atas adalah Konfigurasi sensor jarak yang dipakai pada percobaan kali ini. Setiap sensor mewakili beberapa sektor. Sensor 1 berfungsi mengukur jarak dengan objek yang berada di kiri. Sensor 2 berfungsi mengukur jarak dengan objek yang berada di depan. Dan Sensor 3 berfungsi mengukur jarak dengan objek yang berada di kanan.
a. Parameter-parameter
- Input
Pada percobaan kali ini, input yang digunakan adalah jarak yang berasal dari sensor jarak.
Beberapa variabel yang digunakan sebagai berikut.
Pada percobaan kali ini, input yang digunakan adalah jarak yang berasal dari sensor jarak.
Beberapa variabel yang digunakan sebagai berikut.
- Dekat : 0 cm sampai 40 cm
- Sedang : 20 cm sampai 60 cm
- Jauh : 40 cm sampai 80 cm
- Output
Output akan digunakan untuk mengontrol motor driver melalui PWM (pada Arduino Nano 10 bit - 0 sampai 255). Berikut ini nilai yang akan digunakan untuk percobaan kali ini.
- Lambat : 150 - 200
- Sedang : 175 - 225
- Cepat : 200 - 250
b. Perancangan Fuzzy
Langkah 1:
Buka Aplikasi Matlab
Langkah 2:
Buka toolbox fuzzy
> Ketikkan "fuzzy" pada Commad Window Matlab untuk membuka tool Fuzzy Logic Designer.
Langkah 3:
Tambahkan 3 input pada FIS
> Klik Edit - Add Variable - Input
Berikut ini hasilnya
Langkah 4:
Tambahkan 2 Output pada FIS
> Klik Edit - Add Variable - Output
Berikut ini hasilnya
Langkah 5:
Masukkan parameter Input
Ubah nama input menjadi:
Parameter untuk input SKiri, SDepan, dan SKana dibuat sama. Berikut ini cara mengatur parameter pada input SKiri
> Klik Blok SKiri
Berikut tampilan untuk pengaturan parameter input
Parameter yang diatur adalah sebagai berikut.
Berikut Parameter-parameter yang akan digunakan:
Range : [0 80]
Untuk mf1:
- Name : Dekat
- Params : [0 20 40]
Untuk mf2:
- Name : Sedang
- Params : [20 40 60]
Untuk mf3:
- Name : Jauh
- Params : [40 60 80]
Hasilnya adalah sebagai berikut.
Langkah 6:
Masukkan parameter Output
Ubah nama output menjadi:
Parameter untuk output MKanan dan MKiri dibuat sama. Berikut ini cara mengatur parameter pada output MKanan
Berikut tampilan untuk pengaturan parameter input
Parameter yang diatur adalah sebagai berikut.
Berikut Parameter-parameter yang akan digunakan:
Range : [150 250]
Untuk mf1:
- Name : Lambat
- Params : [150 175 200]
Untuk mf2:
- Name : Sedang
- Params : [175 200 225]
Untuk mf3:
- Name : Cepat
- Params : [200 225 250]
Hasilnya adalah sebagai berikut.
Langkah 7:
Masukkan Aturan-aturan
> Klik blok Rule maka akan muncul Rule Editor seperti berikut
Berikut ini hasil mapping dari Kontroler Fuzzy yang telah dibuat
0 komentar:
Posting Komentar