Rule-Base initialization The input membership functions are defined to characterize the premises of the rules that define the various situations in which rules should be applied. The input membership functions are left constant and are not tuned by the FMrLc. The membership functions on the output universe of discourse are assumed to be unknown. They are what the FMRLC will automatically synthesize or tune. Hence, the FMRLc tries to fill in what actions ought to be taken for the various situations that are characterized by the6 premises
26 Rule-Base Initialization The input membership functions are defined to characterize the premises of the rules that define the various situations in which rules should be applied. The input membership functions are left constant and are not tuned by the FMRLC. The membership functions on the output universe of discourse are assumed to be unknown. They are what the FMRLC will automatically synthesize or tune. Hence, the FMRLC tries to fill in what actions ought to be taken for the various situations that are characterized by the premises
We must choose initial values for each of the output membership functions. For example, for an output universe of discourse [-1, 1] we could choose triangular-shaped membership functions with base widths of 0.4 and centers at zero. This choice represents that the fuzzy controller initially knows nothing about how to control the plant so it inputs u 0 to the plant initially(well, really it does know something since we specify the remainder of the fuzzy controller a priori). Of course, one can often make a reasonable best guess at how to specify a fuzzy controller that is"more knowledgeable" than simply placing the output membership function centers at zero. For example, we could pick the initial fuzzy controller to be the best one that we can design for the nominal plant. Notice, however, that this choice is not always the best one. Really, what you often want to choose is the fuzzy controller that is best for the operating condition that the plant will begin in(this may not be the nominal condition). Unfortunately, it is not always possible to pick such a controller since you may not be able to measure the operating condition of the plant, so making a best guess or simply placing the membership function centers at zero are 7 common choices
27 We must choose initial values for each of the output membership functions. For example, for an output universe of discourse [-1, 1] we could choose triangular-shaped membership functions with base widths of 0.4 and centers at zero. This choice represents that the fuzzy controller initially knows nothing about how to control the plant so it inputs u = 0 to the plant initially (well, really it does know something since we specify the remainder of the fuzzy controller a priori). Of course, one can often make a reasonable best guess at how to specify a fuzzy controller that is "more knowledgeable" than simply placing the output membership function centers at zero. For example, we could pick the initial fuzzy controller to be the best one that we can design for the nominal plant. Notice, however, that this choice is not always the best one. Really, what you often want to choose is the fuzzy controller that is best for the operating condition that the plant will begin in (this may not be the nominal condition). Unfortunately, it is not always possible to pick such a controller since you may not be able to measure the operating condition of the plant, so making a best guess or simply placing the membership function centers at zero are common choices
To complete the specification of the fuzzy controller, we use minimum or product to represent the conjunction in the premise and the implication and the standard center-of-gravity defuzzification technique. As an alternative, we could use appropriately initialized singleton output membership functions and center-average defuzzification 28
28 To complete the specification of the fuzzy controller, we use minimum or product to represent the conjunction in the premise and the implication and the standard center-of-gravity defuzzification technique. As an alternative, we could use appropriately initialized singleton output membership functions and center-average defuzzification
Learning, Memorization, and Controller Input Choice For some applications you may want to use an integral of the error or other preprocessing of the inputs to the fuzzy controller. Sometimes the same guidelines that are used for the choice of the inputs for a nonadaptive fuzzy controller are useful for the FMRLC. We have found, however, times where it is advantageous to replace part of a conventional controller with a fuzzy controller and use the fmrlc to tune it. In these cases the complex preprocessing of inputs to the fuzzy controller is achieved via a conventional controller Sometimes there is also the need for postprocessing of the fuzzy controller outputs 29
29 Learning, Memorization, and Controller Input Choice For some applications you may want to use an integral of the error or other preprocessing of the inputs to the fuzzy controller. Sometimes the same guidelines that are used for the choice of the inputs for a nonadaptive fuzzy controller are useful for the FMRLC. We have found, however, times where it is advantageous to replace part of a conventional controller with a fuzzy controller and use the FMRLC to tune it. In these cases the complex preprocessing of inputs to the fuzzy controller is achieved via a conventional controller. Sometimes there is also the need for postprocessing of the fuzzy controller outputs
Generally, however, choice of the inputs also involves issues related to the learning dynamics of the Fmrlc As the FMRLC operates, the learning mechanism will tune the fuzzy controller's output membership functions. In particular, in our example, for each different combination of e(kt) and c(kT) inputs, it will try to learn what the best control actions are. In general, there is a close connection between what inputs are provided to the controller and the controller's ability to learn to control the plant for different reference inputs and plant operating conditions. We would like to be able to design the FMRLC so that it will learn and remember different fuzzy controllers for all the different plant operating conditions and reference inputs; hence, the fuzzy controller needs information about these
30 Generally, however, choice of the inputs also involves issues related to the learning dynamics of the FMRLC. As the FMRLC operates, the learning mechanism will tune the fuzzy controller's output membership functions. In particular, in our example, for each different combination of e(kT) and c(kT) inputs, it will try to learn what the best control actions are. In general, there is a close connection between what inputs are provided to the controller and the controller's ability to learn to control the plant for different reference inputs and plant operating conditions. We would like to be able to design the FMRLC so that it will learn and remember different fuzzy controllers for all the different plant operating conditions and reference inputs; hence, the fuzzy controller needs information about these