当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

郑州大学电气工程学院:《智能控制》课程教学资源(讲义)第4章 Adaptive Fuzzy Control

资源类别:文库,文档格式:PDF,文档页数:28,文件大小:496.72KB,团购合买
点击下载完整版文档(PDF)

第4章 Adaptive Fuzzy Control 教学内容 本章将现代控制理论的自适应控制理论应用于模糊控制技术中,以期提高模糊控制系统的动态、静态 性能,增强模糊控制系统对于模型的参数、结枃变化的鲁棒性以及控制系统不同相应阶段对控制其性能的 不同要求,提高控制系统的综合品质。主要内容: 1.直接自适应控制和间接自适应控制的基本概念 2.模糊模型参考学习控制( FMRLC)的原理、结构 3. FMRLC的设计和实现。 教学重点 模糊模型参考学习控制( FMRLC)的原理和结构 教学难点 对 FMRLC中学习机制的准确把握和理解,关键是模糊逆模型的设计。 教学要求 本章的学习需要预先掌握一定的自适应控制、自校正调节器的基础知识、概念。要求掌握模糊模型参 考学习控制( FMRLO)的原理和结构。 4.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 he 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

第 4 章 Adaptive Fuzzy Control 教学内容 本章将现代控制理论的自适应控制理论应用于模糊控制技术中,以期提高模糊控制系统的动态、静态 性能,增强模糊控制系统对于模型的参数、结构变化的鲁棒性以及控制系统不同相应阶段对控制其性能的 不同要求,提高控制系统的综合品质。主要内容: 1. 直接自适应控制和间接自适应控制的基本概念; 2. 模糊模型参考学习控制(FMRLC)的原理、结构; 3. FMRLC 的设计和实现。 教学重点 模糊模型参考学习控制(FMRLC)的原理和结构 。 教学难点 对 FMRLC 中学习机制的准确把握和理解,关键是模糊逆模型的设计。 教学要求 本章的学习需要预先掌握一定的自适应控制、自校正调节器的基础知识、概念。要求掌握模糊模型参 考学习控制(FMRLC)的原理和结构。 4.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 4.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 4.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 multi-input multi-output(MIMO) fault-tolerant aircraft control problem Following this, in Section 4.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) Adaptation mechani sm controller plant Figure 4.1 direct adaptive control

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 4.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 4.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 multi-input multi-output (MIMO) fault-tolerant aircraft control problem. Following this, in Section 4.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 4.1 direct adaptive controls

In the second general approach to adaptive control, which is shown in Figure 4.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 Controller parameter Sy designer identification Controller (t r(t) controller plant F 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 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 4.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 4.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

In the second general approach to adaptive control, which is shown in Figure 4.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 4.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 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 4.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. 4.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 yn Knowledge-base /neI Knowled zy sets Rule base Know:) 1 Pu h Fuzzy contradict Figure 4.3 Fuzzy model reference learning controller The functional block diagram for the FMrlC is shown in Figure 43. 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 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(kD)and y(kn) where T is the sampling period ). Using this numerical data, it characterizes the fuzzy control systems 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 4.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 4.3)operates to make y(kn) track r(kn) by manipulating u(kn), while the upper-level adaptation control loop(the uppe part of Figure 4.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 4.3 to show how to apply the approach to MIMO systems)

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 4.3 Fuzzy model reference learning controller The functional block diagram for the FMRLC is shown in Figure 4.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 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 4.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 4.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 4.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 4.3 to show how to apply the approach to MIMO systems)

I The Fuzzy Controller The plant in Figure 4.3 has an input u(kT) and output y(kn). Most often the inputs to the fuzzy controller are generated via some function of the plant output y(kn)and reference input r(kn). Figure 4.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()and change in error c(kT) (kT)-e(kr-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 unction. 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(kD), properly; otherwise performance can be adversely affected and it may not be possible to maintain stability Returning to Figure 4.3, we use scaling gains ge, ge and gu for the error e(kn), change in error c(kn), 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) 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 lfe is e and a is C then i is U where e and c denote the linguistic variables associated with controller inputs e(kn)and c(kn), respectively ii denotes the linguistic variable associated with the controller output u, E and C denote the jth(th)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

