Implementation of Fuzzy Logic in FPGA for Maze Tracking of a Mobile Robot Based on Ultrasonic Distance Measurement - Sugiarto, Indar; Un Tung, Lauw Lim; Rahman, Mohammad Ismail (Jurnal Teknik Elektro, 2008)
This paper describes an application of fuzzy logic to solve the problem of an autonomous mobile robot in tracking the path within a maze. The robot equipped with ultrasonic transceivers to measure the distance between robot and the wall. The information of distance then will be processed using fuzzy-based algorithm and implemented in two chips FPGA. The FPGA has responsibility to formulize the rule of the fuzzy and generate the PWM signals for robot’s motors as the result of fuzzy inference. Implementing all necessary fuzzy logic algorithms will require many FPGA resources. Therefore, we use two FPGAs: XC4010E and XC4005XL. The first one for the fuzzification and rule base evaluation, and it consumes 98% of its resources (CLBs). The second one for defuzzification and PWM output generation, which utilizes 78% of all its CLBs. By implementing fuzzy logic using FPGA, the robot achieves relatively safe tracking the path in real-time sense. Abstract in Bahasa Indonesia: Dalam paper ini dijelaskan aplikasi logika fuzzy pada robot bergerak untuk mencari jalan keluar dalam sebuah labirin. Robot dilengkapi dengan pemancar dan penerima ultrasonic sebagai pengukur jarak antara robot dengan dinding labirin. Informasi berupa jarak tersebut kemudian diproses menggunakan algoritma fuzzy yang diimplementasikan dalam dua buah FPGA. FPGA bertanggungjawab dalam memformulasikan aturan dari logika fuzzy yang digunakan dan membangkitkan sinyal-sinyal PWM untuk mengendalikan motor robot sebagai hasil dari proses inferensi. Untuk mengimplementasikan semua fungsi-fungsi logika fuzzy, dibutuhkan banyak sekali sumber daya FPGA. Karenanya kami menggunakan dua buah FPGA: XC4010E dan XC4005XL. Komponen FPGA yang pertama, yakni XC4010E, digunakan secara khusus untuk proses fuzzification dan menggunakan 98% dari sumber daya FPGA yang berupa CLB. Komponen FPGA yang kedua, yakni XC4005XL, digunakan untuk proses defuzzification serta pembangkitan sinyal PWM, dan menggunakan 78% dari total CLB yang tersedia. Dengan mengimplementasikan logika fuzzy menggunakan FPGA, robot dapat menelusuri jalur labirin secara real-time dengan lebih aman. Kata kunci: Fuzzy Logic, Robot Bergerak Otomatis, FPGA, Pengukur Jarak Ultrasonic