Fuzzy control

From Scholarpedia
Robert Babuska and Ebrahim Mamdani (2008), Scholarpedia, 3(2):2103. doi:10.4249/scholarpedia.2103 revision #91287 [link to/cite this article]
Jump to: navigation, search
Post-publication activity

Curator: Ebrahim Mamdani

Automatic control belongs to the application areas of fuzzy set theory that have attracted most attention. In 1974, the first successful application of fuzzy logic to the control of a laboratory-scale process was reported (Mamdani and Assilian 1975). Control of cement kilns was an early industrial application (Holmblad and Ostergaard 1982). Since the first consumer product using fuzzy logic was marketed in 1987, the use of fuzzy control has increased substantially. A number of CAD environments for fuzzy control design have emerged together with VLSI hardware for fast execution. Fuzzy control is being applied to various systems in the process industry (Santhanam and Langari 1994, Tani et al. 1994), consumer electronics (Hirota 1993, Bonissone 1994), automatic train operation (Yasunobu and Miyamoto 1985), traffic systems in general (Hellendoorn 1993), and in many other fields (Hirota 1993, Terano et al. 1994).

Figure 1: Partitioning of the temperature domain into three fuzzy sets.

A fuzzy logic controller describes a control protocol by means of if-then rules, such as "if temperature is low open heating valve slightly". The ambiguity (uncertainty) in the definition of the linguistic terms (e.g., low temperature) is represented by using fuzzy sets, which are sets with overlapping boundaries, see Fig. Figure 1. In the fuzzy set framework, a particular domain element can simultaneously belong to several sets (with different degrees of membership, \(\mu\)). For instance, \(t = 20^{\circ}\)C belongs to the set of High temperatures with membership 0.4 and to the set of Medium temperatures with membership 0.2. This gradual transition from membership to non-membership facilitates a smooth outcome of the reasoning (deduction) with fuzzy if-then rules.


Historical perspective

Fuzzy Control emerged from a doctorate thesis in Artificial Intelligence. The work was carried out around 1972 to 1974. The objective of the research was to see if computers can learn to perform a task by observing a human carry it out. The task chosen was the control of a model steam engine. The controls available were "heat" which produced the steam pressure in a boiler; and, "throttle" which injected the steam into the single cylinder engine affecting its speed. The control objective was to maintain constant pressure in the boiler and speed of the engine. Several key issues about this research project have to be highlighted to gain a good understanding of how Fuzzy Control emerged from this research project.

The computational environment. A small hybrid computer was available built around a PDP-8S mini-computer with 8K words (12 bit words) of magnetic core RAM. Paper tape was the main form of back up store. The mouse had not been invented yet and the communication was via a teletype. The steam engine inputs and outputs were set and read via the hybrid computer. An individual run of the experiment would involve the teletype printing out the present speed and pressure and waiting for the operator to respond by typing in the values for heat and throttle settings. On pressing the return key, the computer carried out these settings and responded by typing the new readings of the speed and pressure. This went on until the boiler ran out of water whereupon a new run could be started.

The theoretical framework of the research. The study was agnostic with respect to any particular mathematical formalism to be used. Given the limited resources of our computational environment, we felt it was easiest to begin by using a Bayesian learning approach. The idea was to update the probabilities of an action given the state of the steam engine. This was obviously a naïve approach and not surprisingly the learnt probabilities failed to converge. It was naïve because it failed to take into account the fact that we were controlling a dynamic system, and the human operator did not merely take the current state into account in determine his action but was aware of the system's previous state trajectory. The algorithm had to be revised in such a way that it needed to take the previous states into account but it was feared that this would make it more complex and could stress the available RAM.

