Skip to main content

Fuzzy Logic : Control System and Adaptive Fuzzy Controller

Fuzzy logic is applied with great success in various control application. Almost all the consumer products have fuzzy control. Some of the examples include controlling your room temperature with the help of air-conditioner, anti-braking system used in vehicles, control on traffic lights, washing machines, large economic systems, etc.

Why Use Fuzzy Logic in Control Systems

A control system is an arrangement of physical components designed to alter another physical system so that this system exhibits certain desired characteristics. Following are some reasons of using Fuzzy Logic in Control Systems −

  • While applying traditional control, one needs to know about the model and the objective function formulated in precise terms. This makes it very difficult to apply in many cases.

  • By applying fuzzy logic for control we can utilize the human expertise and experience for designing a controller.

  • The fuzzy control rules, basically the IF-THEN rules, can be best utilized in designing a controller.

Assumptions in Fuzzy Logic Control (FLC) Design

While designing fuzzy control system, the following six basic assumptions should be made −

  • The plant is observable and controllable − It must be assumed that the input, output as well as state variables are available for observation and controlling purpose.

  • Existence of a knowledge body − It must be assumed that there exist a knowledge body having linguistic rules and a set of input-output data set from which rules can be extracted.

  • Existence of solution − It must be assumed that there exists a solution.

  • ‘Good enough’ solution is enough − The control engineering must look for ‘good enough’ solution rather than an optimum one.

  • Range of precision − Fuzzy logic controller must be designed within an acceptable range of precision.

  • Issues regarding stability and optimality − The issues of stability and optimality must be open in designing Fuzzy logic controller rather than addressed explicitly.

Architecture of Fuzzy Logic Control

The following diagram shows the architecture of Fuzzy Logic Control (FLC).

Fuzzy Logic Control Architecture

Major Components of FLC

Followings are the major components of the FLC as shown in the above figure −

  • Fuzzifier − The role of fuzzifier is to convert the crisp input values into fuzzy values.

  • Fuzzy Knowledge Base − It stores the knowledge about all the input-output fuzzy relationships. It also has the membership function which defines the input variables to the fuzzy rule base and the output variables to the plant under control.

  • Fuzzy Rule Base − It stores the knowledge about the operation of the process of domain.

  • Inference Engine − It acts as a kernel of any FLC. Basically it simulates human decisions by performing approximate reasoning.

  • Defuzzifier − The role of defuzzifier is to convert the fuzzy values into crisp values getting from fuzzy inference engine.

Steps in Designing FLC

Following are the steps involved in designing FLC −

  • Identification of variables − Here, the input, output and state variables must be identified of the plant which is under consideration.

  • Fuzzy subset configuration − The universe of information is divided into number of fuzzy subsets and each subset is assigned a linguistic label. Always make sure that these fuzzy subsets include all the elements of universe.

  • Obtaining membership function − Now obtain the membership function for each fuzzy subset that we get in the above step.

  • Fuzzy rule base configuration − Now formulate the fuzzy rule base by assigning relationship between fuzzy input and output.

  • Fuzzification − The fuzzification process is initiated in this step.

  • Combining fuzzy outputs − By applying fuzzy approximate reasoning, locate the fuzzy output and merge them.

  • Defuzzification − Finally, initiate defuzzification process to form a crisp output.

Advantages of Fuzzy Logic Control

Let us now discuss the advantages of Fuzzy Logic Control.

  • Cheaper − Developing a FLC is comparatively cheaper than developing model based or other controller in terms of performance.

  • Robust − FLCs are more robust than PID controllers because of their capability to cover a huge range of operating conditions.

  • Customizable − FLCs are customizable.

  • Emulate human deductive thinking − Basically FLC is designed to emulate human deductive thinking, the process people use to infer conclusion from what they know.

  • Reliability − FLC is more reliable than conventional control system.

  • Efficiency − Fuzzy logic provides more efficiency when applied in control system.

Disadvantages of Fuzzy Logic Control

We will now discuss what are the disadvantages of Fuzzy Logic Control.

  • Requires lots of data − FLC needs lots of data to be applied.

  • Useful in case of moderate historical data − FLC is not useful for programs much smaller or larger than historical data.

  • Needs high human expertise − This is one drawback as the accuracy of the system depends on the knowledge and expertise of human beings.

  • Needs regular updating of rules − The rules must be updated with time.


Adaptive Fuzzy Controller



Adaptive Fuzzy Controller and how it works. Adaptive Fuzzy Controller is designed with some adjustable parameters along with an embedded mechanism for adjusting them. Adaptive controller has been used for improving the performance of controller.

Basic Steps for Implementing Adaptive Algorithm

Let us now discuss the basic steps for implementing adaptive algorithm.

  • Collection of observable data − The observable data is collected to calculate the performance of controller.

  • Adjustment of controller parameters − Now with the help of controller performance, calculation of adjustment of controller parameters would be done.

  • Improvement in performance of controller − In this step, the controller parameters are adjusted to improve the performance of controller.

Operational Concepts

