JoaoESmoreira
Fuzzy and Neuro-Fuzzy Control of Dynamic Systems
The project focuses on the design, implementation, and testing of both fuzzy controllers (Mamdani and Sugeno) and neuro-fuzzy systems for modeling dynamic processes.
The full repository and documentation can be found here: Fuzzy and Neuro-Fuzzy Control of Dynamic Systems Repository.
Tools and Technologies
- MATLAB
- Simulink
- Fuzzy Logic Toolbox
- ANFIS (Adaptive Neuro-Fuzzy Inference System)
Learning Objectives
- To design and test fuzzy controllers (Mamdani and TSK types).
- To model a dynamic process using clustering and optimization techniques.
Part A – Fuzzy Control
The first part consists of implementing two fuzzy controllers, Mamdani and Sugeno, using MATLAB’s Simulink environment and the Fuzzy Logic Toolbox.
Requirements
- MATLAB with the Fuzzy Logic Toolbox.
- Implementation of:
- Mamdani controllers with 9 and 25 rules.
- Sugeno controllers with 9 and 25 rules.
- The system’s dynamics are defined by a given continuous transfer function.
- Analysis of controller performance regarding:
- Reference tracking.
- Load and actuator disturbance compensation.
- Control effort minimization.
Tools and Methods
- fuzzyLogicDesigner or fuzzy command for building the FIS.
- Simulink for simulation and visualization of system behavior.
- Performance evaluation based on error integration and control effort.
Deliverables
- A PDF report describing the controllers and their performance.
- The Simulink diagram (.slx).
- Controller files (.fis).
Part B – Neuro-Fuzzy Systems
The second part focuses on building neuro-fuzzy models of dynamic systems using clustering and adaptive learning techniques.
Methodology
- The dynamic process is modeled based on input-output time series data.
- Training is performed using the ANFIS architecture with clustering and optimization.
- The model aims to approximate the nonlinear function: \[ y(k) = f(y(k-1), y(k-2), y(k-3), u(k-1), u(k-2), u(k-3)) \]
Tools and Techniques
- anfisedit or neuroFuzzyDesigner for the ANFIS GUI.
- Clustering methods:
- Subtractive Clustering
- Fuzzy C-Means (FCM)
- Data partitioning:
- 70% for training
- 30% for testing
- Optimization performed by hybrid or backpropagation methods.
Deliverables
- A brief report describing the neuro-fuzzy models and performance results.
- Plots of membership functions for each input variable.
- Fuzzy model files (.fis), MATLAB training/testing scripts (.m), and Simulink diagrams (if used).
Notes
- Use appropriate sampling times to ensure numerical stability.
- Avoid reproducing assignment text; focus on analysis and interpretation.
- Reports and files must be submitted in a single compressed archive named:
ML2023FuzzyPLxGy.zip- The report file:
ML2023FuzzyPLxGy.pdf
Footer
Copyright © 2025 Joao ES Moreira
The contents of this website are licensed under the Creative Commons Attribution-NoDerivatives 4.0 International License (CC-BY-ND 4.0).
The source code of this website is licensed under the MIT license, and available in GitHub repositor. User-submitted contributions to the site are welcome, as long as the contributor agrees to license their submission with the CC-BY-ND 4.0 license.