An open API service indexing awesome lists of open source software.

https://github.com/anshuman-02/fuzzy-vacuum-cleaner

Python implementation of a fuzzy logic controller for a robotic vacuum cleaner
https://github.com/anshuman-02/fuzzy-vacuum-cleaner

artificialintelligence automation autonomoussystems controlengineering embeddedsystems fuzzylogic iot matlab mechatronics opensource python robotics smartdevices

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

        

# 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**.