Coder Social home page Coder Social logo

ahmadjordan / neuro_fuzzy Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 40 KB

n this work, a neuro-fuzzy system (NFS)-based autonomous and adaptive controller termed as the hybrid auto-adaptive controller (HAC) is developed. HAC combines a simplified NFS (Simp_NFS) and a simplified neural network (Simp_NN). Unlike conventional NFS, in this study, hyper-plane-shaped clusters (HPSCs) are utilized in Simp_NFS, which has no learning parameters like mean and variance in the antecedent part. Only the consequent parameter needs to be adapted, where the adaptation laws are derived from the Simp_NN. The number of learning parameters in Simp_NN reduced to one by replacing the weights between the hidden and output layers with their mean value.

License: MIT License

MATLAB 100.00%
control-systems fuzzy-logic fuzzy-control neural-networks grnn

neuro_fuzzy's Introduction

Hybrid auto-adaptive controller (HAC)

In this work, a neuro-fuzzy system (NFS)-based autonomous and adaptive controller termed as the hybrid auto-adaptive controller (HAC) is developed. HAC combines a simplified NFS (Simp_NFS) and a simplified neural network (Simp_NN). Unlike conventional NFS, in this study, hyper-plane-shaped clusters (HPSCs) are utilized in Simp_NFS, which has no learning parameters like mean and variance in the antecedent part. Only the consequent parameter needs to be adapted, where the adaptation laws are derived from the Simp_NN. The number of learning parameters in Simp_NN reduced to one by replacing the weights between the hidden and output layers with their mean value. The robustifying control term of Simp_NN is confirming the uniform asymptotic convergence of tracking error to zero. Besides, structural autonomy in Simp_NFS is supporting HAC to cope with uncertainties in the nonlinear dynamical systems. By utilizing both the Simp_NFS and Simp_NN, HAC has reduced its learning parameters significantly. Therefore, it can produce a fast response with minimal computational resources. The theoretical proof of HAC's stability has been shown with the difference Lyapunov function method. The performance of the proposed HAC is evaluated for trajectory tracking problem in Single-Input and Single-Output (SISO) and Multiple-Input and Multiple-Output (MIMO) nonlinear discrete simulated plants. Also, disturbance and uncertainties are added to test the robustness of HAC. The obtained results clearly indicate that HAC provides better tracking accuracy (improvement in the range of 0.82% to 82.55%) with a simple architecture for both SISO and MIMO systems.

HAC_Matlab

Paper title: A Simple Auto-Adaptive Controller for a Class of Nonlinear Uncertain Discrete-Times Systems

Necessary steps:

  1. Clone HAC git to your computer, or just download the files.

  2. Open Matlab. The code was developed using Matlab 2018b, so if you use an older version, you might get some incompability errors. You can use Matlab 2018b or newer.

  3. Execute the following files:

    a) run_SISO.m for example 1

    b) run_SISO_robotic_arm.m for example 2

    c) run_MIMO.m for example 3

  4. To plot the figures as displayed in the paper, go inside the "plotting" folder and execute the following files:

    a) plotting_siso.m (to plot trajectory tracking from example 1 and 2)

    b) plotting_siso_U.m (to plot control signals from example 1 and 2)

    c) plotting_mimo.m (to plot trajectory tracking from example 3)

neuro_fuzzy's People

Contributors

ahmadjordan avatar m-ferdaus avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.