第三章 Adaptive Fuzzy Control 3.1 Overview The design process for fuzzy controllers that is based on the use of heuristic information from human experts has found success in many industrial applications. Moreover, the approach to constructing fuzzy controllers via numerical input-output data is increasingly finding use Regardless of which approach is used, however, there are certain problems that are encountered for practical control problems, including the following:(1) The design of fuzzy controllers is performed in an ad hoc manner so it is often difficult to choose at least some of the controller parameters. For example, it is sometimes difficult to know how to pick the membership functions and rule-base to meet a specific desired level of performance. (2)The fuzzy controller constructed for the nominal plant may later perform inadequately if significant and unpredictable plant parameter variations occur, or if there is noise or some type of disturbance or some other environmental effect. Hence, it may be difficult to perform the initial synthesis of the fuzzy controller, and if the plant changes while the closed-loop system is operating we may not be able to maintain adequate performance levels As an example, we showed how our heuristic knowledge can be used to design a fuzzy controller for the rotational inverted pendulum. However, we also showed that if a bottle half-filled with water is attached to the endpoint, the performance of the fuzzy controller degraded. While we certainly could have tuned the controller for this new situation it would not then perform as well without a bottle of liquid at the endpoint. It is for this reason that we need a way to automatically tune the fuzzy controller so that it can adapt to different plant conditions. Indeed, it would be nice if we had a method that could automatically perform the whole design task for us initially so that it would also synthesize the fuzzy controller for the nominal condition. In this chapter we study systems that can automatically synthesize and tune (direct) fuzzy controllers There are two general approaches to adaptive control, the first of which is depicted in Figure 3. 1. In this approach the adaptation mechanism"observes the signals from the control system and adapts the parameters of the controller to maintain performance even if there are changes in the plant. Sometimes, the desired performance is characterized with a reference model, "and the controller then seeks to make the closed-loop system behave as the reference model would ven if the plant changes. This is called"model reference adaptive control"(MRAC) In Section 3. 2 we use a simple example to introduce a method for direct(model reference) adaptive fuzzy control where the controller that is tuned is a fuzzy controller. Next, we provide several design and implementation case studies to show how it compares to conventional adaptive control for a ship steering application, how to make it work for a PDF文件使用" pdffactory Pro"试用版本创建ww. fineprint,com,cn
第三章 Adaptive Fuzzy Control 3.1 Overview The design process for fuzzy controllers that is based on the use of heuristic information from human experts has found success in many industrial applications. Moreover, the approach to constructing fuzzy controllers via numerical input-output data is increasingly finding use. Regardless of which approach is used, however, there are certain problems that are encountered for practical control problems, including the following: (1) The design of fuzzy controllers is performed in an ad hoc manner so it is often difficult to choose at least some of the controller parameters. For example, it is sometimes difficult to know how to pick the membership functions and rule-base to meet a specific desired level of performance. (2) The fuzzy controller constructed for the nominal plant may later perform inadequately if significant and unpredictable plant parameter variations occur, or if there is noise or some type of disturbance or some other environmental effect. Hence, it may be difficult to perform the initial synthesis of the fuzzy controller, and if the plant changes while the closed-loop system is operating we may not be able to maintain adequate performance levels. As an example, we showed how our heuristic knowledge can be used to design a fuzzy controller for the rotational inverted pendulum. However, we also showed that if a bottle half-filled with water is attached to the endpoint, the performance of the fuzzy controller degraded. While we certainly could have tuned the controller for this new situation, it would not then perform as well without a bottle of liquid at the endpoint. It is for this reason that we need a way to automatically tune the fuzzy controller so that it can adapt to different plant conditions. Indeed, it would be nice if we had a method that could automatically perform the whole design task for us initially so that it would also synthesize the fuzzy controller for the nominal condition. In this chapter we study systems that can automatically synthesize and tune (direct) fuzzy controllers. There are two general approaches to adaptive control, the first of which is depicted in Figure 3.1. In this approach the "adaptation mechanism" observes the signals from the control system and adapts the parameters of the controller to maintain performance even if there are changes in the plant. Sometimes, the desired performance is characterized with a "reference model," and the controller then seeks to make the closed-loop system behave as the reference model would even if the plant changes. This is called "model reference adaptive control" (MRAC). In Section 3.2 we use a simple example to introduce a method for direct (model reference) adaptive fuzzy control where the controller that is tuned is a fuzzy controller. Next, we provide several design and implementation case studies to show how it compares to conventional adaptive control for a ship steering application, how to make it work for a PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
multi-input multi-output(MIMO) fault-tolerant aircraft control problem. Following this, in Section 3. 4 we show several ways to "dynamically focus"the learning activities of an adaptive fuzzy controller. A simple magnetic levitation control problem is used to introduce the methods, and we compare the performance of the methods to a conventional adaptive control technique Design and implementation case studies are ovided for the rotational inverted pendulum(with a sloshing liquid in a bottle at the endpoint) Adaptation mechani sm r(t) u( y(t) controller plant In the second general approach to adaptive control, which is shown in Figure 3. 2, we use an on-line syster identification method to estimate the parameters of the plant and a"controller designer"module to subsequently specify the parameters of the controller Controll paramete. System designer identification Controller parameter r(t) u(t controller plant Figure 3. 2 indirect adaptive controls If the plant parameters change, the identifier will provide estimates of these and the controller designer will subsequently tune the controller. It is inherently assumed that we are certain that the estimated plant parameters are equivalent to the actual ones at all times(this is called the "certainty equivalence principle"). Then if the controller PDF文件使用" pdffactory Pro"试用版本创建ww. fineprint,com,cn
multi-input multi-output (MIMO) fault-tolerant aircraft control problem. Following this, in Section 3.4 we show several ways to "dynamically focus" the learning activities of an adaptive fuzzy controller. A simple magnetic levitation control problem is used to introduce the methods, and we compare the performance of the methods to a conventional adaptive control technique. Design and implementation case studies are provided for the rotational inverted pendulum (with a sloshing liquid in a bottle at the endpoint). Figure 3.1 direct adaptive controls. In the second general approach to adaptive control, which is shown in Figure 3.2, we use an on-line system identification method to estimate the parameters of the plant and a "controller designer" module to subsequently specify the parameters of the controller. Figure 3.2 indirect adaptive controls. If the plant parameters change, the identifier will provide estimates of these and the controller designer will subsequently tune the controller. It is inherently assumed that we are certain that the estimated plant parameters are equivalent to the actual ones at all times (this is called the "certainty equivalence principle"). Then if the controller PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
designer can specify a controller for each set of plant parameter estimates, it will succeed in controlling the plant. The overall approach is called"indirect adaptive control"since we tune the controller indirectly by first estimating the plant parameters(as opposed to direct adaptive control, where the controller parameters are estimated directly without first identifying the plant parameters). In Section 3. 6 we explain how to use the on-line estimation techniques, coupled with a controller designer, to achieve indirect adaptive fuzzy control for nonlinear systems. We discuss two approaches, one based on feedback linearization and the other we name "adaptive parallel distributed compensation"since it builds on the parallel distributed compensator 3.2 Fuzzy Model Reference Learning Control (FMRLC) A"learning system"possesses the capability to improve its performance over time by interacting with its environment. A learning control system is designed so that its"learning controller"has the ability to improve the performance of the closed-loop system by generating command inputs to the plant and utilizing feedback information from the plant In this section we introduce the"fuzzy model reference learning controller"(FMRLC), which is a(direct) model reference adaptive controller. The term"learning"is used as opposed to"adaptive"to distinguish it from the approach to the conventional model reference adaptive controller for linear systems with unknown plant parameters. In particular, the distinction is drawn since the FMRlC will tune and to some extent remember the values that it had tuned in the past, while the conventional approaches for linear systems simply continue to tune the controller parameters. Hence, for some applications when a properly designed FMRLC returns to a familiar operating condition, it will already know how to control for that condition. Many past conventional adaptive control techniques for linear systems would have to retune each time a new operating condition is encountered model Knowledze-bas t modifier K Inference"I mechanis r Fuzzy sets Ru ule base 圆n ant /(kT Figure 3. 3 Fuzzy model reference learning controller The functional block diagram for the FMRLC is shown in Figure 3. 3. It has four main parts: the plant, the fuzz controller to be tuned, the reference model, and the learning mechanism(an adaptation mechanism). We use discrete PDF文件使用" pdffactory Pro"试用版本创建ww. fineprint,com,cn
designer can specify a controller for each set of plant parameter estimates, it will succeed in controlling the plant. The overall approach is called "indirect adaptive control" since we tune the controller indirectly by first estimating the plant parameters (as opposed to direct adaptive control, where the controller parameters are estimated directly without first identifying the plant parameters). In Section 3.6 we explain how to use the on-line estimation techniques, coupled with a controller designer, to achieve indirect adaptive fuzzy control for nonlinear systems. We discuss two approaches, one based on feedback linearization and the other we name "adaptive parallel distributed compensation" since it builds on the parallel distributed compensator. 3.2 Fuzzy Model Reference Learning Control (FMRLC) A "learning system" possesses the capability to improve its performance over time by interacting with its environment. A learning control system is designed so that its "learning controller" has the ability to improve the performance of the closed-loop system by generating command inputs to the plant and utilizing feedback information from the plant. In this section we introduce the "fuzzy model reference learning controller" (FMRLC), which is a (direct) model reference adaptive controller. The term "learning" is used as opposed to "adaptive" to distinguish it from the approach to the conventional model reference adaptive controller for linear systems with unknown plant parameters. In particular, the distinction is drawn since the FMRLC will tune and to some extent remember the values that it had tuned in the past, while the conventional approaches for linear systems simply continue to tune the controller parameters. Hence, for some applications when a properly designed FMRLC returns to a familiar operating condition, it will already know how to control for that condition. Many past conventional adaptive control techniques for linear systems would have to retune each time a new operating condition is encountered. Figure 3.3 Fuzzy model reference learning controller The functional block diagram for the FMRLC is shown in Figure 3.3. It has four main parts: the plant, the fuzzy controller to be tuned, the reference model, and the learning mechanism (an adaptation mechanism). We use discrete PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
ime signals since it is easier to explain the operation of the Fmrlc for discrete time systems. The FmrLC uses the learning mechanism to observe numerical data from a fuzzy control system(i.e, r(kT)and y(kn) where T is the sampling period). Using this numerical data, it characterizes the fuzzy control systems current performance and automaticall synthesizes or adjusts the fuzzy controller so that some given performance objectives are met These performance objectives(closed-loop specifications) are characterized via the reference model shown in Figure 3. 3. In a manner analogous to conventional MRAC where conventional controllers are adjusted, the learning mechanism seeks to adjust the fuzzy controller so that the closed-loop system( the map from r(kn) to y(kn))acts like the given reference model(the map from r(kn)to ym(kn)). Basically, the fuzzy control system loop(the lower part of Figure 3. 3)operates to make y(kn) track r(kn) by manipulating u(kn), while the upper-level adaptation control loop(the upper part of Figure 3.3)seeks to make the output of the plant y(kn)track the output of the reference model ym(kn by manipulating the fuzzy controller parameters Next, we describe each component of the FMRLC in more detail for the case where there is one input and one output from the plant (we will use the design and implementation case studies in Section 3. 3 to show how to apply the approach to MIMO systems) 3.2.1 The Fuzzy Controller The plant in Figure 3.3 has an input u(kn)and output y(kn). Most often the inputs to the fuzzy controller are generated ia some function of the plant output y(kn)and reference input r(kn). Figure 3. 3 shows a simple example of such a map that has been found to be useful in some applications. For this, the inputs to the fuzzy controller are the error e(kn)=r(kn) y(T)and change in error c(kT) e(kr)-e(kT-T) (i.e. a PD fuzzy controller) There are times when it is beneficial to place a smoothing filter between the r(kt) reference input and the summing junction. Such a filter is sometimes needed to make sure that smooth and reasonable requests are made of the fuzzy controller(e.g, a square wave input for r(kn) may be unreasonable for some systems that you know cannot respond instantaneously ). Sometimes, if you ask for the system to perfectly track an unreasonable reference input, the FmrlC will essentially keep adjusting the"gain"of the fuzzy controller until it becomes too large. Generally, it is important to choose the inputs to the fuzzy controller, and how you process r(kn) and y(kn), properly; otherwise performance can be adversely affected and it may not be possible to maintain stability Returning to Figure 3.3, we use scaling gains ge, ge and gu for the error e(kn), change in error c(kD), and controller output u(kn), respectively. a first guess at these gains can be obtained in the following way: The gain ge, can be chosen so that the range of values that e(kn) typically takes on will not make it so that its values will result in saturation of the corresponding outermost input membership functions. The gain gc can be determined by experimenting with various inputs to the fuzzy control system(without the adaptation mechanism) to determine the normal range of values that c(kt PDF文件使用" pdffactory Pro"试用版本创建ww, fineprint,com,cn
time signals since it is easier to explain the operation of the FMRLC for discrete time systems. The FMRLC uses the learning mechanism to observe numerical data from a fuzzy control system (i.e., r(kT) and y(kT) where T is the sampling period). Using this numerical data, it characterizes the fuzzy control system's current performance and automatically synthesizes or adjusts the fuzzy controller so that some given performance objectives are met. These performance objectives (closed-loop specifications) are characterized via the reference model shown in Figure 3.3. In a manner analogous to conventional MRAC where conventional controllers are adjusted, the learning mechanism seeks to adjust the fuzzy controller so that the closed-loop system (the map from r(kT) to y(kT)) acts like the given reference model (the map from r(kT) to ym(kT)). Basically, the fuzzy control system loop (the lower part of Figure 3.3) operates to make y(kT) track r(kT) by manipulating u(kT), while the upper-level adaptation control loop (the upper part of Figure 3.3) seeks to make the output of the plant y(kT) track the output of the reference model ym(kT) by manipulating the fuzzy controller parameters. Next, we describe each component of the FMRLC in more detail for the case where there is one input and one output from the plant (we will use the design and implementation case studies in Section 3.3 to show how to apply the approach to MIMO systems). 3.2.1 The Fuzzy Controller The plant in Figure 3.3 has an input u(kT) and output y(kT). Most often the inputs to the fuzzy controller are generated via some function of the plant output y(kT) and reference input r(kT). Figure 3.3 shows a simple example of such a map that has been found to be useful in some applications. For this, the inputs to the fuzzy controller are the error e(kT) = r(kT) — y(kT) and change in error ( ) e(kT ) e( ) kT T c kT T - - = (i.e.,a PD fuzzy controller). There are times when it is beneficial to place a smoothing filter between the r(kT) reference input and the summing junction. Such a filter is sometimes needed to make sure that smooth and reasonable requests are made of the fuzzy controller (e.g., a square wave input for r(kT) may be unreasonable for some systems that you know cannot respond instantaneously). Sometimes, if you ask for the system to perfectly track an unreasonable reference input, the FMRLC will essentially keep adjusting the "gain" of the fuzzy controller until it becomes too large. Generally, it is important to choose the inputs to the fuzzy controller, and how you process r(kT) and y(kT), properly; otherwise performance can be adversely affected and it may not be possible to maintain stability. Returning to Figure 3.3, we use scaling gains ge,gc and gu for the error e(kT), change in error c(kT), and controller output u(kT), respectively. A first guess at these gains can be obtained in the following way: The gain ge , can be chosen so that the range of values that e(kT) typically takes on will not make it so that its values will result in saturation of the corresponding outermost input membership functions. The gain gc can be determined by experimenting with various inputs to the fuzzy control system (without the adaptation mechanism) to determine the normal range of values that c(kT) PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
will take on. Using this, we choose the gain so that normally encountered values of c(kn) will not result in saturation of the outermost input membership functions 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 e and c is c then i isU where e and c denote the linguistic variables associated with controller inputs e(kn) and c(kn), respectively i denotes the linguistic variable associated with the controller output u, E and C denote the jth(hth) linguistic value associated with e(c), respectively, U denotes the consequent linguistic value associated with i 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 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 3. 4. Hence, we would simply use some membership functions similar to those in Figure 3. 4, but with a scaled horizontal axis, for the c(kn) input E E E -1-0.8-0.6-04-0.2 04060.81e(kT) Figure 3. 4 Membership functions for input universe of discourse We will use all possible combinations of rules for the rule-base. For example, we could choose to have 1l 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, we must remind the reader of the results in Section 2.6 where we explain how implementation tricks can be used to significantly reduce computation time when there are input membership functions of the form shown in Figure 3.4 Rule- Base initialization PDF文件使用" pdffactory Pro"试用版本创建ww. fineprint,com,cn
will take on. Using this, we choose the gain so that normally encountered values of c(kT) will not result in saturation of the outermost input membership functions. 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 j l m If e is E and c is C then u is U where e and c denote the linguistic variables associated with controller inputs e(kT) and c(kT), respectively, u denotes the linguistic variable associated with the controller output u, j E and l C denote the jth (lth) linguistic value associated with e c ( ) , respectively, m U denotes the consequent linguistic value associated with 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", 4 E = "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 3.4. Hence, we would simply use some membership functions similar to those in Figure 3.4, but with a scaled horizontal axis, for the c(kT) input. 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 5 -3 3 4 E E Figure 3.4 Membership functions for input universe of discourse 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, we must remind the reader of the results in Section 2.6 where we explain how implementation tricks can be used to significantly reduce computation time when there are input membership functions of the form shown in Figure 3.4. Rule-Base Initialization PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn