Top Banner
1 Lecture 4-2 Fuzzy Controller Design
125

1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

Jan 14, 2016

Download

Documents

Evelyn King
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

1

Lecture 4-2

Fuzzy Controller Design

Page 2: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

2

How do we design a fuzzy controller?

Fuzzy control system design essentially amounts to

(1) choosing the fuzzy controller inputs and outputs,

(2) choosing the preprocessing that is needed for the

controller inputs and possibly postprocessing that is

needed for the outputs, and

(3) designing each of the four components of the fuzzy

controller

Page 3: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

3

Fuzzy control l erFu

zzif

icat

ion

Defu

zzif

icat

ion

I nf erencemechani sm

Rul e-base

Process

I nputsu(t)

Outputsy(t)

Reference i nputr(t)

Page 4: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

4

We introduce each of the components of the fuzzy controller for a simple problem of balancing an inverted pendulum on a cart, as shown in Figure4.1 . Here, y denotes the angle that the pendulum makes with the vertical (in radians), l is the half-pendulum length (in meters), and u is the force input that moves the cart (in Newtons). We will use r to denote the desired angular position of the pendulum. The goal is to balance the pendulum in the upright position (i.e., r = 0) when it initially starts with some nonzero angle off the vertical (i.e., y≠0).

u

y

2l

Page 5: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

5

Figure4.1 Inverted pendulum on a cart

u

y

2l

Page 6: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

6

This is a very simple and academic nonlinear control problem, and many good techniques already exist for its solution. Indeed, for this standard configuration, a simple PID controller works well even in implementation.

Page 7: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

7

How do we choose fuzzy controller inputs and outputs ?

Consider a human-in-the-loop whose responsibility is to

control the pendulum, as shown in Figure4.2. The fuzzy

controller is to be designed to automate how a human

expert who is successful at this task would control the

system. First, the expert tells us (the designers of the

fuzzy controller) what information she or he will use as

inputs to the decision-making process.

Page 8: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

8

Figure4.2 Human controlling an inverted pendulum on a cart

倒立摆r yu

Page 9: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

9

Suppose that for the inverted pendulum, the expert (this could be you!) says that she or he will use

And

as the variables on which to base decisions. Certainly, there are many other choices (e.g., the integral of the error e could also be used) but this choice makes good intuitive sense.

e t r t y t de t

dt

Page 10: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

10

Next, we must identify the controlled variable. For the inverted pendulum, we are allowed to control only the force that moves the cart, so the choice here is simple.

For more complex applications, the choice of the inputs to the controller and outputs of the controller (inputs to the plant) can be more difficult. Essentially, you want to make sure that the controller will have the proper information available to be able to make good decisions and have proper control inputs to be able to steer the system in the directions needed to be able to achieve high-performance operation.

Page 11: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

11

Practically speaking, access to information and the ability to effectively control the system often cost money. If the designer believes that proper information is not available for making control decisions, he or she may have to invest in another sensor that can provide a measurement of another system variable. Alternatively, the designer may implement some filtering or other, processing of the plant outputs.

Page 12: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

12

In addition, if the designer determines that the current actuators will not allow for the precise control of the process, he or she may need to invest in designing and implementing an actuator that can properly affect the process. Hence, while in some academic problems you may be given the plant inputs and outputs, in many practical situations you may have some flexibility in their choice. These choices affect what information is available for making on-line decisions about the control of a process and hence affect how we design a fuzzy controller.

Page 13: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

13

Once the fuzzy controller inputs and outputs are chosen, you must determine what the reference inputs are. For the inverted pendulum, the choice of the reference input r = 0 is clear. In some situations, however, you may want to choose r as some nonzero constant to balance the pendulum in the off-vertical position. To do this, the controller must maintain the cart at a constant velocity so that the pendulum will not fall.

Page 14: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

14

After all the inputs and outputs are defined for the fuzzy controller, we can specify the fuzzy control system. The fuzzy control system for the inverted pendulum, with our choice of inputs and outputs, is shown in Figure4.3.

Now, within this framework we seek to obtain a description of how to control the process. We see then that the choice of the inputs and outputs of the controller places certain constraints on the remainder of the fuzzy control design process.

Page 15: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

15

Figure4.3 Fuzzy controller for an inverted pendulum on a cart

模糊控制器 倒立摆

d

d t

r u ye

-

+

Page 16: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

16

If the proper information is not provided to the fuzzy controller, there will be little hope for being able to design a good rule-base or inference mechanism. Moreover, even if the proper information is available to make control decisions, this will be of little use if the controller is not able to properly affect the process variables via the process inputs. It must be understood that the choice of the controller inputs and outputs is a fundamentally important part of the control design process.

Page 17: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

17

How do we put control knowledge into rule-bases?

Suppose that the human expert shown in Figure 4.2 provides a description of how best to control the plant in some natural language (e.g., English or Chineses). We seek to take this "linguistic" description and load it into the fuzzy controller, as indicated by the arrow in Figure 4.3. Linguistic description Rules Rule-bases

Page 18: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

18

Linguistic Descriptions

linguistic variables

The linguistic description provided by the expert can generally be broken into several parts. There will be "linguistic variables" that describe each of the time-varying fuzzy controller inputs and outputs. For the inverted pendulum,

"error" describes e(t)

"change-in-error" describes

"force" describes u(t)( )

de t

dt

Page 19: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

19

Note that we use quotes to emphasize that certain words or phrases are linguistic descriptions, and that we have added the time index to, for example, e(t), to emphasize that generally e varies with time. There are many possible choices for the linguistic descriptions for variables. Some designers like to choose them so that they are quite descriptive for documentation purposes.