Enter Fuzzy Set Theory. Keeping the agnostic position of the research an alternative approach had to be investigated. Fuzzy Sets theory had been around since 1965, but in 1973 Zadeh wrote a paper in IEEE SMC journal (Zadeh 1973) that instead of explaining the theory in the traditional set theoretic terms, presented it in a way that showed how algorithms based on fuzzy sets could be constructed. A fuzzy control algorithm would "tell" the machine how to control the steam engine instead of learning by observing the actions of the human operator. We constructed the first Fuzzy Control algorithm within 4 days and demonstrated it operating our model steam engine with ease. The algorithm had a number of Fuzzy Rules such as: "If the pressure error is positive big and the change in pressure error is not negative medium; Then make the heat change negative big. In this rule the measurement and control variables are given in bold letters and their fuzzy values are shown in italics.

Motivation for fuzzy control

Conventional control theory uses an explicit mathematical (analytical) model of a process to be controlled and specifications of the desired closed-loop behavior to design a controller. This approach may fall short if the model of the process is difficult to obtain, (partly) unknown, or highly nonlinear. The design of controllers for seemingly easy everyday tasks such as driving a car or grasping a fragile object continues to be a challenge for robotics, while these tasks are easily performed by human beings. Yet, humans do neither use mathematical models nor exact trajectories for controlling such processes.

Many processes controlled by human operators in industry cannot be automated using conventional control techniques, since the performance of these controllers is often inferior to that of the operators. One of the reasons is that linear controllers, which are commonly used in conventional control, are not appropriate for nonlinear plants. Another reason is that humans aggregate various kinds of information and combine control strategies, that cannot be integrated into a single analytic control law. The underlying principle of knowledge-based (expert) control is to capture and implement experience and knowledge available from experts (e.g., process operators). A specific type of knowledge-based control is the fuzzy rule-based control, where the control actions corresponding to particular conditions of the system are described in terms of fuzzy if-then rules. Fuzzy sets are used to define the meaning of qualitative values of the controller inputs and outputs such small error, large control action. Fuzzy logic can capture the continuous nature of human decision processes and as such is a definite improvement over methods based on binary logic (which are widely used in industrial controllers).

The early work in fuzzy control was motivated by a desire to

  • mimic the control actions of an experienced human operator (knowledge-based part)
  • obtain smooth interpolation between discrete outputs that would normally be obtained (fuzzy logic part).

Since then the application range of fuzzy control has widened substantially. However, the two main motivations still persevere. The linguistic nature of fuzzy control makes it possible to express process knowledge concerning how the process should be controlled or how the process behaves. The interpolation aspect of fuzzy control has led to the viewpoint where fuzzy systems are seen as smooth function approximation schemes.

In most cases a fuzzy controller is used for direct feedback control. However, it can also be used on the supervisory level as, e.g., a self-tuning device in a conventional PID (Proportional-Integral-Differential) controller. Also, fuzzy control is no longer only used to directly express a priori process knowledge. For example, a fuzzy controller can be derived from a fuzzy model obtained through system identification. Most often used are

  • Mamdani (linguistic) controller with either fuzzy or singleton consequents. This type of controller is usually used as a direct closed-loop controller.
  • Takagi-Sugeno (TS) controller, typically used as a supervisory controller.

Mamdani controller

A Mamdani controller is usually used as a feedback controller. Since the rule base represents a static mapping between the antecedent and the consequent variables, external dynamic filters must be used to obtain the desired dynamic behavior of the controller (Fig. Figure 2).

Figure 2: Fuzzy controller in a closed-loop configuration (top panel) consists of dynamic filters and a static map (middle panel). The static map is formed by the knowledge base, inference mechanism and fuzzification and defuzzification interfaces.

The control protocol is stored in the form of if-then rules in a rule base which is a part of the knowledge base. While the rules are based on qualitative knowledge, the membership functions defining the linguistic terms provide a smooth interface to the numerical process variables and the set-points. The fuzzifier determines the membership degrees of the controller input values in the antecedent fuzzy sets. The inference mechanism combines this information with the knowledge stored in the rules and determines what the output of the rule-based system should be. In general, this output is again a fuzzy set. For control purposes, a crisp control signal is required. The defuzzifier calculates the value of this crisp signal from the fuzzy controller outputs.