4.2.1 The Fuzzy Controller The plant in Figure 4.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 4.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 4.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) 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 denote the l C jth (lth) linguistic value associated with e c  ( ) , respectively, denotes the consequent linguistic value associated with . 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",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 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 kT) Figure 4. 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 ll membership functions on each of the twe out universes at course, in which ca3we would avQ212=121 rules n 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 4.4 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-e 8 ship funa 0s ge left consta 0) are not tun 0:2e FMRLC. The membership functions on the output universe of discourse are ed 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, I 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

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 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 kT ( ) Figure 4.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 4.4. 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 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(in this book we will use minimum unless otherwise stated) and the standard center-of-gravity defuzzification technique. As an alternative, we could use appropriately initialized singleton output membership functions and centeraverage 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( see the fault-tolerant control application in Section 4.3) 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 nerally, 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(kn)and c(kn) 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 controllers 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 Often, however, we cannot measure the operating condition of the plant, so the FMRlC does not know exactly what operating condition it is learning the controller for. Moreover, it then does not know exactly when it has returned to an operating condition. Clearly, then, if the fuzzy controller has better information about the plant's operating conditions the FmrlC will be able to learn and apply better control actions. If it does not have good information, it will continually adapt, but it will not properly remember For instance, for some plants e(kn)and c(kn)may only grossly characterize the operating conditions of the plant. In this situation the FMrlC is not able to learn different controllers for different operating conditions; it will use its limited information about the operating condition and continually adapt to search for the best controller. It degrades from a learning system to an adaptive system that will not properly remember the control actions(this is not to imply, however, that there will automatically be a corresponding degradation in performance) Generally, we think of the inputs to the fuzzy controller as specifying what conditions we need to learn different controllers for. This should be one guideline used for the choice of the fuzzy controller inputs for practical applications

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 (in this book we will use minimum unless otherwise stated) and the standard center-of-gravity defuzzification technique. As an alternative, we could use appropriately initialized singleton output membership functions and centeraverage 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 (see the fault-tolerant control application in Section 4.3). 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. Often, however, we cannot measure the operating condition of the plant, so the FMRLC does not know exactly what operating condition it is learning the controller for. Moreover, it then does not know exactly when it has returned to an operating condition. Clearly, then, if the fuzzy controller has better information about the plant's operating conditions, the FMRLC will be able to learn and apply better control actions. If it does not have good information, it will continually adapt, but it will not properly remember. For instance, for some plants e(kT) and c(kT) may only grossly characterize the operating conditions of the plant. In this situation the FMRLC is not able to learn different controllers for different operating conditions; it will use its limited information about the operating condition and continually adapt to search for the best controller. It degrades from a learning system to an adaptive system that will not properly remember the control actions (this is not to imply, however, that there will automatically be a corresponding degradation in performance). Generally, we think of the inputs to the fuzzy controller as specifying what conditions we need to learn different controllers for. This should be one guideline used for the choice of the fuzzy controller inputs for practical applications