( )de t

dt

Page 20: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

20

However, this can sometimes lead to long descriptions. Others seek to keep the linguistic descriptions as short as possible (e.g., using "e(t)" as the linguistic variable for e(t )), yet accurate enough so that they adequately represent the variables, Regardless, the choice of the linguistic variable has no impact on the way that the fuzzy controller operates; it is simply a notation that helps to facilitate the construction of the fuzzy controller via fuzzy logic.

Page 21: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

21

linguistic values

Just as e(t) takes on a value of, for examples 0.1 at

t = 2 (e(2) = 0.1), linguistic variables assume "linguistic values" . That is, the values that linguistic variables take on overtime change dynamically. Suppose for the pendulum example that "error ," "change-in-error ", and "force" take on the following values:

"neglarge"

"negsmall"

"zero"

"possmall"

"poslarge"

Page 22: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

22

Note that we are using "negsmall" as an abbreviation for "negative small in size" and so on for the other variables. Such abbreviations help keep the linguistic descriptions short yet precise. For an even shorter description we could use integers:

"-2" to represent "neglarge"

"-1" to represent "negsmall"

"0" to represent "zero"

"1" to represent "possmall" .

"2" to represent "poslarge"

Page 23: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

23

This is a particularly appealing choice for the linguistic values since the descriptions are short and nicely represent that the variable we are concerned with has a numeric quality. We are not, for example, associating "-1" with any particular number of radians of error; the use of the numbers for linguistic descriptions simply quantifies the sign of the error (in the usual way) and indicates the size in relation to the other linguistic values. We shall find the use of this type of linguistic value quite convenient and hence will give it the special name, "linguistic-numeric value."

Page 24: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

24

The linguistic variables and values provide a language for the expert to express her or his ideas about the control decision-making process in the context of the framework established by our choice of fuzzy controller inputs and outputs.

Recall that for the inverted pendulum r = 0 and e = r - y so that ande y

d de y

dt dt

Page 25: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

25

since . First, we will study how we can quantify certain dynamic behaviors with linguistics. In the next subsection we will study how to quantify knowledge about how to control the pendulum using linguistic descriptions.

0dr

dt

Page 26: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

26

For the inverted pendulum each of the following statements quantifies a different configuration of the pendulum:

• The statement "error is poslarge" can represent the situation where the pendulum is at a significant angle to the left of the vertical.

• The statement"error is negsmall" can represent the situation where the pendulum is just slightly to the right of the vertical, but not too close to the vertical to justify quantifying it as ''zero" and not too far away to justify quantifying it as "neglarge."

Page 27: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

27

