Skip to content

Python implementation of a fuzzy logic controller for a robotic vacuum cleaner

Notifications You must be signed in to change notification settings

Anshuman-02/Fuzzy-Vacuum-Cleaner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Fuzzy Logic Controller-Based Vacuum Cleaner 🌟

This repository contains the project report and MATLAB outputs for a Fuzzy Logic Controller (FLC) designed for a robotic vacuum cleaner. The intelligent system adapts its cleaning strategy based on environmental inputs such as dirtiness level and proximity to obstacles, demonstrating the power of fuzzy logic in automation.


📝 Problem Statement

Develop a Fuzzy Logic Controller for a robotic vacuum cleaner using MATLAB. The controller:

  • Dynamically adjusts cleaning speed and patterns based on real-time inputs.
  • Avoids obstacles efficiently.
  • Adapts cleaning strategies based on environmental conditions.
  • Uses fuzzy rules and membership functions for intelligent decision-making.

📂 Repository Structure

  • Fuzzy_PBL.docx: Detailed project report, including:
    • Problem statement.
    • Theoretical explanation of fuzzy logic.
    • MATLAB code and outputs.
    • Flowcharts, algorithms, and conclusions.
  • README.md: Documentation for the project.

📘 Report Highlights

MATLAB Code and Outputs

The MATLAB implementation includes:

  1. Membership Function Editors:

    • Define input and output variables.
    • Design fuzzy sets for dirtiness level, obstacle proximity, and cleaning speed.
  2. Rule Viewer:

    • Displays fuzzy if-then rules in action.
  3. Surface Viewer:

    • Illustrates the relationship between input variables and output decisions.
  4. Fuzzy Logic Designer:

    • Simulates the system and evaluates fuzzy inference rules.

Outputs

  • Visualizations from MATLAB's Fuzzy Logic Toolbox, such as rule viewers, membership functions, and surface plots, are documented in the project report.

Python Code

  • The project also includes a Python implementation of the fuzzy logic system using the scikit-fuzzy library.

🌟 Features

  • Dynamic Control: Uses fuzzy logic for real-time decision-making.
  • Obstacle Avoidance: Intelligent navigation through obstacles.
  • Multi-Platform: MATLAB for simulation, Python for real-world implementation.
  • User-Friendly Interface: Simulates fuzzy inference and provides interpretable outputs.

🔧 How to Run

MATLAB Implementation

  1. Open MATLAB.
  2. Use the code provided in Fuzzy_PBL.docx to set up and run the fuzzy logic system.
  3. Visualize the outputs using:
    • Membership Function Editors.
    • Rule Viewers.
    • Surface Viewers.