Design of a controller is based on an assumed mathematical model that resembles a real system. The error between actual system and its mathematical representation is calculated and if it is relatively insignificant than the model is assumed to work effectively.

A threshold constant that sets a boundary for the effectiveness of a controller, also exists. The control input is fed into both the real system and mathematical model. Here, assume x(t) is the output of the real system and y(t) is the output of the mathematical model. Then the error ϵ(t) can be calculated as follows −

ϵ(t)=x(t)y(t)

Here, x desired is the output we want from the system and μ(t) is the output coming from controller and going to both real as well as mathematical model.

The following diagram shows how the error function is tracked between output of a real system and Mathematical model −

Mathematical Model

Parameterization of System

A fuzzy controller the design of which is based on the fuzzy mathematical model will have the following form of fuzzy rules −

Rule 1 − IF x1(tn)X11AND...ANDxi(tn)X1i

THEN μ1(tn)=K11x1(tn)+K12x2(tn)+...+K1ixi(tn)

Rule 2 − IF x1(tn)X21AND...ANDxi(tn)X2i

THEN μ2(tn)=K21x1(tn)+K22x2(tn)+...+K2ixi(tn)

.

.

.

Rule j − IF x1(tn)Xk1AND...ANDxi(tn)Xki

THEN μj(tn)=Kj1x1(tn)+Kj2x2(tn)+...+Kjixi(tn)

The above set of parameters characterizes the controller.

Mechanism Adjustment

The controller parameters are adjusted to improve the performance of controller. The process of calculating the adjustment to the parameters is the adjusting mechanism.

Mathematically, let θ(n) be a set of parameters to be adjusted at time t=tn. The adjustment can be the recalculation of the parameters,

θ(n)=Θ(D0,D1,...,Dn)

Here Dn is the data collected at time t=tn.

Now this formulation is reformulated by the update of the parameter set based on its previous value as,

θ(n)=ϕ(θn1,Dn)

Parameters for selecting an Adaptive Fuzzy Controller

The following parameters need to be considered for selecting an adaptive fuzzy controller −

  • Can the system be approximated entirely by a fuzzy model?

  • If a system can be approximated entirely by a fuzzy model, are the parameters of this fuzzy model readily available or must they be determined online?

  • If a system cannot be approximated entirely by a fuzzy model, can it be approximated piecewise by a set of fuzzy model?

  • If a system can be approximated by a set of fuzzy models, are these models having the same format with different parameters or are they having different formats?

  • If a system can be approximated by a set of fuzzy models having the same format, each with a different set of parameters, are these parameter sets readily available or must they be determined online?



Anurag Rana

Comments

Popular posts from this blog

JAVA Scrollbar, MenuItem and Menu, PopupMenu

ava AWT Scrollbar The  object  of Scrollbar class is used to add horizontal and vertical scrollbar. Scrollbar is a  GUI  component allows us to see invisible number of rows and columns. AWT Scrollbar class declaration public   class  Scrollbar  extends  Component  implements  Adjustable, Accessible   Java AWT Scrollbar Example import  java.awt.*;   class  ScrollbarExample{   ScrollbarExample(){               Frame f=  new  Frame( "Scrollbar Example" );               Scrollbar s= new  Scrollbar();               s.setBounds( 100 , 100 ,  50 , 100 );               f.add(s);               f.setSize( 400 , 400 );               f.setLayout( null );               f.setVisible( true );   }   public   static   void  main(String args[]){           new  ScrollbarExample();   }   }   Output: Java AWT Scrollbar Example with AdjustmentListener import  java.awt.*;   import  java.awt.event.*;   class  ScrollbarExample{        ScrollbarExample(){               Frame f=  new  Frame( "Scro

Difference between net platform and dot net framework...

Difference between net platform and dot net framework... .net platform supports programming languages that are .net compatible. It is the platform using which we can build and develop the applications. .net framework is the engine inside the .net platform which actually compiles and produces the executable code. .net framework contains CLR(Common Language Runtime) and FCL(Framework Class Library) using which it produces the platform independent codes. What is the .NET Framework? The Microsoft .NET Framework is a platform for building, deploying, and running Web Services and applications. It provides a highly productive, standards-based, multi-language environment for integrating existing investments with next-generation applications and services as well as the agility to solve the challenges of deployment and operation of Internet-scale applications. The .NET Framework consists of three main parts: the common language runtime, a hierarchical set of unified class librari

C++ this Pointer, static, struct and Enumeration

C++ this Pointer In C++ programming,  this  is a keyword that refers to the current instance of the class. There can be 3 main usage of this keyword in C++. It can be used  to pass current object as a parameter to another method. It can be used  to refer current class instance variable. It can be used  to declare indexers. C++ this Pointer Example Let's see the example of this keyword in C++ that refers to the fields of current class. #include <iostream>    using   namespace  std;   class  Employee {       public :           int  id;  //data member (also instance variable)               string name;  //data member(also instance variable)            float  salary;          Employee( int  id, string name,  float  salary)             {                   this ->id = id;                  this ->name = name;                  this ->salary = salary;            }             void  display()             {                 cout<<id<< "  " <<name<&