• The statement "error is zero" can represent the situation where the pendulum is very near the vertical position (a linguistic quantification is not precise, hence we are willing to accept any value of the error around e(t) = 0 as being quantified linguistically by "zero" since this can be considered a better quantification than "possmall" or "negsmall“).

• The statement "error is poslarge and change-in-error is possmall" can represent the situation where the pendulum is to the left of the vertical and, since , the pendulum is moving away from the upright position (note that in this case the pendulum is moving counterclockwise).

Page 28: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

28

Overall, we see that to quantify the dynamics of the process we need to have a good understanding of the physics of the underlying process we are trying to control. While for the pendulum problem, the task of coming to a good understanding of the dynamics is relatively easy, this is not the case for many physical processes. Quantifying the process dynamics with linguistics is not always easy, and certainly a better understanding of the process dynamics generally leads to a better linguistic quantification. Often, this win naturally lead to a better fuzzy controller provided that you can adequately measure the system dynamics so that the fuzzy controller can make the right decisions at the proper time.

Page 29: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

29

Rules

Next, we will use the above linguistic quantification to specify a set of rules (a rule-base) that captures the expert's knowledge about how to control the plant. In particular, for the inverted pendulum in the three positions shown in Figure 4.4, we have the following rules:

1. If error is neglarge and change-in-error is neglarge Then force is poslarge

Page 30: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

30

Figure 4.4 Inverted pendulum in various positions

u u u

Page 31: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

31

This rule quantifies the situation in Figure 4.4(a) where the pendulum has a large positive angle and is moving clockwise; hence it is clear that we should apply a strong positive force so that we can try to start the pendulum moving in the proper direction.

2. If error is zero and change-in-error is possmall Then force is negsmall

This rule quantifies the situation in Figure 4.4(b) where the pendulum has nearly a zero angle with the vertical and is moving counterclockwise; hence we should apply a small negative force (to the left) to counteract the movement so that it moves toward zero.

Page 32: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

32

3. If error is poslarge and change-in-error is negsmall Then force is negsmall

This rule quantifies the situation in Figure 4.4(c) where the pendulum is far to the left of the vertical and is moving clockwise; hence we should apply a small negative force (to the left) to assist the movement, but not a big one since the pendulum is already moving in the proper direction.

Page 33: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

33

Each of the three rules is a "linguistic rule" since it is formed solely from linguistic variables and values. Since linguistic values are not precise representations of the underlying quantities that they describe, linguistic rules are not precise either. They are simply abstract ideas about how to achieve good control that could mean somewhat different things to different people. They are, however, at a level of abstraction that humans are often comfortable with in terms of specifying how to control a process.

Page 34: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

34

The general form of the linguistic rules listed above is

If premise Then consequent

The premises (which are sometimes called "antecedents") are associated with the fuzzy controller inputs and are on the left-hand-side of the rules. The consequents (sometimes called "actions") are associated with the fuzzy controller outputs and are on the right-hand-side of the rules.

Page 35: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

35

Notice that each premise (or consequent) can be composed of the conjunction of several "terms" (e.g., in rule 3 above "error is poslarge and change-in-error is negsmall" is a premise that is the conjunction of two terms). The number of fuzzy controller inputs and outputs places an upper limit on the number of elements in the premises and consequents.

Page 36: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

36

Rule-Bases

Using the above approach, we could continue to write down rules for the pendulum problem for all possible cases.

Note that since we only specify a finite number of linguistic variables and linguistic values, there is only a finite number of possible rules.

Page 37: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

37

For the pendulum problem, with two inputs and five linguistic values for each of these, there are at most 52 = 25 possible rules (all possible combinations of premise linguistic values for two inputs).

A convenient way to list all possible rules for the case where there are not too many inputs to the fuzzy controller is to use a tabular representation. A tabular representation of one possible set of rules for the inverted pendulum is shown in Table 4.1. 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 linguistic-numeric premise terms.

Page 38: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

38

Table 4.1 Rule Table for Inverted Pendulum

“force”

u

“change-in-error” ė

-2 -1 0 1 2

“error”

e

-2 2 2 2 1 0

-1 2 2 1 0 -1

0 2 1 0 -1 -2

1 1 0 -1 -2 -2

2 0 -1 -2 -2 -2

Page 39: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

39

Then, for instance, the (2, -1) position (where the "2" represents the row having "2" for a numeric-linguistic value and the "-1" represents the column having "-1" for a numeric-linguistic value) has a -1 ("negsmall") in the body of the table and represents the rule:

If error is poslarge and change-in-error is negsmall Then force is negsmall

which is rule 3 above. Table 4.1 represents abstract knowledge that the expert has about how to control the pendulum given the error and its derivative as inputs.

Page 40: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

40

Notice the diagonal of zeros and viewing the body of the table as a matrix we see that it has a certain symmetry to it. This symmetry that emerges when the rules are tabulated is no accident and is actually a representation of abstract knowledge about how to control the pendulum; it arises due to a symmetry in the system's dynamics. We will actually see later that similar patterns will be found when constructing rule-bases for more challenging applications, and we will show how to exploit this symmetry in implementing fuzzy controllers.

Page 41: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

41

How do we quantify the knowledge in fuzzy controller design? Why do that?

Up to this point we have only quantified, in an abstract way, the knowledge that the human expert has about how to control the plant. Next, we will show how to use fuzzy logic to fully quantify the meaning of linguistic descriptions so that we may automate, in the fuzzy controller, the control rules specified by the expert.

Membership functions Fuzzifiction

Page 42: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

42

Membership Functions

First, we quantify the meaning of the linguistic values using "membership functions." Consider, for example, Figure 4.5. This is a plot of a function versus e(t) that takes on special meaning. The function n quantifies the certainty that e(t) can be classified linguistically as "possmall."

To understand the way that a membership function works, it is best to perform a case analysis where we show how to interpret it for various values of e(t):

Page 43: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

43

FIGURE4.5 Membership function for linguistic value "possmall."

4

2

“ possmal l ”

, .e t rad

1.0

0.5

Page 44: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

44

• If then , indicating that we are certain that is not "possmall."

• If then , indicating that we are halfway certain that is "possmall" (we are only halfway certain since it could also be "zero" with some degree of certainty this value is in a "gray area" in terms of linguistic interpretation).

e t 8 8 0.5

8e t

2 0 2e t

2e t

Page 45: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

45

If then , indicating that we are absolutely certain that is what we mean by "possmall."

• If then , indicating that we are certain that is not "possmall" .

0

4e t

e t

e t

4e t 4 1.0

Page 46: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

46

The membership function quantifies, in a continuous manner, whether values of e(t) belong to the set of values that are "possmall," and hence it quantifies the meaning of the linguistic statement "error is possmall." This is why it is called a membership function. It is important to recognize that the membership function in Figure 4.5 is only one possible definition of the meaning of "error is possmall"; you could use a bell-shaped function, a trapezoid, or many others.

Page 47: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

47

FIGURE4.6a A few membership function choices for representing "error is possmall."

4

2

“ possmal l ”

, .e t rad

1.0

0.5

Page 48: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

48

For instance, consider the membership functions shown in Figure 4.6a. For some application someone may be able to argue that we are absolutely certain that any value of e(t) near is still "possmall" and only when you get sufficiently far from do we lose our confidence that it is "possmall." One way to characterize this understanding of the meaning of "possmall" is via the trapezoid-shaped membership function in Figure 4.6a.

4

4

Page 49: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

49

For other applications you may think of membership in the, set of "possmall" values as being dictated by the Gaussian-shaped membership function shown in Figure 4.6(b). For still other applications you may not readily accept values far away from as being "possmall," so you may use the membership function in Figure 4.6(c) to represent this. Finally, while we often think of symmetric characterizations of the meaning of linguistic values, we are not restricted to these symmetric representations.

4

Page 50: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

50

FIGURE 4.6 (b) A few membership function choices for representing "error is possmall."

4

2

“ possmal l ”

, .e t rad

1.0

0.5

Page 51: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

51

FIGURE 4.6(c) A few membership function choices for representing "error is possmall."

4

2

“ possmal l ”

, .e t rad

1.0

0.5

Page 52: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

52

For instance, in Figure 4.6(d) we represent that we believe that as e(t) moves to the left of we are very quick to reduce our confidence that it is "possmall," but if we move to the right of our confidence that e(t) is "possmall," diminishes at a slower rate.

4

4

Page 53: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

53

FIGURE4.6(d) A few membership function choices for representing "error is possmall."

4

2

“ possmal l ”

, .e t rad

1.0

0.5

3

4

Page 54: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

54

In summary, we see that depending on the application and the designer (expert), many, different choices of membership functions are possible. It is important to note that for the most part the definition of a membership function is subjective rather than objective. That is, we simply quantify it in a manner that makes sense to us, but others, may quantify it in a different manner.

Page 55: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

55

The set of values that is described by as being "positive small" is called a "fuzzy set." Let A denote this fuzzy set. Notice that from Figure 4.6. we are absolutely certain that e(t) = is an element of A, but we are less certain that e(t) = is an element of A. Membership in the set, as specified by the membership function, is fuzzy; hence we use the term "fuzzy set."

4

16

Page 56: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

56

A "crisp" (as contrasted to "fuzzy") quantification of "possmall" can also be specified, but via the membership function shown in Figure 4.7. This membership function is simply an alternative representation for the interval on the real line , and it indicates that this interval of numbers represents "possmall." Clearly,this characterization of crisp sets is simply another way to represent a normal interval (set) of real numbers.

8 3 8e t

Page 57: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

57

FIGURE 4.7 Membership function for a crisp set.

4

2

, .e t rad

1.0

0.5

Page 58: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

58

While the vertical axis in Figure 4.7 represents certainty, the horizontal axis is also given a special name. It is called the "universe of discourse" for the input e(t) since it provides the range of values of e(t) that can be quantified with linguistics and fuzzy sets. In conventional terminology, a universe of discourse for an input or output of a fuzzy system is simply the range of values the inputs and outputs can take on.

Page 59: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

59

Now that we know how to specify the meaning of a linguistic value via a membership function, we can easily specify the membership functions for all 15 linguistic values (five for each input and five for the output) of our inverted pendulum example. See Figure 4.8 for one choice of membership functions.

Page 60: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

60

FIGURE 4.8 Membership functions for an inverted pendulum on a cart.

8

4

, .

de t r a d

d t

“ zero”“ negsmal l ”“ negl arge”-1-2 0 1 2

“ possmal l ” “ posl arge”

8

4

1 6

,u t N

“ zero”“ negsmal l ”“ negl arge”-1-2 0 1 2

“ possmal l ” “ posl arge”

302010-10-20-30

4

2

, .e t r a d

“ zero”“ negsmal l ”“ negl arge”-1-2 0 1 2

“ possmal l ” “ posl arge”

4

2

Page 61: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

61

Notice that we list both the linguistic values and the linguistic-numeric values associated with each membership function. Hence, we see that the membership function in Figure 4.7 for "possmall" is embedded among several others that describe other sizes of values (so that, for instance, the membership function to the right of the one for "possmall" is the one that represents "error is poslarge"). Note that other similarly shaped membership functions make sense (e.g., bell-shaped membership functions).

Page 62: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

62

The membership functions at the outer edges in Figure 4.8 deserve special attention. For "the inputs and we see that the outermost membership functions "saturate" at a value of one. This makes intuitive sense as at some point the human expert would just group all large values together in a linguistic description such as "poslarge." The membership functions at the outermost edges appropriately characterize this phenomenon since they characterize "greater than" (for the right side) and "less than" (for the left side).

Page 63: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

63

For the output u, the membership functions at the outermost edges cannot be saturated for the fuzzy system to be properly defined. The basic reason for this is that in decision-making processes of the type we study, we seek to take actions that specify an exact value for the process input. We do not generally indicate to a process actuator, "any value bigger than, say, 10, is acceptable."

Page 64: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

64

It is important to have a clear picture in your mind of how the values of the membership functions change as, for example, e(t) changes its value over time. For instance, as e(t) changes from to we see that various membership functions will take on zero and nonzero values indicating the degree to which the linguistic value appropriately describes the current value of e(t). For example, at e(t) = we are certain that the error is "neglarge," and as the value of e(t) moves toward we become less certain that it is "neglarge" and more certain that it is "negsmall." We see that the membership functions quantify the meaning of linguistic statements that describe time-varying signals.

2 2

2

4

Page 65: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

65

Finally, note that often we will draw all the membership functions for one input or output variable on one graph; hence, we often omit the label for the vertical axis with the understanding that the plotted functions are membership functions describing the meaning of their associated linguistic values. Also, we will use the notation to represent the membership function associated with the linguistic value "zero" and a similar notation for the others.

The rule-base of the fuzzy controller holds the linguistic variables, linguistic values, their associated membership functions, and the set of all linguistic rules (shown in Table4.1), so we have completed the description of the simple inverted pendulum.

zero

Page 66: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

66

Fuzzification

It is actually the case that for most fuzzy controllers the fuzzification block can be ignored since this process is so simple. Fuzzification process is regared as the act of obtaining a value of an input variable (e.g., e(t)) and finding the numeric values of the membership function(s) that are defined for that variable.

Page 67: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

67

For example, if e(t) = and , the fuzzification process amounts to finding the values of the input membership functions for these. In this case

(with all others zero) and

Some think of the membership function values as an "encoding" of the fuzzy controller numeric input values. The encoded information is then used in the fuzzy inference process that starts with "matching."

4

16

16de t

dt

1possmall e t

0.5zero possmall

d de t e t

dt dt

Page 68: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

68

Matching: Determining Which Rules to Use How do we decide which rules to use?

The inference process generally involves two steps:

1. The premises of all the rules are compared to the controller inputs to determine which rules apply to the current situation. This "matching" process involves determining the certainty that each rule applies, and typically we will more strongly take into account the recommendations of rules that we are more certain apply to the current situation.

Page 69: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

69

2. The conclusions are determined using the rules that have been determined to apply at the current time. The conclusions are characterized with a fuzzy set (or sets) that represents the certainty that the input to the plant should take on various values.

Premise quantification via fuzzy logic Determining which rules are on

Page 70: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

70

Premise Quantification via Fuzzy Logic

To perform inference we must first quantify each of the rules with fuzzy logic. To do this we first quantify the meaning of the premises of the rules that are composed of several terms,each of which involves a fuzzy controller input. We list two terms from the premise of the rule,

If error is zero and change-in-error is possmall Then force is negsmall

Page 71: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

71

FIGURE 4.9 Membership functions of premise terms.

“ error i s zero”

4

4

zero

, .e t rad

0“ zero”

and

quanti fi ed wi th

Change- i n-error i s possmal l

quanti fi ed wi th

8

4

“ possmal l ”

, / secde t rad

d t

1.0

0.5

16

possmall

1

Page 72: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

72

Above, we had quantified the meaning of the linguistic terms "error is zero" and "change-in-error is possmall" via the membership functions shown in Figure 4.9. Now we seek to quantify the linguistic premise "error is zero and change-in-error is possmall." Hence, the main item to focus on is how to quantify the logical "and" operation that combines the meaning of two linguistic terms. While we could use standard Boolean logic to combine these linguistic terms, since we have quantified them more precisely with fuzzy sets (i.e., the membership functions), we can use these.

Page 73: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

73

To see how to quantify the “and” operation, begin by supposing that e(t) = and , so that using Figure 4.9 , we see that

And

What, for these values of e(t) and , is the certainty of the statement

"error is zero and change-in-error is possmall"

that is the premise from the above rule. We will denote this certainty by .

8 32de t

dt

0.5zero e t 0.25possmall

de t

dt

de t

dt

premise

Page 74: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

74

There are actually several ways to define it:

• Minimum: Define = min{0.5,0.25} = 0.25, that is, using the minimum of the two membership values.

• Product: Define = (0.5)(0.25) = 0.125, that is, using the product of the two membership values.

premise

premise

Page 75: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

75

Do these quantifications make sense? Notice that both ways of quantifying the "and" operation in the premise indicate that you can be no more certain about the conjunction of two statements than you are about the individual terms that make them up (note that for either case). If we are not very certain about the truth of one statement, how can we be any more certain about the truth of that statement "and" the other statement?

0 1premise

Page 76: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

76

While we have simply shown how to quantify the "and" operation for one value of e(t) and , if we consider all possible e(t) and values, we will obtain a multidimensional membership function that is a function of e(t) and for each rule. For our example, if we choose the minimum operation to represent the "and" in the premise, then we get the multidimensional membership function

shown in Figure 4.10.

de t

dt de t

dt

,premise

de t e t

dt

de t

dt

,premise

de t e t

dt

Page 77: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

77

Figure 4.10 Membership function of the premise for a single rule

premise

4

4

4

4

16

8

, / secde t rad

d t

,e t rad

Page 78: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

78

Notice that if we pick values for e(t) and , the value of the premise certainty represents how certain we are that the rule

If error is zero and change-in-error is possmall Then force is negsmall

is applicable for specifying the force input to the plant. As e(t) and change, the value of

changes according to Figure4.10, and we become less or more certain of the applicability of this rule.

,premise

de t e t

dt

de t

dt

,premise

de t e t

dt

de t

dt

Page 79: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

79

In general we will have a different premise membership function for each of the rules in the rule-base, and each of these will be a function of e(t) and so that given specific values of e(t) and we obtain a quantification of the certainty that each rule in the rule-base applies to the current situation. It is important you picture in your mind the situation where e(t) and change dynamically over time. When this occurs the values of for each rule change, and hence the applicability of each rule in the rule-base for specifying the force input to the pendulum, changes with time.

de t

dt

de t

dt

,premise

de t e t

dt

de t

dt

Page 80: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

80

Determining Which Rules Are On

Determining the applicability of each rule is called "matching." We say that a rule is "on at time t" if its premise membership function . Hence, the inference mechanism seeks to determine which rules are on to find out which rules are relevant to the current situation. In the next step, the inference mechanism will seek to combine the recommendations of all the rules to come up with a single conclusion.

, 0premise

de t e t

dt

Page 81: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

81

Consider, for the inverted pendulum example, how we compute the rules that are on. Suppose that

And

0e t

0.2948 32de t

dt

Page 82: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

82

Figure 4.11 Input membership functions with input values

4

2

, .e t r a d

“ zero”“ negsmal l ”“ negl arge”-1-2 0 1 2

“ possmal l ” “ posl arge”

4

2

8

4

, .

de t ra d

d t

“ zero”“ negsmal l ”“ negl arge”-1-2 0 1 2

“ possmal l ” “ posl arge”

8

4

1 6

Page 83: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

83

Figure 4.11 shows the membership functions for the inputs and indicates with thick black vertical lines the values above for e(t) and . Notice that but that the other membership functions for the e(t) input are all "off' (i.e., their values are zero). For the input we see that and and that all the other membership functions are off. This implies that rules that have the premise terms

de t

dt

de t

dt

( ( )) 1zero e t

( ( )) 0.25zero

de t

dt

( ( )) 0.75possmall

de t

dt

Page 84: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

84

"error is zero"

"change-in-error is zero"

"change-in-error is possmall"

are on (all other rules have . So, which rules are these? Using Table 4.1, we find that the rules that are on are the following:

1. If error is zero and change-in-error is zero Then force is zero

2. If error is zero and change-in-error is possmall Then force is negsmall

, 0premise

de t e t

dt

Page 85: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

85

Note that since for the pendulum example we have at most two membership functions overlapping, we will never have more than four rules on at one time (this concept generalizes to many inputs). Actually, for this system we will either have one, two, or four rules on at any one time. To get only one rule on choose, for example, e(t) = 0 and so that only rule 2 above is on.

8

de t

dt

Page 86: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

86

It is useful to consider pictorially which rules are on. Consider Table 4.2, which is a copy of Table 4.1 with boxes drawn around the consequents of the rules that are on (notice that these are the same two rules listed above). Notice that since e(t) = 0 (e(t) is directly in the middle between the membership functions for "possmall" and "negsmall") both these membership functions are off. If we perturbed e(t) slightly positive (negative), then we would have the two rules below (above) the two highlighted ones on also.

Page 87: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

87

TABLE 4.2 Rule Table for the Inverted Pendulum with Rules That Are "On" Highlighted.

“force”

u

“change-in-error” ė

-2 -1 0 1 2

“error”

e

-2 2 2 2 1 0

-1 2 2 1 0 -1

0 2 1 00 -1-1 -2

1 1 0 -1 -2 -2

2 0 -1 -2 -2 -2

Page 88: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

88

With this, you should picture in your mind how a region of rules that are on will dynamically move around in the table as the values of e(t) and change. This completes our description of the "matching" phase of the inference mechanism.

de t

dt

Page 89: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

89

Inference Step: Determining Conclusions

How do we determine conclusions?Next, we consider how to determine which

conclusions should be reached when the rules that are on are applied to deciding what the force input to the cart carrying the inverted pendulum should be. To do this, we will first consider the recommendations of each rule independently. Then later we will combine all the recommendations from all the rules to determine the force input to the cart.

Page 90: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

90

Recommendation from One Rule

Consider the conclusion reached by the ruleIf error is zero and change-in-error is zero Then force is

zerowhich for convenience we will refer to as "rule (1)." Using

the minimum to represent the premise, we have (the notation represents for rule (1)) so that we

are 0.25 certain that this rule applies to the current situation. The rule indicates that if its premise is true then the action indicated by its consequent should be taken.

1 min 0.25,1 0.25premise

1premise

Page 91: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

91

For rule (1) the consequent is "force is zero" The membership function for this consequent is shown in Figure 4.12(a). The membership function for the conclusion reached by rule (1), which we denote by , is shown in Figure 4.12(b) and is given by

1 min 0.25, zero u

1

Page 92: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

92

FIGU RE 4.12 (a) Consequent membership function and (b) implied fuzzy set with membership function M(i)(«) for rule (1). Recall that the units for u(t) are Newtons (N).

,u t N

0“ zero”

10-10 ,u t N

0“ zero”

10-10

0. 25

Page 93: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

93

This membership function defines the "implied fuzzy set" for rule (1) (i.e., it is the conclusion that is implied by rule (1)). The justification for the use of the minimum operator to represent the implication is that we can be no more certain about our consequent than our premise. We could use the product operation to represent the implication also.

Page 94: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

94

Notice that the membership function is a function of u and that the minimum operation will generally "chop off the top" of the membership function to produce . For different values of e(t) and there will be different values of the premise certainty

for rule (1) and hence different functions obtained (i.e., it will chop off the top at different points).

1 u

zero u

1 u de t

dt

1 ,premise

de t e t

dt

1 u

Page 95: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

95

We see that is in general a time-varying function that quantifies how certain rule (1) is that the force input u should take on certain values. It is most certain that the force input should lie in a region around zero (see Figure 4.12(b)), and it indicates that it is certain that the force input should not be too large in either the positive or negative direction—this makes sense if you consider the linguistic meaning of the rule. The membership function quantifies the conclusion reached by only rule (1) and only for the current e(t) and .

1 u

1 u

de t

dt

Page 96: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

96

Recommendation from Another RuleNext, consider the conclusion reached by the other rule

that is on,

If error is zero and change-in-error is possmall Then force is negsmall

which for convenience we will refer to as "rule (2)." Using the minimum to represent the premise, we have

so that we are 0.75 certain that this rule applies to the current situation. Notice that we are much more certain that rule (2) applies to the current situation than rule (1).

2 min 0.75,1 0.75premise

Page 97: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

97

For rule (2) the consequent is "force is negsmall" (this makes sense, for here the pendulum is perfectly balanced but is moving in the counterclockwise direction with a small velocity). The membership function for this consequent is shown in Figure 4.13(a). The membership function for the conclusion reached by rule (2), which we denote by , is shown in Figure 4.13(b) (the shaded region) and is given by

2 min 0.75, negsmallu u

2

Page 98: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

98

FIGURE 4.13 (a) Consequent membership function and (b) implied fuzzy set with membership function for rule (2).

,u t N

-1“ negsaml l ”

-10-20 ,u t N

-1“ negsaml l ”

-10-20

0. 75

Page 99: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

99

This membership function defines the implied fuzzy set for rule (2) (i.e., it is the conclusion that is reached by rule (2)). Once again, for different values of e(t) and there will be different values of for rule(2)and hence different function obtained. Rule (2) is quite certain that the control output (process input) should be a small negative value. This makes sense since if the pendulum has some counterclockwise velocity then we would want to apply a negative force (i.e., one to the left). As rule (2) has a premise membership function that has higher certainty than for rule (1), we see that we are more certain of the conclusion reached by rule (2).

de t

dt

2 ,premise

de t e t

dt

Page 100: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

100

This completes the operations of the inference mechanism. While the input to the inference process is the set of rules that are on, its output is the set of implied fuzzy sets that represent the conclusions reached by all the rules that are on. For our example, there are at most four conclusions reached since there are at most four rules on at any one time. (In fact, you could say that there are always four conclusions reached for our example, but that the implied fuzzy sets for some of the rules may have implied membership functions that are zero for all values.)

Page 101: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

101

Converting Decisions into Actions

Next, we consider the defuzzification operation, which is the final component of the fuzzy controller shown in Figure4.14. Defuzzification operates on the implied fuzzy sets produced by the inference mechanism and combines their effects to provide the "most certain" controller output (plant input). Some think of defuzzification as "decoding" the fuzzy set information produced by the inference process (i.e., the implied fuzzy sets) into numeric fuzzy controller outputs.

Page 102: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

102

Fuzzy control l er

Fuzz

ific

atio

n

Defu

zzif

icat

ion

I nf erencemechani sm

Rul e-base

Process

I nputsu(t)

Outputsy(t)

Reference i nputr(t)

Figure4.14 Fuzzy controller architecture.

Page 103: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

103

To understand defuzzification, it is best to first draw all the implied fuzzy sets on one axis as shown in Figure 4.15. We want to find the one output, which we denote by that best represents the conclusions of the fuzzy controller that are represented with the implied fuzzy sets. There are actually many approaches to defuzzification.

crispu

Page 104: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

104

FIGURE 4.15 Implied fuzzy sets.

,u t N

0“ zero”

10-10 20-30 -20 30

-1“ negsaml l ”

Page 105: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

105

Combining Recommendations

Due to its popularity, we will first consider the "center of gravity" (COG) defuzzification method for combining the recommendations represented by the implied fuzzy sets from all the rules. Let bi, denote the center of the membership function (i.e., where it reaches its peak for our example) of the consequent of rule (i). For our example we have

b1=0.0

Page 106: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

106

and

b2 = -10

as shown in Figure4.15. Let denote the area under the membership function . The COG method computes to be

( 4.1)This is the classical formula for computing

the center of gravity. In this case it is for computing the center of gravity of the implied fuzzy sets.

i

i

i iicrisp

ii

bu

Page 107: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

107

Three items about Equation (4.1) are important to note:

1. Practically, we cannot have output membership functions that have infinite area since even though they may be "chopped off' in the minimum operation for the implication (or scaled for the product operation) they can still end up with infinite area. This is the reason we do not allow infinite area membership functions for the linguistic values for the controller output (e.g., we did not allow the saturated membership functions at the outermost edges as we had for the inputs shown in Figure 4.8).

Page 108: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

108

FIGURE 4.8 Membership functions for an inverted pendulum on a cart.

8

4

, .

de t r a d

d t

“ zero”“ negsmal l ”“ negl arge”-1-2 0 1 2

“ possmal l ” “ posl arge”

8

4

1 6

,u t N

“ zero”“ negsmal l ”“ negl arge”-1-2 0 1 2

“ possmal l ” “ posl arge”

302010-10-20-30

4

2

, .e t r a d

“ zero”“ negsmal l ”“ negl arge”-1-2 0 1 2

“ possmal l ” “ posl arge”

4

2

Page 109: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

109

2. You must be careful to define the input and output membership functions so that the sum in the denominator of Equation (4.1) is not equal to zero no matter what,the inputs to the fuzzy controller are. Essentially, this means that we must have some sort of conclusion for all possible control situations we may encounter.

3.    While at first glance it may not appear so, is easy to compute for our example. For the case where we have symmetric triangular output membership functions that peak at one and have a base width of w, simple geometry can be used to show that the area under a triangle “chopped off” at a height of h is equal to

i

2

2

hw h

Page 110: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

110

Given this, the computations needed to compute are not too significant.

We see that the property of membership functions being symmetric for the output is important since in this case no matter whether the minimum or product is used to represent the implication, it will be the case that the center of the implied fuzzy set will be the same as the center of the consequent fuzzy set from which it is computed. If the output membership functions are not symmetric, then their centers, which are needed in the computation of the COG, will change depending on the membership value of the premise. This will result in the need to recompute the center at each time instant.

Page 111: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

111

Using Equation (4.1) with Figure4.15 we have

as the input to the pendulum for the given e(t) and .

Does this value for a force input (i.e., 6.81 Newtons to the left) make sense? Consider Figure 4.16, where we have taken the implied fuzzy sets from Figure 4.15 and simply added an indication of what number COG defuzzification says is the best representation of the conclusions reached by the rules that are on. Notice that the value of is roughly in the middle of where the implied fuzzy sets say they are most certain about the value for the force input.

0 4.375 10 9.3756.81

4.375 9.375crispu

de t

dt

crispu

Page 112: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

112

FIGURE 4.16 Implied fuzzy sets

6.81crispu

,u t N

0“ zero”

10-10 20-30 -20 30

-1“ negsaml l ”

Page 113: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

113

In fact, recall that we had

e{t} = O

and

so the pendulum is in the inverted position but is moving counterclockwise with a small velocity; hence it makes sense to pull on the cart, and the fuzzy controller does this.

It is interesting to note that for our example it will be the case that

8 32 0.294de t

dt

20 20crispu

Page 114: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

114

To see this, consider Figure 4.17, where we have drawn the output membership functions. Notice that even though we have extended the membership functions at the outermost edges past -20 and +20 (see the shaded regions), the COG method will never compute a value outside this range.

The reason for this comes directly from the definition of the COG method in Equation (4.1). The center of gravity for these shapes simply cannot extend beyond -20 and +20. Practically speaking, this ability to limit the range of inputs to the plant is useful; it may be the case that applying a force of greater than 20 Newtons is impossible for this plant. Thus we see that in defining the membership functions for the fuzzy controller, we must take into account what method is going to be used for defuzzification.

Page 115: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

115

FIGURE 4.17 Output membership functions.

,u t N

“ zero”“ negsmal l ”“ negl arge”-1-2 0 1 2

“ possmal l ” “ posl arge”

302010-10-20-30

Page 116: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

116

Other Ways to Compute and Combine Recommendations

As another example, it is interesting to consider how to compute, by hand, the operations that the fuzzy controller takes when we use the product to represent the implication or the "center-average" defuzzification method.

First, consider the use of the product. Consider Figure 4.18, where we have drawn the output membership functions for "negsmall" and "zero" as dotted lines.

Page 117: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

117

FIGURE 4.18 Implied fuzzy sets when the product is used to represent the implication.

,u t N

0“ zero”

10-10 20-30 -20 30

-1“ negsaml l ”

0. 75

0. 25

Page 118: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

118

The implied fuzzy set from rule (1) is given by the membership function

shown in Figure 4.18 as the shaded triangle; and the implied fuzzy set for rule (2) is given by the membership function

shown in Figure 4.18 as the dark triangle. Notice that computation of the COG is easy since we can use as the area for a triangle with base width w and height h. When we use

product to represent the implication, we obtainwhich also makes sense.

1 0.25 zerou u

2 0.75 negsmallu u

1

2wh

0 2.5 10 7.57.5

2.5 7.5crispu

Page 119: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

119

Next, as another example of how to combine recommendations, we will introduce the "center-average" method for defuzzification. For this method we let

(4.2) where to compute we use, for example,

minimum. We call it the "center-average" method since Equation (4.2) is a weighted average of the center values of the output membership function centers. Basically, the center-average method replaces the areas of the implied fuzzy sets that are used in COG with the values of .

( )

( )

i premise icrisp i

premise ii

bu

( )premise i

( )premise i

Page 120: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

120

This is a valid replacement since the area of the implied fuzzy set is generally proportional to since

is used to chop the top off (minimum) or scale (product) the triangular output membership function when COG is used for our example. For the above example, we have

which just happens to be the same value as above. Some like the center-average defuzzification method because the computations needed are simpler than for COG and because the output membership functions are easy to store since the only relevant information they provide is their center values ( ) (i.e., their shape does not matter, just their center value).

( )premise i( )premise i

0 0.25 10 0.757.5

0.25 0.75crispu

ib

Page 121: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

121

Notice that while both values computed for the different inference and defuzzification methods provide reasonable command inputs to the plant, it is difficult to say which is best without further investigations (e.g., simulations or implementation). This ambiguity about how to define the fuzzy controller actually extends to the general case and also arises in the specification of all the other fuzzy controller components, as we discuss below. Some would call this "ambiguity" a design flexibility, but unfortunately there are not too many guidelines on how best to choose the inference strategy and defuzzification method, so such flexibility is of questionable value.

Page 122: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

122

Graphical Depiction of Fuzzy Decision Making For convenience, we summarize the procedure

that the fuzzy controller uses to compute its outputs given its inputs in Figure 4.19. Here, we use the minimum operator to represent the "and" in the premise and the implication and COG defuzzification. Then, repeat the process when center-average defuzzification is used with either minimum or product used for the premise. Also, learn how to picture in your mind how the parameters of this graphical representation of the fuzzy controller operations change as the fuzzy controller inputs change.

Page 123: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

123

FIGURE 4.19 Graphical representation of fuzzy controller operations.

e t4

4

“ zero”

I f error i s zero and chang- i n-error i s zero Then f orce i s zero

,u t N

“ zero”

10-10

0. 25

8

8

“ zero”

de t

dt16

I f error i s zero and chang- i n-error i s possmal l Then f orce i s negsaml l

6.81crispu

,u t N

“ zero”

10-10-20

“ negsaml l ”

,u t N-10-20

“ negsaml l ”

0. 75

e t4

4

“ zero”

8

4

“ possmal l ”

de t

dt16

Page 124: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

124

This completes the description of the operation of a simple fuzzy controller. We simply show how to handle the case where there are more inputs and outputs and show a fuller range of choices that you can make for the various components of the fuzzy controller.

Page 125: 1 Lecture 4-2 Fuzzy Controller Design. 2 How do we design a fuzzy controller? Fuzzy control system design essentially amounts to (1) choosing the fuzzy.

125

As evidenced by the different values obtained by using the minimum, product, and defuzzification operations, there are many ways to choose the parameters of the fuzzy controller that make sense. This presents a problem since it is almost always difficult to know how to first design a fuzzy controller. Basically, the choice of all the components for the fuzzy controller is somewhat ad hoc.

What are the best membership functions? How many linguistic values and rules should there be? Should the minimum or product be used to represent the

"and" in the premise—and which should be used to represent the implication?

What defuzzification method should be chosen?

These are all questions that must be addressed if you want to design a fuzzy controller.