In Fig. Figure 2 one can see that the fuzzy mapping is just one part of the fuzzy controller. Signal processing is required both before and after the fuzzy mapping. The dynamic pre-filter and post-filter process the controller's inputs and outputs. They typically perform signal scaling and dynamic filtering, e.g., compute the derivative and the integral of the control error or of the control signal.

This decomposition of a controller to a static map and dynamic filters can be done for most classical control structures. To see this, consider a PID described by the following equation \[\tag{1} u(t)=Pe(t) + I\int_0^te(\tau)d\tau + D\frac{de(t)}{dt}, \]

where \(u(t)\) is the control signal fed to the process to be controlled and \(e(t) = r(t) - y(t)\) is the error signal, i.e., the difference between the desired and measured process output. Equation (1) is a linear function (geometrically a hyperplane) \[\tag{2} u = \sum_{i=1}^3 a_i x_i, \]

where \(x_1 = e(t), x_2 = \int_0^te(\tau)d\tau, x_3 = \frac{de(t)}{dt}\) and the \(a_i\) parameters are the P, I and D gains. The linear form (2) can be generalized to the nonlinear function \[\tag{3} \mathbf{u} = f(\mathbf{x}). \]

In the case of a fuzzy logic controller, the nonlinear function \(f\) is represented by a fuzzy mapping. Clearly, fuzzy controllers analogous to linear P, PI, PD or PID controllers can be designed by using appropriate dynamic filters such as differentiators and integrators.

Mamdani fuzzy systems are quite close in nature to manual control. The controller is defined by specifying what the output should be for a number of different input signal combinations. Each input signal combination is represented as a rule of the following form:

\[\tag{4} R_i:~ \mathsf{If} ~x_1~ \mathsf{is}~ A_{i1} ~\ldots~ \mathsf{and} ~x_n~ \mathsf{is}~ A_{in}~ \mathsf{then}~ u~ \mathsf{is}~ B_i, \qquad i=1,2,\ldots,K\,. \]

Also other logical connectives and operators may be used, e.g., or and not. In Mamdani fuzzy systems the antecedent and consequent fuzzy sets are often chosen to be triangular or Gaussian. It is also common that the input membership functions overlap in such a way that the membership values of the rule antecedents always sum up to one. In this case, and if the rule base is on conjunctive form, one can interpret each rule as defining the output value for one point in the input space. The point in the input space is obtained by taking the centers of the input fuzzy sets. Then the output value is the center of the output fuzzy set (center-of-area method). The fuzzy reasoning results in a smooth interpolation between the points in the input space as it can be seen in Fig. Figure 3. With this interpretation a Mamdani system can be viewed as defining a piecewise constant function with interpolation.

Figure 3: Membership functions partition the input space.
Figure 4: Each rule defines the output value for one point or area in the input space.
Figure 5: Fuzzy logic interpolates between the constant values.

Example: fuzzy PD controller

Consider a fuzzy counterpart of a linear PD (proportional-derivative) controller. The rule base has two inputs (the error \(e\ ,\) and the error change (derivative) \(\dot{e}\)) and one output, i.e., the control action \(u\ .\) An example of a possible rule base is shown in the following scheme.

\(\mathbf{e}~~\ !\)

style="background-color:#F5F5F5;"| ZE

Figure 6: Fuzzy PD control surface.

Five linguistic terms are used for each variable, (NB - Negative big, NS - Negative small, ZE - Zero, PS - Positive small and PB - Positive big). Each entry of the table defines one rule, e.g. \(R_{23}\ :\) "If \(e\) is NS and \(\dot{e}\) is ZE then \(u\) is NS. Fig. Figure 6 shows the resulting control surface obtained by plotting the inferred control action \(u\) for discretized values of \(e\) and \(\dot{e}\ .\) In fuzzy PD control, the difference \(\Delta e = e(k) - e(k-1)\) is often used as an approximation for the derivative.

Takagi-Sugeno controller

Takagi-Sugeno (TS) fuzzy controllers are close to gain scheduling approaches. Several linear controllers are defined, each valid in one particular region of the controller's input space. The overall controller's output is obtained by interpolating the local linear controllers see Fig. Figure 7.

Figure 7: The TS fuzzy controller can be seen as a collection of several local controllers combined by a fuzzy scheduling mechanism.

An example of a TS control rule base is \[\tag{5} \begin{array}{lcl} R_1&:& \mathsf{If} ~ r~ \mathsf{is}~ Low~ \mathsf{then}~u_1=P_{\mathrm{Low}} e + D_{\mathrm{Low}} \dot{e} \\ R_2&:& \mathsf{If}~ r~ \mathsf{is}~ High~ \mathsf{then}~ u_2=P_{\mathrm{High}} e + D_{\mathrm{High}} \dot{e} \end{array} \]

In this example, the antecedent variable is the reference \(r\) while the consequent variables are the error \(e\) and its derivative \(\dot{e}\ ,\) respectively. The controller's output is therefore linear in \(e\) and \(\dot{e}\ ,\) but the parameters of the linear mapping depend on the reference \[ \begin{array}{rl} u &= \frac{\mu_{\mathrm{Low}}(r) u_1 + \mu_{\mathrm{High}}(r) u_2} {\mu_{\mathrm{Low}}(r) + \mu_{\mathrm{High}}(r)} \\ &= \frac{\mu_{\mathrm{Low}}(r) \left(P_{\mathrm{Low}} e + D_{\mathrm{Low}}\dot{e}\right) + \mu_{\mathrm{High}}(r) \left(P_{\mathrm{High}} e + D_{\mathrm{High}} \dot{e}\right)} {\mu_{\mathrm{Low}}(r) + \mu_{\mathrm{High}}(r)} \end{array} \]

If the local controllers differ only in their parameters, the TS controller is a rule-based form of a gain-scheduling mechanism. Heterogeneous control can employ different control laws in different operating regions. In the latter case, e.g. time-optimal control for dynamic transitions can be combined with PI(D) control in the vicinity of setpoints. Therefore, the TS controller can be seen as a form of supervisory control.

Fuzzy supervisory control

A fuzzy inference system can also be applied at a higher, supervisory level of the control hierarchy. A supervisory controller is a secondary controller which augments an existing controller so that the control objectives can be met which would not be possible without the supervision. A supervisory controller can, for instance, adjust the parameters of a low-level controller according to the process information (Fig. Figure 8).

Figure 8: Fuzzy supervisory control.

In this way, static or dynamic behavior of the low-level control system can be modified in order to cope with process nonlinearities or changes in the operating or environmental conditions. An advantage of a supervisory structure is that it can be added to already existing control systems. Hence, the original controllers can always be used as initial controllers for which the supervisory controller can be tuned for improving the performance. A supervisory structure can be used for implementing different control strategies in a single controller. An example is choosing proportional control with a high gain, when the system is very far from the desired reference signal and switching to a PI-control in the neighborhood of the reference signal. Because the parameters are changed during the dynamic response, supervisory controllers are in general nonlinear.

Many processes in the industry are controlled by PID controllers. Despite their advantages, conventional PID controllers suffer from the fact that the controller must be re-tuned when the operating conditions change. This disadvantage can be reduced by using a fuzzy supervisor for adjusting the parameters of the low-level controller. A set of rules can be obtained from experts to adjust the gains P and D of a PD controller, e.g, based on the current set-point r. The rules may look like

If process output is High
Then reduce proportional gain Slightly and
increase derivative gain Moderately

The TS controller can be interpreted as a simple version of supervisory control. For instance, the TS rules Figure 8 can be written in terms of Mamdani or singleton rules that have the P and D parameters as outputs. These are then passed to a standard PD controller at a lower level.

