**Bath Temp. Aluminum** 

**Fluoride** 

Table 4. Fuzzy Rule Database Structure

**4.2 Fuzzy operations** 

the fuzzy minimum operator:

Accumulated Aluminum Fluoride (ALF3AC)

Table 6. Fuzzy Values for a case

output should be chosen later by a process expert.

situation won't happen, implying no need for adjustment.


Table 7. Rules triggered for the fuzzy values in the case of table 6

The implication operation chosen in this work is the product method, meaning that every output set is multiplied by the rule's least membership value. And for the aggregation operation, the output sets build the geometric shape by the maximum. The defuzzification method is the centre of area. Figure 7 shows the geometric shape made by the output sets with their least membership index in table 7.

Fig. 7. Implication, Aggregation and Defuzzification operations

#### **4.3 Result and validation**

The fuzzy algorithm was directly implemented in an industrial plant of aluminum reduction. Initially 10 pots were chosen from one potline, to which the operators were instructed to intervene only when there is an extreme need. However, it is worth

Fuzzy Control Applied to Aluminum Smelting 275

There was a need in the Aluminum smelting process for fluoride addition and control using the process experts' knowledge, since the current methodologies does not address well this problem and there are always many human interventions on this process. The results presented by the fuzzy strategy show that it can match the process requirements once it aggregated the interventions or changes made by process technicians to the control variable. This positive result will give technicians more time for other activities, such as process improvements instead of always worried in analyzing, criticizing and change the suggested

The fuzzy strategy not only aggregated human knowledge to the system, but it has also improved the system stability as shown in results and validation, the temperature and fluoride variations declined. However, it is only possible to achieve a trustworthy degree of a new strategy after a period of at least 7 months. Meanwhile, the system is still in the

The impact of this work can be scaled to a higher level by considering the continual improvement of the rules and the fuzzy system as well, since it will be continually evaluated

For future works, this methodology can be extended to other decision making process whose decision is taken based on human interpretation or consolidated data. Also we

and adjusted. Thus there will be an efficient control on fluoride addition.

Fig. 9. Fuzzy Analyzer tool

results by the current system.

**5. Conclusion** 

observation state.

mentioning, that the validation of new fluoride addition logic must be tested for at least seven months. By the time this paper was written, the pots used in these tests were operating for nearly five months with the new logic. The figure 8 show the real result obtained for one pot during the test period.

Fig. 8. Real result obtained during the tests

The figure 8 is divided in two regions defined by the date when the fuzzy system started. It is notable that the right (or later) region has less oscillation of the temperature variable (red line) and the percentage fluoride has been decreased. This has been one of the main expected results with the fuzzy logic, being interpreted by the process engineering as a safer operational condition.

Another desired goal was to reduce the human interventions in the process. In the previous control strategy, there was a high oscillation degree, which often required human intervention, by changing the proposed value to a quantity, sometimes, higher than needed, thus destabilizing the process. With the new strategy, the need of an analysis tool arose in order to show the membership values of each set, the activated rules and the corresponding defuzzified output. This tool allows monitoring the decisions made by the fuzzy system, and the historical analysis of past decisions. A screen of this tool is shown in figure 9.

mentioning, that the validation of new fluoride addition logic must be tested for at least seven months. By the time this paper was written, the pots used in these tests were operating for nearly five months with the new logic. The figure 8 show the real result

**Start Fuzzy**

The figure 8 is divided in two regions defined by the date when the fuzzy system started. It is notable that the right (or later) region has less oscillation of the temperature variable (red line) and the percentage fluoride has been decreased. This has been one of the main expected results with the fuzzy logic, being interpreted by the process engineering as a safer

Another desired goal was to reduce the human interventions in the process. In the previous control strategy, there was a high oscillation degree, which often required human intervention, by changing the proposed value to a quantity, sometimes, higher than needed, thus destabilizing the process. With the new strategy, the need of an analysis tool arose in order to show the membership values of each set, the activated rules and the corresponding defuzzified output. This tool allows monitoring the decisions made by the fuzzy system, and the historical analysis of past decisions. A screen of this tool is shown

obtained for one pot during the test period.

Fig. 8. Real result obtained during the tests

operational condition.

in figure 9.


Fig. 9. Fuzzy Analyzer tool

## **5. Conclusion**

There was a need in the Aluminum smelting process for fluoride addition and control using the process experts' knowledge, since the current methodologies does not address well this problem and there are always many human interventions on this process. The results presented by the fuzzy strategy show that it can match the process requirements once it aggregated the interventions or changes made by process technicians to the control variable. This positive result will give technicians more time for other activities, such as process improvements instead of always worried in analyzing, criticizing and change the suggested results by the current system.

The fuzzy strategy not only aggregated human knowledge to the system, but it has also improved the system stability as shown in results and validation, the temperature and fluoride variations declined. However, it is only possible to achieve a trustworthy degree of a new strategy after a period of at least 7 months. Meanwhile, the system is still in the observation state.

The impact of this work can be scaled to a higher level by considering the continual improvement of the rules and the fuzzy system as well, since it will be continually evaluated and adjusted. Thus there will be an efficient control on fluoride addition.

For future works, this methodology can be extended to other decision making process whose decision is taken based on human interpretation or consolidated data. Also we

Fuzzy Control Applied to Aluminum Smelting 277

Mamdani, E. H., Assilian, S. (1975) An experiment in linguistic synthesis with a fuzzy logic

McFadden, F.S., Bearne, G. P., Austin, P.C., Welch, B. J. Application of advanced Process

McFadden, F. J. S., Welch, B. J., Austin, P. C. (2006) The multivariable model-based control

of the Minerals, Metals and Materials Society, Volume 58, Number 2, 42-47. Meghlaoui, A., Aljabri, N. A (2003) AluminumFluorideControlStrategyImprovement[C]. Light Metals. Warrendale: Minerals, Metals and Materials Society, 425-429. Meghlaoui, A., Bui, R. T., Thibault , J., Tikasz L., Santerre, R. (1997) Intelligent Control of

and Materials Transactions B, Volume 28, Number 2, Pages 215-221. Prasad, S. (*2000*) Studies on the Hall-HeroultAluminumelectrowinning Process, *Journal of Brazilian Chemistry Society, May/June, vol. 11, no.3, p.245-251*, ISSN 0103-5053. Shuiping, Z., Jinhong, L. (2008). Fuzzy Predictive Control System of Cryolite Ratio for

Control to Aluminum Reduction Cells – A Review, *TMS Light Metals, Light Metals 2001 – Proceedings of the Technical Sessions, 130rd Technical TMS Annual Meeting,* 

of the non-alumina electrolyte variables in aluminum smelting cells. JOM Journal

the Feeding of Aluminum Electrolytic Cells Using Neural Networks. Metallurgical

Prebake Aluminum Production Cells. Proceedings of the 7th World Congress on

equivalent superheat for 300kA prebake aluminum electrolysis. Proceedings of the 8th World Congress on Intelligent Control and Automation, July 6-9, Jinan, China,

6th International Conference on Molten Slags, Fluxes and Salts (ISS), Stockholm,

Aluminum Electrolysis Process. Control Mini-Micro Systems of Computers, Vol.

control method for aluminum fluoride addition in Hall-Héroult cell. 27th Chinese Control Conference - CCC 2008, 16-18 July, page(s): 99 - 103, Kunming, China. Yu J., Gao J., Ma Y., Yu H., Pan S. (2010) Robust Adaptive Fuzzy Control of Chaos in the

Permanent Magnet Synchronous Motor. Discrete Dynamics in Nature and Society,

Intelligent Control and Automation June 25 - 27, 2008, Chongqing, China. Shuiping, Z., Jinhong, L., Yuqian, W., Danyang, C. (2010) Calculation and control of

Thonstad, J., Rolseth, S. (1983). Equilibrium between bath and side ledge. Light Metals, 415–

Wang X., You G., Yang S. (2011) Fuzzy Control Model Study on Precision Irrigation System for Water Stress in Crops.. Journal of Computers, Vol. 6, No. 5, May. Welch, B. J. Aluminum Fluoride Consumption and Control in Smelting Cells in Proceedings

Xiaodong, Y., Jiaming, Z., Kangjian, S. (2010) The Pot Technology Development in China. Light Metals 2010; Seattle, Washington; 14-18 February, Pages 349-354. Yan, Y., Taishan, Z. (2006) Application of Intelligent Integrated Control Technique in

Yongbo, H., Jiemin, Z., Xiangdong, Q., Zhiqiang, S. (2008) Electrolyte temperature based

Zadeh, L.A. *Fuzzy sets as a basis for a theory of possibility* , Fuzzy Sets and Systems, 1:3-28,1978.

controller. *Int. J. Man-Machine Studies*, vol. 7, p. 1-13.

*February 11-15, New Orleans, LA, USA, pp.1233-1242.*

Solheim, A.(2005). Personal communication. Trondheim, June.

pp. 4755-4760.

424.

June 2002.

27, No. 11, pp. 2172-2176.

Volume 2010, 13 pages.

Zadeh, L. A. (1965). Fuzzy sets. *Information and Control, 8*, 338-353.

suggest the use of other fuzzy settings such as inference machines, membership functions, and implication and aggregation methods for comparison.

#### **6. References**


suggest the use of other fuzzy settings such as inference machines, membership functions,

Beck, T. R. (2008). Electrolytic Production of Aluminum. Electrochemical Technology

Benyakhlef, M, Radouane, L. (2008) Completely Decentralized Adaptive Fuzzy Control for

Dan-yang, C., Shui-ping, Z., Jin-hong, L. (2011) Variable universe fuzzy expert system for

Dias, H. P. (2002) Determinação do Teor de AlF3 no Banho Utilizando Temperatura, VIII Seminário Internacional de Tecnologia da Indústria do Alumínio, São Paulo. Drengstig, T. (1997) On process model representation and AlF3 dynamics of Aluminum

Drengstig, T., Ljungquist, D., Foss, B. A. (1998) On the AlF3 and Temperature Control of an

Feng G. (2010) Analysis and Synthesis of Fuzzy Control Systems: A Model-Based Approach

Gomes, V., Soares, F. M., Castro, M., Oliveira, R. C. L. (2010)Usage of Fuzzy Logic as a

Haupin, W., Kvande, H. (1993).Mathematical model of fluoride evolution from Hall Heroult

Hives, J., Thonstad, J., Sterten.,Fellner, F. P. (1993). Electrical conductivity of molten cryolite–

Hyland, M. M., Patterson, E. C., Stevens-McFadden, F., Welch, B. J. (2001). Aluminum

IAI – International Aluminum Institute (2010) The Aluminum Industry´s Sustainable

Kola, S., Støre, T. (2009) Bath temperature and AlF3 control of naAluminum electrolysis cell.

Computational Cognition (http://www.ijcc.us), Vol. 6, No. 1, March. Chiu, C.-S., Lian, K.-Y. (2009) Global Feed-Forward Adaptive Fuzzy Control of Uncertain

ISBN 978-953-7619-43-5, Edited by: Shuang Cong, InTech, January.

Corp. May. Download of the http://electrochem.cwru.edu/encycl/, in

a Class of Nonlinear Interconnected Systems.. International Journal of

MIMO Nonlinear Systems.. Frontiers in Adaptive Control, Chapter 6, pp. 97-120,

aluminum electrolysis. TransactionsNonferrousMetalsSocietyof China, 21, 429-

electrolysis cells (p. 94). Dr.Ing. thesis, Norwegian University of Science and

Aluminum Electrolysis Cell. Modeling, Identification and Control, Vol. 19, No. 1,

(Automation and Control Engineering). CRC Press; ISBN: 1420092642, 299 pages, 1

Strategy for the Aluminum Fluoride Addition in Electrolytic Cells. Light Metals,

based mixtures obtained with a tube-type cell made of pyrolitic boron nitride. Light

fluoride consumption and control in smelting cells. Scandinavian Journal of

Development Report, download of the www.world-Aluminum.org/ , in

and implication and aggregation methods for comparison.

**6. References** 

436.

31-59.

247–256.

October/16/2011.

Technology (NTNU).

edition (March).

Metals, 247–256.

may/20/2011.

cells. *Light Metals*, 257–263.

Metallurgy, 30, Issue 6, 404–414.

Control Engineering Practice, 17, 1035–1043.


**Part 3** 

**Concepts and Theories**

Zhuo, C., Bingtu, Y., Yinglong, W., Zefeng, S., (2008) A New Model for the Industrial Process Control based on Data Mining. Chinese Control and Decision Conference - CCDC 2008; 2-4 July, Yantai, Shandong, China, page(s): 1368 - 1370.

**Part 3** 

**Concepts and Theories**

278 Fuzzy Logic – Controls, Concepts, Theories and Applications

Zhuo, C., Bingtu, Y., Yinglong, W., Zefeng, S., (2008) A New Model for the Industrial

CCDC 2008; 2-4 July, Yantai, Shandong, China, page(s): 1368 - 1370.

Process Control based on Data Mining. Chinese Control and Decision Conference -

**14** 

*Brazil* 

**Rough Controller Synthesis** 

*Federal University of Itajuba,* 

Carlos Pinheiro, Ulisses Camatta and Angelo Rezek

A new method to design rule-based controllers using concepts about rough sets is proposed. The method provides an efficient alternative for the design of rule-based controllers to compensate complex dynamic systems (nonlinear, with variable parameters, etc.). A systematic methodology to synthesize control rules is proposed. This approach serves to design fuzzy controllers and to define a new class of rule-based controllers, which will be called rough controllers. Numerical examples derived from computer simulations and a real

Rule-based models constitute an important tool in the representation of dynamic systems and controller models that use artificial intelligence techniques (fuzzy logic, neuro-fuzzy system, etc.). In general, the rules encapsulate the relationships between the model variables and provide mechanisms to connect the representations of the same with its computational procedures (Pedrycz & Gomide, 2007). There are two main schemes to construct rule-based models, those based on expert knowledge and those that are data-driven. There are several hybrid schemes that could be somewhere in between. In applications where the extraction of knowledge by experts is difficult due to the amount of data involved, data-driven methods

The Rough Set Theory (Pawlak, 1982) has been successfully applied in various areas such as data mining, decision systems, expert systems and other fields (Pawlak & Skowron, 2007). One of the main advantages of this approach is that it does not need for details in terms of

Few papers have addressed applications with rough sets related to control systems that use continuous and sampled variables. Most papers deal with mostly pure binary or symbolic

This paper proposes a new approach to design rule-based controllers, aimed at applications in control systems of complex processes that utilize concepts about rough

This chapter is organized as follows: a review of basic concepts about rough sets; the methodology proposed to design rule-based controllers; application examples; and final

probability distributions, belief intervals or possibilities values (Pawlak, 1991).

variables (Ziarko & Katzberg, 1993; Kusiak & Shah, 2006).

**1. Introduction** 

application will be shown.

are more efficient.

sets.

conclusions.

## **Rough Controller Synthesis**

 Carlos Pinheiro, Ulisses Camatta and Angelo Rezek *Federal University of Itajuba, Brazil* 

## **1. Introduction**

A new method to design rule-based controllers using concepts about rough sets is proposed. The method provides an efficient alternative for the design of rule-based controllers to compensate complex dynamic systems (nonlinear, with variable parameters, etc.). A systematic methodology to synthesize control rules is proposed. This approach serves to design fuzzy controllers and to define a new class of rule-based controllers, which will be called rough controllers. Numerical examples derived from computer simulations and a real application will be shown.

Rule-based models constitute an important tool in the representation of dynamic systems and controller models that use artificial intelligence techniques (fuzzy logic, neuro-fuzzy system, etc.). In general, the rules encapsulate the relationships between the model variables and provide mechanisms to connect the representations of the same with its computational procedures (Pedrycz & Gomide, 2007). There are two main schemes to construct rule-based models, those based on expert knowledge and those that are data-driven. There are several hybrid schemes that could be somewhere in between. In applications where the extraction of knowledge by experts is difficult due to the amount of data involved, data-driven methods are more efficient.

The Rough Set Theory (Pawlak, 1982) has been successfully applied in various areas such as data mining, decision systems, expert systems and other fields (Pawlak & Skowron, 2007). One of the main advantages of this approach is that it does not need for details in terms of probability distributions, belief intervals or possibilities values (Pawlak, 1991).

Few papers have addressed applications with rough sets related to control systems that use continuous and sampled variables. Most papers deal with mostly pure binary or symbolic variables (Ziarko & Katzberg, 1993; Kusiak & Shah, 2006).

This paper proposes a new approach to design rule-based controllers, aimed at applications in control systems of complex processes that utilize concepts about rough sets.

This chapter is organized as follows: a review of basic concepts about rough sets; the methodology proposed to design rule-based controllers; application examples; and final conclusions.

Rough Controller Synthesis 283

problem in reduct processing, for example, through similarity relations (Huang et al., 2007). In information systems with data in numerical values, it usually is not necessary to calculate the reducts, because all the variables of the condition attributes are the reducts themselves.

To transform a reduct into a decision rule, the values of the conditional attributes from the object class from which the reduct was originated are added to the corresponding attributes, and then the rule is completed with the decision attributes. For a determined reduct, an example of decision rule is illustrated in (6). The use of the rough set theory enables systematically that the decision rules have consice informations concerning the original information system, adequately treating eventual redundant, uncertain, or imprecise

IF a1 = *f*(o1,a1) AND...AND ak = *f*(om,ak) THEN d1 = *f*(o1,d1) OR…OR di = *f*(oi,di) (6)

As examples of the concepts expressed in this section and the following examples consider Table 2 below, where *U* = {o1, o2, o3, o4} and *B* = {a1, a2}. For this information system, we have *U* / *IND*(*B*) = {{o1}, {o2}, {o3}, {o4}}. The discenibility matrix is illustrated in Table 3. The resulting discernibility function is *F B*() a a a a a a a a a a = ∧∧ ∨ ∧ ∨ ∧∧=∧ 21 12 12 1212 ( )( ) . Thus, the reduct obtained is *R* = {a1, a2}. Therefore, the resulting decision rules are the

> a1 a2 d o1 b b δ<sup>1</sup> o2 b c δ<sup>2</sup> o3 c b δ<sup>3</sup> o4 c c δ<sup>4</sup>

o1 o2 o3 o4

o4 a1,a2 a1 a2 -

IF a1 = b AND a2 = b THEN d = δ1; IF a1 = b AND a2 = c THEN d = δ2; IF a1 = c AND a2 = b THEN d = δ3;

IF a1 = c AND a2 = c THEN d = δ4. (7)

information in the data.

expressions given in (7).

Table 2. Data referring to Example 1.

o1 -

Table 3. Discernibility matrix referring to Example 1.

o2 a2 -

o3 a1 a1,a2 -

**2.1 Example 1** 

*F* (*B*) { *m* (*i*, *j*)}; = ∧ ∨ *<sup>D</sup> m* (*i*, *j*) {*a a m* (*i*, *j*)}. *<sup>D</sup>* = *<sup>k</sup> <sup>k</sup>* ∈ *<sup>D</sup>* (5)

## **2. Background**

An information system (*IS*) may be defined by *S* = (*U,A*), where *U* is a set of objects or observations (oi) called universe and *A* is a set of conditional attributes (aj). The generic tabular representation of an information systems is illustrated in Table 1, where decision attribute values are defined in the last column of the table for a given decision attribute (di) and its corresponding classification *f*(oi,di). Generally rough sets deal with nominal values. For numerical attributes a discretization process is necessary, converting the values in nominal data. Some approaches may be utilized to minimize eventual effects of data quantization (Skowron and Son, 1995).


Table 1. Generic tabular representation of an *IS*

Consider an equivalence relation over *U* called indiscernibility relation (1). The set of all the equivalence classes determined by *IND(B)* is represented by the notation *U / IND(B)*.

$$IND(B) = \left\{ (o\_i, o\_j) \in \mathcal{U}^2 \, \middle| \, \forall \, a\_k \in B, \,\, f(o\_i, a\_k) = f(o\_j, a\_k) \right\} \tag{1}$$

Consider a set of all the elements from an equivalence class. Given *O U*⊆ , it is important to know how many elements of *O* are defined by the elementary sets of *S*. To achieve this purpose, the lower approximation *(B\*)* and the upper approximation *(B\*)* are defined (2). A set *O* is called precise (*crisp*) if *B\*(O) = B\*(O)*, otherwise it is imprecise, rough or approximated.

$$B\_\*(O) = \{ o \in \mathcal{U} \, | \, \mathcal{U} \, \Big/ \text{IND}(B) \subseteq O \};\tag{2}$$

$$B^\bullet(O) = \{ o \in \mathcal{U} \, | \, \mathcal{U} \, \Big/ \, | \, \operatorname{IND}(B) \cap O \neq 0 \}.$$

A discernibility matrix is defined in (3), whose elements are given in (4).

$$M\_D(B) = [m\_D(i, j)]\_{n \ge n'} \quad i \ge 1, j \le \text{card}(\mathbb{U} \ne \text{IND}(B)) \tag{3}$$

$$m\_D(i,j) = \{a\_k \in B \mid f(o\_i, a\_k) \neq f(o\_j, a\_k)\}\tag{4}$$

A discernibility function is defined in (5), where the set formed by the minimum term of *F(B)* determines the reducts of *B*, which is defined as a set of minimum attributes necessary to maintain the same properties of an *IS* that utilizes all the original attributes of the system. There may be more than one reduct for the same set of attributes. For a large *IS*, the calculus of minimal reducts can consist a problem of complex computation, which rises with the amount of data of the process. Some approaches are utilized to deal with this kind of

An information system (*IS*) may be defined by *S* = (*U,A*), where *U* is a set of objects or observations (oi) called universe and *A* is a set of conditional attributes (aj). The generic tabular representation of an information systems is illustrated in Table 1, where decision attribute values are defined in the last column of the table for a given decision attribute (di) and its corresponding classification *f*(oi,di). Generally rough sets deal with nominal values. For numerical attributes a discretization process is necessary, converting the values in nominal data. Some approaches may be utilized to minimize eventual effects of data

> a1 ... aj ... an d o1 *f*(o1,a1) *f*(o1,aj) *f*(o1,an) *f*(o1,d1) : : : : : oi *f*(oi,a1) ... *f*(oi,aj) ... *f*(oi,an) *f*(oi,di) : : : : : om *f*(om,a1) ... *f*(om,aj) ... *f*(om,an) *f*(om,dm)

Consider an equivalence relation over *U* called indiscernibility relation (1). The set of all the

Consider a set of all the elements from an equivalence class. Given *O U*⊆ , it is important to know how many elements of *O* are defined by the elementary sets of *S*. To achieve this purpose, the lower approximation *(B\*)* and the upper approximation *(B\*)* are defined (2). A set *O* is called precise (*crisp*) if *B\*(O) = B\*(O)*, otherwise it is imprecise, rough or

\* *B O o U U IND B O* ( ) { / ( ) 0}. = ∈ ∩ ≠

A discernibility function is defined in (5), where the set formed by the minimum term of *F(B)* determines the reducts of *B*, which is defined as a set of minimum attributes necessary to maintain the same properties of an *IS* that utilizes all the original attributes of the system. There may be more than one reduct for the same set of attributes. For a large *IS*, the calculus of minimal reducts can consist a problem of complex computation, which rises with the amount of data of the process. Some approaches are utilized to deal with this kind of

A discernibility matrix is defined in (3), whose elements are given in (4).

{ } <sup>2</sup> ( ) ( , ) , ( , ) ( , ) *<sup>i</sup> <sup>j</sup> k ik <sup>j</sup> <sup>k</sup> IND B o o U a B f o a f o a* = ∈ ∀∈ = (1)

\* *B O o U U IND B O* ( ) { / ( ) }; = ∈ ⊆ (2)

*MD D nxn* ( ) [ ( , )] , 1, ( / ( )) *B m i j i j card U IND B* = ≥≤ (3)

*D k ik* ( , ) { ( , ) ( , )} *m ij a Bf o a f o a* =∈ ≠ *<sup>j</sup> <sup>k</sup>* (4)

equivalence classes determined by *IND(B)* is represented by the notation *U / IND(B)*.

**2. Background** 

approximated.

quantization (Skowron and Son, 1995).

Table 1. Generic tabular representation of an *IS*

problem in reduct processing, for example, through similarity relations (Huang et al., 2007). In information systems with data in numerical values, it usually is not necessary to calculate the reducts, because all the variables of the condition attributes are the reducts themselves.

$$F(B) = \wedge \{ \vee \overline{\mathfrak{m}}\_D(i, j) \}; \ \overline{\mathfrak{m}}\_D(i, j) = \{ \overline{a}\_k \big| a\_k \in \mathfrak{m}\_D(i, j) \}. \tag{5}$$

To transform a reduct into a decision rule, the values of the conditional attributes from the object class from which the reduct was originated are added to the corresponding attributes, and then the rule is completed with the decision attributes. For a determined reduct, an example of decision rule is illustrated in (6). The use of the rough set theory enables systematically that the decision rules have consice informations concerning the original information system, adequately treating eventual redundant, uncertain, or imprecise information in the data.

$$\begin{array}{c} \text{IF } \mathbf{a}\_1 = f(\mathbf{o}\_1 \mathbf{a}\_1) \text{ AND...AND } \mathbf{a}\_k = f(\mathbf{o}\_{\mathbf{m}, \mathbf{a}} \mathbf{a}\_l) \text{ THEN} \\ \mathbf{d}\_1 = f(\mathbf{o}\_{\mathbf{l}} \mathbf{d}\_1) \text{ OR...OR } \mathbf{d}\_i = f(\mathbf{o}\_{\mathbf{l}} \mathbf{d}\_i) \end{array} \tag{6}$$

#### **2.1 Example 1**

As examples of the concepts expressed in this section and the following examples consider Table 2 below, where *U* = {o1, o2, o3, o4} and *B* = {a1, a2}. For this information system, we have *U* / *IND*(*B*) = {{o1}, {o2}, {o3}, {o4}}. The discenibility matrix is illustrated in Table 3. The resulting discernibility function is *F B*() a a a a a a a a a a = ∧∧ ∨ ∧ ∨ ∧∧=∧ 21 12 12 1212 ( )( ) . Thus, the reduct obtained is *R* = {a1, a2}. Therefore, the resulting decision rules are the expressions given in (7).


Table 2. Data referring to Example 1.


Table 3. Discernibility matrix referring to Example 1.

$$\begin{array}{l}\text{IF } \mathbf{a}\_{1} = \mathbf{b} \text{ AND } \mathbf{a}\_{2} = \mathbf{b} \text{ THEN } \mathbf{d} = \mathbf{\delta}\_{1};\\\text{IF } \mathbf{a}\_{1} = \mathbf{b} \text{ AND } \mathbf{a}\_{2} = \mathbf{c} \text{ THEN } \mathbf{d} = \mathbf{\delta}\_{2};\\\text{IF } \mathbf{a}\_{1} = \mathbf{c} \text{ AND } \mathbf{a}\_{2} = \mathbf{b} \text{ THEN } \mathbf{d} = \mathbf{\delta}\_{3};\\\text{IF } \mathbf{a}\_{1} = \mathbf{c} \text{ AND } \mathbf{a}\_{2} = \mathbf{c} \text{ THEN } \mathbf{d} = \mathbf{\delta}\_{4}.\end{array}$$

Rough Controller Synthesis 285

same as Table 2 from Example 1. The *IS* associated has two condition attributes (*x*1 and *x*2) of numerical values. Consequently, the reduct is defined by {*x*1, *x*2}, resulting in the same decision rules as those in (7), which can be written as (10), as proposed in the methodology

> *x*<sup>1</sup> *x*<sup>2</sup> *y* 0 0 0 0 1 1 1 0 1 1 1 2

Intermediate values in the data range [0, 1] of the general rule in question can be estimated

( ) () ( ) ( ) ( ) 1 2 1 2

With the information of decision rules in form (12), it is simple to obtain the parameters of a corresponding fuzzy model. For modeling in linguistic (Mamdani) rules (14), two membership functions (Fig. 1), triangular and equally spaced, can be defined in the interval [0, 1] for the input variables (*x*1 and *x*2), and another three functions (Fig. 2) defined in interval [0, 2] for the

output variable (*y*). Therefore, the resulting fuzzy rules are expressed by (15).

0 1

C1 C2 C3

 0 *y* 0 1 2

A B

μ*x1* μ*x2* 1

0

<sup>−</sup> − − = + <sup>+</sup> − −

*y y xx xx*

( ) ( )( ) ( ) <sup>2</sup> ( )( ) *m k k k*

*r*1: IF *x*1 = [0, 1] AND *x*2 = [0, 1] THEN *y* = [0, 2] (12)

( ) () ( ) () 11 22

*r*n: IF *x*1 = An AND *x*2 = Bn THEN *y* = Cn (14)

*x1 x2* (13)

*mk mk*

*xx xx*

presented in this section, and resulting in (12).

by (13), constituting a specific case of (11) for *n* = 2.

*y y*

*k*

Table 5. Data referring to Example 2.

**3.2 Fuzzy models** 

Fig. 1. Membership Functions.

μ*y*

1

Fig. 2. Membership Functions.

### **3. Methodology**

For a more adequate representation of the numerical applications, the illustrated form in Table 4 will be adopted for the information systems employed in this paper. The condition attributes are *x***i** and their data are *x*N(*<sup>k</sup>*). The decision attribute is *y* and their values are *y*(*<sup>k</sup>*).


Table 4. Numerical Tabular Representation of an *IS*.

Sentences (8) derive from the *IS* in question. For example, for *x*1 = *x*<sup>1</sup> (*<sup>k</sup>*), *x*2 = *x*<sup>2</sup> (*<sup>k</sup>*), *x*3 = *x*<sup>3</sup> (*<sup>k</sup>*), and *x*N = *x*N(*<sup>k</sup>*) we have *y* = *y*(*<sup>m</sup>*) expressed by *sk*. And for *x*1 = *x*1(*<sup>m</sup>*), *x*2 = *x*<sup>2</sup> (*<sup>m</sup>*), *x*3 = *x*3(*<sup>m</sup>*),, and *x*N = *x*N(*<sup>m</sup>*) we have *y* = *y*(*<sup>m</sup>*) defined by *sm*.

$$\begin{aligned} \text{s\_1: IF } \mathbf{x\_1} = \mathbf{x\_1(i)} \text{ AND } \mathbf{x\_2} = \mathbf{x\_2(i)} \text{ AND } \dots \text{ AND } \mathbf{x\_N} = \mathbf{x\_N(i)} \text{ THEN } \mathbf{y} = \mathbf{y^{(i)}}\\ \text{s\_2: IF } \mathbf{x\_1} = \mathbf{x\_1(i^2)} \text{ AND } \mathbf{x\_2} = \mathbf{x\_2(i)} \text{ AND } \dots \text{ AND } \mathbf{x\_N} = \mathbf{x\_N(i^2)} \text{ THEN } \mathbf{y} = \mathbf{y^{(i)}}\\ \text{s\_3: IF } \mathbf{x\_1} = \mathbf{x\_1(i)} \text{ AND } \mathbf{x\_2} = \mathbf{x\_2(i)} \text{ AND } \dots \text{ AND } \mathbf{x\_N} = \mathbf{x\_N(i)} \text{ THEN } \mathbf{y} = \mathbf{y^{(i)}}\\ \text{s\_m: IF } \mathbf{x\_1} = \mathbf{x\_1(v)} \text{ AND } \mathbf{x\_2} = \mathbf{x\_2(v)} \text{ AND } \dots \text{ AND } \mathbf{x\_N} = \mathbf{x\_N(v)} \text{ THEN } \mathbf{y} = \mathbf{y^{(n)}}\\ \text{s\_p: IF } \mathbf{x\_1} = \mathbf{x\_1(v)} \text{ AND } \mathbf{x\_2} = \mathbf{x\_1(v)} \text{ AND } \dots \text{ AND } \mathbf{x\_N} = \mathbf{x\_N(v)} \text{ THEN } \mathbf{y} = \mathbf{y^{(v)}} \end{aligned} \tag{8}$$

For numeric values in ranges defined in the table, that is, *x*1(*<sup>k</sup>*) ≤ *x*<sup>1</sup> ≤ *x*<sup>1</sup> (*<sup>m</sup>*), *x*2(*<sup>k</sup>*) ≤ *x*<sup>2</sup> ≤ *x*2(*<sup>m</sup>*), *x*3 (*k*) ≤ *x*<sup>3</sup> ≤ *x*<sup>3</sup> (*<sup>m</sup>*) and *x*N(*<sup>k</sup>*) ≤ *x*<sup>N</sup> ≤ *x*N(*<sup>m</sup>*), the sentences *sk* and *sm* defined in (8) may be redefined by generic rule (9), or through the simplified form (10), where α(g) = [*x*1(*<sup>k</sup>*), *x*<sup>1</sup> (*<sup>m</sup>*)], β(g) = [*x*2(*<sup>k</sup>*), *x*2(*<sup>m</sup>*)], γ(g) = [*x*N(*<sup>k</sup>*), *x*N(*<sup>m</sup>*)] and δ(g) = [*y*(*<sup>k</sup>*), *y*(*<sup>m</sup>*)], considering that *y*(*<sup>k</sup>*) < *y*(*<sup>m</sup>*).

$$\pi\_{\tilde{\mathbb{R}}} \colon \operatorname{IF} \propto \mathbb{1}\_1 \cong \mathfrak{x}\_1 \cong \mathfrak{x}\_1 \text{( $\mathfrak{m}$  AND  $\mathfrak{x}\_2
$$)}\\\simeq \mathfrak{x}\_2 \le \mathfrak{x}\_2 \cong \mathfrak{x}\_2 \text{($$
\mathfrak{m} $ AND $ \dots $ AND $ \mathfrak{x}\_N$ )}\\\simeq \mathfrak{x}\_N \cong \mathfrak{x}\_N \text{( $\mathfrak{m}$  THEN  $\mathfrak{x}\_N$  )}$$

$$\dots \qquad \dots \qquad \dots \qquad \dots \qquad \dots \qquad \dots$$

$$\min\{y^{(k)}, \dots, y^{(m)}\} \le y \le \max\{y^{(k)}, \dots, y^{(m)}\} \tag{9}$$

 *r*g: IF *x*1 = α(g) AND *x*2 = β(g) AND…AND *x*N = γ(g) THEN *y* = δ(g) (10)

To estimate numerical values in ranges of the data obtained in the rules, formula (11) will be used for numerical interpolations (Pinheiro, et al., 2010).

$$\mathbf{y} = (\mathbf{x}\_n.\mathbf{x}\_n^{(i)}, \mathbf{y}^{(i)})\_{i=k,m} = \mathbf{y}^{(k)} + \frac{(\mathbf{y}^{(m)} - \mathbf{y}^{(k)})}{N} \sum\_{n=1}^{N} \frac{(\mathbf{x}\_n - \mathbf{x}\_n^{(k)})}{(\mathbf{x}\_n^{(m)} - \mathbf{x}\_n^{(k)})} \tag{11}$$

#### **3.1 Example 2**

In order to illustrate the concepts of this section and of those to follow, Table 5 will illustrate a simple example defined by the function *y* = *x*1 + *x*2 with *x*1 and *x*<sup>2</sup> є [0, 1]. This table is the

For a more adequate representation of the numerical applications, the illustrated form in Table 4 will be adopted for the information systems employed in this paper. The condition attributes are *x***i** and their data are *x*N(*<sup>k</sup>*). The decision attribute is *y* and their values are *y*(*<sup>k</sup>*).

*x*<sup>1</sup> *x*<sup>2</sup> *x*3 ... *x*<sup>N</sup> *y*

... ... ... ... ... ... *x*1(*<sup>k</sup>*) *x*2(*<sup>k</sup>*) *x*3(*<sup>k</sup>*) ... *x*N(*<sup>k</sup>*) *y*(*k*) ... ... ... ... ... ... *x*1(*<sup>m</sup>*) *x*2(*<sup>m</sup>*) *x*3(*<sup>m</sup>*) ... *x*N(*<sup>m</sup>*) *y*(*m*) ... ... ... ... ... ...

Sentences (8) derive from the *IS* in question. For example, for *x*1 = *x*1(*<sup>k</sup>*), *x*2 = *x*2(*<sup>k</sup>*), *x*3 = *x*3(*<sup>k</sup>*), and *x*N = *x*N(*<sup>k</sup>*) we have *y* = *y*(*<sup>m</sup>*) expressed by *sk*. And for *x*1 = *x*1(*<sup>m</sup>*), *x*2 = *x*2(*<sup>m</sup>*), *x*3 = *x*3(*<sup>m</sup>*),, and

*s*1: IF *x*1 = *x*1(1) AND *x*2 = *x*2(1) AND… AND *x*N = *x*N(1) THEN *y* = *y*(1) *s*2: IF *x*1 = *x*1(2) AND *x*2 = *x*2(2) AND… AND *x*N = *x*N(2) THEN *y* = *y*(2) *sk*: IF *x*1 = *x*1(*<sup>k</sup>*) AND *x*2 = *x*2(*<sup>k</sup>*) AND… AND *x*N = *x*N(*<sup>k</sup>*) THEN *y* = *y*(*k*) *sm*: IF *x*1 =*x*1(*<sup>m</sup>*) AND *x*2 = *x*2(*<sup>m</sup>*) AND…AND *x*N= *x*N(*<sup>m</sup>*) THEN *y* = *y*(*m*)  *sv*: IF *x*1 = *x*1(*<sup>v</sup>*) AND *x*2 = *x*1(*<sup>v</sup>*) AND…AND *x*N = *x*N(*<sup>v</sup>*) THEN *y* = *y*(*<sup>v</sup>*) (8) For numeric values in ranges defined in the table, that is, *x*1(*<sup>k</sup>*) ≤ *x*<sup>1</sup> ≤ *x*1(*<sup>m</sup>*), *x*2(*<sup>k</sup>*) ≤ *x*<sup>2</sup> ≤ *x*2(*<sup>m</sup>*),

(*k*) ≤ *x*<sup>3</sup> ≤ *x*3(*<sup>m</sup>*) and *x*N(*<sup>k</sup>*) ≤ *x*<sup>N</sup> ≤ *x*N(*<sup>m</sup>*), the sentences *sk* and *sm* defined in (8) may be redefined by generic rule (9), or through the simplified form (10), where α(g) = [*x*1(*<sup>k</sup>*), *x*1(*<sup>m</sup>*)], β(g) = [*x*<sup>2</sup>

*r*g: IF *x*1(*<sup>k</sup>*) ≤ *x*<sup>1</sup> ≤ *x*1(*<sup>m</sup>*) AND *x*2(*<sup>k</sup>*) ≤ *x*<sup>2</sup> ≤ *x*2(*<sup>m</sup>*) AND … AND *x*N(*<sup>k</sup>*) ≤ *x*<sup>N</sup> ≤ *x*N(*<sup>m</sup>*) THEN

 *r*g: IF *x*1 = α(g) AND *x*2 = β(g) AND…AND *x*N = γ(g) THEN *y* = δ(g) (10) To estimate numerical values in ranges of the data obtained in the rules, formula (11) will be

( ) () ( ) () () ( )

( ) ( ) (, , ) ( )

In order to illustrate the concepts of this section and of those to follow, Table 5 will illustrate a simple example defined by the function *y* = *x*1 + *x*2 with *x*1 and *x*<sup>2</sup> є [0, 1]. This table is the

*y xx y y <sup>N</sup> x x* <sup>=</sup> = =

*ii k n n n n i km m k*

, ( ) () 1, <sup>1</sup>

*n N n n n*

*m k N k*

*y y x x*

<sup>−</sup> <sup>−</sup> <sup>=</sup> = + <sup>−</sup> (11)

} ≤ *y* ≤ max{*y*(*<sup>k</sup>*),…, *y*(*<sup>m</sup>*)} (9)

(1) ... *x*N(1) *y*(1)

(2) ... *x*N(2) *y*(2)

(*<sup>v</sup>*) ... *x*N(*<sup>v</sup>*) *y*(*v*)

*x*1(1) *x*2(1) *x*<sup>3</sup>

*x*1(*<sup>v</sup>*) *x*2(*<sup>v</sup>*) *x*<sup>3</sup>

(*<sup>m</sup>*)], γ(g) = [*x*N(*<sup>k</sup>*), *x*N(*<sup>m</sup>*)] and δ(g) = [*y*(*<sup>k</sup>*), *y*(*<sup>m</sup>*)], considering that *y*(*<sup>k</sup>*) < *y*(*<sup>m</sup>*).

(2) *x*<sup>3</sup>

(2) *x*<sup>2</sup>

*x*1

Table 4. Numerical Tabular Representation of an *IS*.

*x*N = *x*N(*<sup>m</sup>*) we have *y* = *y*(*<sup>m</sup>*) defined by *sm*.

min{*y*(*<sup>k</sup>*),…, *y*(*m*)

used for numerical interpolations (Pinheiro, et al., 2010).

**3. Methodology** 

*x*3

*x*2

**3.1 Example 2** 

same as Table 2 from Example 1. The *IS* associated has two condition attributes (*x*1 and *x*2) of numerical values. Consequently, the reduct is defined by {*x*1, *x*2}, resulting in the same decision rules as those in (7), which can be written as (10), as proposed in the methodology presented in this section, and resulting in (12).


Table 5. Data referring to Example 2.

$$\text{If } r\_1 \text{: IF } \mathbf{x}\_1 = [0, 1] \text{ AND } \mathbf{x}\_2 = [0, 1] \text{ THEN } \mathbf{y} = [0, 2] \tag{12}$$

Intermediate values in the data range [0, 1] of the general rule in question can be estimated by (13), constituting a specific case of (11) for *n* = 2.

$$y = y^{(k)} + \frac{(y^{(m)} - y^{(k)})}{2} (\frac{(\mathbf{x}\_1 - \mathbf{x}\_1^{(k)})}{(\mathbf{x}\_1^{(m)} - \mathbf{x}\_1^{(k)})} + \frac{(\mathbf{x}\_2 - \mathbf{x}\_2^{(k)})}{(\mathbf{x}\_2^{(m)} - \mathbf{x}\_2^{(k)})}) \tag{13}$$

#### **3.2 Fuzzy models**

(*<sup>k</sup>*),

With the information of decision rules in form (12), it is simple to obtain the parameters of a corresponding fuzzy model. For modeling in linguistic (Mamdani) rules (14), two membership functions (Fig. 1), triangular and equally spaced, can be defined in the interval [0, 1] for the input variables (*x*1 and *x*2), and another three functions (Fig. 2) defined in interval [0, 2] for the output variable (*y*). Therefore, the resulting fuzzy rules are expressed by (15).

$$r\_n \colon \text{IF } \ge\_1 = \text{A}\_n \text{ AND } \ge\_2 = \text{B}\_n \text{ THEN } y = \text{C}\_n \tag{14}$$

Fig. 1. Membership Functions.

Fig. 2. Membership Functions.

Rough Controller Synthesis 287

*x***<sup>1</sup>** *y*  0.0000 *y(a)* = 0.0000 0.2618 *y(b)* = 0.2588 0.5236 *y(c)* = 0.5000 0.7854 *y(d)* = 0.7071 1.0472 *y(e)* = 0.8660 1.3090 *y(f)* = 0.9659 1.5708 *y(g)* = 1.0000

Using the proposed form (10), the rough model (19) can be written, where δ(1) = [0.0000,

*r*1: IF *x*1 = [0.0000, 0.5236] THEN *y* = [0.0000, 0.5000]; *r*2: IF *x*1 = [0.5236, 1.0472] THEN *y* = [0.5000, 0.8660];  *r*3: IF *x*1 = [1.0472, 1.5708] THEN *y* = [0.8660, 1.0000]. (19) To estimate the intermediate values of this model, the linear interpolation formula (20) can

For instance, for *x*1 = 0.3927 we have *y* = 0 + (0.5 - 0)(0.3927 - 0)/(0.5236 - 0) = 0.375, and for *x*1 = 1.1781, we have *y* = 0.866 + (1 – 0.866)(1.1781 – 1.0472)/(1.5708 - 1.0472) = 0.8995. The average error value in relation to the original function is about 2.3%. A greater degree of quantization relative to the data from the example often leads to better precision in the

If eventually more than one rule results in estimated values (for example, for data at the ends of the condition attributes), the resulting value is given by the arithmetic average of the same.

There are free access computational tools developed specifically for the processing of rough sets, such as RSL (Rough Sets Library), Rough Enough, CI (Column Importance facility), Rosetta, etc. These tools allow the processing of data of generic information systems, providing decision rules in a format similar to (6), for example. Data with fractional numeric values can be properly quantized through some established techniques. The reducts that determine the decision rules can be manually selected or determined by some known

The methodology proposed in this paper allows the use of decision rules derived from processing of information system, aimed at building fuzzy models or rough models in order

Figure 3 illustrates the typical structure of a ruled-based controller with PI action (Proportional plus Integral). The variable "*e*" represents the input error information of the

(*<sup>k</sup>*))/(*x*1(*<sup>m</sup>*) – *x*1(*<sup>k</sup>*)) (20)

*y* = *y*(*<sup>k</sup>*) + (*y*(*<sup>m</sup>*) – *y*(*<sup>k</sup>*))(*x*1 – *x*<sup>1</sup>

interpolations, but with an increase in the number of modeling rules.

Table 6. Data of Example 3.

**3.5 Software** 

0.5000], δ(2) = [0.5000, 0.8660] and δ(3) = [0.8660, 1.0000].

be used, which is the specific case of (11) for *n* = 1.

methods from the data processing of the *IS* used.

to design rule-based controllers.

**4. Rule-based controllers** 

$$\begin{array}{l}r\_1 \text{: IF } \boldsymbol{x}\_1 = \text{A AND } \boldsymbol{x}\_2 = \text{A THEN } \boldsymbol{y} = \text{C}\_1;\\r\_2 \text{: IF } \boldsymbol{x}\_1 = \text{A AND } \boldsymbol{x}\_2 = \text{B THEN } \boldsymbol{y} = \text{C}\_2;\\r\_3 \text{: IF } \boldsymbol{x}\_1 = \text{B AND } \boldsymbol{x}\_2 = \text{A THEN } \boldsymbol{y} = \text{C}\_2;\\r\_4 \text{: IF } \boldsymbol{x}\_1 = \text{B AND } \boldsymbol{x}\_2 = \text{B THEN } \boldsymbol{y} = \text{C}\_3.\end{array}$$

For modeling with functional (Takagi-Sugeno) rules (16), the membership functions can be the same as those in Figure 1 for the input variables. For the polynomial function coefficients of the information from the output variable, the same one can be calculated by (13), resulting in the rules expressed by (17). As an example of the calculation of the polynomial coefficient functions, using the decision rule in the form (12) with *x*<sup>1</sup> (*<sup>k</sup>*) = 0, *x*1(*<sup>m</sup>*) = 1, *x*2(*<sup>k</sup>*) = 0, *x*2 (*m*) = 1, *y*(*k*) = 0 and *y*(*<sup>m</sup>*) = 2, where using (13) we have *y* = ((2 – 0)/2)((*x1* – 0)/(1 – 0) + (*x2* – 0)/(1 – 0)) = *x*1 + *x*2 which defines the coefficients of (16). Other examples of fuzzy models obtained with this methodology are illustrated in Pinheiro et al., 2010.

$$r\_n \colon \text{IF } \mathbf{x}\_1 = \mathbf{A}\_n \text{ AND } \mathbf{x}\_2 = \mathbf{B}\_n \text{ THEN } \mathbf{y}\_n = \mathbf{c}\_{0n} + \mathbf{c}\_{1n} \mathbf{x}\_1 + \mathbf{c}\_{2n} \mathbf{x}\_2 \tag{16}$$
  $r\_1$ :  $\text{IF } \mathbf{x}\_1 = \text{ A AND } \mathbf{x}\_2 = \text{ A THEN } \mathbf{y}\_1 = \mathbf{x}\_1 + \mathbf{x}\_2$ :  $r\_2$ :  $\text{IF } \mathbf{x}\_1 = \text{ A AND } \mathbf{x}\_2 = \text{ B THEN } \mathbf{y}\_2 = \mathbf{x}\_1 + \mathbf{x}\_2$ :  $r\_3$ :  $\text{IF } \mathbf{x}\_1 = \text{ B AND } \mathbf{x}\_2 = \text{ A THEN } \mathbf{y}\_3 = \mathbf{x}\_1 + \mathbf{x}\_2$ :  $r\_4$ :  $\text{IF } \mathbf{x}\_1 = \text{ B AND } \mathbf{x}\_2 = \mathbf{B}$   $\text{ THEN } \mathbf{y}\_4 = \mathbf{x}\_1 + \mathbf{x}\_2$ .

#### **3.3 Rough models**

Another simpler modeling option, called rough modeling, directly concerns the representation given in (12), where the data can be interpolated by (13). The advantage of this modeling in relation to the fuzzy models is that it does not require numerical fuzzification and defuzzification procedures, which can be advantageous in real-time applications in control systems, for example. The advantage of fuzzy models is its greater ability to function approximation, which is usually related to the possible intersections between the membership functions of associated fuzzy sets.

In order to illustrate the rough model, we have (12) where *x*1(*<sup>k</sup>*) = 0, *x*1(*<sup>m</sup>*) = 1, *x*<sup>2</sup> (*<sup>k</sup>*) = 0, *x*2(*<sup>m</sup>*) = 1, *y*(*<sup>k</sup>*) = 0 and *y*(*<sup>m</sup>*) = 2. For specific values of variables *x*1 = 0.25 and *x*2 = 0.5, the corresponding value of *y* is desired to be estimated. By using expression (13) comes *y* = 0+(2–0)/2((0.25– 0)/(1–0)+(0.5–0)/(1–0)) = 0.75, which consists of the same numerical value given by the original function of Example 2, where *y* is exactly given by *x*1 + *x*2.

#### **3.4 Example 3**

With the purpose of illustrating situations where data applications have fractional values, Table 6 illustrates an example defined by the nonlinear function *y* = sin(*x*1), with *x*<sup>1</sup> є [0, π/2].

The condition attribute (*x*1) has fractional values that will be quantized in this example in three equally-spaced intervals: α(1) = [0.0000, 0.5236]; α(2) = [0.5236, 1.0472]; α(3) = [1.0472, 1.5708]. Therefore, the decision rules are expressed by (18).

$$\begin{array}{l} r\_1 \text{: IF } \boldsymbol{x}\_1 = \mathbf{a}^{(\text{l})} \text{ THEN } \boldsymbol{y} = \boldsymbol{y}^{(\text{a})} \text{ OR } \boldsymbol{y} = \boldsymbol{y}^{(\text{b})} \text{ OR } \boldsymbol{y} = \boldsymbol{y}^{(\text{c)}};\\ r\_2 \text{: IF } \boldsymbol{x}\_1 = \mathbf{a}^{(\text{2)}} \text{ THEN } \boldsymbol{y} = \boldsymbol{y}^{(\text{c)}} \text{ OR } \boldsymbol{y} = \boldsymbol{y}^{(\text{d)}} \text{ OR } \boldsymbol{y} = \boldsymbol{y}^{(\text{e)}};\\ r\_3 \text{: IF } \boldsymbol{x}\_1 = \mathbf{a}^{(\text{3)}} \text{ THEN } \boldsymbol{y} = \boldsymbol{y}^{(\text{e)}} \text{ OR } \boldsymbol{y} = \boldsymbol{y}^{(\text{f)}} \text{ OR } \boldsymbol{y} = \boldsymbol{y}^{(\text{g)}}.\end{array} \tag{18}$$

*r*1: IF *x*1 = A AND *x*2 = A THEN *y* = C1; *r*2: IF *x*1 = A AND *x*2 = B THEN *y* = C2; *r*3: IF *x*1 = B AND *x*2 = A THEN *y* = C2;

For modeling with functional (Takagi-Sugeno) rules (16), the membership functions can be the same as those in Figure 1 for the input variables. For the polynomial function coefficients of the information from the output variable, the same one can be calculated by (13), resulting in the rules expressed by (17). As an example of the calculation of the polynomial coefficient functions, using the decision rule in the form (12) with *x*1(*<sup>k</sup>*) = 0, *x*1(*<sup>m</sup>*) = 1, *x*2(*<sup>k</sup>*) = 0,

0)/(1 – 0)) = *x*1 + *x*2 which defines the coefficients of (16). Other examples of fuzzy models

*r*1: IF *x*1 = A AND *x*2 = A THEN *y*1 = *x*1 + *x*2; *r*2: IF *x*1 = A AND *x*2 = B THEN *y*2 = *x*1 + *x*2; *r*3: IF *x*1 = B AND *x*2 = A THEN *y*3 = *x*1 + *x*2;

Another simpler modeling option, called rough modeling, directly concerns the representation given in (12), where the data can be interpolated by (13). The advantage of this modeling in relation to the fuzzy models is that it does not require numerical fuzzification and defuzzification procedures, which can be advantageous in real-time applications in control systems, for example. The advantage of fuzzy models is its greater ability to function approximation, which is usually related to the possible intersections

In order to illustrate the rough model, we have (12) where *x*1(*<sup>k</sup>*) = 0, *x*1(*<sup>m</sup>*) = 1, *x*2(*<sup>k</sup>*) = 0, *x*2(*<sup>m</sup>*) = 1, *y*(*<sup>k</sup>*) = 0 and *y*(*<sup>m</sup>*) = 2. For specific values of variables *x*1 = 0.25 and *x*2 = 0.5, the corresponding value of *y* is desired to be estimated. By using expression (13) comes *y* = 0+(2–0)/2((0.25– 0)/(1–0)+(0.5–0)/(1–0)) = 0.75, which consists of the same numerical value given by the

With the purpose of illustrating situations where data applications have fractional values, Table 6 illustrates an example defined by the nonlinear function *y* = sin(*x*1), with *x*<sup>1</sup> є [0, π/2]. The condition attribute (*x*1) has fractional values that will be quantized in this example in three equally-spaced intervals: α(1) = [0.0000, 0.5236]; α(2) = [0.5236, 1.0472]; α(3) = [1.0472,

> *r*1: IF *x*1 = α(1) THEN *y* = *y*(a) OR *y* = *y*(b) OR *y* = *y*(c); *r*2: IF *x*1 = α(2) THEN *y* = *y*(c) OR *y* = *y*(d) OR *y* = *y*(e);

*r*3: IF *x*1 = α(3) THEN *y* = *y*(e) OR *y* = *y*(f) OR *y* = *y*(g). (18)

obtained with this methodology are illustrated in Pinheiro et al., 2010.

between the membership functions of associated fuzzy sets.

original function of Example 2, where *y* is exactly given by *x*1 + *x*2.

1.5708]. Therefore, the decision rules are expressed by (18).

*x*2 (*m*)

= 1, *y*(*k*)

**3.3 Rough models** 

**3.4 Example 3** 

= 0 and *y*(*m*)

*r*4: IF *x*1 = B AND *x*2 = B THEN *y* = C3. (15)

= 2, where using (13) we have *y* = ((2 – 0)/2)((*x1* – 0)/(1 – 0) + (*x2* –

*r*4: IF *x*1 = B AND *x*2 = B THEN *y*4 = *x*1 + *x*2. (17)

*r*n: IF *x*1 = An AND *x*2 = Bn THEN *y*n = c0n+ c1n*x*1 + c2n*x*2 (16)


Table 6. Data of Example 3.

Using the proposed form (10), the rough model (19) can be written, where δ(1) = [0.0000, 0.5000], δ(2) = [0.5000, 0.8660] and δ(3) = [0.8660, 1.0000].

$$\begin{aligned} r\_1 &\text{: IF } \mathbf{x}\_1 = [0.0000, 0.5236] \text{ THEN } y = [0.0000, 0.5000]; \\ r\_2 &\text{: IF } \mathbf{x}\_1 = [0.5236, 1.0472] \text{ THEN } y = [0.5000, 0.8660]; \\ r\_3 &\text{: IF } \mathbf{x}\_1 = [1.0472, 1.5708] \text{ THEN } y = [0.8660, 1.0000]. \end{aligned}$$

To estimate the intermediate values of this model, the linear interpolation formula (20) can be used, which is the specific case of (11) for *n* = 1.

$$y = y^{(k)} + (y^{(m)} - y^{(k)}) (\mathbf{x}\_1 - \mathbf{x}\_1^{(k)}) / \left(\mathbf{x}\_1^{(m)} - \mathbf{x}\_1^{(k)}\right) \tag{20}$$

For instance, for *x*1 = 0.3927 we have *y* = 0 + (0.5 - 0)(0.3927 - 0)/(0.5236 - 0) = 0.375, and for *x*1 = 1.1781, we have *y* = 0.866 + (1 – 0.866)(1.1781 – 1.0472)/(1.5708 - 1.0472) = 0.8995. The average error value in relation to the original function is about 2.3%. A greater degree of quantization relative to the data from the example often leads to better precision in the interpolations, but with an increase in the number of modeling rules.

If eventually more than one rule results in estimated values (for example, for data at the ends of the condition attributes), the resulting value is given by the arithmetic average of the same.

#### **3.5 Software**

There are free access computational tools developed specifically for the processing of rough sets, such as RSL (Rough Sets Library), Rough Enough, CI (Column Importance facility), Rosetta, etc. These tools allow the processing of data of generic information systems, providing decision rules in a format similar to (6), for example. Data with fractional numeric values can be properly quantized through some established techniques. The reducts that determine the decision rules can be manually selected or determined by some known methods from the data processing of the *IS* used.

The methodology proposed in this paper allows the use of decision rules derived from processing of information system, aimed at building fuzzy models or rough models in order to design rule-based controllers.

#### **4. Rule-based controllers**

Figure 3 illustrates the typical structure of a ruled-based controller with PI action (Proportional plus Integral). The variable "*e*" represents the input error information of the

Rough Controller Synthesis 289

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

t [s]

This section provides some examples of applications of the methodology proposed to synthesize rule-based controllers, whose objective is to accomplish control loops appropriate

This example includes a speed control loop of a system that operates in low rotations, which requires a controller with characteristics of adaptive gains due to the nonlinear effects of the controlled process. The block diagram illustrated in Figure 5 represents the controlled process with a transfer function (22) and two nonlinearities. The second nonlinearity, indicated by block (b), defines a dead-zone effect related to gear gaps of the system. The transfer function *P(s),* shapes an electric motor that drives the system. The poles of the same are related to the electrical part associated with resistance and inductance of the motor. The mechanical part is related to moments of inertia and friction of the machine with its mechanical charge. The nominal values of the parameters are: *K* = 2.55; *c*0 = 0.73; *c*1 = 1.74; *d*0 = 0.73. The saturation levels are ±12, the range of the dead-zone is ±1. Figure 6 illustrates a typical control loop to

( ) )(

*u c*

2

*<sup>d</sup> sP*

01

*<sup>P</sup>***(***<sup>s</sup>***) a <sup>b</sup>**

++ <sup>=</sup> (22)

0 *cscs*

Fig. 4. Responses of rule-based controllers (for a step change in the error).

regulate the speed of the process, which works within a specific rotation range.

*K* 

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

for systems with nonlinear behavior, etc.

**5. Application examples** 

Fig. 5. Non-linear process

**5.1 Example 5** 

u(t)

controller, variable "*u*" symbolizes the output of the same, and "T" denotes the sample time. Equation (21) expresses the discrete mathematical model of a PI controller with the respective proportional (Kp) and integral (Ki) gains. Many articles show the computational accomplishments of rule-based controllers, especially those that employ fuzzy logic. The actions of the fuzzy controllers can be PI, PD (proportional plus derivative), PID or Lead/Lad (Pinheiro & Gomide, 2000), depending on the context of their applications. The gains (proportional, integral, etc.) of fuzzy controllers are generally represented by scale factors that multiply the membership functions of the same, or are already fully incorporated in the expressions of their membership functions. Many control problems can be solved using a PI-controller (Astrom & Wittenmark, 1990) due to their applicability and easy tuning.

Fig. 3. Typical structure of a rule-based controller with PI action.

$$\begin{aligned} \mathbf{y} &= \boldsymbol{\mu}(t) = \mathbf{K}\_p \boldsymbol{e}(t) + \mathbf{K}\_i \sum \mathbf{e}(t)T; \\\\ \mathbf{x}\_1 &= \mathbf{K}\_p \mathbf{e}(t); \quad \mathbf{x}\_2 = \mathbf{K}\_i \sum \mathbf{e}(t)T. \end{aligned} \tag{21}$$

#### **4.1 Example 4**

With relation to Figure 3, if the rules are the same as those exemplified in items 3.2 and 3.3 (where the simple data of Example 2 was used), Figure 4 shows the response (*u*) of the respective fuzzy controllers (linguistic and functional) or of the rough controllers for a step change in the error (*e*). The sample time (T) used was one tenth of a second. The points on the graph illustrate the discrete values resulting from the rule-based controllers (being practically identical to each other). And for the purpose of exemplification, the solid line represents the response of a conventional controller continuous in time with unit gains (proportional and integral). Comparing the results, it is possible to note that the design of the rule-based controllers was well fit.

The next section of this article will deal with more complex problems and practical contexts. Application examples like those of control systems with adaptive gains, active suspension systems, and speed regulator and current control for electric motors will be shown.

Questions regarding stability analysis resulting from the application of rough controllers can be performed by harmonic balance techniques, for example, in the same way that these techniques are used in stability analysis of fuzzy controls (Pinheiro & Gomide, 1997; Rezek et al., 2010).

controller, variable "*u*" symbolizes the output of the same, and "T" denotes the sample time. Equation (21) expresses the discrete mathematical model of a PI controller with the respective proportional (Kp) and integral (Ki) gains. Many articles show the computational accomplishments of rule-based controllers, especially those that employ fuzzy logic. The actions of the fuzzy controllers can be PI, PD (proportional plus derivative), PID or Lead/Lad (Pinheiro & Gomide, 2000), depending on the context of their applications. The gains (proportional, integral, etc.) of fuzzy controllers are generally represented by scale factors that multiply the membership functions of the same, or are already fully incorporated in the expressions of their membership functions. Many control problems can be solved using a PI-controller (Astrom & Wittenmark, 1990) due to their applicability and

Fig. 3. Typical structure of a rule-based controller with PI action.

1 2

= =

== +

() () () ;

*p i*

*p i*

*x K et x K etT*

With relation to Figure 3, if the rules are the same as those exemplified in items 3.2 and 3.3 (where the simple data of Example 2 was used), Figure 4 shows the response (*u*) of the respective fuzzy controllers (linguistic and functional) or of the rough controllers for a step change in the error (*e*). The sample time (T) used was one tenth of a second. The points on the graph illustrate the discrete values resulting from the rule-based controllers (being practically identical to each other). And for the purpose of exemplification, the solid line represents the response of a conventional controller continuous in time with unit gains (proportional and integral). Comparing the results, it is possible to note that the design of

The next section of this article will deal with more complex problems and practical contexts. Application examples like those of control systems with adaptive gains, active suspension

Questions regarding stability analysis resulting from the application of rough controllers can be performed by harmonic balance techniques, for example, in the same way that these techniques are used in stability analysis of fuzzy controls (Pinheiro & Gomide, 1997; Rezek

systems, and speed regulator and current control for electric motors will be shown.

*y ut K et K etT*

*e* e.T *u* = *y*

*x*2

*x*1

( ); ( ) .

 **Rules** 

(21)

easy tuning.

**4.1 Example 4** 

et al., 2010).

the rule-based controllers was well fit.

Fig. 4. Responses of rule-based controllers (for a step change in the error).

#### **5. Application examples**

This section provides some examples of applications of the methodology proposed to synthesize rule-based controllers, whose objective is to accomplish control loops appropriate for systems with nonlinear behavior, etc.

#### **5.1 Example 5**

This example includes a speed control loop of a system that operates in low rotations, which requires a controller with characteristics of adaptive gains due to the nonlinear effects of the controlled process. The block diagram illustrated in Figure 5 represents the controlled process with a transfer function (22) and two nonlinearities. The second nonlinearity, indicated by block (b), defines a dead-zone effect related to gear gaps of the system. The transfer function *P(s),* shapes an electric motor that drives the system. The poles of the same are related to the electrical part associated with resistance and inductance of the motor. The mechanical part is related to moments of inertia and friction of the machine with its mechanical charge. The nominal values of the parameters are: *K* = 2.55; *c*0 = 0.73; *c*1 = 1.74; *d*0 = 0.73. The saturation levels are ±12, the range of the dead-zone is ±1. Figure 6 illustrates a typical control loop to regulate the speed of the process, which works within a specific rotation range.

*u c <sup>P</sup>***(***<sup>s</sup>***) a <sup>b</sup>** *K* 

Fig. 5. Non-linear process

$$P(s) = \frac{d\_0}{(s^2 + c\_1s + c\_0)}\tag{22}$$

Rough Controller Synthesis 291

*x*<sup>1</sup> Kp *x*2 Ki 0.00 20.0 0.00 1.40 0.08 20.0 0.07 1.40 0.16 11.5 0.15 1.00 0.31 6.37 0.30 1.00 0.74 3.23 0.72 1.00 1.19 2.35 1.17 0.89 1.62 2.02 1.60 0.76 2.00 2.00 1.99 0.75 2.50 2.00 2.48 0.75 3.01 2.00 3.00 0.75

<sup>0</sup> <sup>50</sup> <sup>100</sup> <sup>150</sup> <sup>200</sup> <sup>250</sup> <sup>300</sup> -4

Samples

0 50 100 150 200 250 300

Samples

the tool: *Import IS*; *Discretization* → *Equal frequency binning;* → *Intervals* = 5; *Reduction* → *Exhaustive calculation*; *Rule generator*. The decision rules (the first three and the last two) that resulted from processing the data done by the software are shown below (23). The "\*" symbol denotes the inferior and superior values of the data of the *IS* correspondent, that in

x1(0.6875,\*) AND x2(0.2942,0.8800) => y(4.0889) OR y(4.2937) ... OR y(2.5230) …OR y(3.4186) x1(0.6875,\*) AND x2(-0.2123,0.2942) => y(2.4749) OR y(3.6601) OR y(5.4837) ... OR y(1.8793) x1(0.1744,0.6875) AND x2(-0.9279,-0.2123) => y(1.7301) OR … OR y(2.0570) OR y(1.2289) … … … … x1(0.1744,0.6875) AND x2(0.2942,0.8800)) => y(2.8625) OR y(3.0640) OR … OR y(2.2344) … x1(\*,-0.8340) AND x2(0.2942, 0.8800) => y(-2.4899) OR y(-1.8370) OR … OR y(-3.2713)… (23) By using the methodology proposed, the rules above can be written as (24), whose

*x*1(f) = 2.8149; *x*2(a) = -3.5027; *x*2(b) = -0.9279; *x*2(c) = -0.2123; *x*2(d) = 0.2942; *x*2(e) = 0.88;

(c) = -0.2338; *x*1(d) = 0.1744; *x*1(e) = 0.6875;

this example are -2.6759 and 2.8149 for *x*1 and -3.5027 and 2.7042 for *x*2.

Table 7. Adaptive gains in function of the error and its integral.

Input values


parameter values are *x*1(a) = -2.6759; *x*1(b) = -0.834; *x*<sup>1</sup>

Output values

Fig. 8. Mapping of the gains.

*x*2(f) = 2.7042.

Fig. 6. Control Loop.

Figure 7 shows the responses of the control loop in question for a conventional PI controller with gains *Kp* = 12 and *Ki* = 1. The same were adjusted to meet the specifications of overshoot around 20% and settling time around seven seconds for a reference value or set point (*sp*) at 2.8 [rd/s]. The response values were normalized (*c*/*sp*) and are related to the following reference values *sp* = [1.5; 2; 2.8]. Due to the nonlinear characteristics of the plant, the dynamic responses of the control loop change according to the set-point values. Alterations in the control gains in function with the intensity of the error in the control loop, maintain the system dynamic within the desired specifications. The mapping of these gains by artificial neural networks or by fuzzy logic for example, allows for the accomplishment of controllers with characteristics of adaptive gains. Table 7 illustrates some suitable gain values in function with the intensity (*x*1) of the error (*e*) of the control loop and its integral (*x*2), in order to properly compensate the process. The mapping (or scheduling) of the gains can be defined as *u* = *y* = *Kp*(*x*1)*x*1 + *Ki*(*x*2)*x*2. Figure 8 illustrates the values of this mapping, where the data relative to the information on the input variables are at the top part of the figure, with *x*1 in black and *x*2 in gray. The output information (*u*) of the controller is found below the graphic.

Fig. 7. Responses relative to Example 5 for a classic controller.

The information in Figure 8 represent the table of the information system of the problem in question, where it is desired to design a rule-based controller that incorporates the scaling gains, aiming for an effective compensation of the controlled process. This paper will employ the Rosetta (Øhrn & Komorowski, 1997), a software for processing of data related to information systems in general. This is a simple use freely accessed tool (http://www.idi.ntnu.no/~aleks/rosetta/). The following procedures were performed in

*u*

 **Plant** 

*c*

*e* **Controller** 

Figure 7 shows the responses of the control loop in question for a conventional PI controller with gains *Kp* = 12 and *Ki* = 1. The same were adjusted to meet the specifications of overshoot around 20% and settling time around seven seconds for a reference value or set point (*sp*) at 2.8 [rd/s]. The response values were normalized (*c*/*sp*) and are related to the following reference values *sp* = [1.5; 2; 2.8]. Due to the nonlinear characteristics of the plant, the dynamic responses of the control loop change according to the set-point values. Alterations in the control gains in function with the intensity of the error in the control loop, maintain the system dynamic within the desired specifications. The mapping of these gains by artificial neural networks or by fuzzy logic for example, allows for the accomplishment of controllers with characteristics of adaptive gains. Table 7 illustrates some suitable gain values in function with the intensity (*x*1) of the error (*e*) of the control loop and its integral (*x*2), in order to properly compensate the process. The mapping (or scheduling) of the gains can be defined as *u* = *y* = *Kp*(*x*1)*x*1 + *Ki*(*x*2)*x*2. Figure 8 illustrates the values of this mapping, where the data relative to the information on the input variables are at the top part of the figure, with *x*1 in black and *x*2 in

0 1 2 3 4 5 6 7 8 9 10

Time (s)

The information in Figure 8 represent the table of the information system of the problem in question, where it is desired to design a rule-based controller that incorporates the scaling gains, aiming for an effective compensation of the controlled process. This paper will employ the Rosetta (Øhrn & Komorowski, 1997), a software for processing of data related to information systems in general. This is a simple use freely accessed tool (http://www.idi.ntnu.no/~aleks/rosetta/). The following procedures were performed in

gray. The output information (*u*) of the controller is found below the graphic.

sp= 1.5 sp= 2 sp= 2.8

0

Fig. 7. Responses relative to Example 5 for a classic controller.

0.2

0.4

0.6

Normalized responses (classical controller)

0.8

1

1.2

1.4

*sp* +


Fig. 6. Control Loop.


Table 7. Adaptive gains in function of the error and its integral.

Fig. 8. Mapping of the gains.

the tool: *Import IS*; *Discretization* → *Equal frequency binning;* → *Intervals* = 5; *Reduction* → *Exhaustive calculation*; *Rule generator*. The decision rules (the first three and the last two) that resulted from processing the data done by the software are shown below (23). The "\*" symbol denotes the inferior and superior values of the data of the *IS* correspondent, that in this example are -2.6759 and 2.8149 for *x*1 and -3.5027 and 2.7042 for *x*2.

x1(0.6875,\*) AND x2(0.2942,0.8800) => y(4.0889) OR y(4.2937) ... OR y(2.5230) …OR y(3.4186) x1(0.6875,\*) AND x2(-0.2123,0.2942) => y(2.4749) OR y(3.6601) OR y(5.4837) ... OR y(1.8793) x1(0.1744,0.6875) AND x2(-0.9279,-0.2123) => y(1.7301) OR … OR y(2.0570) OR y(1.2289) …

 … … … x1(0.1744,0.6875) AND x2(0.2942,0.8800)) => y(2.8625) OR y(3.0640) OR … OR y(2.2344) … x1(\*,-0.8340) AND x2(0.2942, 0.8800) => y(-2.4899) OR y(-1.8370) OR … OR y(-3.2713)… (23)

By using the methodology proposed, the rules above can be written as (24), whose parameter values are *x*<sup>1</sup> (a) = -2.6759; *x*1(b) = -0.834; *x*<sup>1</sup> (c) = -0.2338; *x*<sup>1</sup> (d) = 0.1744; *x*1(e) = 0.6875; *x*1 (f) = 2.8149; *x*2(a) = -3.5027; *x*2(b) = -0.9279; *x*2(c) = -0.2123; *x*<sup>2</sup> (d) = 0.2942; *x*<sup>2</sup> (e) = 0.88; *x*2(f) = 2.7042.

Rough Controller Synthesis 293

the Gaussian membership functions are obtain by the arithmetic average of the parameter values of the antecedents of the rough rules (24), in other words: m1ab = (*x*1(a) + *x*1(b))/2 = - 1.755; m1bc = (*x*1(b) + *x*1(c))/2 = -0.5339; m1cd = (*x*1(c) + *x*1(d))/2 = -0.0297; m1de = (*x*1(d) + *x*1(e))/2 = 0.431; m1ef = (*x*1(e) + *x*1(f))/2 = 1.7512; m2ab = (*x*2(a) + *x*2(b))/2 = -2.2153; m2bc = (*x*2(b) + *x*2(c))/2 = -0.5701; m2cd = (*x*2(c) + *x*2(d))/2 = 0.041; m2de = (*x*2(d) + *x*2(e))/2 = 0.5871; m2ef = (*x*2(e) + *x*2(f))/2 = 1.7921. The dispersion values of the membership functions (0.8 in this example) are chosen in order for the intersection of the same to remain in a membership degree around 0.5. The results obtained with the corresponding fuzzy controller are very

0 1 2 3 4 5 6 7 8 9 10

Time (s)

This example deals with an active suspension model used in automotive systems. Figure 10 illustrates a typical system known as ¼ model. The spring and damper of the structure are represented by coefficients *Kf* and *B*, respectively. The parameter *Ms* corresponds to the sprung mass of the vehicle. The *Mr* is the mass of the wheel and tire and *Kp* represents the elasticity of the same. *dp*, *dr* and *ds* are vertical displacement of the tire, wheel and body of the vehicle, respectively. The force *Fa* represents the action exerted by an active damper aiming

The system can be represented in state variables (25). Variable *x1* represents the vertical displacement of the suspended mass, *x2* represents the speed of the same, and its derivation is the corresponding acceleration. Variable *x3* represents the vertical displacement of the wheel, *x4* represents the speed of the same, and its derivation is the corresponding acceleration. Variable *u1* expresses a disturbance in the suspension, like the vertical displacement of the tire. The magnitude of *u2* represents the compensation force of the

similar to the responses illustrated in Figure 9.

sp=1.5 sp=2

sp=2.8

0

**5.2 Example 6** 

damper system.

Fig. 9. Responses relative to Example 5 with rough controller.

the imposition of determined dynamic characteristics in the suspension.

0.2

0.4

0.6

Normalized responses (rough controller)

0.8

1

1.2

1.4


Figure 9 has the normalized responses of the control loop now using the rough controller designed by the rules (24). The responses tend to maintain the specified characteristics of overshoot and settling time for different set-point values, different from the conventional PI controller responses (whose responses are shown in Fig. 7). This shows that the rule-based controller incorporated the relationships (nonlinear) of the gains from Table 7 in function of the error and its integration. The performance of the controller has adaptive actions according to the intensity of the error information of the control loop.

The rules for a corresponding functional fuzzy controller are obtained by the form described in item 3.2 from the rules (24). The resulting coefficients of the polynomial functions of the fuzzy model in form (16) are: c01 = 1.79; c11 = 0.42; c21 = 1.51; c02 = 2.05; c12 = 0.85; c22 = 3.56; c03 = 1.62; c13 = 0.81; c23 = 0.58; c04 = -2.60; c14 = 0.54; c24 = 0.12; c05 = - 2.24; c15 = 1.26; c25 = 4.58; c06 = -0.88; c16 = 0.64; c26 = 0.21; c07 = -0.82; c17 = 1.06; c27 = 1.07; c08 = -1.66; c18 = 5.18; c28 = 3.61; c09 = -1.70; c19 = 0.66; c29 = 0.79; c010 = -1.75; c110 = 0.49; c210 = 1.27; c011 = -1.08; c111 = 4.28; c211 = 0.96; c012 = 1.30; c112 = 5.67; c212 = 3.23; c013 = 3.90; c113 = 10.57; c213 = 1.67; c014 = 3.89; c114 = 4.40; c214 = 3.69; c015 = 3.75; c115 = 1.24; c215 = 3.70; c016 = -1.49; c116 = 0.62; c216 = 0.64; c017 = 1.71; c117 = 0.50; c217 = 0.41; c018 = 0.00; c118 = 5.18; c218 = 4.17; c019 = 1.82; c119 = 0.64; c219 = 0.65; c020 = 2.62; c120 = 0.69; c220 = 0.19; c021 = -2.04; c121 = 0.66; c221 = 0.47; c022 = 1.74; c122 = 0.66; c222 = 0.77; c023 = 0.96; c123 = 0.52; c223 = 0.10; c024 = 1.88; c124 = 0.81; c224 = 0.71; c025 = -2.59; c125 = 0.39; c225 = 1.22. The modal values for

(b)] THEN *y* = [-3.4899, -2.8470];

(f)] THEN *y* = [-1.2319, -0.4610];

(c)] THEN *y* = [1.1753, 6.4760];

(24)

(d)] THEN *y* = [-2.0980, 2.1297];

*r*1: IF *x*1 = [*x*1(e), *x*1(f)] AND *x*2 = [*x*2(d), *x*2(e)] THEN *y* = [2.5230, 4.2937]; *r*2: IF *x*1 = [*x*1(e), *x*1(f)] AND *x*2 = [*x*2(c), *x*2(d)] THEN *y* = [1.8793, 5.4837]; *r*3: IF *x*1 = [*x*1(d), *x*1(e)] AND *x*2 = [*x*2(b), *x*2(c)] THEN *y* = [1.2289, 2.0570];

(a)*, x*<sup>2</sup>

*r*5: IF *x*1 = [*x*1(a), *x*1(b)] AND*x*2 = [*x*2(c), *x*2(d)] THEN *y* = [-6.5810, -1.9420];

*r*7: IF *x*1 = [*x*1(a), *x*1(b)] AND *x*2 = [*x*2(e), *x*2(f)] THEN *y* = [-2.7080, 1.1847];

*r*9: IF *x*1 = [*x*1(b), *x*1(c)] AND *x*2 = [*x*2(c), *x*2(d)] THEN *y* = [-2.4210, -1.62330]; *r*10:IF *x*1 = [*x*1(a), *x*1(b)] AND *x*2 = [*x*2(b), *x*2(c)] THEN *y* = [-4.2604, -2.4360];

*r*14:IF *x*1 = [*x*1(b), *x*1(c)] AND *x*2 = [*x*2(b), *x*2(c)] THEN *y* = [-3.2030, -2.0760].

*r*17:IF *x*1 = [*x*1(e), *x*1(f)] AND *x*2 = [*x*2(a), *x*2(b)] THEN *y* = [0.6120, 2.7360];

*r*19:IF *x*1 = [*x*1(d), *x*1(e)] AND *x*2 = [*x*2(c), *x*2(d)] THEN *y* = [1.7996, 2.4580]; *r*20:IF *x*1 = [*x*1(d), *x*1(e)] AND *x*2 = [*x*2(e), *x*2(f)] THEN *y* = [2.9106, 3.6160]; *r*21:IF *x*1 = [*x*1(a), *x*1(b)] AND *x*2 = [*x*2(a), *x*2(b)] THEN *y* = [-5.4544, -3.0290];

*r*25:IF *x*1 = [*x*1(a), *x*1(b)] AND *x*2 = [*x*2(d), *x*2(e)] THEN *y* = [-3.2713, -1.8400].

according to the intensity of the error information of the control loop.

(d)] AND *x*2 = [*x*2(d), *x*2(e)] THEN *y* = [-1.8116, 2.4170];

(c), *x*1(d)] AND *x*2 = [*x*2(e), *x*2(f)] THEN *y* = [-1.2340, 2.2624];

(c), *x*1(d)] AND *x*2 = [*x*2(b), *x*2(c)] THEN *y* = [-3.0277, 1.6000];

(c), *x*1(d)] AND *x*2 = [*x*2(a), *x*2(b)] THEN *y* = [-4.4430, 4.1896];

(e), *x*1(f)] AND *x*2 = [*x*2(e), *x*2(f)] THEN *y* = [2.8684, 5.6692];

(d), *x*1(e)] AND *x*2 = [*x*2(a), *x*2(b ] THEN *y* = [0.6848, 1.2190];

(d), *x*1(e)] AND *x*2 = [*x*2(d), *x*2(e)] THEN *y* = [2.2344, 3.0640];

Figure 9 has the normalized responses of the control loop now using the rough controller designed by the rules (24). The responses tend to maintain the specified characteristics of overshoot and settling time for different set-point values, different from the conventional PI controller responses (whose responses are shown in Fig. 7). This shows that the rule-based controller incorporated the relationships (nonlinear) of the gains from Table 7 in function of the error and its integration. The performance of the controller has adaptive actions

The rules for a corresponding functional fuzzy controller are obtained by the form described in item 3.2 from the rules (24). The resulting coefficients of the polynomial functions of the fuzzy model in form (16) are: c01 = 1.79; c11 = 0.42; c21 = 1.51; c02 = 2.05; c12 = 0.85; c22 = 3.56; c03 = 1.62; c13 = 0.81; c23 = 0.58; c04 = -2.60; c14 = 0.54; c24 = 0.12; c05 = - 2.24; c15 = 1.26; c25 = 4.58; c06 = -0.88; c16 = 0.64; c26 = 0.21; c07 = -0.82; c17 = 1.06; c27 = 1.07; c08 = -1.66; c18 = 5.18; c28 = 3.61; c09 = -1.70; c19 = 0.66; c29 = 0.79; c010 = -1.75; c110 = 0.49; c210 = 1.27; c011 = -1.08; c111 = 4.28; c211 = 0.96; c012 = 1.30; c112 = 5.67; c212 = 3.23; c013 = 3.90; c113 = 10.57; c213 = 1.67; c014 = 3.89; c114 = 4.40; c214 = 3.69; c015 = 3.75; c115 = 1.24; c215 = 3.70; c016 = -1.49; c116 = 0.62; c216 = 0.64; c017 = 1.71; c117 = 0.50; c217 = 0.41; c018 = 0.00; c118 = 5.18; c218 = 4.17; c019 = 1.82; c119 = 0.64; c219 = 0.65; c020 = 2.62; c120 = 0.69; c220 = 0.19; c021 = -2.04; c121 = 0.66; c221 = 0.47; c022 = 1.74; c122 = 0.66; c222 = 0.77; c023 = 0.96; c123 = 0.52; c223 = 0.10; c024 = 1.88; c124 = 0.81; c224 = 0.71; c025 = -2.59; c125 = 0.39; c225 = 1.22. The modal values for

(c)] AND *x*2 = [*x*2(d), *x*2(e)] THEN *y* = [-1.8250, -1.0780];

*r*4: IF *x*1 = [*x*<sup>1</sup>

*r*8: IF *x*1 = [*x*1(c), *x*<sup>1</sup>

*r*11:IF *x*1 = [*x*<sup>1</sup>

*r*12:IF *x*1 = [*x*<sup>1</sup>

*r*13:IF *x*1 = [*x*<sup>1</sup>

*r*15:IF *x*1 = [*x*<sup>1</sup>

*r*16:IF *x*1 = [*x*<sup>1</sup>

*r*18:IF *x*1 = [*x*<sup>1</sup>

*r*22:IF *x*1 = [*x*<sup>1</sup>

*r*23:IF *x*1 = [*x*<sup>1</sup>

*r*24:IF *x*1 = [*x*<sup>1</sup>

(b), *x*<sup>1</sup>

(b), *x*<sup>1</sup>

*r*6: IF *x*1 = [*x*1(b), *x*1(c)] AND *x*2 = [*x*2(e), *x*<sup>2</sup>

(c)] AND *x*2 = [*x*<sup>2</sup>

(e), *x*1(f)] AND *x*2 = [*x*2(b), *x*<sup>2</sup>

(c), *x*1(d)] AND *x*2 = [*x*2(c), *x*<sup>2</sup>

the Gaussian membership functions are obtain by the arithmetic average of the parameter values of the antecedents of the rough rules (24), in other words: m1ab = (*x*1(a) + *x*1(b))/2 = - 1.755; m1bc = (*x*1(b) + *x*1(c))/2 = -0.5339; m1cd = (*x*1(c) + *x*1(d))/2 = -0.0297; m1de = (*x*1(d) + *x*1(e))/2 = 0.431; m1ef = (*x*1(e) + *x*1(f))/2 = 1.7512; m2ab = (*x*2(a) + *x*2(b))/2 = -2.2153; m2bc = (*x*2(b) + *x*2(c))/2 = -0.5701; m2cd = (*x*2(c) + *x*2(d))/2 = 0.041; m2de = (*x*2(d) + *x*2(e))/2 = 0.5871; m2ef = (*x*2(e) + *x*2(f))/2 = 1.7921. The dispersion values of the membership functions (0.8 in this example) are chosen in order for the intersection of the same to remain in a membership degree around 0.5. The results obtained with the corresponding fuzzy controller are very similar to the responses illustrated in Figure 9.

Fig. 9. Responses relative to Example 5 with rough controller.

#### **5.2 Example 6**

This example deals with an active suspension model used in automotive systems. Figure 10 illustrates a typical system known as ¼ model. The spring and damper of the structure are represented by coefficients *Kf* and *B*, respectively. The parameter *Ms* corresponds to the sprung mass of the vehicle. The *Mr* is the mass of the wheel and tire and *Kp* represents the elasticity of the same. *dp*, *dr* and *ds* are vertical displacement of the tire, wheel and body of the vehicle, respectively. The force *Fa* represents the action exerted by an active damper aiming the imposition of determined dynamic characteristics in the suspension.

The system can be represented in state variables (25). Variable *x1* represents the vertical displacement of the suspended mass, *x2* represents the speed of the same, and its derivation is the corresponding acceleration. Variable *x3* represents the vertical displacement of the wheel, *x4* represents the speed of the same, and its derivation is the corresponding acceleration. Variable *u1* expresses a disturbance in the suspension, like the vertical displacement of the tire. The magnitude of *u2* represents the compensation force of the damper system.

Rough Controller Synthesis 295

Some papers (Pinheiro et al., 2007; Dong, et al., 2010) show the application of fuzzy logic to control suspension systems. In the first reference cited, the fuzzy control rules were obtained by qualitative analyses of the logic expressed by (36). The results obtained with the use of fuzzy controller were better than those with the typical control. This explanation is that with the traditional algorithm, the command force of the system is only related to the two values (*C*on and *C*off) of the coefficient of the damper selected by the logic. The compensation force for the fuzzy controller can vary in a wider operation range in function of the membership functions adopted. Figure 11 shows the values of the variables of the suspension system

Now, the methodology proposed in this paper will be applied to generate a rule-based controller to control the suspension system in question. The data in Figure 11 constitutes the information system of the example, where *x*1 is related to *V*abs, *x*2 with *V*rel and *y* with *F*a. Similar to the previous example, the *IS* in question was processed by Rosetta, and by using the proposed method the rules (27) were synthesized, where: *x*1(a)= -2.385; *x*1(b)= -0.681;

(d) = 0.383; *x*1(e)= 0.90; *x*1(f)= 2.731; *x*2(a)= -0.3153; *x*2(b)= -0.078; *x*2(c) = -0.008;

(d) THEN -2.279 ≤ *y* ≤ -1.218

under various operating conditions.

*x*2(d) = 0.04; *x*2(e ) = 0.1; *x*2(f) = 0.368.

*r*5: IF *x*1(e) ≤*x*1 ≤ *x*1(f) AND *x*<sup>2</sup>

*r*13:IF *x*1(b) ≤ *x*1 ≤ *x*<sup>1</sup>

*r*18:IF *x*1(b) ≤ *x*1 ≤ *x*<sup>1</sup>

*r*23:IF *x*1(b) ≤ *x*1 ≤ *x*<sup>1</sup>

*r*25:IF *x*1(b) ≤ *x*1 ≤ *x*<sup>1</sup>

*r*15:IF *x*1(d) ≤ *x*1 ≤ *x*1(e) AND *x*<sup>2</sup>

*r*17:IF *x*1(d) ≤ *x*1 ≤ *x*1(e) AND *x*<sup>2</sup>

*r*19:IF *x*1(d) ≤ *x*1 ≤ *x*1(e) AND *x*<sup>2</sup>

*r*22:IF *x*1(d) ≤ *x*1 ≤ *x*1(e) AND *x*<sup>2</sup>

*r*20:IF *x*1(c) ≤ *x*1 ≤ *x*1(d) AND *x*2(b) ≤ *x*2 ≤ *x*<sup>2</sup>

*r*24:IF *x*1(a) ≤ *x*1 ≤ *x*1(b) AND *x*2(b) ≤ *x*2 ≤ *x*<sup>2</sup>

*r*1: IF *x*1(e) ≤ *x*1 ≤ *x*1(f) AND *x*2(e) ≤ *x*2 ≤ *x*2(f) THEN -3.709 ≤ *y* ≤ 1.562 *r*2: IF *x*1(e) ≤ *x*1 ≤ *x*1(f) AND *x*2(d )≤ *x*2 ≤ *x*2(e) THEN -3.593 ≤ *y* ≤ 1.379 *r*3: IF *x*1(c) ≤ *x*1 ≤ *x*1(d) AND *x*2(d) ≤ *x*2 ≤ *x*2(e) THEN 0.621 ≤ *y* ≤ 0.226 *r*4: IF *x*1(e) ≤ *x*1 ≤ *x*1(f) AND *x*2(b) ≤ *x*2 ≤ *x*2(c) THEN -2.385 ≤ *y* ≤ -1.23

(c) ≤ *x*2 ≤ *x*<sup>2</sup>

*r*6: IF *x*1(d) ≤ *x*1 ≤ *x*1(e) AND *x*2(c) ≤ *x*2 ≤ *x*2(d) THEN -1.092 ≤ *y* ≤ -0.597 *r*7: IF *x*1(a) ≤ *x*1 ≤ *x*1(b) AND *x*2(a) ≤ *x*2 ≤ *x*2(b) THEN 1.513 ≤ *y* ≤ 3.387 *r*8: IF *x*1(e) ≤ *x*1 ≤ *x*1(f) AND *x*2(a) ≤ *x*2 ≤ *x*2(b) THEN -2.251 ≤ *y* ≤ -1.128 *r*9: IF *x*1(a) ≤ *x*1 ≤ *x*1(b) AND *x*2(d) ≤ *x*2 ≤ *x*2(e) THEN 0.967 ≤ *y* ≤ 3.443 *r*10:IF *x*1(d) ≤ *x*1 ≤ *x*1(e) AND *x*2(b )≤ *x*2 ≤ *x*2(c) THEN -0.513 ≤ *y* ≤ -1.062 *r*11:IF *x*1(a) ≤ *x*1 ≤ *x*1(b) AND *x*2(c) ≤ *x*2 ≤ *x*2(d) THEN 0.923 ≤ *y* ≤ 3.174 *r*12:IF *x*1(c) ≤ *x*1 ≤ *x*1(d) AND *x*2(a) ≤ *x*2 ≤ *x*2(b) THEN -0.437 ≤ *y* ≤ -0.074

*r*14:IF *x*1(c) ≤ *x*1 ≤ *x*1(d) AND *x*2(c) ≤ *x*2 ≤ *x*2(d) THEN -0.555 ≤ *y* ≤ 0.188

*r*16:IF *x*1(c) ≤ *x*1 ≤ *x*1(d) AND *x*2(e) ≤ *x*2 ≤ *x*2(f) THEN -1.048 ≤ *y* ≤0.116

*r*21:IF *x*1(a) ≤ *x*1 ≤ *x*1(b) AND *x*2(e) ≤ *x*2 ≤ *x*2(f) THEN 0.854 ≤ *y* ≤ 2.688

(c) AND *x*2(d) ≤ *x*2 ≤ *x*<sup>2</sup>

(c) AND *x*2(a) ≤ *x*2 ≤ *x*2(b) THEN 0.783 ≤ *y* ≤ 1.547

(c) AND *x*2(e) ≤ *x*2 ≤ *x*2(f) THEN 0.235 ≤ *y* ≤ 0.848

(c) AND *x*2(b) ≤ *x*2 ≤ *x*2(c) THEN 0.408 ≤ *y*≤ 0.991

(a) ≤ *x*2 ≤ *x*2(b) THEN -1.088 ≤ *y* ≤ -0.580

(d ≤ *x*2 ≤ *x*2(e) THEN -1.361 ≤ *y* ≤ -0.773

(c) ≤ *x*2 ≤ *x*2(d) THEN 0.300 ≤ *y* ≤ 0.810

(e) ≤ *x*2 ≤ *x*2(f) THEN -2.169 ≤ *y* ≤ -0.992

A suspension model with the parameters *Ms* = 400 [Kg], *Mr* = 50 [Kg], *Ba* = 500 [Ns/m], *Kf* = 20000 [N/m], *Kp*=250000 [N/m], using a classical control with *Coff* = 500 [Ns/m], *Con* = 1400 [Ns/m], and applying the strategy defined by rules (27), in Figure 12 we have responses of

(e) THEN 0.282 ≤ *y* ≤ 0.800

(27)

(c) THEN -0.384 ≤ *y* ≤ 0.300

(c) THEN 1.073 ≤ *y* ≤ 2.998

*x*1(c)= -0.184; *x*<sup>1</sup>

Fig. 10. Model of Example 6.

$$\begin{aligned} \stackrel{\circ}{\mathcal{X}}\_{1}^{\circ} &= \mathbf{x}\_{2} \\ \stackrel{\circ}{\mathcal{X}}\_{2}^{\circ} &= -\frac{K\_{f}}{M\_{S}} \mathbf{x}\_{1} - \frac{B\_{a}}{M\_{S}} \mathbf{x}\_{2} + \frac{K\_{f}}{M\_{S}} \mathbf{x}\_{3} + \frac{B\_{a}}{M\_{S}} \mathbf{x}\_{4} + \frac{1}{M\_{S}} u\_{2} \\ \stackrel{\circ}{\mathcal{X}}\_{3}^{\circ} &= \mathbf{x}\_{4} \\ \stackrel{\circ}{\mathcal{X}}\_{4}^{\circ} &= \frac{K\_{f}}{M\_{r}} \mathbf{x}\_{1} + \frac{B\_{a}}{M\_{r}} \mathbf{x}\_{2} - \frac{K\_{f} + K\_{p}}{M\_{r}} \mathbf{x}\_{3} - \frac{B\_{a}}{M\_{r}} \mathbf{x}\_{4} + \frac{K\_{p}}{M\_{r}} u\_{1} - \frac{1}{M\_{r}} u\_{2} \end{aligned} \tag{25}$$

There are some types of well-known strategies to control active suspension systems. Expression (26) defines a typical strategy. The magnitude of *F*a corresponds to the force developed by the active damper in the system. The same depends on values *C*on and *C*off defined for the coefficient of the damper system (obtained by controlled leaking of fluid of the damper by an electrically controlled valve) or by variations of magnetic characteristics of the fluid by a current-controlled induction), along with information of the absolute speed (*V*abs) and relative speed (*V*rel) of the process. *Vabs* is the absolute speed of the sprung mass and *Vrel* is the relative speed between the sprung mass and the mass of the wheel-tire set.

$$F\_a = \begin{cases} \mathbb{C}\_{on} V\_{abs} + \mathbb{C}\_{off} V\_{rel} & \text{if} \quad \mathbb{V}\_{abs} V\_{rel} \ge 0, \\ \mathbb{C}\_{off} V\_{rel} & \text{if} \quad \mathbb{V}\_{abs} V\_{rel} < 0. \end{cases} \tag{26}$$

12342

*xxxxu MMMMM*

*SSSSS*

*<sup>o</sup> f f p p a a*

*K KK K B B*

+ =+− −+−

*<sup>o</sup> f f a a*

 *Kp* 

*K K B B*

=− − + + +

 *Mr* 

*Kf B Fa* 

 *Ms* 

12 3412

*xx xxuu MM M MMM*

off rel abs

*on abs rel <sup>a</sup> off rel rel C V V <sup>F</sup> C V <sup>V</sup>* + ≥ <sup>=</sup> <sup>&</sup>lt;

abs C V if V 0, if V 0.

*rr r rrr*

There are some types of well-known strategies to control active suspension systems. Expression (26) defines a typical strategy. The magnitude of *F*a corresponds to the force developed by the active damper in the system. The same depends on values *C*on and *C*off defined for the coefficient of the damper system (obtained by controlled leaking of fluid of the damper by an electrically controlled valve) or by variations of magnetic characteristics of the fluid by a current-controlled induction), along with information of the absolute speed (*V*abs) and relative speed (*V*rel) of the process. *Vabs* is the absolute speed of the sprung mass and *Vrel* is the relative speed between the sprung mass and the mass of the wheel-tire set.

1

*dp* 

*ds* 

*dr* 

1

(25)

(26)

Fig. 10. Model of Example 6.

2

*x*

=

1

*o*

*x*

*x*

2

*o*

*x*

*x*

3

4

4

*x*

=

Some papers (Pinheiro et al., 2007; Dong, et al., 2010) show the application of fuzzy logic to control suspension systems. In the first reference cited, the fuzzy control rules were obtained by qualitative analyses of the logic expressed by (36). The results obtained with the use of fuzzy controller were better than those with the typical control. This explanation is that with the traditional algorithm, the command force of the system is only related to the two values (*C*on and *C*off) of the coefficient of the damper selected by the logic. The compensation force for the fuzzy controller can vary in a wider operation range in function of the membership functions adopted. Figure 11 shows the values of the variables of the suspension system under various operating conditions.

Now, the methodology proposed in this paper will be applied to generate a rule-based controller to control the suspension system in question. The data in Figure 11 constitutes the information system of the example, where *x*1 is related to *V*abs, *x*2 with *V*rel and *y* with *F*a. Similar to the previous example, the *IS* in question was processed by Rosetta, and by using the proposed method the rules (27) were synthesized, where: *x*1(a)= -2.385; *x*1(b)= -0.681; *x*1 (c)= -0.184; *x*<sup>1</sup> (d) = 0.383; *x*1(e)= 0.90; *x*1(f)= 2.731; *x*<sup>2</sup> (a)= -0.3153; *x*<sup>2</sup> (b)= -0.078; *x*2(c) = -0.008; *x*2(d) = 0.04; *x*2(e ) = 0.1; *x*2(f) = 0.368.

*r*1: IF *x*1(e) ≤ *x*1 ≤ *x*1(f) AND *x*2(e) ≤ *x*2 ≤ *x*2(f) THEN -3.709 ≤ *y* ≤ 1.562 *r*2: IF *x*1(e) ≤ *x*1 ≤ *x*1(f) AND *x*2(d )≤ *x*2 ≤ *x*2(e) THEN -3.593 ≤ *y* ≤ 1.379 *r*3: IF *x*1(c) ≤ *x*1 ≤ *x*1(d) AND *x*2(d) ≤ *x*2 ≤ *x*2(e) THEN 0.621 ≤ *y* ≤ 0.226 *r*4: IF *x*1(e) ≤ *x*1 ≤ *x*1(f) AND *x*2(b) ≤ *x*2 ≤ *x*2(c) THEN -2.385 ≤ *y* ≤ -1.23 *r*5: IF *x*1(e) ≤*x*1 ≤ *x*1(f) AND *x*2(c) ≤ *x*2 ≤ *x*2(d) THEN -2.279 ≤ *y* ≤ -1.218 *r*6: IF *x*<sup>1</sup> (d) ≤ *x*1 ≤ *x*1(e) AND *x*2(c) ≤ *x*2 ≤ *x*2(d) THEN -1.092 ≤ *y* ≤ -0.597 *r*7: IF *x*1(a) ≤ *x*1 ≤ *x*1(b) AND *x*2(a) ≤ *x*2 ≤ *x*2(b) THEN 1.513 ≤ *y* ≤ 3.387 *r*8: IF *x*1(e) ≤ *x*1 ≤ *x*1(f) AND *x*2(a) ≤ *x*2 ≤ *x*2(b) THEN -2.251 ≤ *y* ≤ -1.128 *r*9: IF *x*<sup>1</sup> (a) ≤ *x*1 ≤ *x*1(b) AND *x*2(d) ≤ *x*2 ≤ *x*2(e) THEN 0.967 ≤ *y* ≤ 3.443 *r*10:IF *x*1(d) ≤ *x*1 ≤ *x*1(e) AND *x*2(b )≤ *x*2 ≤ *x*2(c) THEN -0.513 ≤ *y* ≤ -1.062 *r*11:IF *x*<sup>1</sup> (a) ≤ *x*1 ≤ *x*1(b) AND *x*<sup>2</sup> (c) ≤ *x*2 ≤ *x*2(d) THEN 0.923 ≤ *y* ≤ 3.174 *r*12:IF *x*1(c) ≤ *x*1 ≤ *x*1(d) AND *x*2(a) ≤ *x*2 ≤ *x*2(b) THEN -0.437 ≤ *y* ≤ -0.074 *r*13:IF *x*<sup>1</sup> (b) ≤ *x*1 ≤ *x*1(c) AND *x*2(a) ≤ *x*2 ≤ *x*2(b) THEN 0.783 ≤ *y* ≤ 1.547 *r*14:IF *x*1(c) ≤ *x*1 ≤ *x*1(d) AND *x*2(c) ≤ *x*2 ≤ *x*2(d) THEN -0.555 ≤ *y* ≤ 0.188 *r*15:IF *x*<sup>1</sup> (d) ≤ *x*1 ≤ *x*1(e) AND *x*2(a) ≤ *x*2 ≤ *x*<sup>2</sup> (b) THEN -1.088 ≤ *y* ≤ -0.580 *r*16:IF *x*1(c) ≤ *x*1 ≤ *x*1(d) AND *x*2(e) ≤ *x*2 ≤ *x*2(f) THEN -1.048 ≤ *y* ≤0.116 *r*17:IF *x*1(d) ≤ *x*1 ≤ *x*1(e) AND *x*2(d ≤ *x*2 ≤ *x*2(e) THEN -1.361 ≤ *y* ≤ -0.773 *r*18:IF *x*1(b) ≤ *x*1 ≤ *x*1(c) AND *x*2(d) ≤ *x*2 ≤ *x*2(e) THEN 0.282 ≤ *y* ≤ 0.800 *r*19:IF *x*1(d) ≤ *x*1 ≤ *x*1(e) AND *x*2(c) ≤ *x*2 ≤ *x*2(d) THEN 0.300 ≤ *y* ≤ 0.810 *r*20:IF *x*1(c) ≤ *x*1 ≤ *x*1(d) AND *x*2(b) ≤ *x*2 ≤ *x*2(c) THEN -0.384 ≤ *y* ≤ 0.300 *r*21:IF *x*<sup>1</sup> (a) ≤ *x*1 ≤ *x*1(b) AND *x*<sup>2</sup> (e) ≤ *x*2 ≤ *x*2(f) THEN 0.854 ≤ *y* ≤ 2.688 *r*22:IF *x*<sup>1</sup> (d) ≤ *x*1 ≤ *x*1(e) AND *x*2(e) ≤ *x*2 ≤ *x*2(f) THEN -2.169 ≤ *y* ≤ -0.992 *r*23:IF *x*1(b) ≤ *x*1 ≤ *x*1(c) AND *x*2(e) ≤ *x*2 ≤ *x*2(f) THEN 0.235 ≤ *y* ≤ 0.848 *r*24:IF *x*1(a) ≤ *x*1 ≤ *x*1(b) AND *x*2(b) ≤ *x*2 ≤ *x*2(c) THEN 1.073 ≤ *y* ≤ 2.998 *r*25:IF *x*1(b) ≤ *x*1 ≤ *x*1(c) AND *x*2(b) ≤ *x*2 ≤ *x*2(c) THEN 0.408 ≤ *y*≤ 0.991

(27)

A suspension model with the parameters *Ms* = 400 [Kg], *Mr* = 50 [Kg], *Ba* = 500 [Ns/m], *Kf* = 20000 [N/m], *Kp*=250000 [N/m], using a classical control with *Coff* = 500 [Ns/m], *Con* = 1400 [Ns/m], and applying the strategy defined by rules (27), in Figure 12 we have responses of

Rough Controller Synthesis 297

Classical Control Rough Control

Fig. 12. Responses of the suspension system with classic and rough controls.

Fig. 13. Block diagram of the system in reference to Example 7.

Fig. 14. Control Loops of Example 7

<sup>0</sup> 0.05 0.1 0.15 0.2 0.25 0.3 -5

Time [s]

( ) ( ) ( 1) ( 1) *u t* = *bo e t* + *b*1*e t* − + *a*1*u t* − (28)

0

Acceleration [m/s2]

5

10

Fig. 11. Values of the variables of the suspension system under various operating conditions.

the acceleration of the sprung mass of the process for a sudden dislocation of 0.05 meters in the tire of the system. The results obtained indicate a better response (smaller acceleration) of the system using a rule-based controller in relation to the classical strategy. Therefore, just as in the fuzzy controller cited, the compensation force commanded by the rough controller can vary in wider operation ranges, since the rules incorporate the various operating conditions of the system (Fig. 11) in its generation procedure.

#### **5.3 Example 7**

This example shows a real application of control loops in cascade for speed regulation and current control in a drive system with a DC motor. Figure 13 shows a block diagram of the process in question. The motor is activated by a driver (chopper), which uses power transistor. Electronic circuits generate firing pulses to command the chopper and are controlled by a computer that performs the control algorithms of the system, in other words, two regulation loops in cascaded (Fig. 14) for the variables speed and current. Hall sensors provide information on the stator current (*Ia*) of the motor and the rotation (W) of the same, whose information are acquired by a data acquisition system coupled with the control computer. A synchronous machine operating as a generator feeds a set of electrical resistors switched by relays, and this set works as variable loads for the DC motor. This system has nonlinearities, mainly due to saturation of the driver used (amplifier and chopper) and the nonlinear characteristics of the series excitation motor. Real results of the tests performed in this system will be shown. The results are derived from experiments that use conventional controllers with PI actions to regulate the speed and current of the system, and rough control algorithms also with proportional and integral actions for the same purposes. Discrete representations equal to (28) were used for the realizations of the control algorithms, where variable "*e*" represents the control loop error (of the speed and of the current), "*u*" symbolizes the output variable of the controller in question, and "*a1*, *b0* and *b1*" are the parameters for the classic PI controllers.



Compensation force (N)

Fig. 11. Values of the variables of the suspension system under various operating conditions.

the acceleration of the sprung mass of the process for a sudden dislocation of 0.05 meters in the tire of the system. The results obtained indicate a better response (smaller acceleration) of the system using a rule-based controller in relation to the classical strategy. Therefore, just as in the fuzzy controller cited, the compensation force commanded by the rough controller can vary in wider operation ranges, since the rules incorporate the various operating

This example shows a real application of control loops in cascade for speed regulation and current control in a drive system with a DC motor. Figure 13 shows a block diagram of the process in question. The motor is activated by a driver (chopper), which uses power transistor. Electronic circuits generate firing pulses to command the chopper and are controlled by a computer that performs the control algorithms of the system, in other words, two regulation loops in cascaded (Fig. 14) for the variables speed and current. Hall sensors provide information on the stator current (*Ia*) of the motor and the rotation (W) of the same, whose information are acquired by a data acquisition system coupled with the control computer. A synchronous machine operating as a generator feeds a set of electrical resistors switched by relays, and this set works as variable loads for the DC motor. This system has nonlinearities, mainly due to saturation of the driver used (amplifier and chopper) and the nonlinear characteristics of the series excitation motor. Real results of the tests performed in this system will be shown. The results are derived from experiments that use conventional controllers with PI actions to regulate the speed and current of the system, and rough control algorithms also with proportional and integral actions for the same purposes. Discrete representations equal to (28) were used for the realizations of the control algorithms, where variable "*e*" represents the control loop error (of the speed and of the current), "*u*" symbolizes the output variable of the controller in question, and "*a1*, *b0* and *b1*"

Relative speed (m/s)

0 50 100 150 200

0 50 100 150 200

Samples

Samples

0 50 100 150 200

0 50 100 150 200

Samples

conditions of the system (Fig. 11) in its generation procedure.

are the parameters for the classic PI controllers.

Samples


> -3 -2 -1 0 1 2 3

Command input (V)

**5.3 Example 7** 

Absolute speed (m/s)

Fig. 12. Responses of the suspension system with classic and rough controls.

$$u(t) = b\_o e(t) + b\_1 e(t-1) + a\_1 u(t-1)\tag{28}$$

Fig. 13. Block diagram of the system in reference to Example 7.

Fig. 14. Control Loops of Example 7

Rough Controller Synthesis 299

based controllers incorporate the various operating conditions of the system, generating

This paper has presented a new approach to design rule-based controllers using concepts about rough sets. The proposed methodology allows obtaining rule parameters in a systematic form and with simple computations, as much for fuzzy controllers as for rough controllers. Example 1 illustrates some basic concepts about rough sets. Using a simple linear function is shown in Example 2 how to apply the approach proposed in this chapter in the modeling of rule-based models. Example 3 shows how a rough model can estimate the values associated with a basic nonlinear function. The results obtained in Example 4 show the same values for a fuzzy model and a rough model, when the approach involves a linear function. In this example the linear function was associated with the function of a proportional-integral controller. These results can also be confronted with those obtained in the work referenced in Pinheiro et al., 2010. In Example 5 a practical context of adaptive gains is synthesized through a rough controller in the control of a nonlinear system. Example 6 deals with an active suspension model used in automotive systems. The methodology proposed in this paper was applied to generate a rule-based controller to control the suspension system in question. The results can be confronted with those obtained in the works referenced in Pinheiro et al., 2007 and Dong et al., 2010. The dynamic responses obtained were similar to the works mentioned. An experimental application was shown in Example 7, an example of control loops in cascade for speed regulation and current control in a drive system with a DC motor. Two rough controllers were synthesized to regulate the speed and current in the system. The results can be compared with those obtained in the work referenced in Rezek et al., 2010. The dynamic responses obtained were similar to the work mentioned, where was used two fuzzy controllers for the same purposes. The results obtained in this work indicate that the methodology proposed is adequate for applications in real control systems. The impact of the rough controllers in relation to the fuzzy controllers is that it does not require fuzzification and defuzzification procedures, which can be advantageous in real-time applications for control systems. The application of LMI (linear matrix inequalities) techniques and Lyapunov functions will also be investigated to design rough controllers and to analyze the stability in control loops, the same way that these methods are applied in control systems that use functional fuzzy

rules to compensate suitably the nonlinearities of the system.

Fig. 16. Real responses of the system with classic and rough controllers.

**6. Conclusion** 

Figure 15 illustrates data from the practical tests with the conventional controllers, where the values of the current error and of the output command are normalized in p.u. The parameters are *a1* = 1, *b0* = 0.5074, *b1*= -0.406, and the sample time is 0.01 [s]. The variables *x*1 = *e*(*t*), *x*2 = *e*(*t*−1), *x*3 = *u*(*t*−1) and *y* = *u*(*t*) will be used to generate the rules of a rough controller for the current loop.

Rosetta was used with the following procedures performed in the tool: *Import IS*; *Discretization* → *Equal frequency binning* → *Intervals* = 3; *Reduction* → *Manual Reducer*; *Rule generator.* The rules obtained are shown below, the first three and the last two.

*r*1: *x1* = [0.3283, 1.0000] AND *x2* = [-0.3368, 0.3283] AND *x3* = [-0.0628, 0.3362] THEN *y* = [0.1261, 0.9346]; *r*2: *x1* = [-0.3434, 0.3283] AND *x2* = [0.3283, 1.0000] AND *x3* = [0.3362, 1.0000] THEN *y* = [-0.0640, 0.8150]; *r*3: *x1* = [-0.3434, 0.3283] AND *x2* = [-0.3368, 0.3283] AND *x3* = [-0.0628, 0.3362] THEN *y* = [-0.2517, 0.4416]; … … … *r*26: *x1* = [0.3283, 1.0000] AND *x2* = [-1.0000, -0.3283] AND *x3* = [0.3362, 1.0000] THEN *y* = [0.7209, 1.2189]; *r*27: *x1* = [-1.0000, -0.3434] AND *x2* = [-1.0000, -0.3283] AND *x3* = [0.3362, 1.0000] THEN *y* = [0.1696, 0.3973]. (29)

Fig. 15. Values of the variables for the system under various operating conditions.

Now that the rough controller has information on three inputs, numerical values in ranges of the data obtained in the rules can be interpolated by means of (11) with *n* = 3. The acquisition of rules for the rough controller in the speed loop is performed similarly as described for the current loop. Figure 16 shows the real result of a test performed on the described system. The responses of the speed regulation and of the current became better with rough controllers than with classic controllers, as much in the starting of the motor as in the load alterations of the same. There are smaller peaks in the current and speed, both in speed variations (such increasing the input reference in the starting of the motor, for example), and in load variation (in this case a reduction that occurred between 7 and 8 seconds in the test). The explanation for these characteristics is due to the fact that the rule-

Figure 15 illustrates data from the practical tests with the conventional controllers, where the values of the current error and of the output command are normalized in p.u. The parameters are *a1* = 1, *b0* = 0.5074, *b1*= -0.406, and the sample time is 0.01 [s]. The variables *x*1 = *e*(*t*), *x*2 = *e*(*t*−1), *x*3 = *u*(*t*−1) and *y* = *u*(*t*) will be used to generate the rules of a rough

Rosetta was used with the following procedures performed in the tool: *Import IS*; *Discretization* → *Equal frequency binning* → *Intervals* = 3; *Reduction* → *Manual Reducer*; *Rule* 

*r*1: *x1* = [0.3283, 1.0000] AND *x2* = [-0.3368, 0.3283] AND *x3* = [-0.0628, 0.3362] THEN *y* = [0.1261, 0.9346]; *r*2: *x1* = [-0.3434, 0.3283] AND *x2* = [0.3283, 1.0000] AND *x3* = [0.3362, 1.0000] THEN *y* = [-0.0640, 0.8150]; *r*3: *x1* = [-0.3434, 0.3283] AND *x2* = [-0.3368, 0.3283] AND *x3* = [-0.0628, 0.3362] THEN *y* = [-0.2517, 0.4416]; … … … *r*26: *x1* = [0.3283, 1.0000] AND *x2* = [-1.0000, -0.3283] AND *x3* = [0.3362, 1.0000] THEN *y* = [0.7209, 1.2189]; *r*27: *x1* = [-1.0000, -0.3434] AND *x2* = [-1.0000, -0.3283] AND *x3* = [0.3362, 1.0000] THEN *y* = [0.1696, 0.3973]. (29)

<sup>0</sup> <sup>100</sup> <sup>200</sup> <sup>300</sup> <sup>400</sup> <sup>500</sup> <sup>600</sup> <sup>700</sup> <sup>800</sup> <sup>900</sup> -1

Samples

0 100 200 300 400 500 600 700 800 900

Samples

Now that the rough controller has information on three inputs, numerical values in ranges of the data obtained in the rules can be interpolated by means of (11) with *n* = 3. The acquisition of rules for the rough controller in the speed loop is performed similarly as described for the current loop. Figure 16 shows the real result of a test performed on the described system. The responses of the speed regulation and of the current became better with rough controllers than with classic controllers, as much in the starting of the motor as in the load alterations of the same. There are smaller peaks in the current and speed, both in speed variations (such increasing the input reference in the starting of the motor, for example), and in load variation (in this case a reduction that occurred between 7 and 8 seconds in the test). The explanation for these characteristics is due to the fact that the rule-

Fig. 15. Values of the variables for the system under various operating conditions.

*generator.* The rules obtained are shown below, the first three and the last two.

controller for the current loop.



u(t)

e(t)

based controllers incorporate the various operating conditions of the system, generating rules to compensate suitably the nonlinearities of the system.

Fig. 16. Real responses of the system with classic and rough controllers.

#### **6. Conclusion**

This paper has presented a new approach to design rule-based controllers using concepts about rough sets. The proposed methodology allows obtaining rule parameters in a systematic form and with simple computations, as much for fuzzy controllers as for rough controllers. Example 1 illustrates some basic concepts about rough sets. Using a simple linear function is shown in Example 2 how to apply the approach proposed in this chapter in the modeling of rule-based models. Example 3 shows how a rough model can estimate the values associated with a basic nonlinear function. The results obtained in Example 4 show the same values for a fuzzy model and a rough model, when the approach involves a linear function. In this example the linear function was associated with the function of a proportional-integral controller. These results can also be confronted with those obtained in the work referenced in Pinheiro et al., 2010. In Example 5 a practical context of adaptive gains is synthesized through a rough controller in the control of a nonlinear system. Example 6 deals with an active suspension model used in automotive systems. The methodology proposed in this paper was applied to generate a rule-based controller to control the suspension system in question. The results can be confronted with those obtained in the works referenced in Pinheiro et al., 2007 and Dong et al., 2010. The dynamic responses obtained were similar to the works mentioned. An experimental application was shown in Example 7, an example of control loops in cascade for speed regulation and current control in a drive system with a DC motor. Two rough controllers were synthesized to regulate the speed and current in the system. The results can be compared with those obtained in the work referenced in Rezek et al., 2010. The dynamic responses obtained were similar to the work mentioned, where was used two fuzzy controllers for the same purposes. The results obtained in this work indicate that the methodology proposed is adequate for applications in real control systems. The impact of the rough controllers in relation to the fuzzy controllers is that it does not require fuzzification and defuzzification procedures, which can be advantageous in real-time applications for control systems. The application of LMI (linear matrix inequalities) techniques and Lyapunov functions will also be investigated to design rough controllers and to analyze the stability in control loops, the same way that these methods are applied in control systems that use functional fuzzy

**15** 

*Malaysia* 

**Switching Control System** 

Logah Perumal1 and Farrukh Hafiz Nagi2 *1Multimedia University, Bukit Beruang, Malacca, 2Universiti Tenaga Nasional, Kajang, Selangor* 

**Based on Largest of Maximum (LOM)** 

**Defuzzification – Theory and Application** 

Switching control signals are used to activate and deactivate system actuator periodically based on saturation limits. Switching control system which produces level switching signals (two levels or three levels) are known as level switching control system. Level switching control systems are inexpensive to implement (T.H. Jensen, 2003), but their drawback is that the control systems become non-linear (Slotine et al, 1991; T.H. Jensen, 2003). Two types of level switching control systems are available; bang-bang and bang-off-bang control systems. Bang-bang control system which has two level outputs is used as time optimal control, but it leads to oscillation (Mark Ole Hilstad, 2002). The oscillation can be reduced by using bangoff-bang control system, which has three level outputs, but it requires more time to reach steady state. Sample switching signals are shown in figure 6. As can be seen, figure 6(c) shows two levels switching signals in which the output is either 1 or -1 and figure 6(d)

Example applications utilizing switching control systems are in rocket flight, robots, overhead cranes, satellite attitude control (Parman, S., 2007; Thongchet S. & Kuntanapreeda S., 2001a) and thermal systems. Normally, relays are used to produce switching signals, based on inputs which are supplied by conventional controllers. Later, fuzzy logic is applied to improve robustness of the system. Centroid defuzzification method is the most appealing and popularly used in many applications, including development of switching control signals. Centroid defuzzification method gives a crisp output interpolated between the ranges of the aggregated fuzzy output set. This method does not yield to switching control system requirement and thus additional commands would be used to convert crisp output to level switching control signals (Thongchet S. & Kuntanapreeda S., 2001b). On the other hand, largest (or smallest) of maximum defuzzification method can be used to yield only

Initially, fuzzy logic controllers were designed and implemented based on experience-based techniques, due to lack of general design methods for fuzzy logic controllers (FLCs). Thus, performance of resulting design depends entirely on designers' capability and creativity. Since then, systematic design methods for FLCs were investigated and proposed to aid

shows three levels switching signals in which the output is 1, 0, or -1.

two or three crisp output levels for all input values.

**1. Introduction** 

controllers (Wang et al., 1996; Tseng & Chen, 2009). Future papers will address issues with rough controllers aiming at applications in control systems with multiple inputs and multiple outputs (MIMO).

### **7. References**


## **Switching Control System Based on Largest of Maximum (LOM) Defuzzification – Theory and Application**

Logah Perumal1 and Farrukh Hafiz Nagi2 *1Multimedia University, Bukit Beruang, Malacca, 2Universiti Tenaga Nasional, Kajang, Selangor Malaysia* 

## **1. Introduction**

300 Fuzzy Logic – Controls, Concepts, Theories and Applications

controllers (Wang et al., 1996; Tseng & Chen, 2009). Future papers will address issues with rough controllers aiming at applications in control systems with multiple inputs and

Astrom, K. & Wittenmark, B. (1990). *Computer-Controlled Systems: Theory and Design*, Prentice

Dong, X.; Yu, M.; Liau, C. & Chen, W. (2010). Comparative research on semi-active control

Huang, B.; Guo, L. & Zhou, X. (2007). Approximation Reduction Based on Similarity Relation, *IEEE Fourth International Conf. on Fuzzy Systems and Knowledge Discovery*, pp. 124-128 Kusiak, A. & Shah, A. (2006). Data-Mining-Based System for Prediction of Water Chemistry

Øhrn, A. & Komorowski, J. (1997). ROSETTA: A Rough Set Toolkit for Analysis of Data. *Third International Joint Conference on Information Sciences*, pp. 403 – 407 Pawlak, Z. (1982). Rough Sets, *International Journal of Computer and Inf. Sciences*, pp. 341-356, Pawlak, Z. (1991). Rough Sets: Theoretical Aspects of Reasoning about Data. *Kluwer* 

Pawlak, Z. & Skowron, A. (2007). Rudiments of rough sets, *Information Sciences*, 177; pp. 3-27 Pedrycz, W. & Gomide, F. (2007). *Fuzzy Systems Engineering: Toward Human Centric Computing*, Wiley Interscience/IEEE, ISBN 978-0-471-78857-7, Hoboken, USA Pinheiro, C. & Gomide, F. (1997). Frequency Response Design of Fuzzy Controllers, *VII International Fuzzy Systems Association World Congress*, Vol.3, pp. 434-439, Praga Pinheiro, C. & Gomide, F. (2000). On Tuning Nonlinear Fuzzy Control Systems. In: IEEE

Pinheiro, C.; Machado, J.; Bombard, A.; Lima, J. & Dias, J. (2007), Fuzzy Logic Control For

Pinheiro, C.; Gomide, F.; Carpinteiro, O. & Lima, I. (2010). Granular Synthesis of Rule-Based

Rezek, A.; Pinheiro, C.; Darido, T.; Silva, V.; Vicentini, O. & Assis, W. (2010). Comparative

Wang, H.; Tanaka, K. & Griffin, M. (1996), An Approach to Fuzzy Control of Nonlinear

Ziarko, W. & Katzberg, J. (1993). Rough sets approach to system modeling and control

*International Journal of Power & Energy Systems*, Vol.30, No.1, pp. 15-22 Skowron, A. & Son, N. H (1995). Quantization of Real value Attributes: Rough Set and Boolean reasoning approach, *International Joint Conf. on Information Sciences*, pp. 34- 37 Tseng, C. & Chen, B. (2009), Robust Fuzzy Observer-Based Fuzzy Control Design for

International Conference on Fuzzy Systems, *IX IEEE International Conference on* 

Magnetorheological Damper, *Electrorheological Fluids And Magnetorheological* 

Models and Function Approximation using Rough Sets, *Novel Developments in Granular Computing*, ed. JingTao Yao, Information Science, ISBN 978-1-60566-324-1,

Performance Analysis for Digital Regulators in Series DC Motor Controlled Drive,

Nonlinear Discrete-Time Systems with Persistent Bounded Disturbances, *IEEE* 

Systems: Stability and Design Issues, *IEEE Transactions on Fuzzy Systems*, Vol.4,

algorithm acquisition. *IEEE Conference: Communications, Computers and Power in the* 

Faults, *IEEE Transactions on Industrial Electronics*, No.2, pp. 593-596

strategies for magneto-rheological suspension, *Nonlinear Dynamics*, Springer,

Hall, ISBN , 0-13-168600-3, Englewood Cliffs, USA

Vol.59, pp. 433-453, Netherlands

*Academic Publishers*, Dordrecht, Holland

*Fuzzy Systems* (in CD ROM), San Antonio, USA

*Suspensions*, World Scientific, pp. 603-609, Singapore

*Transactions on Fuzzy Systems*, Vol.17, No.3, pp. 711-723

multiple outputs (MIMO).

N. York, USA

No.1, pp. 14-23

*Modern Environment*, pp. 154-164

**7. References** 

Switching control signals are used to activate and deactivate system actuator periodically based on saturation limits. Switching control system which produces level switching signals (two levels or three levels) are known as level switching control system. Level switching control systems are inexpensive to implement (T.H. Jensen, 2003), but their drawback is that the control systems become non-linear (Slotine et al, 1991; T.H. Jensen, 2003). Two types of level switching control systems are available; bang-bang and bang-off-bang control systems. Bang-bang control system which has two level outputs is used as time optimal control, but it leads to oscillation (Mark Ole Hilstad, 2002). The oscillation can be reduced by using bangoff-bang control system, which has three level outputs, but it requires more time to reach steady state. Sample switching signals are shown in figure 6. As can be seen, figure 6(c) shows two levels switching signals in which the output is either 1 or -1 and figure 6(d) shows three levels switching signals in which the output is 1, 0, or -1.

Example applications utilizing switching control systems are in rocket flight, robots, overhead cranes, satellite attitude control (Parman, S., 2007; Thongchet S. & Kuntanapreeda S., 2001a) and thermal systems. Normally, relays are used to produce switching signals, based on inputs which are supplied by conventional controllers. Later, fuzzy logic is applied to improve robustness of the system. Centroid defuzzification method is the most appealing and popularly used in many applications, including development of switching control signals. Centroid defuzzification method gives a crisp output interpolated between the ranges of the aggregated fuzzy output set. This method does not yield to switching control system requirement and thus additional commands would be used to convert crisp output to level switching control signals (Thongchet S. & Kuntanapreeda S., 2001b). On the other hand, largest (or smallest) of maximum defuzzification method can be used to yield only two or three crisp output levels for all input values.

Initially, fuzzy logic controllers were designed and implemented based on experience-based techniques, due to lack of general design methods for fuzzy logic controllers (FLCs). Thus, performance of resulting design depends entirely on designers' capability and creativity. Since then, systematic design methods for FLCs were investigated and proposed to aid

Switching Control System Based

N., 1991) is given by:

*C* is coefficient of friction,

Table 1. Satellite parameters

**4. Fuzzy system** 

in this work, due to the need for a suitable controller.

Fig. 1. Simulink model of one axis satellite system

to zero degree. Development of the FLCs is described in section 5.

processed by the rule-base. Fuzzification process can be described as:

~

Parameters Description Value *Ma* Thruster moment 0.281 Nm *I* Moment of inertia 1.928 kg m2 *C* Coefficient of friction 0.000453 kg m2/s

model of the one axis satellite system is as shown in figure 1.

on Largest of Maximum (LOM) Defuzzification – Theory and Application 303

ensures that satellite orientation error can be efficiently removed without degrading the performance of the satellite. Thus, satellite attitude control has been selected as a case study

One axis attitude model is used as an example to demonstrate implementation of LOM defuzzification method in both bang-bang and bang-off-bang control systems. The model represents single axis of satellite which can be repeated for other two axes. The model and parameters described here are taken from previous work (Logah P. & Nagi F., 2008). Later in section 9, a practical demonstration based on this model is presented for fuzzy bang-bang control system. Equation of motion describing motion of one axis satellite system (Gulley

> *Ma I C*

is angular rate and

where is applied moment due to the thruster, *I* is moment of inertia of the one axis satellite,

Specifications for the one axis satellite system are taken from (Thongchet S. & Kuntanapreeda S., 2001b) as shown in table 1. Objective of the fuzzy logic controller is to reset attitude of the one axis satellite by producing level switching signals. Reset angle is set

In fuzzification, an operator transforms crisp data into fuzzy sets, so that data can be

*A* = fuzzifier(*x0*) (2)

(1)

is angular acceleration. Matlab - Simulink

practitioners (K. Michels et al, 2006; J. Jantzen, 2007; L. Mostefai et al, 2009). In this chapter, a systematic design procedure is outlined for development of switching control system using FLC, with largest of maximum (LOM) defuzzification. Matlab-Simulink environment is utilized in development of the controllers. One of optimization techniques, Nelder–Mead simplex search method is later utilized to optimize the FLC. Later, effectiveness of the FLC is demonstrated by controlling angular position of a single axis attitude model. The single axis attitude model is controlled in real time using Matlab-Simulink xPC target environment, without aid of any mathematical models.

## **2. Defuzzification method for switching control systems**

There are numerous defuzzification methods. Each defuzzification method outputs different results (Ajith Abraham, 2005) and thus overall performance of the fuzzy inference system is directly influenced by the selection of defuzzification method. There is no exact rule on selection of defuzzification for certain applications. Suitable defuzzification method for certain application is chosen through trial-and-error by the use of software (Gunadi W. Nurcahyo et al, 2003). Most of defuzzification methods give a crisp output interpolated between the ranges of the aggregated fuzzy output set. These methods do not yield to switching control system requirement, except for largest (or smallest) of maximum defuzzification. The largest (or smallest) of maximum defuzzification method can be used to yield only two or three crisp output levels for all input values. LOM defuzzification is a suitable method to yield switching signals since it selects maximum value of aggregated membership function.

One of the defuzzification methods, which is the centroid method is the most appealing and popularly used in many applications (Timothy J. Ross, 1995). In (Thongchet S. & Kuntanapreeda S., 2001b), centroid defuzzification method is used together with a control output law to yield three level switching signals. The control law outputs the switching signals based on the range of crisp output from the centroid defuzzification process. The switching signals can be directly produced by the LOM defuzzification process, avoiding the use of control law as mentioned above. Maximum defuzzification methods are not commonly used in comparison to centroid method. One of the maximum defuzzification methods - mean of maxima is used in creating Fuzzy State Machines (FuSMs) for computer gaming development. Another example is the use of LOM defuzzification in development of fuzzy monitoring and fault alarm system for the ExoMars Pasteur Payloads drill and fuzzy terrain recognition system performed while drilling (Bruno René Santos et al, 2006). In (T.H. Jensen, 2003), it is pointed out that there are many unexplored ways of making bangbang control system. In this work, fuzzy logic controller is used to implement bang-bang and bang-off-bang control systems by using LOM defuzzification. LOM defuzzification is proven to be the suitable defuzzification method to yield switching signals.

## **3. Case study: Satellite single axis attitude control**

Response time of a control system complements energy-saving measures especially in embedded control system. Satellite attitude control system is one such example where fuel saving is highly desirable. Likewise, remotely controlled submersibles, deep space exploration probes can also benefit from such measures but to a lesser extent than communication satellites due to their high launching cost. Minimum response time also

practitioners (K. Michels et al, 2006; J. Jantzen, 2007; L. Mostefai et al, 2009). In this chapter, a systematic design procedure is outlined for development of switching control system using FLC, with largest of maximum (LOM) defuzzification. Matlab-Simulink environment is utilized in development of the controllers. One of optimization techniques, Nelder–Mead simplex search method is later utilized to optimize the FLC. Later, effectiveness of the FLC is demonstrated by controlling angular position of a single axis attitude model. The single axis attitude model is controlled in real time using Matlab-Simulink xPC target environment,

There are numerous defuzzification methods. Each defuzzification method outputs different results (Ajith Abraham, 2005) and thus overall performance of the fuzzy inference system is directly influenced by the selection of defuzzification method. There is no exact rule on selection of defuzzification for certain applications. Suitable defuzzification method for certain application is chosen through trial-and-error by the use of software (Gunadi W. Nurcahyo et al, 2003). Most of defuzzification methods give a crisp output interpolated between the ranges of the aggregated fuzzy output set. These methods do not yield to switching control system requirement, except for largest (or smallest) of maximum defuzzification. The largest (or smallest) of maximum defuzzification method can be used to yield only two or three crisp output levels for all input values. LOM defuzzification is a suitable method to yield switching signals since it selects maximum value of aggregated

One of the defuzzification methods, which is the centroid method is the most appealing and popularly used in many applications (Timothy J. Ross, 1995). In (Thongchet S. & Kuntanapreeda S., 2001b), centroid defuzzification method is used together with a control output law to yield three level switching signals. The control law outputs the switching signals based on the range of crisp output from the centroid defuzzification process. The switching signals can be directly produced by the LOM defuzzification process, avoiding the use of control law as mentioned above. Maximum defuzzification methods are not commonly used in comparison to centroid method. One of the maximum defuzzification methods - mean of maxima is used in creating Fuzzy State Machines (FuSMs) for computer gaming development. Another example is the use of LOM defuzzification in development of fuzzy monitoring and fault alarm system for the ExoMars Pasteur Payloads drill and fuzzy terrain recognition system performed while drilling (Bruno René Santos et al, 2006). In (T.H. Jensen, 2003), it is pointed out that there are many unexplored ways of making bangbang control system. In this work, fuzzy logic controller is used to implement bang-bang and bang-off-bang control systems by using LOM defuzzification. LOM defuzzification is

Response time of a control system complements energy-saving measures especially in embedded control system. Satellite attitude control system is one such example where fuel saving is highly desirable. Likewise, remotely controlled submersibles, deep space exploration probes can also benefit from such measures but to a lesser extent than communication satellites due to their high launching cost. Minimum response time also

proven to be the suitable defuzzification method to yield switching signals.

**3. Case study: Satellite single axis attitude control** 

without aid of any mathematical models.

membership function.

**2. Defuzzification method for switching control systems** 

ensures that satellite orientation error can be efficiently removed without degrading the performance of the satellite. Thus, satellite attitude control has been selected as a case study in this work, due to the need for a suitable controller.

One axis attitude model is used as an example to demonstrate implementation of LOM defuzzification method in both bang-bang and bang-off-bang control systems. The model represents single axis of satellite which can be repeated for other two axes. The model and parameters described here are taken from previous work (Logah P. & Nagi F., 2008). Later in section 9, a practical demonstration based on this model is presented for fuzzy bang-bang control system. Equation of motion describing motion of one axis satellite system (Gulley N., 1991) is given by:

$$M\_a = \ddot{\theta}I + \dot{\theta}\mathbf{C} \tag{1}$$

where is applied moment due to the thruster, *I* is moment of inertia of the one axis satellite, *C* is coefficient of friction, is angular rate and is angular acceleration. Matlab - Simulink model of the one axis satellite system is as shown in figure 1.

Fig. 1. Simulink model of one axis satellite system

Specifications for the one axis satellite system are taken from (Thongchet S. & Kuntanapreeda S., 2001b) as shown in table 1. Objective of the fuzzy logic controller is to reset attitude of the one axis satellite by producing level switching signals. Reset angle is set to zero degree. Development of the FLCs is described in section 5.


Table 1. Satellite parameters

## **4. Fuzzy system**

In fuzzification, an operator transforms crisp data into fuzzy sets, so that data can be processed by the rule-base. Fuzzification process can be described as:

$$A = \underset{\mathbf{x}}{\text{fuzzzifier}} \langle \mathbf{x}\_0 \rangle \tag{2}$$

Switching Control System Based

in tabular linguistic format.

Fig. 2. Membership functions of the input angle

Fig. 3. Membership functions of the input angle rate

Fig. 4. Membership functions of the output

on Largest of Maximum (LOM) Defuzzification – Theory and Application 305

where LN = Large Negative, SN = Small Negative, Z = Zero, SP = Small Positive, and LP = Large Positive. *Sa* and *Sb* are spans of the middle fuzzy sets. Output consists of two fuzzy sets as shown in figure 4, where T1 = Thruster 1, and T2 = Thruster 2. The output is either 1 or -1 similar to bang–bang controller output, which activates or deactivates the system actuators. Universe of discourse for the two inputs, *X* = {*X1, X2*} is -30 ≤ *X* ≤ 30 and universe of discourse for the output, *Z* is -1 ≤ *Z* ≤ 1. Relationship between the inputs and output is described in terms of fuzzy rules. Table 2 shows relationship between the inputs and output

*x0=[x1, x2,.... xn]T* is an input vector, ~ *<sup>A</sup>* =[ <sup>~</sup> <sup>1</sup> *<sup>A</sup>* , <sup>~</sup> <sup>2</sup> *<sup>A</sup>* ,.... ~ *<sup>n</sup> A* ]T is fuzzy sets, and fuzzifier represents a fuzzification operator. Mamdani implication of max-min fuzzy inference is given by:

$$\mu\_{\frac{k}{r}}(z) = \max\_{\mathbf{x}} \left[ \min \{ \mu\_{A\_{\frac{k}{r}}}(\mathbf{i} \, \text{input}(\mathbf{x}\_1)), \mu\_{A\_{\frac{k}{r}}}(\mathbf{i} \, \text{input}(\mathbf{x}\_2)) \} \right] \qquad k = 1, 2, \dots, r \tag{3}$$

where ~ *<sup>k</sup>* ( ) *<sup>B</sup> z* is height of aggregated fuzzy set for *r* rules. The aggregated fuzzy set is defuzzified to yield crisp output, as represented by:

$$\mathbf{z}^\* = \text{defuzzifier}\left(\begin{array}{c} \mathbf{z} \end{array}\right) \tag{4}$$

~ *k Z* where z\* is a crisp output, is fuzzy set resulted from aggregation, and "defuzzifier" represents defuzzification operator. LOM defuzzification is done in two steps. First the largest height in the union is determined:

$$h\mathfrak{g}(\underset{\smile k}{\mathop{\!}}\_{k}) = \sup\_{\text{z}\in\mathbb{Z}} \mu\_{\mathbb{B}^{k}}(\mathbf{z})\tag{5}$$

where supremum (sup) is the least upper bound. Then, largest of maximum is calculated:

$$z^\* = \sup\_{z \in Z} \left\{ z \in Z \, \middle| \, \mu\_{\stackrel{B^k}{\sim}}(z) = \operatorname\*{hgt}(Z\_{\stackrel{\sim}{\sim}k}) \right\} \tag{6}$$

Where \* *z* is the crisp output.

#### **5. Development of switching FLCs**

Bang–bang and bang-off-bang control of satellite attitude can be accomplished with fuzzy logic controller by using LOM defuzzification method. Triangular membership functions with fifty percent overlap are used. Triangular membership functions are used because they are simple, easy to model mathematically, and recommended by Hill, Horstkptte and Teichrow as reported in (Jan, J, 1998). Triangular membership functions are also proven to perform well even with presence of disturbances/noise in the measured parameters (FLC inputs). Based on the rules of thumb for membership functions reported in (C.W. Taylor et al, 2000), density of the fuzzy sets are made highest around optimal control point of the system and thin out as the distance from that point increases.

Using angle as only input to fuzzy controller would cause the system to become unstable and diverge from reset angle. Thus, angular velocity information is used as an additional input to the fuzzy controller to stabilize the system, as reported in (Gully, N., 1991). Fuzzy logic with Mamdani implication of max-min fuzzy inference is used in development of the fuzzy logic controller. Two level bang-bang controller is formulated first, follwed by three level bang-off-bang controller.

#### **5.1 Bang-bang FLC**

Structure of fuzzy logic controller for bang–bang output (fuzzy bang–bang) consists of two inputs and one output. Five fuzzy sets are used in each input as shown in figures 2 and 3,

represents a fuzzification operator. Mamdani implication of max-min fuzzy inference is

 

*Z* where z\* is a crisp output, is fuzzy set resulted from aggregation, and "defuzzifier" represents defuzzification operator. LOM defuzzification is done in two steps. First the

> <sup>~</sup> ~ ( ) sup ( ) *<sup>k</sup> <sup>B</sup> <sup>k</sup> z Z*

\* sup ( ) ( ) *<sup>k</sup> <sup>B</sup> <sup>k</sup> z Z z z Z z hgt Z* 

Bang–bang and bang-off-bang control of satellite attitude can be accomplished with fuzzy logic controller by using LOM defuzzification method. Triangular membership functions with fifty percent overlap are used. Triangular membership functions are used because they are simple, easy to model mathematically, and recommended by Hill, Horstkptte and Teichrow as reported in (Jan, J, 1998). Triangular membership functions are also proven to perform well even with presence of disturbances/noise in the measured parameters (FLC inputs). Based on the rules of thumb for membership functions reported in (C.W. Taylor et al, 2000), density of the fuzzy sets are made highest around optimal control point of the

Using angle as only input to fuzzy controller would cause the system to become unstable and diverge from reset angle. Thus, angular velocity information is used as an additional input to the fuzzy controller to stabilize the system, as reported in (Gully, N., 1991). Fuzzy logic with Mamdani implication of max-min fuzzy inference is used in development of the fuzzy logic controller. Two level bang-bang controller is formulated first, follwed by three

Structure of fuzzy logic controller for bang–bang output (fuzzy bang–bang) consists of two inputs and one output. Five fuzzy sets are used in each input as shown in figures 2 and 3,

where supremum (sup) is the least upper bound. Then, largest of maximum is calculated:

*z*

<sup>~</sup> ~

*hgt Z*

system and thin out as the distance from that point increases.

*<sup>A</sup>* , <sup>~</sup> <sup>2</sup>

*z* is height of aggregated fuzzy set for *r* rules. The aggregated fuzzy set is

*<sup>A</sup>* ,.... ~ *<sup>n</sup>*

*input x input x k* = 1, 2,…, *r* (3)

z\* defuzzifier ( ) (4)

(5)

(6)

*A* ]T is fuzzy sets, and fuzzifier

*<sup>A</sup>* =[ <sup>~</sup> <sup>1</sup>

*x0=[x1, x2,.... xn]T* is an input vector, ~

largest height in the union is determined:

**5. Development of switching FLCs** 

Where \* *z* is the crisp output.

level bang-off-bang controller.

**5.1 Bang-bang FLC** 

~ ~~ 1 2

defuzzified to yield crisp output, as represented by:

1 2 *k kk* ( ) max[min[ ( ( )), ( ( ))]] *B AA*

given by:

where ~

~ *k*

*z*

*<sup>k</sup>* ( ) *<sup>B</sup>* 

> *k Z* ~

where LN = Large Negative, SN = Small Negative, Z = Zero, SP = Small Positive, and LP = Large Positive. *Sa* and *Sb* are spans of the middle fuzzy sets. Output consists of two fuzzy sets as shown in figure 4, where T1 = Thruster 1, and T2 = Thruster 2. The output is either 1 or -1 similar to bang–bang controller output, which activates or deactivates the system actuators. Universe of discourse for the two inputs, *X* = {*X1, X2*} is -30 ≤ *X* ≤ 30 and universe of discourse for the output, *Z* is -1 ≤ *Z* ≤ 1. Relationship between the inputs and output is described in terms of fuzzy rules. Table 2 shows relationship between the inputs and output in tabular linguistic format.

Fig. 2. Membership functions of the input angle

Fig. 3. Membership functions of the input angle rate

Fig. 4. Membership functions of the output

Switching Control System Based

 Angle Angle rate

LN ~

SN ~

Z ~

SP ~

save fuel, since the system is resetting by itself.

**6. Simulations using switching FLCs** 

figure 6. Initial angle given is 3 degrees.

**6.1 Manual selection of span size** *Sa*

controllers.

LP *off* <sup>~</sup>

on Largest of Maximum (LOM) Defuzzification – Theory and Application 307

*<sup>T</sup>*<sup>1</sup> <sup>~</sup>

*<sup>T</sup>*<sup>1</sup> <sup>~</sup>

*<sup>T</sup>*<sup>1</sup> <sup>~</sup>

Table 3. Relationship between the inputs and outputs for bang-off-bang switching.

*<sup>T</sup>*<sup>1</sup> *off* <sup>~</sup>

Membership function '*off'* is used to represent third level in bang-off-bang control system. In case of bang-bang controller, either one of the thrusters is activated at all time; whereas in bang-off-bang controller, either one of the thrusters would be activated or both will be turned off at a given time. As for the diagonal in table 3, both thrusters would be turned off. For example if current angle is large positive and angle rate is large negative, it indicates that the system is currently tilted clockwise at large angle, but the angle rate is indicating that the system is rotating counterclockwise and approaching the reset angle (default orientation) at a fast phase. Thus in this case the thrusters can be switched off in order to

One axis satellite system described in section 3 is simulated using fuzzy bang-bang and bang-off-bang controllers which were developed in section 5, by using fuzzy system described in section 4. Parameters used for membership functions are: *Sa* = 6, *Sb* = 10. Relationship between inputs and outputs are as shown in table 2 and table 3, where LN = Large Negative, SN = Small Negative, Z = Zero, SP = Small Positive, LP = Large Positive, T1 = Thruster 1, T2 = Thruster 2. Simulation results using above parameters are as shown in

From figures 6(a) and 6(b), it can be seen that there exists some oscillation in the steady state and system response can be optimized further. Simulation in Matlab-Simulink environment shows that system response is affected by sizes of middle spans *Sa* and *Sb* of the inputs (Thongchet S. & Kuntanapreeda S., 2001a), labeled in figures 2 and 3. Oscillation during steady state is affected by span *Sa*, while overshoot is affected by span *Sb*. In following sections, simulations are run for various sizes of span *Sa* and *Sb*, to determine optimal span sizes to be used. Simulations are run using bang-bang controller. Optimal span sizes selected from the simulations are later applied for both bang-bang and bang-off-bang

Simulations are run for various sizes of span *Sa* while span *Sb* is kept constant at a value of 10 using fuzzy bang-bang controller. Initial Euler angle given to the system is 10 degrees.

LN SN Z SP LP

*<sup>T</sup>*<sup>1</sup> *off* <sup>~</sup>

*<sup>T</sup>*<sup>1</sup> <sup>~</sup>

*<sup>T</sup>*<sup>2</sup> <sup>~</sup>

*<sup>T</sup>*<sup>2</sup> <sup>~</sup>

*<sup>T</sup>*<sup>1</sup> *off* <sup>~</sup>

*T*1 *off*

*<sup>T</sup>*<sup>2</sup> <sup>~</sup> *T*2

*<sup>T</sup>*<sup>2</sup> <sup>~</sup> *T*2

*<sup>T</sup>*<sup>2</sup> <sup>~</sup> *T*2

*T*2

*<sup>T</sup>*<sup>1</sup> <sup>~</sup>

*<sup>T</sup>*<sup>1</sup> <sup>~</sup>

*<sup>T</sup>*<sup>2</sup> <sup>~</sup>


Table 2. Inputs and output setting for bang–bang control

Relationship between inputs and output as shown in table 2 are extracted based on observation. T1 and T2 represent thrusters which would eventually cause change in the satellite orientation. Output signal 1 indicates activation of T1 and output signal -1 indicates activation of T2. For a single axis, two thrusters are used to control the attitude; one of the thrusters, T1 for clockwise rotation (angle is positive) and the other thruster, T2 for counterclockwise rotation (angle is negative). The thrusters are placed at the two edges of the single axis satellite model, as shown in figure 17. Once thruster is activated, combusted fuel at high pressure and temperature exiting at nozzle would develop moment *Ma* which would rotate the satellite and change its attitude. For example if current angle is large positive (tilted clockwise), then in order to reset the attitude, thruster T2 should be activated, so that the system would rotate counterclockwise until it reaches default orientation (reset angle). As for the diagonal in table 2, the system will retain previous output, in which either one of the thrusters would be turned on.

#### **5.2 Bang-Off-bang FLC**

Structure of fuzzy logic controller for bang-off-bang output is similar to that of bang-bang, except for addition of one output fuzzy set and addition of five rules. Output consists of three triangular fuzzy sets as shown in figure 5. Span for the fuzzy set *off* is set to zero. Addition of rules is shown in table 3. Output is 1,-1 or 0 similar to bang-off-bang controller output.

Fig. 5. Membership functions of the output for bang-off-bang controller

*<sup>T</sup>*<sup>1</sup> <sup>~</sup>

*<sup>T</sup>*<sup>1</sup> <sup>~</sup>

*<sup>T</sup>*<sup>1</sup> <sup>~</sup>

*<sup>T</sup>*1 - ~

Relationship between inputs and output as shown in table 2 are extracted based on observation. T1 and T2 represent thrusters which would eventually cause change in the satellite orientation. Output signal 1 indicates activation of T1 and output signal -1 indicates activation of T2. For a single axis, two thrusters are used to control the attitude; one of the thrusters, T1 for clockwise rotation (angle is positive) and the other thruster, T2 for counterclockwise rotation (angle is negative). The thrusters are placed at the two edges of the single axis satellite model, as shown in figure 17. Once thruster is activated, combusted fuel at high pressure and temperature exiting at nozzle would develop moment *Ma* which would rotate the satellite and change its attitude. For example if current angle is large positive (tilted clockwise), then in order to reset the attitude, thruster T2 should be activated, so that the system would rotate counterclockwise until it reaches default orientation (reset angle). As for the diagonal in table 2, the system will retain previous output, in which either

Structure of fuzzy logic controller for bang-off-bang output is similar to that of bang-bang, except for addition of one output fuzzy set and addition of five rules. Output consists of three triangular fuzzy sets as shown in figure 5. Span for the fuzzy set *off* is set to zero. Addition of rules is shown in table 3. Output is 1,-1 or 0 similar to bang-off-bang controller

Fig. 5. Membership functions of the output for bang-off-bang controller

LN SN Z SP LP

*<sup>T</sup>*1 - ~

*<sup>T</sup>*<sup>1</sup> <sup>~</sup>

*<sup>T</sup>*<sup>2</sup> <sup>~</sup>

*<sup>T</sup>*<sup>2</sup> <sup>~</sup>

*T*1 -

*<sup>T</sup>*<sup>2</sup> <sup>~</sup> *T*2

*<sup>T</sup>*<sup>2</sup> <sup>~</sup> *T*2

*<sup>T</sup>*<sup>2</sup> <sup>~</sup> *T*2

*T*2

*<sup>T</sup>*1 - ~

*<sup>T</sup>*<sup>1</sup> <sup>~</sup>

*<sup>T</sup>*<sup>1</sup> <sup>~</sup>

*<sup>T</sup>*<sup>2</sup> <sup>~</sup>

Angle

LN ~

SN ~

Z ~

SP ~

Table 2. Inputs and output setting for bang–bang control

one of the thrusters would be turned on.

**5.2 Bang-Off-bang FLC** 

output.

LP - ~

Angle rate


Table 3. Relationship between the inputs and outputs for bang-off-bang switching.

Membership function '*off'* is used to represent third level in bang-off-bang control system. In case of bang-bang controller, either one of the thrusters is activated at all time; whereas in bang-off-bang controller, either one of the thrusters would be activated or both will be turned off at a given time. As for the diagonal in table 3, both thrusters would be turned off.

For example if current angle is large positive and angle rate is large negative, it indicates that the system is currently tilted clockwise at large angle, but the angle rate is indicating that the system is rotating counterclockwise and approaching the reset angle (default orientation) at a fast phase. Thus in this case the thrusters can be switched off in order to save fuel, since the system is resetting by itself.

## **6. Simulations using switching FLCs**

One axis satellite system described in section 3 is simulated using fuzzy bang-bang and bang-off-bang controllers which were developed in section 5, by using fuzzy system described in section 4. Parameters used for membership functions are: *Sa* = 6, *Sb* = 10. Relationship between inputs and outputs are as shown in table 2 and table 3, where LN = Large Negative, SN = Small Negative, Z = Zero, SP = Small Positive, LP = Large Positive, T1 = Thruster 1, T2 = Thruster 2. Simulation results using above parameters are as shown in figure 6. Initial angle given is 3 degrees.

From figures 6(a) and 6(b), it can be seen that there exists some oscillation in the steady state and system response can be optimized further. Simulation in Matlab-Simulink environment shows that system response is affected by sizes of middle spans *Sa* and *Sb* of the inputs (Thongchet S. & Kuntanapreeda S., 2001a), labeled in figures 2 and 3. Oscillation during steady state is affected by span *Sa*, while overshoot is affected by span *Sb*. In following sections, simulations are run for various sizes of span *Sa* and *Sb*, to determine optimal span sizes to be used. Simulations are run using bang-bang controller. Optimal span sizes selected from the simulations are later applied for both bang-bang and bang-off-bang controllers.

## **6.1 Manual selection of span size** *Sa*

Simulations are run for various sizes of span *Sa* while span *Sb* is kept constant at a value of 10 using fuzzy bang-bang controller. Initial Euler angle given to the system is 10 degrees.

Switching Control System Based

on Largest of Maximum (LOM) Defuzzification – Theory and Application 309

Fig. 7. Results for steady state oscillation using span sizes *Sa* = 6.

Fig. 8. Results for steady state oscillation using span sizes *Sa* = 0.02.

gain scheduling, as reported in (Logah P. & Nagi F., 2008).

**6.2 Manual selection of span size** *Sb*

Overshoot can be prevented by changing span size *Sb* as described in next section.

Table 5 summarizes the simulation results. Sample results are shown in figure 9.

Simulation is run for various sizes of span *Sb* while span *Sa* is kept constant at a value of 0.02 using fuzzy bang-bang con4troller. Initial Euler angle given to the system is 10 degrees.

Settling time reduces when smaller span *Sb* is used. Larger span *Sb* causes larger initial overshoot hence requires larger settling time. Based on results in table 5, span size of 0.2 is chosen since it yields smallest oscillation during steady state without overshoot. Span size of 1 is not chosen despite of its smaller settling time because it causes larger oscillation during

Table 4 summarizes simulation results. Sample results are shown in figures 7 and 8. Based on results in table 4, span size of 0.02 is chosen since it yields smallest oscillation during steady state.

Fig. 6. Simulation results using fuzzy bang-bang and fuzzy bang-off-bang controllers. (a) Results for attitude using fuzzy bang-bang controller (b) Results for attitude using fuzzy bang-off-bang controller (c) Bang-bang output (d) Bang-off-bang output


Table 4. Results obtained for various span sizes *Sa*.

Table 4 summarizes simulation results. Sample results are shown in figures 7 and 8. Based on results in table 4, span size of 0.02 is chosen since it yields smallest oscillation during

(a) (b)

(c) (d) Fig. 6. Simulation results using fuzzy bang-bang and fuzzy bang-off-bang controllers. (a) Results for attitude using fuzzy bang-bang controller (b) Results for attitude using fuzzy

> Span size *Sa* Steady state oscillation (degrees) 20 ±0.04 (Mean=-1.5×10-4) 10 ±0.04 (Mean=-9×10-4) 6 ±0.04 (Mean=-4.5×10-4) 2 ±0.04 (Mean=-3×10-4) 1 ±0.04 (Mean=-1.6×10-3) 0.2 ±0.04 (Mean=-1.5×10-4) 0.02 ±7.35×10-3 (Mean=-7.35×10-3) 0 ±8.23×10-3 (Mean=1.775×10-3)

bang-off-bang controller (c) Bang-bang output (d) Bang-off-bang output

Table 4. Results obtained for various span sizes *Sa*.

steady state.

Fig. 7. Results for steady state oscillation using span sizes *Sa* = 6.

Fig. 8. Results for steady state oscillation using span sizes *Sa* = 0.02.

Overshoot can be prevented by changing span size *Sb* as described in next section.

## **6.2 Manual selection of span size** *Sb*

Simulation is run for various sizes of span *Sb* while span *Sa* is kept constant at a value of 0.02 using fuzzy bang-bang con4troller. Initial Euler angle given to the system is 10 degrees. Table 5 summarizes the simulation results. Sample results are shown in figure 9.

Settling time reduces when smaller span *Sb* is used. Larger span *Sb* causes larger initial overshoot hence requires larger settling time. Based on results in table 5, span size of 0.2 is chosen since it yields smallest oscillation during steady state without overshoot. Span size of 1 is not chosen despite of its smaller settling time because it causes larger oscillation during gain scheduling, as reported in (Logah P. & Nagi F., 2008).

Switching Control System Based

fuzzy bang-off-bang controller

time to reach the reset angle.

**6.3 Simulation results using optimal span sizes** 

been reduced and overshoot has been prevented.

on Largest of Maximum (LOM) Defuzzification – Theory and Application 311

The satellite system is simulated again using optimal span sizes selected from sections 6.1 and 6.2. Initial angles given to the systems are 3 degrees, 15 degrees, and -10 degrees. Simulation results are as shown in figures 10 and 11. Oscillation during the steady state has

(a)

Fig. 10. Results for attitude using the fuzzy controllers (a) fuzzy bang-bang controller (b)

From figure 10, it can be seen that the oscillation in the steady state is less when bang-offbang controller is used compared to the bang-bang controller. The bang-off-bang controller requires more time to settle compared to the bang-bang controller. Based on the figure 11, the bang-bang controller requires rapid switching between the thrusters while the bang-offbang controller commands only two pulses. First pulse is used to initiate rotation and the second pulse is to terminate it. This causes less fuel to be consumed, but it requires more

(b)

Thus, bang-off-bang controller is an impulse type and can be used as fuel optimal control while bang-bang controller can be used as time optimal control. From figure 11, it can be seen that both controllers continuously activate and deactivate thrusters to maintain the satellite at the reset angle. In (Thongchet S. & Kuntanapreeda S., 2001a), it is stated that the thrusters will be switched off once attitude reaches zero state, thus prevents oscillation.


Table 5. Results obtained for various span sizes *Sb*.

Fig. 9. Results for the overshoot and settling time using various span sizes *Sb*. (a) Result using span size of 30 (b) Result using span size of 0.2

## **6.3 Simulation results using optimal span sizes**

310 Fuzzy Logic – Controls, Concepts, Theories and Applications

60 1.55 -9.84 44.6 ±7.4×10-3 (Mean=-7.4×10-3) 30 1.60 -6.17 32 ±7.5×10-3 (Mean=-7.5×10-3) 20 1.79 -3.73 21 ±7.25×10-3 (Mean=-7.25×10-3) 10 2.34 -1.32 8.3 ±7.5×10-3 (Mean=-7.5×10-3) 8 2.52 -0.77 6.5 ±7.25×10-3 (Mean=-7.25×10-3) 6 2.73 -0.62 6.6 ±7.25×10-3 (Mean=-7.25×10-3) 2 3.69 -0.06 4.1 ±7.3×10-3 (Mean=-7.3×10-3) 1 4.43 - 4.4 ±7.3×10-3 (Mean=-7.3×10-3) 0.2 5.1 - 5.1 ±7.2×10-3 (Mean=-7.2×10-3) 0.02 5.85 - 4.9 ±7.2×10-2 (Mean=-2.7×10-3)

Fig. 9. Results for the overshoot and settling time using various span sizes *Sb*. (a) Result

(b)

(a)

using span size of 30 (b) Result using span size of 0.2

Settling time (seconds)

Steady state oscillation (seconds)

Overshoot (degrees)

Span *Sb*

Time during first zero crossing (seconds)

Table 5. Results obtained for various span sizes *Sb*.

The satellite system is simulated again using optimal span sizes selected from sections 6.1 and 6.2. Initial angles given to the systems are 3 degrees, 15 degrees, and -10 degrees. Simulation results are as shown in figures 10 and 11. Oscillation during the steady state has been reduced and overshoot has been prevented.

Fig. 10. Results for attitude using the fuzzy controllers (a) fuzzy bang-bang controller (b) fuzzy bang-off-bang controller

From figure 10, it can be seen that the oscillation in the steady state is less when bang-offbang controller is used compared to the bang-bang controller. The bang-off-bang controller requires more time to settle compared to the bang-bang controller. Based on the figure 11, the bang-bang controller requires rapid switching between the thrusters while the bang-offbang controller commands only two pulses. First pulse is used to initiate rotation and the second pulse is to terminate it. This causes less fuel to be consumed, but it requires more time to reach the reset angle.

Thus, bang-off-bang controller is an impulse type and can be used as fuel optimal control while bang-bang controller can be used as time optimal control. From figure 11, it can be seen that both controllers continuously activate and deactivate thrusters to maintain the satellite at the reset angle. In (Thongchet S. & Kuntanapreeda S., 2001a), it is stated that the thrusters will be switched off once attitude reaches zero state, thus prevents oscillation.

Switching Control System Based

of 15 degrees.

**8. Optimization** 

**8.1 Minimum time response** 

performance of the satellite.

method is a suitable method to yield switching signals.

on Largest of Maximum (LOM) Defuzzification – Theory and Application 313

satellite. The LOM defuzzification yields switching signals in which economical digital actuators would respond to the signals accordingly. This shows that LOM defuzzification

Fig. 13. Output from fuzzy controller using centroid defuzzification method for initial angle

Optimization of fuzzy logic system is of interest to researchers in past and will remain in future as new applications are emerging. In (R. Bicker et al, 2002), the authors have mentioned that implementation of fuzzy logic controller is limited due to the difficultly faced in optimizing the fuzzy logic system. From section 6, it is seen that span sizes *Sa* and *Sb* play important roles in performance of FLC controller and optimum span sizes were selected manually. This section shows how the non-linear relation between the initial attitude of satellite and spans of the fuzzy controller membership functions are optimized automatically to achieve minimum response time by using Nelder-Mead simplex search method. Other methods used in optimization of fuzzy controllers are such as genetic algorithms for mobile robot navigation as presented in (R. Martínez et al, 2009), use of linear matrix inequalities and sliding mode control techniques for the Takagi-Sugeno Fuzzy Controllers (FCs) (Y. W. Liang et al, 2009; R.-E. Precup & S. Preitl, 2004), reinforcement ant optimized method (C.-F. Juang & C.-H. Hsu, 2009), combination of online self-aligning clustering with ant and particle swarm cooperative optimization as discussed in (C.-F. Juang

& C.-Y. Wang, 2009), use of simulated annealing method (Precup, et al, 2011) and etc.

Response time of a control system complements energy-saving measures especially in embedded control system. Satellite attitude control system is one such example where fuel saving is highly desirable. Likewise, remotely controlled submersibles, deep space exploration probes can also benefit from such measures but to a lesser extent than communication satellites due to their high launching cost. Minimum response time also ensures that satellite orientation error can be efficiently removed without degrading

Fig. 11. Output from the fuzzy controllers for initial angle of 15 degrees. (a) Fuzzy bangbang controller (b) Fuzzy bang-off-bang controller

## **7. Simulation using centroid defuzzification method**

The satellite system in figure 1 is simulated using optimal span size *Sa* and *Sb*. Centroid defuzzification method is used. Figures 12 and 13 show the simulation results.

Fig. 12. Result for attitude using centroid defuzzification method

The centroid defuzzification method yields smaller oscillation during steady state compared to when LOM defuzzification is used (for both bang-bang and bang-off-bang controllers). Compared to bang-bang controller (which uses LOM defuzzification method), the centroid defuzzification leads to significant overshoot and longer settling time as seen in figure 12. The longer settling time leads to higher fuel consumption, which significantly reduces the lifespan of the satellite.

From figure 13, it can be seen that the output from the controller is a crisp value interpolated between the ranges of the aggregated fuzzy output set. This type of output requires analog actuators, in order to respond to the signals accordingly. This would lead to more expensive actuators to be installed onto the system. These problems are avoided when bang-bang controller is used, as seen in figures 10(a) and 11(a).

The overshoot is avoided and the settling time is faster compared to when centroid defuzzification method is used. This reduces fuel consumption and increases lifespan of the satellite. The LOM defuzzification yields switching signals in which economical digital actuators would respond to the signals accordingly. This shows that LOM defuzzification method is a suitable method to yield switching signals.

Fig. 13. Output from fuzzy controller using centroid defuzzification method for initial angle of 15 degrees.

## **8. Optimization**

312 Fuzzy Logic – Controls, Concepts, Theories and Applications

(a) (b)

The satellite system in figure 1 is simulated using optimal span size *Sa* and *Sb*. Centroid

The centroid defuzzification method yields smaller oscillation during steady state compared to when LOM defuzzification is used (for both bang-bang and bang-off-bang controllers). Compared to bang-bang controller (which uses LOM defuzzification method), the centroid defuzzification leads to significant overshoot and longer settling time as seen in figure 12. The longer settling time leads to higher fuel consumption, which significantly reduces the

From figure 13, it can be seen that the output from the controller is a crisp value interpolated between the ranges of the aggregated fuzzy output set. This type of output requires analog actuators, in order to respond to the signals accordingly. This would lead to more expensive actuators to be installed onto the system. These problems are avoided when bang-bang

The overshoot is avoided and the settling time is faster compared to when centroid defuzzification method is used. This reduces fuel consumption and increases lifespan of the

defuzzification method is used. Figures 12 and 13 show the simulation results.

Fig. 11. Output from the fuzzy controllers for initial angle of 15 degrees. (a) Fuzzy bang-

bang controller (b) Fuzzy bang-off-bang controller

**7. Simulation using centroid defuzzification method** 

Fig. 12. Result for attitude using centroid defuzzification method

controller is used, as seen in figures 10(a) and 11(a).

lifespan of the satellite.

Optimization of fuzzy logic system is of interest to researchers in past and will remain in future as new applications are emerging. In (R. Bicker et al, 2002), the authors have mentioned that implementation of fuzzy logic controller is limited due to the difficultly faced in optimizing the fuzzy logic system. From section 6, it is seen that span sizes *Sa* and *Sb* play important roles in performance of FLC controller and optimum span sizes were selected manually. This section shows how the non-linear relation between the initial attitude of satellite and spans of the fuzzy controller membership functions are optimized automatically to achieve minimum response time by using Nelder-Mead simplex search method. Other methods used in optimization of fuzzy controllers are such as genetic algorithms for mobile robot navigation as presented in (R. Martínez et al, 2009), use of linear matrix inequalities and sliding mode control techniques for the Takagi-Sugeno Fuzzy Controllers (FCs) (Y. W. Liang et al, 2009; R.-E. Precup & S. Preitl, 2004), reinforcement ant optimized method (C.-F. Juang & C.-H. Hsu, 2009), combination of online self-aligning clustering with ant and particle swarm cooperative optimization as discussed in (C.-F. Juang & C.-Y. Wang, 2009), use of simulated annealing method (Precup, et al, 2011) and etc.

#### **8.1 Minimum time response**

Response time of a control system complements energy-saving measures especially in embedded control system. Satellite attitude control system is one such example where fuel saving is highly desirable. Likewise, remotely controlled submersibles, deep space exploration probes can also benefit from such measures but to a lesser extent than communication satellites due to their high launching cost. Minimum response time also ensures that satellite orientation error can be efficiently removed without degrading performance of the satellite.

Switching Control System Based

during the iterative search process.

tuning the span of membership functions.

**8.3 Performance criteria – Penalty function** 

penalty function is proposed as follows:

as shown in equation 7 below

tolerance.

on Largest of Maximum (LOM) Defuzzification – Theory and Application 315

optimization process is completed in the upper loop and fuzzy controller injects control signal *u* into the plant. Control input *u'* is an intermediate control action for plant model

Important factor in optimization of fuzzy logic controller is to determine which parameter is to be tuned. In this work a fuzzy bang-bang control system proposed in figure 13 is optimized for minimum response time by tuning the membership functions of the fuzzy controller. Performance of fuzzy logic system is more dependent on membership function design than rule base design (Dan S., 2002). It is also shown in (Logah P. & Nagi F., 2008; Thongchet S. & Kuntanapreeda S., 2001b) that minimum-time results can be achieved by

The optimization method adopted here in this work is based on the Nelder-Mead algorithm. Nelder-Mead simplex search method is selected because it is simple, can be programmed on a computer fairly easily and it is derivative-free (Kim Y-S., 1997). Derivative-free method is desired since they do not use numerical or analytical gradients. Derivative-free method can be applied to a wide range of objective functions and membership function forms (Dan S., 2002). Objective function for the optimization process is the plant model output ( , ( )) *<sup>i</sup>*

3 3

where *C*(*s*) is membership function as a function of span *s* and *i* = 1,2… is the index for membership functions; *i* = 3 for optimization of the central membership function. *j* = 1,2…is the input index for the fuzzy controller; *j* = 1 for input angle and *j* = 2 for input angle rate.

The optimization is done by supplying parameters of the membership functions (*Sa* and *Sb*) as inputs and Nelder-Mead algorithm searches for optimal values. Initial guess of twelve is used for both *Sa* and *Sb*. Points corresponding to peak values of membership functions SN and SP (for both angle and angle rate) are set to be half of spans *Sa* and *Sb* in order to maintain 50% overlap and satisfy bezdek's repartition (Jan J., 1994; Demaya B. et al, 1995). The membership function distribution is respected according to bezdek distribution by preventing the modal points (maximum position) of the membership functions from crossing each other (Demaya B. et al, 1995). This is accomplished by assigning wider initial guess values for the span and stopping the optimization process with appropriate *f* function

The performance criteria or also known as penalty function is used in optimization process to measure the deviation from the desired behavior (error). The Nelder-Mead algorithm tends to minimize the penalty function value. An effective penalty function needs to be designed in order to obtain desired response. It can be difficult to find an effective penalty function (Jacomet M. et all, 1997; Smith AE & Coit DW., 1997). In (Jacomet M. et all, 1997) a

<sup>2</sup> ( ( ) ( ))

*i i*

*g fx fp* (8)

*N*

*i*

1 2 *f y* ( , ( ), ( )) *tC s C s* (7)

*<sup>j</sup> y tC s*

The next important factor is the minimum time required to reach the zero states. This can be achieved by tuning the fuzzy logic system. Such controller is known as adaptive FLC controller or self tuning controller (Lhee C-G et al, 2001), which can be further classified as direct or indirect. In direct adaptive FLC controller the parameters are predetermined and selected on criteria of control law. An example of minimum time direct adaptive FLC controller can be found in (Thongchet S. & Kuntanapreeda S., 2001a) where the neural network is trained to output the fuzzy logic membership function parameters required to steer the satellite from initial attitude condition to zero states. Another example can be found in (Logah P. & Nagi F., 2008) where the satellite is brought to the reset angle by switching between two pre-determined fuzzy logic controllers. The switching is accomplished by scheduling the parameter. Indirect adaptive FLC estimates the fuzzy controller parameter online and caters for dynamics changes in the system response. The tuning FLC's parameters which can be altered online are the scaling factors for input and/or output signals (Isomursu P. & Rauma T., 1994; Yazici H. & Guclu R., 2006), the input and/or output membership functions (Isomursu P. & Rauma T., 1994; Jacomet M. et al, 1997) and the fuzzy if-then rules.

#### **8.2 Proposed control system**

The proposed control system is shown in figure 14, which optimizes spans (*S*) of the membership functions. The optimization is an iterative process. First the optimization plant model of the satellite, a mathematical expressions or Neural Network is used for searching the span *S* in fuzzy controller.

Fig. 14. Model optimization fuzzy control system

 *oo* , Adjustment criterion for minimizing the Euler angle is described in detail below. The lower loop with plant provides initial conditions; from the plant to the upper optimization loop. The initial angle *<sup>o</sup>* , is the set point in absence of desired angle of zero degree. The initial angle rate is set to 0o/sec for all simulations. Initial angle of the plant remains so until

The next important factor is the minimum time required to reach the zero states. This can be achieved by tuning the fuzzy logic system. Such controller is known as adaptive FLC controller or self tuning controller (Lhee C-G et al, 2001), which can be further classified as direct or indirect. In direct adaptive FLC controller the parameters are predetermined and selected on criteria of control law. An example of minimum time direct adaptive FLC controller can be found in (Thongchet S. & Kuntanapreeda S., 2001a) where the neural network is trained to output the fuzzy logic membership function parameters required to steer the satellite from initial attitude condition to zero states. Another example can be found in (Logah P. & Nagi F., 2008) where the satellite is brought to the reset angle by switching between two pre-determined fuzzy logic controllers. The switching is accomplished by scheduling the parameter. Indirect adaptive FLC estimates the fuzzy controller parameter online and caters for dynamics changes in the system response. The tuning FLC's parameters which can be altered online are the scaling factors for input and/or output signals (Isomursu P. & Rauma T., 1994; Yazici H. & Guclu R., 2006), the input and/or output membership functions (Isomursu P. & Rauma T., 1994; Jacomet M. et al, 1997) and

The proposed control system is shown in figure 14, which optimizes spans (*S*) of the membership functions. The optimization is an iterative process. First the optimization plant model of the satellite, a mathematical expressions or Neural Network is used for searching

the fuzzy if-then rules.

**8.2 Proposed control system** 

the span *S* in fuzzy controller.

Fig. 14. Model optimization fuzzy control system

loop. The initial angle

 *oo* ,

initial angle rate is set to 0o/sec for all simulations. Initial angle of the plant remains so until

*<sup>o</sup>* , is the set point in absence of desired angle of zero degree. The

Adjustment criterion for minimizing the Euler angle is described in detail below. The lower loop with plant provides initial conditions; from the plant to the upper optimization optimization process is completed in the upper loop and fuzzy controller injects control signal *u* into the plant. Control input *u'* is an intermediate control action for plant model during the iterative search process.

Important factor in optimization of fuzzy logic controller is to determine which parameter is to be tuned. In this work a fuzzy bang-bang control system proposed in figure 13 is optimized for minimum response time by tuning the membership functions of the fuzzy controller. Performance of fuzzy logic system is more dependent on membership function design than rule base design (Dan S., 2002). It is also shown in (Logah P. & Nagi F., 2008; Thongchet S. & Kuntanapreeda S., 2001b) that minimum-time results can be achieved by tuning the span of membership functions.

The optimization method adopted here in this work is based on the Nelder-Mead algorithm. Nelder-Mead simplex search method is selected because it is simple, can be programmed on a computer fairly easily and it is derivative-free (Kim Y-S., 1997). Derivative-free method is desired since they do not use numerical or analytical gradients. Derivative-free method can be applied to a wide range of objective functions and membership function forms (Dan S., 2002). Objective function for the optimization process is the plant model output ( , ( )) *<sup>i</sup> <sup>j</sup> y tC s* as shown in equation 7 below

$$f = y(t, \mathbf{C}\_1^3(\mathbf{s}), \mathbf{C}\_2^3(\mathbf{s})) \tag{7}$$

where *C*(*s*) is membership function as a function of span *s* and *i* = 1,2… is the index for membership functions; *i* = 3 for optimization of the central membership function. *j* = 1,2…is the input index for the fuzzy controller; *j* = 1 for input angle and *j* = 2 for input angle rate.

#### **8.3 Performance criteria – Penalty function**

The optimization is done by supplying parameters of the membership functions (*Sa* and *Sb*) as inputs and Nelder-Mead algorithm searches for optimal values. Initial guess of twelve is used for both *Sa* and *Sb*. Points corresponding to peak values of membership functions SN and SP (for both angle and angle rate) are set to be half of spans *Sa* and *Sb* in order to maintain 50% overlap and satisfy bezdek's repartition (Jan J., 1994; Demaya B. et al, 1995). The membership function distribution is respected according to bezdek distribution by preventing the modal points (maximum position) of the membership functions from crossing each other (Demaya B. et al, 1995). This is accomplished by assigning wider initial guess values for the span and stopping the optimization process with appropriate *f* function tolerance.

The performance criteria or also known as penalty function is used in optimization process to measure the deviation from the desired behavior (error). The Nelder-Mead algorithm tends to minimize the penalty function value. An effective penalty function needs to be designed in order to obtain desired response. It can be difficult to find an effective penalty function (Jacomet M. et all, 1997; Smith AE & Coit DW., 1997). In (Jacomet M. et all, 1997) a penalty function is proposed as follows:

$$\mathbf{g} = \sum\_{i}^{N} \left( f(\mathbf{x}\_{i}) - f(p\_{i}) \right)^{2} \tag{8}$$

Switching Control System Based

various initial Euler angles.

on Largest of Maximum (LOM) Defuzzification – Theory and Application 317

are as shown in figures 16 and 17 below. Table 6 summarizes the results for settling time for

Fig. 16. Simulation results for initial angle of 15 degrees.(a) Optimization of membership functions of input angle (b) Optimization of membership functions of input angle rate (c) Result for attitude before and after optimization (d) Single cycle bang-bang controller output.

more precise attitude controllers (Cathryn Jacobson, 2002; Hall C. et al, 1998).

more with higher initial angle.

From figures 16(d) and 17(d), it can be seen that the fuzzy bang-bang controller yields only one cycle of thruster output before the system reaches the zero state. Once the system reaches the zero state, the thrusters would be switched off (in order to prevent chattering and thruster fuel wastage) (Thongchet S. & Kuntanapreeda S., 2001a) and the control is taken over by other

Optimized membership functions are shown in figures 16 and 17. The membership functions either shrunk or expanded depending on the initial angle. During optimization, it is observed that the spans *Sa* shrinks for small initial angles and expands for large initial angles. On the other hand, the span *Sb* expands for all the initial angles. The span *Sb* expands

Where *g* is the sum square of Euler angle, *x(t)* is the measured value and *p(t)* is the desired value. Penalty function above is applied to the single axis satellite system. Initial guess in universe of discourse is set to the maximum spans *Sa* = *Sb* = 12 . The desired reset value is zero degree. The simulation results using the penalty function above leads to faster convergence, but causes overshoot as shown in figure 15 below.

Fig. 15. Optimization results using penalty function of equations 3 and 4. (a) Initial angle given is 15 degrees (b) Initial angle given is 3 degrees.

Without squaring the *g:*

$$\mathbf{g} = \sum\_{i}^{N} (f(\mathbf{x}\_i) - f(p\_i)) \tag{9}$$

overshoot again. In equation 8 large penalty function value is nonlinear and the reflection in the simplex algorithm has taken it to negative search angle space. While in equation 9 the simplex search method is unrestricted of angle signs. The overshoot can be prevented by preferable penalty function:

$$\log = \sum\_{i}^{N} \left( \left\| f(x\_i) - f(p\_i) \right\| \right)^2 \tag{10}$$

Any other penalty function can be used which yield positive angle and minimum convergence time.

#### **8.4 Simulation results**

In this section, the single axis satellite system as shown in section 3 previously is brought to the reset angle in minimum time by optimizing the fuzzy bang-bang controller. The fuzzy bang-bang controller is optimized by utilizing the penalty function described in equation 10. Initial guess values in universe of discourse for the spans *Sa* = *Sb* =12. The simulation results

Where *g* is the sum square of Euler angle, *x(t)* is the measured value and *p(t)* is the desired value. Penalty function above is applied to the single axis satellite system. Initial guess in universe of discourse is set to the maximum spans *Sa* = *Sb* = 12 . The desired reset value is zero degree. The simulation results using the penalty function above leads to faster

Fig. 15. Optimization results using penalty function of equations 3 and 4. (a) Initial angle

(a) (b)

*N*

*i*

*N*

*i*

( ( ) ( ))

overshoot again. In equation 8 large penalty function value is nonlinear and the reflection in the simplex algorithm has taken it to negative search angle space. While in equation 9 the simplex search method is unrestricted of angle signs. The overshoot can be prevented by

<sup>2</sup> () ()

Any other penalty function can be used which yield positive angle and minimum

In this section, the single axis satellite system as shown in section 3 previously is brought to the reset angle in minimum time by optimizing the fuzzy bang-bang controller. The fuzzy bang-bang controller is optimized by utilizing the penalty function described in equation 10. Initial guess values in universe of discourse for the spans *Sa* = *Sb* =12. The simulation results

*i i*

*i i*

*g f <sup>x</sup> f p* (9)

*g fx fp* (10)

convergence, but causes overshoot as shown in figure 15 below.

given is 15 degrees (b) Initial angle given is 3 degrees.

Without squaring the *g:*

preferable penalty function:

convergence time.

**8.4 Simulation results** 

are as shown in figures 16 and 17 below. Table 6 summarizes the results for settling time for various initial Euler angles.

Fig. 16. Simulation results for initial angle of 15 degrees.(a) Optimization of membership functions of input angle (b) Optimization of membership functions of input angle rate (c) Result for attitude before and after optimization (d) Single cycle bang-bang controller output.

From figures 16(d) and 17(d), it can be seen that the fuzzy bang-bang controller yields only one cycle of thruster output before the system reaches the zero state. Once the system reaches the zero state, the thrusters would be switched off (in order to prevent chattering and thruster fuel wastage) (Thongchet S. & Kuntanapreeda S., 2001a) and the control is taken over by other more precise attitude controllers (Cathryn Jacobson, 2002; Hall C. et al, 1998).

Optimized membership functions are shown in figures 16 and 17. The membership functions either shrunk or expanded depending on the initial angle. During optimization, it is observed that the spans *Sa* shrinks for small initial angles and expands for large initial angles. On the other hand, the span *Sb* expands for all the initial angles. The span *Sb* expands more with higher initial angle.

Switching Control System Based

**9.1 Hardware setup** 

degrees/teeth.

valve2 and v) Beam

**9. Practical application of fuzzy bang-bang control** 

Piyabongkarn D., 2001; Ichinose WE. et al, 2003; Omrcen D., 2007).

on Largest of Maximum (LOM) Defuzzification – Theory and Application 319

Fuzzy logic controller has been widely applied in industrial processes due to their simplicity and effectiveness (Garcia-Perez L. et al, 2000). They are proved to be robust and perform

Here, a practical application of fuzzy bang-bang control is demonstrated by controlling angular position of a pneumatic rotary actuator which equally represents a single axis satellite system. The pneumatic rotary actuator is controlled in real-time by using Matlabsimulink xPC target environment. There have been some successful applications on xPC Target since its release as a Matlab toolbox (Shangying Z. et al, 2004; Shiakolas PS. &

An experiment based on the modal presented earlier in section 3 is presented here to illustrate the fuzzy bang-bang control system. The pneumatic rotary actuator is as shown in figures 18 and 19. Block diagram for experiment setup is shown in figure 20. Angle of the pneumatic rotary actuator is determined with the pulses generated by the inductive proximity encoder. The gear has 18 teeth/rev, giving physical resolution of 20

Fig. 18. Pneumatic rotary actuator. i) Nozzle1, ii) Nozzle2, iii) Solenoid valves1, iv) Solenoid

Resolution of the inductive proximity sensor is coarse, but it provides latency for fuzzy controller so that outputs T1 and T2 are available to solenoids within their response time (FESTO, 2007). The latency time is also necessary to build necessary pressure at nozzles.

Solver step size is kept at 0.01sec (figure 20), determines sampling rate of 100 KHz, which is necessary for interrupt driven scheduler of xPC Target kernel. The inlet pressure used is 3bars. Airflow rate at the nozzle outlet is determined based on characteristic graph provided by FESTO (FESTO, 2007). The air is treated as incompressible since air density changes only slightly at velocities much less than speed of sound. Force produced by the nozzle is

calculated to be 2.2 Newton based on general thrust equation:

well even with disturbances in the input parameters (Logah P. et al, 2007a, 2007b).

Fig. 17. Simulation results for initial angle of 3 degrees.(a) Optimization of membership functions of input angle (b) Optimization of membership functions of input angle rate (c) Result for attitude before and after optimization (d) Single cycle bang-bang controller output.


Table 6. Results for settling time without significant overshoot for various initial Euler angles.

## **9. Practical application of fuzzy bang-bang control**

Fuzzy logic controller has been widely applied in industrial processes due to their simplicity and effectiveness (Garcia-Perez L. et al, 2000). They are proved to be robust and perform well even with disturbances in the input parameters (Logah P. et al, 2007a, 2007b).

Here, a practical application of fuzzy bang-bang control is demonstrated by controlling angular position of a pneumatic rotary actuator which equally represents a single axis satellite system. The pneumatic rotary actuator is controlled in real-time by using Matlabsimulink xPC target environment. There have been some successful applications on xPC Target since its release as a Matlab toolbox (Shangying Z. et al, 2004; Shiakolas PS. & Piyabongkarn D., 2001; Ichinose WE. et al, 2003; Omrcen D., 2007).

## **9.1 Hardware setup**

318 Fuzzy Logic – Controls, Concepts, Theories and Applications

Fig. 17. Simulation results for initial angle of 3 degrees.(a) Optimization of membership functions of input angle (b) Optimization of membership functions of input angle rate (c) Result for attitude before and after optimization (d) Single cycle bang-bang controller

> Using default membership functions


Table 6. Results for settling time without significant overshoot for various initial Euler

Settling time (seconds)

Using optimized membership functions

output.

angles.

Initial Euler angle (degrees)

An experiment based on the modal presented earlier in section 3 is presented here to illustrate the fuzzy bang-bang control system. The pneumatic rotary actuator is as shown in figures 18 and 19. Block diagram for experiment setup is shown in figure 20. Angle of the pneumatic rotary actuator is determined with the pulses generated by the inductive proximity encoder. The gear has 18 teeth/rev, giving physical resolution of 20 degrees/teeth.

Fig. 18. Pneumatic rotary actuator. i) Nozzle1, ii) Nozzle2, iii) Solenoid valves1, iv) Solenoid valve2 and v) Beam

Resolution of the inductive proximity sensor is coarse, but it provides latency for fuzzy controller so that outputs T1 and T2 are available to solenoids within their response time (FESTO, 2007). The latency time is also necessary to build necessary pressure at nozzles.

Solver step size is kept at 0.01sec (figure 20), determines sampling rate of 100 KHz, which is necessary for interrupt driven scheduler of xPC Target kernel. The inlet pressure used is 3bars. Airflow rate at the nozzle outlet is determined based on characteristic graph provided by FESTO (FESTO, 2007). The air is treated as incompressible since air density changes only slightly at velocities much less than speed of sound. Force produced by the nozzle is calculated to be 2.2 Newton based on general thrust equation:

Switching Control System Based

**9.2 Real-time xPC controller** 

which in turn determines which valve to be activated.

Fig. 21. Simulink real time control program

the output is *-1 ≤ z ≤ 1*.

**10. Conclusions** 

**9.3 Rotary actuator control** 

on Largest of Maximum (LOM) Defuzzification – Theory and Application 321

Simulink real time control program is as shown in figure 21. State flow is used to calculate angle, direction and angle rate of the pneumatic rotary actuator based on pulse input from the inductive proximity sensor. The signals are then supplied to the fuzzy logic controller,

Structure of the fuzzy logic controller used is as described in section 5. The universe of discourse for the input angle is *-90 ≤ x1 ≤ 90*, for the input angle rate is *-6.5 ≤ x2 ≤ 6.5* and for

Optimization of the real-time xPC controller (Figure 21) requires optimal span *Sa* and *Sb*. The optimization process is accomplished by repeating the simulation described earlier in section 8.4 and by using the absolute penalty function (Equation 10). Parameters for real time application are given in Table 7. The optimized *Sa* and *Sb* values evaluated by simulation is later used in real-time xPC controller. Initial angle of 30 degrees is given to the

A curve fitting is added to discrete output pulses of the encoder in figure 21 to approximate continous angle convergence to 0 degree. The encoder output has resolution of 20 degree/teeth, which is obvious in figure 22 and is not a limitation for continuous time

Half cycle is required as seen in figure 23. Time required to reach 0 degree is 0.6 seconds. The bang-bang switching then causes oscillation about the reset angle 0 degree, at which the

Fuzzy logic controllers which produce switching signals have been developed using LOM defuzzification method. The fuzzy bang-bang and bang-off-bang controllers are then successfully implemented on one axis satellite attitude control system (through simulations). The bang-bang controller can be used as time optimal control while the bang-off-bang can be used as a fuel optimal control. The optimization of the fuzzy controller's membership function can be easily achieved by using Nelder-Mead algorithm. Two different penalty

system and the system resets to zero degree as shown in figure 22.

controller should be switched off, as described in section 8.4.

simulation. Thruster firing cycle to reset the beam angle is shown in figure 23.

Fig. 19. Close-up view of the inductive proximity sensor and gear assembly. i) Inductive proximity sensor and ii) 18 teeth gear

Fig. 20. Block diagram for the experiment setup

$$F = \dot{m}\_2(V\_2 - V\_1) + (P\_2 - P\_1)A\_2 \tag{11}$$

where *F =* nozzle force, *m*<sup>2</sup> = mass flow rate, *V*1 = nozzle inlet velocity,*V*2 = nozzle exit

velocity, *P*1 = nozzle inlet pressure, *P*2 = nozzle exit pressure and *A*2 = nozzle exit area.

The moment, *Ma* (Equation 1) produced by the nozzle force at half beam length is calculated to be 0.314 Nm. Coefficient of friction, *C* due to bearing contact, misalignment and unbalance is considered to be 0.4kgm2/s. Moment of inertia of the beam in figure 17 is evaluated using parallel axis theorem and found to be 0.00244 kgm2. Parameters of the pneumatic rotary actuator are summarized in Table 7:


Table 7. Specification of the pneumatic rotary actuator

## **9.2 Real-time xPC controller**

320 Fuzzy Logic – Controls, Concepts, Theories and Applications

Fig. 19. Close-up view of the inductive proximity sensor and gear assembly. i) Inductive

where *F =* nozzle force, *m*<sup>2</sup> = mass flow rate, *V*1 = nozzle inlet velocity,*V*2 = nozzle exit

velocity, *P*1 = nozzle inlet pressure, *P*2 = nozzle exit pressure and *A*2 = nozzle exit area.

Parameters Description Value *Ma* Thruster moment 0.314 Nm I Moment of Inertia 0.00244 kgm2 C Coefficient of Friction 0.4 kgm2s

The moment, *Ma* (Equation 1) produced by the nozzle force at half beam length is calculated to be 0.314 Nm. Coefficient of friction, *C* due to bearing contact, misalignment and unbalance is considered to be 0.4kgm2/s. Moment of inertia of the beam in figure 17 is evaluated using parallel axis theorem and found to be 0.00244 kgm2. Parameters of the

22 1 2 1 2 *F mV V P PA* ( )( ) (11)

proximity sensor and ii) 18 teeth gear

Fig. 20. Block diagram for the experiment setup

pneumatic rotary actuator are summarized in Table 7:

Table 7. Specification of the pneumatic rotary actuator

Simulink real time control program is as shown in figure 21. State flow is used to calculate angle, direction and angle rate of the pneumatic rotary actuator based on pulse input from the inductive proximity sensor. The signals are then supplied to the fuzzy logic controller, which in turn determines which valve to be activated.

Fig. 21. Simulink real time control program

Structure of the fuzzy logic controller used is as described in section 5. The universe of discourse for the input angle is *-90 ≤ x1 ≤ 90*, for the input angle rate is *-6.5 ≤ x2 ≤ 6.5* and for the output is *-1 ≤ z ≤ 1*.

## **9.3 Rotary actuator control**

Optimization of the real-time xPC controller (Figure 21) requires optimal span *Sa* and *Sb*. The optimization process is accomplished by repeating the simulation described earlier in section 8.4 and by using the absolute penalty function (Equation 10). Parameters for real time application are given in Table 7. The optimized *Sa* and *Sb* values evaluated by simulation is later used in real-time xPC controller. Initial angle of 30 degrees is given to the system and the system resets to zero degree as shown in figure 22.

A curve fitting is added to discrete output pulses of the encoder in figure 21 to approximate continous angle convergence to 0 degree. The encoder output has resolution of 20 degree/teeth, which is obvious in figure 22 and is not a limitation for continuous time simulation. Thruster firing cycle to reset the beam angle is shown in figure 23.

Half cycle is required as seen in figure 23. Time required to reach 0 degree is 0.6 seconds. The bang-bang switching then causes oscillation about the reset angle 0 degree, at which the controller should be switched off, as described in section 8.4.

## **10. Conclusions**

Fuzzy logic controllers which produce switching signals have been developed using LOM defuzzification method. The fuzzy bang-bang and bang-off-bang controllers are then successfully implemented on one axis satellite attitude control system (through simulations). The bang-bang controller can be used as time optimal control while the bang-off-bang can be used as a fuel optimal control. The optimization of the fuzzy controller's membership function can be easily achieved by using Nelder-Mead algorithm. Two different penalty

Switching Control System Based

*Planning*, VII SEPOPE, Curitiba, Brazil.

Yokohama, Japan, 1995. p. 1149–54.

Boston, MA, August 10–12, 1998.

*systems*, vol. 3. 1994. p. 1560–3.

Elsevier Sciences Inc.

3839, Oct. 2009.

on Largest of Maximum (LOM) Defuzzification – Theory and Application 323

C.-F. Juang & C.-H. Hsu (2009), Reinforcement ant optimized fuzzy controller for mobile-

Cathryn Jacobson. (2002), Flywheel-based attitude control system article, In:

Demaya B, Palm R, Boverie S, & Titli A. (1995), Multilevel qualitative and numerical

Hall C, Tsiotras P, & Shen H. (1998), Tracking rigid body motion using thrusters and

Ichinose WE, Reinkensmeyer DJ, Aoyagi D, Lin JT, Ngai K, Reggie Edgerton V & et al.

Isomursu P & Rauma T. (1994), A self-tuning fuzzy logic controller for temperature control

Jacomet M, Stahel A, & Walti R. (1997), *On-line optimization of fuzzy systems*, Infor Sci 98,

K. Michels, F. Klawonn, R. Kruse, & A. Nürnberger (2006), *Fuzzy Control: Fundamentals, Stability and Design of Fuzzy Controllers*. Berlin, Heidelberg, New York: Springer-Verlag. Kim Y-S. (1997), Refined simplex method for data fitting. In: Astronomical data analysis

L. Mostefai, M. Denai, S. Oh, & Y. Hori. (2009), Optimal control design for robust fuzzy

Lhee C-G, Park J-S, Ahn H-S, & Kim D-H (2001), Sliding mode – like logic control with selftuning the deadband zone parameters. *IEEE Trans Fuzzy Syst*, Vol. 9(2). April. Logah P, Nagi F. (2008) Fuzzy control system based on largest of maximum (LOM)

friction compensation in a robot joint, *IEEE Trans. Ind. Electron*., vol. 56, pp. 3832–

*the IEEE EMBS*, Cancun, Mexico, September 17–21, 2003. p.1690–3.

FESTO online catalogue. Products 2007. Available from: <http://catalog.festo.com/> Garcia-Perez L, Canas JM, Garcia-Alegre MC, Yanez P, & Guinea D. (2000), Fuzzy control of an electropneumatic actuator, *STYLF2000*, Sevilla, September 2000, p. 133–8. Gulley N. (1991), *Simulink application note*., Aerodynamic division, NASA Ames Research Center. Gunadi W. Nurcahyo, Siti Mariyam Shamsuddin, Rose Alinda Alias, & Mohd. Noor Md.

*Fuzziness Knowledge-Based Syst* 2002 Vol.10(4), pp. 363–84.

*Science & Technology*, Vol.3, No.2, October 2003, pp. 22-28.

J. Jantzen (2007), *Foundations of Fuzzy Control*. Chichester: Wiley, 2007.

defuzzification. AJEEE, 2008; Vol. 4(2), pp.167–78.

Jan, J. (1998), *Design of fuzzy controllers*, Technical report no 98-E 864 (design)

software and systems VI. *ASP conference series*, vol. 125, 1997.

robot wall-following control, *IEEE Trans. Ind. Electron*., vol. 56, pp. 3931–3940, Oct. C.-F. Juang & C.-Y. Wang (2009), "A self-generating fuzzy system with ant and particle swarm cooperative optimization," *Expert Syst. Appl*., vol. 36, pp. 5362–5370, April. C.W. Taylor, V. Venkatasubramanian & Y. Chen (2000), Wide-Area Stability and Voltage

Control, *Proc. VII Symposium on Specialists in Electric Operational and Expansion* 

Spinofftechnology #535, Quoin International, Inc. dated 3/11/2002. Available from:<http://www.mdatechnology.net/techsearch/spin.aspx?articleid=535> Dan S. (2002), Sum normal optimization of fuzzy membership functions. *Int J Uncertain* 

optimization of fuzzy controller, IEEE *international conference on fuzzy systems*,

Sap. (2003), Selection of Defuzzification Method to Obtain Crisp Value for Representing Uncertain Data in a Modified Sweep Algorithm, *Journal of Computer* 

momentum wheels. In: *Astrodynamics specialists conference AIAA*, Paper 98-4471,

(2003), A robotic device for measuring and controlling pelvic motion during locomotor rehabilitation. In: *Proceedings of the 25th annual international conference of* 

of superheated steam, *Proceedings of the 3rd IEEE international conference on fuzzy* 

functions are compared in this paper. Simulation results show that the absolute penalty function yields better results by yielding minimum time convergence and without significant overshoot.

Fig. 22. Encoder output of rotary actuator system; resetting the angle to 0 0 with 20 0 /teeth resolution

Fig. 23. Thruster switching voltage level for solenoid valves 3 and 4.

During optimization process, it is observed that spans of the central membership functions change proportionally to the initial angle. The work described here successfully demonstrated the optimization scheme proposed in figure 13, by implementing it to a pneumatic rotary actuator which equally represents a single axis satellite system. The realtime control is achieved by using Matlab-simulink xPC target environment. For real time control the optimized fuzzy membership function parameters were determined on off-line model. On-line optimization is possible by using embedded Cmex S-function for C coded simplex search optimization and C coded fuzzy controller programs in the host computer.

## **11. References**


functions are compared in this paper. Simulation results show that the absolute penalty function yields better results by yielding minimum time convergence and without

Fig. 22. Encoder output of rotary actuator system; resetting the angle to 0

Fig. 23. Thruster switching voltage level for solenoid valves 3 and 4.

Design,John Wiley & Sons, LTD., 2005.

During optimization process, it is observed that spans of the central membership functions change proportionally to the initial angle. The work described here successfully demonstrated the optimization scheme proposed in figure 13, by implementing it to a pneumatic rotary actuator which equally represents a single axis satellite system. The realtime control is achieved by using Matlab-simulink xPC target environment. For real time control the optimized fuzzy membership function parameters were determined on off-line model. On-line optimization is possible by using embedded Cmex S-function for C coded simplex search optimization and C coded fuzzy controller programs in the host computer.

Ajith Abraham. (2005), *Rule-Based Expert Systems*, Handbook of Measuring System

Bruno René Santos, Pedro Tiago Fonseca, Nuno Ávila & Rita Ribeiro (2006), *MODI-*

*Simulation of knowledge enabled monitoring and diagnosis tool for ExoMars Pasteur Payloads*, Executive Summary Report, Document Ref: MODI\_ESR\_300, Edition 1-0.

0 with 20 0 /teeth

significant overshoot.

resolution

**11. References** 


**0**

**16**

Ion Iancu

*Romania*

*University of Craiova*

**A Mamdani Type Fuzzy Logic Controller**

The database of a rule-based system may contain imprecisions which appear in the description of the rules given by the expert. Because such an inference can not be made by the methods which use classical two valued logic or many valued logic, Zadeh in (Zadeh, 1975) and Mamdani in (Mamdani, 1977) suggested an inference rule called "compositional rule of inference". Using this inference rule, several methods for fuzzy reasoning were proposed. Zadeh (Zadeh, 1979) extends the traditional Modus Ponens rule in order to work with fuzzy

An important part of fuzzy reasoning is represented by Fuzzy Logic Control (FLC), derived from control theory based on mathematical models of the open-loop process to be controlled. Fuzzy Logic Control has been successfully applied to a wide variety of practical problems: control of warm water, robot, heat exchange, traffic junction, cement kiln, automobile speed, automotive engineering, model car parking and turning, power system and nuclear reactor,

It points out that fuzzy control has been effectively used in the context of complex ill-defined processes, especially those that can be controlled by a skilled human operator without the knowledge of their underlying dynamics. In this sense, neural and adaptive fuzzy systems has been compared to classical control methods by B. Kosko in (Kosko, 1992). There, it is remarked that they are model-free estimators, i.e., they estimate a function without requiring a mathematical description of how the output functionally depends on the input; they learn from samples. However, some people criticized fuzzy control because the very fundamental question "Why does a fuzzy rule-based system have such good performance for a wide variety of practical problems?" remained unanswered. A first approach to answer this fundamental question in a quantitative way was presented by Wang in (Wang, 1992) where he proved that a particular class of FLC systems are universal approximators: they are capable of approximating any real continuous function on a compact set to arbitrary accuracy. This class

sets, obtaining the Generalized Modus Ponens (GMP) rule.

on-line shopping, washing machines, etc.

1) Gaussian membership functions,

2) Product fuzzy conjunction, 3) Product fuzzy implication, 4) Center of area defuzzification.

**1. Introduction**

is characterized by:


## **A Mamdani Type Fuzzy Logic Controller**

Ion Iancu *University of Craiova Romania*

#### **1. Introduction**

324 Fuzzy Logic – Controls, Concepts, Theories and Applications

Logah P, Nagi FH, & Yusoff MZ, (2007b), Fuzzy logic gain scheduler for a missile autopilot.

Logah P., Nagi FH, & Yusoff MZ. (2007a), Altitude control of an aircraft using fuzzy logic

Mark Ole Hilstad (2002). *A Multi-Vehicle Testbed and Interface Framework for the Development* 

Omrcen D. (2007), Developing Matlab–Simulink and xPC target real-time controlenvironment

Parman, S. (2007). Attitude Maneuvers of a Flexible Satellite by Using Improved Time-

Precup, R.-E., David, R.-C., Petriu, E. M., Preitl, St. & Rădac, M.-B. (2011), Fuzzy control

R. Bicker, Z. Hu, & K. Burn (2002), A Self-tuning Fuzzy Robotic Force Controller, *Proceedings* 

R. Martínez, O. Castillo, & L. T. Aguilar (2009), Optimization of interval type-2 fuzzy logic

R.-E. Precup & S. Preitl (2004), Optimisation criteria in development of fuzzy controllers with dynamics, Eng. *Appl. Artif. Intell*., vol. 17, pp. 661–674, Sept. 2004. Shangying Z, Junwei H & Hui Z. (2004), RCP and RT control of 6-DOF parallel robot. In: *Forth international workshop on robot motion and control*, 2004. p. 133–7. Shiakolas PS & Piyabongkarn D. (2001), On the development of a real-time controlsystem

Slotine, J.J.E. & Li, W. (1991). *Applied Nonlinear Control*, Prentice-Hall, Englewood Cliffs, N.J. Smith AE & Coit DW. (1997), *Penalty functions*. In: Baeck T, Fogel DB, Michalewicz Z, editors. Handbook on evolutionary computation. Oxford University Press; 1997. C5.2:1–6. T.H. Jensen (2003). *Modeling A Resistive Wall Mode Control System Of The Bang-Bang Type*,

Thongchet S. & Kuntanapreeda S (2001b) Minimum-time Control of Satellite Attitude using

Timothy J. Ross (1995), *Fuzzy Logic With Engineering Applications*, New York, McGraw-Hill Inc. Y.-W. Liang, S.-D. Xu, & L.-W. Ting (2009), T-S model-based SMC reliable design for a class

Yazici H, & Guclu R. (2006), Self-tuning fuzzy logic controller of vibrations of multidegree-

*Systems (FSFS'01*), Puerto De La Cruz, Spain, February 11-15, 2001b. Thongchet S. & Kuntanapreeda S. (2001a) A Fuzzy Neural Bang-Bang Controller for Satellite

*Alpe–Adria–Danube region-RAAD*, Ljubljana, Slovenia, June.

*Transactions on Industrial Electronics,* vol. PP, no. 99, pp. 1-15

2007. p. 84–9.

14–15th May 2007. p. 65–74.

Massachusetts Institute of Technology.

Malaysia, 20th and 21st June 2007, pp. 90-94.

*Manipulators, RoManSy 2002*, Udine, Italy,.

algorithms," *Inf. Sc*i., vol. 179, pp. 2158–2174, June.

*conference on decision and contro*l, 2001. p. 1348–53.

*Computational Intelligence IV*, March 2001, pp. 97-104.

*intelligent manufacturing systems*, May 29–31, 2006. p. 462–74.

General Atomics Project Report.

In: *Proceedings of AEROTECH II – 2007*, Putrajaya, Malaysia, 20th and 21st June,

control system. In: *Student's conference on research and development (SCORED)*, vol. 1,

*and Verification of Separated Spacecraft Control Algorithms*, Master Thesis,

for humanoid jumping robot. In: *Proceedings of 16th international workshop on robotics in* 

Optimal Inputs for Linear System, *Proceedings of* AEROTECH II – 2007, Putrajaya,

systems with reduced parametric sensitivity based on simulated annealing. *IEEE* 

*of the 14th CISM-IFToMM Symposium on the Theory and Practice of Robots and* 

controllers for a perturbed autonomous wheeled mobile robot using genetic

using xPC-target and a magnetic levitation device. In: *Proceedings of the 40th IEEE* 

a Fuzzy Logic Controller", *2001 WSES International Conference on Fuzzy Sets & Fuzzy* 

Attitude Control, Proceedings of SPIE-Volume 4390, *Applications and Science of* 

of nonlinear control systems, *IEEE Trans. Ind. Electron*., vol. 56, pp. 3286–3295, Sept.

of-freedom structural systems, *Proceedings of 5th international symposium on* 

The database of a rule-based system may contain imprecisions which appear in the description of the rules given by the expert. Because such an inference can not be made by the methods which use classical two valued logic or many valued logic, Zadeh in (Zadeh, 1975) and Mamdani in (Mamdani, 1977) suggested an inference rule called "compositional rule of inference". Using this inference rule, several methods for fuzzy reasoning were proposed. Zadeh (Zadeh, 1979) extends the traditional Modus Ponens rule in order to work with fuzzy sets, obtaining the Generalized Modus Ponens (GMP) rule.

An important part of fuzzy reasoning is represented by Fuzzy Logic Control (FLC), derived from control theory based on mathematical models of the open-loop process to be controlled. Fuzzy Logic Control has been successfully applied to a wide variety of practical problems: control of warm water, robot, heat exchange, traffic junction, cement kiln, automobile speed, automotive engineering, model car parking and turning, power system and nuclear reactor, on-line shopping, washing machines, etc.

It points out that fuzzy control has been effectively used in the context of complex ill-defined processes, especially those that can be controlled by a skilled human operator without the knowledge of their underlying dynamics. In this sense, neural and adaptive fuzzy systems has been compared to classical control methods by B. Kosko in (Kosko, 1992). There, it is remarked that they are model-free estimators, i.e., they estimate a function without requiring a mathematical description of how the output functionally depends on the input; they learn from samples. However, some people criticized fuzzy control because the very fundamental question "Why does a fuzzy rule-based system have such good performance for a wide variety of practical problems?" remained unanswered. A first approach to answer this fundamental question in a quantitative way was presented by Wang in (Wang, 1992) where he proved that a particular class of FLC systems are universal approximators: they are capable of approximating any real continuous function on a compact set to arbitrary accuracy. This class is characterized by:


*μF*(*λu*<sup>1</sup> + (1 − *λ*)*u*2) ≥ *min*{*μF*(*u*1), *μF*(*u*2)}, *u*1, *u*<sup>2</sup> ∈ *U*, *λ* ∈ [0, 1] (*convex*) Because the majority of practical applications work with trapezoidal or triangular distributions and these representations are still a subject of various recent papers ((Grzegorzewski & Mrowka, 2007), (Nasseri, 2008), for instance) we will work with membership functions represented by trapezoidal fuzzy numbers. Such a number *N* =

A Mamdani Type Fuzzy Logic Controller 327

0 *f or x* < *m* − *α x* − *m* + *α*

1 *f or x* ∈ [*m*, *m*]

0 *f or x* > *m* + *β*

Will be used fuzzy sets to represent linguistic variables. A linguistic variable can be regarded either as a variable whose value is a fuzzy number or as a variable whose values are defined

**Definition 3.** *A linguistic variable V is characterized by: its name x, an universe U, a term set T*(*x*)*, a syntactic rule G for generating names of values of x, and a set of semantic rule M for associating with*

For example, if *speed* of a car is interpreted as a linguistic variable, then its term set could be *T*(*x*) = {*slow*, *moderate*, *f ast*, *very slow*, *more or less f ast*} where each term is characterized by a fuzzy set in an universe of discourse *U* = [0, 100]. We might interpret: *slow* as "a speed below about 40 mph", *moderate* as "speed close to 55 mph", *fast* as "a speed about 70 mph".

*m* + *β* − *x*

*α f or x* ∈ [*m* − *α*, *m*]

*<sup>β</sup> f or x* <sup>∈</sup> [*m*, *<sup>m</sup>* <sup>+</sup> *<sup>β</sup>*]

<sup>2</sup> <sup>→</sup> [0, 1] *is a t-norm iff it is commutative, associative,*

<sup>2</sup> <sup>→</sup> [0, 1] *is a t-conorm iff it is commutative, associative,*

(*m*, *m*, *α*, *β*) is defined as

in linguistic terms.

*each value its meaning.*

**Definition 4.** *A function T* : [0, 1]

The most important t-norms are:

• Minimum: *Tm*(*x*, *y*) = *min*{*x*, *y*}

**Definition 5.** *A function S* : [0, 1]

• Maximum: *Sm*(*x*, *y*) = *max*{*x*, *y*}

The basic t-conorms are

*non-decreasing and S*(*x*, 0) = *x* ∀*x* ∈ [0, 1]*.*

• Lukasiewicz: *SL*(*x*, *y*) = *min*{1, *x* + *y*}

• Probabilistic (or Product): *SP*(*x*, *y*) = *x* + *y* − *xy*

*non-decreasing and T*(*x*, 1) = *x* ∀*x* ∈ [0, 1]*.*

• Lukasiewicz: *TL*(*x*, *y*) = *max*{0, *x* + *y* − 1}

• Weak: *TW*(*x*, *<sup>y</sup>*) = � *min*{*x*, *<sup>y</sup>*} *if max*{*x*, *<sup>y</sup>*} <sup>=</sup> <sup>1</sup>

0 *otherwise*.

• Probabilistic (or Product): *TP*(*x*, *y*) = *xy*

*μ<sup>N</sup>* (*x*) =

⎧

⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎩

Other approaches are due to Buckley (Buckley, 1992; 1993). He has proved that a modification of Sugeno type fuzzy controllers gives universal approximators. Although both results are very important, many real fuzzy logic controllers do not belong to these classes, because other membership functions are used, other inference mechanisms are applied or other type of rules are used. The question "What other types of fuzzy logic controllers are universal approximators?" still remained unanswered. This problem were solved by Castro in (Castro, 1995) where he proved that a large number of classes of FLC systems are also universal approximators.

The most popular FLC systems are: Mamdani, Tsukamoto, Sugeno and Larsen which work with crisp data as inputs. An extension of the Mamdani model in order to work with interval inputs is presented in (Liu et al., 2005) , where the fuzzy sets are represented by triangular fuzzy numbers and the firing level of the conclusion is computed as the product of firing levels from the antecedent. Other extensions and applications of the standard FLC systems were proposed in (Iancu, 2009a;b; Iancu, Colhon & Dupac, 2010; Iancu, Constantinescu & Colhon, 2010; Iancu & Popirlan, 2010).

The necessity to extend the fuzzy controllers to work with intervals or linguistic values as inputs is given by many applications where precise values of the input data no interest or are difficult to estimate. For example, in shopping applications the buyer is interested, rather, in a product that is priced within certain limits or does not exceed a given value (Liu et al., 2005). In other cases, the input values are much easier to express in fuzzy manner, for example, in the problem of controlling the washing time using fuzzy logic control the degree of dirt for the object to be washed is easily expressed by a linguistic value (Agarwal, 2007). These examples will be used to show the working of the model proposed in order to expand the Mamdani fuzzy logic controller. In this paper a FLC system with the following characteristics is presented:


### **2. Preliminaries**

Let *U* be a collection of objects denoted generically by {*u*}, which could be discrete or continuous. *U* is called the universe of discourse and *u* represents the generic element of *U*.

**Definition 1.** *A fuzzy set F in the universe of discourse U is characterized by its membership function μ<sup>F</sup>* : *U* → [0, 1]*. The fuzzy set may be represented as a set of ordered pairs of a generic element u and its grade of membership function: F* = {(*u*, *μF*(*u*))/*u* ∈ *U*}*.*

**Definition 2.** *A fuzzy number F in a continuous universe U, e. g., a real line, is a fuzzy set F in U which is normal and convex, i. e.,*

$$\max\_{\mu \in U} \mu\_F(\mu) = 1 \qquad (normal)$$

2 Will-be-set-by-IN-TECH

Other approaches are due to Buckley (Buckley, 1992; 1993). He has proved that a modification of Sugeno type fuzzy controllers gives universal approximators. Although both results are very important, many real fuzzy logic controllers do not belong to these classes, because other membership functions are used, other inference mechanisms are applied or other type of rules are used. The question "What other types of fuzzy logic controllers are universal approximators?" still remained unanswered. This problem were solved by Castro in (Castro, 1995) where he proved that a large number of classes of FLC systems are also universal

The most popular FLC systems are: Mamdani, Tsukamoto, Sugeno and Larsen which work with crisp data as inputs. An extension of the Mamdani model in order to work with interval inputs is presented in (Liu et al., 2005) , where the fuzzy sets are represented by triangular fuzzy numbers and the firing level of the conclusion is computed as the product of firing levels from the antecedent. Other extensions and applications of the standard FLC systems were proposed in (Iancu, 2009a;b; Iancu, Colhon & Dupac, 2010; Iancu, Constantinescu &

The necessity to extend the fuzzy controllers to work with intervals or linguistic values as inputs is given by many applications where precise values of the input data no interest or are difficult to estimate. For example, in shopping applications the buyer is interested, rather, in a product that is priced within certain limits or does not exceed a given value (Liu et al., 2005). In other cases, the input values are much easier to express in fuzzy manner, for example, in the problem of controlling the washing time using fuzzy logic control the degree of dirt for the object to be washed is easily expressed by a linguistic value (Agarwal, 2007). These examples will be used to show the working of the model proposed in order to expand the Mamdani fuzzy logic controller. In this paper a FLC system with the following characteristics

• the linguistic terms (or values) are represented by trapezoidal fuzzy numbers

• the crisp control action of a rule is computed using Middle-of-Maxima method

• the overall crisp control action of an implication is computed by discrete Center-of-Gravity • the overall crisp control action of the system is computed using an OWA (Ordered

Let *U* be a collection of objects denoted generically by {*u*}, which could be discrete or continuous. *U* is called the universe of discourse and *u* represents the generic element of

**Definition 1.** *A fuzzy set F in the universe of discourse U is characterized by its membership function μ<sup>F</sup>* : *U* → [0, 1]*. The fuzzy set may be represented as a set of ordered pairs of a generic element u and*

**Definition 2.** *A fuzzy number F in a continuous universe U, e. g., a real line, is a fuzzy set F in U*

*<sup>u</sup>*∈*<sup>U</sup> <sup>μ</sup>F*(*u*) = <sup>1</sup> (*normal*)

• various implication operators are used to represent the rules

*its grade of membership function: F* = {(*u*, *μF*(*u*))/*u* ∈ *U*}*.*

max

approximators.

is presented:

**2. Preliminaries**

*U*.

Colhon, 2010; Iancu & Popirlan, 2010).

Weighted Averaging) operator.

*which is normal and convex, i. e.,*

$$
\mu\_{\mathcal{F}}(\lambda \mu\_1 + (1 - \lambda)\mu\_2) \ge \min\{\mu\_{\mathcal{F}}(\mu\_1), \mu\_{\mathcal{F}}(\mu\_2)\}, \quad \mu\_1, \mu\_2 \in \mathcal{U}, \lambda \in [0, 1] \qquad (convex)
$$

Because the majority of practical applications work with trapezoidal or triangular distributions and these representations are still a subject of various recent papers ((Grzegorzewski & Mrowka, 2007), (Nasseri, 2008), for instance) we will work with membership functions represented by trapezoidal fuzzy numbers. Such a number *N* = (*m*, *m*, *α*, *β*) is defined as

$$\mu\_{N}\left(\mathbf{x}\right) = \begin{cases} 0 & \text{for } \mathbf{x} < \frac{\underline{m} - \underline{\alpha}}{\underline{\alpha}}\\ \frac{\underline{x} - \underline{m} + \underline{\alpha}}{\underline{\alpha}} & \text{for } \quad \mathbf{x} \in \left[\underline{m} - \underline{\alpha}, \underline{\underline{m}}\right] \\\ 1 & \text{for } \quad \mathbf{x} \in \left[\underline{m}, \overline{m}\right] \\\ \frac{\overline{m} + \beta - \underline{\alpha}}{\beta} & \text{for } \quad \mathbf{x} \in \left[\overline{m}, \overline{m} + \beta\right] \\\ 0 & \text{for } \quad \mathbf{x} > \overline{m} + \beta \end{cases}$$

Will be used fuzzy sets to represent linguistic variables. A linguistic variable can be regarded either as a variable whose value is a fuzzy number or as a variable whose values are defined in linguistic terms.

**Definition 3.** *A linguistic variable V is characterized by: its name x, an universe U, a term set T*(*x*)*, a syntactic rule G for generating names of values of x, and a set of semantic rule M for associating with each value its meaning.*

For example, if *speed* of a car is interpreted as a linguistic variable, then its term set could be *T*(*x*) = {*slow*, *moderate*, *f ast*, *very slow*, *more or less f ast*} where each term is characterized by a fuzzy set in an universe of discourse *U* = [0, 100]. We might interpret: *slow* as "a speed below about 40 mph", *moderate* as "speed close to 55 mph", *fast* as "a speed about 70 mph".

**Definition 4.** *A function T* : [0, 1] <sup>2</sup> <sup>→</sup> [0, 1] *is a t-norm iff it is commutative, associative, non-decreasing and T*(*x*, 1) = *x* ∀*x* ∈ [0, 1]*.*

The most important t-norms are:


**Definition 5.** *A function S* : [0, 1] <sup>2</sup> <sup>→</sup> [0, 1] *is a t-conorm iff it is commutative, associative, non-decreasing and S*(*x*, 0) = *x* ∀*x* ∈ [0, 1]*.*

The basic t-conorms are


Brouwer-Gödel: *IBG*(*x*, *<sup>y</sup>*) = <sup>1</sup> *if x* <sup>≤</sup> *<sup>y</sup>*

Lukasiewicz: *IL*(*x*, *y*) = min{1 − *x* + *y*, 1}

*<sup>R</sup>* ◦ *<sup>S</sup>* <sup>=</sup> {[(*u*, *<sup>w</sup>*), sup*<sup>v</sup>*

*where* ∗ *can be any operator in the class of t-norms.*

reasoning suggested by Zadeh in (Zadeh, 1973).

*where x* ◦ *R is the sup-star composition of x and R.*

compositional rule of inference (Zadeh, 1973).

*The aggregation operator of the values* {*a*1, *a*2, ..., *an*} *is*

*where bj is the j-th largest element from* {*a*1, *a*2, ..., *an*}*.*

consequent can be treated as a set of such rules.

technique based on OWA operators.

*vector w* = (*w*1, *w*2, ...., *wn*)*<sup>t</sup> such as*

*y*

*x otherwise*

 <sup>1</sup> *if x* <sup>≤</sup> *<sup>y</sup> max*{1 − *x*, *y*} *otherwise*

*composition of R and S is a fuzzy relation denoted by R* ◦ *S and defined by*

Goguen: *IG*(*x*, *<sup>y</sup>*) = <sup>1</sup> *if x* <sup>≤</sup> *<sup>y</sup>*

Reichenbach: *IR*(*x*, *y*) = 1 − *x* + *xy*.

Fodor: *IF* (*x*, *y*) =

*1971)*

*y otherwise*

**Definition 7.** *An n-ary fuzzy relation is a fuzzy set in U*<sup>1</sup> × *U*<sup>2</sup> ×···× *Un expressed as*

*RU*1×···×*Un* = {((*u*1, ··· , *un*), *μR*(*u*1, ··· , *un*))/(*u*1, ··· , *un*) ∈ *U*<sup>1</sup> ×···× *Un*}. **Definition 8.** *If R and S are fuzzy relations in U* × *V and V* × *W, respectively, then the sup-star*

A Mamdani Type Fuzzy Logic Controller 329

Fuzzy implication inference is based on the compositional rule of inference for approximate

**Definition 9.** *If R is a fuzzy relation on U* × *V and x is a fuzzy set in U then the "sup-star compositional rule of inference" asserts that the fuzzy set y in V induced by x is given by (Zadeh,*

*y* = *x* ◦ *R*

If the star represents the minimum operator then this definition reduces to Zadeh's

The process of information aggregation appears in many applications related to the development of intelligent systems: fuzzy logic controllers, neural networks, vision systems, expert systems, multi-criteria decision aids. In (Yager, 1988) Yager introduced an aggregation

**Definition 10.** *An OWA operator of dimension n is a mapping F* : *<sup>R</sup><sup>n</sup>* <sup>→</sup> *R that has an associated n*

*n* ∑ *i*=1

*n* ∑ *j*=1 *wjbj*

*wi* = 1.

*wi* ∈ [0, 1], 1 ≤ *i* ≤ *n*,

*F*(*a*1, *a*2, ..., *an*) =

It is sufficiently to work with rules with a single conclusion because a rule with multiple

(*μR*(*u*, *v*) ∗ *μS*(*v*, *w*))]/*u* ∈ *U*, *v* ∈ *V*, *w* ∈ *W*}

$$\bullet \quad \text{Strong: } \mathcal{S}\_S(\mathbf{x}, y) = \begin{cases} \max\{\mathbf{x}, y\} \text{ if } \min\{\mathbf{x}, y\} = 1\\ 1 \qquad \text{otherwise.} \end{cases}$$

The t-norms are used to compute the firing levels of the rules or as aggregation operators and the t-conorms are used as aggregation operators. The rules are represented by fuzzy implications. Let *X* and *Y* be two variables whose domains are *U* and *V*, respectively. A causal link from *X* to *Y* is represented as a conditional possibility distribution ( (Zadeh, 1979), (Zadeh, 1978)) *πY*/*<sup>X</sup>* which restricts the possible values of *Y* for a given value of *X*. For the rule

$$IF \text{ } X \text{ is } A \text{ } THEN \text{ } Y \text{ is } B.$$

we have

$$\forall \mu \in \mathcal{U}, \forall v \in V, \; \pi\_{Y/X}(v, \mu) = \mu\_A(\mu) \to \mu\_B(v)$$

where → is an implication operator and *μ<sup>A</sup>* and *μ<sup>B</sup>* are the membership functions of the fuzzy sets *A* and *B*, respectively.

**Definition 6.** *An implication is a function I* : [0, 1] <sup>2</sup> <sup>→</sup> [0, 1] *satisfying the following conditions for all x*, *y*, *z* ∈ [0, 1] :

*I1: If x* ≤ *z then I*(*x*, *y*) ≥ *I*(*z*, *y*)

*I2: If y* ≤ *z then I*(*x*, *y*) ≤ *I*(*x*, *z*)

*I3: I*(0, *y*) = 1 *(falsity implies anything)*

*I4: I*(*x*, 1) = 1 *(anything implies tautology)*

*I5: I*(1, 0) = 0 *(Booleanity).*

The following properties could be important in some applications:

I6: *I*(1, *x*) = *x* (tautology cannot justify anything)

I7: *I*(*x*, *I*(*y*, *z*)) = *I*(*y*, *I*(*x*, *z*)) (exchange principle)

I8: *x* ≤ *y* if and only if *I*(*x*, *y*) = 1 (implication defines ordering)

I9: *I*(*x*, 0) = *N*(*x*) is a strong negation

I10: *I*(*x*, *y*) ≥ *y*

I11: *I*(*x*, *x*) = 1 (identity principle)

I12: *I*(*x*, *y*) = *I*(*N*(*y*), *N*(*x*)), where *N* is a strong negation

I13: *I* is a continuous function.

The most important implications are: Willmott: *IW*(*x*, *y*) = max{1 − *x*, min{*x*, *y*}} Mamdani: *IM*(*x*, *y*) = min{*x*, *y*} Rescher-Gaines: *IRG*(*x*, *<sup>y</sup>*) = <sup>1</sup> *if x* <sup>≤</sup> *<sup>y</sup>* 0 *otherwise* Kleene-Dienes: *IKD*(*x*, *y*) = max{1 − *x*, *y*}

4 Will-be-set-by-IN-TECH

The t-norms are used to compute the firing levels of the rules or as aggregation operators and the t-conorms are used as aggregation operators. The rules are represented by fuzzy implications. Let *X* and *Y* be two variables whose domains are *U* and *V*, respectively. A causal link from *X* to *Y* is represented as a conditional possibility distribution ( (Zadeh, 1979), (Zadeh, 1978)) *πY*/*<sup>X</sup>* which restricts the possible values of *Y* for a given value of *X*. For the

*IF X is A THEN Y is B*

∀*u* ∈ *U*, ∀*v* ∈ *V*, *πY*/*X*(*v*, *u*) = *μA*(*u*) → *μB*(*v*) where → is an implication operator and *μ<sup>A</sup>* and *μ<sup>B</sup>* are the membership functions of the fuzzy

<sup>2</sup> <sup>→</sup> [0, 1] *satisfying the following conditions for*

 *max*{*x*, *<sup>y</sup>*} *i f min*{*x*, *<sup>y</sup>*} <sup>=</sup> <sup>1</sup> 1 *otherwise*.

• Strong: *SS*(*x*, *y*) =

sets *A* and *B*, respectively.

*I1: If x* ≤ *z then I*(*x*, *y*) ≥ *I*(*z*, *y*)

*I2: If y* ≤ *z then I*(*x*, *y*) ≤ *I*(*x*, *z*)

*I5: I*(1, 0) = 0 *(Booleanity).*

I10: *I*(*x*, *y*) ≥ *y*

*I3: I*(0, *y*) = 1 *(falsity implies anything)*

*I4: I*(*x*, 1) = 1 *(anything implies tautology)*

I9: *I*(*x*, 0) = *N*(*x*) is a strong negation

I11: *I*(*x*, *x*) = 1 (identity principle)

The most important implications are:

Mamdani: *IM*(*x*, *y*) = min{*x*, *y*}

Rescher-Gaines: *IRG*(*x*, *y*) =

Willmott: *IW*(*x*, *y*) = max{1 − *x*, min{*x*, *y*}}

Kleene-Dienes: *IKD*(*x*, *y*) = max{1 − *x*, *y*}

I13: *I* is a continuous function.

I6: *I*(1, *x*) = *x* (tautology cannot justify anything) I7: *I*(*x*, *I*(*y*, *z*)) = *I*(*y*, *I*(*x*, *z*)) (exchange principle)

The following properties could be important in some applications:

I8: *x* ≤ *y* if and only if *I*(*x*, *y*) = 1 (implication defines ordering)

I12: *I*(*x*, *y*) = *I*(*N*(*y*), *N*(*x*)), where *N* is a strong negation

 <sup>1</sup> *if x* <sup>≤</sup> *<sup>y</sup>* 0 *otherwise*

*all x*, *y*, *z* ∈ [0, 1] :

**Definition 6.** *An implication is a function I* : [0, 1]

rule

we have

Brouwer-Gödel: *IBG*(*x*, *<sup>y</sup>*) = <sup>1</sup> *if x* <sup>≤</sup> *<sup>y</sup> y otherwise* Goguen: *IG*(*x*, *<sup>y</sup>*) = <sup>1</sup> *if x* <sup>≤</sup> *<sup>y</sup> y x otherwise* Lukasiewicz: *IL*(*x*, *y*) = min{1 − *x* + *y*, 1} Fodor: *IF* (*x*, *y*) = <sup>1</sup> *if x* <sup>≤</sup> *<sup>y</sup> max*{1 − *x*, *y*} *otherwise* Reichenbach: *IR*(*x*, *y*) = 1 − *x* + *xy*.

**Definition 7.** *An n-ary fuzzy relation is a fuzzy set in U*<sup>1</sup> × *U*<sup>2</sup> ×···× *Un expressed as*

$$R\_{\mathcal{U}\_1 \times \cdots \times \mathcal{U}\_n} = \{ ((\mathfrak{u}\_1, \cdots, \mathfrak{u}\_n), \mathfrak{u}\_R(\mathfrak{u}\_1, \cdots, \mathfrak{u}\_n)) / (\mathfrak{u}\_1, \cdots, \mathfrak{u}\_n) \in \mathcal{U}\_1 \times \cdots \times \mathcal{U}\_n \}. $$

**Definition 8.** *If R and S are fuzzy relations in U* × *V and V* × *W, respectively, then the sup-star composition of R and S is a fuzzy relation denoted by R* ◦ *S and defined by*

$$\mathcal{R} \diamond \mathcal{S} = \{ [(\iota, w), \sup\_{\upsilon} (\mu\_R(\iota, \upsilon) \* \mu\_S(\upsilon, w))] / \iota \in \mathcal{U}, \upsilon \in V, w \in \mathcal{W} \}$$

*where* ∗ *can be any operator in the class of t-norms.*

Fuzzy implication inference is based on the compositional rule of inference for approximate reasoning suggested by Zadeh in (Zadeh, 1973).

**Definition 9.** *If R is a fuzzy relation on U* × *V and x is a fuzzy set in U then the "sup-star compositional rule of inference" asserts that the fuzzy set y in V induced by x is given by (Zadeh, 1971)*

*y* = *x* ◦ *R*

*where x* ◦ *R is the sup-star composition of x and R.*

If the star represents the minimum operator then this definition reduces to Zadeh's compositional rule of inference (Zadeh, 1973).

The process of information aggregation appears in many applications related to the development of intelligent systems: fuzzy logic controllers, neural networks, vision systems, expert systems, multi-criteria decision aids. In (Yager, 1988) Yager introduced an aggregation technique based on OWA operators.

**Definition 10.** *An OWA operator of dimension n is a mapping F* : *<sup>R</sup><sup>n</sup>* <sup>→</sup> *R that has an associated n vector w* = (*w*1, *w*2, ...., *wn*)*<sup>t</sup> such as*

$$w\_i \in [0,1], 1 \le i \le n \sum\_{i=1}^n w\_i = 1.$$

*The aggregation operator of the values* {*a*1, *a*2, ..., *an*} *is*

$$F(a\_1, a\_2, \dots, a\_n) = \sum\_{j=1}^n w\_j b\_j$$

*where bj is the j-th largest element from* {*a*1, *a*2, ..., *an*}*.*

It is sufficiently to work with rules with a single conclusion because a rule with multiple consequent can be treated as a set of such rules.

b) the rule base characterizes the control goals and the control policy of the domain experts

A Mamdani Type Fuzzy Logic Controller 331

The *fuzzy inference engine* is the kernel of a FLC; it has the capability of simulating human decision-making based of fuzzy concepts and of inferring fuzzy control actions employing

a) a scale mapping, which converts the range of values of output variables into corresponding

b) defuzzification, which yields a non fuzzy control action from an inferred fuzzy control

A fuzzification operator has the effect of transforming crisp data into fuzzy sets. In most of

*f uzzi fier*(*x*0) = *x*0,

*<sup>μ</sup>x*<sup>0</sup> (*x*) = <sup>1</sup> *f or x* <sup>=</sup> *<sup>x</sup>*<sup>0</sup>

The procedure used by Fuzzy Inference Engine in order to obtain a fuzzy output consists of

The fuzzy control action *C* inferred from the fuzzy control system is transformed into a crisp

*z*<sup>0</sup> = *de f uzzi fier*(*C*) where *de f uzzi fier* is a defuzzification operator. The most used defuzzification operators, for

3. aggregate the individual rules outputs in order to obtain the overall system output.

0 *f or x* = *x*<sup>0</sup>

the cases fuzzy singletons are used as fuzzifiers (according to Figure 2).

by means of a set of linguistic control rules.

universes of discourse

Fig. 2. Fuzzy singleton as fuzzifier

1. find the firing level of each rule, 2. find the output of each rule,

where *x*<sup>0</sup> is a crisp input value from a process.

a discrete fuzzy set *C* having the universe of discourse *V*, are:

action.

In other words,

the following steps:

control action:

fuzzy implication and the rules of inference in fuzzy logic. The *defuzzification interface* performs the following functions:

### **3. Standard fuzzy logic controllers**

#### **3.1 Structure of a fuzzy logic controller**

The seminal work by L.A. Zadeh (Zadeh, 1973) on fuzzy algorithms introduced the idea of formulating the control algorithm by logical rules. An FLC consists of a set of rules of the form

*IF* (*a set o f conditions are satis fied*) *THEN* (*a set o f consequences can be in f erred*).

Since the antecedents and the consequents of these IF-THEN rules are associated with fuzzy concepts (linguistic terms), they are often called *fuzzy conditional statements*. In FLC terminology, a *fuzzy control rule* is a fuzzy conditional statement in which the antecedent is a condition in its application domain and the consequent is a control action for the system under control. The inputs of fuzzy rule-based systems should be given by fuzzy sets, and therefore, we have to fuzzify the crisp inputs. Furthermore, the output of a fuzzy system is always a fuzzy set, and therefore to get crisp value we have to defuzzify it. Fuzzy logic control systems usually consist of four major parts: Fuzzification interface, Fuzzy rule base, Fuzzy inference engine and Defuzzification interface, as is presented in the Figure 1.

Fig. 1. Fuzzy Logic Controller

The four components of a FLC are explained in the following (Lee, 1990).

The *fuzzification interface* involves the functions:


The *rule base* comprises a knowledge of the application domain and the attendant control goals. It consists of a "data base" and a "linguistic (fuzzy) control rule base":

a) the data base provides necessary definitions which are used to define linguistic control rules and fuzzy data manipulation in a FLC

6 Will-be-set-by-IN-TECH

The seminal work by L.A. Zadeh (Zadeh, 1973) on fuzzy algorithms introduced the idea of formulating the control algorithm by logical rules. An FLC consists of a set of rules of the

*IF* (*a set o f conditions are satis fied*) *THEN* (*a set o f consequences can be in f erred*).

Since the antecedents and the consequents of these IF-THEN rules are associated with fuzzy concepts (linguistic terms), they are often called *fuzzy conditional statements*. In FLC terminology, a *fuzzy control rule* is a fuzzy conditional statement in which the antecedent is a condition in its application domain and the consequent is a control action for the system under control. The inputs of fuzzy rule-based systems should be given by fuzzy sets, and therefore, we have to fuzzify the crisp inputs. Furthermore, the output of a fuzzy system is always a fuzzy set, and therefore to get crisp value we have to defuzzify it. Fuzzy logic control systems usually consist of four major parts: Fuzzification interface, Fuzzy rule base, Fuzzy inference

engine and Defuzzification interface, as is presented in the Figure 1.

The four components of a FLC are explained in the following (Lee, 1990).

goals. It consists of a "data base" and a "linguistic (fuzzy) control rule base":

b) performs a scale mappings that transfers the range of values of inputs variables into

c) performs the function of fuzzyfication that converts input data into suitable linguistic

The *rule base* comprises a knowledge of the application domain and the attendant control

a) the data base provides necessary definitions which are used to define linguistic control

**3. Standard fuzzy logic controllers**

**3.1 Structure of a fuzzy logic controller**

Fig. 1. Fuzzy Logic Controller

The *fuzzification interface* involves the functions:

a) measures the values of inputs variables,

corresponding universes of discourse,

values which may be viewed as label of fuzzy sets.

rules and fuzzy data manipulation in a FLC

form

b) the rule base characterizes the control goals and the control policy of the domain experts by means of a set of linguistic control rules.

The *fuzzy inference engine* is the kernel of a FLC; it has the capability of simulating human decision-making based of fuzzy concepts and of inferring fuzzy control actions employing fuzzy implication and the rules of inference in fuzzy logic.

The *defuzzification interface* performs the following functions:


A fuzzification operator has the effect of transforming crisp data into fuzzy sets. In most of the cases fuzzy singletons are used as fuzzifiers (according to Figure 2).

Fig. 2. Fuzzy singleton as fuzzifier

In other words,

$$fuzzifier(x\_0) = \overline{x}\_{0\prime}$$

$$\mu\_{\overline{\mathbf{x}}\_0}(\mathbf{x}) = \begin{cases} 1 & for \ x = \mathbf{x}\_0 \\ 0 & for \ x \neq \mathbf{x}\_0 \end{cases}$$

where *x*<sup>0</sup> is a crisp input value from a process.

The procedure used by Fuzzy Inference Engine in order to obtain a fuzzy output consists of the following steps:


The fuzzy control action *C* inferred from the fuzzy control system is transformed into a crisp control action:

$$z\_0 = 
 defuzzifier(\mathbb{C})$$

where *de f uzzi fier* is a defuzzification operator. The most used defuzzification operators, for a discrete fuzzy set *C* having the universe of discourse *V*, are:

That is

function of *C* is given by

for all *w* ∈ *W*.

• the output *C*�

operation:

for all *w* ∈ *W*.

**Step 1: Fuzzification**

**3.2 Mamdani fuzzy logic controller**

problem that includes three rules is examined:

*μ<sup>C</sup>* = *Agg*{*T*(*μx*¯0 , *μy*¯0 ) ◦ *R*1, ..., *T*(*μx*¯0 , *μy*¯0 ) ◦ *Rn*}. Taking into account that *μx*¯0 (*u*) = 0 for *u* �= *x*<sup>0</sup> and *μy*¯0 (*v*) = 0 for *v* �= *y*0, the membership

A Mamdani Type Fuzzy Logic Controller 333

*μC*(*w*) = *Agg*{*T*(*μA*<sup>1</sup> (*x*0), *μB*<sup>1</sup> (*y*0)) → *μC*<sup>1</sup> (*w*), ..., *T*(*μAn* (*x*0), *μBn* (*y*0)) → *μCn* (*w*)}

(*x*0), *μBi*

(*x*0), *μBi*

1

• the overall system output, *C*, is obtained from the individual rule outputs, by aggregation

The most commonly used fuzzy inference technique is the so-called Mamdani method (Mamdani & Assilian, 1975) which was proposed, by Mamdani and Assilian, as the very first attempt to control a steam engine and boiler combination by synthesizing a set of linguistic control rules obtained from experienced human operators. Their work was inspired by an equally influential publication by Zadeh (Zadeh, 1973). Interest in fuzzy control has continued ever since, and the literature on the subject has grown rapidly. A survey of the field with fairly extensive references may be found in (Lee, 1990) or, more recently, in (Sala et al., 2005). In Mamdani's model the fuzzy implication is modeled by Mamdani's minimum operator, the conjunction operator is *min*, the t-norm from compositional rule is *min* and for the aggregation of the rules the *max* operator is used. In order to explain the working with this model of FLC will be considered the example from (Rakic, 2010) where a simple two-input one-output

> *Rule*1 : *IF x is A*<sup>3</sup> *OR y is B*<sup>1</sup> *THEN z is C*<sup>1</sup> *Rule*2 : *IF x is A*<sup>2</sup> *AND y is B*<sup>2</sup> *THEN z is C*<sup>2</sup>

The first step is to take the crisp inputs, *x*<sup>0</sup> and *y*0, and determine the degree to which these

*μA*<sup>1</sup> (*x*0) = 0.5, *μA*<sup>2</sup> (*x*0) = 0.2, *μB*<sup>1</sup> (*y*0) = 0.1, *μB*<sup>2</sup> (*y*0) = 0.7

inputs belong to each of the appropriate fuzzy sets. According to Fig 3(a) one obtains

*Rule*3 : *IF x is A*<sup>1</sup> *THEN z is C*3.

(*y*0))

(*w*), ..., *μC*�

(*y*0)) → *μCi*

*<sup>n</sup>* (*w*)}

(*w*)

The procedure used for obtaining the fuzzy output from a FLC system is

*T*(*μAi*

(*w*) = *T*(*μAi*

*μC*(*w*) = *Agg*{*μC*�

• the firing level of the *i*-th rule is determined by

*<sup>i</sup>* of the *i*-th rule is given by

*μC*� *i*

• Center-of-Gravity:

$$z\_0 = \frac{\sum\_{j=1}^{N} z\_j \mu\_{\mathbb{C}}(z\_j)}{\sum\_{j=1}^{N} \mu\_{\mathbb{C}}(z\_j)}$$

• Middle-of-Maxima: the defuzzified value is defined as mean of all values of the universe of discourse, having maximal membership grades

$$z\_0 = \frac{1}{N1} \sum\_{j=1}^{N1} z\_{j\prime} \quad N1 \le N$$

• Max-Criterion: this method chooses an arbitrary value, from the set of maximizing elements of *C*, i. e.

$$z\_0 \in \{ z / \mu\_\mathbb{C}(z) = \max\_{v \in V} \mu\_\mathbb{C}(v) \},$$

where *Z* = {*z*1, ..., *zN*} is a set of elements from the universe *V*.

Because several linguistic variables are involved in the antecedents and the conclusions of a rule, the fuzzy system is of the type multi–input–multi–output. Further, the working with a FLC for the case of a two-input-single-output system is explained. Such a system consists of a set of rules

> R<sup>1</sup> : *IF x is A*<sup>1</sup> *AND y is B*<sup>1</sup> *THEN z is C*<sup>1</sup> R<sup>2</sup> : *IF x is A*<sup>2</sup> *AND y is B*<sup>2</sup> *THEN z is C*<sup>2</sup> .................................................

R*<sup>n</sup>* : *IF x is An AND y is Bn THEN z is Cn*

and a set of inputs

fact : *x is x*<sup>0</sup> *AND y is y*<sup>0</sup>

where *x* and *y* are the process state variables, *z* is the control variable, *Ai*, *Bi* and *Ci* are linguistic values of the linguistic variables *x*, *y* and *z* in the universes of discourse *U*, *V* and *W*, respectively. Our task is to find a crisp control action *z*<sup>0</sup> from the fuzzy rule base and from the actual crisp inputs *x*<sup>0</sup> and *y*0. A fuzzy control rule

R*<sup>i</sup>* : *IF x is Ai AND y is Bi THEN z is Ci*

is implemented by a fuzzy implication *Ii* and is defined as

$$\mu\_{I\_l}(\mu, \upsilon, w) = [\mu\_{A\_l}(\mu) \text{ AND } \mu\_{B\_l}(\upsilon)] \to \mu\_{\mathbb{C}\_l}(w) = T(\mu\_{A\_l}(\mu), \mu\_{B\_l}(\upsilon)) \to \mu\_{\mathbb{C}\_l}(w)$$

where *T* is a t-norm used to model the logical connective *AND*. To infer the consequence "*z is C*" from the set of rules and the facts, usually the compositional rule of inference is applied; it gives

*consequence* = *Agg*{ *f act* ◦ R1, ..., *f act* ◦ R*n*}.

That is

8 Will-be-set-by-IN-TECH

*N* ∑ *j*=1

> *N* ∑ *j*=1

• Middle-of-Maxima: the defuzzified value is defined as mean of all values of the universe

*N*1 ∑ *j*=1

• Max-Criterion: this method chooses an arbitrary value, from the set of maximizing

Because several linguistic variables are involved in the antecedents and the conclusions of a rule, the fuzzy system is of the type multi–input–multi–output. Further, the working with a FLC for the case of a two-input-single-output system is explained. Such a system consists of a

> R<sup>1</sup> : *IF x is A*<sup>1</sup> *AND y is B*<sup>1</sup> *THEN z is C*<sup>1</sup> R<sup>2</sup> : *IF x is A*<sup>2</sup> *AND y is B*<sup>2</sup> *THEN z is C*<sup>2</sup> .................................................

> R*<sup>n</sup>* : *IF x is An AND y is Bn THEN z is Cn*

fact : *x is x*<sup>0</sup> *AND y is y*<sup>0</sup> where *x* and *y* are the process state variables, *z* is the control variable, *Ai*, *Bi* and *Ci* are linguistic values of the linguistic variables *x*, *y* and *z* in the universes of discourse *U*, *V* and *W*, respectively. Our task is to find a crisp control action *z*<sup>0</sup> from the fuzzy rule base and from

R*<sup>i</sup>* : *IF x is Ai AND y is Bi THEN z is Ci*

(*v*)] → *μCi*

where *T* is a t-norm used to model the logical connective *AND*. To infer the consequence "*z is C*" from the set of rules and the facts, usually the compositional rule of inference is

*consequence* = *Agg*{ *f act* ◦ R1, ..., *f act* ◦ R*n*}.

(*w*) = *T*(*μAi*

(*u*), *μBi*

(*v*)) → *μCi*

(*w*)

*z*<sup>0</sup> ∈ {*z*/*μC*(*z*) = max

*zjμC*(*zj*)

*μC*(*zj*)

*zj*, *N*1 ≤ *N*

*<sup>v</sup>*∈*<sup>V</sup> <sup>μ</sup>C*(*v*)},

*z*<sup>0</sup> =

*<sup>z</sup>*<sup>0</sup> <sup>=</sup> <sup>1</sup> *N*1

where *Z* = {*z*1, ..., *zN*} is a set of elements from the universe *V*.

of discourse, having maximal membership grades

the actual crisp inputs *x*<sup>0</sup> and *y*0. A fuzzy control rule

is implemented by a fuzzy implication *Ii* and is defined as

(*u*) *AND μBi*

• Center-of-Gravity:

elements of *C*, i. e.

set of rules

and a set of inputs

*μIi*

applied; it gives

(*u*, *v*, *w*)=[*μAi*

$$\mu\_{\mathcal{C}} = A \text{gg} \{ T(\mu\_{\bar{\mathbf{x}}\_0 \prime} \mu\_{\bar{\mathbf{y}}\_0}) \circ R\_1, \dots, T(\mu\_{\bar{\mathbf{x}}\_0 \prime} \mu\_{\bar{\mathbf{y}}\_0}) \circ R\_n \}.$$

Taking into account that *μx*¯0 (*u*) = 0 for *u* �= *x*<sup>0</sup> and *μy*¯0 (*v*) = 0 for *v* �= *y*0, the membership function of *C* is given by

$$\mu\_{\mathbb{C}}(w) = \text{Agg}\{T(\mu\_{A\_1}(\mathbf{x}\_0), \mu\_{B\_1}(y\_0)) \to \mu\_{\mathbb{C}\_1}(w), \dots, T(\mu\_{A\_n}(\mathbf{x}\_0), \mu\_{B\_n}(y\_0)) \to \mu\_{\mathbb{C}\_n}(w)\}$$

for all *w* ∈ *W*.

The procedure used for obtaining the fuzzy output from a FLC system is

• the firing level of the *i*-th rule is determined by

$$T(\mu\_{A\_i}(\mathbf{x}\_0), \mu\_{B\_i}(y\_0))$$

• the output *C*� *<sup>i</sup>* of the *i*-th rule is given by

$$
\mu\_{\mathbb{C}'\_l}(w) = T(\mu\_{A\_l}(\mathfrak{x}\_0), \mu\_{B\_l}(y\_0)) \to \mu\_{\mathbb{C}\_l}(w),
$$

• the overall system output, *C*, is obtained from the individual rule outputs, by aggregation operation:

$$\mu\_{\mathbb{C}}(w) = A \mathfrak{g} \{ \mu\_{\mathbb{C}'\_1}(w), \dots, \mu\_{\mathbb{C}'\_n}(w) \},$$

for all *w* ∈ *W*.

#### **3.2 Mamdani fuzzy logic controller**

The most commonly used fuzzy inference technique is the so-called Mamdani method (Mamdani & Assilian, 1975) which was proposed, by Mamdani and Assilian, as the very first attempt to control a steam engine and boiler combination by synthesizing a set of linguistic control rules obtained from experienced human operators. Their work was inspired by an equally influential publication by Zadeh (Zadeh, 1973). Interest in fuzzy control has continued ever since, and the literature on the subject has grown rapidly. A survey of the field with fairly extensive references may be found in (Lee, 1990) or, more recently, in (Sala et al., 2005). In Mamdani's model the fuzzy implication is modeled by Mamdani's minimum operator, the conjunction operator is *min*, the t-norm from compositional rule is *min* and for the aggregation of the rules the *max* operator is used. In order to explain the working with this model of FLC will be considered the example from (Rakic, 2010) where a simple two-input one-output problem that includes three rules is examined:


#### **Step 1: Fuzzification**

The first step is to take the crisp inputs, *x*<sup>0</sup> and *y*0, and determine the degree to which these inputs belong to each of the appropriate fuzzy sets. According to Fig 3(a) one obtains

$$
\mu\_{A\_1}(\mathbf{x}\_0) = 0.5, \mu\_{A\_2}(\mathbf{x}\_0) = 0.2, \mu\_{B\_1}(y\_0) = 0.1, \mu\_{B\_2}(y\_0) = 0.7
$$

(a) Fuzzification

A Mamdani Type Fuzzy Logic Controller 335

(b) Rules evaluation

(c) Clipping and scaling

Fig. 3. Mamdani fuzzy logic controller

#### **Step 2: Rules evaluation**

The fuzzified inputs are applied to the antecedents of the fuzzy rules. If a given fuzzy rule has multiple antecedents, the fuzzy operator (AND or OR) is used to obtain a single number that represents the result of the antecedent evaluation. To evaluate the disjunction of the rule antecedents, one uses the OR fuzzy operation. Typically, the classical fuzzy operation union is used :

$$
\mu\_{A \cup B}(\mathbf{x}) = \max \{ \mu\_A(\mathbf{x}), \mu\_B(\mathbf{x}) \}.
$$

Similarly, in order to evaluate the conjunction of the rule antecedents, the AND fuzzy operation intersection is applied:

$$
\mu\_{A \cap B}(\mathbf{x}) = \min \{ \mu\_A(\mathbf{x}), \mu\_B(\mathbf{x}) \}.
$$

The result is given in the Figure 3(b).

Now the result of the antecedent evaluation can be applied to the membership function of the consequent. The most common method is to cut the consequent membership function at the level of the antecedent truth; this method is called *clipping*. Because top of the membership function is sliced, the clipped fuzzy set loses some information. However, clipping is preferred because it involves less complex and generates an aggregated output surface that is easier to defuzzify. Another method, named *scaling*, offers a better approach for preserving the original shape of the fuzzy set: the original membership function of the rule consequent is adjusted by multiplying all its membership degrees by the truth value of the rule antecedent (see Fig. 3(c)).

#### **Step 3: Aggregation of the rule outputs**

The membership functions of all rule consequents previously clipped or scaled are combined into a single fuzzy set (see Fig. 4(a)).

#### **Step 4: Defuzzification**

The most popular defuzzification method is the centroid technique. It finds a point representing the center of gravity (COG) of the aggregated fuzzy set *A*, on the interval [*a*, *b*]. A reasonable estimate can be obtained by calculating it over a sample of points. According to Fig. 4(b), in our case results

$$\text{COG} = \frac{(0+10+20) \times 0.1 + (30+40+50+60) \times 0.2 + (70+80+90+100) \times 0.5}{0.1 + 0.1 + 0.1 + 0.2 + 0.2 + 0.2 + 0.5 + 0.5 + 0.5 + 0.5} = 674$$

#### **3.3 Universal approximators**

Using the Stone-Weierstrass theorem, Wang in (Wang, 1992) showed that fuzzy logic control systems of the form

$$\text{R}\_{\text{i}} \text{ : } IF \text{ x is } A\_{\text{i}} \text{ AND } y \text{ is } B\_{\text{i}} \text{ THEN } z \text{ is } \text{C}\_{\text{i}} \text{ : } = 1, \dots, m$$

with

10 Will-be-set-by-IN-TECH

The fuzzified inputs are applied to the antecedents of the fuzzy rules. If a given fuzzy rule has multiple antecedents, the fuzzy operator (AND or OR) is used to obtain a single number that represents the result of the antecedent evaluation. To evaluate the disjunction of the rule antecedents, one uses the OR fuzzy operation. Typically, the classical fuzzy operation union

*<sup>μ</sup>A*∪*B*(*x*) = *max*{*μA*(*x*), *<sup>μ</sup>B*(*x*)}. Similarly, in order to evaluate the conjunction of the rule antecedents, the AND fuzzy

*<sup>μ</sup>A*∩*B*(*x*) = *min*{*μA*(*x*), *<sup>μ</sup>B*(*x*)}.

Now the result of the antecedent evaluation can be applied to the membership function of the consequent. The most common method is to cut the consequent membership function at the level of the antecedent truth; this method is called *clipping*. Because top of the membership function is sliced, the clipped fuzzy set loses some information. However, clipping is preferred because it involves less complex and generates an aggregated output surface that is easier to defuzzify. Another method, named *scaling*, offers a better approach for preserving the original shape of the fuzzy set: the original membership function of the rule consequent is adjusted by multiplying all its membership degrees by the truth value of the rule antecedent (see Fig.

The membership functions of all rule consequents previously clipped or scaled are combined

The most popular defuzzification method is the centroid technique. It finds a point representing the center of gravity (COG) of the aggregated fuzzy set *A*, on the interval [*a*, *b*]. A reasonable estimate can be obtained by calculating it over a sample of points. According to

Using the Stone-Weierstrass theorem, Wang in (Wang, 1992) showed that fuzzy logic control

R*<sup>i</sup>* : *IF x is Ai AND y is Bi THEN z is Ci*, *i* = 1, ..., *n*

0.1 <sup>+</sup> 0.1 <sup>+</sup> 0.1 <sup>+</sup> 0.2 <sup>+</sup> 0.2 <sup>+</sup> 0.2 <sup>+</sup> 0.2 <sup>+</sup> 0.5 <sup>+</sup> 0.5 <sup>+</sup> 0.5 <sup>+</sup> 0.5 <sup>=</sup> 67.4

*COG* <sup>=</sup> (<sup>0</sup> <sup>+</sup> <sup>10</sup> <sup>+</sup> <sup>20</sup>) <sup>×</sup> 0.1 + (<sup>30</sup> <sup>+</sup> <sup>40</sup> <sup>+</sup> <sup>50</sup> <sup>+</sup> <sup>60</sup>) <sup>×</sup> 0.2 + (<sup>70</sup> <sup>+</sup> <sup>80</sup> <sup>+</sup> <sup>90</sup> <sup>+</sup> <sup>100</sup>) <sup>×</sup> 0.5

**Step 2: Rules evaluation**

operation intersection is applied:

The result is given in the Figure 3(b).

**Step 3: Aggregation of the rule outputs**

into a single fuzzy set (see Fig. 4(a)).

**Step 4: Defuzzification**

Fig. 4(b), in our case results

**3.3 Universal approximators**

systems of the form

with

is used :

3(c)).

(c) Clipping and scaling

Fig. 3. Mamdani fuzzy logic controller

More generally, Wang proved the following theorem

• Symmetric triangular membership functions

*μAi*

(*u*) *AND μBi*

• Minimum norm fuzzy conjunction

• Minimum-norm fuzzy implication

[*μAi*

• Centroid defuzzification method

*controller approximates f to level �?*

of fuzzy logic controller.

• Maximum t-conorm rule aggregation

with

• Singleton fuzzifier

*there exists a fuzzy logic control system with output function f such that*

sup *x*∈*U*

Castro in (Castro, 1995) showed that Mamdani fuzzy logic controllers

*<sup>μ</sup>A*(*x*) =

(*u*) *AND μBi*

*z* =

More generally, Castro (Castro, 1995) studied the following problem:

where *ci* is the center of *Ci*, are universal approximators.

(*v*)] → *μCi*

*n* ∑ *i*=1

> *n* ∑ *i*=1

**Theorem 1.** *For a given real-valued continuous function g on the compact set U and arbitrary �* > 0*,*

A Mamdani Type Fuzzy Logic Controller 337

R*<sup>i</sup>* : *IF x is Ai AND y is Bi THEN z is Ci*, *i* = 1, ..., *n*

<sup>1</sup> <sup>−</sup> *<sup>x</sup>* <sup>−</sup> *<sup>a</sup>*

*f uzzi fier*(*x*0) = *x*¯0

*Agg*{R1, R2, ..., R*n*} = *max*{R1, R2, ..., R*n*}

*cimin*{*μAi*

*min*{*μAi*

*Given a type of FLC, (i.e. a fuzzification method, a fuzzy inference method, a defuzzification method, and a class of fuzzy rules, are fixed), an arbitrary continuous real valued function f on a compact <sup>U</sup>* <sup>⊂</sup> *<sup>R</sup>n, and a certain �* <sup>&</sup>gt; <sup>0</sup> *, is it possible to find a set of fuzzy rules such that the associated fuzzy*

The main result obtained by Castro is that the approximation is possible for almost any type

(*v*) = *min*{*μAi*

(*w*) = *min*{*μAi*

(*x*), *μBi*

(*x*), *μBi*

(*y*)}

(*y*)}

*<sup>α</sup> i f* <sup>|</sup>*<sup>x</sup>* <sup>−</sup> *<sup>a</sup>*| ≤ *<sup>α</sup>* 0 *otherwise*

(*u*), *μBi*

(*u*), *μBi*

(*v*)}

(*v*), *μCi*

(*w*)}

�*g*(*x*) − *f*(*x*)� ≤ *�*.

(a) Aggregation of the rule outputs

(b) Defuzzification

Fig. 4. Mamdani fuzzy logic controller

• Gaussian membership functions

$$\mu\_A(\mathfrak{x}) = \exp[-\frac{1}{2}(\frac{\mathfrak{x} - \mathfrak{x}\_0}{\sigma})^2],$$

where *x*<sup>0</sup> is the position of the peak relative to the universe and *σ* is the standard deviation

• Singleton fuzzifier

$$fuzzifier(\mathfrak{x}) = \mathfrak{x}$$

• Fuzzy product conjunction

$$
\mu\_{A\_i}(\mathfrak{u}) \operatorname{AND} \,\mu\_{B\_i}(\mathfrak{v}) = \mu\_{A\_i}(\mathfrak{u}) \mu\_{B\_i}(\mathfrak{v}),
$$

• Larsen (fuzzy product) implication

$$[\mu\_{A\_l}(\mu)\text{ AND }\mu\_{B\_l}(v)] \to \mu\_{\mathbb{C}\_l}(w) = \mu\_{A\_l}(\mu)\mu\_{B\_l}(v)\mu\_{\mathbb{C}\_l}(w).$$

• Centroid deffuzification method

$$z = \frac{\sum\_{i=1}^{n} c\_i \mu\_{A\_i}(\mathbf{x}) \mu\_{B\_i}(y)}{\sum\_{i=1}^{n} \mu\_{A\_i}(\mathbf{x}) \mu\_{B\_i}(y)}$$

where *ci* is the center of *Ci*, are universal approximators, i.e. they can approximate any continuous function on a compact set to an arbitrary accuracy.

More generally, Wang proved the following theorem

**Theorem 1.** *For a given real-valued continuous function g on the compact set U and arbitrary �* > 0*, there exists a fuzzy logic control system with output function f such that*

$$\sup\_{\mathfrak{x}\in U} \|g(\mathfrak{x}) - f(\mathfrak{x})\| \le \epsilon.$$

Castro in (Castro, 1995) showed that Mamdani fuzzy logic controllers

$$\mathbb{R}\_{\mathbb{I}}\text{ : } \text{ IF } \mathbf{x} \text{ is } A\_{\mathbf{i}} \text{ AND } \mathbf{y} \text{ is } B\_{\mathbf{i}} \text{ THEN } z \text{ is } \mathbb{C}\_{\mathbb{I}}\text{ } \mathbf{i} = 1, \dots, n$$

with

12 Will-be-set-by-IN-TECH

(a) Aggregation of the rule outputs

(b) Defuzzification

2 ( *x* − *x*<sup>0</sup> *<sup>σ</sup>* )2]

(*v*) = *μAi*

(*w*) = *μAi*

(*x*)*μBi*

(*x*)*μBi*

(*y*)

(*y*)

(*u*)*μBi*

(*v*)

(*v*)*μCi*

(*w*)

(*u*)*μBi*

where *x*<sup>0</sup> is the position of the peak relative to the universe and *σ* is the standard deviation

*f uzzi fier*(*x*) = *x*¯

*<sup>μ</sup>A*(*x*) = exp[−<sup>1</sup>

(*u*) *AND μBi*

*z* =

continuous function on a compact set to an arbitrary accuracy.

(*v*)] → *μCi*

*n* ∑ *i*=1

> *n* ∑ *i*=1 *μAi*

*ciμAi*

where *ci* is the center of *Ci*, are universal approximators, i.e. they can approximate any

*μAi*

(*u*) *AND μBi*

Fig. 4. Mamdani fuzzy logic controller

• Gaussian membership functions

• Singleton fuzzifier

• Fuzzy product conjunction

• Larsen (fuzzy product) implication

• Centroid deffuzification method

[*μAi*

• Symmetric triangular membership functions

$$\mu\_A(\mathfrak{x}) = \begin{cases} 1 - \frac{\mathfrak{x} - a}{a} \stackrel{\text{if}}{\underset{a}{\mid}} & |\mathfrak{x} - a| \le a \\ 0 & \text{otherwise} \end{cases}$$

• Singleton fuzzifier

$$fuzzifier(x\_0) = \mathfrak{x}\_0$$

• Minimum norm fuzzy conjunction

$$
\mu\_{A\_l}(\mathfrak{u}) \, AND \, \mu\_{B\_l}(\upsilon) = \min \{ \mu\_{A\_l}(\mathfrak{u}), \mu\_{B\_l}(\upsilon) \}
$$

• Minimum-norm fuzzy implication

$$\{\mu\_{A\_l}(\mu) \text{ AND } \mu\_{B\_l}(v)\} \to \mu\_{\mathbb{C}\_l}(w) = \min\{\mu\_{A\_l}(\mu), \mu\_{B\_l}(v), \mu\_{\mathbb{C}\_l}(w)\}$$

• Maximum t-conorm rule aggregation

$$A \otimes \{ \mathbb{R}\_1, \mathbb{R}\_2, \dots, \mathbb{R}\_n \} = \max \{ \mathbb{R}\_1, \mathbb{R}\_2, \dots, \mathbb{R}\_n \}.$$

• Centroid defuzzification method

$$z = \frac{\sum\_{i=1}^{n} c\_i \min\{\mu\_{A\_i}(\mathbf{x}), \mu\_{B\_i}(y)\}}{\sum\_{i=1}^{n} \min\{\mu\_{A\_i}(\mathbf{x}), \mu\_{B\_i}(y)\}}$$

where *ci* is the center of *Ci*, are universal approximators.

More generally, Castro (Castro, 1995) studied the following problem:

*Given a type of FLC, (i.e. a fuzzification method, a fuzzy inference method, a defuzzification method, and a class of fuzzy rules, are fixed), an arbitrary continuous real valued function f on a compact <sup>U</sup>* <sup>⊂</sup> *<sup>R</sup>n, and a certain �* <sup>&</sup>gt; <sup>0</sup> *, is it possible to find a set of fuzzy rules such that the associated fuzzy controller approximates f to level �?*

The main result obtained by Castro is that the approximation is possible for almost any type of fuzzy logic controller.

• for an input interval [*a*, *b*] it is given by the area defined by intersection *μ*<sup>0</sup>

 *b <sup>a</sup>* min{*μ*<sup>0</sup> *Ai*

 *b <sup>a</sup>* min{*μ*<sup>0</sup> *Ai*

 *b <sup>a</sup> <sup>μ</sup>*<sup>0</sup> *Ai* (*x*)*dx*

A Mamdani Type Fuzzy Logic Controller 339

 *b <sup>a</sup> <sup>μ</sup>*<sup>0</sup> *Ai* (*x*)*dx*

*<sup>i</sup> AND* ... *AND Xr is A<sup>r</sup>*

where the variables *Xj*, *j* ∈ {1, 2, ...,*r*}, and *Y* have the domains *Uj* and V, respectively. The

*X*1, ..., *Xr* to *Y* is represented using an implication operator *I*. It results that the conclusion *C*�

*μC*�(*v*) = *I*(*α*, *μC*(*v*))

*<sup>i</sup>* , ..., *<sup>α</sup><sup>r</sup> i*)

*i*

0 *otherwise*

*μC*(*v*) *otherwise*

(*v*)), ∀*v* ∈ *V*.

*α<sup>i</sup>* = *T*(*α*<sup>1</sup>

*<sup>i</sup>* is the firing level for *<sup>A</sup><sup>j</sup>*

(*v*) = *I*(*αi*, *μCi*

It is obvious that, any t-norm *T* can be used instead of *min* and its dual t-conorm *S* instead

*<sup>i</sup>* it is computed as in the previous case

(*x*), *μA*� *i* (*x*)}*dx*

(*x*), *μ*[*a*,*b*](*x*)}*dx*

*<sup>i</sup> THEN Y is Ci*

, *j* ∈ {1, 2, ...,*r*}. The causal link from

*i*

*μAi* =

*μAi* =

by area defined by *μ*<sup>0</sup>

• for a linguistic input value *A*�

of *max* in the previous formulas.

The fuzzy control rules are of the form

where *<sup>T</sup>* is a t-norm and *<sup>α</sup><sup>j</sup>*

inferred from the rule *Ri* is

The formula

*Ri* : *IF X*<sup>1</sup> *is A*<sup>1</sup>

firing levels of the rules, denoted by {*αi*}, are computed by

*μC*� *i*

gives the following results, depending on the implication *I*:

Mamdani: *μC*�(*v*) = *IM*(*α*, *μC*(*v*)) = min{*α*, *μC*(*v*)}

Willmott : *μC*�(*v*) = *IW*(*α*, *μC*(*v*)) = max{1 − *α*, min(*α*, *μC*(*v*))}

Rescher-Gaines: *<sup>μ</sup>C*�(*v*) = *IRG*(*α*, *<sup>μ</sup>C*(*v*)) = <sup>1</sup> *i f <sup>α</sup>* <sup>≤</sup> *<sup>μ</sup>C*(*v*)

Brouwer-Gödel: *<sup>μ</sup>C*�(*v*) = *IBG*(*α*, *<sup>μ</sup>C*(*v*)) = <sup>1</sup> *i f <sup>α</sup>* <sup>≤</sup> *<sup>μ</sup>C*(*v*)

*μC*(*v*)

*α otherwise*

max{1 − *α*, *μC*(*v*)} *otherwise*

Kleene-Dienes: *μC*�(*v*) = *IKD*(*α*, *μC*(*v*)) = max{1 − *α*, *μC*(*v*)}

Goguen: *<sup>μ</sup>C*�(*v*) = *IG*(*α*, *<sup>μ</sup>C*(*v*)) = <sup>1</sup> *i f <sup>α</sup>* <sup>≤</sup> *<sup>μ</sup>C*(*v*)

Lukasiewicz: *μC*�(*v*) = *IL*(*α*, *μC*(*v*)) = min{1 − *α* + *μC*(*v*), 1}

Fodor: *<sup>μ</sup>C*�(*v*) = *IF*(*α*, *<sup>μ</sup>C*(*v*)) = <sup>1</sup> *i f <sup>α</sup>* <sup>≤</sup> *<sup>μ</sup>C*(*v*)

Reichenbach: *μC*�(*v*) = *IR*(*α*, *μC*(*v*)) = 1 − *α* + *αμC*(*v*)

**4.3 Fuzzy inference**

*Ai*

*Ai*

∩ *μ*[*a*,*b*] divided

#### **4. Mamdani FLC with different inputs and implications**

Further, the standard Mamdani FLC system will be extended to work as inputs with crisp data, intervals and linguistic terms and with various implications to represent the rules. A rule is characterized by


The fuzzy inference process is performed in the steps presented in the following subsections.

#### **4.1 Fuzzification**

A fuzzification operator transforms a crisp data or an interval into a fuzzy set. For instance, *x*<sup>0</sup> ∈ *U* is fuzzified into *x*<sup>0</sup> according with the relation:

$$\mu\_{\overline{\mathbf{x}}\_0}(\mathbf{x}) = \begin{cases} 1 & \text{if } \quad \mathbf{x} = \mathbf{x}\_0 \\ 0 & \text{otherwise} \end{cases}$$

and an interval input [*a*, *b*] is fuzzified into

$$\mu\_{[a,b]}(\mathfrak{x}) = \begin{cases} 1 & \text{if } \quad \mathfrak{x} \in [a,b] \\ 0 & \text{otherwise} \end{cases}$$

#### **4.2 Firing levels**

The firing level of a linguistic variable *Ai*, which appears in the premise of a rule, depends of the input data.

• For a crisp value *<sup>x</sup>*<sup>0</sup> it is *<sup>μ</sup>*<sup>0</sup> *Ai* (*x*0).

If the input is an interval or a linguistic term then the firing level can be computed in various forms.

A) based on "intersection"

• for an input interval [*a*, *b*] it is given by:

$$\mu\_{A\_l} = \max \{ \min \{ \mu\_{A\_l}^0(\mathbf{x}), \mu\_{[a,b]}(\mathbf{x}) \} \, | \, \mathbf{x} \in [a, b] \}.$$

• for a linguistic input value *A*� *<sup>i</sup>* it is

$$\mu\_{A\_l} = \max \{ \min \{ \mu\_{A\_l}^0(\mathbf{x}), \mu\_{A\_l'}(\mathbf{x}) \} | \mathbf{x} \in I\_A \}.$$

B) based on "areas ratio"

14 Will-be-set-by-IN-TECH

Further, the standard Mamdani FLC system will be extended to work as inputs with crisp data, intervals and linguistic terms and with various implications to represent the rules. A

The fuzzy inference process is performed in the steps presented in the following subsections.

A fuzzification operator transforms a crisp data or an interval into a fuzzy set. For instance,

The firing level of a linguistic variable *Ai*, which appears in the premise of a rule, depends of

If the input is an interval or a linguistic term then the firing level can be computed in various

*Ai*

*Ai*

(*x*), *μA*� *i*

(*x*), *μ*[*a*,*b*](*x*)}|*x* ∈ [*a*, *b*]}.

(*x*)}|*x* ∈ *IA*}.

 1 *if x* = *x*<sup>0</sup> 0 *otherwise*

 <sup>1</sup> *if x* <sup>∈</sup> [*a*, *<sup>b</sup>*] 0 *otherwise*

*Ai*

(*x*) where *i* ∈ {1, 2, ..., *nA*} and

**4. Mamdani FLC with different inputs and implications**

• a set of linguistic variables *A*, having as domain an interval *IA* = [*aA*, *bA*]

*μx*<sup>0</sup> (*x*) =

*μ*[*a*,*b*](*x*) =

• *nA* linguistic values *A*1, *A*2, ..., *AnA* for each linguistic variable *A* • the membership function for each value *Ai*, denoted as *μ*<sup>0</sup>

*x*<sup>0</sup> ∈ *U* is fuzzified into *x*<sup>0</sup> according with the relation:

*Ai* (*x*0).

*<sup>μ</sup>Ai* <sup>=</sup> max{min{*μ*<sup>0</sup>

*<sup>i</sup>* it is

*<sup>μ</sup>Ai* <sup>=</sup> max{min{*μ*<sup>0</sup>

and an interval input [*a*, *b*] is fuzzified into

• for an input interval [*a*, *b*] it is given by:

rule is characterized by

*x* ∈ *IA*.

**4.1 Fuzzification**

**4.2 Firing levels**

the input data.

forms.

• For a crisp value *<sup>x</sup>*<sup>0</sup> it is *<sup>μ</sup>*<sup>0</sup>

A) based on "intersection"

• for a linguistic input value *A*�

B) based on "areas ratio"

• for an input interval [*a*, *b*] it is given by the area defined by intersection *μ*<sup>0</sup> *Ai* ∩ *μ*[*a*,*b*] divided by area defined by *μ*<sup>0</sup> *Ai*

$$\mu\_{A\_i} = \frac{\int\_a^b \min\{\mu\_{A\_i}^0(\mathbf{x}), \mu\_{[a,b]}(\mathbf{x})\} d\mathbf{x}}{\int\_a^b \mu\_{A\_i}^0(\mathbf{x}) d\mathbf{x}}$$

• for a linguistic input value *A*� *<sup>i</sup>* it is computed as in the previous case

$$\mu\_{A\_{i}} = \frac{\int\_{a}^{b} \min\{\mu\_{A\_{i}}^{0}(\mathbf{x}), \mu\_{A\_{i}'}(\mathbf{x})\} d\mathbf{x}}{\int\_{a}^{b} \mu\_{A\_{i}}^{0}(\mathbf{x}) d\mathbf{x}}$$

It is obvious that, any t-norm *T* can be used instead of *min* and its dual t-conorm *S* instead of *max* in the previous formulas.

#### **4.3 Fuzzy inference**

The fuzzy control rules are of the form

$$\mathcal{R}\_{\mathbf{i}}\colon IF\,\mathbf{X}\_1\text{ is }A\_{\mathbf{i}}^1\text{ AND }\dots\text{ AND }\mathbf{X}\_{\mathbf{r}}\text{ is }A\_{\mathbf{i}}^r\text{ THEN }\mathbf{Y}\text{ is }\mathbf{C}\_{\mathbf{i}}$$

where the variables *Xj*, *j* ∈ {1, 2, ...,*r*}, and *Y* have the domains *Uj* and V, respectively. The firing levels of the rules, denoted by {*αi*}, are computed by

$$\alpha\_{\vec{l}} = T(\alpha\_{\vec{l}}^1, \dots, \alpha\_{\vec{l}}^r),$$

where *<sup>T</sup>* is a t-norm and *<sup>α</sup><sup>j</sup> <sup>i</sup>* is the firing level for *<sup>A</sup><sup>j</sup> i* , *j* ∈ {1, 2, ...,*r*}. The causal link from *X*1, ..., *Xr* to *Y* is represented using an implication operator *I*. It results that the conclusion *C*� *i* inferred from the rule *Ri* is

$$\mu\_{\mathcal{C}'\_i}(v) = I(\mathfrak{a}\_{i\prime}\mu\_{\mathcal{C}\_i}(v)), \forall v \in V.$$

The formula

$$
\mu\_{\mathcal{C}'}(v) = I(\mathfrak{a}, \mu\_{\mathcal{C}}(v)),
$$

gives the following results, depending on the implication *I*:

$$\begin{aligned} \text{Willmodt}: \mu\_{\mathcal{C}'}(v) &= I\_W(\mathfrak{a}, \mu\_{\mathcal{C}}(v)) = \max\{1 - \mathfrak{a}, \min(\mathfrak{a}, \mu\_{\mathcal{C}}(v))\} \\ \text{Mammdani: } \mu\_{\mathcal{C}'}(v) &= I\_M(\mathfrak{a}, \mu\_{\mathcal{C}}(v)) = \min\{\mathfrak{a}, \mu\_{\mathcal{C}}(v)\} \\ \text{Rescher-Gaines: } \mu\_{\mathcal{C}'}(v) &= I\_{\mathcal{R}\mathcal{G}}(\mathfrak{a}, \mu\_{\mathcal{C}}(v)) = \begin{cases} 1 & \text{if } \mathfrak{a} \le \mu\_{\mathcal{C}}(v) \\ 0 & \text{otherwise} \end{cases} \end{aligned}$$

Kleene-Dienes: *μC*�(*v*) = *IKD*(*α*, *μC*(*v*)) = max{1 − *α*, *μC*(*v*)}

$$\text{Browner-Gödel: } \mu\_{\mathbb{C}'}(v) = I\_{\text{BG}}(\mathfrak{a}, \mu\_{\mathbb{C}}(v)) = \begin{cases} 1 & \text{if } \quad \mathfrak{a} \le \mu\_{\mathbb{C}}(v) \\ \mu\_{\mathbb{C}}(v) & \text{otherwise} \end{cases}$$

$$\text{Goguen: } \mu\_{\mathbb{C}'}(v) = I\_{\mathbb{G}}(a, \mu\_{\mathbb{C}}(v)) = \begin{cases} 1 & \text{if } \quad a \le \mu\_{\mathbb{C}}(v) \\ \frac{\mu\_{\mathbb{C}}(v)}{\mathbb{R}} & \text{otherwise} \end{cases}$$

$$\text{Lukasiewicz: } \mu\_{\mathbb{C}^\prime}(v) = I\_L(\mathfrak{a}, \mu\_{\mathbb{C}}(v)) = \min\{1 - \mathfrak{a} + \mu\_{\mathbb{C}}(v), 1\}$$

Fodor: *<sup>μ</sup>C*�(*v*) = *IF*(*α*, *<sup>μ</sup>C*(*v*)) = <sup>1</sup> *i f <sup>α</sup>* <sup>≤</sup> *<sup>μ</sup>C*(*v*) max{1 − *α*, *μC*(*v*)} *otherwise* Reichenbach: *μC*�(*v*) = *IR*(*α*, *μC*(*v*)) = 1 − *α* + *αμC*(*v*)

**4.4 Defuzzification** The fuzzy output *C*�

(*mC*, *mC*, *αC*, *βC*) is:

• *<sup>z</sup>*<sup>0</sup> <sup>=</sup> *mC* <sup>+</sup> *mC*

• *<sup>z</sup>*<sup>0</sup> <sup>=</sup> *aV* <sup>+</sup> *bV*

*I* is used:

• *<sup>z</sup>*<sup>0</sup> <sup>=</sup> *mC* <sup>+</sup> *mC* + (<sup>1</sup> <sup>−</sup> *<sup>α</sup>*)(*β<sup>C</sup>* <sup>−</sup> *<sup>α</sup>C*)

to Max-Criterion; for instance

*<sup>i</sup>* of the rule *Ri* is transformed into a crisp output *zi* using the

<sup>2</sup> for *<sup>I</sup>* ∈ {*IM*, *IRG*, *IBG*, *IG*, *IL*, *IF*} *or* (*<sup>I</sup>* <sup>=</sup> *IW*, *<sup>α</sup>* <sup>≥</sup> 0.5)

<sup>2</sup> .

*N* ∑ *i*=1 *αi*

Middle-of-Maxima operator. The crisp value *z*<sup>0</sup> associated to a conclusion *C*� inferred from a rule having the firing level *α* and the conclusion *C* represented by the fuzzy number

A Mamdani Type Fuzzy Logic Controller 341

In the last case, in order to remain inside the support of *C*, one can choose a value according

*<sup>z</sup>*<sup>0</sup> <sup>=</sup> *mC* <sup>+</sup> *mC* <sup>+</sup> *<sup>α</sup>*(*β<sup>C</sup>* <sup>−</sup> *<sup>α</sup>C*)

The overall crisp control action is computed by the discrete Center-of-Gravity method as

*αizi*)/

Finally, the results obtained with various implication operators are combined in order to obtain the overall output of the system. For this reason, the "strength" *λ*(*I*) of an implication

*λ*(*I*) = *N*(*I*)/13 where *N*(*I*) is the number of properties (from the list *I*1 to *I*13) verified by the implication *I* (Iancu, 2009a). If the implications are considered in the order presented in the previous

*w*<sup>1</sup> = *λ*(*IW*), *w*<sup>2</sup> = *λ*(*IM*), ..., *w*<sup>9</sup> = *λ*(*IR*)

*a*<sup>1</sup> = *z*0(*IW*), *a*<sup>2</sup> = *z*0(*IM*), ..., *a*<sup>9</sup> = *z*0(*IR*)

9 ∑ *j*=1 *wjbj*

*z*<sup>0</sup> =

where *bj* is the *j*-th largest element of {*z*0(*IW*), *z*0(*IM*),..., *z*0(*IF*), *z*0(*IR*)}.

*N* ∑ *i*=1

<sup>2</sup> for implication *<sup>I</sup>* ∈ {*IR*, *IKD*}

<sup>2</sup> *if I* <sup>=</sup> *IW*, *<sup>α</sup>* <sup>&</sup>lt; 0.5 *and V* = [*aV*, *bV*].

follows. If the number of fired rules is *N* then the final control action is:

*z*<sup>0</sup> = (

where *α<sup>i</sup>* is the firing level and *zi* is the crisp output of the *i*-th rule, *i* = 1, *N*.

section, then according with the Definition 10, one obtains

and the overall crisp action of the system is computed as

Fig. 5. Conclusions obtained with different implications

#### **4.4 Defuzzification**

16 Will-be-set-by-IN-TECH

(a) Willmott implication (b) Willmott implication

(c) Mamdani implication (d) Rescher-Gaines implication

(e) Kleene-Dienes implication (f) Brouwer-Gödel implication

(g) Goguen implication (h) Lukasiewicz implication

(i) Fodor implication (j) Fodor implication

(k) Reichenbach implication

Fig. 5. Conclusions obtained with different implications

The fuzzy output *C*� *<sup>i</sup>* of the rule *Ri* is transformed into a crisp output *zi* using the Middle-of-Maxima operator. The crisp value *z*<sup>0</sup> associated to a conclusion *C*� inferred from a rule having the firing level *α* and the conclusion *C* represented by the fuzzy number (*mC*, *mC*, *αC*, *βC*) is:

• *<sup>z</sup>*<sup>0</sup> <sup>=</sup> *mC* <sup>+</sup> *mC* <sup>2</sup> for implication *<sup>I</sup>* ∈ {*IR*, *IKD*}

\*  $z\_0 = \frac{\underline{m}\_\mathbb{C} + \overline{m}\_\mathbb{C} + (1 - a)(\underline{\beta}\_\mathbb{C} - \underline{a}\_\mathbb{C})}{2}$  for  $I \in \{I\_{M\_\prime} I\_{\overline{R}G'} I\_{\overline{B}G'} I\_{\overline{G}'} I\_{L'} I\_{L'}\}$  or  $(I = I\_{W\prime} \text{ a} \ge 0.5)$ .

In the last case, in order to remain inside the support of *C*, one can choose a value according to Max-Criterion; for instance

$$z\_0 = \frac{\underline{m}\_{\mathbb{C}} + \overline{m}\_{\mathbb{C}} + \mathfrak{a}(\beta\_{\mathbb{C}} - \alpha\_{\mathbb{C}})}{2}.$$

The overall crisp control action is computed by the discrete Center-of-Gravity method as follows. If the number of fired rules is *N* then the final control action is:

$$z\_0 = (\sum\_{i=1}^N \alpha\_i z\_i) / \sum\_{i=1}^N \alpha\_i$$

where *α<sup>i</sup>* is the firing level and *zi* is the crisp output of the *i*-th rule, *i* = 1, *N*.

Finally, the results obtained with various implication operators are combined in order to obtain the overall output of the system. For this reason, the "strength" *λ*(*I*) of an implication *I* is used:

$$\lambda(I) = N(I)/13$$

where *N*(*I*) is the number of properties (from the list *I*1 to *I*13) verified by the implication *I* (Iancu, 2009a). If the implications are considered in the order presented in the previous section, then according with the Definition 10, one obtains

$$w\_1 = \lambda(I\_W), w\_2 = \lambda(I\_M), \dots, w\_{\mathfrak{P}} = \lambda(I\_{\mathbb{R}})$$

$$a\_1 = z\_0(I\_W), a\_2 = z\_0(I\_M), \dots, a\_9 = z\_0(I\_R)$$

and the overall crisp action of the system is computed as

$$\overline{z}\_0 = \sum\_{j=1}^9 w\_j b\_j$$

where *bj* is the *j*-th largest element of {*z*0(*IW*), *z*0(*IM*),..., *z*0(*IF*), *z*0(*IR*)}.

*Below Average* = (2, 3, 1, 1)

A Mamdani Type Fuzzy Logic Controller 343

*Above Average* = (7, 8, 1, 1)

{*Very Low*, *Low*, *Middle*, *High*, *Very High*}

*Average* = (4, 6, 2, 2)

*Good* = (9, 10, 2, 0).

represented, in the universe [0, 10], by the following membership functions:

*Low* = (2, 3, 1, 1.5)

*Middle* = (4, 6, 1, 1)

*High* = (7, 8, 1, 2)

The fired rules and their firing levels, computed with t-norm Product, are:

*Very High* = (9, 10, 1, 0).

A person is interested to buy a computer with price = 400-600 EUR and quality = *AboveAverage*. The positive firing levels (based on intersection) corresponding to the

*μMiddle* = 1, *μHigh* = 0.5 and the positive firing levels corresponding to the linguistic values of the input variable *quality*

*μAverage* = 2/3, *μGood* = 2/3.

*R*<sup>5</sup> with firing level *α*<sup>5</sup> = 2/3,

*R*<sup>6</sup> with firing level *α*<sup>6</sup> = 1/3,

*R*<sup>9</sup> with firing level *α*<sup>9</sup> = 1/3. Working with *IL* implication, the fired rules give the following crisp values as output:

*R*<sup>8</sup> with firing level *α*<sup>8</sup> = 2/3 and

*z*<sup>5</sup> = 5, *z*<sup>6</sup> = 8/3, *z*<sup>8</sup> = 23/3, *z*<sup>9</sup> = 5;

*z*0(*IL*) = 5.5

*z*<sup>5</sup> = 5, *z*<sup>6</sup> = 2.5, *z*<sup>8</sup> = 7.5, *z*<sup>9</sup> = 5;

Working with *IR* implication, the fired rules give the following crisp values as output:

*Very Low* = (0, 1, 0, 1)

The *satisfaction score* has following linguistic values:

linguistic values of the input variable *price* are

the overall crisp control action for *IL* is

are:

### **5. Applications**

In order to show how the proposed system works, two examples will be presented. First example (Iancu, 2009b) is inspired from (Liu et al., 2005). A person is interested to buy a computer using on-line shopping. For this, the customer can make selections on the price and quality of computers. For the price of computers, different intervals are given for customers to choose from, for example, 0-200 EUR, 400-600 EUR, etc. For the quality of computers, five options are offered to the customers, namely Poor, Below Average, Average, Above Average, and Good. After customers make those selections, the satisfaction score for that selected computer is computed based on the fuzzy inference system described in the following. If customers are not satisfied with the satisfaction score, they can go back and make selections again. Therefore, this system will help customers to make decisions. In the next example the system works with two inputs and one output. The input variables are *quality* (*Q*) and *price* (*P*); the output variable is *satisf action score* (*S*). The fuzzy rule base consist of

> *R*1: *IF Q is Poor AND P is Low THEN S is Middle R*2: *IF Q is Poor AND P is Middle THEN S is Low R*3: *IF Q is Poor AND P is High THEN S is Very Low R*4: *IF Q is Average AND P is Low THEN S is High R*5: *IF Q is Average AND P is Middle THEN S is Middle R*6: *IF Q is Average AND P is High THEN S is Low R*7: *IF Q is Good AND P is Low THEN S is Very High R*8: *IF Q is Good AND P is Middle THEN S is High R*9: *IF Q is Good AND P is High THEN S is Middle*

There are three linguistic values for the variable *price*:

{*Low*, *Middle*, *High*}

and five linguistic values for the variable *quality*:

{*Poor*, *Below Average*, *Average*, *Above Average*, *Good*}.

The universes of discourse are [0, 800] for *price* and [0, 10] for *quality*. The membership functions corresponding to the linguistic values are represented by the following trapezoidal fuzzy numbers:

> *Low* = (0, 100, 0, 200) *Middle* = (300, 500, 100, 100) *High* = (700, 800, 200, 0) *Poor* = (0, 1, 0, 2)

18 Will-be-set-by-IN-TECH

In order to show how the proposed system works, two examples will be presented. First example (Iancu, 2009b) is inspired from (Liu et al., 2005). A person is interested to buy a computer using on-line shopping. For this, the customer can make selections on the price and quality of computers. For the price of computers, different intervals are given for customers to choose from, for example, 0-200 EUR, 400-600 EUR, etc. For the quality of computers, five options are offered to the customers, namely Poor, Below Average, Average, Above Average, and Good. After customers make those selections, the satisfaction score for that selected computer is computed based on the fuzzy inference system described in the following. If customers are not satisfied with the satisfaction score, they can go back and make selections again. Therefore, this system will help customers to make decisions. In the next example the system works with two inputs and one output. The input variables are *quality* (*Q*) and

*price* (*P*); the output variable is *satisf action score* (*S*). The fuzzy rule base consist of

*R*1: *IF Q is Poor AND P is Low THEN S is Middle*

*R*2: *IF Q is Poor AND P is Middle THEN S is Low*

*R*3: *IF Q is Poor AND P is High THEN S is Very Low*

*R*4: *IF Q is Average AND P is Low THEN S is High*

*R*6: *IF Q is Average AND P is High THEN S is Low*

*R*8: *IF Q is Good AND P is Middle THEN S is High*

*R*9: *IF Q is Good AND P is High THEN S is Middle*

{*Low*, *Middle*, *High*}

{*Poor*, *Below Average*, *Average*, *Above Average*, *Good*}. The universes of discourse are [0, 800] for *price* and [0, 10] for *quality*. The membership functions corresponding to the linguistic values are represented by the following trapezoidal

*Low* = (0, 100, 0, 200)

*High* = (700, 800, 200, 0)

*Poor* = (0, 1, 0, 2)

*Middle* = (300, 500, 100, 100)

There are three linguistic values for the variable *price*:

and five linguistic values for the variable *quality*:

fuzzy numbers:

*R*7: *IF Q is Good AND P is Low THEN S is Very High*

*R*5: *IF Q is Average AND P is Middle THEN S is Middle*

**5. Applications**

*Below Average* = (2, 3, 1, 1) *Average* = (4, 6, 2, 2) *Above Average* = (7, 8, 1, 1) *Good* = (9, 10, 2, 0).

The *satisfaction score* has following linguistic values:

{*Very Low*, *Low*, *Middle*, *High*, *Very High*}

represented, in the universe [0, 10], by the following membership functions:

$$\begin{aligned} \text{Very Low} &= (0, 1, 0, 1) \\ \text{Low} &= (2, 3, 1, 1.5) \\ \text{Middle} &= (4, 6, 1, 1) \\ \text{High} &= (7, 8, 1, 2) \\ \text{Very High} &= (9, 10, 1, 0) \end{aligned}$$

A person is interested to buy a computer with price = 400-600 EUR and quality = *AboveAverage*. The positive firing levels (based on intersection) corresponding to the linguistic values of the input variable *price* are

 $\mu\_{Middle} = 1$  $\mu\_{High} = 0.5$ 

and the positive firing levels corresponding to the linguistic values of the input variable *quality* are:

 $\mu\_{\text{Average}} = 2/3$ ,  $\mu\_{\text{Good}} = 2/3$ .

The fired rules and their firing levels, computed with t-norm Product, are:

*R*<sup>5</sup> with firing level *α*<sup>5</sup> = 2/3,

*R*<sup>6</sup> with firing level *α*<sup>6</sup> = 1/3,

*R*<sup>8</sup> with firing level *α*<sup>8</sup> = 2/3 and

*R*<sup>9</sup> with firing level *α*<sup>9</sup> = 1/3.

Working with *IL* implication, the fired rules give the following crisp values as output:

$$z\_{5} = 5, \; z\_{6} = 8/3, \; z\_{8} = 23/3, \; z\_{9} = 5;$$

the overall crisp control action for *IL* is

$$z\_0(I\_L) = 5.5$$

Working with *IR* implication, the fired rules give the following crisp values as output:

 $z\_5 = 5$ ,  $z\_6 = 2.5$ ,  $z\_8 = 7.5$ ,  $z\_9 = 5$ ;

its overall crisp action is

crisp action then *z*<sup>0</sup> = 5.253

relationship is not available.

*washing-time (WT)*. The fuzzy rule-base consist of:

implications.

*z*0(*IR*) = 5.416.

A Mamdani Type Fuzzy Logic Controller 345

*z*<sup>0</sup> = 5.4615

If the Center-of-Gravity method (instead of maximum operator) is used to compute the overall

One observes an important difference between these two results and also between these results and those given by our method. An explanation consists in the small value of the "strength" of Mamdani's implication in comparison with the values associated with Reichenbach and Lukasiewicz implications; the strength of an implication is a measure of its quality. From different implications, different results will be obtained if separately implications will be used. The proposed system offers a possibility to avoid this difficulty, by aggregation operation which achieves a "mediation" between the results given by various

Another application that uses this type of controller is presented in (Iancu, 2009b) concerning washing machines (Agarwal, 2007). When one uses a washing machine, the person generally select the length of washing time based on the amount of clothes he/she wish to wash and the type and degree of dirt cloths have. To automate this process, one uses sensors to detect these parameters and the washing time is then determined from this data. Unfortunately, there is no easy way to formulate a precise mathematical relationship between volume of clothes and dirt and the length of washing time required. Because the input/output relationship is not clear, the design of a washing machine controller can be made using fuzzy logic. A fuzzy logic controller gives the correct washing time even though a precise model of the input/output

The problem analyzed in this example has been simplified by using only two inputs and one output. The input variables are *degree-of-dirt (DD)* and *type-of-dirt (TD)*; the output variable is

*R*1: *IF DD is Large AND TD is Greasy THEN WT is VeryLong*

*R*2: *IF DD is Medium AND TD is Greasy THEN WT is Long*

*R*3: *IF DD is Small AND TD is Greasy THEN WT is Long*

*R*4: *IF DD is Large AND TD is Medium THEN WT is Long*

*R*5: *IF DD is Medium AND TD is Medium THEN WT is Medium*

*R*6: *IF DD is Small AND TD is Medium THEN WT is Medium*

Because *λ*(*IR*) = 11/13 and *λ*(*IL*) = 1, the overall crisp action given by system is

The standard Mamdani model applied for this example gives the following results:

• the firing levels are: *α*<sup>5</sup> = 2/3, *α*<sup>6</sup> = 0.5, *α*<sup>8</sup> = 2/3, *α*<sup>9</sup> = 0.5 • the crisp rules outputs are: *z*<sup>5</sup> = 5, *z*<sup>6</sup> = 5.25/2, *z*<sup>8</sup> = 23/3, *z*<sup>9</sup> = 5

• the overall crisp action is: *z*<sup>0</sup> = 23/3 = 7.66

(a) The membership function of the variable *price*

(b) The membership function of the variable *quality*

(c) The membership function of the variable *satisfaction score*

Fig. 6. Membership functions for the input and output variables

its overall crisp action is

20 Will-be-set-by-IN-TECH

(a) The membership function of the variable *price*

(b) The membership function of the variable *quality*

(c) The membership function of the variable *satisfaction score*

Fig. 6. Membership functions for the input and output variables

$$z\_0(I\_R) = 5.416... $$

Because *λ*(*IR*) = 11/13 and *λ*(*IL*) = 1, the overall crisp action given by system is

$$\Xi\_0 = 5.4615$$

The standard Mamdani model applied for this example gives the following results:


If the Center-of-Gravity method (instead of maximum operator) is used to compute the overall crisp action then *z*<sup>0</sup> = 5.253

One observes an important difference between these two results and also between these results and those given by our method. An explanation consists in the small value of the "strength" of Mamdani's implication in comparison with the values associated with Reichenbach and Lukasiewicz implications; the strength of an implication is a measure of its quality. From different implications, different results will be obtained if separately implications will be used. The proposed system offers a possibility to avoid this difficulty, by aggregation operation which achieves a "mediation" between the results given by various implications.

Another application that uses this type of controller is presented in (Iancu, 2009b) concerning washing machines (Agarwal, 2007). When one uses a washing machine, the person generally select the length of washing time based on the amount of clothes he/she wish to wash and the type and degree of dirt cloths have. To automate this process, one uses sensors to detect these parameters and the washing time is then determined from this data. Unfortunately, there is no easy way to formulate a precise mathematical relationship between volume of clothes and dirt and the length of washing time required. Because the input/output relationship is not clear, the design of a washing machine controller can be made using fuzzy logic. A fuzzy logic controller gives the correct washing time even though a precise model of the input/output relationship is not available.

The problem analyzed in this example has been simplified by using only two inputs and one output. The input variables are *degree-of-dirt (DD)* and *type-of-dirt (TD)*; the output variable is *washing-time (WT)*. The fuzzy rule-base consist of:

*R*1: *IF DD is Large AND TD is Greasy THEN WT is VeryLong*

*R*2: *IF DD is Medium AND TD is Greasy THEN WT is Long*

*R*3: *IF DD is Small AND TD is Greasy THEN WT is Long*

*R*4: *IF DD is Large AND TD is Medium THEN WT is Long*

*R*5: *IF DD is Medium AND TD is Medium THEN WT is Medium*

*R*6: *IF DD is Small AND TD is Medium THEN WT is Medium*

(a) The membership function of the variable

A Mamdani Type Fuzzy Logic Controller 347

(b) The membership function of the variable

(c) The membership function of the variable

*degree-of-dirt*

*type-of-dirt*

*washing-time*

Fig. 7. Membership functions for the input and output variables

*R*7: *IF DD is Large AND TD is NotGreasy THEN WT is Medium*

*R*8: *IF DD is Medium AND TD is NotGreasy THEN WT is Short*

*R*9: *IF DD is Small AND TD is NotGreasy THEN WT is VeryShort*

There are three linguistic values for the variable *degree-of-dirt*:

{*Small*, *Medium*, *Large*}

and five linguistic values for the variable *type-of-dirt*:

{*VeryNotGreasy*, *NotGreasy*, *Medium*, *Greasy*, *VeryGreasy*}

having the same universe of discourse: [0, 100]. The membership functions corresponding to the linguistic values are represented by the following trapezoidal fuzzy numbers:

> *Small* = (0, 20, 0, 20) *Medium* = (40, 60, 20, 20) *Large* = (80, 100, 20, 0) *VeryNotGreasy* = (0, 10, 0, 20) *NotGreasy* = (20, 30, 10, 10) *Medium* = (40, 60, 20, 20) *Greasy* = (70, 80, 10, 10) *VeryGreasy* = (90, 100, 20, 0).

The *washing-time* has following linguistic values

{*VeryShort*, *Short*, *Medium*, *Long*, *VeryLong*, *High*}

represented in the universe [0, 60] by the membership functions:

*VeryShort* = (0, 5, 0, 5) *Short* = (10, 15, 10, 5) *Medium* = (20, 30, 5, 5) *Long* = (35, 50, 5, 10) *VeryLong* = (50, 60, 10, 0).

A person is interested to wash some clothes with the *degree-of-dirt* between 60 and 70 and *type-of-dirt* is *VeryGreasy*. Working in the same conditions as in the previous example, but using "areas ratio" instead of "intersection" in order to compute the firing levels, one obtains the following results. The positive firing levels corresponding to the linguistic values of the input variable *degree-of-dirt* are

22 Will-be-set-by-IN-TECH

*R*7: *IF DD is Large AND TD is NotGreasy THEN WT is Medium*

*R*8: *IF DD is Medium AND TD is NotGreasy THEN WT is Short*

*R*9: *IF DD is Small AND TD is NotGreasy THEN WT is VeryShort*

{*Small*, *Medium*, *Large*}

{*VeryNotGreasy*, *NotGreasy*, *Medium*, *Greasy*, *VeryGreasy*} having the same universe of discourse: [0, 100]. The membership functions corresponding to

the linguistic values are represented by the following trapezoidal fuzzy numbers: *Small* = (0, 20, 0, 20)

*Medium* = (40, 60, 20, 20)

*VeryNotGreasy* = (0, 10, 0, 20)

*NotGreasy* = (20, 30, 10, 10)

*Medium* = (40, 60, 20, 20)

*Greasy* = (70, 80, 10, 10)

*VeryShort* = (0, 5, 0, 5)

*Short* = (10, 15, 10, 5)

*Medium* = (20, 30, 5, 5)

*VeryLong* = (50, 60, 10, 0).

A person is interested to wash some clothes with the *degree-of-dirt* between 60 and 70 and *type-of-dirt* is *VeryGreasy*. Working in the same conditions as in the previous example, but using "areas ratio" instead of "intersection" in order to compute the firing levels, one obtains the following results. The positive firing levels corresponding to the linguistic values of the

*Long* = (35, 50, 5, 10)

*VeryGreasy* = (90, 100, 20, 0).

{*VeryShort*, *Short*, *Medium*, *Long*, *VeryLong*, *High*}

*Large* = (80, 100, 20, 0)

There are three linguistic values for the variable *degree-of-dirt*:

and five linguistic values for the variable *type-of-dirt*:

The *washing-time* has following linguistic values

input variable *degree-of-dirt* are

represented in the universe [0, 60] by the membership functions:

(a) The membership function of the variable *degree-of-dirt*

(c) The membership function of the variable *washing-time*

Fig. 7. Membership functions for the input and output variables

One of our future preoccupation is to extend this system by incorporating uncertainty about the membership functions of fuzzy sets associated with linguistic terms. For this we intend to work with interval type-2 fuzzy sets in accordance with the results from Mendel (2001; 2003;

A Mamdani Type Fuzzy Logic Controller 349

Buckley, J. J. (1993). Sugeno type controllers are universal controllers, *Fuzzy Sets and Systems*

Castro, J. L. (1995). Fuzzy logic controllers are universal approximators, *IEEE Transactions on*

Grzegorzewski, P. & Mrowka, E. (2007). Trapezoidal approximations of fuzzy numbers -

Iancu, I. (2009a). Extended Mamdani Fuzzy Logic Controller, *The 4th IASTED Int. Conf. on Computational Intelligence*, ACTA Press, Honolulu, USA, pp. 143–149. Iancu, I. (2009b). Mamdani FLC with various implications, *11th International Symposium*

Iancu, I., Constantinescu, N. & Colhon, M. (2010). Fingerprints identification using a

Iancu, I. & Popirlan, C.-I. (2010). Mamdani fuzzy logic controller with mobile agents

Lee, C. C. (1990). Fuzzy Logic in Control Systems: Fuzzy Logic Controller - Part I, II, *IEEE*

Liu, F., Geng, H. & Zhang, Y. Q. (2005). Interactive fuzzy interval reasoning for smart web

Mamdani, E. H. (1977). Application of fuzzy logic to approximate reasoning using linguistic

Mamdani, E. H. & Assilian, S. (1975). An experiment in linguistic synthesis with a fuzzy logic

Mendel, J. R. (2001). *Uncertain Rule-Based Fuzzy Logic Systems: Introductions and New Directions*,

Mendel, J. R. (2003). Type-2 fuzzy sets: Some questions and answers, *IEEE Connections,*

Mendel, J. R. (2007). Type-2 fuzzy sets: Some questions and answers,T,ˇ *IEEE Computational*

Nasseri, H. (2008). Fuzzy numbers: Positive and nonnegative, *International Mathematical*

*on Symbolic and Numeric Algorithms for Scientific Computing - SYNASC 09*, IEEE Computer Society, Los Alamitos, California, Timisoara, Romania, pp. 368–375. Iancu, I., Colhon, M. & Dupac, M. (2010). A Takagi-Sugeno Type Controller for Mobile Robot

Navigation, *Proc. of WSEAS Int. Conf. on Computational Intelligence*, WSEAS Press,

fuzzy logic system, *International Journal of Computers Communications & Control*

for matching, *Recent Advances in Neural Networks, Fuzzy Systems and Evolutionary*

Agarwal, M. (2007). Fuzzy logic control of washing machines.

URL: *http://softcomputing.tripod.com/sample\_termpater:pdf* Buckley, J. J. (1992). Universal fuzzy controller, *Automatica* Vol. 28: 1245–1248.

*Systems, Man, and Cybernetics* Vol. 25(No. 4): 629–635.

*Computing*, WSEAS Press, Iasi, Romania, pp. 117–122. Kosko, B. (1992). *Neural Networks and Fuzzy Systems*, Prentice-Hall, New Jersey.

shopping, *Applied Soft Computing* (5): 433–439.

controller, *Int. J. Man-machine Studies* 7: 1–13.

*Intelligence Magazine* 2(February): 20–29.

*Forum* 36(3): 1777–1789.

Prentice-Hall, Prentice-Hall, Upper-Saddle River, NJ.

*Transactions on Systems, Man and Cybernetics* 20(2): 404–418.

synthesis, *IEEE Transactions on Computers* 26(12): 1182–1191.

*Newsletter of the IEEE Neural Networks Society* 1(August): 10–13.

revisited, *Fuzzy Sets and Systems* 158(7): 757–768.

Bucharest, Romania, pp. 29–34.

2007).

**7. References**

Vol. 53: 299–304.

4(5): 525–531.

*μMedium* = 0.1875, *μLarge* = 0.0833

and the positive firing levels corresponding to the linguistic values of the input variable *type-of-dirt* are:

*μMedium* = 0.0312, *μGreasy* = 1/3.

The fired rules and their firing levels, computed with t-norm Product, are:

*R*<sup>1</sup> with firing level *α*<sup>1</sup> = 0.0277,

*R*<sup>2</sup> with firing level *α*<sup>2</sup> = 0.0625,

*R*<sup>4</sup> with firing level *α*<sup>4</sup> = 0.0026 and

*R*<sup>5</sup> with firing level *α*<sup>5</sup> = 0.0058.

Working with *IL* implication, the fired rules give the following crisp values as output:

*z*<sup>1</sup> = 50.138, *z*<sup>2</sup> = 44.843, *z*<sup>4</sup> = 44.993, *z*<sup>5</sup> = 25

and the overall crisp control action for *IL* is

$$z\_0(I\_L) = 45.152$$

Working with *IR* implication, the fired rules give the following crisp values as output:

$$z\_1 = 55, \; z\_2 = 42.5, \; z\_4 = 42.5, \; z\_5 = 25$$

and its overall crisp control action is

$$z\_0(I\_R) = 44.975$$

The overall crisp action given by system is computed using the technique OWA with

$$w\_1 = 13/24, w\_2 = 11/24, a\_1 = 45.152, a\_2 = 44.975;$$

it results

*z*<sup>0</sup> = 45.079

#### **6. Conclusion**

This paper presents fuzzy logic controllers of Mamdani type. After the standard Mamdani FLC is explained, an its extension is prezented. Because it can work not only with crisp data as inputs but, also, with intervals and/or linguistic terms its area of applications is very large. As it is mentioned in (Liu et al., 2005), a very important domain of its application is WEB shopping. Web users may use convenient interval inputs for online shopping as in the previous example. The working with various implications in the same time and, moreover, the possibility to aggregate the results given by these implications offer a strong base for more accurate results of our system.

The system can be improved by adding new implications, by using other fuzzy matching techniques or by other aggregate operators in order to obtain a overall crisp action from those given, separately, by every implication.

One of our future preoccupation is to extend this system by incorporating uncertainty about the membership functions of fuzzy sets associated with linguistic terms. For this we intend to work with interval type-2 fuzzy sets in accordance with the results from Mendel (2001; 2003; 2007).

#### **7. References**

24 Will-be-set-by-IN-TECH

*μMedium* = 0.1875, *μLarge* = 0.0833 and the positive firing levels corresponding to the linguistic values of the input variable

*μMedium* = 0.0312, *μGreasy* = 1/3.

*R*<sup>1</sup> with firing level *α*<sup>1</sup> = 0.0277,

*R*<sup>2</sup> with firing level *α*<sup>2</sup> = 0.0625,

*R*<sup>5</sup> with firing level *α*<sup>5</sup> = 0.0058.

Working with *IL* implication, the fired rules give the following crisp values as output:

Working with *IR* implication, the fired rules give the following crisp values as output:

The overall crisp action given by system is computed using the technique OWA with

*R*<sup>4</sup> with firing level *α*<sup>4</sup> = 0.0026 and

*z*<sup>1</sup> = 50.138, *z*<sup>2</sup> = 44.843, *z*<sup>4</sup> = 44.993, *z*<sup>5</sup> = 25

*z*0(*IL*) = 45.152

*z*<sup>1</sup> = 55, *z*<sup>2</sup> = 42.5, *z*<sup>4</sup> = 42.5, *z*<sup>5</sup> = 25

*z*0(*IR*) = 44.975

*w*<sup>1</sup> = 13/24, *w*<sup>2</sup> = 11/24, *a*<sup>1</sup> = 45.152, *a*<sup>2</sup> = 44.975;

*z*<sup>0</sup> = 45.079

This paper presents fuzzy logic controllers of Mamdani type. After the standard Mamdani FLC is explained, an its extension is prezented. Because it can work not only with crisp data as inputs but, also, with intervals and/or linguistic terms its area of applications is very large. As it is mentioned in (Liu et al., 2005), a very important domain of its application is WEB shopping. Web users may use convenient interval inputs for online shopping as in the previous example. The working with various implications in the same time and, moreover, the possibility to aggregate the results given by these implications offer a strong base for more

The system can be improved by adding new implications, by using other fuzzy matching techniques or by other aggregate operators in order to obtain a overall crisp action from those

The fired rules and their firing levels, computed with t-norm Product, are:

and the overall crisp control action for *IL* is

and its overall crisp control action is

it results

**6. Conclusion**

accurate results of our system.

given, separately, by every implication.

*type-of-dirt* are:

	- URL: *http://softcomputing.tripod.com/sample\_termpater:pdf*

**17** 

*1Vietnam 2Taiwan* 

**Tuning Fuzzy-Logic Controllers** 

*1MICA Center, HUST - CNRS/UMI 2954 - Grenoble INP, Hanoi,* 

The classical proportional-derivative (PD) control is relatively easy to design, but useful for fast response controllers by combining proportional control and derivative control in parallel. However, as PD control is linear, it is not able to be used to deal with non-linear plants. An answer to this problem is fuzzy-logic control, which is also a model-free control scheme and can be applied to systems where mathematical models cannot be obtained. Besides, natural heuristic rules in linguistic expressions that reflect human experiences can be applied in the control design, minimizing the design cost. Fuzzy-logic controllers (FLCs) are the control

This chapter is a discussion on using genetic algorithms (GAs) to tune the parameters of PDlike FLCs. Genetic algorithms are global search techniques modeled following the natural genetic mechanism to find approximate or exact solutions to optimization and search problems. In a GA, each parameter to be optimized is represented by a gene; moreover, each individual is characterized by a chromosome, which is actually a set of parameters awaiting

The remainder of this chapter is organized as follows. In Section 2, the optimization technique for PD-like FLCs using GAs is explained. After that, two case studies are presented and discussed in Sections 3 and 4, in which, the introduced technique is applied for a bicycle roll-angle-tracking controller and an ESP controller, respectively. Finally,

In a fuzzy IF-THEN rule, words can be characterized by continuous membership functions (typically taking values from 0 to 1) representing the degree of truth of the statements. For

*IF the bicycle is leaning to the right AND the roll angle is increasing, THEN apply large steering torque to the right,* where the words *right*, *increasing* and *large* are characterized by corresponding membership functions. Similarly, more rules from human knowledge can be defined to make the control

systems based on a knowledge consisting of the so-called fuzzy IF-THEN rules.

**1. Introduction** 

optimization.

concluding remarks are given in Section 5.

**2. PD-Like fuzzy-logic controller and optimization** 

example, to stabilize the bicycle, the following fuzzy rule can be used:

Trung-Kien Dao1 and Chih-Keng Chen2

*2Dayeh University, Changhua,* 


## **Tuning Fuzzy-Logic Controllers**

Trung-Kien Dao1 and Chih-Keng Chen2

*1MICA Center, HUST - CNRS/UMI 2954 - Grenoble INP, Hanoi, 2Dayeh University, Changhua, 1Vietnam 2Taiwan* 

## **1. Introduction**

26 Will-be-set-by-IN-TECH

350 Fuzzy Logic – Controls, Concepts, Theories and Applications

Sala, A., Guerra, T. M. & Babuska, R. (2005). Perspectives of fuzzy systems and control, *Fuzzy*

Wang, L. X. (1992). Fuzzy systems are universal approximators, *Proc. of IEEE Inter. Conf. on*

Yager, R. R. (1988). Ordered weighted averaging aggregation operators in multi-criteria decision making, *IEEE Trans. on Systems, Man and Cybernetics* (18): 183–190. Zadeh, L. A. (1971). Similarity relations and fuzzy orderings, *Information Sciences* 3: 177–200. Zadeh, L. A. (1973). Outline of a new approach to the analysis complex systems and decision

Zadeh, L. A. (1975). Calculus of fuzzy restrictions, *in* L. A. Zadeh, K.-S. Fu, K. Tanaka &

Zadeh, L. A. (1978). Fuzzy sets as a basis for a theory of a possibility, *Fuzzy Sets and Systems*

Zadeh, L. A. (1979). A theory of approximate reasoning, *Machine Intelligence*, John Wiley &

M. Shimura (eds), *Fuzzy Sets and their Applications to Cognitive and Decision Processes*,

Rakic, A. (2010). *Fuzzy Logic. Introduction 3. Fuzzy Inference*, ETF Beograd. URL: *http://www.docstoc.com/docs/52570644/Fuzzy-logic-3*

*Fuzzy Systems*, San Diego, USA, pp. 1163–1170.

processes, *IEEE Trans Syst. Man Cibern* SMC(3): 28–44.

*Sets and Systems* 156(3): 432–444.

Academic Press, New York, pp. 1–39.

Sons, New York, pp. 149–194.

(1): 2–28.

The classical proportional-derivative (PD) control is relatively easy to design, but useful for fast response controllers by combining proportional control and derivative control in parallel. However, as PD control is linear, it is not able to be used to deal with non-linear plants. An answer to this problem is fuzzy-logic control, which is also a model-free control scheme and can be applied to systems where mathematical models cannot be obtained. Besides, natural heuristic rules in linguistic expressions that reflect human experiences can be applied in the control design, minimizing the design cost. Fuzzy-logic controllers (FLCs) are the control systems based on a knowledge consisting of the so-called fuzzy IF-THEN rules.

This chapter is a discussion on using genetic algorithms (GAs) to tune the parameters of PDlike FLCs. Genetic algorithms are global search techniques modeled following the natural genetic mechanism to find approximate or exact solutions to optimization and search problems. In a GA, each parameter to be optimized is represented by a gene; moreover, each individual is characterized by a chromosome, which is actually a set of parameters awaiting optimization.

The remainder of this chapter is organized as follows. In Section 2, the optimization technique for PD-like FLCs using GAs is explained. After that, two case studies are presented and discussed in Sections 3 and 4, in which, the introduced technique is applied for a bicycle roll-angle-tracking controller and an ESP controller, respectively. Finally, concluding remarks are given in Section 5.

## **2. PD-Like fuzzy-logic controller and optimization**

In a fuzzy IF-THEN rule, words can be characterized by continuous membership functions (typically taking values from 0 to 1) representing the degree of truth of the statements. For example, to stabilize the bicycle, the following fuzzy rule can be used:

> *IF the bicycle is leaning to the right AND the roll angle is increasing, THEN apply large steering torque to the right,*

where the words *right*, *increasing* and *large* are characterized by corresponding membership functions. Similarly, more rules from human knowledge can be defined to make the control

Tuning Fuzzy-Logic Controllers 353

The optimization procedure of FLC using GAs is presented in Fig. 2. To reduce the learning efforts for GA computation to optimize the FLC, the scaling factors and deforming coefficients are used. Each fuzzy input or output of the FLC is encoded by two numbers: a scaling factor and a deforming coefficient. This method allows a standard PD-like two-

0, ,

*xa ba axb*

*cx cb bxc*

*x a*

*x c*

[*SF SF SF DC DC DC* 123 1 2 3 ], (2)

(1)

0, .

( ) /( ), , ( ) ( ) /( ), ,

<sup>&</sup>gt;

The coordinates *a*, *b* and *c* of the membership functions are determined from the optimization process. The effect of the scaling factors is obtained by simply multiplying all points of the universe of discourse of FLCs by the scaling factors. The deforming coefficients, as illustrated in Fig. 3, are introduced to "deform" the membership functions so that they are not equally distributed. Because the membership functions of a PD-like FLC are symmetric with respect to the origin, it is only needed to calculate those on one side, says the positive side, and then to take symmetrization to yield the other side. The membership functions are deformed by multiplying all points of the universe of discourse

Let the number of points of the universe of discourse on the positive side, excluding the zero origin, be *n*. The linear space is shown in Fig. 3a. By multiplying all points of the universe of discourse by the exponent of this linear space and then rescaling by dividing to <sup>1</sup> *DC e* , the equally distributed membership functions in Fig. 3b are transmuted into Fig. 3c without changing the maximum limit *ηn*. With the introduction of the scaling factors and deforming coefficients, six parameters are needed to encode an FLC of two inputs and one output in

− − ≤< <sup>=</sup> − − ≤<

<

input, one-output FLC to be represented as a six-parameter optimization problem.

Fig. 2. Optimization of control parameters using GAs

The membership functions of a PD-like FLC are triangular, i.e.,

by the exponent of linearly equally space points within 1, 1 *DC* .

the form of a chromosome for GAs as follows

, ,

*abc*

*tri x*

system more precise. Combining these rules into a fuzzy system, a rule base is obtained, which is used by the fuzzy inference system (FIS), as shown in Fig. 1. Two common FIS used in the literature are that of Takagi and Sugeno (TS), and that of Mamdani. The difference of the two FIS is in the THEN clause, where TS method uses algebraic linear combination of fuzzy variables, while Mamdani method uses natural-language clauses.

Fig. 1. Basic configuration of fuzzy systems

By using FLC, one major advantage is that there is no need to beware of the exact plant model as when classical control schemes are used. In reality, the plant model is usually nonlinear and difficult to specify exactly. Using FLC is a preferable approach to avoid this difficulty. However, in most of cases, the fuzzy membership functions are difficult to be effectively defined manually, and need to be tuned. One usual procedure to design a FLC is to approximately build the fuzzy rules and membership functions heuristically and subsequently use a certain optimization algorithm to tune the parameters.

Mamdani fuzzy inference system (FIS) is preferable in FLC instead of Takagi-Sugeno (TS) because of two reasons. First, since the IF-THEN rules of the Mamdani method are given in natural-language form, it is more intuitive to build the fuzzy rules so that the parameters can be determined later by using genetic algorithms. Secondly, the presentation of output membership functions by the TS method requires much more parameters, e.g. each THEN clause *z* = *ax* + *by* + *c* of a single rule has three parameters, which make the optimization become more complicated and computationally intensive. The distribution of the membership functions of each fuzzy variable of the FLCs discussed in this study can be determined by two parameters, a scaling factor and a deforming coefficient, using the Mamdani method; or six parameters in total for a two-input, one-output FLC.

To estimate the quality of an individual, a fitness function (objective function, or cost function) must be defined. A genetic algorithm starts by generating an initial population for the first generation; then, the quality of each individual is evaluated by using the fitness function. After one generation, only the advantageous individuals survive and reproduce to generate a new population for the next generation. By this process of selection from generation to generation, the quality of the offspring is improved in comparison with their ancestors.

During the creation of a new generation, a portion of the surviving individuals is recombined randomly via the so-called crossover and mutation operations, being adopted from natural evolution. The advantages of GAs over other searching algorithms are that they do not require any gradient information neither continuity assumption in searching for the best parameters, and that they can explore many characteristics at once, which is necessary when dealing with complex problems. For a complete introduction to GAs, the readers can refer to R.L. Haupt & S.E. Haupt (2004).

system more precise. Combining these rules into a fuzzy system, a rule base is obtained, which is used by the fuzzy inference system (FIS), as shown in Fig. 1. Two common FIS used in the literature are that of Takagi and Sugeno (TS), and that of Mamdani. The difference of the two FIS is in the THEN clause, where TS method uses algebraic linear combination of

By using FLC, one major advantage is that there is no need to beware of the exact plant model as when classical control schemes are used. In reality, the plant model is usually nonlinear and difficult to specify exactly. Using FLC is a preferable approach to avoid this difficulty. However, in most of cases, the fuzzy membership functions are difficult to be effectively defined manually, and need to be tuned. One usual procedure to design a FLC is to approximately build the fuzzy rules and membership functions heuristically and

Mamdani fuzzy inference system (FIS) is preferable in FLC instead of Takagi-Sugeno (TS) because of two reasons. First, since the IF-THEN rules of the Mamdani method are given in natural-language form, it is more intuitive to build the fuzzy rules so that the parameters can be determined later by using genetic algorithms. Secondly, the presentation of output membership functions by the TS method requires much more parameters, e.g. each THEN clause *z* = *ax* + *by* + *c* of a single rule has three parameters, which make the optimization become more complicated and computationally intensive. The distribution of the membership functions of each fuzzy variable of the FLCs discussed in this study can be determined by two parameters, a scaling factor and a deforming coefficient, using the

To estimate the quality of an individual, a fitness function (objective function, or cost function) must be defined. A genetic algorithm starts by generating an initial population for the first generation; then, the quality of each individual is evaluated by using the fitness function. After one generation, only the advantageous individuals survive and reproduce to generate a new population for the next generation. By this process of selection from generation to generation,

During the creation of a new generation, a portion of the surviving individuals is recombined randomly via the so-called crossover and mutation operations, being adopted from natural evolution. The advantages of GAs over other searching algorithms are that they do not require any gradient information neither continuity assumption in searching for the best parameters, and that they can explore many characteristics at once, which is necessary when dealing with complex problems. For a complete introduction to GAs, the

fuzzy variables, while Mamdani method uses natural-language clauses.

subsequently use a certain optimization algorithm to tune the parameters.

Mamdani method; or six parameters in total for a two-input, one-output FLC.

the quality of the offspring is improved in comparison with their ancestors.

readers can refer to R.L. Haupt & S.E. Haupt (2004).

Fig. 1. Basic configuration of fuzzy systems

The optimization procedure of FLC using GAs is presented in Fig. 2. To reduce the learning efforts for GA computation to optimize the FLC, the scaling factors and deforming coefficients are used. Each fuzzy input or output of the FLC is encoded by two numbers: a scaling factor and a deforming coefficient. This method allows a standard PD-like twoinput, one-output FLC to be represented as a six-parameter optimization problem.

Fig. 2. Optimization of control parameters using GAs

The membership functions of a PD-like FLC are triangular, i.e.,

$$\operatorname{trri}\_{a,b,c}(\mathbf{x}) = \begin{cases} 0, & \mathbf{x} < a, \\ (\mathbf{x} - a) \;/\; (b - a), & a \le \mathbf{x} < b, \\ (c - \mathbf{x}) \;/\; (c - b), & b \le \mathbf{x} < c, \\ 0, & \mathbf{x} > c. \end{cases} \tag{1}$$

The coordinates *a*, *b* and *c* of the membership functions are determined from the optimization process. The effect of the scaling factors is obtained by simply multiplying all points of the universe of discourse of FLCs by the scaling factors. The deforming coefficients, as illustrated in Fig. 3, are introduced to "deform" the membership functions so that they are not equally distributed. Because the membership functions of a PD-like FLC are symmetric with respect to the origin, it is only needed to calculate those on one side, says the positive side, and then to take symmetrization to yield the other side. The membership functions are deformed by multiplying all points of the universe of discourse by the exponent of linearly equally space points within 1, 1 *DC* .

Let the number of points of the universe of discourse on the positive side, excluding the zero origin, be *n*. The linear space is shown in Fig. 3a. By multiplying all points of the universe of discourse by the exponent of this linear space and then rescaling by dividing to <sup>1</sup> *DC e* , the equally distributed membership functions in Fig. 3b are transmuted into Fig. 3c without changing the maximum limit *ηn*. With the introduction of the scaling factors and deforming coefficients, six parameters are needed to encode an FLC of two inputs and one output in the form of a chromosome for GAs as follows

$$\begin{bmatrix} \text{SF}\_1 & \text{SF}\_2 & \text{SF}\_3 & \text{DC}\_1 & \text{DC}\_2 & \text{DC}\_3 \end{bmatrix} \tag{2}$$

Tuning Fuzzy-Logic Controllers 355

In the following of this chapter, two case studies are introduced to show the application of the PD-like FLCs and the control-parameter optimization technique in reality. In the first case, an FLC is used to establish a controller which helps a bicycle to follow a roll-angle command. In the second one, several FLCs are used in an ESP controller, which is designed

As an unstable and underactuated system, the bicycle is control-challenging and can offer a number of research interests in the area of mechanics and robot control. Control efforts for stabilizing unmanned bicycles have also been addressed in previous studies. Yavin (1999) dealt with the stabilization and control of a riderless bicycle by a pedaling torque, a directional torque and a rotor mounted on the crossbar that generated a tilting torque. Beznos et al. (1988) modeled a bicycle with gyroscopes that enabled the vehicle to stabilize itself in an autonomous motion along a straight line as well as along a curve. In their study, the stabilization unit consisted of two coupled gyroscopes spinning in opposite directions. Han et al. (2001) derived a simple kinematic and dynamic formulation of an unmanned electric bicycle. The controllability of the stabilization problem was also checked and a control algorithm for self-stabilization of the vehicle with bounded wheel speed and steering angle using non-linear control based on the sliding patch and stuck phenomena

Among studies relative to two-wheel-vehicle control, Sharp et al. (2004) presented a related work on the roll-angle-tracking of motorcycles. A PID controller was used to generate the steering torque based on the tracking error. In this section, a controller is introduced to control the bicycle to follow a roll-angle command, where an FLC is used in the place of the

Fig. 4 shows the roll-angle-tracking control structure that Sharp et al. (2004) used to control a motorcycle. The steering torque is derived from the roll-angle error using a PID controller, whose gains *kP*, *kI* and *kD* are speed-dependent. Their study has showed good results that the steering torque of a two-wheeled vehicle can be directly controlled from the roll-angle error. In this study, since PID controller is linear, it is replaced by a FLC in order to better deal

*θ*ref *e<sup>θ</sup> τ outputs*

*Vx*

Motorcycle

with the non-linearity of the bicycle. This gives the controller shown in Fig. 5.

*kP*

*kI*

*θ kD*

*d/dt*

Fig. 4. Roll-angle-tracking controller for motorcycle (Sharp et al., 2005)

to enhance vehicle maneuvers, especially in critical situations.

**3. Case study: Bicycle roll-angle-tracking controller** 

was proposed.

**3.1 Control structure** 

PID.

where (*SF*1, *DC*1), (*SF*2, *DC*2), and (*SF*3, *DC*3) are used for fuzzy input 1, 2 and output, respectively. Note that all fuzzy inputs and outputs in this study are normalized by scaling factors so that their values are distributed within the range from −1 to 1, the extreme limits of the two outermost triangular membership functions are extended to infinity.

Fig. 3. (a) Linearly equal space, (b) equally arranged membership functions, and (c) deformed membership functions

The learning scheme given in Fig. 2 is in the following. In initial phase, the population consists of randomly generated heterogeneous chromosomes. Then all chromosomes go through three principal parts: evaluation module, selection module and reproduction module. The population will be improved because fitter offspring replace parents. The procedure is repeated until either a maximum number of generations is reached or an optimal solution is obtained, whichever is earlier.

where (*SF*1, *DC*1), (*SF*2, *DC*2), and (*SF*3, *DC*3) are used for fuzzy input 1, 2 and output, respectively. Note that all fuzzy inputs and outputs in this study are normalized by scaling factors so that their values are distributed within the range from −1 to 1, the extreme limits

of the two outermost triangular membership functions are extended to infinity.

1 ( ) + =

(a)

1 1 + − ( ) *n t* ( ) 1 + *t* ( ) 1 2 + *t* ( ) 1 3 + *t* ( ) 1 4 + *t*

0

0 η

deformed membership functions

1+ 1 1 *t DC e e*

optimal solution is obtained, whichever is earlier.

η

1 2+ 2 1 *t DC e e*

η

1 3+ 3 1 *t DC e e*

Fig. 3. (a) Linearly equal space, (b) equally arranged membership functions, and (c)

(c)

The learning scheme given in Fig. 2 is in the following. In initial phase, the population consists of randomly generated heterogeneous chromosomes. Then all chromosomes go through three principal parts: evaluation module, selection module and reproduction module. The population will be improved because fitter offspring replace parents. The procedure is repeated until either a maximum number of generations is reached or an

η1 η2 η3

(b)

<sup>1</sup> <sup>1</sup> *nt*

η*n*−1

( )

η

+

1

 η

<sup>1</sup> 1 *nt n n DC e e*

= =

*DC*

+ −

1 1 1 1 *n t*

η

−

*e e*

*n*

η*n* *DC*

In the following of this chapter, two case studies are introduced to show the application of the PD-like FLCs and the control-parameter optimization technique in reality. In the first case, an FLC is used to establish a controller which helps a bicycle to follow a roll-angle command. In the second one, several FLCs are used in an ESP controller, which is designed to enhance vehicle maneuvers, especially in critical situations.

## **3. Case study: Bicycle roll-angle-tracking controller**

As an unstable and underactuated system, the bicycle is control-challenging and can offer a number of research interests in the area of mechanics and robot control. Control efforts for stabilizing unmanned bicycles have also been addressed in previous studies. Yavin (1999) dealt with the stabilization and control of a riderless bicycle by a pedaling torque, a directional torque and a rotor mounted on the crossbar that generated a tilting torque. Beznos et al. (1988) modeled a bicycle with gyroscopes that enabled the vehicle to stabilize itself in an autonomous motion along a straight line as well as along a curve. In their study, the stabilization unit consisted of two coupled gyroscopes spinning in opposite directions. Han et al. (2001) derived a simple kinematic and dynamic formulation of an unmanned electric bicycle. The controllability of the stabilization problem was also checked and a control algorithm for self-stabilization of the vehicle with bounded wheel speed and steering angle using non-linear control based on the sliding patch and stuck phenomena was proposed.

Among studies relative to two-wheel-vehicle control, Sharp et al. (2004) presented a related work on the roll-angle-tracking of motorcycles. A PID controller was used to generate the steering torque based on the tracking error. In this section, a controller is introduced to control the bicycle to follow a roll-angle command, where an FLC is used in the place of the PID.

#### **3.1 Control structure**

Fig. 4 shows the roll-angle-tracking control structure that Sharp et al. (2004) used to control a motorcycle. The steering torque is derived from the roll-angle error using a PID controller, whose gains *kP*, *kI* and *kD* are speed-dependent. Their study has showed good results that the steering torque of a two-wheeled vehicle can be directly controlled from the roll-angle error. In this study, since PID controller is linear, it is replaced by a FLC in order to better deal with the non-linearity of the bicycle. This gives the controller shown in Fig. 5.

Fig. 4. Roll-angle-tracking controller for motorcycle (Sharp et al., 2005)

Tuning Fuzzy-Logic Controllers 357

In a similar fashion, the complete rule base is constructed as listed in Table 1, where the membership functions *negative large* (NL), *negative medium* (NM), *negative small* (NS), *zero* (Z), *positive small* (PS), *positive medium* (PM), and *positive large* (PL) are used for the two fuzzy inputs as well as the output. Notice that the body of the table lists the linguistic-numeric consequents of the rules, and the left column and top row of the table contain the linguisticnumeric premise terms. For this controller, with two inputs and seven linguistic values for each of these, there are totally 72 = 49 rules. By using (1), for each input or output of the FLC, the membership functions characterizing seven levels, namely NL, NM, NS, Z, PS, PM and

For roll-angle control, the goal is to minimize simultaneously the tracking error and the oscillation of roll angle. Therefore, the fitness function used for optimization is defined as

2

*<sup>i</sup> fitness function e i N Nt* θ

<sup>1</sup> 1 () ()

where Δ*t* is the simulation time step; *N*, the number of time steps; *eθ*(*i*) = *θ*ref(*i*) – *θ*(*i*) and Δ*θ*(*i*) = *θ*(*i*) – *θ*(*i – 1*), the tracking error and the change in roll angle at time step *i*, respectively. The fitness function is the aggregation of two terms. The first is the root mean square of the tracking error multiplied by a weighting factor *κe*, and the second is the root mean square of

Originally, the normalized membership functions are scaled linearly by the scaling factors and deformed exponentially within the universe of discourse by the deforming coefficients, as presented in Fig. 3. Since the scaling factors of the FLC used in this study are variable, they are explicitly presented on the outside of the FLC. However, it is important to note that, once the scaling factors are presented on the outside of the FLC, their signification is changed, the effect of scaling factors for fuzzy inputs is inversed, since the scaling factors are now applied for signals, not for fuzzy membership functions. These scaling factors are denoted by *k*1-3 in Fig. 5. The controlled bicycle model for simulations in this study is nonlinear, non-holonomic, has nine generalized coordinates, and described in detail in (Chen &

The weighting factors of the fitness function used in this study are chosen as *κe* = 0.6 and *κ*Δ*<sup>θ</sup>* = 0.4. To estimate the performance of PID controller for roll-angle tracking for the developed bicycle model, control simulations were carried out. The PID gains are optimized by using GAs, where the parameters to be optimized are the three PID gains *kP*, *kI* and *kD*. Fig. 6 shows the simulation results of the optimized PID controller at a speed of 12km/h. It appears that the bicycle could not be controlled to follow the command rapidly while

Fig. 7 shows the control result by the FLC tuned via GA training for a speed of 5km/h (low speed), Fig. 8 for 12km/h (medium speed), and Fig. 9 for 30km/h (high speed). The optimal fitness values of these simulations are presented in Table 2. It can be remarked that when the speed is increased, the optimal fitness value is also increased accordingly. This can be explained by the fact that the tracking error of the roll angle increases for the higher speeds.

1 1

 κ Δ = =

 θ

 Δ = + <sup>Δ</sup>

*i i*

*N N*

1 1 2 2 2

θ

, (3)

PL, are defined as depicted in Fig. 3c and discussed in the previous section.

**3.2 Optimization of control parameters and simulation results** 

*e*

T.S. Dao, 2006, 2007) with parameters given in (Chen & T.K. Dao, 2010).

minimizing the oscillation.

κ

the change in roll angle multiplied by a weighting factor *κ*Δ*<sup>θ</sup>*.

The FLC used in this study has two inputs: the roll-angle tracking error *eθ* = *θ*ref – *θ*, which is the difference between the desired roll angle and the actual one; and its change Δ*eθ*. The controller generates appropriate control output which is the control torque *τ* to the steering fork. The FLC is PD-like since it requires two inputs, the error need to be minimized, and its variation, which are comparable to the proportional and derivative parts of a PD controller. Compared to the previous studies (Chen & T.S. Dao, 2006, 2007), the controller structure has been simplified so that only one FLC is used to generate the torque *τ* directly from the rollangle error *eθ*, as shown in Fig. 5. Linguistic quantification used to specify a set of rules for this controller is characterized by the following three typical situations:


Fig. 5. Roll-angle-tracking controller using FLC


Table 1. Rule base for roll-angle-tracking FLC

The FLC used in this study has two inputs: the roll-angle tracking error *eθ* = *θ*ref – *θ*, which is the difference between the desired roll angle and the actual one; and its change Δ*eθ*. The controller generates appropriate control output which is the control torque *τ* to the steering fork. The FLC is PD-like since it requires two inputs, the error need to be minimized, and its variation, which are comparable to the proportional and derivative parts of a PD controller. Compared to the previous studies (Chen & T.S. Dao, 2006, 2007), the controller structure has been simplified so that only one FLC is used to generate the torque *τ* directly from the rollangle error *eθ*, as shown in Fig. 5. Linguistic quantification used to specify a set of rules for

1. If *eθ* is *negative large* (NL) and Δ*eθ* is NL, then *τ* is *positive large* (PL). This rule quantifies the situation wherein the desired roll-angle is much smaller than the actual one and the bicycle is falling to the right at a significant rate. Hence, one should steer the fork to the

2. If *eθ* is *zero* (Z) and Δ*eθ* is Z, then *τ* is Z. This rule quantifies the situation wherein the

3. If *eθ* is PL and Δ*eθ* is PL, then *τ* is NL. This rule quantifies the situation wherein the desired roll-angle is much larger than the actual one and the bicycle is falling to the left at a significant rate. Therefore, one should steer the fork to the left at a large angle to

this controller is characterized by the following three typical situations:

right more at a large positive angle to make the bicycle lean to the left.

bicycle is already in its proper position. No control effort is needed.

make the bicycle lean to the right.

Fig. 5. Roll-angle-tracking controller using FLC

*e* Δ θ

Table 1. Rule base for roll-angle-tracking FLC

*e*θ In a similar fashion, the complete rule base is constructed as listed in Table 1, where the membership functions *negative large* (NL), *negative medium* (NM), *negative small* (NS), *zero* (Z), *positive small* (PS), *positive medium* (PM), and *positive large* (PL) are used for the two fuzzy inputs as well as the output. Notice that the body of the table lists the linguistic-numeric consequents of the rules, and the left column and top row of the table contain the linguisticnumeric premise terms. For this controller, with two inputs and seven linguistic values for each of these, there are totally 72 = 49 rules. By using (1), for each input or output of the FLC, the membership functions characterizing seven levels, namely NL, NM, NS, Z, PS, PM and PL, are defined as depicted in Fig. 3c and discussed in the previous section.

#### **3.2 Optimization of control parameters and simulation results**

For roll-angle control, the goal is to minimize simultaneously the tracking error and the oscillation of roll angle. Therefore, the fitness function used for optimization is defined as

$$\text{fitness function} = \kappa\_e \left( \frac{1}{N} \sum\_{i=1}^{N} \varepsilon\_{\theta}^2(i) \right)^{\circ \prime} + \kappa\_{\Delta \theta} \left( \frac{1}{N} \sum\_{i=1}^{N} \left( \frac{\Delta \theta(i)}{\Delta t} \right)^2 \right)^{\circ \prime},\tag{3}$$

where Δ*t* is the simulation time step; *N*, the number of time steps; *eθ*(*i*) = *θ*ref(*i*) – *θ*(*i*) and Δ*θ*(*i*) = *θ*(*i*) – *θ*(*i – 1*), the tracking error and the change in roll angle at time step *i*, respectively. The fitness function is the aggregation of two terms. The first is the root mean square of the tracking error multiplied by a weighting factor *κe*, and the second is the root mean square of the change in roll angle multiplied by a weighting factor *κ*Δ*<sup>θ</sup>*.

Originally, the normalized membership functions are scaled linearly by the scaling factors and deformed exponentially within the universe of discourse by the deforming coefficients, as presented in Fig. 3. Since the scaling factors of the FLC used in this study are variable, they are explicitly presented on the outside of the FLC. However, it is important to note that, once the scaling factors are presented on the outside of the FLC, their signification is changed, the effect of scaling factors for fuzzy inputs is inversed, since the scaling factors are now applied for signals, not for fuzzy membership functions. These scaling factors are denoted by *k*1-3 in Fig. 5. The controlled bicycle model for simulations in this study is nonlinear, non-holonomic, has nine generalized coordinates, and described in detail in (Chen & T.S. Dao, 2006, 2007) with parameters given in (Chen & T.K. Dao, 2010).

The weighting factors of the fitness function used in this study are chosen as *κe* = 0.6 and *κ*Δ*<sup>θ</sup>* = 0.4. To estimate the performance of PID controller for roll-angle tracking for the developed bicycle model, control simulations were carried out. The PID gains are optimized by using GAs, where the parameters to be optimized are the three PID gains *kP*, *kI* and *kD*. Fig. 6 shows the simulation results of the optimized PID controller at a speed of 12km/h. It appears that the bicycle could not be controlled to follow the command rapidly while minimizing the oscillation.

Fig. 7 shows the control result by the FLC tuned via GA training for a speed of 5km/h (low speed), Fig. 8 for 12km/h (medium speed), and Fig. 9 for 30km/h (high speed). The optimal fitness values of these simulations are presented in Table 2. It can be remarked that when the speed is increased, the optimal fitness value is also increased accordingly. This can be explained by the fact that the tracking error of the roll angle increases for the higher speeds.

Tuning Fuzzy-Logic Controllers 359

Reference command Response

Reference command Response

0 2 4 6 8 10 12 14 16

Time (s)

0 2 4 6 8 10 12 14 16

Time (s)

**Controller Speed (km/h) Optimal fitness value**  PID 12 1.7153 FLC 5 0.0430 FLC 12 0.0821 FLC 30 0.1378

Fig. 8. Roll-angle-tracking performance at normal speed (12km/h)

Fig. 9. Roll-angle-tracking performance at high speed (30km/h)

Table 2. Optimal fitness values for simulations





0

Roll angle (deg)

10

20

30



0

Roll angle (deg)

5

10

15

Fig. 6. PID controller performance at normal speed (12km/h)

Fig. 7. Roll-angle-tracking performance at low speed (5km/h)

In comparison with the same control simulation but using PID controller in Fig. 6, it appears that the roll-angle tracking error is reduced when the bicycle is controlled by the FLC, as shown in Fig. 8. This is assured by the optimal value of fitness function of 0.0821 from the FLC, and 1.7153 from the PID controller for the same bicycle speed of 12km/h. By applying the optimized control parameters, the FLC can control the bicycle better than the PID controller does, which can be explained by the essential non-linear control properties. The FLC can control non-linear systems with a larger range of parameters.

Reference command Response

Reference command Response

0 2 4 6 8 10 12 14 16

Time (s)

0 2 4 6 8 10 12 14 16

Time (s)

In comparison with the same control simulation but using PID controller in Fig. 6, it appears that the roll-angle tracking error is reduced when the bicycle is controlled by the FLC, as shown in Fig. 8. This is assured by the optimal value of fitness function of 0.0821 from the FLC, and 1.7153 from the PID controller for the same bicycle speed of 12km/h. By applying the optimized control parameters, the FLC can control the bicycle better than the PID controller does, which can be explained by the essential non-linear control properties. The





0

Roll angle (deg)

5

10

15

Fig. 6. PID controller performance at normal speed (12km/h)

Fig. 7. Roll-angle-tracking performance at low speed (5km/h)

FLC can control non-linear systems with a larger range of parameters.



0

Roll angle (deg)

5

10

15

Fig. 8. Roll-angle-tracking performance at normal speed (12km/h)

Fig. 9. Roll-angle-tracking performance at high speed (30km/h)


Table 2. Optimal fitness values for simulations

Tuning Fuzzy-Logic Controllers 361

stabilize the vehicle while braking, in case of understeering behavior, the main braking intervention should occur on the inner rear wheel. Rear braking force causes a primary yaw moment and a reduction in the rear lateral tire force. In case of oversteering behavior, the main braking force on the outer front wheel helps to stabilize the vehicle. The intervention produces a primary yaw moment and reduces the lateral tire force on the front side. These effects prevent critical oversteering driving situations, as shown in Fig. 10. For a more detailed description of ESP and controller principles, the readers can refer to Bosch (1999). In this section, an ESP control approach based on an estimation of the desired yaw rate, considered to be the target yaw rate, which the vehicle should follow, is introduced. The fundamental idea regarding the estimated target yaw rate is to generate a compensated yaw moment which corrects the behaviors of the vehicle, thereby improving its handling and stability by using FLCs. When the compensated yaw moment is generated, the system also avoids the vehicle sideslip angle to prevent a counter-effect wherein this angle is increased to the limit. The distribution of braking forces on all wheels instead of two front wheels has two advantages. The first advantage is that the controller can generate larger yaw moment in severe situations. The second one is to make the vehicle more stable when the controller is activated. By distributing braking forces on all wheels, the controller can deal with more

An ESP system is developed to correct the yaw rate of a vehicle, especially in critical situations, so that the vehicle responds normally to the driver's desire. This goal is achieved by estimating a corrective yaw moment, referred to as a compensated yaw moment, and generating the corresponding yaw moment to the vehicle by controlling the braking system, so that the vehicle can dependably respond to the driver's maneuvers in critical situations. This estimation consists of two components, one based on the steering and the other on the

The overall control structure is depicted in Fig. 11. As previously mentioned, the compensated yaw moment is combined from two separately estimated components, *Mzδ* and *Mzβ*. From the estimated compensated yaw moment and the steering orientation, the reference pressure generator determines which wheels to brake and the braking pressures to be applied to each. A closed-loop pressure controller manipulates the EHB (electro-hydraulic brake) hydraulic

pressures on the four wheels by following the reference pressures.

situations.

sideslip angle.

Fig. 11. Overall ESP control structure

**4.1 Control structure** 

## **4. Case study: ESP controller**

The Electronic Stability Program (ESP) is a vehicle dynamics control system that relies on a vehicle's braking system to support the driver in critical driving situations. Since their landmark introduction of Bosch controller (Van Zanten et al., 1995), ESP systems have become popular in the automotive market. The general strategy of ESP systems is to define an indicator for the maneuverability of an automobile, from which the controller aims to enhance handling in extreme maneuvers by automatically controlling the brakes and the engine.

Satisfactory handling behavior is characterized by the fact that the vehicle correctly follows the desire of the driver; i.e., the vehicle yaw rate is accurately maintained according to the steering angle while concurrently remaining stable. The general concept of most ESP systems is primarily based on the sideslip angle, such as those presented by Van Zanten (2000); some systems regard also the vehicle yaw rate, for example the system developed by Kwak and Park (2001).

Fig. 10. Understeering/oversteering behaviors

Regarding yaw-moment generation techniques, there are several preferable approaches, namely active yaw moment control (Ikushima & Sawase, 1995), active steering (Ackermann, 1998; Oraby et al., 2004), and direct yaw moment control (DYC) (Esmailzadeh et al., 2003; Tahami et al., 2003). Hybrid yaw-moment generation methods are also used, such as that of Selby et al. (2001) coordinates the two approaches active front steering and direct yaw moment control.

From driving experience, when the vehicle exhibits oversteering behavior, braking the outer wheels will generate compensated yaw moment to depress the oversteering situation; whereas, braking the inner wheels will generate compensated yaw moment in understeering situations. Moreover, Pruckner and Seemann (1997) pointed out that, to

The Electronic Stability Program (ESP) is a vehicle dynamics control system that relies on a vehicle's braking system to support the driver in critical driving situations. Since their landmark introduction of Bosch controller (Van Zanten et al., 1995), ESP systems have become popular in the automotive market. The general strategy of ESP systems is to define an indicator for the maneuverability of an automobile, from which the controller aims to enhance handling in extreme maneuvers by automatically controlling the brakes and the

Satisfactory handling behavior is characterized by the fact that the vehicle correctly follows the desire of the driver; i.e., the vehicle yaw rate is accurately maintained according to the steering angle while concurrently remaining stable. The general concept of most ESP systems is primarily based on the sideslip angle, such as those presented by Van Zanten (2000); some systems regard also the vehicle yaw rate, for example the system developed by

*Mres*

with ESP

*FL*

*FB*

without ESP

desired path

*FB*

*Mres*

*FL*

*FB*: brake force *FL*: lateral tire force *Mres*: resulting moment

Regarding yaw-moment generation techniques, there are several preferable approaches, namely active yaw moment control (Ikushima & Sawase, 1995), active steering (Ackermann, 1998; Oraby et al., 2004), and direct yaw moment control (DYC) (Esmailzadeh et al., 2003; Tahami et al., 2003). Hybrid yaw-moment generation methods are also used, such as that of Selby et al. (2001) coordinates the two approaches active front steering and direct yaw

From driving experience, when the vehicle exhibits oversteering behavior, braking the outer wheels will generate compensated yaw moment to depress the oversteering situation; whereas, braking the inner wheels will generate compensated yaw moment in understeering situations. Moreover, Pruckner and Seemann (1997) pointed out that, to

**understeering behavior oversteering behavior**

*FB*

Fig. 10. Understeering/oversteering behaviors

*FB*

desired path without ESP

**4. Case study: ESP controller** 

engine.

Kwak and Park (2001).

moment control.

with ESP

stabilize the vehicle while braking, in case of understeering behavior, the main braking intervention should occur on the inner rear wheel. Rear braking force causes a primary yaw moment and a reduction in the rear lateral tire force. In case of oversteering behavior, the main braking force on the outer front wheel helps to stabilize the vehicle. The intervention produces a primary yaw moment and reduces the lateral tire force on the front side. These effects prevent critical oversteering driving situations, as shown in Fig. 10. For a more detailed description of ESP and controller principles, the readers can refer to Bosch (1999).

In this section, an ESP control approach based on an estimation of the desired yaw rate, considered to be the target yaw rate, which the vehicle should follow, is introduced. The fundamental idea regarding the estimated target yaw rate is to generate a compensated yaw moment which corrects the behaviors of the vehicle, thereby improving its handling and stability by using FLCs. When the compensated yaw moment is generated, the system also avoids the vehicle sideslip angle to prevent a counter-effect wherein this angle is increased to the limit. The distribution of braking forces on all wheels instead of two front wheels has two advantages. The first advantage is that the controller can generate larger yaw moment in severe situations. The second one is to make the vehicle more stable when the controller is activated. By distributing braking forces on all wheels, the controller can deal with more situations.

### **4.1 Control structure**

An ESP system is developed to correct the yaw rate of a vehicle, especially in critical situations, so that the vehicle responds normally to the driver's desire. This goal is achieved by estimating a corrective yaw moment, referred to as a compensated yaw moment, and generating the corresponding yaw moment to the vehicle by controlling the braking system, so that the vehicle can dependably respond to the driver's maneuvers in critical situations. This estimation consists of two components, one based on the steering and the other on the sideslip angle.

Fig. 11. Overall ESP control structure

The overall control structure is depicted in Fig. 11. As previously mentioned, the compensated yaw moment is combined from two separately estimated components, *Mzδ* and *Mzβ*. From the estimated compensated yaw moment and the steering orientation, the reference pressure generator determines which wheels to brake and the braking pressures to be applied to each. A closed-loop pressure controller manipulates the EHB (electro-hydraulic brake) hydraulic pressures on the four wheels by following the reference pressures.

Tuning Fuzzy-Logic Controllers 363

Oversteering situation is identified if the absolute value of the real yaw rate is larger than

is used to generate the compensated yaw moment by a PD-like fuzzy logic control (FLC), as shown in Fig. 12. The FLC requires two inputs, namely the yaw-rate error and its variation, and one output, the compensated yaw moment. The ESP controller must generate a moment corresponding to the compensated yaw moment so that the vehicle yaw rate follows the steering angle correctly, thus implying that the vehicle

Abusing the steering to estimate the compensated yaw moment might make the vehicle go out of control when the sideslip angle *β* (angle between the vehicle's moving direction and the direction towards which it is pointing) becomes too high. To prevent this situation, when *β* exceeds a certain predefined value *β*0, the system will generate another compensated yaw moment in such a manner that the sideslip angle has the tendency to decrease. This can be achieved by another PD-like FLC as shown in Fig. 13. After Van Zanten (2000), during normal driving, average drivers will not exceed sideslip angles of ±2°. Beyond this value, the driver has no experience. In this controller, the value of *β*0 is chosen to be 1.5°, which is the value that the sideslip-angle-based compensated yaw

Note that for implementing in real cars, there are several methods for estimating the sideslip angle of a vehicle. Two common approaches are the vehicle model observer and the pseudointegral. The former estimates the sideslip angle based on a vehicle model, which is generally robust against sensor errors, yet sensitive to changes in condition and disturbances; whereas, the latter estimates the sideslip by taking integration of

 = − −Ω ( ) *yV V x xz* / , where *y* is lateral acceleration, *Vx* is vehicle speed, and Ω*z* is vehicle yaw rate, which is robust against changes in road friction and disturbances. However, stabilization should be applied in the latter to minimize the cumulative integral error. Nishio et al. (2001) developed an estimation method using a combination of the vehicle model observer and the pseudo-integral. This method is robust against sensor error as well

*z z zref e*<sup>Ω</sup> =Ω −Ω , (7)

the desired one. The yaw-rate error, defined as

**4.1.2 Sideslip-angle-based compensated yaw moment** 

Fig. 13. Sideslip-angle-based compensated yaw moment

as changes in road friction and operational disturbances.

maneuverability is guaranteed.

moment starts having effect.

β

 β

#### **4.1.1 Steering-based compensated yaw moment**

During operation, the yaw rate of a vehicle should be proportional to the steering angle that the driver makes with the steering wheel so that the time response of the yaw rate has the same shape as that of the steering angle. The goal of the ESP system is to assure that this criterion is achieved, especially in extreme situations.

From the theory of vehicle dynamics, the following equation can be derived:

$$\Omega\_x = \frac{V\_x k\_g \delta}{l\_2 - \frac{ml\_1 V\_x^2}{2C\_{ar}(l\_1 + l\_2)}} = \frac{V\_x \delta}{\frac{l\_2}{k\_g} - \frac{ml\_1 V\_x^2}{2k\_g C\_{ar}(l\_1 + l\_2)}}.\tag{4}$$

where Ω*z* is the vehicle yaw rate, *Vx* is the longitudinal speed in coordinates fixed to the vehicle, *m* is the vehicle mass, *l*1 and *l*2 are the distances from the front and rear axles, respectively, to the center of gravity, *Cαr* is the cornering stiffness of the rear tire, *kg* is the gear ratio from the steering wheel to the front wheels, and *δ* is the angle of the steering wheel. The following two magnitudes are now defined as

$$k\_1 = \frac{l\_2}{k\_g} \text{ and } k\_2 = \frac{ml\_1}{2k\_g \mathcal{C}\_{ar}(l\_1 + l\_2)};\tag{5}$$

thus, equation (4) can be simply denoted as

$$
\Omega\_z = \frac{V\_x \delta}{k\_1 - k\_2 V\_x^2}.\tag{6}
$$

It is noticed that every magnitudes involved in equation (5) are constants taken from the configuration of a vehicle; thus, *k*1 and *k*2 are also constants. In consequence, in equation (6), the steady-state yaw rate Ω*z* is a function of the longitudinal speed *Vx* and the steering angle *δ*. It should be emphasized that this yaw rate does not depend on the friction coefficient *μ*. In this ESP system, the objective is to control the vehicle so that its yaw rate follows the reference yaw rate generated by this equation.

Fig. 12. Steering-based compensated yaw moment

c

Once the reference yaw rate is available, the maneuverability situation, understeering or oversteering, can be determined by comparing the reference yaw rate to the actual one measured from the yaw-rate sensor. When cornering, understeering situation is identified if the absolute value of the real yaw rate is smaller than the desired one, and vice versa.

During operation, the yaw rate of a vehicle should be proportional to the steering angle that the driver makes with the steering wheel so that the time response of the yaw rate has the same shape as that of the steering angle. The goal of the ESP system is to assure that this

> 2 2 1 1 2

> > α

1 2 2() *g r*

<sup>=</sup> <sup>+</sup> ; (5)

Ω ≈ − (6)

*kC l l* α

2

*x*

1 2 . *<sup>x</sup> <sup>z</sup>*

It is noticed that every magnitudes involved in equation (5) are constants taken from the configuration of a vehicle; thus, *k*1 and *k*2 are also constants. In consequence, in equation (6), the steady-state yaw rate Ω*z* is a function of the longitudinal speed *Vx* and the steering angle *δ*. It should be emphasized that this yaw rate does not depend on the friction coefficient *μ*. In this ESP system, the objective is to control the vehicle so that its yaw rate follows the

Once the reference yaw rate is available, the maneuverability situation, understeering or oversteering, can be determined by comparing the reference yaw rate to the actual one measured from the yaw-rate sensor. When cornering, understeering situation is identified if the absolute value of the real yaw rate is smaller than the desired one, and vice versa.

*V k kV* δ

δ

. (4)

*x x r g gr*

1 2 1 2 2( ) 2 ( )

*C l l k kC l l*

− − + +

where Ω*z* is the vehicle yaw rate, *Vx* is the longitudinal speed in coordinates fixed to the vehicle, *m* is the vehicle mass, *l*1 and *l*2 are the distances from the front and rear axles, respectively, to the center of gravity, *Cαr* is the cornering stiffness of the rear tire, *kg* is the gear ratio from the steering wheel to the front wheels, and *δ* is the angle of the steering

> *<sup>k</sup>* <sup>=</sup> and <sup>1</sup> 2

*ml <sup>k</sup>*

From the theory of vehicle dynamics, the following equation can be derived:

α

2 1

*<sup>l</sup> <sup>k</sup>*

*g*

*x g <sup>x</sup> <sup>z</sup>*

Ω ≈ =

δ

*V k V ml V <sup>l</sup> ml V <sup>l</sup>*

**4.1.1 Steering-based compensated yaw moment** 

criterion is achieved, especially in extreme situations.

2

wheel. The following two magnitudes are now defined as

thus, equation (4) can be simply denoted as

reference yaw rate generated by this equation.

Fig. 12. Steering-based compensated yaw moment

c

Oversteering situation is identified if the absolute value of the real yaw rate is larger than the desired one. The yaw-rate error, defined as

$$
\omega\_{\Omega z} = \Omega\_z - \Omega\_{zref} \, \, \, \, \, \tag{7}
$$

is used to generate the compensated yaw moment by a PD-like fuzzy logic control (FLC), as shown in Fig. 12. The FLC requires two inputs, namely the yaw-rate error and its variation, and one output, the compensated yaw moment. The ESP controller must generate a moment corresponding to the compensated yaw moment so that the vehicle yaw rate follows the steering angle correctly, thus implying that the vehicle maneuverability is guaranteed.

#### **4.1.2 Sideslip-angle-based compensated yaw moment**

Abusing the steering to estimate the compensated yaw moment might make the vehicle go out of control when the sideslip angle *β* (angle between the vehicle's moving direction and the direction towards which it is pointing) becomes too high. To prevent this situation, when *β* exceeds a certain predefined value *β*0, the system will generate another compensated yaw moment in such a manner that the sideslip angle has the tendency to decrease. This can be achieved by another PD-like FLC as shown in Fig. 13. After Van Zanten (2000), during normal driving, average drivers will not exceed sideslip angles of ±2°. Beyond this value, the driver has no experience. In this controller, the value of *β*0 is chosen to be 1.5°, which is the value that the sideslip-angle-based compensated yaw moment starts having effect.

Fig. 13. Sideslip-angle-based compensated yaw moment

Note that for implementing in real cars, there are several methods for estimating the sideslip angle of a vehicle. Two common approaches are the vehicle model observer and the pseudointegral. The former estimates the sideslip angle based on a vehicle model, which is generally robust against sensor errors, yet sensitive to changes in condition and disturbances; whereas, the latter estimates the sideslip by taking integration of β β = − −Ω ( ) *yV V x xz* / , where *y* is lateral acceleration, *Vx* is vehicle speed, and Ω*z* is vehicle yaw rate, which is robust against changes in road friction and disturbances. However, stabilization should be applied in the latter to minimize the cumulative integral error. Nishio et al. (2001) developed an estimation method using a combination of the vehicle model observer and the pseudo-integral. This method is robust against sensor error as well as changes in road friction and operational disturbances.

Tuning Fuzzy-Logic Controllers 365

caused by the interaction effect between components, thereby saving much computational time. However, it is important to note that the order for optimizing these components is not totally arbitrary, due to their dependence. For example, optimizing the pressure controller

First, the reference yaw-rate generator can be isolated from the whole control model and tuned independently, since their parameters are tuned to fit data measured from experiments. After that, the pressure controller can be optimized. Once these three components are completed, the next step is optimizing the steering-based compensated yaw-moment generator, and finally the sideslip-based compensated yaw-moment generator to complete the optimization procedure. The optimal values of control parameters used in

**Component Parameter Value** 

Sideslip-angle based FLC Scaling factors [1.473 0.253 19.593]

0 1 2 3 4 5

Time (s)

Driving maneuvers have been simulated for various driving situations using a full sedan model in CarSim®, which provides the sprung mass, powertrain, suspension model, as well as tire and aerodynamic models with parameters listed in Table 5. In CarSim, from the braking pressure, the tire-road adherence force is obtained via the internal tire model

The steering behavior depicted in Fig. 15 was adopted from Pruckner & Seemann (1997) for performance evaluation. The steering input equals three half-sinusoidal waves with increasing amplitude and switching direction; thus, the vehicle response during the change

depending on properties of the tire itself and the road surface.

Steering-based FLC Scaling factors [0.108 0.008 15.106]

Deforming coefficients [0.704 0.660 0.173]

Deforming coefficients [0.193 0.694 0.360]

requires that the pressure model be built and parameters be tuned *a priori*.

this study are presented in Table 4.

Table 4. Optimal control parameters for ESP


Fig. 15. Open-loop steering angle

0

Steering angle (deg)

50

100

The steering-based compensated yaw moment *Mzδ* and the sideslip-angle-based one *Mzβ* are later combined as *Mz*. The activator is a logical block producing 1 or 0, depending on whether *β* is greater than *β*0. Thus, by the multiplication operator, the effect of the activator is to enable or disable the sideslip-angle-based branch regarding whether *β* exceeds *β*0.

#### **4.1.3 Braking-pressure control**

As previously discussed, the distribution of the braking pressure aims to generate the yaw moment effectively while keeping the vehicle stable during braking. In understeering situation, the inner rear wheel is braked primarily. If the desired yaw moment is large, the inner front wheel will also be braked secondarily to generate a supplementary yaw moment and stabilize the vehicle. In oversteering situation, the outer front wheel is braked primarily, and the outer rear wheel is braked secondarily if large yaw moment is required. The braking-pressure distribution is summarized in Table 3.


Table 3. Braking-pressure distribution

Fig. 14. Structure of pressure controller

The pressure is controlled by a closed-loop control structure using an FLC, as shown in Fig. 14. On the basis of the error between the actual-pressure measurement and the reference pressure, and the variation of the error itself, the FLC generates the control signal *uc*. The values of *uc* are in the range from −1 to 1, corresponding to the openness of the inlet and outlet valves of the EHB system explicated in the previous section. Regarding the sign and value of *uc*, the actuator switch opens or closes the inlet and outlet valves.

#### **4.2 Optimization of control parameters and simulation results**

It is clear that the components of this controller, such as the reference yaw-rate estimator, the compensated yaw-moment generators, and the pressure controller, can be optimized separately. Optimizing each component individually reduces the complexity in formulating the problem and avoids unnecessary combinatory operations among unrelated genes

The steering-based compensated yaw moment *Mzδ* and the sideslip-angle-based one *Mzβ* are later combined as *Mz*. The activator is a logical block producing 1 or 0, depending on whether *β* is greater than *β*0. Thus, by the multiplication operator, the effect of the activator is to enable or disable the sideslip-angle-based branch regarding whether *β* exceeds *β*0.

As previously discussed, the distribution of the braking pressure aims to generate the yaw moment effectively while keeping the vehicle stable during braking. In understeering situation, the inner rear wheel is braked primarily. If the desired yaw moment is large, the inner front wheel will also be braked secondarily to generate a supplementary yaw moment and stabilize the vehicle. In oversteering situation, the outer front wheel is braked primarily, and the outer rear wheel is braked secondarily if large yaw moment is required. The

**Understeering Oversteering**  Turn left (*δ* > 0) Turn right (*δ* < 0) Turn left (*δ* > 0) Turn right (*δ* < 0) Small *Mz* Large *Mz* Small *Mz* Large *Mz* Small *Mz* Large *Mz* Small *Mz* Large *Mz* FL Secondary Primary Primary

RL Primary Primary Secondary

The pressure is controlled by a closed-loop control structure using an FLC, as shown in Fig. 14. On the basis of the error between the actual-pressure measurement and the reference pressure, and the variation of the error itself, the FLC generates the control signal *uc*. The values of *uc* are in the range from −1 to 1, corresponding to the openness of the inlet and outlet valves of the EHB system explicated in the previous section. Regarding the sign and

It is clear that the components of this controller, such as the reference yaw-rate estimator, the compensated yaw-moment generators, and the pressure controller, can be optimized separately. Optimizing each component individually reduces the complexity in formulating the problem and avoids unnecessary combinatory operations among unrelated genes

**4.1.3 Braking-pressure control** 

Table 3. Braking-pressure distribution

Fig. 14. Structure of pressure controller

braking-pressure distribution is summarized in Table 3.

FR Secondary Primary Primary

RR Primary Primary Secondary

value of *uc*, the actuator switch opens or closes the inlet and outlet valves.

**4.2 Optimization of control parameters and simulation results** 

caused by the interaction effect between components, thereby saving much computational time. However, it is important to note that the order for optimizing these components is not totally arbitrary, due to their dependence. For example, optimizing the pressure controller requires that the pressure model be built and parameters be tuned *a priori*.

First, the reference yaw-rate generator can be isolated from the whole control model and tuned independently, since their parameters are tuned to fit data measured from experiments. After that, the pressure controller can be optimized. Once these three components are completed, the next step is optimizing the steering-based compensated yaw-moment generator, and finally the sideslip-based compensated yaw-moment generator to complete the optimization procedure. The optimal values of control parameters used in this study are presented in Table 4.


Table 4. Optimal control parameters for ESP

Fig. 15. Open-loop steering angle

Driving maneuvers have been simulated for various driving situations using a full sedan model in CarSim®, which provides the sprung mass, powertrain, suspension model, as well as tire and aerodynamic models with parameters listed in Table 5. In CarSim, from the braking pressure, the tire-road adherence force is obtained via the internal tire model depending on properties of the tire itself and the road surface.

The steering behavior depicted in Fig. 15 was adopted from Pruckner & Seemann (1997) for performance evaluation. The steering input equals three half-sinusoidal waves with increasing amplitude and switching direction; thus, the vehicle response during the change

Tuning Fuzzy-Logic Controllers 367

After tuning the controller by using GAs with mutation rate of 0.1, crossover rate of 0.8, population size of 20, maximal number of generations of 50, and randomly generated initial population, simulations for four cases with different road frictions and speeds were conducted. The simulation results of which are shown in figures from 13 to 16. The first simulation (Fig. 16) focused on high-friction and normal-speed conditions to determine how the performance of a vehicle can be improved in non-critical situations. Next, the vehicle behavior and controller performance were examined for three different critical situations, namely high speed on high-friction surfaces (Fig. 17), high speed on normal-friction surfaces (Fig. 18), and normal speed on very low-friction surfaces (Fig. 19). In each case, three trials were considered: the first, without the ESP controller (dashed lines); the second, with only the steering-based compensated yaw moment enabled (thin solid lines); the third, with both steering-based and sideslip-angle-based compensated yaw moments taken into account (thick solid lines). The target yaw rates (dotted lines) are shown in yaw-rate plots for reference.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Time (s)





Sideslip angle (deg)

0

5


10 20

Yaw rate (deg/s)

30 40 50

Target No control Steering based Both

No control Steering based Both

Fig. 17. High friction: *μ* = 0.85; high speed: *Vx* = 180km/h


from non-critical to critical behavior can be studied. As has been argued earlier in this paper, the ESP system should drive the vehicle so that its yaw rate follows the shape specified by the steering input. This is assured by the estimator of reference yaw rate.

Table 5. Principal simulation parameters of vehicle

Fig. 16. High friction: *μ* = 0.85; normal speed: *Vx* = 100km/h

from non-critical to critical behavior can be studied. As has been argued earlier in this paper, the ESP system should drive the vehicle so that its yaw rate follows the shape specified by

> **Description Value**  Sprung mass 800kg Roll inertia 288kg.m2 Yaw inertia 1152kg.m2 Front axle to C.G. 0.948m Rear axle to C.G. 1.422m Height of C.G. 0.480m Wheel radius 0.281m Tire width 0.145m Tire spring rate 0.2N/m

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Time (s)

the steering input. This is assured by the estimator of reference yaw rate.

Table 5. Principal simulation parameters of vehicle

Target No control Steering based Both

No control Steering based Both

Fig. 16. High friction: *μ* = 0.85; normal speed: *Vx* = 100km/h





Sideslip angle (deg)

0

2

4


0

10

Yaw rate (deg/s)

20

30

40

After tuning the controller by using GAs with mutation rate of 0.1, crossover rate of 0.8, population size of 20, maximal number of generations of 50, and randomly generated initial population, simulations for four cases with different road frictions and speeds were conducted. The simulation results of which are shown in figures from 13 to 16. The first simulation (Fig. 16) focused on high-friction and normal-speed conditions to determine how the performance of a vehicle can be improved in non-critical situations. Next, the vehicle behavior and controller performance were examined for three different critical situations, namely high speed on high-friction surfaces (Fig. 17), high speed on normal-friction surfaces (Fig. 18), and normal speed on very low-friction surfaces (Fig. 19). In each case, three trials were considered: the first, without the ESP controller (dashed lines); the second, with only the steering-based compensated yaw moment enabled (thin solid lines); the third, with both steering-based and sideslip-angle-based compensated yaw moments taken into account (thick solid lines). The target yaw rates (dotted lines) are shown in yaw-rate plots for reference.

Fig. 17. High friction: *μ* = 0.85; high speed: *Vx* = 180km/h

Tuning Fuzzy-Logic Controllers 369

The last simulation case, the results of which are shown in Fig. 19, was for a very lowfriction condition, corresponding to driving on snow-covered or icy surfaces. In this emergency situation, even with the ESP controller, the tracking for critical-steering maneuvering was not really good, the yaw rate drew much closer to the steering target and

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Time (s)

the sideslip angle being kept under the specified range (two degrees).




0

Sideslip angle (deg)

5

10



Target No control Steering based Both

No control Steering based Both

Fig. 19. Low friction: *μ* = 0.2; normal speed: *Vx* = 100km/h

Yaw rate (deg/s)

0

10

20

First, a simulation was done for a highly maneuverable case characterized by high friction and normal speed. The first plot in Fig. 16 indicates that without the ESP controller, the vehicle was already following the steering target fairly well. However, a better result can still be obtained with the ESP system enabled. The second plot shows that the sideslip angle was significantly reduced with the use of the compensated yaw moment.

The second simulation was done for conditions characterized by high friction and high speed, the results of which are shown in Fig. 17. Without the ESP controller, the vehicle went out of control when the steering began to become critical (at 3.2 sec). The ESP controller successfully drove the vehicle following the steering target.

The third simulation was done for a case characterized by medium friction and high speed, the results of which are shown in Fig. 18. Without the ESP controller, the vehicle went out of control even when the steering was non-critical (at 2.2 sec). The ESP controller performed quite well in this case while keeping the vehicle yaw rate almost coincidental with the steering target.

Fig. 18. Medium friction: *μ* = 0.5; high speed: *Vx* = 180km/h

First, a simulation was done for a highly maneuverable case characterized by high friction and normal speed. The first plot in Fig. 16 indicates that without the ESP controller, the vehicle was already following the steering target fairly well. However, a better result can still be obtained with the ESP system enabled. The second plot shows that the sideslip angle

The second simulation was done for conditions characterized by high friction and high speed, the results of which are shown in Fig. 17. Without the ESP controller, the vehicle went out of control when the steering began to become critical (at 3.2 sec). The ESP

The third simulation was done for a case characterized by medium friction and high speed, the results of which are shown in Fig. 18. Without the ESP controller, the vehicle went out of control even when the steering was non-critical (at 2.2 sec). The ESP controller performed quite well in this case while keeping the vehicle yaw rate almost coincidental with the

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Time (s)

was significantly reduced with the use of the compensated yaw moment.

controller successfully drove the vehicle following the steering target.

steering target.



0

5

Sideslip angle (deg)

10

15


Target No control Steering based Both

No control Steering based Both

Fig. 18. Medium friction: *μ* = 0.5; high speed: *Vx* = 180km/h


Yaw rate (deg/s)

0

20

The last simulation case, the results of which are shown in Fig. 19, was for a very lowfriction condition, corresponding to driving on snow-covered or icy surfaces. In this emergency situation, even with the ESP controller, the tracking for critical-steering maneuvering was not really good, the yaw rate drew much closer to the steering target and the sideslip angle being kept under the specified range (two degrees).

Fig. 19. Low friction: *μ* = 0.2; normal speed: *Vx* = 100km/h

Tuning Fuzzy-Logic Controllers 371

Beznos, A.V.; Formal'sky, A.M.; Gurfinkel, E.V.; Jicharev, D.N.; Lensky, A.V.; Savitsky, K.V.

Bosch (1999). *Driving-Safety Systems*, 2nd ed., Stuttgart: Robert Bosch GmbH, Society of

Chen, C.K. & Dao, T.S. (2006). Fuzzy control for equilibrium and roll-angle tracking of an

Chen, C.K. & Dao, T.S. (2007). Genetic fuzzy control for path-tracking of an autonomous

Chen, C.K. & Dao, T.K. (2010). Speed-adaptive roll-angle-tracking control of an unmanned

Haupt, R.L. & Haupt, S.E. (2004). *Practical Genetic Algorithm*, 2nd ed., John Wiley & Sons, Inc. Ikushima, Y. & Sawase, K. (1995). A study on the effects of the active yaw moment control,

Kwak, B. & Park, Y. (2001). Robust vehicle stability controller based on multiple sliding

Nishio, A.; Tozu, K.; Yamaguchi, H.; Asano, K. & Amano, Y. (2001). Development of vehicle

Oraby, W.A.H.; El-Demerdash, S.M.; Selim, A.M.; Faizz, A. & Crolla, D.A. (2004).

Pruckner, A. & Seemann, M. (1997). Analysis of dynamic driving control systems (DDC) on a full vehicle model in ADAMS, Institut fur Kraftfahrwesen Aachen Selby, M.; Manning, W.J.; Brown, M.D. & Crolla, D.A. (2001). A coordination approach for DYC and active front steering, *SAE Transactions*, vol. 110, no. 6, pp. 1411-1417 Sharp, R.S.; Evangelou, S. & Limebeer, D.J.N. (2004). Advances in the modelling of motorcycle dynamics, *Multibody System Dynamics*, Vol. 12, pp. 251-283 Tahami, F.; Kazemi, R. & Farhanghi, S. (2003). Direct yaw control of an all-wheel-drive EV

mode control, *SAE Technical Paper Series*, No. 2001-01-1060

bicycle using fuzzy logic, *Vehicle System Dynamics (Special Issue: Selected Papers from the 22nd International Congress of Theoretical and Applied Mechanics, Adelaide, 24–29* 

unmanned electric bicycle, *Trans. on Control, Automation and Systems Engineering*,

stability control system based on vehicle sideslip angle estimation, *SAE* 

Improvement of vehicle lateral dynamics by active front steering control, *SAE* 

based on fuzzy logic and neural networks, *SAE Technical Paper Series*, No. 2003-01-

Van Zanten, A.T.; Erhardt, R. & Pfaff, G. (1995). VDC, the vehicle dynamics control system

Van Zanten, A.T. (2000). Bosch ESP systems: 5 years of experience, *SAE Transactions*, Vol.

unmanned bicycle, *Multibody System Dynamics*, Vol. 15, pp. 325-350

robotic bicycle, *J. of System Design and Dynamics*, vol. 1, pp. 536-547

*August 2008)*, Vol. 48, pp. 133-147. DOI: 10.1080/00423110903085872 Esmailzadeh, E.; Goodarzi, A. & Vossoughi, G.R. (2003). Optimal yaw moment control law for improved vehicle handling, *Mechatronics*, Vol. 13, No. 7, pp. 659-675 Han, S.; Han, J. & Ham, W. (2001). Control algorithm for stabilization of tilt angle of

Belgium, Vol. 3, pp. 2670-2675

Automotive Engineers

Vol. 3, pp. 176-180

0956

109, No. 7, pp. 428-436

*SAE Technical Paper Series*, No. 950303

*Transactions*, Vol. 110, No. 6, pp. 115-122

*Technical Paper Series*, No. 2004-01-2081

of Bosch, *SAE Technical Paper Series*, No. 950759

& Tchesalin, L.S. (1988). Control of autonomous motion of two-wheel bicycle with gyroscopic stabilisation, *Proc. of IEEE Int. Conf. on Robotics and Automation*, Leuven,

## **5. Conclusion**

In this chapter, an optimization technique was introduced to tune the parameters of PD-like fuzzy-logic controllers. The key point is to parameterize each input and output of a FLC by a scaling factor and a deforming coefficient. In this way, the FLC can be tuned quantitatively by different optimization algorithms, among which the genetic algorithms introduced are a preferable choice. The design of PD-like FLCs is as simple as a PID, as it does not require a mathematic model of the control plant, even a simple one. However, these FLCs gain over PID controllers by the non-linear properties, thus, are widely used in non-linear control problems where plant models are difficult to obtain mathematically.

From the introduced technique, two case studies were presented and discussed. In the first case, a bicycle roll-angle-tracking controller was an attempt to adapt the study of Sharp et al. for motorcycle to control the bicycle, where an FLC was used instead of a PID so that the system non-linearity was better dealt. Simulation results indicated that the bicycle can follow roll-angle commands with small error. In the second case, after the FLCs were optimized, simulations using the ESP system were conducted under different driving conditions. In normal conditions, the controller could still improve the maneuverability to achieve better performance. In high speed conditions, the vehicle was controlled to follow the desired yaw rate with small sideslip angle. In very low friction conditions, although the controller could not control the vehicle back to the normal condition, the yaw rate drew much closer to the steering target and the sideslip angle was kept to be in the specified range. The results indicate that, with the help of proposed ESP control scheme, a vehicle can follow a steering behavior in critical cases while maintaining a small sideslip angle.

The PD-like FLCs can be widely applied in reality due to several advantages. First, the control design is simple, without the need to develop a dynamic model for the control plan. This is because FLC is a model-free control scheme. Second, human experience can be used straightforwardly in the design of the controller. The designer can describe the system behavior with simple IF-THEN rules. All the optimization efforts of control performance are then endorsed by the adjustment process of the fuzzy membership functions. This process has also strengths and weaknesses. While the easily adjustable membership functions give the designers a lot of chance to affect the control performance, there is no general analytical technique. This study is an effort to address this problem by parameterizing the fuzzy membership functions with scaling factors and deforming coefficients, which can be used as control parameters in the optimization. Among many optimization methods, the GA approach introduced in this study is a good choice as it is a general optimization method, which is able to search for the global optimum of knowledge-free problems.

## **6. Acknowledgement**

The work was supported by the National Science Council in Taiwan, Republic of China, under the projects numbered NSC 96-2221-E-212-027 and NSC 97-2221-E-212-007, and by MICA Center, HUST - CNRS/UMI 2954 - Grenoble INP.

## **7. References**

Ackermann, J. (1998). Active steering for better safety, handling and comfort, *Proceedings of Advances in Vehicle Control and Safety*, Amiens, France, pp. 1-10

In this chapter, an optimization technique was introduced to tune the parameters of PD-like fuzzy-logic controllers. The key point is to parameterize each input and output of a FLC by a scaling factor and a deforming coefficient. In this way, the FLC can be tuned quantitatively by different optimization algorithms, among which the genetic algorithms introduced are a preferable choice. The design of PD-like FLCs is as simple as a PID, as it does not require a mathematic model of the control plant, even a simple one. However, these FLCs gain over PID controllers by the non-linear properties, thus, are widely used in non-linear control

From the introduced technique, two case studies were presented and discussed. In the first case, a bicycle roll-angle-tracking controller was an attempt to adapt the study of Sharp et al. for motorcycle to control the bicycle, where an FLC was used instead of a PID so that the system non-linearity was better dealt. Simulation results indicated that the bicycle can follow roll-angle commands with small error. In the second case, after the FLCs were optimized, simulations using the ESP system were conducted under different driving conditions. In normal conditions, the controller could still improve the maneuverability to achieve better performance. In high speed conditions, the vehicle was controlled to follow the desired yaw rate with small sideslip angle. In very low friction conditions, although the controller could not control the vehicle back to the normal condition, the yaw rate drew much closer to the steering target and the sideslip angle was kept to be in the specified range. The results indicate that, with the help of proposed ESP control scheme, a vehicle can

follow a steering behavior in critical cases while maintaining a small sideslip angle.

which is able to search for the global optimum of knowledge-free problems.

MICA Center, HUST - CNRS/UMI 2954 - Grenoble INP.

The PD-like FLCs can be widely applied in reality due to several advantages. First, the control design is simple, without the need to develop a dynamic model for the control plan. This is because FLC is a model-free control scheme. Second, human experience can be used straightforwardly in the design of the controller. The designer can describe the system behavior with simple IF-THEN rules. All the optimization efforts of control performance are then endorsed by the adjustment process of the fuzzy membership functions. This process has also strengths and weaknesses. While the easily adjustable membership functions give the designers a lot of chance to affect the control performance, there is no general analytical technique. This study is an effort to address this problem by parameterizing the fuzzy membership functions with scaling factors and deforming coefficients, which can be used as control parameters in the optimization. Among many optimization methods, the GA approach introduced in this study is a good choice as it is a general optimization method,

The work was supported by the National Science Council in Taiwan, Republic of China, under the projects numbered NSC 96-2221-E-212-027 and NSC 97-2221-E-212-007, and by

Ackermann, J. (1998). Active steering for better safety, handling and comfort, *Proceedings of* 

*Advances in Vehicle Control and Safety*, Amiens, France, pp. 1-10

problems where plant models are difficult to obtain mathematically.

**5. Conclusion** 

**6. Acknowledgement** 

**7. References** 


**1. Introduction**

in the form *<sup>f</sup>*(*x*|<sup>ˆ</sup>

and *<sup>g</sup>*(*x*|<sup>ˆ</sup>

*<sup>θ</sup> <sup>f</sup>*) and *<sup>g</sup>*(*x*|<sup>ˆ</sup>

robustness of the proposed algorithm.

*θg*) to their optimal values *f*(*x*|*θ*<sup>∗</sup>

In recent years the area of control for nonlinear systems has been the subject of many studies (Ghaebi et al., 2011; Toha & Tokhi, 2009; Yang & M., 2001). Computational advances have enabled more complex applications to provide solutions to nonlinear problems (Islam & Liu, 2011; Kaloust et al., 2004). This chapter will present an application of fuzzy estimators in the context of adaptive control theory using computational intelligence (Pan et al., 2009). The method is applicable to a class of nonlinear system governed by state equations of the form *x*˙ = *f*(*x*) + *g*(*x*)*u*, where *f*(*x*) and *g*(*x*) represent the nonlinearities of the states. Some classic control applications can be described by this specific class of nonlinear systems, for example, inverted pendulum, conic vessel, Continuously Stirred Tank Reactor (CSTR), and magnetic levitation system. The direct application of linear control techniques (*e.g.*: PID) may not be efficient for this class of systems. On the other hand, classical linearization methods may lead an adequate performance when the model is accurate, even though normally limited around the point in which the linearization took place (Nauck et al., 2009). However, when model uncertainties are considerable the implementation of the control law becomes difficult or unpractical. In order to deal with model uncertainties an adaptive controller is used (Han, 2005; Tong et al., 2011; 2000; Wang, 1994). The controller implements two basic ideas. First, the technique of exact feedback linearization is used to handle the nonlinearities of the system (Torres et al., 2010). Second, the control law formulation in presence of model uncertainties is made with the estimates of the nonlinear functions *f*(*x*) and *g*(*x*) (Cavalcante et al., 2008; Ying, 1998). The adaptation mechanism is used to adjust the vector of parameters *θ <sup>f</sup>* and *θ<sup>g</sup>* in a singleton fuzzyfier zero-order Takagi-Sugeno-Kang (TSK) structure that provides estimates

**Fuzzy Control: An Adaptive Approach Using** 

*Centro de Capacitação Tecnológica em Automação Industrial (CTAI),* 

Luiz H. S. Torres and Leizer Schnitman

**Fuzzy Estimators and Feedback Linearization** 

*Universidade Federal da Bahia, Rua Aristides Novis, no 02, Escola Politécnica, 2oandar,* 

center average defuzzyfier, and Gaussian membership functions. One of the most important contributions of the adaptive scheme used here is the real convergence of the estimates *<sup>f</sup>*(*x*|<sup>ˆ</sup>

with respect to a reference signal within a compact set (Schnitman, 2001). Convergence properties are investigated using Lyapunov candidate functions. In order to illustrate the methodology, a nonlinear and open-loop unstable magnetic levitation system is used as an example. Experimental tests in a real plant were conducted to check the reliability and

*<sup>f</sup>*) and *g*(*x*|*θ*<sup>∗</sup>

*θg*). The fuzzy logic system is built with a product-inference rule,

*<sup>g</sup>* ) while keeping the tracking error

*θ <sup>f</sup>*)

**18**

*Salvador, Bahia* 

*Brazil* 

Yavin, Y. (1999). Stabilization and control of the motion of an autonomous bicycle by using a rotor for the tilting moment, *Computer Methods in Applied Mechanics and Engineering*, Vol. 178, pp. 233-243

## **Fuzzy Control: An Adaptive Approach Using Fuzzy Estimators and Feedback Linearization**

Luiz H. S. Torres and Leizer Schnitman

*Centro de Capacitação Tecnológica em Automação Industrial (CTAI), Universidade Federal da Bahia, Rua Aristides Novis, no 02, Escola Politécnica, 2oandar, Salvador, Bahia Brazil* 

#### **1. Introduction**

372 Fuzzy Logic – Controls, Concepts, Theories and Applications

Yavin, Y. (1999). Stabilization and control of the motion of an autonomous bicycle by using a

Vol. 178, pp. 233-243

rotor for the tilting moment, *Computer Methods in Applied Mechanics and Engineering*,

In recent years the area of control for nonlinear systems has been the subject of many studies (Ghaebi et al., 2011; Toha & Tokhi, 2009; Yang & M., 2001). Computational advances have enabled more complex applications to provide solutions to nonlinear problems (Islam & Liu, 2011; Kaloust et al., 2004). This chapter will present an application of fuzzy estimators in the context of adaptive control theory using computational intelligence (Pan et al., 2009). The method is applicable to a class of nonlinear system governed by state equations of the form *x*˙ = *f*(*x*) + *g*(*x*)*u*, where *f*(*x*) and *g*(*x*) represent the nonlinearities of the states. Some classic control applications can be described by this specific class of nonlinear systems, for example, inverted pendulum, conic vessel, Continuously Stirred Tank Reactor (CSTR), and magnetic levitation system. The direct application of linear control techniques (*e.g.*: PID) may not be efficient for this class of systems. On the other hand, classical linearization methods may lead an adequate performance when the model is accurate, even though normally limited around the point in which the linearization took place (Nauck et al., 2009). However, when model uncertainties are considerable the implementation of the control law becomes difficult or unpractical. In order to deal with model uncertainties an adaptive controller is used (Han, 2005; Tong et al., 2011; 2000; Wang, 1994). The controller implements two basic ideas. First, the technique of exact feedback linearization is used to handle the nonlinearities of the system (Torres et al., 2010). Second, the control law formulation in presence of model uncertainties is made with the estimates of the nonlinear functions *f*(*x*) and *g*(*x*) (Cavalcante et al., 2008; Ying, 1998). The adaptation mechanism is used to adjust the vector of parameters *θ <sup>f</sup>* and *θ<sup>g</sup>* in a singleton fuzzyfier zero-order Takagi-Sugeno-Kang (TSK) structure that provides estimates in the form *<sup>f</sup>*(*x*|<sup>ˆ</sup> *<sup>θ</sup> <sup>f</sup>*) and *<sup>g</sup>*(*x*|<sup>ˆ</sup> *θg*). The fuzzy logic system is built with a product-inference rule, center average defuzzyfier, and Gaussian membership functions. One of the most important contributions of the adaptive scheme used here is the real convergence of the estimates *<sup>f</sup>*(*x*|<sup>ˆ</sup> *θ <sup>f</sup>*) and *<sup>g</sup>*(*x*|<sup>ˆ</sup> *θg*) to their optimal values *f*(*x*|*θ*<sup>∗</sup> *<sup>f</sup>*) and *g*(*x*|*θ*<sup>∗</sup> *<sup>g</sup>* ) while keeping the tracking error with respect to a reference signal within a compact set (Schnitman, 2001). Convergence properties are investigated using Lyapunov candidate functions. In order to illustrate the methodology, a nonlinear and open-loop unstable magnetic levitation system is used as an example. Experimental tests in a real plant were conducted to check the reliability and robustness of the proposed algorithm.

(a) Inverted pendulum (b) Conic vessel

Fuzzy Control: An Adaptive Approach Using Fuzzy Estimators and Feedback Linearization 375

(c) CSTR reactor (d) Magnetic levitation system

*<sup>g</sup>*(*x*) [−*f*(*x*) + *<sup>D</sup>* (*x*)] (4)

*x*˙ = *Ax* + *BD* (*x*) (5)

*<sup>K</sup>* = [*K*1, ..., *Kn*] <sup>∈</sup> *<sup>R</sup><sup>n</sup>* (6)

assumes that the functions *f*(*x*) and *g*(*x*) are known, then an interesting structure for the

so that *x*˙*<sup>n</sup>* = *D* (*x*), which can be chosen as the desired dynamics for the controlled system.

*<sup>u</sup>* <sup>=</sup> <sup>1</sup>

By substituting Equation (4) in the nonlinear system Equation(1) one gets

Fig. 1. Examples of nonlinear systems

where *D* is to be selected in the design phase.

control law would be

**3.1 Example**

Let a gain vector *K* be

#### **2. A specific structure**

The proposed method is applicable to a specific class of nonlinear system that can be described by state equations of form:

$$\begin{cases} \dot{\mathfrak{x}} = A\mathfrak{x} + B\left[f(\mathfrak{x}) + \mathfrak{g}(\mathfrak{x})u\right] \\ y = \mathbb{C}\mathfrak{x} \end{cases} \tag{1}$$

where,

$$\begin{aligned} &A = \begin{bmatrix} 0 & 1 & 0 & \cdots & 0 \\ 0 & 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & 1 & \\ 0 & 0 & 0 & 0 & 1 \end{bmatrix}\_{n \times n} \\ &B = \begin{bmatrix} 0 & \cdots & 0 & 1 \end{bmatrix}\_{1 \times n}^T \\ &C = \begin{bmatrix} 1 & 0 & \cdots & 0 \end{bmatrix}\_{1 \times n}^T \\ &\text{ $n$  is the dimension of the system} \\ &x \in X \subset \mathbb{R}^n, \text{ are the states of the system} \\ &f(x) \in \mathbb{R}^n \to \mathbb{R} \text{ s.t. } f(x) \text{ is continuous and } f(x) \in \mathcal{U}\_f \subset \mathbb{R}, \forall x \in X \\ &|f(x)| \le f^{\mathcal{U}}, \quad \forall x \in X \\ &g(x) \in \mathbb{R}^n \to \mathbb{R} \text{ s.t. } g(x) \text{ is continuous and } g(x) \in \mathcal{U}\_\mathcal{S} \subset \mathbb{R}, \forall x \in X \\ &0 \le \mathbb{Z} < |g(x)| \le |g(x)| \le \left|\xi^{\mathcal{U}}\right|, \forall x \in X, \text{ for a constant } \zeta > 0 \\ &u \text{ is the control signal} \\ &y \text{ is the output signal} \\ \end{aligned} \tag{2}$$

or, in an equivalent form:

$$\begin{cases} \dot{\mathbf{x}}\_1 = \mathbf{x}\_2 \\ \dot{\mathbf{x}}\_2 = \mathbf{x}\_3 \\ \vdots \\ \dot{\mathbf{x}}\_n = f(\mathbf{x}) + g(\mathbf{x})u \\ y = \mathbf{C}\mathbf{x} = \mathbf{x}\_1 \end{cases} \tag{3}$$

where *X*, *Uf* and *Ug* are compact sets, *sign*(*g*(*x*)) = *sign*(*gL*) = *sign*(*gU*) and *x* = 0 is an interior point of *X*.

#### **2.1 Examples of nonlinear systems**

Once the class of nonlinear systems is defined, it is important to select a plant to highlight the controller properties. As this structure is very common in control applications, some classic systems can be written using Equation (1) format (see below Figure (1)):

#### **3. Control law**

Consider a nonlinear system described by state equations in the form of Equation (1). Let the control objective be to track a reference signal *r*(*t*) ∈ *S* ⊂ �, where *S* is a compact set of possible references which can be supplied to the nonlinear plant.

Exact feedback linearization technique can be used here for exacting cancellation of the nonlinear functions *f*(*x*) and *g*(*x*) (Isidori, 1995; Slotine & Li, 1991; Sontag, 1998). If one

Fig. 1. Examples of nonlinear systems

assumes that the functions *f*(*x*) and *g*(*x*) are known, then an interesting structure for the control law would be

$$u = \frac{1}{g(\mathbf{x})} \left[ -f(\mathbf{x}) + D\left(\mathbf{x}\right) \right] \tag{4}$$

where *D* is to be selected in the design phase.

By substituting Equation (4) in the nonlinear system Equation(1) one gets

$$
\dot{\mathfrak{x}} = A\mathfrak{x} + B D\left(\mathfrak{x}\right) \tag{5}
$$

so that *x*˙*<sup>n</sup>* = *D* (*x*), which can be chosen as the desired dynamics for the controlled system.

#### **3.1 Example**

2 Will-be-set-by-IN-TECH

The proposed method is applicable to a specific class of nonlinear system that can be described

� *x*˙ = *Ax* + *B* [ *f*(*x*) + *g*(*x*)*u*]

*<sup>f</sup>*(*x*) : �*<sup>n</sup>* → � s.t. *<sup>f</sup>*(*x*) is continuous and *<sup>f</sup>*(*x*) <sup>∈</sup> *Uf* ⊂ �, <sup>∀</sup>*<sup>x</sup>* <sup>∈</sup> *<sup>X</sup>*

*<sup>g</sup>*(*x*) : �*<sup>n</sup>* → � s.t. *<sup>g</sup>*(*x*) is continuous and *<sup>g</sup>*(*x*) <sup>∈</sup> *Ug* ⊂ �, <sup>∀</sup>*<sup>x</sup>* <sup>∈</sup> *<sup>X</sup>*

*x*˙*<sup>n</sup>* = *f*(*x*) + *g*(*x*)*u*

where *X*, *Uf* and *Ug* are compact sets, *sign*(*g*(*x*)) = *sign*(*gL*) = *sign*(*gU*) and *x* = 0 is an

Once the class of nonlinear systems is defined, it is important to select a plant to highlight the controller properties. As this structure is very common in control applications, some classic

Consider a nonlinear system described by state equations in the form of Equation (1). Let the control objective be to track a reference signal *r*(*t*) ∈ *S* ⊂ �, where *S* is a compact set of

Exact feedback linearization technique can be used here for exacting cancellation of the nonlinear functions *f*(*x*) and *g*(*x*) (Isidori, 1995; Slotine & Li, 1991; Sontag, 1998). If one

� , ∀*x* ∈ *X*, for a constant *ζ* > 0

�*gU*�

*x*˙1 = *x*<sup>2</sup> *x*˙2 = *x*<sup>3</sup> . . .

*y* = *Cx* = *x*<sup>1</sup>

⎧ ⎪⎪⎪⎨

⎪⎪⎪⎩

systems can be written using Equation (1) format (see below Figure (1)):

possible references which can be supplied to the nonlinear plant.

*<sup>y</sup>* <sup>=</sup> *Cx* (1)

(2)

(3)

**2. A specific structure**

by state equations of form:

*A* =

*B* = �

*C* = �

0 < *ζ* < �

**2.1 Examples of nonlinear systems**

or, in an equivalent form:

interior point of *X*.

**3. Control law**

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

. . . . . . . . . ... . . .

010 ··· 0 001 ··· 0 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ *n*×*n*

1×*n*

*<sup>x</sup>* <sup>∈</sup> *<sup>X</sup>* ⊂ �*n*, are the states of the system

� <sup>≤</sup> <sup>|</sup>*g*(*x*)<sup>|</sup> <sup>≤</sup> �

� 1×*n n* is the dimension of the system

0000 1 0000 0

<sup>0</sup> ··· 0 1 �*<sup>T</sup>*

1 0 ··· 0

<sup>|</sup> *<sup>f</sup>*(*x*)<sup>|</sup> <sup>≤</sup> *<sup>f</sup> <sup>U</sup>*, <sup>∀</sup>*<sup>x</sup>* <sup>∈</sup> *<sup>X</sup>*

�*gL*�

*u* is the control signal *y* is the output signal

where,

Let a gain vector *K* be

$$K = [K\_1, \dots, K\_n] \in \mathbb{R}^n \tag{6}$$

and

is usually called the *weight* of the *j*

Fig. 2. Zero-order TSK fuzzy structure

**4.2 Fuzzy as universal approximators**

to generate the estimates *<sup>f</sup>*(*x*|<sup>ˆ</sup>

parameters.

*Wj*(*x*) ∈ [0, 1] (14)

*<sup>x</sup>*∈*<sup>X</sup>* <sup>|</sup> *<sup>f</sup>*(*x*) <sup>−</sup> *<sup>f</sup>*(*x*|*θ*∗)<sup>|</sup> <sup>&</sup>lt; *<sup>ε</sup>* , <sup>∀</sup>*<sup>x</sup>* (15)

*th* rule. The scheme is shown in Figure (2).

Fuzzy Control: An Adaptive Approach Using Fuzzy Estimators and Feedback Linearization 377

For any given real continuous function *<sup>f</sup>*(*x*) on a compact set *<sup>x</sup>* <sup>∈</sup> *<sup>X</sup>* ⊂ �*<sup>n</sup>* and arbitrary *<sup>ε</sup>* <sup>&</sup>gt; 0,

This work follows the classical work by Wang Wang (1993), Wang (1994) and some of related papers (e.g.: Fischle & Schroder (1999); Gazi & Passino (2000); Lee & Tomizuka (2000); Tong et al. (2000)). Most of these works involve fuzzy estimators in order to approximate nonlinear functions which appear in the model describing the plant. The fuzzy estimates are then used in the control law which may, for instance, be based on the exact feedback linearization techniques. However, it is shown by an example that the convergence of the estimates may not be achieved, even though the system exhibits good reference tracking properties. The new approach proposed in this work is thus aimed at obtaining convergence of the estimates of the

Notice that the control law in Equation (7) can not be implemented because the functions *f*(*x*) and *g*(*x*) are unknown and must be estimated. The idea is to construct fuzzy structures

> *<sup>θ</sup> <sup>f</sup>*) = <sup>ˆ</sup> *θT <sup>f</sup> W*(*x*)

*θg*) = ˆ *θT*

*θg*), where ˆ

*<sup>θ</sup> <sup>f</sup>* and <sup>ˆ</sup>

*θ<sup>g</sup>* are the respective vector of

*<sup>g</sup> <sup>W</sup>*(*x*) (16)

there exists a fuzzy logic system *f*(*x*|*θ*∗) in the form of Equation (12) such that

max

**Remark 3.** *Proof of this theorem is available in (Wang, 1994).*

nonlinear functions which are modelled by fuzzy structures.

In this work, Equation (1) uses the fuzzy structures of form

*<sup>θ</sup> <sup>f</sup>*) and *<sup>g</sup>*(*x*|<sup>ˆ</sup>

*<sup>f</sup>*(*x*|<sup>ˆ</sup>

*<sup>g</sup>*(*x*|<sup>ˆ</sup>

and consider *D* (*x*) = *r* − *Kx*. The proposed control law becomes

$$u = \frac{1}{g(x)} \left[ -f(x) + r - Kx \right] \tag{7}$$

By substituting Equation (7) in the nonlinear system in Equation (1), one gets

$$
\dot{\mathbf{x}} = \left(A - BK\right)\mathbf{x} + B\,\mathbf{r} \tag{8}
$$

which yields a linear dynamic. In this case, the stability can be verified directly by computing the eingevalues of the matrix (*A* − *BK*).

**Conclusion 1.** *Based on Equation (4), a large number of control laws can be suggested. For instance, the control laws used in (Wang, 1994) and (Wang, 1993), as well as the control law proposed in Equation (7) are particular cases of Equation (4).*

**Remark 2.** *Without loss of generality, r* = 0 *is considered for stability analysis and the nominal system is considered to be of the form*

$$
\dot{\mathfrak{x}} = \left(A - BK\right)\mathfrak{x} \tag{9}
$$

#### **4. Mathematical requirements for fuzzy logic control application**

#### **4.1 Fuzzy structure**

Since the fuzzy logic was proposed by L.A. Zadeh (Zadeh, 1965), a lot of different fuzzy inference engines have been suggested. Other researchers have also been used with success in a variety of applications for control of nonlinear systems (e.g.: (Han, 2005; Jang et al., 1997; Lin & Lee, 1995; Nauck et al., 1997; Pan et al., 2009; Predrycz & Gomide, 1999; Tong et al., 2011; Tsoukalas & Uhrig, 1997; Yoneyama & Júnior, 2000)). Based on previous researches (Sugeno & Kang, 1988; Takagi & Sugeno, 1985), which propose the Takagi-Sugeno-Kang fuzzy structure (TSK), this work makes use of a fuzzy logic system with product-inference rule, center average defuzzyfier, and Gaussian membership functions.

Consider singleton fuzzifier and let a fuzzy system be composed by *R* rules, each one of them of the form

$$\text{IF } \mathfrak{x}\_1 \text{ is } A\_1^j \text{ and } \mathfrak{x}\_{\mathfrak{n}} \text{ is } A\_{\mathfrak{n}}^j \text{ THEN } \mathfrak{y} \text{ is } B\_{\mathfrak{j}} \tag{10}$$

where *<sup>x</sup>* <sup>=</sup> [*x*1,..., *xn*] ∈ �*<sup>n</sup>* is the input vector, *Aj* <sup>1</sup>,..., *<sup>A</sup><sup>j</sup> n* / *Bj* are the input/output fuzzy sets related to the *j th* rule (*j* = 1, . . . , *R*), and *y* is the fuzzy output.

Consider *yj* as the point in which *Bj* is maximum (*μBj* (*yj*) = 1) and define *θ* as the vector of parameters of the form

$$\boldsymbol{\theta}^{T} = [\boldsymbol{y}\_{1}, \dots, \boldsymbol{y}\_{R}] \tag{11}$$

Therefore, the fuzzy output can be expressed as

$$y = \theta^T.\mathcal{W}(\mathbf{x})\tag{12}$$

where

$$\begin{array}{l} \mathcal{W}(\mathbf{x}) = \begin{bmatrix} \mathcal{W}\_1(\mathbf{x}), \dots, \mathcal{W}\_R(\mathbf{x}) \end{bmatrix}^T\\ \mathcal{W}\_j(\mathbf{x}) = \frac{\prod\_{k=1}^n \mu\_{A\_k^j}(\mathbf{x}\_k)}{\sum\_{j=1}^R \left( \prod\_{k=1}^n \mu\_{A\_k^j}(\mathbf{x}\_k) \right)}, \quad j = 1 \dots R \end{array} \tag{13}$$

and

4 Will-be-set-by-IN-TECH

which yields a linear dynamic. In this case, the stability can be verified directly by computing

**Conclusion 1.** *Based on Equation (4), a large number of control laws can be suggested. For instance, the control laws used in (Wang, 1994) and (Wang, 1993), as well as the control law proposed in*

**Remark 2.** *Without loss of generality, r* = 0 *is considered for stability analysis and the nominal*

Since the fuzzy logic was proposed by L.A. Zadeh (Zadeh, 1965), a lot of different fuzzy inference engines have been suggested. Other researchers have also been used with success in a variety of applications for control of nonlinear systems (e.g.: (Han, 2005; Jang et al., 1997; Lin & Lee, 1995; Nauck et al., 1997; Pan et al., 2009; Predrycz & Gomide, 1999; Tong et al., 2011; Tsoukalas & Uhrig, 1997; Yoneyama & Júnior, 2000)). Based on previous researches (Sugeno & Kang, 1988; Takagi & Sugeno, 1985), which propose the Takagi-Sugeno-Kang fuzzy structure (TSK), this work makes use of a fuzzy logic system with product-inference rule, center average

Consider singleton fuzzifier and let a fuzzy system be composed by *R* rules, each one of them

 *Aj* <sup>1</sup>,..., *<sup>A</sup><sup>j</sup> n* 

<sup>1</sup> and *xn* is *<sup>A</sup><sup>j</sup>*

*th* rule (*j* = 1, . . . , *R*), and *y* is the fuzzy output.

*W*(*x*) = [*W*1(*x*),..., *WR*(*x*)]

∏*<sup>n</sup> <sup>k</sup>*=<sup>1</sup> *<sup>μ</sup>A<sup>j</sup> k* (*xk* )

∑*R j*=1 ∏*<sup>n</sup> <sup>k</sup>*=<sup>1</sup> *<sup>μ</sup>A<sup>j</sup> k* (*xk* )

*<sup>g</sup>*(*x*) [−*f*(*x*) + *<sup>r</sup>* <sup>−</sup> *Kx*] (7)

*x*˙ = (*A* − *BK*) *x* + *B r* (8)

*x*˙ = (*A* − *BK*) *x* (9)

*<sup>n</sup>* THEN *y* is *Bj* (10)

(*yj*) = 1) and define *θ* as the vector of

, *<sup>j</sup>* <sup>=</sup> 1... *<sup>R</sup>* (13)

*θ<sup>T</sup>* = [*y*1,..., *yR*] (11)

*y* = *θT*.*W*(*x*) (12)

*T*

/ *Bj* are the input/output fuzzy

and consider *D* (*x*) = *r* − *Kx*. The proposed control law becomes

the eingevalues of the matrix (*A* − *BK*).

*system is considered to be of the form*

**4.1 Fuzzy structure**

of the form

where

sets related to the *j*

parameters of the form

*Equation (7) are particular cases of Equation (4).*

defuzzyfier, and Gaussian membership functions.

where *<sup>x</sup>* <sup>=</sup> [*x*1,..., *xn*] ∈ �*<sup>n</sup>* is the input vector,

Therefore, the fuzzy output can be expressed as

Consider *yj* as the point in which *Bj* is maximum (*μBj*

*Wj*(*x*) =

IF *<sup>x</sup>*<sup>1</sup> is *<sup>A</sup><sup>j</sup>*

*<sup>u</sup>* <sup>=</sup> <sup>1</sup>

**4. Mathematical requirements for fuzzy logic control application**

By substituting Equation (7) in the nonlinear system in Equation (1), one gets

$$\mathcal{W}\_{\!\!\!/}(\mathbf{x}) \in \left[0, 1\right] \tag{14}$$

is usually called the *weight* of the *j th* rule. The scheme is shown in Figure (2).

Fig. 2. Zero-order TSK fuzzy structure

#### **4.2 Fuzzy as universal approximators**

For any given real continuous function *<sup>f</sup>*(*x*) on a compact set *<sup>x</sup>* <sup>∈</sup> *<sup>X</sup>* ⊂ �*<sup>n</sup>* and arbitrary *<sup>ε</sup>* <sup>&</sup>gt; 0, there exists a fuzzy logic system *f*(*x*|*θ*∗) in the form of Equation (12) such that

$$\max\_{\mathbf{x}\in\mathcal{X}} |f(\mathbf{x}) - f(\mathbf{x}|\boldsymbol{\theta}^\*)| < \varepsilon \quad , \text{ } \forall \mathbf{x} \tag{15}$$

**Remark 3.** *Proof of this theorem is available in (Wang, 1994).*

This work follows the classical work by Wang Wang (1993), Wang (1994) and some of related papers (e.g.: Fischle & Schroder (1999); Gazi & Passino (2000); Lee & Tomizuka (2000); Tong et al. (2000)). Most of these works involve fuzzy estimators in order to approximate nonlinear functions which appear in the model describing the plant. The fuzzy estimates are then used in the control law which may, for instance, be based on the exact feedback linearization techniques. However, it is shown by an example that the convergence of the estimates may not be achieved, even though the system exhibits good reference tracking properties. The new approach proposed in this work is thus aimed at obtaining convergence of the estimates of the nonlinear functions which are modelled by fuzzy structures.

Notice that the control law in Equation (7) can not be implemented because the functions *f*(*x*) and *g*(*x*) are unknown and must be estimated. The idea is to construct fuzzy structures to generate the estimates *<sup>f</sup>*(*x*|<sup>ˆ</sup> *<sup>θ</sup> <sup>f</sup>*) and *<sup>g</sup>*(*x*|<sup>ˆ</sup> *θg*), where ˆ *<sup>θ</sup> <sup>f</sup>* and <sup>ˆ</sup> *θ<sup>g</sup>* are the respective vector of parameters.

In this work, Equation (1) uses the fuzzy structures of form

$$\begin{cases} f(\boldsymbol{x}|\boldsymbol{\hat{\theta}}\_{f}) = \boldsymbol{\hat{\theta}}\_{f}^{T} \mathcal{W}(\boldsymbol{\hat{\alpha}})\\ g(\boldsymbol{x}|\boldsymbol{\hat{\theta}}\_{\mathcal{S}}) = \boldsymbol{\hat{\theta}}\_{\mathcal{S}}^{T} \mathcal{W}(\boldsymbol{\hat{\alpha}}) \end{cases} \tag{16}$$

which can be rewritten as

*<sup>f</sup>* and *θ*<sup>∗</sup>

*<sup>f</sup>* and *θ*<sup>∗</sup>

not escape a region

**5.2 Estimation errors**

is given by

*B* 

*<sup>g</sup>* one has

where *β* (·, ·) is a class of *KL* function.

Define the estimation error vector by

 *x*, *θ*∗ *<sup>f</sup>* , *θ*<sup>∗</sup> *g* 

where *λ*

values *θ*∗

If *θ*∗

and *λ x*, *θ*∗ *<sup>f</sup>* , *θ*<sup>∗</sup> *g* 

where

*x*˙ = (*A* − *BK*) *x* + *λ*

*g*(*x*|*θ*<sup>∗</sup> *g* ) *f*(*x*|*θ*<sup>∗</sup>

Now, given a *δ* > 0, it is possible to choose *ε<sup>f</sup>* and *ε<sup>g</sup>* in Equation (20) so that for fixed target

Fuzzy Control: An Adaptive Approach Using Fuzzy Estimators and Feedback Linearization 379

(Khalil, 2001) could be applied to estabilish exponential stability. In general, the universal approximation properties of fuzzy structures only guarantees Equation (20) with *ε<sup>f</sup>* ,*ε<sup>g</sup>* > 0. Therefore, one requires Theorem 5.1 in Chapter 5 of (Khalil, 2001) which ensures that *x*(*t*) does

*<sup>g</sup>* corresponded to the situation of exact matching, then *λ*

*<sup>f</sup>*(*x*) <sup>−</sup> *<sup>g</sup>*(*x*) <sup>1</sup>

 *λ x*, *θ*∗ *<sup>f</sup>* , *θ*<sup>∗</sup> *g* 

*e* = *x*∗

 *e*+

*<sup>f</sup>*) <sup>−</sup> *<sup>f</sup>*(*x*|<sup>ˆ</sup>

Subtracting Equation (18) from Equation (21) one gets

*<sup>A</sup>* <sup>−</sup> *<sup>k</sup>TC*

*<sup>A</sup>* <sup>−</sup> *<sup>k</sup>TC*

*<sup>f</sup>*) <sup>−</sup> *<sup>f</sup>*(*x*|<sup>ˆ</sup>

*e*˙ =

+ *B f*(*x*|*θ*<sup>∗</sup>

For the sake of simplicity, introduce the notation

Λ =

*ρ* = *B f*(*x*|*θ*<sup>∗</sup>

where *Qn*×*<sup>n</sup>* is an arbitrary positive definite matrix.

*Pn*×*n*, which satisfies the Lyapunov equation

*<sup>f</sup>* <sup>−</sup> *xf* <sup>=</sup>

*<sup>θ</sup> <sup>f</sup>*) +

*<sup>θ</sup> <sup>f</sup>*) +

Because Λ is a stable matrix, there exists an unique positive definite and symmetric matrix

 *x*, *θ*∗ *<sup>f</sup>* , *θ*<sup>∗</sup> *g* 

*<sup>f</sup>*) + *Kx*

would be a vanishing perturbation so that Lemma 5.1 in Chapter 5 of

*e*<sup>1</sup> *e*<sup>2</sup> ··· *en*

*g*(*x*|*θ*<sup>∗</sup>

*g*(*x*|*θ*<sup>∗</sup>

*<sup>g</sup>* ) <sup>−</sup> *<sup>g</sup>*(*x*|<sup>ˆ</sup>

*<sup>g</sup>* ) <sup>−</sup> *<sup>g</sup>*(*x*|<sup>ˆ</sup>

*θg*) *u*

*e*˙ = Λ*e* + *ρ* (30)

*θg*) *u*

<sup>Λ</sup>*TP* <sup>+</sup> *<sup>P</sup>*<sup>Λ</sup> <sup>=</sup> <sup>−</sup>*<sup>Q</sup>* (32)

<sup>+</sup> *Kx*

�*x*(*t*)� ≤ *β* (*x*(*t*0), *t* − *t*0) (27)

<sup>&</sup>lt; *<sup>δ</sup>* <sup>∀</sup>*<sup>x</sup>* <sup>∈</sup> *<sup>X</sup>* (26)

 0, *θ*∗ *<sup>f</sup>* , *θ*<sup>∗</sup> *g* 

*<sup>T</sup>* (28)

(29)

(31)

(24)

(25)

= 0

where *W*(*x*) is associated with the antecedent part of the rules (see 13). Moreover, the parameters ˆ *<sup>θ</sup> <sup>f</sup>* and <sup>ˆ</sup> *θ<sup>g</sup>* are (see 12) obtained using an adaptation scheme. Thus, the implementable version of the control law in Equation (7) becomes

$$\mu = \frac{1}{g(\mathbf{x}|\hat{\theta}\_{\mathcal{S}})} \left[ -f(\mathbf{x}|\hat{\theta}\_f) + r - \mathbf{K}\mathbf{x} \right] \tag{17}$$

#### **5. The proposed control structure**

A control method is proposed here by introducing equations that are analogous to those of state observers but with *f*(*x*) and *g*(*x*) replaced by corresponding fuzzy approximations

$$\dot{\mathbf{x}}\_f = A\mathbf{x}\_f + \mathcal{B}\left(f(\mathbf{x}|\boldsymbol{\theta}\_f) + \mathbf{g}(\mathbf{x}|\boldsymbol{\theta}\_{\mathcal{S}})\boldsymbol{\mu}\right) + k^T \mathcal{C}\left(\mathbf{x} - \mathbf{x}\_f\right) \tag{18}$$

where *k* is a gain vector of the form

$$k = [k\_1, \ldots, k\_n] \in \mathbb{R}^n \tag{19}$$

**Remark 4.** *From Equation (2), it can be noticed that the pair* (*A*, *C*) *is observable.*

#### **5.1 Target Parameters**

Fuzzy approximators possess universal approximation properties (see, for instance, (Wang, 1994; Ying, 1998; Ying et al., 1997)). Thus, given *ε<sup>f</sup>* ,*ε<sup>g</sup>* > 0 there exist target parameters *θ*<sup>∗</sup> *<sup>f</sup>* and *θ*∗ *<sup>g</sup>* such that

$$\begin{aligned} \left| f(\mathfrak{x}|\theta\_f^\*) - f(\mathfrak{x}) \right| &< \varepsilon\_f \qquad \forall \mathfrak{x} \in \mathcal{X} \\ \left| g(\mathfrak{x}|\theta\_{\mathcal{S}}^\*) - g(\mathfrak{x}) \right| &< \varepsilon\_{\mathcal{S}} \qquad \forall \mathfrak{x} \in \mathcal{X} \end{aligned} \tag{20}$$

where *X* is the input universe of discourse and *ε<sup>f</sup>* ,*ε<sup>g</sup>* > 0 are arbitrary positive constants. Hence, the real system (1) can be approximated by a model based on fuzzy structures up to the required precision by choosing *ε<sup>f</sup>* and *εg*. Let the target fuzzy system be described by

$$\dot{\mathbf{x}}\_f^\* = A\mathbf{x}\_f^\* + B\left(f(\mathbf{x}|\theta\_f^\*) + \mathbf{g}(\mathbf{x}|\theta\_\mathcal{g}^\*)\boldsymbol{\mu}\right) + k^T \mathbb{C}\left(\mathbf{x} - \mathbf{x}\_f^\*\right) \tag{21}$$

If the parameters of the target model were available, then Equation (17) could be used to produce an approximating control law of the form

$$\mu = \frac{1}{g(\mathbf{x}|\theta\_{\mathcal{S}}^{\*})} \left[ -f(\mathbf{x}|\theta\_{f}^{\*}) + r - \mathbf{K}\mathbf{x} \right] \tag{22}$$

In the present approach, *θ*∗ *<sup>f</sup>* and *θ*<sup>∗</sup> *<sup>g</sup>* are replaced by estimates <sup>ˆ</sup> *<sup>θ</sup> <sup>f</sup>* and <sup>ˆ</sup> *θ<sup>g</sup>* obtained by an adaptative scheme. Later, it will be shown that, under appropriate conditions, ˆ *θ <sup>f</sup>* → *θ*<sup>∗</sup> *f* , ˆ *θ<sup>g</sup>* → *θ*<sup>∗</sup> *g*.

In order to establish, initially, the stability properties of the control based on the target model, consider *r* = 0 without loss of generality. Inserting Equation (22) into Equation (1) one obtains that

$$\dot{\mathbf{x}} = A\mathbf{x} + B \left[ f(\mathbf{x}) - \mathbf{g}(\mathbf{x}) \frac{1}{\mathbf{g}(\mathbf{x}|\theta\_{\mathcal{S}}^{\*})} \left[ f(\mathbf{x}|\theta\_{f}^{\*}) + \mathbf{K}\mathbf{x} \right] \right] \tag{23}$$

which can be rewritten as

6 Will-be-set-by-IN-TECH

where *W*(*x*) is associated with the antecedent part of the rules (see 13). Moreover,

A control method is proposed here by introducing equations that are analogous to those of state observers but with *f*(*x*) and *g*(*x*) replaced by corresponding fuzzy approximations

*<sup>θ</sup> <sup>f</sup>*) + *<sup>g</sup>*(*x*|<sup>ˆ</sup>

Fuzzy approximators possess universal approximation properties (see, for instance, (Wang, 1994; Ying, 1998; Ying et al., 1997)). Thus, given *ε<sup>f</sup>* ,*ε<sup>g</sup>* > 0 there exist target parameters *θ*<sup>∗</sup>

> 

 

where *X* is the input universe of discourse and *ε<sup>f</sup>* ,*ε<sup>g</sup>* > 0 are arbitrary positive constants. Hence, the real system (1) can be approximated by a model based on fuzzy structures up to the required precision by choosing *ε<sup>f</sup>* and *εg*. Let the target fuzzy system be described by

*<sup>f</sup>*) + *g*(*x*|*θ*<sup>∗</sup>

If the parameters of the target model were available, then Equation (17) could be used to

−*f*(*x*|*θ*<sup>∗</sup>

In order to establish, initially, the stability properties of the control based on the target model, consider *r* = 0 without loss of generality. Inserting Equation (22) into Equation (1) one obtains

> *g*(*x*|*θ*<sup>∗</sup> *g* ) *f*(*x*|*θ*<sup>∗</sup>

adaptative scheme. Later, it will be shown that, under appropriate conditions, ˆ

*<sup>f</sup>*(*x*) <sup>−</sup> *<sup>g</sup>*(*x*) <sup>1</sup>

*<sup>g</sup>* are replaced by estimates <sup>ˆ</sup>

<sup>&</sup>lt; *<sup>ε</sup><sup>f</sup>* <sup>∀</sup>*<sup>x</sup>* <sup>∈</sup> *<sup>X</sup>*

*<sup>g</sup>* )*u* + *kTC x* − *x*<sup>∗</sup> *f* 

*<sup>f</sup>*) + *r* − *Kx*

*<sup>f</sup>*) + *Kx* 

*θg*)*u* + *kTC x* − *xf* 

*θ<sup>g</sup>* are (see 12) obtained using an adaptation scheme. Thus, the

*<sup>k</sup>* <sup>=</sup> [*k*1, ..., *kn*] <sup>∈</sup> *<sup>R</sup><sup>n</sup>* (19)

<sup>&</sup>lt; *<sup>ε</sup><sup>g</sup>* <sup>∀</sup>*<sup>x</sup>* <sup>∈</sup> *<sup>X</sup>* (20)

*<sup>θ</sup> <sup>f</sup>* and <sup>ˆ</sup>

(17)

(18)

*<sup>f</sup>* and

(21)

(22)

(23)

*θ<sup>g</sup>* obtained by an

*θ <sup>f</sup>* → *θ*<sup>∗</sup> *f* ,

*θ <sup>f</sup>*) + *r* − *Kx*

the parameters ˆ

*<sup>θ</sup> <sup>f</sup>* and <sup>ˆ</sup>

**5. The proposed control structure**

where *k* is a gain vector of the form

**5.1 Target Parameters**

*θ*∗

ˆ *θ<sup>g</sup>* → *θ*<sup>∗</sup> *g*.

that

*<sup>g</sup>* such that

implementable version of the control law in Equation (7) becomes

*x*˙ *<sup>f</sup>* = *Axf* + *B*

 *f*(*x*|*θ*<sup>∗</sup>

 *g*(*x*|*θ*<sup>∗</sup>

*<sup>f</sup>* + *B f*(*x*|*θ*<sup>∗</sup>

*<sup>u</sup>* <sup>=</sup> <sup>1</sup> *g*(*x*|*θ*<sup>∗</sup> *g* ) 

*<sup>f</sup>* and *θ*<sup>∗</sup>

*x*˙ ∗ *<sup>f</sup>* = *Ax*<sup>∗</sup>

In the present approach, *θ*∗

produce an approximating control law of the form

*x*˙ = *Ax* + *B*

*<sup>u</sup>* <sup>=</sup> <sup>1</sup> *<sup>g</sup>*(*x*|<sup>ˆ</sup> *θg*) <sup>−</sup>*f*(*x*|<sup>ˆ</sup>

> *<sup>f</sup>*(*x*|<sup>ˆ</sup>

**Remark 4.** *From Equation (2), it can be noticed that the pair* (*A*, *C*) *is observable.*

*<sup>f</sup>*) − *f*(*x*)

*<sup>g</sup>* ) − *g*(*x*)

$$\dot{\mathbf{x}} = (A - BK)\,\mathbf{x} + \lambda \left(\mathbf{x}, \theta\_{f'}^\* \theta\_{\mathcal{S}}^\*\right) \tag{24}$$

where *λ x*, *θ*∗ *<sup>f</sup>* , *θ*<sup>∗</sup> *g* is given by

$$B\left[f(\mathbf{x}) - g(\mathbf{x})\frac{1}{g(\mathbf{x}|\theta\_{\mathcal{S}}^{\*})}\left[f(\mathbf{x}|\theta\_{f}^{\*}) + \mathbf{K}\mathbf{x}\right] + \mathbf{K}\mathbf{x}\right] \tag{25}$$

Now, given a *δ* > 0, it is possible to choose *ε<sup>f</sup>* and *ε<sup>g</sup>* in Equation (20) so that for fixed target values *θ*∗ *<sup>f</sup>* and *θ*<sup>∗</sup> *<sup>g</sup>* one has

$$\left\|\lambda\left(\mathbf{x},\theta\_{f'}^\*\theta\_{\mathcal{S}}^\*\right)\right\| < \delta \quad \forall \mathbf{x} \in \mathbf{X} \tag{26}$$

If *θ*∗ *<sup>f</sup>* and *θ*<sup>∗</sup> *<sup>g</sup>* corresponded to the situation of exact matching, then *λ* 0, *θ*∗ *<sup>f</sup>* , *θ*<sup>∗</sup> *g* = 0 and *λ x*, *θ*∗ *<sup>f</sup>* , *θ*<sup>∗</sup> *g* would be a vanishing perturbation so that Lemma 5.1 in Chapter 5 of (Khalil, 2001) could be applied to estabilish exponential stability. In general, the universal approximation properties of fuzzy structures only guarantees Equation (20) with *ε<sup>f</sup>* ,*ε<sup>g</sup>* > 0. Therefore, one requires Theorem 5.1 in Chapter 5 of (Khalil, 2001) which ensures that *x*(*t*) does not escape a region

$$\|\|\mathbf{x}(t)\|\| \le \beta \left(\mathbf{x}(t\_0), t - t\_0\right) \tag{27}$$

where *β* (·, ·) is a class of *KL* function.

#### **5.2 Estimation errors**

Define the estimation error vector by

$$e = \mathbf{x}\_f^\* - \mathbf{x}\_f = \begin{bmatrix} e\_1 \ e\_2 \ \cdots \ e\_n \end{bmatrix}^T \tag{28}$$

Subtracting Equation (18) from Equation (21) one gets

$$\begin{aligned} \dot{e} &= \left(A - k^T \mathbb{C}\right) e + \\ &+ B \left[ f(\mathbf{x}|\boldsymbol{\theta}\_f^\*) - f(\mathbf{x}|\boldsymbol{\hat{\theta}}\_f) + \left(\mathbf{g}(\mathbf{x}|\boldsymbol{\theta}\_\mathcal{\boldsymbol{\xi}}^\*) - \mathbf{g}(\mathbf{x}|\boldsymbol{\hat{\theta}}\_\mathcal{\boldsymbol{\xi}})\right) u \right] \end{aligned} \tag{29}$$

For the sake of simplicity, introduce the notation

$$
\dot{e} = \Lambda e + \rho \tag{30}
$$

where

$$\begin{aligned} \Lambda &= \left( A - k^T \mathbb{C} \right) \\ \rho &= \mathcal{B} \left[ f(\mathbf{x}|\theta\_f^\*) - f(\mathbf{x}|\hat{\theta}\_f) + \left( \mathbf{g}(\mathbf{x}|\theta\_\mathcal{g}^\*) - \mathbf{g}(\mathbf{x}|\hat{\theta}\_\mathcal{g}) \right) \boldsymbol{\mu} \right] \end{aligned} \tag{31}$$

Because Λ is a stable matrix, there exists an unique positive definite and symmetric matrix *Pn*×*n*, which satisfies the Lyapunov equation

$$
\Lambda^T P + P\Lambda = -Q \tag{32}
$$

where *Qn*×*<sup>n</sup>* is an arbitrary positive definite matrix.

#### **5.3 Adaptation law and convergence analysis**

The target estimates *θ*∗ *<sup>f</sup>* and *θ*<sup>∗</sup> *<sup>g</sup>* are not known a priori. Therefore, adaptation laws must be provided in order to force ˆ *θ <sup>f</sup>* → *θ*<sup>∗</sup> *f* , ˆ *θ<sup>g</sup>* → *θ*<sup>∗</sup> *<sup>g</sup>* and *e* → 0.

Following (Wang, 1997), adopt as a candidate function in the sense of Lyapunov

$$V = \frac{1}{2}e^T P e + \frac{1}{2\gamma\_f} \phi\_f^T \phi\_f + \frac{1}{2\gamma\_\mathcal{g}} \phi\_\mathcal{g}^T \phi\_\mathcal{g} \tag{33}$$

where

$$\begin{aligned} \phi\_f &= \theta\_f^\* - \hat{\theta}\_f \quad \text{and} \quad \dot{\phi}\_f = -\dot{\theta}\_f\\ \phi\_{\mathcal{S}} &= \theta\_{\mathcal{S}}^\* - \hat{\theta}\_{\mathcal{S}} \quad \text{and} \quad \dot{\phi}\_{\mathcal{S}} = -\hat{\theta}\_{\mathcal{S}} \end{aligned} \tag{34}$$

and *γ<sup>f</sup>* , *γ<sup>g</sup>* are positive constants.

The time-derivative is of the form

$$\dot{V} = \frac{1}{2} \left( \dot{e}^T P e + e^T P \dot{e} \right) - \frac{1}{\gamma\_f} \phi\_f^T \widehat{\theta}\_f - \frac{1}{\gamma\_g} \phi\_g^T \widehat{\theta}\_g \tag{35}$$

and an interesting choice for the adaptation laws are

$$\begin{array}{l}\stackrel{\wedge}{\dot{\theta}}\_{f} = -\gamma\_{f}\,e^{T}PBW(\mathbf{x})\\\stackrel{\wedge}{\dot{\theta}}\_{\mathcal{S}} = -\gamma\_{\mathcal{S}}\,e^{T}PBW(\mathbf{x})\,\mu\end{array} \tag{36}$$

Fig. 3. Magnetic levitation system

force produced by a coil fed with current *i*

with *c* a positive constant, and *d* the position of the disc.

A model for this system is

(39) and (40) one may write

iron mass by adjusting the current in a coil. It is nonlinear and open-loop unstable. Also note

Fuzzy Control: An Adaptive Approach Using Fuzzy Estimators and Feedback Linearization 381

¨*<sup>d</sup>* <sup>=</sup> *gr* <sup>−</sup> *<sup>F</sup>*

where *m* is the mass of the disc, *gr* is the gravitational acceleration and *F* is the electromagnet

*F* = *c i* 2

Denoting by *x*<sup>1</sup> = *d* and *x*<sup>2</sup> = ˙*d* the components of the state vector and combining Equations

*<sup>x</sup>*˙2 <sup>=</sup> *gr* <sup>−</sup> *<sup>c</sup> <sup>i</sup>*

*f*(*x*) = *gr <sup>g</sup>*(*x*) = <sup>−</sup>*<sup>c</sup>* <sup>1</sup>

For simulation results, this work adopted the following values for the model parameters

*m* = 0.12 [*kg*] *gr* = 9.81

*u* = *i* 2

*c* = 0.15

2 *m*.*x*<sup>2</sup> 1

*m*.*x*<sup>2</sup> 1

*Nm*/*A*<sup>2</sup>

*m*/*s*<sup>2</sup>

*<sup>x</sup>*˙1 = *<sup>x</sup>*<sup>2</sup>

Hence, comparison with Equation (1) yields the following association

*<sup>m</sup>* (39)

*<sup>d</sup>*<sup>2</sup> (40)

(41)

(42)

(43)

that the magnetic field is not uniform and the attraction force is nonlinear.

In fact, using the adaptation laws 36 each term of Equation (35) can be rewritten as

$$\begin{cases} \frac{1}{2} \left( \dot{e}^T P e + e^T P \dot{e} \right) = -\frac{1}{2} e^T Q e + e^T P \rho\\ \frac{1}{\gamma\_f} \phi\_f^T \widehat{\theta}\_f = e^T P B \left( f(\mathbf{x}|\theta\_f^\*) - f(\mathbf{x}|\widehat{\theta}\_f) \right) \\\ \frac{1}{\gamma\_\mathcal{S}} \phi\_{\mathcal{S}}^T \widehat{\theta}\_{\mathcal{S}} = e^T P B \left( g(\mathbf{x}|\theta\_{\mathcal{S}}^\*) - g(\mathbf{x}|\widehat{\theta}\_{\mathcal{S}} \right) u \end{cases} \tag{37}$$

and Equation (35) becomes

$$
\dot{V} = -\frac{1}{2}e^T Q e \tag{38}
$$

which is negative semi-definite.

**Conclusion 5.** *A semi-negative definition of Equation (38) guarantees that the error e is bounded. The application of the Barbalat's Lemma yields that e* → 0 *when t* → ∞. *From Equation (28), e* → 0 *implies that xf* → *x*<sup>∗</sup> *<sup>f</sup> and the convergence of the parameter estimates to their respective target values is obtained.*

#### **6. Simulation results**

Considering that a magnetic levitation system is available at the Control Lab of CTAI, it may represent future opportunities for continued researches with hands on experimentation. Hence it is selected as the system which will be used here as an example to illustrate the method. The scheme is presented in Figure (3) and the aim in this problem is to suspend an

#### Fig. 3. Magnetic levitation system

iron mass by adjusting the current in a coil. It is nonlinear and open-loop unstable. Also note that the magnetic field is not uniform and the attraction force is nonlinear.

A model for this system is

8 Will-be-set-by-IN-TECH

*<sup>g</sup>* and *e* → 0.

*<sup>θ</sup> <sup>f</sup>* and *<sup>φ</sup>*˙ *<sup>f</sup>* <sup>=</sup> <sup>−</sup>�˙

*<sup>θ</sup><sup>g</sup>* and *<sup>φ</sup>*˙ *<sup>g</sup>* <sup>=</sup> <sup>−</sup>�˙

1 2*γ<sup>f</sup> φT <sup>f</sup> φ<sup>f</sup>* +

*<sup>g</sup>* are not known a priori. Therefore, adaptation laws must be

*θ f*

*θg*

*<sup>g</sup> φ<sup>g</sup>* (33)

*θ<sup>g</sup>* (35)

(34)

(36)

(37)

1 2*γ<sup>g</sup> φT*

<sup>2</sup> *<sup>e</sup>TQe* <sup>+</sup> *<sup>e</sup>TP<sup>ρ</sup>*

*<sup>f</sup>*) <sup>−</sup> *<sup>f</sup>*(*x*|<sup>ˆ</sup>

*<sup>g</sup>* ) <sup>−</sup> *<sup>g</sup>*(*x*|<sup>ˆ</sup>

*<sup>f</sup> and the convergence of the parameter estimates to their respective target values*

*θ f* �

*θg* � *u*

*eTQe* (38)

**5.3 Adaptation law and convergence analysis**

*<sup>f</sup>* and *θ*<sup>∗</sup>

*θ <sup>f</sup>* → *θ*<sup>∗</sup>

*<sup>V</sup>* <sup>=</sup> <sup>1</sup> 2 *eTPe* +

*f* , ˆ *θ<sup>g</sup>* → *θ*<sup>∗</sup>

*φ<sup>f</sup>* = *θ*<sup>∗</sup>

*φ<sup>g</sup>* = *θ*∗

*<sup>V</sup>*˙ <sup>=</sup> <sup>1</sup> 2 � *e*˙

and an interesting choice for the adaptation laws are

⎧ ⎪⎪⎨ 1 2 � *e*˙

1 *γf φT f* �˙ *θ <sup>f</sup>* = *eTPB*

1 *<sup>γ</sup><sup>g</sup> <sup>φ</sup><sup>T</sup> g* �˙ *θ<sup>g</sup>* = *eTPB*

⎪⎪⎩

Following (Wang, 1997), adopt as a candidate function in the sense of Lyapunov

*<sup>f</sup>* <sup>−</sup> <sup>ˆ</sup>

*<sup>g</sup>* <sup>−</sup> <sup>ˆ</sup>

*TPe* + *eTPe*˙

∧ ˙

∧ ˙

In fact, using the adaptation laws 36 each term of Equation (35) can be rewritten as

*TPe* + *eTPe*˙

� − 1 *γf φT f* �˙ *<sup>θ</sup> <sup>f</sup>* <sup>−</sup> <sup>1</sup> *γg φT g* �˙

*<sup>θ</sup> <sup>f</sup>* <sup>=</sup> <sup>−</sup>*γ<sup>f</sup> <sup>e</sup>TPBW*(*x*)

*<sup>θ</sup>g*<sup>=</sup> <sup>−</sup>*γ<sup>g</sup> <sup>e</sup>TPBW*(*x*)*<sup>u</sup>*

� <sup>=</sup> <sup>−</sup><sup>1</sup>

� *f*(*x*|*θ*<sup>∗</sup>

� *g*(*x*|*θ*<sup>∗</sup>

*<sup>V</sup>*˙ <sup>=</sup> <sup>−</sup><sup>1</sup> 2

**Conclusion 5.** *A semi-negative definition of Equation (38) guarantees that the error e is bounded. The application of the Barbalat's Lemma yields that e* → 0 *when t* → ∞. *From Equation (28), e* → 0

Considering that a magnetic levitation system is available at the Control Lab of CTAI, it may represent future opportunities for continued researches with hands on experimentation. Hence it is selected as the system which will be used here as an example to illustrate the method. The scheme is presented in Figure (3) and the aim in this problem is to suspend an

The target estimates *θ*∗

where

provided in order to force ˆ

and *γ<sup>f</sup>* , *γ<sup>g</sup>* are positive constants. The time-derivative is of the form

and Equation (35) becomes

*implies that xf* → *x*<sup>∗</sup>

**6. Simulation results**

*is obtained.*

which is negative semi-definite.

$$
\vec{d} = \mathbf{g}\_r - \frac{F}{m} \tag{39}
$$

where *m* is the mass of the disc, *gr* is the gravitational acceleration and *F* is the electromagnet force produced by a coil fed with current *i*

$$F = c \frac{\dot{l}^2}{d^2} \tag{40}$$

with *c* a positive constant, and *d* the position of the disc.

Denoting by *x*<sup>1</sup> = *d* and *x*<sup>2</sup> = ˙*d* the components of the state vector and combining Equations (39) and (40) one may write

$$\begin{cases} \dot{\mathfrak{x}}\_1 = \mathfrak{x}\_2\\ \dot{\mathfrak{x}}\_2 = \mathfrak{g}\_r - c \frac{\dot{l}^2}{m \, \mathrm{x}\_1^2} \end{cases} \tag{41}$$

Hence, comparison with Equation (1) yields the following association

$$\begin{cases} f(\mathbf{x}) = \mathbf{g}\_r \\ g(\mathbf{x}) = -c \frac{1}{m\_\ast x\_1^2} \\ \mathbf{u} = i^2 \end{cases} \tag{42}$$

For simulation results, this work adopted the following values for the model parameters

$$\begin{array}{l} c = 0.15 \left[ N m / A^2 \right] \\ m = 0.12 \left[ \text{kg} \right] \\ g\_r = 9.81 \left[ m / s^2 \right] \end{array} \tag{43}$$

In order to compute the target values of *θ*∗

computing the real value of the function *<sup>g</sup>*(*x*|<sup>ˆ</sup>

As for the actual initialization of the vector ˆ

*the sign of g*(*x*|<sup>ˆ</sup>

real *f*(*x*) and *g*(*x*).

*θ*∗ *<sup>g</sup>* = ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

**Remark 7.** *The randomized initialization of θ<sup>g</sup> must satisfy the constraint* �

*θg*) *must be equal to the sign of g*(*x*)*.*

(a) Plant output compared with the case

provides the real convergence of the estimates *<sup>f</sup>*(*x*|<sup>ˆ</sup>

with the electrical current is bounded as shown in Figure (6(a)).

optimal parameters.

Fig. 5. Simulation Results

*<sup>f</sup>*) and *g*(*x*|*θ*<sup>∗</sup>

*f*(*x*|*θ*<sup>∗</sup>

*<sup>g</sup>*, not available in practical situation, but useful

*<sup>m</sup>*(*Xcj*)<sup>2</sup> , *<sup>j</sup>* <sup>=</sup> 1... *<sup>R</sup>* (49)

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

*θ<sup>g</sup>* one can use randomly generated values such as

�*gL*(*x*) � � <sup>≤</sup> � �*g*(*x*|<sup>ˆ</sup> *θg*) � � *and*

(b) Norm of the parameter vector (in the

*θg*) to their optimal values

estimator blocks).

*<sup>θ</sup> <sup>f</sup>*) and *<sup>g</sup>*(*x*|<sup>ˆ</sup>

*<sup>g</sup>* ) while keeping the estimation errors with respect to a reference signal

(50)

in simulation purposes to evaluate the method, note that rules can be generated simply by

Fuzzy Control: An Adaptive Approach Using Fuzzy Estimators and Feedback Linearization 383

*yj* <sup>=</sup> <sup>−</sup> *<sup>c</sup>*

−55.5556 −31.2500 −20.0000 −13.8889 −10.2041 −6.1728 −4.1322 −2.9586 −2.2222 −1.7301

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ *θg*) as

, *θ<sup>g</sup>* =

Let the reference signal *r*(*t*) be a square wave in the range 1.2 to 2.8 . Figures from (5) to (8) present the obtained simulation results. The nominal case corresponds to the situation with

It could be observed in Figure (5(a)) that the reference signal *r*(*t*) was tracked by the plant output. The magnetic disc position (process variable) could be observed in Figure (5(a)) with some oscillations but bounded and stable in steady state. The adaptive scheme used here

within a compact set (according to Figures (8(a)) and (8(b)). The control effort *u* associated

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

9.7945 −2.6561 −5.4837 −0.9627 −13.8067 −7.2837 18.8600 −29.4139 9.8002 −11.9175

The free parameters are chosen as follows:

$$\begin{array}{l} K = \begin{bmatrix} 1 \ 1 \end{bmatrix} \\ k = \begin{bmatrix} 50 \ 100 \end{bmatrix} \\ \gamma\_{\mathcal{S}} = 10^4 \end{array} \tag{44}$$

For the initial condition of the nonlinear system let *d*(0) = *x*1(0) = 1.2 and *x*2(0) = 0. The initial conditions for the fuzzy estimates are zero.

Choosing *Q* as the identity matrix, Equation (32) leads to

$$P = \begin{bmatrix} 1.2550 \ 0.0100 \\ 0.0100 \ 0.0051 \end{bmatrix} \tag{45}$$

From practical inspection of the actual experimental setup, let the range of *d*(*t*) be *Rx*<sup>1</sup> = [0.6, 3.4], which represents the fuzzy input universe of discourse. Also define

$$\log^L(\mathbf{x}) = -\frac{\mathbf{c}}{m \left[ \max(R\mathbf{x}\_1) \right]^2} \tag{46}$$

as the lower bound of *g*(*x*|<sup>ˆ</sup> *θg*) , which also guarantees that *g*(*x*|<sup>ˆ</sup> *θg*) �= 0.

Choosing the vector *Xc* of the centers of the membership functions as given by

$$Xc = \begin{bmatrix} 0.6 \ 0.8 \ 1.0 \ 1.2 \ 1.4 \ 1.8 \ 2.2 \ 2.6 \ 3.0 \ 3.4 \end{bmatrix}^T \tag{47}$$

one gets membership functions for the sets *A<sup>j</sup>* as shown in Figure (4).

Fig. 4. Membership functions

**Remark 6.** *This fuzzy input universe of discourse is desired in this application since the magnetic force increases with second power of d (situation that may put in risk the controller in experimental tests).*

For each *<sup>t</sup>* ∈ � and fuzzy set *<sup>A</sup><sup>j</sup>* , define a single rule of the form

$$\text{IF } d(t) \text{ is } A^j \text{ THEN } y \text{ is } y\_j \qquad j = 1 \dots R \tag{48}$$

where *R* = length(*Xc*).

In order to compute the target values of *θ*∗ *<sup>g</sup>*, not available in practical situation, but useful in simulation purposes to evaluate the method, note that rules can be generated simply by computing the real value of the function *<sup>g</sup>*(*x*|<sup>ˆ</sup> *θg*) as

$$y\_j = -\frac{c}{m(\mathcal{X}c\_j)^2}, \quad j = 1 \ldots R \tag{49}$$

As for the actual initialization of the vector ˆ *θ<sup>g</sup>* one can use randomly generated values such as

$$
\begin{aligned}
\begin{bmatrix}
\end{bmatrix}, \quad \theta\_{\mathcal{S}} = \begin{bmatrix}
9.7945 \\
18.8600 \\
9.8002 \\
\end{bmatrix}
\end{aligned}
\tag{50}
$$

**Remark 7.** *The randomized initialization of θ<sup>g</sup> must satisfy the constraint* � �*gL*(*x*) � � <sup>≤</sup> � �*g*(*x*|<sup>ˆ</sup> *θg*) � � *and the sign of g*(*x*|<sup>ˆ</sup> *θg*) *must be equal to the sign of g*(*x*)*.*

Let the reference signal *r*(*t*) be a square wave in the range 1.2 to 2.8 . Figures from (5) to (8) present the obtained simulation results. The nominal case corresponds to the situation with real *f*(*x*) and *g*(*x*).

(a) Plant output compared with the case optimal parameters.

#### Fig. 5. Simulation Results

10 Will-be-set-by-IN-TECH

1 1

50 100

1.2550 0.0100 0.0100 0.0051

*m* [max(*Rx*1)]

From practical inspection of the actual experimental setup, let the range of *d*(*t*) be *Rx*<sup>1</sup> =

*<sup>g</sup>L*(*x*) = <sup>−</sup> *<sup>c</sup>*

, which also guarantees that

**Remark 6.** *This fuzzy input universe of discourse is desired in this application since the magnetic force increases with second power of d (situation that may put in risk the controller in experimental*

, define a single rule of the form

IF *d*(*t*) is *A<sup>j</sup>* THEN *y* is *yj j* = 1... *R* (48)

*g*(*x*|<sup>ˆ</sup> *θg*) �= 0.

0.6 0.8 1.0 1.2 1.4 1.8 2.2 2.6 3.0 3.4 *<sup>T</sup>* (47)

(44)

(45)

<sup>2</sup> (46)

*K* =

*k* =

*P* = 

[0.6, 3.4], which represents the fuzzy input universe of discourse. Also define

Choosing the vector *Xc* of the centers of the membership functions as given by

one gets membership functions for the sets *A<sup>j</sup>* as shown in Figure (4).

*γ<sup>g</sup>* = 104

For the initial condition of the nonlinear system let *d*(0) = *x*1(0) = 1.2 and *x*2(0) = 0. The

The free parameters are chosen as follows:

initial conditions for the fuzzy estimates are zero.

*g*(*x*|<sup>ˆ</sup> *θg*) 

*Xc* =

as the lower bound of

Fig. 4. Membership functions

For each *<sup>t</sup>* ∈ � and fuzzy set *<sup>A</sup><sup>j</sup>*

where *R* = length(*Xc*).

*tests).*

Choosing *Q* as the identity matrix, Equation (32) leads to

It could be observed in Figure (5(a)) that the reference signal *r*(*t*) was tracked by the plant output. The magnetic disc position (process variable) could be observed in Figure (5(a)) with some oscillations but bounded and stable in steady state. The adaptive scheme used here provides the real convergence of the estimates *<sup>f</sup>*(*x*|<sup>ˆ</sup> *<sup>θ</sup> <sup>f</sup>*) and *<sup>g</sup>*(*x*|<sup>ˆ</sup> *θg*) to their optimal values *f*(*x*|*θ*<sup>∗</sup> *<sup>f</sup>*) and *g*(*x*|*θ*<sup>∗</sup> *<sup>g</sup>* ) while keeping the estimation errors with respect to a reference signal within a compact set (according to Figures (8(a)) and (8(b)). The control effort *u* associated with the electrical current is bounded as shown in Figure (6(a)).

in Equation (4) where the knowledge of *f*(*x*) and *g*(*x*) are considered.

The magnetic levitation test bed supplied by ECP Model 730 (see (ECP, 1999)) which is used

Fuzzy Control: An Adaptive Approach Using Fuzzy Estimators and Feedback Linearization 385

Fig. 9. Practical setup of magnetic levitation system ECP Model 730 ECP (1999)

The plant shown in Figure (10), consists of upper and lower coils that produce a magnetic field in response to a DC current. One or two magnets travel along a precision ground glass guide rod. By energizing the lower coil, a single magnet is levitated through a repulsive magnetic force. As the current in the coil increases, the field strength increases and the levitated magnet height is increased. For the upper coil, the levitating force is attractive. Two magnets may be controlled simultaneously by stacking them on the glass rod. The magnets are of an ultra-high field strength rare earth (NeBFe) type and are designed to provide large levitated displacements to clearly demonstrate the principle of levitation and motion control. Two laser-based sensors measure the magnet positions. The lower sensor is typically used to measure a given position of the magnet in proximity to the lower coil, and the upper one for proximity to the upper coil. This proprietary ECP sensor design utilizes light amplitude measurement and includes special circuitry to desensitize the signal to stray ambient light and

The Magnetic Levitation setup apparatus dramatically demonstrates closed loop levitation of permanent and ferro-magnetic elements. The apparatus includes laser feedback and high flux magnetics to affect large displacements and provide visually stimulating tracking and regulation demonstrations. The system is quickly set up in the open loop stable and unstable (repulsive and attractive fields) configurations as shown in Figures (9) and (10). By adding a second magnet, two SIMO plants may be created, and by driving both actuators with both magnets, MIMO control is studied. The field interaction between the two magnets causes strong cross coupling and thus produces a true multi-variable system. The inherent magnetic field nonlinearities may be inverted via provided real-time algorithms for linear

control implementation or the full system dynamics may be studied.

**7. Experimental tests**

**7.1 Magnetic levitation**

thermal fluctuations.

for these experiment tests is shown in Figure (9).

(a) Control signal. (b) Function estimates of the nonlinear function *g*(*x*) in the model.

(b) Component *x*<sup>2</sup> of the state and fuzzy state estimation (X2f).

Fig. 6. Simulation Results

(a) Component *x*<sup>1</sup> of the state and fuzzy state estimation (X1f).

Fig. 8. Simulation Results

It is worth noticing in Figures (6(b)), (7(a)) and (7(b)) that the function estimates converge to their real values and, in turn, they force the system to reproduce the nominal case as proposed in Equation (4) where the knowledge of *f*(*x*) and *g*(*x*) are considered.

## **7. Experimental tests**

12 Will-be-set-by-IN-TECH

(a) Control signal. (b) Function estimates of the nonlinear

Fig. 6. Simulation Results

(a) Component *x*<sup>1</sup> of the state and fuzzy

state estimation (X1f).

Fig. 7. Simulation Results

Fig. 8. Simulation Results

function *g*(*x*) in the model.

(b) Component *x*<sup>2</sup> of the state and fuzzy

state estimation (X2f).

(a) Estimation error for *g*(*x*). (b) State estimation errors (*x*<sup>1</sup> and *x*2)

It is worth noticing in Figures (6(b)), (7(a)) and (7(b)) that the function estimates converge to their real values and, in turn, they force the system to reproduce the nominal case as proposed

### **7.1 Magnetic levitation**

The magnetic levitation test bed supplied by ECP Model 730 (see (ECP, 1999)) which is used for these experiment tests is shown in Figure (9).

Fig. 9. Practical setup of magnetic levitation system ECP Model 730 ECP (1999)

The plant shown in Figure (10), consists of upper and lower coils that produce a magnetic field in response to a DC current. One or two magnets travel along a precision ground glass guide rod. By energizing the lower coil, a single magnet is levitated through a repulsive magnetic force. As the current in the coil increases, the field strength increases and the levitated magnet height is increased. For the upper coil, the levitating force is attractive. Two magnets may be controlled simultaneously by stacking them on the glass rod. The magnets are of an ultra-high field strength rare earth (NeBFe) type and are designed to provide large levitated displacements to clearly demonstrate the principle of levitation and motion control. Two laser-based sensors measure the magnet positions. The lower sensor is typically used to measure a given position of the magnet in proximity to the lower coil, and the upper one for proximity to the upper coil. This proprietary ECP sensor design utilizes light amplitude measurement and includes special circuitry to desensitize the signal to stray ambient light and thermal fluctuations.

The Magnetic Levitation setup apparatus dramatically demonstrates closed loop levitation of permanent and ferro-magnetic elements. The apparatus includes laser feedback and high flux magnetics to affect large displacements and provide visually stimulating tracking and regulation demonstrations. The system is quickly set up in the open loop stable and unstable (repulsive and attractive fields) configurations as shown in Figures (9) and (10). By adding a second magnet, two SIMO plants may be created, and by driving both actuators with both magnets, MIMO control is studied. The field interaction between the two magnets causes strong cross coupling and thus produces a true multi-variable system. The inherent magnetic field nonlinearities may be inverted via provided real-time algorithms for linear control implementation or the full system dynamics may be studied.

1. Linearization of the sensor (see (ECP, 1999, p. 81)) with the following values:

Fuzzy Controller" block;

time;

(ECP, 1999)):

Fig. 12. The simulation block diagram used for RTWT

*e* = 115720000; *f* = 7208826; *g* = 30540; *h* = 0.2411.

Fuzzy Control: An Adaptive Approach Using Fuzzy Estimators and Feedback Linearization 387

2. Nonlinear compensation of the actuator (see (ECP, 1999, p. 81)) with the following values:

3. Construct the design control system in Simulink environment as shown in Figure (12) along with reference command signal. Figure (13) shows the inside view of "Adaptive

4. Build and execute the real time model using Real Time Windows Target(RTWT), to convert the control algorithm in C++ code. Download this code onto the DSP via RTWT;

5. Start the real-time implementation from within RTWT environment for desired length of

For experimental tests, this work adopted the following values for the plant parameters (see

*Nm*/*A*<sup>2</sup>

*m*/*s*<sup>2</sup>

6. After the experiment is over, make the appropriate conversions and plot the data.

*c* = 0.15

*m* = 0.12 [*kg*] *gr* = 9.81

*a* = 1.0510−4;

*<sup>b</sup>* <sup>=</sup> 6.2. (52)

(51)

(53)

Fig. 10. Side and front view of magnetic levitation system ECP (1999)

The complete experimental setup is comprised of the three subsystems as shown in Figure (11) (from right to left):

Fig. 11. Block diagram of experimental control system


#### **7.2 Experimental method**

Following some related works with using the ECP Model 730 (Nataraj & Mukesh, 2008; 2010), the steps followed to carry out the experiment are as follows:

14 Will-be-set-by-IN-TECH

The complete experimental setup is comprised of the three subsystems as shown in Figure

1. The first subsystem is the Magnetic Levitation system itself (described above) which

2. The next subsystem is the real-time controller unit that contains the Digital Signal Processor (DSP) based real-time controller, servo/actuator interfaces, servo amplifiers, and auxiliary power supplies. The DSP is capable of executing control laws at high sampling rates allowing the implementation to be modeled as continuous or discrete time systems. The controller also interprets trajectory commands and supports such functions as data

3. The third subsystem is the executive program which runs on a PC under the Windows operating system. This menu-driven program is the user's interface to the system and supports controller specification, trajectory definition, data acquisition, plotting, system execution commands, and more. Controllers may assume a broad range of selectable block diagram topologies and dynamic order. The interface supports an assortment of features which provide a friendly yet powerful experimental environment. Real-time implementation of the controllers is also possible using the Real Time Windows Target

Following some related works with using the ECP Model 730 (Nataraj & Mukesh, 2008; 2010),

consists of the electromagnetic coils, magnets, high resolution encoders.

acquisition, trajectory generation, and system health and safety checks.

the steps followed to carry out the experiment are as follows:

Fig. 10. Side and front view of magnetic levitation system ECP (1999)

Fig. 11. Block diagram of experimental control system

(11) (from right to left):

(RTWT).

**7.2 Experimental method**

1. Linearization of the sensor (see (ECP, 1999, p. 81)) with the following values:

$$\begin{array}{l} e = 115720000; \\ f = 7208826; \\ g = 30540; \\ h = 0.2411. \end{array} \tag{51}$$

2. Nonlinear compensation of the actuator (see (ECP, 1999, p. 81)) with the following values:

$$\begin{array}{l} a = 1.0510^{-4}; \\ b = 6.2. \end{array} \tag{52}$$

3. Construct the design control system in Simulink environment as shown in Figure (12) along with reference command signal. Figure (13) shows the inside view of "Adaptive Fuzzy Controller" block;

Fig. 12. The simulation block diagram used for RTWT


For experimental tests, this work adopted the following values for the plant parameters (see (ECP, 1999)):

$$\begin{cases} c = 0.15 \left[ N m / A^2 \right] \\ m = 0.12 \left[ \text{kg} \right] \\ \text{g}\_I = 9.81 \left[ m / s^2 \right] \end{cases} \tag{53}$$

Fig. 15. Tracking Error

**8. Conclusions**

Fig. 16. Control effort required to levitate the magnet

optimal values which may be arbitrarily close to the true values.

The adaptive control scheme presented in this work considers the difference between the nonlinear system and an associated dynamic system using fuzzy estimates. The model of the associated dynamics is analogous to that of state observers but using fuzzy structures to estimate the nonlinear functions. If optimal parameters are considered, then the stability may be investigated using a classical method of perturbed system. Thus, since adequate fuzzy structures are used stability is assured when optimal parameters are considered. A Lyapunov function is then used in order to show the convergence of the estimates to their respective optimal values. Hence, when the fuzzy structures are carefully chosen, the estimates approach

Fuzzy Control: An Adaptive Approach Using Fuzzy Estimators and Feedback Linearization 389

In some previous work, successful results have been attributed to nonlinear approximators such as fuzzy or neural blocks. However, the proof of the estimates convergence had not been presented. Moreover, the adaptation law does not force the convergence of the estimates. In these previous results, the robustness of the tracking error is reached as a consequence of the application of the tracking control theory. It keeps the error in a compact set without requiring the convergence of the estimates to their real values. It is important to mention that the real convergence of the estimates represents the most significant contribution of this work. The error analysis is analogous to the previous work, but a new scheme for the adaptive fuzzy control was proposed. Differently from previous research, the adaptation laws force the

Fig. 13. Adaptive fuzzy controller

#### **7.3 Experimental results**

The adaptive fuzzy control system proposed in Section 5 is now implemented real time and experimentally tested for its performance. Initially, the magnet is brought to equilibrium position of 2*cm* as plant is linearized to 2*cm*. The upper coil (attractive force) was used with one magnet. Therefore, an open-loop unstable SISO system was implemented and tested with the designed controller. Now the reference signal is applied.

The response of the closed loop system for a given reference command signal is shown in Figure (14). The experimental results show that a reference input signal was tracked by the controller output signal while keeping the tracking error with respect to a reference signal within a compact set (Figure (15). The required control effort is low, with a peak of 6.5 volts (see Figure (16)).

Fig. 14. Step response of closed loop system

Fig. 15. Tracking Error

16 Will-be-set-by-IN-TECH

The adaptive fuzzy control system proposed in Section 5 is now implemented real time and experimentally tested for its performance. Initially, the magnet is brought to equilibrium position of 2*cm* as plant is linearized to 2*cm*. The upper coil (attractive force) was used with one magnet. Therefore, an open-loop unstable SISO system was implemented and tested with

The response of the closed loop system for a given reference command signal is shown in Figure (14). The experimental results show that a reference input signal was tracked by the controller output signal while keeping the tracking error with respect to a reference signal within a compact set (Figure (15). The required control effort is low, with a peak of 6.5 volts

Fig. 13. Adaptive fuzzy controller

the designed controller. Now the reference signal is applied.

Fig. 14. Step response of closed loop system

**7.3 Experimental results**

(see Figure (16)).

Fig. 16. Control effort required to levitate the magnet

#### **8. Conclusions**

The adaptive control scheme presented in this work considers the difference between the nonlinear system and an associated dynamic system using fuzzy estimates. The model of the associated dynamics is analogous to that of state observers but using fuzzy structures to estimate the nonlinear functions. If optimal parameters are considered, then the stability may be investigated using a classical method of perturbed system. Thus, since adequate fuzzy structures are used stability is assured when optimal parameters are considered. A Lyapunov function is then used in order to show the convergence of the estimates to their respective optimal values. Hence, when the fuzzy structures are carefully chosen, the estimates approach optimal values which may be arbitrarily close to the true values.

In some previous work, successful results have been attributed to nonlinear approximators such as fuzzy or neural blocks. However, the proof of the estimates convergence had not been presented. Moreover, the adaptation law does not force the convergence of the estimates. In these previous results, the robustness of the tracking error is reached as a consequence of the application of the tracking control theory. It keeps the error in a compact set without requiring the convergence of the estimates to their real values. It is important to mention that the real convergence of the estimates represents the most significant contribution of this work. The error analysis is analogous to the previous work, but a new scheme for the adaptive fuzzy control was proposed. Differently from previous research, the adaptation laws force the

Khalil, H. K. (2001). *Nonlinear Systems*, 3rd edn, Prentice Hall.

*Systems*, Prentice Hall.

10.1109/INDCON.2008.4768751.

10.1109/ICRESH.2010.5779608.

edn, Springer. ISBN 0-387-984895.

*Neurocomputing*. ISSN: 09252312.

*Systems* 1(2): 146–155.

ISBN-13: 978-0136156734.

Press.

28: 15–33.

pp. 107–111.

Lee, H. & Tomizuka, T. (2000). Robust adaptive control using a universal approximator for

Fuzzy Control: An Adaptive Approach Using Fuzzy Estimators and Feedback Linearization 391

Lin, C.-T. & Lee, C. S. G. (1995). *Neural Fuzzy Systems: A Neuro-Fuzzy Synergism to Intelligent*

Nataraj, P. S. V. & Mukesh, D. P. (2008). Robust control design for nonlinear magnetic

Nataraj, P. S. V. & Mukesh, D. P. (2010). Nonlinear control of a magnetic levitation system

Nauck, D., Klawonn, F. & Kruse, R. (1997). *Foundations of Neuro-Fuzzy Systems*, John Wiley. Nauck, D., Klawonn, F. & Kruse, R. (2009). *Modern Control Engineering*, 5th edn, Prentice Hall.

Pan, Y., Huang, D. & Sun, Z. (2009). Indirect adaptive fuzzy control with approximation

*Intelligent Computing Technology and Automation, ICICTA 2009*, pp. 748–751. Predrycz, W. & Gomide, F. A. C. (1999). *An Introduction to Fuzzy Sets Analysis and Design*, MIT

Schnitman, L. (2001). *Intelligente controller for dynamic sustems with state and input constraints and*

Sontag, E. D. (1998). *Mathematical Control Theory: Deterministic Finite Dimensional Systems*, 2nd

Sugeno, M. & Kang, G. (1988). Structure identification of fuzzy model, *Fuzzy Sets and Systems*

Takagi, T. & Sugeno, M. (1985). Fuzzy identification on systems and its applications to modeling and control, *IEEE Trans. on Systems, Man, and Cybern.* 15(2): 116–132. Toha, S. F. & Tokhi, M. O. (2009). Dynamic nonlinear inverse-model based control of a twin

Tong, S., Liu, C. & Li, Y. (2011). Adaptive fuzzy backstepping output feedback control

Tong, S., Wang, T. & Tang, J. T. (2000). Fuzzy adaptive output tracking control of nonlinear systems, *Fuzzy Sets and Systems* 15(3): 674–692. doi: 10.1109/TNN.2004.826130. Torres, L. H. S., Vasconcelos Júnior, C. A. V., Schnitman, L. & Felippe de Souza, J. A. M. (2010).

Tsoukalas, L. H. & Uhrig, R. E. (1997). *Fuzzy and Neural Approaches in Engineering*, John Wiley. Wang, L.-X. (1993). Stable adaptive fuzzy control of nonlinear systems, *IEEE Trans. on Fuzzy*

system, *Proceedings of Latin American Control Conference, LACC 2010*.

Wang, L.-X. (1994). *Adaptive Fuzzy Systems and Control*, Prentice Hall. Wang, L.-X. (1997). *A Course in Fuzzy Systems and Control*, Prentice Hall.

Slotine, J.-J. E. & Li, W. (1991). *Applied Nonlinear Control*, Prentice Hall.

levitation system using quantitative feedback theory (qft), *Proceedings of Annual IEEE India Conference, INDICON 2008*, Bombay, India, pp. 365–370. d.o.i:

using quantitative feedback theory (qft), *Proceedings of 2nd International Conference on Reliability, Safety and Hazard - ICRESH-201O*, Mumbai, India, pp. 542–547. d.o.i:

error estimator for nonlinear systems, *Proceedings of 2nd International Conference on*

*subjected to model uncertainties*, PhD thesis, ITA - Instituto Tecnológico da Aeronáutica.

rotor system using adaptive neuro-fuzzy inference system, *Proceedings of EMS 2009 - UKSim 3rd European Modelling Symposium on Computer Modelling and Simulation*,

for strict feedback nonlinear systems with unknown sign of high-frequency gain,

Feedback linearization and model reference adaptive control of a magnetic levitation

siso nonlinear systems, *IEEE Trans. on Fuzzy Systems* 8: 95âA ¸ ˘ S106.

convergence of the function estimates. Moreover, although the tracking error is not considered to be of primary concern, it is obtained as a consequence of the proposed control law when the convergence of the estimates is attained.

The proposed adaptive controller is tested on ECP Model 730 Magnetic Levitation setup through Real Time Windows Target (RTWT). It has been successfully applied to experimental Magnetic Levitation setup and desired reference tracking properties are also achieved. Therefore, the experimental tests show the reliability and robustness of the proposed algorithm.

#### **9. Future contributions**

One of the most important contributions of this work is a new approach for designing of adaptive control techniques based on intelligent estimators which may be either fuzzy or neural. The continuation of this research may lead to:


### **10. Acknowledgement**

The authors wish to acknowledge the support with facilities and infrastructure from CTAI at Universidade Federal da Bahia and CAPES for the financial support.

#### **11. References**


Khalil, H. K. (2001). *Nonlinear Systems*, 3rd edn, Prentice Hall.

18 Will-be-set-by-IN-TECH

convergence of the function estimates. Moreover, although the tracking error is not considered to be of primary concern, it is obtained as a consequence of the proposed control law when

The proposed adaptive controller is tested on ECP Model 730 Magnetic Levitation setup through Real Time Windows Target (RTWT). It has been successfully applied to experimental Magnetic Levitation setup and desired reference tracking properties are also achieved. Therefore, the experimental tests show the reliability and robustness of the proposed

One of the most important contributions of this work is a new approach for designing of adaptive control techniques based on intelligent estimators which may be either fuzzy or

b. The application of the proposed method with artificial neural networks as estimators; c. The generalization of the obtained results for a larger class of nonlinear systems;

The authors wish to acknowledge the support with facilities and infrastructure from CTAI at

Cavalcante, M. D., Costa, A. C. P. L. d. & Schnitman, L. (2008). An intelligent adaptive

Fischle, K. & Schroder, D. (1999). An improved stable adaptive fuzzy control method, *IEEE*

Gazi, V. & Passino, K. M. (2000). Direct adaptive control using dynamic structure fuzzy systems, *Proceedings of American Control Conference*, Vol. 3, pp. 1954–1958. Ghaebi, P. P., Ataei, M. & Shafiei, A. (2011). An adaptive fuzzy sliding mode control

Han, H. (2005). Adaptive fuzzy controller for a class of nonlinear systems, *International Journal*

Kaloust, J., Ham, C., Siehling, J., Jongekryg, E. & Han, Q. (2004). Nonlinear robust control

design for levitation and propulsion of a maglev system, *IEE Proc.-Control Theory*

Isidori, A. (1995). *Nonlinear Control Systems*, 3rd edn, Springerl. ISBN-13: 978-1852331887. Islam, S. & Liu, P. X. (2011). Robust adaptive fuzzy output feedback control system for robot manipulators, *IEEE/ASME Transactions on Mechatronics* 16(2): 288–296. Jang, J.-S. R., Sun, C.-T. & Mizutani, E. (1997). Neuro-fuzzy and soft computing, *âA´ ˘ c*, Prentice

of a permanent magnet linear synchronous motor for an inimical command velocity profile, *Proceedings of IEEE International Conference on System Engineering and*

controller, *Proceedings of 5th Latin American Robotics Symposium*. ECP (1999). *Educational Control Products - Manual for Model 730*, California, USA.

*of Innovative Computing, Information and Control* 1(2): 727–742.

the convergence of the estimates is attained.

neural. The continuation of this research may lead to:

*Trans. on Fuzzy Systems* 7: 27–40.

*Technology, ICSET*, pp. 41–46.

*Appl.* 151(4). doi: 10.1049/ip-cta:20040547.

a. The analysis of the proposed method in other nonlinear systems;

d. Analysis of the proposed method in other practical applications.

Universidade Federal da Bahia and CAPES for the financial support.

algorithm.

**9. Future contributions**

**10. Acknowledgement**

**11. References**

Hall.


**19** 

Aykut Kentli

*Turkey* 

*Marmara University Engineering Faculty, Mechanical Engineering Department,* 

**Survey on Design of Truss Structures by Using Fuzzy Optimization Methods** 

This study aims to reveal the studies on design optimization of trusses using fuzzy logic. In literature there are many surveys on truss optimization or on fuzzy logic, but, none of them is focused on fuzzy design optimization of truss. We believe that this study will help the researcher willing to study on this area by drawing a framework of the studies and by

Firstly, a brief information fuzzy logic and optimization will be given. Then, studies will be classified under the topics related with the type of optimization problem and used method. In each topic, application area of fuzzy logic and main difference of the study will be explained. Classifications will also be shown as tables to show the overall picture. Lack of

Fuzzy sets are generalized sets introduced by Professor Zadeh as a mathematical way to represent and deal with vagueness in everyday life (Zadeh, 1965). Indeed, Zadeh informally states what he calls the principle of incompatibility: "As the complexity of a system increases, our ability to make precise and yet significant statements about its behavior diminishes until a threshold is reached beyond which precision and significance (or

Fuzzy logic is a superset of conventional (Boolean) logic that has been extended to handle the concept of partial truth – the truth values between "completely true" and "completely false". A type of logic that recognizes more than simple true and false values. With fuzzy logic, propositions can be represented with degrees of the truthfulness and falsehood. For example, the statement, today is sunny, might be 100% true if there are no clouds, 80% true

Even though fuzzy sets were introduced in their modern form by Zadeh (1965), the idea of a multi-valued logic in order to deal with vagueness has been around from the beginning of the century. Peirce was one of the first thinkers to seriously consider vagueness; he did not believe in the separation between true and false and believed everything in life is a

**1. Introduction** 

**2. Fuzzy logic** 

showing the lack of the area.

the area will be given in conclusion.

relevance) become almost mutually exclusive characteristics".

if there are a few clouds, 50% true if it's hazy and 0% true if it rains all day.


## **Survey on Design of Truss Structures by Using Fuzzy Optimization Methods**

## Aykut Kentli

*Marmara University Engineering Faculty, Mechanical Engineering Department, Turkey* 

## **1. Introduction**

20 Will-be-set-by-IN-TECH

392 Fuzzy Logic – Controls, Concepts, Theories and Applications

Yang, Z. J. & M., T. (2001). Adaptive robust nonlinear control of a magnetic levitation system,

Ying, H. (1998). General SISO takagi-sugeno fuzzy systems with linear rule consequent are

Ying, H., Ding, Y. & Shao, S. (1997). Necessary conditions for general MISO fuzzy systems as universal approximators, *Proceedings of IEEE Int. Conf. on Systems, Man and Cybern*. Yoneyama, T. & Júnior, C. L. N. (2000). *Inteligência Artificial Em Automação e Controle*, Edgard

universal approximators, *Proceedings of IEEE Int. Conf. on Systems, Man and Cybern*,

*Automatica* (37): 1125–1131.

Zadeh, L. A. (1965). Fuzzy sets, *Information and Control* 8: 338–353.

pp. 582–587.

Blucher.

This study aims to reveal the studies on design optimization of trusses using fuzzy logic. In literature there are many surveys on truss optimization or on fuzzy logic, but, none of them is focused on fuzzy design optimization of truss. We believe that this study will help the researcher willing to study on this area by drawing a framework of the studies and by showing the lack of the area.

Firstly, a brief information fuzzy logic and optimization will be given. Then, studies will be classified under the topics related with the type of optimization problem and used method. In each topic, application area of fuzzy logic and main difference of the study will be explained. Classifications will also be shown as tables to show the overall picture. Lack of the area will be given in conclusion.

## **2. Fuzzy logic**

Fuzzy sets are generalized sets introduced by Professor Zadeh as a mathematical way to represent and deal with vagueness in everyday life (Zadeh, 1965). Indeed, Zadeh informally states what he calls the principle of incompatibility: "As the complexity of a system increases, our ability to make precise and yet significant statements about its behavior diminishes until a threshold is reached beyond which precision and significance (or relevance) become almost mutually exclusive characteristics".

Fuzzy logic is a superset of conventional (Boolean) logic that has been extended to handle the concept of partial truth – the truth values between "completely true" and "completely false". A type of logic that recognizes more than simple true and false values. With fuzzy logic, propositions can be represented with degrees of the truthfulness and falsehood. For example, the statement, today is sunny, might be 100% true if there are no clouds, 80% true if there are a few clouds, 50% true if it's hazy and 0% true if it rains all day.

Even though fuzzy sets were introduced in their modern form by Zadeh (1965), the idea of a multi-valued logic in order to deal with vagueness has been around from the beginning of the century. Peirce was one of the first thinkers to seriously consider vagueness; he did not believe in the separation between true and false and believed everything in life is a

Survey on Design of Truss Structures by Using Fuzzy Optimization Methods 395

 gj(X)≤0, j=1,2,…,m and lj(X)=0, j=1,2,…,p (2) where X is an n-dimensional vector called the design vector, f(X) is called the objective function and gj(X) and lj(X) are, respectively, the inequality and the equality constraints. The number of variables n and the number of constraints m and/or p need not be related in any

Design vector. Any engineering system or component is described by a set of quantities some of which are viewed as variables during the design process. In general certain quantities are usually fixed at the outset and these are called preassigned parameters. All the other quantities are treated as variables in the design process and are called design or

Design constraints. In many practical problems, the design variables cannot be chosen arbitrarily; rather they have to satisfy certain specified functional and other requirements. The restrictions that must be satisfied in order to produce an acceptable design are

Objective functions. The conventional design procedure aim at finding an acceptable or adequate design, which merely satisfies the functional and other requirements of the problem. In general, there will be more than one acceptable designs and the purpose of optimization is to choose the best one out of the many acceptable design available. Thus a criterion has to be chosen for comparing the different alternate acceptable designs and for selecting the best one. The criterion with respect to which design is optimized, when expressed as a function of the

Optimization problems can be classified in several ways as described below. This classification is extremely useful from the computational point of view since there are many methods developed solely for the efficient solution of a particular class of problems. This will, in many

As indicated earlier, any optimization problem can be classified as a constrained or an unconstrained one depending upon whether the constraints exist or not in the problem. Previously defined problem is called a constrained optimization problem. Used methods will differ according to problem type and at each following topic, appropriate methods will be given. Some optimization problems do not involve any constraints and can be stated as:

Such problems are called unconstrained optimization problems. Mostly known methods are Hooke-Jeeves Pattern Search Method and Powell's Conjugate Gradient Method. Some methods (Penalty Function etc.) transform the constrained problem into unconstrained

Another important classification of optimization problems is based on the nature of expressions for the objective function and the constraints. According to this classification,

Find which minimizes f(X) (3)

cases, dictate the types of solution procedures to be adopted in solving the problem.

design variables is known as criterion or merit or objective function.

**3.1 Classification based on the existence of constraints** 

problem and then use mentioned methods (Rao, 1984).

**3.2 Classification based on the nature of equations involved** 

way.

decision variables xi, i=1,2,…,n.

collectively called design constraints.

continuum. In 1905 he stated: "I have worked out the logic vagueness with something like completeness" (Peirce, 1935). Other famous scientists and philosophers probed this topic further. Russell (1923) claimed, "All language is vague" and went further saying; "vagueness is a matter of degree" (e.g., a blurred photo is vaguer than a crisp one, etc.). Einstein said that "as far as the laws of mathematics refer to reality, they are not certain, and as far as they are certain, they do not refer to reality" (Black, 1937). Lukasiewicz took the first step towards a formal model of vagueness, introducing in 1920 a three-valued logic based on true, false, and possible (Lukasiewicz, 1970). In doing this he realized that the laws of the classical two-valued logic might be misleading because they address only a fragment of the domain. A year later Post outlined his own three-valued logic, and soon after many other multi-valued logics proliferated (Godel, von Neumann, Kleene etc.) (McNeill & Freiberger, 1993). A few years later, Black (1937) outlined his precursor of fuzzy sets. He agreed with Peirce in terms of the continuum of vagueness and with Russell in terms of the degrees of vagueness. Therefore, he outlined a logic based on degrees of usage, based on probability that a certain object will be considered belonging to a certain class. Finally, Zadeh (1965) elaborated a multi-valued logic where degrees of truth (rather than usage) are possible.

Fuzzy set theory generalizes classical set theory in that the membership degree of an object to a set is not restricted to the integers 0 and 1, but may take on any value in [0,1]. By elaborating on the notion of fuzzy sets and fuzzy relations we can define fuzzy logic systems (FLS). FLSs are rule-based systems in which an input is first fuzzified (i.e. converted from a crisp number to a fuzzy set) and subsequently processed by an influence engine that retrieves knowledge in the form of fuzzy rules contained in a rule-base. The fuzzy sets computed by the fuzzy inference as the output of each rule are then composed and defuzzified (i.e., converted from a fuzzy set to a crisp number). A fuzzy logic system is a nonlinear mapping from the input to the output space.

Fig. 1. Representation of set of heights from 1.5 to 2 meter for crisp (a) and fuzzy (b)

As Figure 1 shows, crisp set is defined by membership of element X of set A . Fuzzy set contain objects that satisfy imprecise properties of membership .

#### **3. Optimization problem types**

An optimization or a mathematical programming problem can be stated as follows:

$$\text{Find } \text{ which minimizes } \text{f}(\mathsf{X}) \tag{1}$$

Subject to the constraints:

continuum. In 1905 he stated: "I have worked out the logic vagueness with something like completeness" (Peirce, 1935). Other famous scientists and philosophers probed this topic further. Russell (1923) claimed, "All language is vague" and went further saying; "vagueness is a matter of degree" (e.g., a blurred photo is vaguer than a crisp one, etc.). Einstein said that "as far as the laws of mathematics refer to reality, they are not certain, and as far as they are certain, they do not refer to reality" (Black, 1937). Lukasiewicz took the first step towards a formal model of vagueness, introducing in 1920 a three-valued logic based on true, false, and possible (Lukasiewicz, 1970). In doing this he realized that the laws of the classical two-valued logic might be misleading because they address only a fragment of the domain. A year later Post outlined his own three-valued logic, and soon after many other multi-valued logics proliferated (Godel, von Neumann, Kleene etc.) (McNeill & Freiberger, 1993). A few years later, Black (1937) outlined his precursor of fuzzy sets. He agreed with Peirce in terms of the continuum of vagueness and with Russell in terms of the degrees of vagueness. Therefore, he outlined a logic based on degrees of usage, based on probability that a certain object will be considered belonging to a certain class. Finally, Zadeh (1965) elaborated a multi-valued logic

Fuzzy set theory generalizes classical set theory in that the membership degree of an object to a set is not restricted to the integers 0 and 1, but may take on any value in [0,1]. By elaborating on the notion of fuzzy sets and fuzzy relations we can define fuzzy logic systems (FLS). FLSs are rule-based systems in which an input is first fuzzified (i.e. converted from a crisp number to a fuzzy set) and subsequently processed by an influence engine that retrieves knowledge in the form of fuzzy rules contained in a rule-base. The fuzzy sets computed by the fuzzy inference as the output of each rule are then composed and defuzzified (i.e., converted from a fuzzy set to a crisp number). A fuzzy logic system is a

where degrees of truth (rather than usage) are possible.

nonlinear mapping from the input to the output space.

(a) (b)

contain objects that satisfy imprecise properties of membership .

**3. Optimization problem types** 

Subject to the constraints:

Fig. 1. Representation of set of heights from 1.5 to 2 meter for crisp (a) and fuzzy (b)

An optimization or a mathematical programming problem can be stated as follows:

As Figure 1 shows, crisp set is defined by membership of element X of set A . Fuzzy set

Find which minimizes f(X) (1)

$$\text{gi}(\text{\textquotesingle}\text{\textquotesingle}0,\text{\textquotesingle}\text{\textquotesingle}1,2,...,\text{m} \quad \text{and} \quad \text{li}(\text{\textquotesingle}\text{\textquotesingle}0,\text{\textquotesingle}1,2,...,\text{p} \tag{2})$$

where X is an n-dimensional vector called the design vector, f(X) is called the objective function and gj(X) and lj(X) are, respectively, the inequality and the equality constraints. The number of variables n and the number of constraints m and/or p need not be related in any way.

Design vector. Any engineering system or component is described by a set of quantities some of which are viewed as variables during the design process. In general certain quantities are usually fixed at the outset and these are called preassigned parameters. All the other quantities are treated as variables in the design process and are called design or decision variables xi, i=1,2,…,n.

Design constraints. In many practical problems, the design variables cannot be chosen arbitrarily; rather they have to satisfy certain specified functional and other requirements. The restrictions that must be satisfied in order to produce an acceptable design are collectively called design constraints.

Objective functions. The conventional design procedure aim at finding an acceptable or adequate design, which merely satisfies the functional and other requirements of the problem. In general, there will be more than one acceptable designs and the purpose of optimization is to choose the best one out of the many acceptable design available. Thus a criterion has to be chosen for comparing the different alternate acceptable designs and for selecting the best one. The criterion with respect to which design is optimized, when expressed as a function of the design variables is known as criterion or merit or objective function.

Optimization problems can be classified in several ways as described below. This classification is extremely useful from the computational point of view since there are many methods developed solely for the efficient solution of a particular class of problems. This will, in many cases, dictate the types of solution procedures to be adopted in solving the problem.

### **3.1 Classification based on the existence of constraints**

As indicated earlier, any optimization problem can be classified as a constrained or an unconstrained one depending upon whether the constraints exist or not in the problem. Previously defined problem is called a constrained optimization problem. Used methods will differ according to problem type and at each following topic, appropriate methods will be given. Some optimization problems do not involve any constraints and can be stated as:

$$\text{Find } \text{ which minimizes } \mathbf{f}(\boldsymbol{\chi}) \tag{3}$$

Such problems are called unconstrained optimization problems. Mostly known methods are Hooke-Jeeves Pattern Search Method and Powell's Conjugate Gradient Method. Some methods (Penalty Function etc.) transform the constrained problem into unconstrained problem and then use mentioned methods (Rao, 1984).

#### **3.2 Classification based on the nature of equations involved**

Another important classification of optimization problems is based on the nature of expressions for the objective function and the constraints. According to this classification,

Survey on Design of Truss Structures by Using Fuzzy Optimization Methods 397

was developed by John Holland over the course of the 1960s and 1970s and finally popularized by one of his students, David Goldberg, who was able to solve a difficult problem involving the control of gas-pipeline transmission for his dissertation. Holland's

Depending on the number of objective functions to be minimized, optimization problem can

Multiobjective Programming Problem: Multiobjective optimization in last two decades has been acknowledged as an advanced design technique in structural optimization (Eschenawer et.al., 1990). The reason is that most of the real-world problems are multidisciplinary and complex, as there is always more than one important objective in each problem. To accommodate many conflicting design goals, one needs to formulate the optimization problem with multiple objectives. One important reason for the success of the multiobjective optimization approach is its natural property of allowing the designer to participate in the design selection process even after the formulation of the mathematical optimization model. The main task in structural optimization is determining the choice of the design variables, objectives, and constraints. Sometimes only one dominating criterion may be a sufficient objective for minimization, especially if the other requirements can be presented by equality and inequality constraints. But generally the choice of the constraint limits may be a difficult task in a practical design problem. These allowable values can be rather fuzzy, even for common quantities such as displacements, stresses, and natural frequencies. If the limit cannot be determined, it seems reasonable to treat that quantity as an objective. In addition, usually several competing objectives appear in a real-life application, and thus the designer is faced with a decision-making problem in which the

task is to find the best compromise solution between the conflicting requirements.

gj(x) ≥ 0j = 1,2,…,m (7)

A variety of techniques and applications of multiobjective optimization have been developed over the past few years. The progress in the field of multicriteria optimization was summarized by Hwang and Masud (1979) and later by Stadler (1984). Stadler inferred from his survey that if one has decided that an optimal design is to be based on the consideration of several criteria, then the multicriteria theory (Pareto theory) provides the necessary framework. In addition, if the minimization or maximization is the objective for each criterion, then an optimal solution should be a member of the corresponding Pareto set. Only then does any further improvement in one criterion require a clear tradeoff with at

Min [f1(x), f2(x),..., fn(x)] (6)

hj(x) = 0j = 1,2,...,p< n (8)

A multiobjective optimization problem can be formulated as follow:

where x is n-dimensional design variable vector, fi(x) is objective function.

subject to

original work was summarized in his book (Holland, 1995).

**3.4 Classification based on the number of objective functions** 

be classified as single and multi-objective programming problem.

optimization problems can be classified as linear, nonlinear and dynamic programming problems.

Nonlinear Programming Problem: If any functions among objective and constraints functions are nonlinear, the problem is called a nonlinear programming (NLP) problem. This is the most general programming problem and all other problems can be considered as special cases of the NLP problem. There are several type methods. Complex method is using only the function value to find optimum. On the other hand, feasible direction algorithm uses the derivative of the objective and constraints.

Linear Programming Problem: If the objective function and all the constraints are linear functions of the design variables, the mathematical programming problem is called a linear programming (LP) problem. A linear programming problem is often stated in the following standard form:

$$\text{Find which minimizes}\tag{4}$$

subject to the constraints , j=1,2,….,m (5)

and xi≥0, i=1,2,…,n where c,ajk and bj are constants.

Although allocating resources to activities is the most common type of application, linear programming has numerous other important applications as well. Furthermore, a remarkably efficient solution procedure called the Simplex method, is available for solving linear programming problems of even enormous size.

The Simplex method is a general procedure for solving linear programming problems and developed by George Dantzig in 1947 (Dantzig, 1963). It has proved to be a remarkably efficient method that is used routinely to solve huge problems on today's computers.

Dynamic Programming: In most practical problems, decisions have to be made sequentially at different points in time, at different points in space, and at different levels, say, for a component, for a subsystem, and/or for a system. The problems in which the decisions are to be made sequentially are called sequential decision problems. Since these decisions are to be made at a number of stages, they are also referred to as multistage decision problems. Dynamic programming is a mathematical technique well suited for the optimization of multistage decision problems. This technique was developed by Richard Bellman in the early 1950s.

#### **3.3 Classification based on the permissible values of the design variables**

Depending on the values permitted for the design variables, optimization problem is called a real-valued programming problem.

Integer Programming Problem: If some or all of the design variables x1,x2,…xn of an optimization problem are restricted to take on only integer (or discrete) values, the problem is called an integer programming problem. Branch-and-Bound methods are widely used in this area. Local Search methods (GA etc.) are also used for this problem type. Moreover, there are hybrid applications like GA+ANN. The genetic algorithm (GA) is an optimization and search technique based on the principles of genetics and natural selection. The method was developed by John Holland over the course of the 1960s and 1970s and finally popularized by one of his students, David Goldberg, who was able to solve a difficult problem involving the control of gas-pipeline transmission for his dissertation. Holland's original work was summarized in his book (Holland, 1995).

#### **3.4 Classification based on the number of objective functions**

Depending on the number of objective functions to be minimized, optimization problem can be classified as single and multi-objective programming problem.

Multiobjective Programming Problem: Multiobjective optimization in last two decades has been acknowledged as an advanced design technique in structural optimization (Eschenawer et.al., 1990). The reason is that most of the real-world problems are multidisciplinary and complex, as there is always more than one important objective in each problem. To accommodate many conflicting design goals, one needs to formulate the optimization problem with multiple objectives. One important reason for the success of the multiobjective optimization approach is its natural property of allowing the designer to participate in the design selection process even after the formulation of the mathematical optimization model. The main task in structural optimization is determining the choice of the design variables, objectives, and constraints. Sometimes only one dominating criterion may be a sufficient objective for minimization, especially if the other requirements can be presented by equality and inequality constraints. But generally the choice of the constraint limits may be a difficult task in a practical design problem. These allowable values can be rather fuzzy, even for common quantities such as displacements, stresses, and natural frequencies. If the limit cannot be determined, it seems reasonable to treat that quantity as an objective. In addition, usually several competing objectives appear in a real-life application, and thus the designer is faced with a decision-making problem in which the task is to find the best compromise solution between the conflicting requirements.

A multiobjective optimization problem can be formulated as follow:

$$\text{Min }\left[\text{f1(x), f2(x), \dots}, \text{fn(x)}\right] \tag{6}$$

subject to

396 Fuzzy Logic – Controls, Concepts, Theories and Applications

optimization problems can be classified as linear, nonlinear and dynamic programming

Nonlinear Programming Problem: If any functions among objective and constraints functions are nonlinear, the problem is called a nonlinear programming (NLP) problem. This is the most general programming problem and all other problems can be considered as special cases of the NLP problem. There are several type methods. Complex method is using only the function value to find optimum. On the other hand, feasible direction algorithm

Linear Programming Problem: If the objective function and all the constraints are linear functions of the design variables, the mathematical programming problem is called a linear programming (LP) problem. A linear programming problem is often stated in the following

Although allocating resources to activities is the most common type of application, linear programming has numerous other important applications as well. Furthermore, a remarkably efficient solution procedure called the Simplex method, is available for solving

The Simplex method is a general procedure for solving linear programming problems and developed by George Dantzig in 1947 (Dantzig, 1963). It has proved to be a remarkably

Dynamic Programming: In most practical problems, decisions have to be made sequentially at different points in time, at different points in space, and at different levels, say, for a component, for a subsystem, and/or for a system. The problems in which the decisions are to be made sequentially are called sequential decision problems. Since these decisions are to be made at a number of stages, they are also referred to as multistage decision problems. Dynamic programming is a mathematical technique well suited for the optimization of multistage decision problems. This technique was developed by Richard Bellman in the

Depending on the values permitted for the design variables, optimization problem is called

Integer Programming Problem: If some or all of the design variables x1,x2,…xn of an optimization problem are restricted to take on only integer (or discrete) values, the problem is called an integer programming problem. Branch-and-Bound methods are widely used in this area. Local Search methods (GA etc.) are also used for this problem type. Moreover, there are hybrid applications like GA+ANN. The genetic algorithm (GA) is an optimization and search technique based on the principles of genetics and natural selection. The method

efficient method that is used routinely to solve huge problems on today's computers.

**3.3 Classification based on the permissible values of the design variables** 

Find which minimizes (4)

subject to the constraints , j=1,2,….,m (5)

uses the derivative of the objective and constraints.

and xi≥0, i=1,2,…,n where c,ajk and bj are constants.

linear programming problems of even enormous size.

problems.

standard form:

early 1950s.

a real-valued programming problem.

$$\text{gg}(\mathbf{x}) \ge 0 \mathbf{j} = \mathbf{1}, \mathbf{2}, \dots, \mathbf{m} \tag{7}$$

$$\text{hij}(\mathbf{x}) = 0\mathbf{j} = 1, 2, \dots, \mathbf{p} < \mathbf{n} \tag{8}$$

where x is n-dimensional design variable vector, fi(x) is objective function.

A variety of techniques and applications of multiobjective optimization have been developed over the past few years. The progress in the field of multicriteria optimization was summarized by Hwang and Masud (1979) and later by Stadler (1984). Stadler inferred from his survey that if one has decided that an optimal design is to be based on the consideration of several criteria, then the multicriteria theory (Pareto theory) provides the necessary framework. In addition, if the minimization or maximization is the objective for each criterion, then an optimal solution should be a member of the corresponding Pareto set. Only then does any further improvement in one criterion require a clear tradeoff with at

Survey on Design of Truss Structures by Using Fuzzy Optimization Methods 399

defining an additional supercriterion function or by considering the criteria sequentially. There are various techniques for generating noninferior solutions (Stadler, 1984;Radford

Weighting Method: This technique is based on the preference techniques of the weights' prior assessment for each objective function. It transforms the multicriteria function to a single criterion function through a parameterization of the relative weighting of the criteria. With the variation of the weights, the entire Pareto set can be generated. Because the results of solving an optimization problem can vary significantly as the weighting coefficients change, and very little is usually known about how to choose these coefficients, a necessary approach is to solve the same problem for many different values of weighting factors. However, because the shape and distribution characteristics of the Pareto set are unknown, it is difficult to determine beforehand the nature of the variations required in the weights so as to produce a new solution at each pass. The second important disadvantage of the method is that it will not identify the Pareto solutions in a

The idea of this technique consists in adding all the objective functions together using different coefficients for each. It means that we change our multicriteria optimization

where wi ≥ 0 are the weighting coefficients representing the relative importance of the

Since the results of solving an optimization model using Eq. (9) can vary significantly as the weighting coefficients change and since very little is usually known about how to choose these coefficients, a necessary approach is to solve the same problem for many different

Note that the weighting coefficients do not reflect proportionally the relative importance of the objectives but are only factors which when varied locate points in the domain. For the numerical methods of seeking the minimum of Eq. (10) this location depends not only on

The best results are usually obtained if objective functions are normalized. In this case the

values of wi but also on units in which the functions are expressed.

vector function is normalized to the following form

(9)

(10)

(11)

problem to a scalar optimization problem by creating one function of the form

et.al., 1985; Grandhi & Bharatram, 1993).

nonconvex part of the set.

criteria. It is usually assumed that

values of wi.

where

least one other criterion. Radfors, et al (1985) in their study has explored the role of Pareto optimization in computer-aided design. They used the weighting method, noninferior set estimation (NISE) method, and constraint method for generating the Pareto optimal. The authors discussed the control and derivation of meaning from the Pareto sets.

Pareto optimality serves as the basic multicriteria optimization concept in virtually all of the previous literature (Grandhi & Bharatram, 1993). A general multiobjective optimization problem is to find the vector of design variables X = ( x1, x2, …, xn )T that minimize a vector objective function F(X) over the feasible design space X. It is the determination of a set of nondominated solutions (Pareto optimum solutions or noninferior solutions) that achieves a compromise among several different, usually conflicting, objective functions. The Pareto optimal is stated in simple words as follows: A vector X\* is Pareto optimal if there exists no feasible vector X which would increase some objective function without causing a simultaneous decrease in at least one objective function. This definition can be explained graphically. An arbitrary collection of feasible solutions for a two-objective maximization problem is shown in Figure 2. The area inside of the shape and its boundaries are feasible. The axes of this graph are the objectives F1 and F2. It can be seen from the graph that the noninferior solutions are found in the portion of the boundary between points A and B. Thus, here arises the decision-making problem from which a partial or complete ordering of the set of nondominated objectives is accomplished by considering the preferences of the decision maker. Most of the multiobjective optimization techniques are based on how to elicit the preferences and determine the best compromise solution.

Fig. 2. Graphical Interpretation of Pareto Optimum

Nearly all of the solution schemes used in multiobjective optimization involve some sort of scalarization of the vector optimization problem. The vector problem is replaced by some equivalent scalar minimization problem. Because the Pareto set is generally infinite, an additional use of scalarization is the selection of a unique member of the Pareto set as the optimum for the vector optimization problem. Usually, a problem is scalarized either by

least one other criterion. Radfors, et al (1985) in their study has explored the role of Pareto optimization in computer-aided design. They used the weighting method, noninferior set estimation (NISE) method, and constraint method for generating the Pareto optimal. The

Pareto optimality serves as the basic multicriteria optimization concept in virtually all of the previous literature (Grandhi & Bharatram, 1993). A general multiobjective optimization problem is to find the vector of design variables X = ( x1, x2, …, xn )T that minimize a vector objective function F(X) over the feasible design space X. It is the determination of a set of nondominated solutions (Pareto optimum solutions or noninferior solutions) that achieves a compromise among several different, usually conflicting, objective functions. The Pareto optimal is stated in simple words as follows: A vector X\* is Pareto optimal if there exists no feasible vector X which would increase some objective function without causing a simultaneous decrease in at least one objective function. This definition can be explained graphically. An arbitrary collection of feasible solutions for a two-objective maximization problem is shown in Figure 2. The area inside of the shape and its boundaries are feasible. The axes of this graph are the objectives F1 and F2. It can be seen from the graph that the noninferior solutions are found in the portion of the boundary between points A and B. Thus, here arises the decision-making problem from which a partial or complete ordering of the set of nondominated objectives is accomplished by considering the preferences of the decision maker. Most of the multiobjective optimization techniques are based on how to

Nearly all of the solution schemes used in multiobjective optimization involve some sort of scalarization of the vector optimization problem. The vector problem is replaced by some equivalent scalar minimization problem. Because the Pareto set is generally infinite, an additional use of scalarization is the selection of a unique member of the Pareto set as the optimum for the vector optimization problem. Usually, a problem is scalarized either by

authors discussed the control and derivation of meaning from the Pareto sets.

elicit the preferences and determine the best compromise solution.

Fig. 2. Graphical Interpretation of Pareto Optimum

defining an additional supercriterion function or by considering the criteria sequentially. There are various techniques for generating noninferior solutions (Stadler, 1984;Radford et.al., 1985; Grandhi & Bharatram, 1993).

Weighting Method: This technique is based on the preference techniques of the weights' prior assessment for each objective function. It transforms the multicriteria function to a single criterion function through a parameterization of the relative weighting of the criteria. With the variation of the weights, the entire Pareto set can be generated. Because the results of solving an optimization problem can vary significantly as the weighting coefficients change, and very little is usually known about how to choose these coefficients, a necessary approach is to solve the same problem for many different values of weighting factors. However, because the shape and distribution characteristics of the Pareto set are unknown, it is difficult to determine beforehand the nature of the variations required in the weights so as to produce a new solution at each pass. The second important disadvantage of the method is that it will not identify the Pareto solutions in a nonconvex part of the set.

The idea of this technique consists in adding all the objective functions together using different coefficients for each. It means that we change our multicriteria optimization problem to a scalar optimization problem by creating one function of the form

$$\mathbf{f}(\mathbf{x}) = \sum\_{\mathbf{i}=1}^{\mathbf{k}} \mathbf{w}\_{\mathbf{i}} \mathbf{f}\_{\mathbf{i}}(\mathbf{x}) \tag{9}$$

where wi ≥ 0 are the weighting coefficients representing the relative importance of the criteria. It is usually assumed that

$$\sum\_{\mathbf{i}=1}^{\mathbf{k}} \mathbf{w}\_{\mathbf{i}} = 1 \tag{10}$$

Since the results of solving an optimization model using Eq. (9) can vary significantly as the weighting coefficients change and since very little is usually known about how to choose these coefficients, a necessary approach is to solve the same problem for many different values of wi.

Note that the weighting coefficients do not reflect proportionally the relative importance of the objectives but are only factors which when varied locate points in the domain. For the numerical methods of seeking the minimum of Eq. (10) this location depends not only on values of wi but also on units in which the functions are expressed.

The best results are usually obtained if objective functions are normalized. In this case the vector function is normalized to the following form

$$\begin{aligned} \text{f}(\overline{\text{f}}(\mathbf{x}) = \begin{bmatrix} \overline{\text{f}}\_1(\mathbf{x}), \, \overline{\text{f}}\_2(\mathbf{x}), \dots, \, \overline{\text{f}}\_k(\mathbf{x}) \end{bmatrix}^\text{T} \end{aligned} \tag{11}$$

where

Survey on Design of Truss Structures by Using Fuzzy Optimization Methods 401

Goal Attainment Method, Global Criterion Method and Utility Function Method are also

The available general model of a programming with fuzzy resources can be formulated as:

 XL ≤X ≤XU (16) where the objective function and the ith in-equality constrained function are indicated as f (X) and gi(X) , respectively. The fuzzy number ,∀i are in the fuzzy region of [bi , bi + pi] with given fuzzy tolerance pi. Assume the fuzzy tolerance pi for each fuzzy constraint is known, then, , will be equivalent to (bi + θ pi) ,∀i where θ is in [0 , 1]. Several methods are described in the following section. All methods, except the first one (R.E. Bellman and L.A. Zadeh's approach), are derivatives of the level cuts method and generally using ordinary crisp

In Bellman and Zadeh (1970) approach, the problem in fuzzy environment can be stated as,

where ordinary subset Gj denotes the allowable interval for the constraint function gj, Gj =[gj(l) , gj(u)] the bold face symbols indicate that the operations or variables contain fuzzy information. The constraint gj(X) ∈ Gj means that gj is a member of a fuzzy subset Gj in the sense of μGj(gj) > 0. The fuzzy feasible region is defined by considering all the constraints as

And the membership degree of any design vector X to fuzzy feasible region S is given by

i.e., the minimum degree of satisfaction of the design vector X to all of the constraints.

will be a fuzzy domain D in S with f(X). The fuzzy domain D is defined by

A design of vector X is considered feasible provided μS(X) > 0 and the differences in the membership degrees of two design vectors X1 and X2 imply nothing but variations in the minimum degrees of satisfaction of X1 and X2 to the constraints. Thus the optimum solution

optimization methods by converting problem into crisp optimization problem.

min f(X) (14)

subject to , i=1,2,…,n (15)

Find X which minimizes f(X) (17)

subject to gj(X) ∈ Gj j=1,2,…,n (18)

(19)

(20)

(21)

used to solve multiobjective optimization problems.

**4.1 R.E. Bellman and L.A. Zadeh's approach** 

**4. Fuzzy optimization** 

that is

Here, fio is generally the maximum value of ith objective function. A condition fio≠0 is assumed and if it is not satisfied which rarely happens; another value of normalizing function must be chosen by the decision maker.

Game Theory: Game theory deals with decision situations in which two intelligent opponents with conflicting objectives are trying to outdo one another. It is a mathematical theory that deals with the general features of competitive situations like these in a formal, abstract way. It places particular emphasis on the decision-making processes of the adversaries. Typical examples include launching advertising campaigns for competing products and planning strategies for warring armies.

In a game conflict, two opponents, known as players, will each have a (finite or infinite) number of alternatives or strategies. Associated with each pair of strategies is a payoff that one player receives from the other. Such games are known as two-person zero-sum games because a gain by one player signifies an equal loss to the other. It suffices, then, to summarize the game in terms of the payoff to one player.

Because games are rooted in conflict of interest, the optimal solution selects one or more strategies for each player such that any change in the chosen strategies does not improve the payoff to either player. These solutions can be in the form of a single pure strategy or several strategies mixed according to specific probabilities (Frederick & Gerald, 2001).

Goal Programming: Goal programming was proposed by Charnes & Cooper (1961) for a linear model. It has been further developed by others (Ijiri, 1965; Charnes & Cooper, 1977). This method requires the decision maker (DM) to set goals for each objective that he wishes to attain. A preferred solution is then defined as the one, which minimizes the deviations from the set goals. Thus a simple GP formulation of the multiobjective optimization problem is given by

$$\text{Min} \left\{ \sum\_{j=1}^{k} (\mathbf{d}\_j^- + \mathbf{d}\_j^+)^p \right\}^{1/p}, \text{ p} \ge 1 \tag{12}$$

Subject to:

$$\begin{aligned} \mathbf{G}\_{\mathbf{i}}(\mathbf{x}) & \le \mathbf{0}, \; \mathbf{i} = 1, 2, \dots, \mathbf{m} \\ \mathbf{F}\_{\mathbf{j}}(\mathbf{x}) + \mathbf{d}\_{\mathbf{j}}^{-} + \mathbf{d}\_{\mathbf{j}}^{+} &= \mathbf{b}\_{\mathbf{j}} \quad , \; \mathbf{j} = 1, 2, \dots, \mathbf{k} \\ \mathbf{d}\_{\mathbf{j}}^{-}, \mathbf{d}\_{\mathbf{j}}^{+} &\ge \mathbf{0} \text{ and } \mathbf{d}\_{\mathbf{j}}^{-} \cdot \mathbf{d}\_{\mathbf{j}}^{+} = \mathbf{0} \quad \text{for all } \mathbf{j} \end{aligned} \tag{13}$$

where bj's are the goals set by the DM for the objectives, and are respectively the underachievement and over-achievement of the jth goal. The value of p is based on the utility function of the DM. Other than p = 1 results in a nonlinear goal programming problem.

The most common form of GP requires that the DM, in addition to setting the goals for objectives, also be able to give an ordinal ranking of the objectives. This may result in a nonlinear goal-programming problem if objectives or constraints are nonlinear.

Goal Attainment Method, Global Criterion Method and Utility Function Method are also used to solve multiobjective optimization problems.

### **4. Fuzzy optimization**

400 Fuzzy Logic – Controls, Concepts, Theories and Applications

Here, fio is generally the maximum value of ith objective function. A condition fio≠0 is assumed and if it is not satisfied which rarely happens; another value of normalizing

Game Theory: Game theory deals with decision situations in which two intelligent opponents with conflicting objectives are trying to outdo one another. It is a mathematical theory that deals with the general features of competitive situations like these in a formal, abstract way. It places particular emphasis on the decision-making processes of the adversaries. Typical examples include launching advertising campaigns for competing

In a game conflict, two opponents, known as players, will each have a (finite or infinite) number of alternatives or strategies. Associated with each pair of strategies is a payoff that one player receives from the other. Such games are known as two-person zero-sum games because a gain by one player signifies an equal loss to the other. It suffices, then, to

Because games are rooted in conflict of interest, the optimal solution selects one or more strategies for each player such that any change in the chosen strategies does not improve the payoff to either player. These solutions can be in the form of a single pure strategy or several

Goal Programming: Goal programming was proposed by Charnes & Cooper (1961) for a linear model. It has been further developed by others (Ijiri, 1965; Charnes & Cooper, 1977). This method requires the decision maker (DM) to set goals for each objective that he wishes to attain. A preferred solution is then defined as the one, which minimizes the deviations from the set goals. Thus a simple GP formulation of the multiobjective optimization

Min (12)

where bj's are the goals set by the DM for the objectives, and are respectively the underachievement and over-achievement of the jth goal. The value of p is based on the utility function of the DM. Other than p = 1 results in a nonlinear goal programming problem.

The most common form of GP requires that the DM, in addition to setting the goals for objectives, also be able to give an ordinal ranking of the objectives. This may result in a

nonlinear goal-programming problem if objectives or constraints are nonlinear.

(13)

strategies mixed according to specific probabilities (Frederick & Gerald, 2001).

function must be chosen by the decision maker.

products and planning strategies for warring armies.

summarize the game in terms of the payoff to one player.

problem is given by

Subject to:

The available general model of a programming with fuzzy resources can be formulated as:

$$\min \text{f}(\mathsf{X})\tag{14}$$

$$\mathbf{i} \text{ subject to } \mathbf{j} \text{ i} \mathbf{i} \text{ 2,...,n} \tag{15}$$

$$\mathsf{XL} \not\subseteq \mathsf{X} \not\subseteq \mathsf{XL} \tag{16}$$

where the objective function and the ith in-equality constrained function are indicated as f (X) and gi(X) , respectively. The fuzzy number ,∀i are in the fuzzy region of [bi , bi + pi] with given fuzzy tolerance pi. Assume the fuzzy tolerance pi for each fuzzy constraint is known, then, , will be equivalent to (bi + θ pi) ,∀i where θ is in [0 , 1]. Several methods are described in the following section. All methods, except the first one (R.E. Bellman and L.A. Zadeh's approach), are derivatives of the level cuts method and generally using ordinary crisp optimization methods by converting problem into crisp optimization problem.

#### **4.1 R.E. Bellman and L.A. Zadeh's approach**

In Bellman and Zadeh (1970) approach, the problem in fuzzy environment can be stated as,

$$\text{Find } \mathfrak{X} \text{ which minimizes } \mathfrak{f}(\mathfrak{X}) \tag{17}$$

$$\text{is subject to } \text{gj}(\lambda) \in \text{Gj} \quad \text{j} = 1, 2, \dots, \text{n} \tag{18}$$

where ordinary subset Gj denotes the allowable interval for the constraint function gj, Gj =[gj(l) , gj(u)] the bold face symbols indicate that the operations or variables contain fuzzy information. The constraint gj(X) ∈ Gj means that gj is a member of a fuzzy subset Gj in the sense of μGj(gj) > 0. The fuzzy feasible region is defined by considering all the constraints as

$$\mathbf{S} = \bigcap\_{j=1}^{\mathbf{m}} \mathbf{G}\_j \tag{19}$$

And the membership degree of any design vector X to fuzzy feasible region S is given by

$$\mu\_{\rm s}(\mathbf{X}) = \min\_{j=1,2,\ldots,m} \left\{ \mu\_{\rm cj}[\lg\_j(\mathbf{X})] \right\} \tag{20}$$

i.e., the minimum degree of satisfaction of the design vector X to all of the constraints.

A design of vector X is considered feasible provided μS(X) > 0 and the differences in the membership degrees of two design vectors X1 and X2 imply nothing but variations in the minimum degrees of satisfaction of X1 and X2 to the constraints. Thus the optimum solution will be a fuzzy domain D in S with f(X). The fuzzy domain D is defined by

$$\mathbf{D} \qquad \text{ \(}\mathbf{X}\text{\) }\qquad \text{ \(}\mathbf{X}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \(}\mathbf{G}\text{\) }\text{ \$$

that is

Survey on Design of Truss Structures by Using Fuzzy Optimization Methods 403

fmin= Min f(X), s.t gi(X) ≤bi + pi, ∀i, and XL ≤X ≤XU (30)

One can consequently apply the max-min operator to obtain the optimal decision. Then,

Max α

α≤µgi(X), ∀i where α ε 0, 1] and XL ≤X ≤XU. This model is similar to the model proposed by Zimmermann (1978) and applied in structural design by Rao (1987b) and Rao et.al. (1992).

Suppose there are a fuzzy goal function f and a fuzzy constraint C in a decision space X, which are characterized by their membership functions µf(X) and µC(X), respectively. The combined effect of those two can be represented by the intersection of the membership

Then Bellman & Zadeh (1970) proposed that a maximum decision could be defined as:

particular optimum level α\* corresponding to the optimum point XM such that:

where Cα\* is the fuzzy constraint set C of α\*-level cut.

Xu (1989) used a goal membership function of f(X) as following:

If μD(X) has a unique maximum at XM, then the maximizing decision is a uniquely defined crisp decision. From equations and following the procedure given, one can obtain the

Subject to α≤µf(X) (32)

(31)

(33)

(34)

(35)

(36)

The membership function mf(X) of the objective function is stated as:

equations can be solved by the strategy of max-α, where

α= min[µf(X), µg1(X), µg2(X),…,µgm(X)]. That is:

**4.4 Xu's approach: Bound search method** 

functions and the following formulation.

$$
\mu\_{\rm D}(\mathbf{X}) = \min \left\{ \mu\_{\rm f}(\mathbf{X}), \min\_{j=1,2,\dots,m} \mu\_{\rm cyl}[\mathbf{g}\_j \mathbf{X}] \right\} \tag{22}
$$

If the membership function of D is unimodal and has a unique maximum, then the maximum solution X\* is one for which the membership function is maximum:

$$
\mu\_{\sf D}(\mathbf{X}^{\sf at}) = \max \mu\_{\sf D}(\mathbf{X}), \mathbf{X} \in \mathbf{D} \tag{23}
$$

#### **4.2 Verdegay's approach:** α**-cuts method**

Verdegay (1982) considered that if the membership function of the fuzzy constraints has the following form:

$$\mu\_{\mathfrak{g}\_i}(\mathbf{X}) \begin{cases} 1 & \text{if } \mathfrak{g}\_i(\mathbf{X}) < \mathfrak{b}\_i \\ 1 - \frac{\mathfrak{g}\_i(\mathbf{X}) - \mathfrak{b}\_i}{\mathfrak{p}\_i} & \text{if } \mathfrak{b}\_i + \mathfrak{p}\_i \le \mathfrak{g}\_i(\mathbf{X}) \le \mathfrak{b}\_i \\ 0 & \text{if } \mathfrak{g}\_i(\mathbf{X}) > \mathfrak{b}\_i + \mathfrak{p}\_i \end{cases} \tag{24}$$

Simultaneously, the membership functions of µgi(X), ∀I, are continuous and monotonic functions, and trade-off between those fuzzy constraints are allowed; then problem is equivalent to the following formulation:

$$\text{Min}\,\text{f}(\mathbf{X})\tag{25}$$

$$\text{Subject to } \mathsf{X} \text{ } \mathsf{e} \text{ } \mathsf{X} \mathsf{a} \text{ } \tag{26}$$

where Xα= {x ¡ µgi(X) ≥α, ∀i X ≥ 0}, for each αε [0, 1]. This is the fundamental concepts of αlevel cuts method of fuzzy mathematical programming. The membership function indicates that if gi(X) ε(bi,bi + pi); then the memberships functions are monotonically decreasing. That also can means, the more resource consumed, the less satisfaction the decision maker thinks. One can then obtain the following formulation:

$$\text{Min}\,\text{f}(\mathbb{X})\tag{27}$$

$$\text{subject to } \mathfrak{g}(\mathsf{X}) \leq \mathsf{b}\_{\mathsf{i}} + (1 \cdot \alpha) \operatorname{ p}\_{\mathsf{i}} \,\,\forall \mathsf{i} \tag{28}$$

where XL ≤X ≤XU and αε[0, 1]. Thus, the problem is equivalent to a crisp parametric programming formulation while α= 1-θ. For each α, one will have an optimal solution; therefore, the solution with αgrade of membership function is fuzzy. This model was applied by Wang & Wang (1985) and Rao (1987a) in structural design problems.

#### **4.3 Werner's approach: Max-**α **method**

Werner's (1987) proposed the objective function should be fuzzy due to the fuzziness existing in fuzzy inequality constraints. For solving equations, one needs to define fmax and fmin as follows:

$$\mathbf{f\_{max}} = \text{Min } \mathbf{f(X)}, \text{ s.t. } \mathbf{g(X)} \triangleleft \mathbf{b}, \forall \mathbf{i}, \text{ and } \mathbf{X} \triangleleft \mathbf{X} \triangleleft \mathbf{X} \triangleleft \mathbf{U} \tag{29}$$

$$\mathbf{f}\_{\min} = \text{Min } \mathbf{f}(\mathbf{X}) \text{, s.t.}\\ \mathbf{g}(\mathbf{X}) \le \mathbf{b}\_{\overline{\mathbf{i}}} + \mathbf{p}\_{\overline{\mathbf{i}}} \text{, and } \mathbf{X} \mathbf{L} \le \mathbf{X} \le \mathbf{X} \mathbf{U} \tag{30}$$

The membership function mf(X) of the objective function is stated as:

$$\mu\_{\rm f}(\mathbf{X}) \begin{cases} 1 & \text{if } \mathbf{f}(\mathbf{X}) < \mathbf{f}\_{\min} \\ 1 - \frac{\mathbf{f}(\mathbf{X}) - \mathbf{f}\_{\min}}{\mathbf{f}\_{\max} - \mathbf{f}\_{\min}} & \text{if } \mathbf{f}\_{\min} \le \mathbf{f}(\mathbf{X}) \le \mathbf{f}\_{\max} \\ 0 & \text{if } \mathbf{f}(\mathbf{X}) > \mathbf{f}\_{\max} \end{cases} \tag{31}$$

One can consequently apply the max-min operator to obtain the optimal decision. Then, equations can be solved by the strategy of max-α, where

α= min[µf(X), µg1(X), µg2(X),…,µgm(X)]. That is:

402 Fuzzy Logic – Controls, Concepts, Theories and Applications

If the membership function of D is unimodal and has a unique maximum, then the

Verdegay (1982) considered that if the membership function of the fuzzy constraints has the

Simultaneously, the membership functions of µgi(X), ∀I, are continuous and monotonic functions, and trade-off between those fuzzy constraints are allowed; then problem is

Min f(X) (25)

where Xα= {x ¡ µgi(X) ≥α, ∀i X ≥ 0}, for each αε [0, 1]. This is the fundamental concepts of αlevel cuts method of fuzzy mathematical programming. The membership function indicates that if gi(X) ε(bi,bi + pi); then the memberships functions are monotonically decreasing. That also can means, the more resource consumed, the less satisfaction the decision maker thinks.

where XL ≤X ≤XU and αε[0, 1]. Thus, the problem is equivalent to a crisp parametric programming formulation while α= 1-θ. For each α, one will have an optimal solution; therefore, the solution with αgrade of membership function is fuzzy. This model was

Werner's (1987) proposed the objective function should be fuzzy due to the fuzziness existing in fuzzy inequality constraints. For solving equations, one needs to define fmax and

fmax = Min f(X), s.t. gi(X) ≤bi ∀i , and XL ≤X ≤XU (29)

applied by Wang & Wang (1985) and Rao (1987a) in structural design problems.

Subject to X ε Xα (26)

Min f(X) (27)

subject to gi(X) ≤bi + (1-α) pi, ∀i (28)

maximum solution X\* is one for which the membership function is maximum:

**4.2 Verdegay's approach:** α**-cuts method** 

equivalent to the following formulation:

One can then obtain the following formulation:

**4.3 Werner's approach: Max-**α **method** 

fmin as follows:

following form:

(22)

(23)

(24)

#### Max α

$$\text{Subject to } \mathfrak{a} \lnot \mathfrak{h} \mathfrak{f}(\mathfrak{X}) \tag{32}$$

α≤µgi(X), ∀i

where α ε 0, 1] and XL ≤X ≤XU. This model is similar to the model proposed by Zimmermann (1978) and applied in structural design by Rao (1987b) and Rao et.al. (1992).

#### **4.4 Xu's approach: Bound search method**

Suppose there are a fuzzy goal function f and a fuzzy constraint C in a decision space X, which are characterized by their membership functions µf(X) and µC(X), respectively. The combined effect of those two can be represented by the intersection of the membership functions and the following formulation.

$$\begin{split} \mu\_{\rm D}(\mathbf{X}) &= \mu\_{\rm f \curvearrowleft C}(\mathbf{X}) = \mu\_{\rm f}(\mathbf{X}) \, \Lambda \, \mu\_{\rm c}(\mathbf{X}) \\ &= \min \left\{ \mu\_{\rm f}(\mathbf{X}), \mu\_{\rm c}(\mathbf{X}) \right\} \end{split} \tag{33}$$

Then Bellman & Zadeh (1970) proposed that a maximum decision could be defined as:

$$
\mu\_{\rm D}(\mathbf{X}^{\rm M}) = \max \; \mu\_{\rm D}(\mathbf{X}) \tag{34}
$$

If μD(X) has a unique maximum at XM, then the maximizing decision is a uniquely defined crisp decision. From equations and following the procedure given, one can obtain the particular optimum level α\* corresponding to the optimum point XM such that:

$$\mu\_{\rm D}(\mathbf{X}) = \max\_{\mathbf{X} \in \mathcal{C}\_{\mathbf{u}^\*}} \mu\_{\rm f}(\mathbf{X}) \tag{35}$$

where Cα\* is the fuzzy constraint set C of α\*-level cut.

Xu (1989) used a goal membership function of f(X) as following:

$$
\mu\_{\rm f}(\mathbf{X}) = \frac{\mathbf{f}\_{\rm min}}{\mathbf{f}(\mathbf{X})} \tag{36}
$$

Survey on Design of Truss Structures by Using Fuzzy Optimization Methods 405

Shih et.al. (2003) developed and proposed three alternative α-level-cuts approaches: singlecut, double-cuts, and multiple-cuts, for solving nonlinear programming design problems of structuring engineering with fuzzy resources. The approaches have performed better than

Hsu et.al. (1995) considered the optimization process as a closed-loop control system. Traditional "controllers", the numerical optimization algorithms, are usually "crisply" designed for well defined mathematical models. However, when applied to engineering design optimization problems in which function evaluations can be expensive and imprecise, very often the crisp algorithms will become impractical or will not converge. They presented how the heuristics of this human supervision can be modeled into the

Shih (1997) employed three fuzzy models to combine with an improved imposed-on penalty approach for attacking a nonlinear multiobjective in the mixed-discrete optimization problem. He presented a penalty method, including the forms of penalty function and the values of each parameter. The presented strategy is suggested as appropriate for solving a

Arakawa et.al. (1999) showed the effectiveness of the use of fuzzy members as design variables, by comparing with the other robust design methods. They proposed a way to raise certainties in estimating robustness by using approximation concepts in operation of

Fang et.al. (1998) considered an approach to the optimum design of structures, in which uncertainties with a fuzzy nature in the magnitude of the loads. The optimization process under fuzzy loads is transformed into a fuzzy optimization problem based on the notion of Werners' maximizing set by defining membership functions of the objective function and constraints. An example of a ten-bar truss is used to illustrate the present optimization process. The results are compared with those yielded by other optimization

Table 1. Investigated Literature

that of conventional α-level-cuts method.

optimization algorithms using fuzzy control concept.

generalized mixed-discrete optimization problem.

fuzzy function.

methods.

where fmin has been defined as before. It is apparent that the upper and lower bound of this goal membership function is between 1 and fmin /fmax. As a result, the optimum α\* can be achieved through an iteration computation. This method has been called the 2nd phase of αcuts method in his paper(Xu, 1989).

## **4.5 Single level cuts method**

It is observed in Xu's approach where maximizing µf(X) is similar to maximizing α in Werner's approach; therefore, it is predicted the final result of those two approaches have the similar tendency, even though the form of their membership function is not the same, in which Werner's approach uses the linear function and Xu's approach uses the nonlinear function.

For obtaining the unique solution of the original α-level cuts approach in nonlinear programming problem with fuzzy resources, another alternative single level-cut approach called the single level-cut approach of the second kind is proposed (Shih et.al., 2003). This approach contains both linear membership function and nonlinear membership function of objective function.

$$\mu\_{t}\left(\mathbf{X}\right) = \frac{\mathbf{f}\_{\text{max}} - \mathbf{f}\left(\mathbf{X}\right)}{\mathbf{f}\_{\text{max}} - \mathbf{f}\_{\text{min}}} = 1 - \frac{\mathbf{f}\left(\mathbf{X}\right) - \mathbf{f}\_{\text{min}}}{\mathbf{f}\_{\text{max}} - \mathbf{f}\_{\text{min}}}\tag{37}$$

The mathematical formulation of the fuzzy problem with unique α−cut level can be written in the following:

#### Find [X, α]T

#### min f(X)

subject to f(X)-[fmax-α(fmax-fmin)]=0 (for linear αf(X))

f(X)-(fmin/α)=0 (for nonlinear αf(X)) (38)

gi(X)≤bi+(1-αpi), ∀i

α∈[0,1] (for linear αf(X))

α∈ [fmin/fmax] (for linear αf(X))

where XL ≤ X ≤ XU and f(X) can be nonlinear or linear membership functions.

There are also new approaches in literature, based on fuzzy set theory like Evidence Theory. Evidence theory is based on the Belief (Bel) and Plausibility (Pl) fuzzy measures. Fuzzy measures provide the foundation of fuzzy set theory.

#### **5. Fuzzy design optimization applications**

This section will classify the applications using previously mentioned methods. As mentioned earlier, optimization can be classified according to how many objectives problem have. Investigated literature studies are shown in Table 1 from objective perspective.


Table 1. Investigated Literature

404 Fuzzy Logic – Controls, Concepts, Theories and Applications

where fmin has been defined as before. It is apparent that the upper and lower bound of this goal membership function is between 1 and fmin /fmax. As a result, the optimum α\* can be achieved through an iteration computation. This method has been called the 2nd phase of α-

It is observed in Xu's approach where maximizing µf(X) is similar to maximizing α in Werner's approach; therefore, it is predicted the final result of those two approaches have the similar tendency, even though the form of their membership function is not the same, in which Werner's approach uses the linear function and Xu's approach uses the nonlinear

For obtaining the unique solution of the original α-level cuts approach in nonlinear programming problem with fuzzy resources, another alternative single level-cut approach called the single level-cut approach of the second kind is proposed (Shih et.al., 2003). This approach contains both linear membership function and nonlinear membership function of

The mathematical formulation of the fuzzy problem with unique α−cut level can be written

Find [X, α]T

min f(X)

subject to f(X)-[fmax-α(fmax-fmin)]=0 (for linear αf(X))

f(X)-(fmin/α)=0 (for nonlinear αf(X)) (38)

gi(X)≤bi+(1-αpi), ∀i

α∈[0,1] (for linear αf(X))

α∈ [fmin/fmax] (for linear αf(X))

There are also new approaches in literature, based on fuzzy set theory like Evidence Theory. Evidence theory is based on the Belief (Bel) and Plausibility (Pl) fuzzy measures. Fuzzy

This section will classify the applications using previously mentioned methods. As mentioned earlier, optimization can be classified according to how many objectives problem

have. Investigated literature studies are shown in Table 1 from objective perspective.

where XL ≤ X ≤ XU and f(X) can be nonlinear or linear membership functions.

measures provide the foundation of fuzzy set theory.

**5. Fuzzy design optimization applications** 

(37)

cuts method in his paper(Xu, 1989).

**4.5 Single level cuts method** 

function.

objective function.

in the following:

Shih et.al. (2003) developed and proposed three alternative α-level-cuts approaches: singlecut, double-cuts, and multiple-cuts, for solving nonlinear programming design problems of structuring engineering with fuzzy resources. The approaches have performed better than that of conventional α-level-cuts method.

Hsu et.al. (1995) considered the optimization process as a closed-loop control system. Traditional "controllers", the numerical optimization algorithms, are usually "crisply" designed for well defined mathematical models. However, when applied to engineering design optimization problems in which function evaluations can be expensive and imprecise, very often the crisp algorithms will become impractical or will not converge. They presented how the heuristics of this human supervision can be modeled into the optimization algorithms using fuzzy control concept.

Shih (1997) employed three fuzzy models to combine with an improved imposed-on penalty approach for attacking a nonlinear multiobjective in the mixed-discrete optimization problem. He presented a penalty method, including the forms of penalty function and the values of each parameter. The presented strategy is suggested as appropriate for solving a generalized mixed-discrete optimization problem.

Arakawa et.al. (1999) showed the effectiveness of the use of fuzzy members as design variables, by comparing with the other robust design methods. They proposed a way to raise certainties in estimating robustness by using approximation concepts in operation of fuzzy function.

Fang et.al. (1998) considered an approach to the optimum design of structures, in which uncertainties with a fuzzy nature in the magnitude of the loads. The optimization process under fuzzy loads is transformed into a fuzzy optimization problem based on the notion of Werners' maximizing set by defining membership functions of the objective function and constraints. An example of a ten-bar truss is used to illustrate the present optimization process. The results are compared with those yielded by other optimization methods.

Survey on Design of Truss Structures by Using Fuzzy Optimization Methods 407

Yoo and Hajela (2001) have dealt with a genetic algorithm based optimization procedure for solving multicriterion design problems where the objective or constraint functions may not

Forouraghi et.al. (1994) introduced a new methodology in which multiobjective optimization is formulated as unsupervised learning through induction of multivariate regression trees. In particular, they showed that learning of Pareto-optimal solutions can be eficiently accomplished by using a number of fuzzy tree-partitioning criteria. The widely

Shih et.al. (1997) introduced a design method using fuzzy logic to find the best stochastic design by maximizing Hasofer-Lind's (H-L's) reliability and simultaneously optimizing design goals. The objective weighting strategy in multiobjective fuzzy formulation is

Rao (1987b) has used Werner's approach in section IV.3. This approach is presented to solve multiobjective optimization problems. Sample problems are three bar and 25 bar truss

Shih & Chang (1995) has combined Werner's approach in section IV.3 with Global Criterion method and implemented on multiobjective optimization problems. As sample cases, three bar truss and 11 bar truss are solved and results (objective function values) are compared. Chen and Wang (1989) proposed a general fuzzy programming with wide generality in order to consider the overall fuzzy factors and fuzzy information in optimum design of

Shih & Lai (1994) has used two weighting strategies to get Pareto optimum values: objective weighting and membership weighting strategies. Three bar truss optimization problem is selected as sample multiobjective optimization problem. Objective function values are

Rao et.al. (1992) have used two methods: Verdegay's approach in section IV.2 and Werner's approach in section IV.3 for multiobjective optimization problems. As sample cases, optimization of three bar and 25 bar truss systems are selected. Objective function values are

Kiyota et.al. (2001, 2003) described a fuzzy satisficing method for multiobjective optimization problems using Genetic Algorithm (GA). A multiobjective design problem with constraints is expressed as a satisficing problem of constraints by introducing an

Kelesoglu & Ulker (2005a) optimized space truss systems by using fuzzy sets. The algorithm

Cheng and Li (1997) presented a constrained multiobjective optimization methodology by integrating Pareto Genetic algorithm with fuzzy penalty function method. A 72-bar space

Kelesoglu & Ulker (2005b) presented a general algorithm for nonlinear space truss system optimization with fuzzy constraints and fuzzy parameters. The analysis of the space truss

of multi-objective fuzzy optimization was formed using the macros of Ms-Excel.

truss with two criteria and a 4-bar truss with three criteria were investigated.

used problem of design of a three-bar truss is presented.

adopted to represent the importance among the design goals.

optimization problems. No comparison is made in this work.

be crisply defined.

engineering structures.

presented as comparison criteria.

aspiration level for each objective.

system is performed with the ANSYS program.

used to compare methods.

Mohandas et.al. (1990) has combined Zadeh's approach in Eq. (20) with goal programming. They implemented this approach to single objective optimization problems. As example problems, optimization of four bar and ten bar truss are selected. No comparison is made in this work.

Yang and Soh (2000) proposed a fuzzy logic integrated genetic programming (GP) based methodology to increase the performance of the GP based approach for structural optimization and design. Fuzzy set theory is employed to deal with the imprecise and vague information, especially the design constraints, during the structural design process.

Joghataie and Ghasemi (2001) implemented fuzzy membership functions in the multistage optimization technique to improve its performance for the minimum weight design of truss structures of fixed topology. It has been found that this technique has significantly improved the convergence speed at the expense of increasing the minimum weight by a negligible amount.

Shih et.al. (2004) presented new method (Two single level cut approach). Also, new method is implemented on three bar, ten bar and 25 bar truss optimization problems and objective function values are compared with Verdegay's approach in section IV.2, Werner's approach in section IV.3 and Xu's approach in section IV.4.

Shih and Lee (2006) presented the modified double-cuts approach for large-scale fuzzy optimization, typically in 25-bar and 72-bar truss design problems. The proposed approach is better than the single-cut approach and easy programming for use to instead of multiplecuts approach.

Maglaras et.al. (1997) compared probabilistic and fuzzy set based approaches in designing a damped truss structure.

Sarma (2001) developed a fuzzy discrete multicriteria cost optimization model by considering three criteria 1) minimum cost 2) minimum weight and 3) minimum number of section types. In the design, the uncertainty of fuzziness of the AISC code based design constraints is considered.

Sarma and Adeli (2000a, 2000b) presented a fuzzy augmented Lagrangian GA for optimization of steel structures subjected to the constraints of the AISC allowable stress design specifications taking into account the fuzziness in the constraints. The algorithm is applied to two space axial-load structures including a large 37-story structure with 1310 members.

Rao and Xiong (2005) presented a new method in which the fuzzy lambda-formulation and game theory techniques are combined with a mixed-discrete hybrid genetic algorithm for solving mixed-discrete fuzzy multiobjective programming problems. They dealt with three example problems: the optimal designs of a two-bar truss, a conical convective spine and a twenty-five bar truss.

Wang et.al. (2005) studied the principle of solving multiobjective optimization problems with fuzzy sets theory. Membership functions based on functional-link net have been used in multiobjective optimization.

Mohandas et.al. (1990) has combined Zadeh's approach in Eq. (20) with goal programming. They implemented this approach to single objective optimization problems. As example problems, optimization of four bar and ten bar truss are selected. No comparison is made in

Yang and Soh (2000) proposed a fuzzy logic integrated genetic programming (GP) based methodology to increase the performance of the GP based approach for structural optimization and design. Fuzzy set theory is employed to deal with the imprecise and vague

Joghataie and Ghasemi (2001) implemented fuzzy membership functions in the multistage optimization technique to improve its performance for the minimum weight design of truss structures of fixed topology. It has been found that this technique has significantly improved the convergence speed at the expense of increasing the minimum weight by a

Shih et.al. (2004) presented new method (Two single level cut approach). Also, new method is implemented on three bar, ten bar and 25 bar truss optimization problems and objective function values are compared with Verdegay's approach in section IV.2, Werner's approach

Shih and Lee (2006) presented the modified double-cuts approach for large-scale fuzzy optimization, typically in 25-bar and 72-bar truss design problems. The proposed approach is better than the single-cut approach and easy programming for use to instead of multiple-

Maglaras et.al. (1997) compared probabilistic and fuzzy set based approaches in designing a

Sarma (2001) developed a fuzzy discrete multicriteria cost optimization model by considering three criteria 1) minimum cost 2) minimum weight and 3) minimum number of section types. In the design, the uncertainty of fuzziness of the AISC code based design

Sarma and Adeli (2000a, 2000b) presented a fuzzy augmented Lagrangian GA for optimization of steel structures subjected to the constraints of the AISC allowable stress design specifications taking into account the fuzziness in the constraints. The algorithm is applied to two space axial-load structures including a large 37-story structure with 1310

Rao and Xiong (2005) presented a new method in which the fuzzy lambda-formulation and game theory techniques are combined with a mixed-discrete hybrid genetic algorithm for solving mixed-discrete fuzzy multiobjective programming problems. They dealt with three example problems: the optimal designs of a two-bar truss, a conical convective spine and a

Wang et.al. (2005) studied the principle of solving multiobjective optimization problems with fuzzy sets theory. Membership functions based on functional-link net have been used

information, especially the design constraints, during the structural design process.

this work.

negligible amount.

cuts approach.

members.

damped truss structure.

constraints is considered.

twenty-five bar truss.

in multiobjective optimization.

in section IV.3 and Xu's approach in section IV.4.

Yoo and Hajela (2001) have dealt with a genetic algorithm based optimization procedure for solving multicriterion design problems where the objective or constraint functions may not be crisply defined.

Forouraghi et.al. (1994) introduced a new methodology in which multiobjective optimization is formulated as unsupervised learning through induction of multivariate regression trees. In particular, they showed that learning of Pareto-optimal solutions can be eficiently accomplished by using a number of fuzzy tree-partitioning criteria. The widely used problem of design of a three-bar truss is presented.

Shih et.al. (1997) introduced a design method using fuzzy logic to find the best stochastic design by maximizing Hasofer-Lind's (H-L's) reliability and simultaneously optimizing design goals. The objective weighting strategy in multiobjective fuzzy formulation is adopted to represent the importance among the design goals.

Rao (1987b) has used Werner's approach in section IV.3. This approach is presented to solve multiobjective optimization problems. Sample problems are three bar and 25 bar truss optimization problems. No comparison is made in this work.

Shih & Chang (1995) has combined Werner's approach in section IV.3 with Global Criterion method and implemented on multiobjective optimization problems. As sample cases, three bar truss and 11 bar truss are solved and results (objective function values) are compared.

Chen and Wang (1989) proposed a general fuzzy programming with wide generality in order to consider the overall fuzzy factors and fuzzy information in optimum design of engineering structures.

Shih & Lai (1994) has used two weighting strategies to get Pareto optimum values: objective weighting and membership weighting strategies. Three bar truss optimization problem is selected as sample multiobjective optimization problem. Objective function values are presented as comparison criteria.

Rao et.al. (1992) have used two methods: Verdegay's approach in section IV.2 and Werner's approach in section IV.3 for multiobjective optimization problems. As sample cases, optimization of three bar and 25 bar truss systems are selected. Objective function values are used to compare methods.

Kiyota et.al. (2001, 2003) described a fuzzy satisficing method for multiobjective optimization problems using Genetic Algorithm (GA). A multiobjective design problem with constraints is expressed as a satisficing problem of constraints by introducing an aspiration level for each objective.

Kelesoglu & Ulker (2005a) optimized space truss systems by using fuzzy sets. The algorithm of multi-objective fuzzy optimization was formed using the macros of Ms-Excel.

Cheng and Li (1997) presented a constrained multiobjective optimization methodology by integrating Pareto Genetic algorithm with fuzzy penalty function method. A 72-bar space truss with two criteria and a 4-bar truss with three criteria were investigated.

Kelesoglu & Ulker (2005b) presented a general algorithm for nonlinear space truss system optimization with fuzzy constraints and fuzzy parameters. The analysis of the space truss system is performed with the ANSYS program.

Survey on Design of Truss Structures by Using Fuzzy Optimization Methods 409

Mentioned methods are applied to different truss structures. These structures are listed in

25 bar: (Jensen, 2001; Shih & Lee, 2004;

72 bar: (Sarma & Adeli, 2000b; Sarma, 2001;

1310 bar: (Sarma & Adeli, 2000b; Sarma, 2001)

Table 6 shows the objectives in literature. It is seen that minimizing weight is still the most common objective for single objective optimization studies. Minimizing deflection and

30 bar: (Maglaraset.al., 1997)

PLANAR (2D) SPACE(3D)

Marler et.al., 2004; Shih & Lee, 2006)

Shih & Lee, 2006)

Table 4. Hybrid methods in single objective problems

2 bar: (Khorsand & Akbarzadeh, 2007) 3 bar: (Yeh & Hsu, 1990; Hsu et.al., 1995;

4 bar: (Mohandas et.al., 1990; Fang et.al.,

10 bar: (Mohandas et.al., 1990; Tonona &

Liu, 2006)

Lee, 2004)

46 bar: (Joghataie & Ghasemi, 2001)

135 bar: (Joghataie & Ghasemi, 2001)

**5.2 Multi objectives applications** 

natural frequency are also used.

Table 5. Truss structures in single objective problems

2005)

Shih, 1997; Arakawa et.al., 1999; Shih et.al., 2003; Shih & Lee, 2004;

1998; Xiong, 2002; Xiong & Rao,

Bernardini, 1998; Yang & Soh, 2000; Joghataie & Ghasemi, 2001; Shih &

Table 5.

Kelesoglu (2007) proposed a genetic algorithm to solve fuzzy multiobjective optimization of space truss. This method enables a flexible method for optimal system design by applying fuzzy objectives and fuzzy constraints. An algorithm was developed by using MATLAB programming. The algorithm is illustrated on 56-bar space truss system design problem.

At following pages, these studies will be classified according to used methods and application area.

## **5.1 Single objective applications**

Table 2 shows the objectives in literature. It is seen that minimizing weight is the most common objective for single objective optimization studies. Minimizing failure possibility and natural frequency are also used even though found rarely.


Table 2. Objectives in single objective problems

Used methods differ at each study. But, generally there are two different applications: Direct methods and Hybrid Methods. Also, hybrid methods differ according to at where fuzzy logic is applied. Sometimes, fuzzy logic assists to another optimization method and sometimes vises versa. Table 3 shows the studies in literature according to used method type. Table 4 shows the hybrid methods.


Table 3. Used methods in single objective problems

Kelesoglu (2007) proposed a genetic algorithm to solve fuzzy multiobjective optimization of space truss. This method enables a flexible method for optimal system design by applying fuzzy objectives and fuzzy constraints. An algorithm was developed by using MATLAB programming. The algorithm is illustrated on 56-bar space truss system design problem.

At following pages, these studies will be classified according to used methods and

Table 2 shows the objectives in literature. It is seen that minimizing weight is the most common objective for single objective optimization studies. Minimizing failure possibility

Used methods differ at each study. But, generally there are two different applications: Direct methods and Hybrid Methods. Also, hybrid methods differ according to at where fuzzy logic is applied. Sometimes, fuzzy logic assists to another optimization method and sometimes vises versa. Table 3 shows the studies in literature according to used method

Direct Hybrid

(Yeh & Hsu, 1990; Mohandas et.al., 1990; Hsu et.al., 1995; Shih, 1997; Tonona & Bernardini, 1998; Sarma & Adeli, 2000b; Yang & Soh, 2000; Joghataie & Ghasemi, 2001; Sarma, 2001; Xiong, 2002; Xiong & Rao, 2005; Liu, 2006; Khorsand & Akbarzadeh, 2007)

application area.

**5.1 Single objective applications** 

and natural frequency are also used even though found rarely.

Table 2. Objectives in single objective problems

type. Table 4 shows the hybrid methods.

Table 3. Used methods in single objective problems

(Maglaraset.al., 1997; Fang et.al., 1998; Arakawa et.al., 1999; Jensen, 2001; Shih et.al., 2003; Shih & Lee, 2004; Marler et.al., 2004; Shih &

Lee, 2006)


Table 4. Hybrid methods in single objective problems

Mentioned methods are applied to different truss structures. These structures are listed in Table 5.


Table 5. Truss structures in single objective problems

#### **5.2 Multi objectives applications**

Table 6 shows the objectives in literature. It is seen that minimizing weight is still the most common objective for single objective optimization studies. Minimizing deflection and natural frequency are also used.

Survey on Design of Truss Structures by Using Fuzzy Optimization Methods 411

Mentioned methods are applied to different truss structures. These structures are shown in

PLANAR (2D) SPACE (3D)

(Cheng & Li, 1997; Kelesoglu &

2002; Rao & Xiong, 2005a; Rao & Xiong, 2005b; Kelesoglu & Ülker,

Ülker, 2005b)

2005b)

Table 8. Hybrid methods in multi objective problems

2 bar: (Xiong, 2002; Rao & Xiong, 2005a; Rao & Xiong, 2005b) 3 bar: (Rao, 1987b; Chen & Wang, 1989;

Wang et.al., 2005) 4 bar: (Kiyota et.al., 2001; Kiyota et.al.,

Table 9. Truss structures in multi objective problems

2003)

11 bar: (Yoo & Hajela, 2001)

10 bar: (Shih, 1997)

Rao et.al., 1992; Yu & Xu, 1994; Shih & Lai, 1994; Forouraghi et.al., 1994; Shih & Chang, 1995; Shih & Wangsawidjaja, 1995; Shih & Wangsawidjaja, 1996; Shih et.al., 1997; Yoo, 2000; Yoo & Hajela, 2001;

9 bar: (Kelesoglu & Ulker, 2005a)

56 bar: (Kelesoglu, 2007) 72 bar: (Cheng & Li, 1997)

120 bar: (Kelesoglu & Ulker, 2005a) 244 bar: (Kelesoglu & Ulker, 2005a)

1310 bar: (Sarma & Adeli, 2000a; Sarma, 2001)

25 bar: (Rao, 1987b; Rao et.al., 1992; Xiong,

Table 9.


Table 6. Objectives in multi objective problems

Table 7 shows the studies in literature according to used method type. Table 8 shows the hybrid methods.


Table 7. Used methods in multiobjective problems


Table 8. Hybrid methods in multi objective problems

410 Fuzzy Logic – Controls, Concepts, Theories and Applications

Table 7 shows the studies in literature according to used method type. Table 8 shows the

Direct Hybrid

(Shih & Lai, 1994; Cheng & Li, 1997; Sarma & Adeli, 2000a; Sarma, 2001; Kiyotaet.al., 2001; Yoo & Hajela, 2001; Xiong, 2002; Kiyotaet.al., 2003; Wang et.al., 2005; Rao &

Xiong, 2005a; Rao & Xiong, 2005b;

Kelesoglu, 2007)

Table 6. Objectives in multi objective problems

(Rao, 1987b; Chen & Wang, 1989; Rao et.al., 1992; Yu & Xu, 1994; Forouraghi et.al., 1994; Shih & Chang, 1995; Shih & Wangsawidjaja, 1995; Shih & Wangsawidjaja, 1996; Shih et.al., 1997; Yoo, 2000; Kelesoglu & Ulker, 2005a;

Table 7. Used methods in multiobjective problems

hybrid methods.

Kelesoglu & Ülker, 2005b)

Mentioned methods are applied to different truss structures. These structures are shown in Table 9.


Table 9. Truss structures in multi objective problems

Survey on Design of Truss Structures by Using Fuzzy Optimization Methods 413

Forouraghi, B.; Schmerr, L.W.; Prabhu, G.M. (1994). Fuzzy multiobjective optimization with

Grandhi, R.V.; Bharatram, G. (1993). Multiobjective Optimization of Large-Scale Structures.

Hartshorne, C.; Weiss,P. (1935). *Collected Papers of Charles Sanders Peirce*. Harvard University

Hillier, F.S.; Lieberman, G.J. (2001). *Introduction to Operations Research* (7th Ed), McGraw-

Hsu, Y.L.; Lin, Y.F.; Sun, T.L. (1995). Engineering Design Optimization as a Fuzzy control

Hwang, C.L.; Masud, A.S.M. (1979). *Multiple Objective Decision Making Methods and* 

Jensen, H.A. (2001). Structural Optimal Design of Systems with Imprecise Properties: a Possibilistic Approach. *Advances in Engineering Software*, Vol. 32, pp. 937-948. Joghataie, A.; Ghasemi, M. (2001). Fuzzy Multistage Optimization of Large-Scale Trusses.

Kelesoglu, O.; Ulker, M. (2005a). Fuzzy optimization of geometrical nonlinear space truss

Kelesoglu, O.; Ulker, M. (2005b). Multi-objective fuzzy optimization of space trusses by MS-

Kelesoglu, O. (2007). Fuzzy multiobjective optimization of truss-structures using genetic

Khorsand, A.R.; Akbarzadeh, M.R. (2007). Multi-objective meta level soft computing-based

Kiyota, T.; Tsuji, Y. Y.; Kondo, E. (2001). An interactive fuzzy satisficing approach using

Liu, T.C. (2006). *Developing a fuzzy proportional-derivative controller optimization engine for engineering design optimization problems*. PhD Thesis, Yuan-Ze University. Maglaras, G.G.; Nikolaidis, E.; Haftka, R.T.; Cudney, H.H. (1997). Analytical-experimental

Marler, R.T.; Yang, J.; Rao, S.S. (2004). A Fuzzy Approach for Determining a Feasible Point

*Congress and 20th NAFIPS International Conference*, Vancouver, Canada. Kiyota, T.; Tsuji, Y.; Kondo, E. (2003). Unsatisfying Functions and Multiobjective Fuzzy

design. *Turkish Journal of Engineering & Environmental Sciences*, Vol. 29, pp. 321-

evolutionary structural design. *Journal of the Franklin Institute*, Vol. 9, No 5, pp. 595-

genetic algorithm for multi objective problems. *Proceedings of Joint 9th IFSA World* 

Satisficing Design Using Genetic Algorithms. *IEEE Transactions on Systems, Man and* 

comparison of probabilistic methods and fuzzy set based methods for designing

in a Constrained Problem. *Proceedings of ASME/JSME Pressure Vessels and Piping* 

Ijiri, Y. (1965). *Management Goals and Accounting for Control*, North-Holland.

*Journal of Structural Engineering*, Vol. 127, pp. 1338–1347.

Excel. *Advances in Engineering Software*, Vol. 36, pp. 549-553.

*Cybernetics – PART B: Cybernetics*, Vol. 33, No 6, pp. 889-897.

under uncertainity. *Structural Optimization*, Vol. 13, pp. 69-80.

*Division Conference*, San Diego, USA.

algorithm. *Advances in Engineering Software*, Vol. 38, pp. 717-721.

process. *Proceedings of International Joint Conference of the Fourth IEEE International Conference on Fuzzy Systems and The Second International Fuzzy Engineering* 

*Intelligence*, Orlando, USA.

Press, Cambridge, MA.

*Symposium,*Yokohoma, Japan.

*Applications*, Springer, Berlin.

Hill.

329.

612.

*AIAA Journal*, Vol. 31, pp. 1329-1337.

multivariate regression trees. *Proceedings of IEEE World Congress on Computational* 

## **6. Conclusions**

Design of structural systems has always been one of the most important topics to study. But, over the years, optimization of structural system has gained popularity. Today, there are a few conferences and journals concerning only the optimization of structural systems. This study aimed to summarize the studies on using fuzzy logic in optimization of structural systems. Following results has been found as remarkable to notice:

\*Fuzzy logic is applied to different variety of structural design problems (single and multiobjective problems, simple and complex problems etc.)

\*Most important objectives in designing optimal structures are minimizing weight and deflection.

\*Both direct and hybrid methods are used. Especially using GA together with fuzzy logic has given better performance. It is recommended to the researchers to use also other evolutionary algorithms (Simulated Annealing, Particle Swarm Optimization etc.)

\*Mostly used case examples are 3 bar and 25 bar truss systems.

## **7. References**


Design of structural systems has always been one of the most important topics to study. But, over the years, optimization of structural system has gained popularity. Today, there are a few conferences and journals concerning only the optimization of structural systems. This study aimed to summarize the studies on using fuzzy logic in optimization of structural

\*Fuzzy logic is applied to different variety of structural design problems (single and

\*Most important objectives in designing optimal structures are minimizing weight and

\*Both direct and hybrid methods are used. Especially using GA together with fuzzy logic has given better performance. It is recommended to the researchers to use also other

Arakawa, M.; Yamakawa, H.; Ishikawa, H. (1999). Robust Design Using Fuzzy Numbers

Black, M. (1937). Vagueness: An Exercise in Logical Analysis. *Philosophy of Science*, Vol. 4, pp.

Charnes, A.; Cooper, W.W. (1961). *Management Models and Industrial Applications of Linear* 

Charnes, A.; Cooper, W.W. (1977) Goal programming and multiple objective optimizations.

Chen, S.-X.; Wang, G.-Y. (1989). Theory and solution of general fuzzy optimization for

Cheng, F.Y.; Li, D. (1997). Multiobjective optimization design with pareto genetic algorithm.

Holland, J.H. (1995). *Hidden order: how adaptation builds complexity*. Addison-Wesley,

Eschenawer, H.; Koski, J.; Osyczka, A. (1990). *Multicriteria Design Optimization-Procedures* 

Fang, J.; Smith, S.M.; Elishakoff, I. (1998). Combination of Anti-Optimization and Fuzzy-Set-

Based Analyses for Structural Optimization under Uncertainty. *Mathematical* 

Borkowski, L. (1970). *Selected works of J. Lukasiewicz*. North Holland, London.

*European Journal of Operational Research*, Vol. 1, pp. 39-54.

structures. *Acta Mechanica Solida Sinica*, Vol. 2, No 3, pp. 271-283.

*Journal of Structural Engineering*, Vol.123, No 9, pp. 1252-1261. Dantzig, G.B. (1963). *Linear programming and extensions*, Princeton University Press.

*Congress on Structural and Multidisciplinary Optimization*, NewYork, USA. Bellman, R.E.; Zadeh, L.A. (1970). Decision-making in a Fuzzy Environment. *Management* 

with Intermediate Variables. *Proceedings of 3rd ISSMO/UBCAD/UB/AIAA World* 

evolutionary algorithms (Simulated Annealing, Particle Swarm Optimization etc.)

systems. Following results has been found as remarkable to notice:

multiobjective problems, simple and complex problems etc.)

\*Mostly used case examples are 3 bar and 25 bar truss systems.

*Programming*, John Wiley & Sons, New York.

*Science*, Vol. 17, pp. B141-B164.

**6. Conclusions** 

deflection.

**7. References** 

427-455.

Reading, Mass.

*and Applications*, Springer, Berlin.

*Problems in Engineering*, Vol. 4, pp. 187-200.


Survey on Design of Truss Structures by Using Fuzzy Optimization Methods 415

Shih, C. J. (1997). Fuzzy and Improved Penalty Approaches for Multiobjective Mixed-

Shih, C.J.; Wang, C.S.; Lin, Y.Y. (1997). Hasofer-Lind's Reliability Based Optimization for

Shih, C.J.; Chi, C.C.; Hsiao, J.H. (2003). Alternative α-level-cuts Methods for Optimum

Shih, C.J.; Lee, H. W. (2004). Level-Cut Approaches of First and Second Kind for Unique

Shih, C.J.; Lee, H.W. (2006). Modified double-cuts approach in 25-bar and 72-bar fuzzy truss

Stadler, W. (1984). Multicriteria Optimization in Mechanics (A Survey). *Applied Mechanics* 

Tonona, F.; Bernardini, A. (1998). A Random Set Approach to the Optimization of Uncertain

Verdegay, J. L. (1982). Fuzzy Mathematical Programming. In: *Approximate reasoning in decision analysis,* M.M. Gupta, E. Sanchez, pp. (231-236), North-Holland Pub. Co. Wang, G.Y.; Wang W.Q. (1985). Fuzzy Optimum Design of Structures. *Engineering* 

Wang, P.; Huang, H.; Zuo, M.J.; Wu, W.; Liu, C. (2005). Functional-link net based

Werner, B. (1987). Interactive Fuzzy Programming Systems. *Fuzzy Sets and Systems*, Vol. 23,

Xiong, Y. (2002). *Mixed Discrete Fuzzy Nonlinear Programming for Engineering Design* 

Xiong, Y.; Rao, S.S. (2005). A fuzzy dynamic approach for the mixed-discrete design

Xu, C. (1989). Fuzzy Optimization of Structures by the Two-phase Method. *Computers &* 

Yang, Y.; Soh, C.K. (2000). Fuzzy logic integrated genetic programming for optimization and design. *Journal of Computing in Civil Engineering*, Vol. 14, pp. 249-254. Yeh, Y.C.; Hsu, D.S. (1990). Structural optimization with fuzzy parameters. *Computers &* 

Yoo, J.S. (2000). *Adaptation of soft computing methods in multidisciplinary and structural* 

Yoo, J.; Hajela, P. (2001). Fuzzy Multicriterion design using immune network simulation.

Yu, M.; Xu, C. (1994) Multi-objective Fuzzy Optimization of Structures Based on Generalized Fuzzy Decision-Making. *Computer & Structures*, Vol. 53, pp. 411-417.

*optimization*. PhD Thesis, Rensselaer Polytechnic Institute.

*Structural and Multidisciplinary Optimization*, Vol. 22, pp. 188-197.

*Computer Science*, J. Wang et.al., pp. (800-804), Springer, Berlin .

*Optimization*. Ph.D. thesis, University of Miami.

multiobjective fuzzy optimization. In: *Advances in Neural Networks – Lecture Notes in* 

optimization of mechanical systems. *ASME Journal of Mechanical Design*, Vol. 127,

*Science and Engineering - An International Journal*, Vol. 7, pp. 189-198.

optimization. *Computers and Structures*, Vol. 84, pp. 2100-2104.

Structures. *Computers & Structures*, Vol. 68, pp. 583-600.

Conference on Fuzzy Systems, (1997) 1191- 1196.

*Reviews*, Vol. 37, pp. 277-286.

*Optimization*, Vol. 8, pp. 291-300.

*Structures,* Vol. 31, pp. 575-580.

*Structures*, Vol. 37, pp. 917-924.

pp. 131-147.

pp. 1088-1099.

559-565.

2587.

Discrete Optimization in Structural Systems. *Computers & Structures*, Vol. 63, pp.

Multiobjective Fuzzy and Stochastic Design Problem. 6nd IEEE International

Structural Design with Fuzzy Resources. *Computers & Structures*, Vol. 81, pp. 2579–

Solution Design in Fuzzy Engineering Optimization Problems. *Tamkang Journal of* 


McNeill, D.; Freiberger, P. (1993). *Fuzzy Logic/the Discovery of a Revolutionary Computer Technology and How It Is Changing Our World*, Simon & Schuster, New York. Mohandas, S.U.; Phelps, T.A.; Ragsdell, K.M. (1990) Structural optimization using a fuzzy goal programming approach. *Computers & Structures*, Vol. 37, pp. 1-8. Radford, A.D.; Gero, J.S.; Roseman, M.A.; Balachandran, M. (1985). Pareto Optimization as a

Rao, S.S. (1987a). Description and Optimum Design of Fuzzy Mechanical Systems. *ASME* 

Rao, S.S. (1987b). Multiobjective Optimization of Fuzzy Structural Systems. *International* 

Rao, S.S.; Sundararaju, K.; Prakash, B.G.; Balakrishna, C. (1992). Multiobjective Fuzzy

Rao, S.S.; Xiong, Y. (2005a). Mixed-discrete fuzzy multiobjective programming for

Rao, S.S.; Xiong, Y. (2005b). Mixed-discrete fuzzy multiobjective optimization of structures

Russell, B. (1923). Vagueness. *Australian Journal of Psychology and Philosophy*, Vol. 1, pp. 84-

Sarma, K.C.; Adeli, H. (2000a). Fuzzy Discrete Multicriteria Cost Optimization of Steel

Sarma, K.C.; Adeli, H. (2000b). Fuzzy Genetic Algorithm for Optimization of Steel

Sarma, K.C. (2001). *Fuzzy discrete multicrteria cost optimization of steel structures using genetic* 

Shih, C.J.; Lai T.K. (1994). Fuzzy weighting optimization with several objective functions in

Shih, C.J.; Wangsawidjaja, R.A.S. (1995). Multiobjective fuzzy optimization with random

Shih, C.J.; Chang, C.J. (1995). Pareto Optimization of Alternative Global Criterion Method for Fuzzy Structural Design. *Computers & Structures*, Vol. 54, pp. 455–460. Shih, C.J.; Wangsawidjaja, R.A.S. (1996). Mixed fuzzy-probabilistic programming approach

variables in a mix of fuzzy and probabilistic environment. *Proceedings of International Joint Conference of the Fourth IEEE International Conference on Fuzzy Systems and The Second International Fuzzy Engineering Symposium*, Yokohoma,

for multiobjective engineering optimization with random variables. *Computers &* 

Structures. *Journal of Structural Engineering*, Vol.126, pp. 1339–1347.

Structures. *Journal of Structural Engineering*, Vol. 126, pp. 596–604.

structural design. *Computers & Structures*, Vol. 52, pp. 917-924

*Journal for Numerical Methods in Engineering*, Vol. 24, pp. 1157-1171.

Rao, S.S. (1984). *Optimization, Theory and Applications*, John Wiley & Sons.

*Multidisciplinary Optimization*, Rio de Janeiro, Brazil.

*algorithm*. PhD Thesis, Ohio State Univeristy.

*Structures*, Vol. 59, pp. 283-290.

Springer, Berlin.

132.

pp. 37-44.

92.

Japan.

7, pp. 1580-1590.

Computer Aided Design Tool. In: *Optimization in Computer-Aided Design,* J.S. Gero,

*Journal of Mechanisms, Transmissions, and Automation in Design*, Vol. 109, pp. 126-

Optimization Techniques for Engineering Design. *Computers & Structures*, Vol. 42,

engineering optimization using hybrid genetic algorithm. *AIAA Journal,* Vol. 43, No

using a hybrid genetic algorithm. *Proceedings of 6th World Congress on Structural and* 


Zadeh, L.A. (1965). Fuzzy Sets. *Information and Control*, Vol. 8, pp. 338-352.

Zimmermann, H.J. (1978). Fuzzy Programming and Linear Programming with Several Objective Functions. *Fuzzy Sets and Systems*, Vol. 1, pp. 45-55.

Zimmermann, H.J. (1978). Fuzzy Programming and Linear Programming with Several

Zadeh, L.A. (1965). Fuzzy Sets. *Information and Control*, Vol. 8, pp. 338-352.

Objective Functions. *Fuzzy Sets and Systems*, Vol. 1, pp. 45-55.

## *Edited by Elmer P. Dadios*

This book introduces new concepts and theories of Fuzzy Logic Control for the application and development of robotics and intelligent machines. The book consists of nineteen chapters categorized into 1) Robotics and Electrical Machines 2) Intelligent Control Systems with various applications, and 3) New Fuzzy Logic Concepts and Theories. The intended readers of this book are engineers, researchers, and graduate students interested in fuzzy logic control systems.

Photo by AZIATIK13 / Depositphotos

Fuzzy Logic - Controls, Concepts, Theories and Applications

Fuzzy Logic

Controls, Concepts, Theories and Applications