We can choose gu so that the range of outputs that are possible is the maximum one possible yet still so that the input to the plant will not saturate(for practical problems the inputs to the plant wil always saturate at some value). Clearly, this is a very heuristic choice for the gains and hence may not always work Sometimes, tuning of these gains wil need to be performed when we tune the overall FMrlc 21
21 We can choose gu so that the range of outputs that are possible is the maximum one possible yet still so that the input to the plant will not saturate (for practical problems the inputs to the plant will always saturate at some value). Clearly, this is a very heuristic choice for the gains and hence may not always work. Sometimes, tuning of these gains will need to be performed when we tune the overall FMRLC
Rule-Base The rule-base for the fuzzy controller has rules of the form if e is ei and c is C then u is U' where e and c denote the linguistic variables associated with controller inputs e(kr) and c(kr respectively, u denotes the linguistic variable associated with the controller output u,ej and Cl denote the t(th )linguistic value associated withe(a), respectively, Umdenotes the consequent linguistic value associated with u.22
22 Rule-Base The rule-base for the fuzzy controller has rules of the form where and denote the linguistic variables associated with controller inputs e(kT) and c(kT), respectively, denotes the linguistic variable associated with the controller output u, denote the j th (lth) linguistic value associated with , respectively, denotes the consequent linguistic value associated with . j l m If e is E and c is C then u is U e c u j l E and C e c( ) m U u
Hence, as an example one fuzzy control rule could be If error is positive-large and change-in-error is negative-small Then plant-input is positive-big in this case e ="error",E4 ="positive-large", etc. We use a standard choice for all the membership functions on all the input universes of discourse such as the ones shown in Figure 4. 4. Hence, we would simply use some membership functions similar to those in Figure 4.4, but with a scaled horizontal axis, for the c(kT input
23 Hence, as an example, one fuzzy control rule could be If error is positive-large and change-in-error is negative-small Then plant-input is positive-big (in this case = "error", = "positive-large", etc.). We use a standard choice for all the membership functions on all the input universes of discourse, such as the ones shown in Figure 4.4. Hence, we would simply use some membership functions similar to those in Figure 4.4, but with a scaled horizontal axis, for the c(kT) input. e 4 E
1.8-.6-1041.20.20406081 FIGURE 4.4 Membership functions for input universe of discourse(figure taken from [112,o EEEE). 24
24 FIGURE 4.4 Membership functions for input universe of discourse (figure taken from [112], © EEEE). e kT ( ) E E E -2 -1 0 1 2 E E -0.6 -0.4 -0.2 0.2 0.4 0.6 1 -1 -0.8 0.8 1 E E E E -5 -4 -3 5 3 4 E E
We will use all possible combinations of rules for the rule-base. For example, we could choose to have 11 membership functions on each of the two input universes of discourse, in which case we would have 112=121 rules in the rule base. At first glance it would appear that the complexity of the controller could make implementation prohibitive for applications where it is necessary to have many inputs to the fuzzy controller. However, in Section 2.6 we explained how implementation tricks can be used to significantly reduce computation time when there are input membership functions of the form shown in Figure 4.4 25
25 We will use all possible combinations of rules for the rule-base. For example, we could choose to have 11 membership functions on each of the two input universes of discourse, in which case we would have 112 = 121 rules in the rulebase. At first glance it would appear that the complexity of the controller could make implementation prohibitive for applications where it is necessary to have many inputs to the fuzzy controller. However, in Section 2.6, we explained how implementation tricks can be used to significantly reduce computation time when there are input membership functions of the form shown in Figure 4.4