Example: pressure control

A supervisory fuzzy controller has been applied to pressure control in a laboratory fermenter, depicted in Fig. Figure 9.

Figure 9: Experimental setup.
Figure 10: Nonlinear steady-state characteristic.
Figure 11: The supervisory fuzzy control scheme.

The volume of the fermenter tank is 40 l, and normally it is filled with 25 l of water. At the bottom of the tank, air is fed into the water at a constant flow-rate, kept constant by a local mass-flow controller. The air pressure above the water level is controlled by an outlet valve at the top of the tank. With a constant input flow-rate, the system has a single input, the valve position, and a single output, the air pressure. Because of the underlying physical mechanisms, and because of the nonlinear behavior of the control valve, the process has a nonlinear steady-state characteristic, shown in Fig. Figure 10, as well as a nonlinear dynamic behavior.

Figure 12: Membership functions for \(u(k)\ .\)

A single-input, two-output supervisor shown in Fig. Figure 11 was designed. The input of the supervisor is the valve position u(k) and the outputs are the proportional and the integral gain of a conventional PI controller. The supervisor updates the PI gains at each sample of the low-level control loop (5 s).

The domain of the valve position between 0 and 100 was modeled with Small, Medium, Big and Very Big as membership functions (cf. Fig. Figure 12).

The PI gains P and I associated with each of the fuzzy sets are given as follows:

Gains \(\backslash u(k)\ !\)
width="50"| Small 
Medium Big Very big
P 190 170 155 140
I 150 90 70 50
Figure 13: Real-time control result of the supervisory fuzzy controller.

The P and I values were found through simulations in the respective regions of the valve positions. The overall output of the supervisor is computed as a weighted mean of the local gains. The supervisory fuzzy controller, tested and tuned through simulations, was applied to the process directly (without further tuning), under the nominal conditions. The real-time control results are shown in Fig. Figure 13.

Model-based fuzzy control

Although fuzzy control was initially introduced as a model-free control design method based on the knowledge of a human operator, current research is almost exclusively devoted to model-based fuzzy control methods that can guarantee stability and robustness of the closed-loop system. This approach assumes that a fuzzy model describing the process to be controlled is available. A fuzzy controller is then designed whose structure matches the structure of the fuzzy plant model. This idea, for TS fuzzy systems called parallel distributed compensation (Tanaka 2001), has proven very fruitful.

To illustrate the approach, consider the following continuous Takagi-Sugeno (CTS) model in the state-space form \[\tag{6} \begin{array}{lcl} \dot {x}\left( t \right) &=& \sum\limits_{i=1}^r {h_i \left( {\mathbf{z} \left( t \right)} \right)\left( {A_i x\left( t \right)+B_i u\left( t \right)} \right)} \\ y\left( t \right) &=& \sum\limits_{i=1}^r {h_i \left( {\mathbf{z} \left( t \right)} \right)C_i x\left( t \right)} \end{array} \]

where \(h_i \left( {\mathbf{z} \left( t \right)} \right)\ge 0\) are the degrees of fulfillment of the rules (given by the membership degrees), satisfying the convex sum property \(\sum_{i=1}^r {h_i \left( {\mathbf{z} \left( t \right)} \right)} =1\ ,\) and \(A_i, B_i\) and \(C_i\) are the matrices of the local state-space model which is supposed to be observable and controllable. The parallel distributed compensation (PDC) law for system (6), is given by \[\tag{7} u\left( t \right)=-\sum\limits_{i=1}^r {h_i \left( {\mathbf{z} \left( t \right)}\right)F_i x\left( t \right)}. \]

The goal is to design \(F_i\) s.t. a robust control law is obtained. Consider the above scalar functions \(h_i \left( \cdot \right)\ ,\) and symmetric matrices \(\Upsilon _{ij} =\Upsilon_{ij}^T \ .\) Many control design problems can be stated as finding the least conservative conditions ensuring \[\tag{8} \sum\limits_{i=1}^r {\sum\limits_{j=1}^r {h_i \left( {\mathbf{z} \left( t \right)} \right)h_j \left( {\mathbf{z} \left( t \right)} \right)\Upsilon _{ij} } } <0. \]

The basic result considers the quadratic Lyapunov function \[\tag{9} V\left( x \right)=x^T(t)Px(t) \;\; \mathrm{with} \;\; P=P^T>0 \]

whose derivative along the trajectories of the CTS (6) in the closed loop with the PDC law (7) result in (8) with \[\tag{10} \Upsilon _{ij} =\left( {A_i -B_i F_j } \right)^TP+P\left( {A_i -B_i F_j } \right). \]

The main approach is based on the use of Linear Matrix Inequality (LMI) techniques (Boyd 1994), where conditions valid for any \(h_i\) verifying the convex sum property are used.


  • Bonissone P.P. Fuzzy logic controllers: an industrial reality. In J.M. Zurada, Robert J. Marks II, and Charles J. Robinson, editors, Computational Intelligence: Imitating Life, pages 316-327. IEEE Press, Piscataway, NJ, 1994.
  • S.P. Boyd, L.E. Ghaoui, and E. Feron. Linear Matrix Inequalities in Systems and Control Theory. SIAM, Philadelphia, 1994.
  • H. Hellendoorn. Design and development of fuzzy systems at siemens R&D. In Proceedings of Second IEEE International Conference on Fuzzy Systems, pages 1365-1370, San Fransisco (Ca), U.S.A., March 1993.
  • K. Hirota, editor. Industrial Applications of Fuzzy Technology. Springer, Tokyo, 1993.
  • Holmblad L.P. and Ostergaard J.-J. Control of a cement kiln by fuzzy logic. In M.M. Gupta and E. Sanchez, editors, Fuzzy Information and Decision Processes, pages 389-399. North-Holland, 1982.
  • Mamdani E.H. and Assilian S. An experiment in linguistic synthesis with a fuzzy logic controller. International Journal of Man-Machine Studies, 7:1-13, 1975.
  • Santhanam S. and Langari R. Supervisory fuzzy adaptive control of a binary distillation column. In Proceedings of the Third IEEE International Conference on Fuzzy Systems, volume 2, pages 1063-1068, Orlando, Fl., June 1994.
  • K. Tanaka and H.O. Wang. Fuzzy control systems design and analysis. A linear matrix inequality approach. John Wiley & Sons, New York, 2001.
  • Tani T., Utashiro M., Umano M., and Tanaka K. Application of practical fuzzy-PID hybrid control system to petrochemical plant. In Proceedings of Third IEEE International Conference on Fuzzy Systems, volume 2, pages 1211-1216, June 1994.
  • T. Terano, K. Asai, and M. Sugeno. Applied Fuzzy Systems. Academic Press, Inc., Boston, 1994.
  • S. Yasunobu and S. Miyamoto. Automatic train operation system by predictive fuzzy control. In M. Sugeno, editor, Industrial Applications of Fuzzy Control, pages 1-18. North-Holland, 1985.
  • R. Yager and D. Filev, Essentials of Fuzzy Modeling and Control, NewYork, USA: John Wiley and Sons, 1994.
  • L.A. Zadeh. Outline of a new approach to the analysis of complex systems and decision processes. IEEE Transactions on Systems, Man and Cybernetics, 1:28-44, 1973.

Internal references

  • Lotfi A. Zadeh (2008) Fuzzy logic. Scholarpedia, 3(3):1766.
  • Milan Mares (2006) Fuzzy sets. Scholarpedia, 1(10):2031.
  • Philip Holmes and Eric T. Shea-Brown (2006) Stability. Scholarpedia, 1(10):1838.

Suggested Reading

See also

Fuzzy Login, Fuzzy Systems, Control Theory

Personal tools

Focal areas