A competing objective is, however, to keep the number of fuzzy controller inputs low due to concerns about computational complexity. In fact, to help with computational complexity, we will sometimes use multiple fuzzy controllers with fewer inputs to each of them rather than one fuzzy controller with many inputs; then we may, for instance, sum the outputs of the individual controllers 4.2.2 The reference model Next, you must decide what to choose for the reference model that quantifies the desired performance. Basically, you want to specify a desirable performance, but also a reasonable one. If you ask for too much, the controller will not be able to deliver it; certain characteristics of real- world plants place practical constraints on what performance can be achieved. It is not always easy to pick a good reference model since it is sometimes hard to know what level of performance we can expect, or because we have no idea how to characterize the performance for some of the plant output variables(see the flexible robot application in Section 4.3 where it is difficult to know a priori how the acceleration profiles of the links should behave) In general, the reference model may be discrete or continuous time, linear or nonlinear, time-invariant or time-varying, and so on. For example, suppose that we would like to have the response track the continuous time model 1+s Suppose that for your discrete-time implementation you use T=0. I sec Using a bilinear(Tustin) transformation to find the discrete equivalent to the continuous-time transfer function G(s), we replace s with <2-1 to obtain Y Q-H(=(+D/2 Where y() and re) are the s-transform of makr) and rtkn), respectively. Now for a discrete-time implementation we would choose ym(kT+T)=ay(kT)+r(kT+T)+ar(kr) This choice would then represent that we would like our output y(kn)to a smooth, stable, first-order type response of ym(kn). A similar approach can be used to, for example, track a second-order system with a specified damping ratio C and undamped natural frequency On The performance of the overall system is computed with respect to the reference model by the learning mechanism generating an error signal Ye(kn=ym(kT)-y(kn) Given that the reference model characterizes design criteria such as rise-time and overshoot and the input to the reference model is the reference input r(kn), the desired performance of the controlled process is met if the learning mechanism forces ye(kn) to remain very small for all time no matter what the reference input is or what plant parameter variations occur. Hence, the error ye(kn) provides a characterization of the extent to which the desired performance is met at time kT. If the performance is met (i.e, ye(kn) is small), then the learning mechanism will not make significant

A competing objective is, however, to keep the number of fuzzy controller inputs low due to concerns about computational complexity. In fact, to help with computational complexity, we will sometimes use multiple fuzzy controllers with fewer inputs to each of them rather than one fuzzy controller with many inputs; then we may, for instance, sum the outputs of the individual controllers. 4.2.2 The Reference Model Next, you must decide what to choose for the reference model that quantifies the desired performance. Basically, you want to specify a desirable performance, but also a reasonable one. If you ask for too much, the controller will not be able to deliver it; certain characteristics of real- world plants place practical constraints on what performance can be achieved. It is not always easy to pick a good reference model since it is sometimes hard to know what level of performance we can expect, or because we have no idea how to characterize the performance for some of the plant output variables (see the flexible robot application in Section 4.3 where it is difficult to know a priori how the acceleration profiles of the links should behave). In general, the reference model may be discrete or continuous time, linear or nonlinear, time-invariant or time-varying, and so on. For example, suppose that we would like to have the response track the continuous time model ( ) 1 1 G s s = + . Suppose that for your discrete-time implementation you use T = 0. 1 sec. Using a bilinear (Tustin) transformation to find the discrete equivalent to the continuous-time transfer function G(s), we replace s with 2 1 1 z T z − + to obtain ( ) ( ) ( ) ( ) 1 21 19 21 Yz z m H z Rz z + = = − .Where ( ) and Y z m R z( ) are the z-transform of ym(kT) and r(kT), respectively. Now, for a discrete-time implementation we would choose ( ) ( ) ( ) ( 19 1 1 21 21 21 m m y kT T y kT r kT T r kT += + ++ ) . This choice would then represent that we would like our output y(kT) to track a smooth, stable, first-order type response of ym(kT). A similar approach can be used to, for example, track a second-order system with a specified damping ratio ζ and undamped natural frequency ωn. The performance of the overall system is computed with respect to the reference model by the learning mechanism by generating an error signal Ye(kT)=ym(kT)-y(kT) . Given that the reference model characterizes design criteria such as rise-time and overshoot and the input to the reference model is the reference input r(kT), the desired performance of the controlled process is met if the learning mechanism forces ye(kT) to remain very small for all time no matter what the reference input is or what plant parameter variations occur. Hence, the error ye(kT) provides a characterization of the extent to which the desired performance is met at time kT. If the performance is met (i.e., ye(kT) is small), then the learning mechanism will not make significant

modifications to the fuzzy controller. On the other hand if ye(kn) is big, the desired performance is not achieved and the learning mechanism must adjust the fuzzy controller. Next, we describe the operation of the learning mechanism 4.2.3 The learning mechanism The learning mechanism tunes the rule-base of the direct fuzzy controller so that the closed-loop system behaves like the reference model. These rule-base modifications are made by observing data from the controlled process, the reference model, and the fuzzy controller. The learning mechanism consists of two parts: a"fuzzy inverse model"and a knowledge-base modifier". The fuzzy inverse model performs the function of mapping ye(kn)(representing the deviation from the desired behavior ) to changes in the process inputs p(kn) that are necessary to force ye (kn)to zero The knowledge-base modifier performs the function of modifying the fuzzy controller's rule-base to affect the needed changes in the process inputs. We explain each of these components in detail next Fuzzy Inverse model Using the fact that most often a control engineer will know how to roughly characterize the inverse model of the plant (examples of how to do this will be given in several examples in this chapter), we use a fuzzy system to map ye (kT), and sibly functions of y.knsuch as y(k7)=(v(kT)-y(kT (or any other closed-loop system data),to the necessary changes in the process inputs. This fuzzy system is sometimes called the"fuzzy inverse model"since information about the plant inverse dynamics is used in its specification. Some, however, avoid this terminology and simply view the fuzzy system in the adaptation loop in Figure 4.3 to be a controller that tries to pick p(kn) to reduce the error ye( kn). This is the view taken for some of the design and implementation case studies in the next section Note that similar to the fuzzy controller, the fuzzy inverse model shown in Figure 4.3 contains scaling gains, but now we denote them with g,, 8, and g,. We will explain how to choose these scaling gains below. Given that gy, ye and 8y, y are inputs to the fuzzy inverse model, the rule-base for the fuzzy inverse model contains rules of the IFj。 is y, and j。 is y: Then p is P Where Y and y! denote linguistic values and Pm denotes the linguistic value associated with the mth output In this book we often utilize membership functions for the input universes of discourse as shown in Figure 4.4, symmetric triangular-shaped membership functions for the output universes of discourse, minimum to represent the premise and implication, and CoG defuzzification. Other choices can work equally well. For instance, we could make the same choices, except use singleton output membership functions and center-average defuzzification Knowledge-Base modifier

modifications to the fuzzy controller. On the other hand if ye(kT) is big, the desired performance is not achieved and the learning mechanism must adjust the fuzzy controller. Next, we describe the operation of the learning mechanism. 4.2.3 The Learning Mechanism The learning mechanism tunes the rule-base of the direct fuzzy controller so that the closed-loop system behaves like the reference model. These rule-base modifications are made by observing data from the controlled process, the reference model, and the fuzzy controller. The learning mechanism consists of two parts: a "fuzzy inverse model" and a "knowledge-base modifier". The fuzzy inverse model performs the function of mapping ye(kT) (representing the deviation from the desired behavior), to changes in the process inputs p(kT) that are necessary to force ye(kT) to zero. The knowledge-base modifier performs the function of modifying the fuzzy controller's rule-base to affect the needed changes in the process inputs. We explain each of these components in detail next. Fuzzy Inverse Model Using the fact that most often a control engineer will know how to roughly characterize the inverse model of the plant (examples of how to do this will be given in several examples in this chapter), we use a fuzzy system to map ye(kT) , and possibly functions of ye(kT)such as y kT y kT y kT T T c ee ( ) = −− ( ( ) ( )) (or any other closed-loop system data), to the necessary changes in the process inputs. This fuzzy system is sometimes called the "fuzzy inverse model" since information about the plant inverse dynamics is used in its specification. Some, however, avoid this terminology and simply view the fuzzy system in the adaptation loop in Figure 4.3 to be a controller that tries to pick p(kT) to reduce the error ye(kT) . This is the view taken for some of the design and implementation case studies in the next section. Note that similar to the fuzzy controller, the fuzzy inverse model shown in Figure 4.3 contains scaling gains, but now we denote them with e y g , c y g and . We will explain how to choose these scaling gains below. Given that p g e y e g y and c y c g y are inputs to the fuzzy inverse model, the rule-base for the fuzzy inverse model contains rules of the form is is is j l m ee c c IF and Then y Y y Y pP      Where j Ye  and denote linguistic values and denotes the linguistic value associated with the l Y c  m P mth output fuzzy set. In this book we often utilize membership functions for the input universes of discourse as shown in Figure 4.4, symmetric triangular-shaped membership functions for the output universes of discourse, minimum to represent the premise and implication, and COG defuzzification. Other choices can work equally well. For instance, we could make the same choices, except use singleton output membership functions and center-average defuzzification. Knowledge-Base Modifier

Given the information about the necessary changes in the input, which are represented by p(kn), to force the error y, to zero, the knowledge-base modifier changes the rule-base of the fuzzy controller so that the previously applied control action will be modified by the amount p(kn). Consider the previously computed control action u(kT-n), and assume that it contributed to the present good or bad system performance (i.e, it resulted in the value of r(kn) such that it did not match yukn)). Hence, for illustration purposes we are assuming that in one step the plant input can affect the plant output; in Section 4.2. 4 we will explain what to do if it takes d steps for the plant input to affect the plant output Note that e(kn) and c(kl-n)would have been the error and change in error that were input to the fuzzy controller at that time. By modifying the fuzzy controller's knowledge-base, we may force the fuzzy controller to produce a desired output u(kT-7)+ p(kn), which we should have put in at time kT-T to make ye(kn)smaller. Then, the next time we get similar values for the error and change in error, the input to the plant will be one that will reduce the error between the reference model and plant output Assume that we use symmetric output membership functions for the fuzzy controller, and let bm denote the center bership function associated with U. Knowledge-base modification is performed by shifting centers bm of the membership functions of the output linguistic value U that are associated with the fuzzy controller rules that contributed to the previous control action u(kT-n) This is a two-step process 1. Find all the rules in the fuzzy controller whose premise certainty H1(e(kT-7),c(kT-7)>0 (4.1) and call this the active set"of rules at time kT-T. We can characterize the active set by the indices of the input membership functions of each rule that is on(since we use all possible combinations of rules, there will be one output membership function for each possible rule that is on) 2. Let bm(kn)denote the center of the mth output membership function at time kT. For all rules in the active set, use b(kT )=bm(KT-T)+P(kT) to modify the output membership function centers. Rules that are not in the active set do not have their output membership functions modified Notice that for our development, when COG is used, this update will guarantee that the previous input would have been u(kT-1)+p(kn) for the same e(kT-n)and ckT-n(to see this, simply analyze the formula for CoG to see that adding the amount p(kn) to the centers of the rules that were on will make the output shift by p(kn)). For the case where the fuzzy controller has input membership functions of the form shown in Figure 4.4, there will only be at most four rules in the active set at any one time instant(ie, four rules with H,(e(kT-T),c(kT-7))>0 at time KT).Then

Given the information about the necessary changes in the input, which are represented by p(kT), to force the error y, to zero, the knowledge-base modifier changes the rule-base of the fuzzy controller so that the previously applied control action will be modified by the amount p(kT). Consider the previously computed control action u(kT-T), and assume that it contributed to the present good or bad system performance (i.e., it resulted in the value of Y(kT) such that it did not match ym(kT) ). Hence, for illustration purposes we are assuming that in one step the plant input can affect the plant output; in Section 4.2.4 we will explain what to do if it takes d steps for the plant input to affect the plant output. Note that e(kT) and c(kT-T) would have been the error and change in error that were input to the fuzzy controller at that time. By modifying the fuzzy controller's knowledge-base, we may force the fuzzy controller to produce a desired output u(kT-T)+ p(kT), which we should have put in at time kT-T to make ye(kT) smaller. Then, the next time we get similar values for the error and change in error, the input to the plant will be one that will reduce the error between the reference model and plant output. Assume that we use symmetric output membership functions for the fuzzy controller, and let bm denote the center of the membership function associated with m U . Knowledge-base modification is performed by shifting centers bm of the membership functions of the output linguistic value that are associated with the fuzzy controller rules that contributed to the previous control action u( m U kT-T). This is a two-step process: 1. Find all the rules in the fuzzy controller whose premise certainty μi (e kT T c kT T ( ) − , ( − > )) 0 (4.1) and call this the "active set" of rules at time kT-T. We can characterize the active set by the indices of the input membership functions of each rule that is on (since we use all possible combinations of rules, there will be one output membership function for each possible rule that is on). 2. Let bm (kT) denote the center of the mth output membership function at time kT. For all rules in the active set, use b kT b kT T p kT m m ( ) = −+ ( ) ( ) (4.2) to modify the output membership function centers. Rules that are not in the active set do not have their output membership functions modified. Notice that for our development, when COG is used, this update will guarantee that the previous input would have been u(kT-T) + p(kT) for the same e(kT-T) and c(kT-T) (to see this, simply analyze the formula for COG to see that adding the amount p(kT) to the centers of the rules that were on will make the output shift by p(kT) ). For the case where the fuzzy controller has input membership functions of the form shown in Figure 4.4, there will only be at most four rules in the active set at any one time instant (i.e., four rules with μi (e kT T c kT T ( − ), ( − > )) 0 at time kT ). Then

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共28页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有