The systems, methods, application programming interfaces (API), graphical user interfaces (GUI), computer readable media, and so on described herein relate generally to controllers and more particularly to scaling and parameterizing controllers, and the use of observers and tracking which facilitates improving controller design, tuning, and optimizing.
A feedback (closed-loop) control system 10, as shown in Prior Art
The key component in a feedback control system is the controller 120, which determines the difference between the output of the plant 110, (e.g. the temperature) and its desired value and produces a corresponding control signal u (e.g., turning a heater on or off). The goal of controller design is usually to make this difference as small as possible as soon as possible. Today, controllers are employed in a large number of industrial control applications and in areas like robotics, aeronautics, astronautics, motors, motion control, thermal control, and so on.
Classic Controllers
Classic Control Theory provides a number of techniques an engineer can use in controller design. Existing controllers for linear, time invariant, and single-input single output plants can be categorized into three forms: the proportional/integral/derivative (PID) controllers, transfer function based (TFB) controllers, and state feedback (SF) controllers. The PID controller is defined by the equation
u=KPe+KI∫e+KDė (1)
where u is the control signal and e is the error between the set point and the process output being controlled. This type of controller has been employed in engineering and other applications since the early 1920s. It is an error based controller that does not require an explicit mathematical model of the plant. The TFB controller is given in the form of
where U(s) and E(s) are Laplace Transforms of u and e defined above, and n(s) and d(s) are polynomials in s. The TFB controller can be designed using methods in control theory based on the transfer function model of the plant, Gp(s). A PID controller can be considered a special case of a TFB controller because it has an equivalent transfer function of
The State Feedback (SF) Controller
The SF controller can be defined by
u=r+K{circumflex over (x)} (4)
and is based on the state space model of the plant:
{dot over (x)}(t)=Ax(t)+Bu(t),y(t)=Cx(t)+Du(t) (5)
When the state x is not accessible, a state observer (SO):
{circumflex over ({dot over (x)}=A{circumflex over (x)}+Bu+L(y−ŷ) (6)
is often used to find its estimate, {circumflex over (x)}. Here r is the set point for the output to follow.
Controller Tuning
Over the years, the advances in control theory provided a number of useful analysis and design tools. As a result, controller design moved from empirical methods (e.g., ad hoc tuning via Ziegler and Nichols tuning tables for PID) to analytical methods (e.g., pole placement). The frequency response method (Bode and Nyquist plots) also facilitated analytical control design.
Conventionally, controllers are individually designed according to design criteria and then individually tuned until they exhibit an acceptable performance. Practicing engineers may design controllers, (e.g., PID) using look-up tables and then tune the controllers using trial and error techniques. But each controller is typically individually designed, tuned, and tested.
Tuning controllers has perplexed engineers. Controllers that are developed based on a mathematical model of the plant usually need their parameters to be adjusted, or “tuned” as they are implemented in hardware and tested. This is because the mathematical model often does not accurately reflect the dynamics of the plant. Determining appropriate control parameters under such circumstances is often problematic, leading to control solutions that are functional but ill-tuned, yielding lost performance and wasted control energy.
Additionally, and/or alternatively, engineers design using analytical (e.g., pole placement) techniques, but once again tune with trial and error techniques. Since many industrial machines and engineering applications are built to be inherently stable, acceptable controllers can be designed and tuned using these conventional techniques, however, acceptable performance may not approach optimal performance.
One example conventional technique for designing a PID controller included obtaining an open-loop response and determining what, if anything, needed to be improved. By way of illustration, the designer would build a candidate system with a feedback loop, guess the initial values of the three gains (e.g., kp, kd, ki) in PID and observe the performance in terms of rise time, steady state error and so on. Then, the designer might modify the proportional gain to improve rise time. Similarly, the designer might add or modify a derivative controller to improve overshoot and an integral controller to eliminate steady state error. Each component would have its own gain that would be individually tuned. Thus, conventional designers often faced choosing three components in a PID controller and individually tuning each component. Furthermore, there could be many more parameters that the design engineer must tune if a TFB or a state feedback state observer (SFSOB) controller is employed.
Another observation of control design is that it is not portable. That is, each control problem is solved individually and its solution cannot be easily modified for another control problem. This means that the tedious design and tuning process must be repeated for each control problem. The use of state observers is useful in not only system monitoring and regulation but also detecting as well as identifying failures in dynamical systems. Since almost all observer designs are based on the mathematical model of the plant, the presence of disturbances, dynamic uncertainties, and nonlinearities pose great challenges in practical applications. Toward this end, the high-performance robust observer design problem has been topic of considerable interest recently, and several advanced observer designs have been proposed. Although satisfactory in certain respects, a need remains for an improved strategy for an observer and incorporation and use of such in a control system.
State Observers
Observers extract real-time information of a plant's internal state from its input-output data. The observer usually presumes precise model information of the plant, since performance is largely based on its mathematical accuracy. Closed loop controllers require both types of information. This relationship is depicted in 3200 of
Disturbance Estimation Observes and Disturbance Rejection
Recently, disturbance rejection techniques have been used to account for uncertainties in the real world and successfully control complex nonlinear systems. The premise is to solve the problem of model accuracy in reverse by modeling a system with an equivalent input disturbance d that represents any difference between the actual plant P and a derived/selected model Pn of the plant, including external disturbances w. An observer is then designed to estimate the disturbance in real time and provide feedback to cancel it. As a result, the augmented system acts like the model Pn at low frequencies, making the system accurate to Pn and allowing a controller to be designed for Pn. This concept is illustrated in 3900 of
The most common of these techniques is the disturbance observer (DOB) structure (Endo, S., H. Kobayashi, C. J. Kempf, S. Kobayashi, M. Tomizuka and Y. Hori (1996). “Robust Digital Tracking Controller Design for High-Speed Positioning Systems.” Control Eng. Practice, 4:4, 527-536; Kim, B. K., H.-T. Choi, W. K. Chung and I. H. Suh (2002). “Analysis and Design of Robust Motion Controllers in the Unified Framework.” J. of Dynamic Systems, Measurement, and Control, 124, 313-321; Lee, H. S. and M. Tomizuka (1996). “Robust Motion Controller Design for High-Accuracy Positioning Systems.” IEEE Trans. Ind. Electron., 43:1, 48-55; Tesfaye, A., H. S. Lee and M. Tomizuka (2000). “A Sensitivity Optimization Approach to Design of a Disturbance Observer in Digital Motion Control.” IEEE/ASME Trans. on Mechatronics, 5:1, 32-38; Umeno, T. and Y. Hori (1991). “Robust Speed Control of DC Servomotors Using Modern Two Degrees of Freedom Controller Design”. IEEE Trans. Ind. Electron., 38:5, 363-368). It uses simple binomial Q-filters, allowing the observer to be parameterized, i.e. tuned by a single bandwidth parameter. A model deliberately different from P is also suggested in E. Schrijver and J. van Dijk, “Disturbance Observers for Rigid Mechanical Systems: Equivalence, Stability, and Design,” Journal of Dynamic Systems, Measurement, and Control, vol. 124, no. 4, pp. 539-548, 2002 to facilitate design, but no guidelines are given other than it should be as simple as possible, cautioning stability and performance may be in danger. Another obstacle is that a separate observer must be designed to provide state feedback to the controller. In existing research, derivative approximates are used in this way but their effect on performance and stability has yet to be analyzed. Furthermore, the controller design is dependent on the DOB design, meaning that derivative approximates can not be arbitrarily selected.
Multiple DOBs were used to control a multivariable robot by treating it as a set of decoupled single-input single-output (SISO) systems, each with disturbances that included the coupled dynamics (Bickel, R. and M. Tomizuka (1999). “Passivity-Based Versus Disturbance Observer Based Robot Control: Equivalence and Stability.” J. of Dynamic Systems, Measurement, and Control, 121, 41-47; Hori, Y., K. Shimura and M. Tomizuka (1992). “Position/Force Control of Multi-Axis Robot Manipulator Based on the TDOF Robust Servo Controller For Each Joint.” Proc. of ACC, 753-757; Kwon, S. J. and W. K. Chung (2002). “Robust Performance of the Multiloop Perturbation Compensator.” IEEE/ASME Trans. Mechatronics, 7:2, 190-200; Schrijver, E. and J. Van Dijk (2002) Disturbance Observers for Rigid Mechanical Systems: Equivalence, Stability, and Design.” J. of Dynamic Systems, Measurement, and Control, 124, 539-548.
Another technique, referred to as the unknown input observer (UIO), estimates the states of both the plant and the disturbance by augmenting a linear plant model with a linear disturbance model (Burl, J. B. (1999). Linear Optimal Control, pp. 308-314. Addison Wesley Longman, Inc., Calif.; Franklin, G. F., J. D. Powell and M. Workman (1998). Digital Control of Dynamic Systems, Third Edition, Addison Wesley Longman, Calif.; Johnson, C. D. (1971). “Accommodation of External Disturbances in Linear Regulator and Servomechanism Problems.” IEEE Trans. Automatic Control, AC-16:6, 635-644; Liu, C.-S., and H. Peng (2002). “Inverse-Dynamics Based State and Disturbance Observer for Linear Time-Invariant Systems.” J. of Dynamic Systems, Measurement, and Control, 124, 375-381; Profeta, J. A. III, W. G. Vogt and M. H. Mickle (1990). “Disturbance Estimation and Compensation in Linear Systems.” IEEE Trans. Aerospace and Electronic Systems, 26:2, 225-231; Schrijver, E. and J. van Dijk (2002) “Disturbance Observers for Rigid Mechanical Systems: Equivalence, Stability, and Design.” J. of Dynamic Systems, Measurement, and Control, 124, 539-548). Unlike the DOB structure, the controller and observer can be designed independently, like a Luenberger observer. However, it still relies on a good mathematical model and a design procedure to determine observer gains. An external disturbance w is generally modeled using cascaded integrators (1/sh). When they are assumed to be piece-wise constant, the observer is simply extended by one state and still demonstrates a high degree of performance.
Extended State Observer (ESO)
In this regard, the extended state observer (ESO) is quite different. Originally proposed by Han, J. (1999). “Nonlinear Design Methods for Control Systems.” Proc. 14th IFAC World Congress, in the form of a nonlinear UIO and later simplified to a linear version with one tuning parameter by Gao, Z. (2003). “Scaling and Parameterization Based Controller Tuning.” Proc. of ACC, 4989-4996, the ESO combines the state and disturbance estimation power of a UIO with the tuning simplicity of a DOB. One finds a decisive shift in the underlying design concept as well. The traditional observer is based on a linear time-invariant model that often describes a nonlinear time-varying process. Although the DOB and UIO reject input disturbances for such nominal plants, they leave the question of dynamic uncertainty mostly unanswered in direct form. The ESO, on the other hand, addresses both issues in one simple framework by formulating the simplest possible design model Pd=1/sn for a large class of uncertain systems. Pd is selected to simplify controller and observer design, forcing P to behave like it at low frequencies rather than Pn. As a result, the effects of most plant dynamics and external disturbances are concentrated into a single unknown quantity. The ESO estimates this quantity along with derivatives of the output, giving way to the straightforward design of a high performance controller.
Active Disturbance Rejection Control (ADRC)
Originally proposed by Han, J. (1999). “Nonlinear Design Methods for Control Systems.” Proc. 14th IFAC World Congress, a nonlinear, non-parameterized active disturbance rejection control (ADRC) is a method that uses an ESO. A linear version of the ADRC controller and ESO were parameterized for transparent tuning by Gao, Z. (2003). “Scaling and Parameterization Based Controller Tuning.” Proc. of ACC, 4989-4996. Its practical usefulness is seen in a number of benchmark applications already implemented throughout industry with promising results (Gao, Z., S. Hu and F. Jiang (2001). “A Novel Motion Control Design Approach Based on Active Disturbance Rejection.” Proc. of 40th IEEE Conference on Decision and Control; Goforth, F. (2004). “On Motion Control Design and Tuning Techniques.” Proc. of ACC; Hu, S. (2001). “On High Performance Servo Control Solutions for Hard Disk Drive.” Doctoral Dissertation, Department of Electrical and Computer Engineering, Cleveland State University; Hou, Y., Z. Gao, F. Jiang and B. T. Boulter (2001). “Active Disturbance Rejection Control for Web Tension Regulation.” Proc. of 40th IEEE Conf. on Decision and Control; Huang, Y., K. Xu and J. Han (2001). “Flight Control Design Using Extended State Observer and Nonsmooth Feedback.” Proc. of 40th IEEE Conf. on Decision and Control; Sun, B and Z. Gao (2004). “A DSP-Based Active Disturbance Rejection Control Design for a 1 KW H-Bridge DC-DC Power Converter.” To appear in: IEEE Trans. on Ind. Electronics; Xia, Y., L. Wu, K. Xu, and J. Han (2004). “Active Disturbance Rejection Control for Uncertain Multivariable Systems With Time-Delay, 2004 Chinese Control Conference). It was also applied to a fairly complex multivariable aircraft control problem (Huang, Y., K. Xu and J. Han (2001). “Flight Control Design Using Extended State Observer and Nonsmooth Feedback.” Proc. of 40th IEEE Conf. on Decision and Control).
What is needed is a control framework for application to systems throughout industry that are complex and largely unknown to the personnel often responsible for controlling them. In the absence of required expertise, less tuning parameters are needed than current approaches, such as multi-loop PID, while maintaining or even improving performance and robustness.
Linear Active Disturbance Rejection Controller (LADRC)
In addition to the above controllers, a more practical controller is the recently developed from Active Disturbance Rejection Controller (ADRC). Its linear form (LADRC) for a second order plant is introduced below as an illustration. The unique distinction of ADRC is that it is largely independent of the mathematical model of the plant and is therefore better than most controllers in performance and robustness in practical applications.
Consider an example of controlling a second order plant
ÿ=−a{dot over (y)}−by +w+bu (7)
where y and u are output and input, respectively, and w is an input disturbance. Here both parameters, a and b, are unknown, although there is some knowledge of b, (e.g., b0≈b, derived from the initial acceleration of y in step response). Rewrite (7) as
ÿ=−a{dot over (y)}−by+w+(b−b0)u+b0u=ƒ+b0u (8)
where ƒ=−a{dot over (y)}−by+w+(b−b0)u. Here ƒ is referred to as the generalized disturbance, or disturbance, because it represents both the unknown internal dynamics, −a{dot over (y)}−by+(b−b0)u and the external disturbance w(t).
If an estimate of ƒ, {circumflex over (ƒ)} can be obtained, then the control law reduces the plant to ÿ=(ƒ−{circumflex over (ƒ)})+u0 which is a unit-gain double integrator control problem with a disturbance (ƒ−{circumflex over (ƒ)}).
Thus, rewrite the plant in (8) in state space form as
with x3=ƒ added as an augmented state, and h={dot over (ƒ)} is seen as an unknown disturbance. Now ƒ can be estimated using a state observer based on the state space model
Now the state space observer, denoted as the linear extended state observer (LESO), of (10) can be constructed as
ż=Az+Bu+L(y−ŷ)
ŷ=Cz
and if ƒ is known or partially known, it can be used in the observer by taking h={dot over (ƒ)} to improve estimation accuracy.
ż=Az+Bu+L(y−ŷ)+Eh
ŷ=Cz (11a)
The observer can be reconstructed in software, for example, and L is the observer gain vector, which can be obtained using various methods known in the art like pole placement,
L=[β1β2β3]T (12)
where [ ]T denotes transpose. With the given state observer, the control law can be given as:
Ignoring the inaccuracy of the observer,
ÿ=(ƒ−z3)+u0≈u0 (14)
which is an unit gain double integrator that can be implemented with a PD controller
u0=kp(r−z1)−kdz2 (15)
Tracking Control
Command following refers to the output of a controlled system meeting design requirements when a specified reference trajectory is applied. Oftentimes, it refers to how closely the output y compares to the reference input r at any given point in time. This measurement is known as the error e=r−y.
Control problems can be categorized in two major groups; point-to-point control and tracking control. Point-to-point applications call for a smooth step response with minimal overshoot and zero steady state error, such as when controlling linear motion from one position to the next and then stopping. Since the importance is placed on destination accuracy and not on the trajectory between points, conventional design methods produce a controller with inherent phase lag in order to produce a smooth output. Tracking applications require precise tracking of a reference input by keeping the error as small as possible, such as when controlling a process that does not stop. Since the importance is placed on accurately following a changing reference trajectory between points, the problem here is that any phase lag produces unacceptably large errors in the transient response, which lasts for the duration of the process. Although it does not produce a response without overshoot, it does produce a much smaller error signal than the point-to-point controller. The significance is in its ability to reduce the error by orders of magnitude. A step input may be used in point-to-point applications, but a motion profile should be used in tracking applications.
Various methods have been used to remove phase lag from conventional control systems. All of them essentially modify the control law to create a desired closed loop transfer function equal to one. As a result, the output tracks the reference input without any phase lag and the effective bandwidth of the overall system is improved. The most common method is model inversion where the inverse of the desired closed loop transfer function is added as a prefilter. Another method proposed a zero Phase Error Tracking Controller (ZPETC) that cancels poles and stable zeros of the closed loop system and compensates for phase error introduced by un-cancelable zeros. Although it is referred to as a tracking controller, it is really a prefilter that reduces to the inverse of the desired closed loop transfer function when unstable zeros are not present. Other methods consist of a single tracking control law with feed forward terms in place of the conventional feedback controller and prefilter, but they are application specific. However, all of these and other previous methods apply to systems where the model is known.
Model inaccuracy can also create tracking problems. The performance of model-based controllers is largely dependent on the accuracy of the model. When linear time-invariant (LTI) models are used to characterize nonlinear time-varying (NTV) systems, the information becomes inaccurate over time. As a result, gain scheduling and adaptive techniques are developed to deal with nonlinearity and time variance, respectively. However, the complexity added to the design process leads to an impractical solution for industry because of the time and level of expertise involved in constructing accurate mathematical models and designing, tuning, and maintaining each control system.
There have been a number of high performance tracking algorithms that consist of three primary components: disturbance rejection, feedback control, and phase error compensation implemented as a prefilter. First, disturbance rejection techniques are applied to eliminate model inaccuracy with an inner feedback loop. Next, a stabilizing controller is constructed based on a nominal model and implemented in an outer feedback loop. Finally, the inverse of the desired closed loop transfer function is added as a prefilter to eliminate phase lag. Many studies have concentrated on unifying the disturbance rejection and control part, but not on combining the control and phase error compensation part, such as the RIC framework. Internal model control (IMC) cancels an equivalent output disturbance. B. Francis and W. Wonham, “The Internal Model Principal of Control Theory,” Automatica, vol 12, 1976, pp. 457-465. E. Schrijver and J. van Dijk, “Disturbance Observers for Rigid Mechanical Systems Equivalence, Stability, and Design,” Journal of Dynamic Systems, Measurement, and Control, vol. 124, December 2002, pp. 539-548 uses a basic tracking controller with a DOB to control a multivariable robot. The ZPETC has been widely used in combination with the DOB framework and model based controllers.
Thus, having reviewed controllers and observers, the application now describes example systems and methods related to controllers and observers.
Web Processing Applications
Web tension regulation is a challenging industrial control problem. Many types of material, such as paper, plastic film, cloth fabrics, and even strip steel are manufactured or processed in a web form. The quality of the end product is often greatly affected by the web tension, making it a crucial variable for feedback control design, together with the velocities at the various stages in the manufacturing process. The ever-increasing demands on the quality and efficiency in industry motivate researchers and engineers alike to explore better methods for tension and velocity control. However, the highly nonlinear nature of the web handling process and changes in operating conditions (temperature, humidity, machine wear, and variations in raw materials) make the control problem challenging.
Accumulators in web processing lines are important elements in web handling machines as they are primarily responsible for continuous operation of web processing lines. For this reason, the study and control of accumulator dynamics is an important concern that involves a particular class of problems. The characteristics of an accumulator and its operation as well as the dynamic behavior and control of the accumulator carriage, web spans, and tension are known in the art.
Both open-loop and closed-loop methods are commonly used in web processing industries for tension control purposes. In the open-loop control case, the tension in a web span is controlled indirectly by regulating the velocities of the rollers at either end of the web span. An inherent drawback of this method is its dependency on an accurate mathematical model between the velocities and tension, which is highly nonlinear and highly sensitive to velocity variations. Nevertheless, simplicity of the controller outweighs this drawback in many applications. Closing the tension loop with tension feedback is an obvious solution to improve accuracy and to reduce sensitivity to modeling errors. It requires tension measurement, for example, through a load cell, but is typically justified by the resulting improvements in tension regulation.
Most control systems will unavoidably encounter disturbances, both internal and external, and such disturbances have been the obstacles to the development of high performance controller. This is particularly true for tension control applications and, therefore, a good tension regulation scheme must be able to deal with unknown disturbances. In particular, tension dynamics are highly nonlinear and sensitive to velocity variations. Further, process control variables are highly dependent on the operating conditions and web material characteristics. Thus, what are needed are systems and methods for control that are not only overly dependent on the accuracy of the plant model, but also suitable for the rejection of significant internal and external disturbances.
Jet Engine Control Applications
A great deal of research has been conducted towards the application of modern multivariable control techniques on aircraft engines. The majority of this research has been to control the engine at a single operating point. Among these methods are a multivariable integrator windup protection scheme (Watts, S. R. and S. Garg (1996). “An Optimized Integrator Windup Protection Technique Applied to a Turbofan Engine Control,” AIAA Guidance Navigation and Control Conf.), a tracking filter and a control mode selection for model based control (Adibhatla S. and Z. Gastineau (1994). “Tracking Filter Selection And Control Mode Selection For Model Based Control.” AIAA 30th Joint Propulsion Conference and Exhibit), an Hm method and linear quadratic Gaussian with loop transfer recovery method (Watts, S. R. and S. Garg (1995). “A Comparison Of Multivariable Control Design Techniques For A Turbofan Engine Control.” International Gas Turbine and Aeroengine Congress and Expo.), and a performance seeking control method (Adibhatla, S. and K. L. Johnson (1993). “Evaluation of a Nonlinear Psc Algorithm on a Variable Cycle Engine.” AIAA/SAE/ASME/ASEE 29th Joint Propulsion Conference and Exhibit). Various schemes have been developed to reduce gain scheduling (Garg, S. (1997). “A Simplified Scheme for Scheduling Multivariable Controllers.” IEEE Control Systems) and have even been combined with integrator windup protection and Hm (Frederick, D. K., S. Garg and S. Adibhatla (2000). “Turbofan Engine Control Design Using Robust Multivariable Control Technologies. IEEE Trans. on Control Systems Technology).
Conventionally, there have been a limited number of control techniques for full flight operation (Garg, S. (1997). “A Simplified Scheme for Scheduling Multivariable Controllers.” IEEE Control Systems; and Polley, J. A., S. Adibhatla and P. J. Hoffman (1988). “Multivariable Turbofan Engine Control for Full Conference on Decision and Control Flight Operation.” Gas Turbine and Expo). However, there has been no development of tuning a controller for satisfactory performance when applied to an engine. Generally, at any given operating point, models can become inaccurate from one engine to another. This accuracy increases with model complexity, and subsequently design and tuning complexity. As a result, very few of these or similar aircraft design studies have led to implementation on an operational vehicle.
The current method for controlling high performance jet engines remains multivariable proportional-integral (PI) control (Edmunds, J. M. (1979). “Control System Design Using Closed-Loop Nyquist and Bode Arrays.” Int. J on Control, 30:5, 773-802, and Polley, J. A., S. Adibhatla and P. J. Hoffman (1988). “Multivariable Turbofan Engine Control for Full Conference on Decision and Control. Flight Operation.” Gas Turbine and Expo). Although the controller is designed by implementing Bode and Nyquist techniques and is tunable, a problem remains due to the sheer number of tuning parameters compounded by scheduling.
Health Monitoring and Fault Detection
The terms “health”, “fault”, “diagnosis”, and “tolerance” are used in broad terms. Some literature defines a fault as an unpermitted deviation of at least one characteristic property or variable by L. H. Chiang, E. Russell, and R. D. Braatz, Fault Detection and Diagnosis in Industrial Systems, Springer-Verlag, February 2001. Others define it more generally as the indication that something is going wrong with the system by J. J. Gertler, “Survey of model-based failure detection and isolation in complex plants,” IEEE Control Systems Magazine, December 1988.
Industry is increasingly interested in actively diagnosing faults in complex systems. The importance of fault diagnosis can be seen by the amount of literature associated with it. There are a number of good survey papers by (J. J. Gertler, “Survey of model-based failure detection and isolation in complex plants,” IEEE Control Systems Magazine, December 1988. V. Venkatasubramanian, R. Rengaswamy, K. Yin, and S. N. Kavuri, “A review of process fault detection and diagnosis part i: Quantitative model-based methods,” Computers and Chemical Engineering, vol. 27, pp. 293-311, April 2003, (P. M. Frank, “Fault diagnosis in dynamic systems using analytical and knowledge-based redundancy: a survey and some new results,” Automatica, vol. 26, no. 3, pp. 459-474, 1990, K. Madani, “A survey of artificial neural networks based fault detection and fault diagnosis techniques,” International Joint Conference on Neural Networks, vol. 5, pp. 3442-3446, July 1999, P. M. Frank, “Analytical and qualitative model-based fault diagnosis-a survey and some new results,” European Journal of Control, 1996, P. M. Frank and X. Ding, “Survey of robust residual generation and evaluation methods in observer-based fault detection,” Journal of Process Control, 1997, J. Riedesel, “A survey of fault diagnosis technology [for space power systems],” in Proceedings of the 24th Intersociety IECEC-89. Conversion Engineering Conference, 1989, pp. 183-188, A. Willsky, “A survey of design methods for failure detection in dynamic systems,” NASA STI/Recon Technical Report N, vol. 76, pp. 11 347-+, 1975, M. Kinnaert, “Fault diagnosis based on analytical models for linear and nonlinear systems—a tutorial,” Department of Control Engineering and System Analysis, Université Libre de Bruxelles, Tech. Rep., 2004.) and books by (L. H. Chiang, E. Russell, and R. D. Braatz, Fault Detection and Diagnosis in Industrial Systems, Springer-Verlag, February 2001, M. Blanke, M. Kinnaert, J. Junze, M. Staroswiecki, J. Schroder, and J. Lunze, Diagnosis and Fault-Tolerant Control, Springer-Verlag, August 2003, R. Patton, P. M. Frank, and R. N. Clark, Issues of Fault Diagnosis for Dynamic Systems, Springer-Verlag Telos, 2000, S. Simani, C. Fantuzzi, and R. Patton, Model-based Fault Diagnosis in Dynamic Systems Using Identification Techniques. Springer-Verlag, January 2003, E. Russell, L. H. Chiang, and R. D. Braatz, Data-Driven Methods for Fault Detection and Diagnosis in Chemical Processes (Advances in Industrial Control). Springer-Verlag, 2000, M. Basseville and I. V. Nikiforov, Detection of Abrupt Changes: Theory and Application. Prentice-Hall, Inc, April 1993.) which collect many of the issues and solutions for faults.
There are four main categories of fault diagnosis. Fault detection is the indication that something is going wrong with the system. Fault isolation determines the location of the failure. Failure identification is the determination of the size of the failure. Fault accommodation and remediation is the act or process of correcting a fault. Most fault solutions deal with the first three categories and do not make adjustments to closed loop systems. The common solutions can be categorized into a six major areas:
Some of these methods attempt to remove the need for accurate mathematical models yet require other implicit models. Analytical redundancy by (E. Y. Chow and A. S. Willsky, “Analytical redundancy and the design of robust failure detection systems,” IEEE Transactions on Automatic Control, October 1982.), the most popular method, relies heavily on mathematical models.
Often detailed model information is not available although diagnostics of the dynamic control system are still important. A less developed but important problem is characterizing what can be determined from input output data with few assumptions about the plant.
Without adequate knowledge of the plant, disturbances, faults, and modeling errors, it is difficult to build an effective estimator. For the most part, each of these issues has been approached independently.
This section presents a simplified summary of methods, systems, and computer readable media and so on for scaling and parameterizing controllers to facilitate providing a basic understanding of these items. This summary is not an extensive overview and is not intended to identify key or critical elements of the methods, systems, computer readable media, and so on or to delineate the scope of these items. This summary provides a conceptual introduction in a simplified form as a prelude to the more detailed description that is presented later.
The application describes scaling and parameterizing controllers. With these two techniques, controller designing, tuning, and optimizing can be improved. In one example, systems, methods, and so on described herein facilitate reusing a controller design by scaling a controller from one application to another. This scaling may be available, for example, for applications whose plant differences can be detailed through frequency scale and/or gain scale. While PID controllers are used as examples, it is to be appreciated that other controllers can benefit from scaling and parameterization as described herein.
Those familiar with filter design understand that filters may be designed and then scaled for use in analogous applications. Filter designers are versed in the concept of the unit filter which facilitates scaling filters. In example controller scaling techniques, a plant transfer function is first reduced to a unit gain and unit bandwidth (UGUB) form. Then, a known controller for an appropriate UGUB plant is scaled for an analogous plant. Since certain plants share certain characteristics, classes of UGUB plants can be designed for which corresponding classes of scaleable, parameterizable controllers can be designed.
Since certain classes of plants have similar properties, it is possible to frequency scale controllers within classes. For example, an anti-lock brake plant for a passenger car that weighs 2000 pounds may share a number of characteristics with an anti-lock brake plant for a passenger car that weighs 2500 pounds. Thus, if a UGUB plant can be designed for this class of cars, then a frequency scaleable controller can also be designed for the class of plants. Then, once a controller has been selected and engineered for a member of the class (e.g., the 2000 pound car), it becomes a known controller from which other analogous controllers can be designed for other similar cars (e.g., the 2500 pound car) using frequency scaling.
This scaling method makes a controller “portable”. That is a single controller can be used as the “seed” to generate controllers for a large number of different plants that are similar in nature. The remaining question concerns how to account for differences in design requirements. Controller parameterization addresses this issue. The example parameterization techniques described herein make controller coefficients functions of a single design parameter, namely the crossover frequency (also known as the bandwidth). In doing so, the controller can be tuned for different design requirements, which is primarily reflected in the bandwidth requirement.
The combination of scaling and parameterization methods means that an existing controller (including PID, TFB, and SFSOB) can be scaled for different plants and then, through the adjustment of one parameter, changed to meet different performance requirements that are unique in different applications.
Certain illustrative example methods, systems, computer readable media and so on are described herein in connection with the following description and the annexed drawings. These examples are indicative, however, of but a few of the various ways in which the principles of the methods, systems, computer readable media and so on may be employed and thus are intended to be inclusive of equivalents. Other advantages and novel features may become apparent from the following detailed description when considered in conjunction with the drawings.
Prior Art
As used in this application, the term “computer component” refers to a computer-related entity, either hardware, firmware, software, a combination thereof, or software in execution. For example, a computer component can be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program and a computer. By way of illustration, both an application running on a server and the server can be computer components. One or more computer components can reside within a process and/or thread of execution and a computer component can be localized on one computer and/or distributed between two or more computers.
“Computer communications”, as used herein, refers to a communication between two or more computers and can be, for example, a network transfer, a file transfer, an applet transfer, an email, a hypertext transfer protocol (HTTP) message, a datagram, an object transfer, a binary large object (BLOB) transfer, and so on. A computer communication can occur across, for example, a wireless system (e.g., IEEE 802.11), an Ethernet system (e.g., IEEE 802.3), a token ring system (e.g., IEEE 802.5), a local area network (LAN), a wide area network (WAN), a point-to-point system, a circuit switching system, a packet switching system, and so on.
“Logic”, as used herein, includes but is not limited to hardware, firmware, software and/or combinations of each to perform a function(s) or an action(s). For example, based on a desired application or needs, logic may include a software controlled microprocessor, discrete logic such as an application specific integrated circuit (ASIC), or other programmed logic device. Logic may also be fully embodied as software.
An “operable connection” is one in which signals and/or actual communication flow and/or logical communication flow may be sent and/or received. Usually, an operable connection includes a physical interface, an electrical interface, and/or a data interface, but it is to be noted that an operable connection may consist of differing combinations of these or other types of connections sufficient to allow operable control.
“Signal”, as used herein, includes but is not limited to one or more electrical or optical signals, analog or digital, one or more computer instructions, a bit or bit stream, or the like.
“Software”, as used herein, includes but is not limited to, one or more computer readable and/or executable instructions that cause a computer or other electronic device to perform functions, actions and/or behave in a desired manner. The instructions may be embodied in various forms like routines, algorithms, modules, methods, threads, and/or programs. Software may also be implemented in a variety of executable and/or loadable forms including, but not limited to, a stand-alone program, a function call (local and/or remote), a servelet, an applet, instructions stored in a memory, part of an operating system or browser, and the like. It is to be appreciated that the computer readable and/or executable instructions can be located in one computer component and/or distributed between two or more communicating, co-operating, and/or parallel processing computer components and thus can be loaded and/or executed in serial, parallel, massively parallel and other manners. It will be appreciated by one of ordinary skill in the art that the form of software may be dependent on, for example, requirements of a desired application, the environment in which it runs, and/or the desires of a designer/programmer or the like.
“Data store”, as used herein, refers to a physical and/or logical entity that can store data. A data store may be, for example, a database, a table, a file, a list, a queue, a heap, and so on. A data store may reside in one logical and/or physical entity and/or may be distributed between two or more logical and/or physical entities.
To the extent that the term “includes” is employed in the detailed description or the claims, it is intended to be inclusive in a manner similar to the term “comprising” as that term is interpreted when employed as a transitional word in a claim.
To the extent that the term “or” is employed in the claims (e.g., A or B) it is intended to mean “A or B or both”. When the author intends to indicate “only A or B but not both”, then the author will employ the term “A or B but not both”. Thus, use of the term “or” in the claims is the inclusive, and not the exclusive, use. See Bryan A. Garner, A Dictionary of Modern Legal Usage 624 (2d Ed. 1995).
Example methods, systems, computer media, and so on are now described with reference to the drawings, where like reference numerals are used to refer to like elements throughout. In the following description for purposes of explanation, numerous specific details are set forth in order to facilitate thoroughly understanding the methods, systems, computer readable media, and so on. It may be evident, however, that the methods, systems and so on can be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to simplify description.
Scaling
Controllers typically are not scalable and thus are not portable between applications. However, controllers can be made portable via scaling as described in the example systems and methods provided herein. In general, a plant mathematically represented by a transfer function Gp(s), (where s is the Laplace Transform variable) can be scaled according to:
where ωp is the plant frequency scale and k is the gain scale, to represent a large number of plants that differ from the original plant by a frequency scale, ωp, and a gain scale, k.
Then, a corresponding controller Gc(s) for the plant Gp(s) can be scaled according to:
Gc(s)=(1/k)Gc(s/ωp). (17)
Consider a unit feedback control system 200 with the plant Gp(s) 210 and controller Gc(s) 220, as shown in
Gc(s)=(1/k)Gc(s/ωp). (18)
Referring to
The controller information data store 330 may store, for example, controller class information and/or information concerning scaleable controller parameters. Similarly, the plant data store 340 may store, for example, plant information like transfer function shape, frequency scale, and so on.
The system 300 may also include a controller scaler 320 that produces a scaled controller from the identified scaleable parameter. The scaler 320 may make scaling decisions based, for example, on information in the controller information data store 330 (e.g., controller class, scaleable parameters, frequency scale), information in the plant information data store 340 (e.g. plant class, plant transfer function, frequency scale), and so on.
While illustrated as two separate entities, it is to be appreciated that the identifier 310 and scaler 320 could be implemented in a single computer component and/or as two or more distributed, communicating, co-operating computer components. Thus, the entities illustrated in
Aspects of controller scaling can be related to filter design. In filter design, with the bandwidth, the pass band, and stop band requirements given, filter design is straight forward. An example filter design method includes finding a unit bandwidth filter, such as an nth order Chebeshev filter H(s), that meets the pass band and stop band specifications and then frequency scaling the filter as H(s/ω0) to achieve a bandwidth of ω0.
Revisiting the system 200 in
These scales facilitate paying less attention to differences between controllers and applications and more attention to a generic solution for a class of problems because using the scales facilitates reducing linear time invariant plants, proper and without a finite zero, to one of the following example forms:
through gain and frequency scaling. For example, the motion control plant of Gp(s)=23.2/s(s+1.41) is a variation of a generic motion control plant Gp(s)=1/s(s+1) with a gain factor of k=11.67 and ωp=1.41.
Equation (19) describes many example industrial control problems that can be approximated by a first order or a second order transfer function response. Additionally, equation (19) can be appended by terms like:
to include systems with finite zeros. Thus, while a set of examples is provided in equations (19) and (21), it is to be appreciated that a greater and/or lesser number of forms can be employed in accordance with the systems and methods described herein. Furthermore, in some examples, scaling can be applied to reflect the unique characteristics of certain problems. For example, a motion control system with significant resonant problems can be modeled and scaled as
where the resonant frequencies satisfy ωrp=nωp, ωrz=mωp. Problems with multiple frequency scales, ωp, nωp, and mωp, can be referred to as multi-scale problems. With these definitions in hand, an example controller scaling technique is now described.
Assume Gc(s) is a stabilizing controller for plant Gp(s), and the loop gain crossover frequency is ωc(s), then the controller
will stabilize the plant
will have a bandwidth of ωcωp, and substantially the same stability margins of
L(s)=Gp(s)Gc(s)
since
Note that the new closed-loop system has substantially the same frequency response shape as the original system except that it is shifted by ωp. Thus, feedback control properties like bandwidth, disturbance and noise rejection are retained, as is the stability robustness, from the previous design, except that frequency ranges are shifted by ωp.
Now that controller scaling has been described, PID scaling can be addressed. According to the frequency scale principle discussed above, and assuming the original controller for Gp(s) is a PID, e.g.,
then the new controller for the plant kGp(s/ωp) is obtained from (25) as
That is, the new PID gains,
To demonstrate the practical application and tangible results possible from the method described above, in the following example, consider a plant that has a transfer function of
and the PID control gains of kp=3, ki=1, and kd=2. Now, assume the plant has changed to
The new gains are calculated from equation (30) as
from scratch, the PID designer was able to select an existing PID appropriate for the PID class and scale the PID. Thus, frequency scaling facilitates new systems and methods for controller design that take advantage of previously designed controllers and the relationships between controllers in related applications.
In one example, the controller is a PID controller. The PID controller may have a plant frequency scale ωp as a scaleable parameter. In another example, the method includes producing the scaled controller. For example, a computer component may be programmed to perform the frequency scaled controlling. Additionally, computer executable portions of the method may be stored on a computer readable medium and/or be transmitted between computer components by, for example, carrier waves encoding computer executable instructions.
In view of the exemplary systems shown and described below, example methodologies that are implemented will be better appreciated with reference to the flow diagrams of
In the flow diagrams, rectangular blocks denote “processing blocks” that may be implemented, for example, in software. Similarly, the diamond shaped blocks denote “decision blocks” or “flow control blocks” that may also be implemented, for example, in software. Alternatively, and/or additionally, the processing and decision blocks can be implemented in functionally equivalent circuits like a digital signal processor (DSP), an ASIC, and the like.
A flow diagram does not depict syntax for any particular programming language, methodology, or style (e.g., procedural, object-oriented). Rather, a flow diagram illustrates functional information one skilled in the art may employ to program software, design circuits, and so on. It is to be appreciated that in some examples, program elements like temporary variables, initialization of loops and variables, routine loops, and so on are not shown.
Turning to
where kp is a proportional gain, ki is an integral gain, and kd is a derivative gain. In another example,
In yet another example, the PID gains
It is to be appreciated that this example method can be employed with linear and/or non-linear PIDs.
Applying a unit step function as the set point, the responses of an original controller and a scaled controller are shown in
While the method described above concerned linear PIDs, it is to be appreciated that the method can also be applied to scaling nonlinear PIDs. For example, PID performance can be improved by using nonlinear gains in place of the linear ones. For example,
u=kpgp(e)+ki∫gi(e)dt+kdgd(ė) (28)
where gp(e), gi(e), and gd(e) are nonlinear functions. The non-linear PIDs can be denoted NPID. Nonlinearities are selected so that the proportional control is more sensitive to small errors, the integral control is limited to the small error region—which leads to significant reduction in the associate phase lag—and the differential control is limited to a large error region, which reduces its sensitivity to the poor signal to noise ratio when the response reaches steady state and the error is small.
The NPID retains the simplicity of PID and the intuitive tuning. The same gain scaling formula (30) will also apply to the NPID controller when the plant changes from Gp(s) to kGp(s/ωp).
Scaling facilitates concentrating on normalized control problems like those defined in (22). This facilitates selecting an appropriate controller for an individual problem by using the scaling formula in (26) and the related systems and methods that produce tangible, results (e.g., scaled controller). This further facilitates focusing on the fundamentals of control, like basic assumptions, requirements, and limitations. Thus, the example systems, methods, and so on described herein concerning scaling and parameterization can be employed to facilitate optimizing individual solutions given the physical constraints of a problem.
Parameterization
Working with controllers can be simplified if they can be described in terms of a smaller set of parameters than is conventionally possible. Typically, a controller (and possibly an observer) may have many (e.g. 15) parameters. The systems and methods described herein concerning parameterization facilitate describing a controller in terms of a single parameter. In one example, controller parameterization concerns making controller parameters functions of a single variable, the controller bandwidth ωc.
Considering the normalized plants in (19) and assuming desired closed-loop transfer functions are:
then for second order plants, the damping ratio can be set to unity, resulting in two repeated poles at −ωc. The same technique can also be applied to higher order plants.
Applying pole-placement design to the first and second order plants in (22), a set of example ωc parameterized controllers are obtained and shown in Table I. Information concerning the plants and the related controllers can be stored, for example, in a data store.
Loop shaping design can also be parameterized. Loop-shaping refers to manipulating the loop gain frequency response, L(jω)=Gp(jω)Gc(jω), as a control design tool. One example loop-shaping method includes converting design specifications to loop gain constraints, as shown in
As an example of loop shaping, considering the plants of the form Gp(s), in Table I, the desired loop gain can be characterized as
where ωc is the bandwidth, and
ω1<ωc, ω2<ωc, m≧0, and n≧0 (31)
are selected to meet constrains shown in
ω1=ωc/10 and ω2=10ωc (32)
which yield a phase margin greater than forty-five degrees.
Once appropriate loop gain constraints are derived and the corresponding lowest order L(s) in (33) is selected, the controller can be determined from
An additional constraint on n is that
is proper
This design is valid for plants with a minimum phase. For a non-minimum phase plant, a minimum phase approximation of Gp−1(s) can be employed.
A compromise between ω1 and the phase margin can be made by adjusting ω1 upwards, which will improve the low frequency properties at the cost of reducing phase margin. A similar compromise can be made between phase margin and ω2.
Turning to
Practical Optimization Based on a Hybrid Scaling and Parameterization Method
Practical controller optimization concerns obtaining optimal performance out of existing hardware and software given physical constraints. Practical controller optimization is measured by performance measurements including, but not limited to, command following quickness (a.k.a. settling time), accuracy (transient and steady state errors), and disturbance rejection ability (e.g., attenuation magnitude and frequency range). Example physical constraints include, but are not limited to, sampling and loop update rate, sensor noise, plant dynamic uncertainties, saturation limit, and actuation signal smoothness requirements.
Conventional tuning relies, for example, on minimizing a cost function like H2 and H28. However, conventional cost functions may not comprehensively reflect the realities of control engineering, and may, therefore, lead to suboptimal tuning. For example, one common cost function is mathematically attractive but can lead to suboptimal controller tuning. Thus, optimizing other criteria, like ωc are considered.
A typical industrial control application involves a stable single-input single-output (SISO) plant, where the output represents a measurable process variable to be regulated and the input represents the control actuation that has a certain dynamic relationship to the output. This relationship is usually nonlinear and unknown, although a linear approximation can be obtained at an operating point via the plant response to a particular input excitation, like a step change.
Evaluating performance measurements in light of physical limitations yields the fact that they benefit from maximum controller bandwidth ωc. If poles are placed in the same location, then ωc can become the single item to tune. Thus, practical PID optimization can be achieved with single parameter tuning. For example, in manufacturing, a design objective for an assembly line may be to make it run as fast as possible while minimizing the down time for maintenance and trouble shooting. Similarly, in servo design for a computer hard disk drive, a design objective may be to make the read/write head position follow the setpoint as fast as possible while maintaining extremely high accuracy. In automobile anti-lock brake control design, a design objective may be to have the wheel speed follow a desired speed as closely as possible to achieve minimum braking distance.
In the three examples, the design goal can be translated to maximizing controller bandwidth ωc. There are other industrial control examples that lead to the same conclusion. Thus, ωc maximization appears to be a useful criterion for practical optimality. Furthermore, unlike purely mathematical optimization techniques, ωc optimization has real world applicability because it is limited by physical constraints. For example, sending ωc to infinity may be impractical because it may cause a resulting signal to vary unacceptably.
As an example of how physical limitations may affect ωc optimization, consider digital control apparatus that have a maximum sampling rate and a maximum loop update rate. The maximum sampling rate is a hardware limit associated with the Analog to Digital Converter (ADC) and the maximum loop update rate is software limit related to central processing unit (CPU) speed and the control algorithm complexity. Typically, computation speeds outpace sampling rates and therefore only the sampling rate limitation is considered.
As another example, measurement noise may also be considered when examining the physical limitations of ωc optimization. For example, the ωc is limited to the frequency range where the accurate measurement of the process variable can be obtained. Outside of this range, the noise can be filtered using either analog or digital filters.
Plant dynamic uncertainty may also be considered when examining the physical limitations of ωc optimization. Conventional control design is based on a mathematical description of the plant, which may only be reliable in a low frequency range. Some physical plants exhibit erratic phase distortions and nonlinear behaviors at a relative high frequency range. The controller bandwidth is therefore limited to the low frequency range where the plant is well behaved and predictable. To safeguard the system from instability, the loop gain is reduced where the plant is uncertain. Thus, maximizing the bandwidth safely amounts to expanding the effective (high gain) control to the edge of frequency range where the behavior of the plant is well known.
Similarly, actuator saturation and smoothness may also affect design. Although using transient profile helps to decouple bandwidth design and the transient requirement, limitations in the actuator like saturation, nonlinearities like backlash and hysteresis, limits on rate of change, smoothness requirements based on wear and tear considerations, and so on may affect the design. For example, in a motion control application with a significant backlash problem in the gearbox, excessively high bandwidth will result in a chattering gearbox and, very likely, premature breakdown. Thus, ωc optimization, because it considers physical limitations like sampling rate, loop update rate, plant uncertainty, actuator saturation, and so on, may produce improved performance.
In one controller optimization example, assume that the plant is minimum phase, (e.g., its poles and zeros are in the left half plane), that the plant transfer function is given, that the ωc parameterized controllers are known and available in form of Table I, that a transient profile is defined according to the transient response specifications, and that a simulator 800 of closed-loop control system as shown in
With these assumptions, one example design method then includes, determining frequency and gain scales, ωp and k from the given plant transfer function. The method also includes, based on the design specification, determining the type of controller required from, for example, Table I. The method also includes selecting the Gc(s, ωc) corresponding to the scaled plant in the form of Table I. The method also includes scaling the controller to
digitalizing Gc(s/ωp, ωc)/k and implementing the controller in the simulator. The method may also include setting an initial value of ωc based on the bandwidth requirement from the transient response and increasing ωc while performing tests on the simulator, until either one of the following is observed:
a. Control signal becomes too noisy and/or too uneven, or
b. Indication of instability (oscillatory behavior)
Consider an example motion control test bed for which the mathematical model of the motion system is
ÿ=(−1.41{dot over (y)}+23.2Td)+23.2u (35)
where y is the output position, u is the control voltage sent to the power amplifier that drives the motor, and Td is the torque disturbance. An example design objective for the example system could be rotating the load one revolution in one second with no overshoot. Thus, the physical characteristics of the example control problem are:
1) |u|<3.5 volt,
2) sampling rate=1 kHz,
3) sensor noise is 0.1% white noise,
4) torque disturbance up to 10% of the maximum torque,
5) smooth control signal.
The plant transfer function is
Now consider the corresponding UGUB plant
A PD design of
u=kp(r−y)+kd(−{dot over (y)})
with
kp=ωc2 and kd=2ωc−1
makes the closed-loop transfer function
Considering the plant gain scale of k and the frequency scale of ωp, the PD gains are then scaled as
To avoid noise corruptions of the control signal, an approximate differentiator
is used where the corner frequency 10ωc is selected so that the differentiator approximation does not introduce problematic phase delays at the crossover frequency. Using a conventional root locus method, the one second settling time would require a closed-loop bandwidth of 4 rad/sec. The example single parameter design and tuning methods described herein facilitate determining that an ωc of 20 rad/sec yields optimal performance under the given conditions. A comparison of the two designs is shown in
Parameterization of State Feedback and State Observer Gains
As described in the Background section, the State Feedback (SF) controller
u=r+K{circumflex over (x)} (36)
is based on the state space model of the plant:
{dot over (x)}(t)=Ax(t)+Bu(t),y(t)=Cx(t)+Du(t) (37)
When the state x is not accessible, a state observer (SO):
{circumflex over ({dot over (x)}=A{circumflex over (x)}+Bu+L(y−ŷ) (38)
is often used to find its estimate, {circumflex over (x)}. Here r is the setpoint for the output to follow. The state feedback gain K and the observer gain L are determined from the equations:
eig(A+BK)=λc(s) and eig(A+LC)=λo(s)
where λc(s) and λo(s) are polynomials of s that are chosen by the designer. Usually the K and L have many parameters and are hard to tune.
The parameterization of state feedback and state observer gains are achieved by making
λc(s)=(s+ωc)n and ζo(s)=(s+ωo)n
where ωc and ωo are bandwidth of the state feedback system and the state observer, respectively, and n is the order of the system. This simplifies tuning since parameters in K and L are now functions of ωc and ωo, respectively.
Parameterization of Linear Active Disturbance Rejection Controller (LADRC) for a Second Order Plant
Some controllers are associated with observers. Conventionally, second order systems with controllers and observers may have a large number (e.g., 15) of tunable features in each of the controller and observer. Thus, while a design method like the Han method is conceptually viable, its practical implementation is difficult because of tuning issues. As a consequence of the scaling and parameterization described herein, observer based systems can be constructed and tuned using two parameters, observer bandwidth (ω0) and controller bandwidth (ωc).
State observers provide information on the internal states of plants. State observers also function as noise filters. A state observer design principle concerns how fast the observer should track the states, (e.g., what should its bandwidth be). The closed-loop observer, or the correction term L(y−ŷ) in particular, accommodates unknown initial states, uncertainties in parameters, and disturbances. Whether an observer can meet the control requirements is largely dependent on how fast the observer can track the states and, in case of ESO, the disturbance f(t,x1,x2,w). Generally speaking, faster observers are preferred. Common limiting factors in observer design include, but are not limited to dependency on the state space model of the plant, sensor noise, and fixed sampling rate.
Dependency on the state space model can limit an application to situations where a model is available. It also makes the observer sensitive to the inaccuracies of the model and the plant dynamic changes. The sensor noise level is hardware dependent, but it is reasonable to assume it is a white noise with the peak value 0.1% to 1% of the output. The observer bandwidth can be selected so that there is no significant oscillation in its states due to noises. A state observer is a closed-loop system by itself and the sampling rate has similar effects on the state observer performance as it does on feedback control. Thus, an example model independent state observer system is described.
Observers are typically based on mathematical models. Example systems and methods described herein can employ a “model independent” observer as illustrated in
Consider a simple example for controlling a second order plant
ÿ=−a{dot over (y)}−by+w+b (39)
where y and u are output and input, respectively, and w is an input disturbance. Here both parameters, a and b, are unknown, although there is some knowledge of b, (e.g., b0≈b derived from the initial acceleration of y in step response). Rewrite (39) as
ÿ−a{dot over (y)}−by +w+(b−b0)u+b0u=ƒ+b0u (40)
where ƒ=−a{dot over (y)}−by+w+(b−b0)u. Here ƒ is referred to as the generalized disturbance, or disturbance, because it represents both the unknown internal dynamics, −a{dot over (y)}−by+(b−b0)u and the external disturbance w(t).
If an estimate of ƒ, {circumflex over (ƒ)} can be obtained, then the control law
reduces the plant to ÿ=(ƒ−{circumflex over (ƒ)})+u0 which is a unit-gain double integrator control problem with a disturbance (ƒ−{circumflex over (ƒ)}).
Thus, rewrite the plant in (40) in state space form as
with x3=ƒ added as an augmented state, and h={dot over (ƒ)} is seen as an unknown disturbance. Now ƒ can be estimated using a state observer based on the state space model
Now the state space observer, denoted as the linear extended state observer (LESO), of (42) can be constructed as
ż=Az+Bu+L(y−ŷ)
ŷ=Cz (43)
and if ƒ is known or partially known, it can be used in the observer by taking h={dot over (ƒ)} to improve estimation accuracy.
ż=Az+Bu+L(y−ŷ)+Eh
{circumflex over (t)}=Cz (43b)
The observer can be reconstructed in software, for example, and L is the observer gain vector, which can be obtained using various methods known in the art like pole placement,
L=[β1β2β3]T (44)
where [ ]T denotes transpose. With the given state observer, the control law can be given as:
Ignoring the inaccuracy of the observer,
ÿ=(ƒ−z3)+u0≈u0 (46)
which is an unit gain double integrator that can be implemented with a PD controller
u0=kp(r−z1)−kdz2 (47)
where r is the setpoint. This results in a pure second order closed-loop transfer function of
Thus, the gains can be selected as
kd=2ξc and kp=ωc2 (49)
where ωc and ζ are the desired closed loop natural frequency and damping ratio. ζ can be chosen to avoid oscillations. Note that −kdz2, instead of kd({dot over (r)}−z2), is used to avoid differentiating the set point and to make the closed-loop transfer function a pure second order one without a zero.
This example, illustrated in
The stability of controllers can also be examined. Let ei=xi−zi, i=1, 2, 3. Combine equation (43) and (44) and subtract the combination from (42). Thus, the error equation can be written:
and E is defined in (42). The LESO is bounded input, bounded output (BIBO) stable if the roots of the characteristic polynomial of Ae
λ(s)=s3+β1s2+β2s+β3 (51)
are in the left half plane (LHP) and h is bounded. This separation principle also applies to LADRC.
The LADRC design from (43) to (46) yields a BIBO stable closed-loop system if the observer in (43) and (44) and the feedback control law (46) for the double integrator are stable, respectively. This is shown by combing equations (45) and (47) into a state feedback form of u=(1/b0)[−kp−kd−1]z=Fz, where F=(1/b0)[−kp−kd−1]. Thus, the closed-loop system can be represented by the state-space equation of:
where
Since r is the bounded reference signal, a nontrivial condition on the plant is that h={dot over (ƒ)} is bounded. In other words, the disturbance ƒ must be differentiable.
ESO Bandwidth Parameterization
ωo parameterization refers to parameterizing the ESO on observer bandwidth ωo. Consider a plant (42) that has three poles at the origin. The related observer will be less sensitive to noises if the observer gains in (44) are small for a given ωo. But observer gains are proportional to the distance for the plant poles to those of the observer. Thus the three observer poles should be placed at −ωo, or equivalently,
λ(s)=s3+β1s2+β2s+β3=(s+ωo)3 (53)
That is
β1=3ωo, β2=3ωo2, β3=ωo3 (54)
It is to be appreciated that equations (53) and (54) are extendable to nth order ESO. Similarly, the parameterization method can be extended to the Luenberger Observer for arbitrary A, B, and C matrices, by obtaining {Ā,
Given tolerable noise thresholds in the observer states, increase ωo until at least one of the thresholds is about to be reached or the observer states become oscillatory due to sampling delay. In general, the faster the ESO, the faster the disturbance is observed and cancelled by the control law.
A relationship between ωo and ωc can be examined. One example relationship is
ωo≈3␣5ωc (55)
Equation (55) applies to a state feedback control system where ωc is determined based on transient response requirements like the settling time specification. Using a transient profile instead of a step command facilitates more aggressive control design. In this example there are two bandwidths to consider, the actual control loop bandwidth ωc and the equivalent bandwidth of the transient profile,
ωo≈5␣10
An example for optimizing LADRC is now presented. One example LADRC design and optimization method includes designing a parameterized LESO and feedback control law where ωo and ωc are the design parameters. The method also includes designing a transient profile with the equivalent bandwidth of
In one example, the simulation and/or testing may not yield satisfactory results if the transient design specification described by
By way of illustration, reconsider the control problem example associated with equations (32), but apply the LADRC in (43) to (48). Note that b=23.2 for this problem, but to make the design realistic, assume the designer's estimate of b is b0=40. Now rewrite the plant differential equation (38) as
ÿ=(−1.41{dot over (y)}+23.2Td)+(23.2−40)u+40u=ƒ+40u
The LESO is
The control law is defined as
where ωc is the sole design parameter to be tuned. A trapezoidal transient profile is used with a settling time of one second, or
Parameterization of LADRC for nth Order Plant
It will be appreciated by one skilled in the art that observer based design and tuning techniques can be scaled to plants of arbitrary orders. For a general nth order plant with unknown dynamics and external disturbances,
y(n)=ƒ(t,y,{dot over (y)}, . . . ,y(n−1),u,{dot over (u)}, . . . u(n−1),w)+bu (57)
the observer can be similarly derived, starting from the state space equation
with xn+1=ƒ added as an augmented state, and h={dot over (ƒ)} mostly unknown. The observer of (43) in its linear form with the observer gain
L=[β1β2 . . . βn+1]T (59)
has the form
and if ƒ is known or partially known, it can be used in the observer by taking h={dot over (ƒ)} to improve estimation accuracy.
With the gains properly selected, the observer will track the states and yield
z1(t)→y(t),z2(t)→{dot over (y)}(t), . . . ,zn(t)→y(n−1)(t)
zn+1(t)→ƒ(t,y,{dot over (y)}, . . . , y(n−1),u,{dot over (u)}, . . . u(n−1),w) (61)
The control law can also be similarly designed as in (45) and (47), with
which reduces the plant to approximately a unit gain cascaded integrator plant
y(n)=(ƒ−zn+1)+u0≈u0 (63)
and
u0=kp(r−z1)−kd
where the gains are selected so that the closed-loop characteristic polynomial has n poles at −ωc,
sn+kd
ωc is the closed-loop bandwidth to be optimized in tuning. The ωo optimization can similarly be applied using
sn=β1sn−1+ . . . +βn−1s+βn=(s+ωo)n (66)
The following example method can be employed to identify a plant order and b0. Given a “black box” plant with input u and output y, the order, n, and b0 can be estimated by allowing the plant to discharge energy stored internally so that it has a zero initial condition, (e.g., y(0)={dot over (y)}(0)= . . . y(n−1)(0)=0) and then assuming ƒ(0)=0. The method includes applying a set of input signals and determining the initial slope of the response: {dot over (y)}(0+), ÿ(0+), . . . . The method also includes determining the slope y(i)(0+) that is proportional to u(0) under various tests, (e.g., y(i)(0+)=ku(0)). Then the method includes setting n=i+1 and b0=k.
Auto-Tuning Based on the New Scaling, Parameterization and Optimization Techniques
Auto-tuning concerns a “press button function” in digital control equipment that automatically selects control parameters. Auto-tuning is conventionally realized using an algorithm to calculate the PID parameters based on the step response characteristics like overshoot and settling time. Auto-tuning has application in, for example, the start up procedure of closed-loop control (e.g., commissioning an assembly line in a factory). Auto-tuning can benefit from scaling and parameterization.
In some applications, dynamic changes in the plant during operations are so severe that controller parameters are varied from one operating point to another. Conventionally, gain-scheduling is employed to handle these situations. In gain-scheduling, the controller gains are predetermined for different operating points and switched during operations. Additionally, and/or alternatively, self-tuning that actively adjusts control parameters based on real time data identifying dynamic plant changes is employed.
Common goals of these techniques are to make the controller parameter determination automatic, given the plant response to a certain input excitation, say a step function and to maintain a consistent controller performance over a wide range of operations, (e.g. making the controller robust).
Example systems, methods and so on described herein concerning scaling and parameterization facilitate auto-scaling model based controllers. When a transfer function model of a plant is available, the controller can be designed using either pole placement or loop shaping techniques. Thus, example scaling techniques described herein facilitate automating controller design and tuning for problems including, but not limited to, motion control, where plants are similar, differing only in dc gain and the bandwidth, and adjusting controller parameters to maintain high control performance as the bandwidth and the gain of the plant change during the operation.
In the examples, the plant transfer functions can be represented as
There are three parameters in (67) that are subject to tuning. The first two parameters, k and ωp, represent plant changes or variations that are determined. The third parameter, ωc, is tuned to maximize performance of the control system subject to practical constraints.
An example method for auto-tuning is now described. The auto-tuning method includes examining a plant Gp(s) and the nominal controller Gc(s, ωc). Given the plant Gp(s) and the nominal controller Gc(s, ωc), the method includes performing off-line tests to determine k and ωp for the plant. The method also includes using equation (67) to determine a new controller for the plant,
An example method for adaptive self-tuning is now described. The adaptive self-tuning procedure includes examining a plant
The LADRC technique does not require the mathematical model of the plant. Instead, it employs a rough estimate of the single parameter b in the differential equation of the plant (57). This estimation is denoted as b0 and is the sole plant parameter in LADRC. As the dynamics of the plant changes, so does b. Thus, b0 can be estimated by rewriting (57) as
y(n)=ƒ(t)+bu (69)
and assuming the zero initial condition, (e.g., y(i)(0)=0, i=1, 2, . . . n−1 and f(0)=0). Then b0≈b can be estimated by using
b0=y(n)(0+)/u(0) (70)
where u(0) is the initial value of the input. It is to be appreciated that this method can be applied to both open loop and closed-loop configurations. For the auto-tuning purposes, the test can be performed off-line and a step input, u(t)=constant can be applied. The LADRC does not require b0 to be highly accurate because the difference, b−b0, is treated as one of the sources of the disturbance estimated by LESO and cancelled by control law.
The b0 obtained from the off-line estimation of b described above can be adapted for auto-tuning LADRC. An auto-tuning method includes, performing off-line tests to determine the order of the plant and b0, selecting the order and the b0 parameter of the LADRC using the results of the off-line tests, and performing a computerized auto-optimization.
Using the controller scaling, parameterization and optimization techniques presented herein, an example computer implemented method 1300 as shown in
The method 1300, at 1310, accepts inputs including, but not limited to, information concerning hardware and software limitations like the actuator saturation limit, noise tolerance, sampling rate limit, noise levels from sensors, quantization, finite word length, and the like. The method also accepts input design requirements like settling time, overshoot, accuracy, disturbance attenuation, and so on. Furthermore, the method also accepts as input the preferred control law form like, PID form, model based controller in a transfer function form, and model independent LADRC form. In one example, the method can indicate if the control law should be provided in a difference equation form. At 1320, a determination is made concerning whether a model is available. If a model is available, then at 1330 the model is accepted either in transfer function, differential equations, or state space form. If a model is not available, then the method may accept step response data at 1340. Information on significant dynamics that is not modeled, such as the resonant modes, can also be accepted.
Once the method has received information input, the method can check design feasibility by evaluating the specification against the limitations. For example, in order to see whether transient specifications are achievable given the limitations on the actuator, various transient profiles can be used to determine maximum values of the derivatives of the output base on which the maximum control signal can be estimated. Thus, at 1350, a determination is made concerning whether the design is feasible. In one example, if the design is not feasible, processing can conclude. Otherwise, processing can proceed to 1360.
If the input information passes the feasibility test, then at 1360, the method 1300 can determine an ωc parameterized solution in one or more formats. In one example, the ωc solution can then be simulated at 1370 to facilitate optimizing the solution.
In one example, to assist an engineer or other user, the ADOAC method provides parameterized solutions of different kind, order, and/or forms, as references. The references can then be ranked separately according to simplicity, command following quality, disturbance rejection, and so on to facilitate comparison.
Computer Processing of Control Algorithms
The bus 1408 can be a single internal bus interconnect architecture and/or other bus architectures. The bus 1408 can be of a variety of types including, but not limited to, a memory bus or memory controller, a peripheral bus or external bus, and/or a local bus. The local bus can be of varieties including, but not limited to, an industrial standard architecture (ISA) bus, a microchannel architecture (MSA) bus, an extended ISA (EISA) bus, a peripheral component interconnect (PCI) bus, a universal serial (USB) bus, and a small computer systems interface (SCSI) bus.
The computer 1400 interacts with input/output devices 1418 via input/output ports 1410. Input/output devices 1418 can include, but are not limited to, a keyboard, a microphone, a pointing and selection device, cameras, video cards, displays, and the like. The input/output ports 1410 can include but are not limited to, serial ports, parallel ports, and USB ports.
The computer 1400 can operate in a network environment and thus is connected to a network 1420 by a network interface 1412. Through the network 1420, the computer 1400 may be logically connected to a remote computer 1422. The network 1420 can include, but is not limited to, local area networks (LAN), wide area networks (WAN), and other networks. The network interface 1412 can connect to local area network technologies including, but not limited to, fiber distributed data interface (FDDI), copper distributed data interface (CDDI), Ethernet/IEEE 802.3, token ring/IEEE 802.5, and the like. Similarly, the network interface 1412 can connect to wide area network technologies including, but not limited to, point to point links, and circuit switching networks like integrated services digital networks (ISDN), packet switching networks, and digital subscriber lines (DSL).
Referring now to
Referring now to
For example, a process 1730 that retrieves plant information from a data store can provide the plant information to the system 1710 and/or the programmers 1720 via the API 1700 by, for example, using a call provided in the API 1700. Thus, in one example of the API 1700, a set of application program interfaces can be stored on a computer-readable medium. The interfaces can be executed by a computer component to gain access to a system for controller scaling and parameterization. Interfaces can include, but are not limited to, a first interface 1740 that facilitates communicating controller information associated with PID production, a second interface 1750 that facilitates communicating plant information associated with PID production, and a third interface 1760 that facilitates communicating frequency scaling information generated from the plant information and the controller information.
LADRC Applied to Web Processing
In another embodiment, a linear Active Disturbance Rejection Control (LADRC) can be employed to provide control on web processing lines. LADRC requires very little information of the plant dynamics, has only two parameters to tune, and has very good disturbance rejection capability. LADRC controllers are inherently robust against plant variations and are effective in a large range of operations.
The mathematical model of a web process line and the existing control methods are illustrated. The accumulator dynamics are used as a test bed in association with an exemplary embodiment. Generally, a web processing line layout includes an entry section, a process section and an exit section. Operations such as wash and quench on the web are performed in the process section. The entry and exit section are responsible for web unwinding and rewinding operations with the help of accumulators located in each sections.
With reference to
Since there is no difference between the entry accumulator and exit accumulator, except that one is for unwinding and the other is for rewinding operations, the embodiment discussed relates to exit accumulators. However, it is to be understood that the systems and methods described herein can relate to an accumulator in substantially any location within substantially any system (e.g., a web process line, etc.). As shown, the exit accumulator 1900 includes a carriage 1902 and web spans 1904, 1906, 1908, 1910, 1912, 1914, and 1916. It is to be understood that the web spans 1904-1916 are for illustrative purposes only and that the number of web spans can be N, where N is an integer equal to or greater than one.
The dynamics of the carriage tension and the entry/exit rollers are summarized below:
where vc(t), ve(t) and vp(t) are the carriage velocity, exit-side and process-side web velocity, respectively. xc(t) is the carriage position, tr is the desired web tension in the process line and tc(t) is the average web tension. uc(t), ue(t) and up(t) are the carriage, exit-side and process-side driven roller control inputs, respectively. The disturbance force, Ff(t), includes friction in the carriage guides, rod seals and other external force on the carriage. Ke and Kp are positive gains. δe(t) and δp(t) are disturbances on the exit side and process line. The constant coefficients in (71) to (75) are described in Table II.
Existing Web Tension Control Methods
The control design objective is to determine a control law such that the process velocities, vc(t), ve(t) and vp(t), as well as the tension, tc(t), all closely follow their desired trajectories or values. It is assumed that vc(t), ve(t) and vp(t), are measured and available as feedback variables.
Typically, proportional-integral-derivative (PID) control is the predominant method in industry, and such control is conventionally employed with web applications. In one example, an industry controller can employ a feed-forward method for the position and velocity control of the accumulator carriage, and the feed-forward plus proportional-integral (PI) control method for the exit-side driven roller and process-side driven roller velocity control. The control law can be described as:
where UcI(t),ueI(t) and upI(t) are the carriage, exit-side and process-side driven roller control inputs. vcd, ved and vpd are the desired velocity of carriage exit-side and process-side rollers, respectively; and {dot over (v)}cd, {dot over (v)}ed and {dot over (v)}pd their derivatives. kpe and kpp are proportional gains and kie, kip are integral gains.
An alternative control method based on Lyapunov method can also be employed:
where γ3, γe, and γp are the controller gains to be selected.
The following tension observer can be used to estimate tc(t):
Since the velocities are generally controlled in open-loop by a conventional PI feed forward and control method, the industrial controller needs to retune the controller when the operating conditions are changed and external disturbance appears. In addition, the industrial controller has a poor performance in the presence of disturbance.
The Lyapunov based controller (LBC) improves the industrial controller by adding auxiliary error feedback terms to get better performance and disturbance rejection. However, the LBC has its own shortcomings since it is designed specifically to deal with disturbances, which are introduced in the model. Thus, when uncertainties appear in a real-world application, the LBC may require re-design of the controller.
In view of the conventional systems and methods, the exemplary embodiment was developed in the framework of an alternative control design paradigm, where the internal dynamics and external disturbances are estimated and compensated in real time. Therefore, it is inherently robust against plant variations and effective in disturbances and uncertainties in real application. In tension regulation, both open-loop and closed-loop options will be explored. In the open-loop case, the tension is not measured but indirectly controlled according to Equation (71) by manipulating the velocity variables. In the closed-loop case, a tension observer is employed in the tension feedback control.
A New Solution to Velocity and Tension Regulation
In developing new solutions for this difficult industry problem, performance and simplicity are stressed. That is, the new controller must have a much better performance than the existing ones, and it should also be simple to design, implement, and tune. In order to provide a comprehensive control structure, velocity and tension are both addressed. The three velocity loops are very similar in nature and finding a better solution would be a good first step. The tension problem is crucial because of its importance and its nonlinear dynamics. Based on the cost and performance considerations, two solutions are discussed herein: 1) if the tension model in (1) is reliable, it can be well controlled with fast and accurate velocity loops; 2) industry users are quite willing to install tension sensors for direct tension feedback control in return for better tension performance.
The ESO system can be employed in various forms of dynamic systems. These include but are not limited to electrical, mechanical, and chemical dynamic systems often concerned with control problems. The most advantage would be achieved if this solution closes the loop of the system to accommodate the estimated faults. However, without dynamically controlling the system this method would still provide a benefit for health status and fault detection without automatically attempting to fix the fault or optimize the health. In one example, ESO is employed in web processing systems, as discussed in detail below. Other applications can include power management and distribution.
The ESO offers a unique position between common methods. There are generally two ways that the health and fault diagnosis problem is approached. On one side of the spectrum the approach is model dependent analytical redundancy. The other side of the spectrum is the model-less approaches from fuzzy logic, neural networks and statistical component analysis. The ADRC framework offers a unique position between these two extremes without entering into hybrid designs. The ESO requires minimal plant information while estimating the rest of the unknown dynamics and unknown faults. Furthermore, built into the solution is a novel scheme for automatic closed loop fault accommodation.
Although a single velocity loop is illustrated, it is to be appreciated that the control system 2000 can be applied separately for all three velocity loops vc(t), ve(t) and vp(t). Velocity regulation in a process line is one of the most common control problems in the manufacturing industry. Since most processes are well-behaved, a PID controller is generally sufficient. Other techniques, such as pole-placement and loop shaping, could potentially improve the performance over PID but require mathematical models of the process. They are also more difficult to tune once they are implemented. An alternative method is described below:
The velocity equations (73)-(75) can be rewritten as
The plants in (84)-(86) are all of the form
{dot over (v)}(t)=ƒ(t)+bu(t) (89)
where v(t) is the measure to be controlled, u(t) is the control signal, and the value of b is known, approximately. ƒ(t) represents the combined effects of internal dynamics and external disturbance.
The key to the control design is to compensate for ƒ(t), and such compensation is simplified if its value can be determined at any given time. To make such a determination, an extended state observer can be applied.
Writing the plant in (89) in a state space form
Let x1=v, with x2=ƒ added as an augmented state, and h={dot over (ƒ)} as unknown disturbance.
The state space model is
Now ƒ can be estimated using a state observer based on the state space model
Based on (91), a state observer, can be constructed as
where z→x. If ƒ is known or partially known, it can be used in the observer by taking h={dot over (ƒ)} to improve estimation accuracy.
The observer reduced to the following sets of state equations is the LESO.
If partial information is used, the observer is then represented by
By setting λ(s)=|sI−(A−LC)|s2+L1s+L2 equal to the desired error dynamics, (s+ω)2, the observer gains are solved as functions of a single tuning parameter, ω0.
As known, L1=2ωo, L2=ωo2 can be parameterized and assign eigenvalues of the observer to ωo. With a functioning LESO, which results in z1→v and z2→ƒ, the control law will be designed as
u=(−z2+u0)/b (94)
This reduces the plant to an approximate integral plant
{dot over (v)}(t)=(ƒ(t)−z2(t))+u0(t)≈u0(t) (95)
which can be easily controlled by
u0(t)=kp(r(t)−z1(t)) (96)
For the given set point r, an approximate closed-loop transfer function is created without the addition of zeros from the controller.
By setting equal to the desired transfer function, ωc/(s+ωc), the controller gains are solved as functions of one tuning parameter, ωc.
Set kp=ωc, where ωc is the desired closed-loop bandwidth.
In this example, to show how z converges to ƒ, it is calculated from (89) that ƒ={dot over (v)}−bu. After solving (92), (93) and (95) for Z2 by superposition, the result is a filter version of ƒ.
The LESO can be further simplified by substituting (93) into (92) to remove an algebraic loop and decouple Z2, allowing ADRC to be presented in PID form
u=kp(r−z1)−L2∫(y−z1)/b (99)
where v(t) is the measure to be controlled, u(t) is the control signal, and the value of b is known, approximately. ƒ(t) represents the combined effects of internal dynamics and external disturbance.
The disturbance observer-based PD controller can achieve zero steady state error without using an integrator.
The unknown external disturbance and the internal uncertain dynamics are combined and treated as a generalized disturbance.
By augmenting the observer an extra state, which can be actively estimated and canceled out the disturbance, thereby achieving active disturbance rejection.
The PD controller can be replaced with other advanced controller if necessary. The tuning parameters are ωo and ωc.
The only parameter needed is the approximate value of b in (89).
Both open-loop and closed-loop solutions to tension regulation are discussed below. The open-loop system is simple and economic; whereas the closed-loop system is more precise but requires an additional sensing device.
Open-Loop Tension Regulation
High quality velocity regulation can allow tension in a web based control system to be controlled via open-loop, if the model of the tension dynamics (71) is accurate. From (71), the tension can be computed as
where tc(0) is the initial value of tension. For the open-loop control, let the desired velocities; vcd, ved and vpd, be carefully chosen so that (96) yields
tc(t)=tcd,t≧t1 (101)
For a given initial condition tc(0) and a given time constraint, t1. Then, if all three velocity loops are well-behaved, the actual tension should be close to the desired value. An example of this method is given in simulation below. Note that, for this purpose, the desired velocities must satisfy the following condition
The above approach is a low cost, open-loop solution. As the operating condition changes, the tension dynamics (1) could vary, causing variations in tension. If the tension is not measured, such variations may go unnoticed until visible effects on the product quality appear. To maintain accurate tension control, industry users usually are willing to install a tension sensor, which regulates the tension in a feedback loop, as discussed below.
Observer Based Closed Loop Tension Regulation
In one example, a tension meter, such as a load cell can be used for closed-loop tension control. Conventionally one or more physical instruments are required to sense the tension, which require additional machine space, and need adjustment. Therefore, implementing tension control without a tension sensor can provide an economic benefit. Accordingly, a tension observer 2110 is employed to act as a surrogate for a hardware tension sensor to provide closed-loop tension control. In one embodiment, the tension observer 2110 receives roller control input values (uc(t),ue(t) and up(t)) from the velocity controller 2102 and roller velocity values (vc(t),ve(t) and vp(t)) from the plant 2108. The output from the tension observer 2110, {circumflex over (t)}c(t), is coupled with the derivative value of the average web tension, tcd(t), wherein both values are input into the tension controller 2106. The computation of the output value of the tension observer 2110 is given below.
Recall in (73)-(75), tension is coupled in velocity loops (vc(t), ve(t) and vp(t)), and an Active Disturbance Rejection Control (ADRC) controller can be used to decouple the tension from the velocity loops. Actually, tension is part of the ƒ(t) component, which is estimated and canceled out in LESO, as illustrated in
Considering ƒ(t) in three velocity loops, and if the other parts of ƒ(t) are known, tension can be estimated through equations (86)-(89) and presented as:
With a proper parameter setting, the LESO 2002 can guarantee that z1→v and z2→ƒ. That is to say, from the LESO 2002, ƒc(t),ƒe(t) and ƒp(t) can be obtained. Since the other components ƒ(t) are all known in this problem, tension estimation from three velocity loops can be calculated based on (103)-(105).
Finally, the tension observer output value is obtained from the average of three tension estimations.
Web Processing Simulation and Comparison
In this section, four types of control systems are compared via simulations, including: 1) the commonly used industrial controller (IC) shown in equations (76) to (78); 2) the LBC in equations (79) to (82); 3) the three ADRC controllers, described in (91)-(94), for the velocity loops with tension regulated in open-loop (LADRC1); and 4) the same LADRC velocity controllers with an additional LADRC controller for the tension feedback loop (LADRC2).
Note that in IC and LADRC1, the tension is controlled open-loop, while LADRC2 closes the tension loop with a tension feedback. LBC relies on the tension estimator for its closed-loop tension control.
The comparison of these controllers is carried out in the presence of disturbances. In addition, to demonstrate the feasibility of the proposed methods, they are implemented in discrete-time form with a sampling period of 10 ms.
Three control schemes are investigated by conducting simulations on an industrial continuous web process line. The desired tension in the web span is 5180N. The desired process speed is 650 feet per minute (fpm). A typical scenario of the exit speed and the carriage speed during a rewind roll change is depicted in
To make the simulation results realistic, three sinusoidal disturbances are injected. Ff(t) in (73) is a sinusoidal disturbance with the frequency of 0.5 Hz and amplitude of 44N, and is applied only in three short specific time intervals: 20:30 seconds, 106:126 seconds, and 318:328 seconds as shown in
Following the parameterization and design procedure described above, ωc and ωo are the two parameters need to be tuned. As known in the art, the relationship between ωc and ωo is ωo≈3□5ωc. So we only have one parameter to tune, which is ωc.
The other important parameter needed is the approximate value of b in (89). For this problem, the best estimate of b in (83), (84) and (85) is as follows:
The parameters of the four controllers are shown in Table III.
Here kpe, kpp, kie and kip are the gains in (76)-(78) for the IC. γ3, γe, and γp are the gains in (79)-(81) for the LBC. bc, be, and bp are specific values of b in (92) for the carriage, exit, and process velocity loops, respectively. Similarly, ωoc, ωoe and ωop are the observer gains in equation (91); and ωcc, ωce and ωcp are the controller gains (kp) in equation (94). bt, ωct, and coot are the corresponding ADRC parameters for the tension plant in (109).
The velocity errors (vc, ve and vp) and tension tracking errors tc resulting from ADRC1 are shown in
The comparisons of IC, LBC and LADRC1 are shown in
Due to the poor results of the IC controller, only LBC, LADRC1, LADRC2 are compared in the tension control results in
The velocity and tension errors of all four control systems are summarized in Table IV. Overall, these results reveal that the proposed LADRC controllers have a distinct advantage in the presence of sinusoidal disturbances and a much better performance in tension control.
A new control strategy is proposed for web processing applications, based on the active disturbance rejection concept. It is applied to both velocity and tension regulation problems. Although only one section of the process, including the carriage, the exit, and the process stages, is included in this study, the proposed method applies to both the upstream and downstream sections to include the entire web line. Simulation results, based on a full nonlinear model of the plant, have demonstrated that the proposed control algorithm results in not only better velocity control but also significantly less web tension variation. The proposed method can provide several benefits over conventional systems and methods. For example, 1) no detailed mathematical model is required; 2) zero steady state error is achieved without using the integrator term in the controller; 3) improved command following is achieved during the transient stage; 4) the controller is able to cope with a large range of the plant's dynamic change; and 5) excellent disturbance rejection is achieved.
Additional Forms of the Extended State Observer
Although various observers are known, such as high gain observers, sliding mode observers, and extended state observers (ESO), it is generally regarded that the extended state observer is superior in dealing with dynamic uncertainties, disturbances, and sensor noise. Controllers that use it depend on quick and accurate estimation in real time of the output and equivalent disturbance as well as their derivatives.
Observers are used to estimate variables that are internal to the system under control, i.e. the variables are not readily available outputs. Observers use a model of the system with correction terms and are run in continuous time. In order for continuous functions of time to run in hardware, however, they are often discretized and run at fixed sample rates. Discrete observers are often referred to as estimators.
The fundamental limiting factor of the controller and estimator is the sampling rate. Improving the ESO will improve the overall performance of the system. Up to this point, Euler approximations have been used to implement the ESO in hardware, which adversely affects its performance at slower sampling rates. As described in greater detail herein, several discrete variants of extended state observers are further identified and analyzed.
There are three main contributions, discrete implementation of the ESO or (DESO), the Generalization of the ESO and DESO or (GESO), and discrete parameterization of the DESO and GESO.
Performance enhancements are made to the ESO, both in formulation and in implementation. Although this is referred to as the DESO, a number of methods are disclosed. Here, the system model is first discretized using any number of methods; Euler, zero order hold (ZOH), and first order hold (FOH). Then, a predictive discrete estimator (PDE) from G. F. Franklin, J. D. Powell, and M. Workman, Digital Control of Dynamic Systems, 3rd ed., Menlo Park, Calif.: Addison Wesley Longman, Inc., 1998, pp. 328-337 is constructed from the discrete model and correction terms are determined in discrete time symbolically as a function of one tuning parameter. It is also formulated as a Current Discrete Estimator (CDE) from G. F. Franklin, J. D. Powell, and M. Workman, Digital Control of Dynamic Systems, 3rd ed., Menlo Park, Calif.: Addison Wesley Longman, Inc., 1998, pp. 328-337 to maintain stable operation at lower sampling rates, a major limiting factor in controls. Typical discretization methods, such as a PDE, generate at least one sample of delay, whereas a CDE removes this delay by adding a current time step update to the estimated state. Next, Euler, zero order hold (ZOH), and first order hold (FOH) versions of all discrete matrices are determined symbolically to retain the simplicity of single parameter tuning. In the past, only an approximation using Euler integration was used. The problem is that the correction terms were determined in continuous time and become inaccurate when they are increased and at low sample rates. A second order example is used. Simple tests show that the CDE with ZOH performs the best.
The DESO is then generalized to estimate systems of arbitrary order, as well as to estimate multiple extended states. This is referred to as the generalized ESO or (GESO). This reformulation incorporates a disturbance model of arbitrary order, thus allowing the amount of disturbance rejection to be specified for different types of systems. Multiple extended states allow the estimation of higher order derivatives of the disturbance, which improves the estimation of the disturbance, allowing it to be more accurately cancelled. In the past, disturbances were restricted to first order and estimated using one extended state. The standard ESO does not make use of this information. A number of advantages exist for the current discrete version of the GESO. First, it offers better estimation and accordingly higher stability. Another implementation benefit is the minimal code space and processing power changes in addition to the standard ESO. The GESO also improves the performance and increases the range of operation while maintaining a similar level of complexity.
The immediate application of the DESO and GESO can be applied to ADRC controllers. Due to the current and eventual wide-spread application of both ADRC, the powerful GESO also has great immediate and future potential. Many plants or other control applications have physical upper limits for sample time and they will benefit from a stable and accurate estimation at lower sampling rates. They may also have a need to estimate higher order disturbances and they will benefit from higher performance control.
The preferred embodiments described herein allow these advanced control methods to be a practical solution for industry to transparently implement a high performance controller into their systems. The problem it solves is that the usability of the controller will no longer suffer dramatically as a result adding complexity to achieve higher performance. This means a significant reduction in time to design, implement, tune, and maintain each drive in every plant and/or every application.
The preferred embodiment observers have been tested in simulation and hardware. Results on simple test applications and popular motion control problems have shown stable control at lower sampling rates than what are possible with the standard ESO. It was applied to ADRC with a tracking controller. The controller was tested in a realistic simulation and in hardware in a motion control servo-drive
Discrete Implementation of the Extended State Observer (DESO)
For the sake of simplicity, consider the continuous-time differential equation of a second order plant where u and y are the input and output, respectively, and b is a constant.
ÿ=g(y,{dot over (y)},t)+w+bu (107)
Combining the internal dynamics g(y,{dot over (y)},t) with an external disturbance w to form a generalized disturbance ƒ(y,{dot over (y)},t), the system is rewritten as
ÿ=ƒ(y,{dot over (y)},w,t)+bu. (108)
An augmented state space model is constructed
where x=[y,{dot over (y)},ƒ]T includes the disturbance to be estimated.
Next, an observer is created from the state space model.
{circumflex over ({dot over (x)}=A{circumflex over (x)}+Bu+L(y−ŷ)
ŷ=C{circumflex over (x)}+Du (110)
Note that {dot over (ƒ)} is ignored in (110) since it is unknown and is estimated by the correction term. The observer is rewritten to output the state
{circumflex over ({dot over (x)}=[A−LC]{circumflex over (x)}+[B−LD,L]uc
yc={circumflex over (x)} (111)
where uc=[u, y]T is the combined input and yc is the output. It is then decomposed into individual state equations for the purpose of implementation. For the sake of simplicity, the observer gain vector L is determined by placing the poles of the characteristic equation in one location.
λ(s)=|sI−(A−LC)|=(s+ωo)3
L=[3ωo,3ωo2,ωo3]T (112)
The state space model in (109) is first discretized (formulated in discrete-time) by applying Euler, ZOH, or FOH.
{circumflex over (x)}(k+1)=Φ{circumflex over (x)}(k)+Γu(k)
ŷ(k)=H{circumflex over (x)}(k)+Ju(k) (113)
A discrete observer is created from this model.
{circumflex over (x)}(k+1)=Φ{circumflex over (x)}(k)+Γu(k)+Lp(y(k)−ŷ(k))
ŷ(k)=H{circumflex over (x)}(k)+Ju(k) (114)
This is known as a predictive discrete estimator (G. F. Franklin, J. D. Powell, and M. Workman, Digital Control of Dynamic Systems, 3rd ed., Menlo Park, Calif.: Addison Wesley Longman, Inc., 1998, pp. 328-337) because the current estimation error y(k)−ŷ(k) is used to predict the next state estimate {circumflex over (x)}(k+1).
However, by defining the predictive estimator gain vector as
Lp=ΦLc, (115)
the estimated state reduces to
{circumflex over (x)}(k+1)=Φ
where the new state includes a current time step update, giving it less time delay.
This is referred to as a current discrete estimator G. F. Franklin, J. D. Powell, and M. Workman, Digital Control of Dynamic Systems, 3rd ed., Menlo Park, Calif.: Addison Wesley Longman, Inc., 1998, pp. 328-337. When the sampling rate is low, this could play a significant role in enhancing the stability of a closed loop system. A block diagram is illustrated in 4000 of
{circumflex over (x)}(k+1)=[(Φ−LpH]{circumflex over (x)}(k)+[Γ−LpJ,Lp]ud(k)
yd(k)=[I−LcH]{circumflex over (x)}(k)+[−LcJ,Lc]ud(k) (118)
where ud(k)=[u(k), y(k)]T is the combined input and yd is the output. The only difference for the predictive estimator is that yd(k)={circumflex over (x)}(k).
Discrete Parameterization of the ESO
For the sake of simplicity, the current estimator gain vector Lc is determined by placing the poles of the discrete characteristic equation in one location.
λ(z)=|zI−(Φ−ΦLcH)|=(z−β)3 (119)
The relation between the discrete estimator poles and the continuous observer poles is given as
β=e−ω
For example, applying Euler to (109) and solving (119) for Lc yields
where T is the discrete sample time. However, note that T is denoted as the matrix transpose. In the past, the ESO was implemented by integrating each state equation in (110) using Euler (J. Han, “Nonlinear Design Methods for Control Systems”, Proc. 14th IFAC World Congress, 1999; Z. Gao, “Scaling and Bandwidth-Parameterization Based Controller Tuning,” American Control Conference, pp. 4989-4996, June 2003; Z. Gao and S. Hu, “A Novel Motion Control Design Approach Based on Active Disturbance Rejection,” Proc. of the 40th IEEE Conference on Decision and Control, p. 4974, December 2001; Y. Hou, Z. Gao, F. Jiang, and B. T. Boulter, “Active Disturbance Rejection Control for Web Tension Regulation,” IEEE Conference on Decision and Control, 2001; B. Sun, “Dsp-based Advanced Control Algorithms for a DC-DC Power Converter,” Master's Thesis, Cleveland State University, June 2003; R. Kotina, Z. Gao, and A. J. van den Bogert, “Modeling and Control of Human Postural Sway,” XXth Congress of the International Society of Biomechanics, Cleveland, Ohio, July 31-Aug. 5, 2005; R. Miklosovic and Z. Gao, “A Dynamic Decoupling Method for Controlling High Performance Turbofan Engines,” Proc. of the 16th IFAC World Congress, Jul. 4-8, 2005. The problem with this method is that it produces the same matrices as (121) except for Lp=TL, making the observer unstable at relatively low sample rates. Yet in cases where L is a nonlinear function, this may be the only way of discrete implementation. For the sake of further discussion, the past method is referred to as the Euler approximation.
Applying ZOH
to (109) produces a more accurate estimation than Euler.
Simulation and Analysis of the Discrete ESO
Various discretization methods are analyzed through simulation of various plants. The ESO is first applied in open loop to a simple motion system plant model
ÿ=50{dot over (y)}+500u+100w (124)
where w is a 2.5 Hz square wave starting at 0.3 sec. and u is a trapezoidal profile that lasts 0.125 sec. The estimator parameters are ωo=300 and T=0.005. A tracking error plot is shown in 4100 of
When the step size T=0.005, the Euler approximation becomes unstable and therefore was not shown. However, the four methods shown use discrete pole placement and do not become unstable until T=0.066. From the table, the second most important option appears to be the current discrete method for tracking accuracy. The table also shows that ZOH is better than Euler and, interestingly, dominant in estimating transient velocity.
Next, the ESO is applied in closed loop to (124) and to a more complex simulation of an actual servo-motor.
Vm=80(75u−0.075Ia),|Vm|<160,|u|<8
İa=−2500(Vm−0.4Ia−1.2{dot over (y)})
ÿ=11.1(100w+1.5Ia) (125)
With ωc=30 and ωo=300, the sample period is increased to the point of instability and then tabulated in Table VI.
The results show that the most important option for low sampling time requirements is ZOH, followed by the current discrete method. In this regard, the current discrete ESO with ZOH appears to be six to ten times better than the Euler approximation used in previous literature. The servo system in (145) was also simulated, resulting in an improvement of 5.3 times. In summary, the current discrete ESO with ZOH should be used for improved tracking accuracy as well as closed loop stability.
Generalization of the Extended State Observer (GESO)
Although a second order example was used in the previous section, (110) through (120) and (122) are applicable to a plant of arbitrary order with any number of extended states. For example, a class of general nth order plants similar to (107) is represented as
y(n)=g(y, . . . ,y(n−1),t)+w+bu (126)
where y(n) denotes the nth derivative of the output and g(y, . . . , y(n−1), w, t) represents the internal dynamics. Two critical parameters are relative order n and high frequency gain b. Combining the unknowns into one generalized disturbance ƒ(y, . . . , y(n−1), w, t) results in
y(n)=ƒ(y, . . . ,y(n−1),w,t)+bu. (127)
Note that when represented with an equivalent input disturbance d=ƒ/b, the design model becomes
Pd(s)=b/sn. (128)
As a signal, the type of disturbance can be characterized similar that of system type in a classical control. This specification is outlined in G. F. Franklin, J. D. Powell, and A. Emami-Naeni, Feedback Control of Dynamic Systems, 4th ed., Upper Saddle River, N.J.: Prentice-Hall, Inc., 2002, pp. 239-242, 601-604 as the degree of a polynomial that approximates a signal, which directly relates to the number of times it is differentiated before reaching zero. Sometimes disturbances are represented by a set of cascaded integrators 1/sh with unknown input. Under this assumption, the plant is represented in 4200 of
In (109), previous ESO design, and in disturbances are considered to be piece-wise constant with h=1 or a series of steps. Now an ESO with h=1, 2, 3 can respectively track a square, triangular, or parabolic disturbance. A sinusoid is a different matter because it is infinitely differentiable. However, increasing h increases the degree of the polynomial and improves tracking of a sinusoid or any time varying disturbance. An ESO with h extended states for a relative nth order plant is denoted as an ESOn,h.
The new form is represented in continuous state space
{dot over (x)}=Ax+Bu+Eƒ(h)
y=Cx+Du (129)
where the state includes the disturbance ƒ and its derivatives to be estimated.
Since the new form consists of cascaded integrators, the A matrix simplifies to an n+h square matrix with ones on the super diagonal. Each element of A is defined as
Since the input is added after n-integrators, the first state is defined as the output, and the derivative of the last state is ƒ(h), the other matrices become
B=[0n−1 b 0h]T, C=[1 0n+h−1], E=[0n+h−1 1]T (132)
where 0h represents a 1×h zero vector and D=0.
For the sake of simplicity, the observer gain vector is determined by placing all of the poles of the characteristic equation in one location.
λ(s)=|sI−(A−LC)|=(s+ωo)n+h (133)
As a result, each element in L becomes
li=Cn+h,iωoi, i=1,2, . . . ,n+h (134)
where the binomial coefficients are
The ESO can also be represented in filter form
ŷ(i)=si[Qyy+(1−Qy)Pdu], i=0, . . . ,n−1
{circumflex over (ƒ)}(j)=sj[bQf(Pd−1y−u)], j=0, . . . ,h−1 (135)
where binomial filters
consist of numerator and denominator polynomials that are functions of a single tuning parameter ωo=1/τ.
This form shows that additional extended states raise observer order, n+h, and increase the slope of the cutoff frequency. It also shows that the estimated disturbance is equivalent to a DOB, i.e. a filtered version of the actual ƒ.
{circumflex over (ƒ)}=bQf(Pd−1y−u) (138)
Discrete Implementation of the GESO
Applying ZOH to (129) using (122) produces an n+h square Φ matrix where each element is defined as
for γk=Tk/k!. The Γ matrix reduces to
Γ=[bγn . . . bγ1 0h]T. (140)
If FOH is preferred, the only change is in the Γ and J matrices, which become
If Euler is preferred, the Φ matrix where each element is defined as
and the Γ matrix reduces to
Γ=[0n−1 bT 0h]T. (143)
Discrete Parameterization of the GESO
For the sake of simplicity, the current estimator gain vector Lc is determined by placing the poles of the discrete characteristic equation in one location.
λ(z)=|zI−(Φ−ΦLcH)|=(z−β)n+h (144)
As a result, the current estimator gain vector is listed in Table VII as a function of n+h. A current discrete ESO with h extended states for a relative nth order plant is denoted as CDESOn,h.
A simulation of an industrial motion control test bed is used to demonstrate the control design procedure and its simplicity, resulting performance, and overall effectiveness in the absence of a simulation model. The servo amplifier, motor, and drive train are modeled with a resonant load as
Vm=4(Vc−2.05Ia), |Vc|<4.5,|Vm|<10
İa=2500(Vm−4Ia−0.2{dot over (x)}m),|Ia|<1
Tm=0.5Ia−Td−Tl
Tl=0.0005({dot over (x)}m−4{dot over (x)}l)+0.0001(xm−4xl)
{umlaut over (x)}m=2500Tm
{umlaut over (x)}l=175Tl
where Vc, xl, and Td are the control input voltage, output load position, and torque disturbance, respectively. Backlash of a ±0.31 μm/sec. dead-bandwidth on {dot over (x)} is also applied. The control design method using the ESO is fairly straight forward with only a few physical intuitions. In the most basic sense, a servo motor can be considered as a double integrator.
It is put into the new canonical form where ƒ(t) represents any of the discrepancies or dynamics not modeled in (38).
{umlaut over (x)}(t)=ƒ(t)+bmVc(t) (147)
First, a CDESO2,h is used to estimate xl(t), {dot over (x)}l(t), and ƒ(t) in discrete time. Then the estimated disturbance is fed back to cancel itself
which reduces the system to a double integrator, {umlaut over (x)}l(t)≈u0(t). Finally, a parameterized control law is used to control the augmented system where r(k) is a reference motion profile.
u0(k)=ωc2(r(k)−{circumflex over (x)}l(k))−2ωc{dot over ({circumflex over (x)}l(k) (149)
The observer and control laws in (148) and (149) are selected with a sample rate of 10 kHz to control the motion system's model in (145). The gain bm=25 is crudely estimated as the initial acceleration from a step response. Disturbance rejection was tested by applying various torque disturbances at time t=1 second and 0.1% white noise is injected into the output. Keeping the control signal within ±4.5V and its noise level within ±100 mV, ad and ωo were increased to 50 and 150, respectively. The results for a type 1 square, type 2 triangular, and type ∞ sinusoidal torque disturbance are shown in 4300 of
Various discrete implementations of the extended state observer are studied and compared. It is shown that the current discrete formulation is superior to the predictive one in reducing the delay associated with the sampling process. It is also demonstrated that the ZOH implementation improves estimation accuracy and stability without additional complexity to the user. To facilitate the ESO implementation for practitioners, the algorithm is derived symbolically with a single tuning parameter, i.e. the bandwidth of the observer. Another significant development is the generalization of the ESO for various types of systems and disturbances. Finally, a filter version shows that the estimated disturbance is equivalent to the DOB structure. Unlike the DOB, however, the ESO estimates suitable derivatives of the output, allowing for a straightforward controller design. The motion control problem is complex with many uncertainties, yet preliminary results show that this observer can achieve high performance over a wide range of system dynamics while remaining easy to use.
Tracking Control Applied to ADRC
The various preferred embodiment controllers and observers described herein can be used in conjunction with tracking components to further improve their function and performance.
The immediate application of the tracking enhancement can be applied to ADRC controllers. Due to the current and eventual wide-spread application of ADRC, the powerful tracking enhancement also has great immediate and future potential. Future uses also include the specific application of the tracking control method to new controllers.
The already proven ADRC control structure which works well for steady state set point control can now be extended to handle transient tracking control by use of the preferred embodiment tracking strategy. This enhancement allows these advanced control methods to be a practical solution for industry to transparently implement a high performance tracking controller into their systems. The problem it solves is that the usability of the controller will no longer suffer dramatically as a result adding complexity to achieve higher tracking performance. This means a significant reduction in time to design, implement, tune, and maintain each drive in every plant of every company.
The preferred embodiment tracking strategies have been applied to ADRC in the form of prefilters and/or feed forward tends to make the desired closed loop transfer function of ADRC approximately equal to one or, more generally, have a relative order equal to zero. Test results in simulation and hardware have shown error reduction up to eighty fold.
The tracking enhancement was applied to a controller using ADRC and a Current Discrete Extended State Estimator (CDESO). The controller was tested in a realistic simulation and in hardware in motion system servo drive.
Tracking ADRC Applied to a Second Order Plant
For the sake of clarity, let us first consider a general second order plant where u and y are the input and output, respectively, and b is a constant.
ÿ=g(y,{dot over (y)},t)+w+bu (150)
Combining the internal dynamics g(y,{dot over (y)},t) with an external disturbance w to form a generalized disturbance ƒ(y,{dot over (y)},w,t), the system is rewritten as
ÿ=ƒ(y,{dot over (y)},w,t)+bu (151)
An augmented state space model is constructed
where x=[x1,x2,x3]T=[y,{dot over (y)},ƒ]T includes the disturbance.
An ESO is then created from (152) to estimate the states
{circumflex over ({dot over (x)}=A{circumflex over (x)}+Bu+L(y−C{circumflex over (x)}) (153)
where {circumflex over (x)}=[{circumflex over (x)}1,{circumflex over (x)}2,{circumflex over (x)}3]T=[ŷ,{dot over (ŷ)},{circumflex over (ƒ)}]T. For the sake of simplicity, the observer gain vector L is determined by placing the poles of the characteristic equation in one location.
λ(s)=|sI−(A−LC)|=(s+ωo)3 (154)
L=[3ωo,3ωo2,ωo3]T
A disturbance rejection control law is applied to the plant in (151) to dynamically cancel ƒ(y,{dot over (y)},w,t) using its estimate {circumflex over (x)}3.
u=(u0−{circumflex over (x)}3)/b (155)
This reduces the plant to a double integrator at low frequencies.
ÿ=u0 (156)
A simple control law is then applied
u0=kp(r−{circumflex over (x)}1)−kd{circumflex over (x)}2 (157)
to form the following closed loop transfer function.
For the sake of simplicity, it is set equal to a desired closed loop transfer function that provides a smooth step response.
The resulting controller gains become
kp=ωc2, kd=2ωc. (160)
The problem with (157) is in the phase lag it produces in (158). Therefore in situations requiring precise command following, it is proposed that the inverse of the closed loop transfer function, shown in square brackets in (161), is added to the reference input of the control law as a prefilter
to compensate for the predicted phase lag by making the new closed loop transfer function Gry≈1, thus producing a much smaller error e=r−y than the original controller. This configuration is shown in 4600 of
A simpler way of implementation is in reducing the new control law in (161) to
u0=kp(r−{circumflex over (x)}1)+kd({dot over (r)}−{circumflex over (x)}2)+{umlaut over (r)} (162)
where velocity and acceleration feed forward are utilized. Here, the first two terms drive the error and its derivative to zero while the last term provides a desired control input u*0 such that ÿ follows {umlaut over (r)}. This equivalent tracking control configuration is shown in 4700 of
A compromise in performance between the point-to-point controller in (157) and the tracking controller in (162) is reached when using
u0=kp(r−{circumflex over (x)}1)+kd({dot over (r)}−{circumflex over (x)}2) (163)
to produce a closed loop transfer function with a relative degree of one.
Tracking ADRC Applied to an nth Order Plant
When (151) is extended to arbitrary order, the system is represented by
y(n)=ƒ(y,{dot over (y)}, . . . ,y(n−1),w,t)+bu. (165)
Where y(n) denotes the nth with derivative of y.
An ESO is constructed
{circumflex over ({dot over (x)}=A{circumflex over (x)}+Bu+L(y−C{circumflex over (x)}). (166)
The elements of the A matrix have ones on the super diagonal
and the other matrices become
B=[0n−1 b 0]T, C=[1 0n] (168)
where 0n represents a 1×n zero vector.
For the sake of simplicity, the observer gain L=[l1, l2, . . . , ln+1]T is determined by placing the poles of the characteristic equation in one location.
λ(s)=|sI−(A−LC)|=(s+ωo)n+1 (169)
As a result, each element in L becomes
A disturbance rejection control law is applied to (16) to dynamically cancel ƒ(y,{dot over (y)},w,t) using its estimate in {circumflex over (x)}n+1.
u=(u0−{circumflex over (x)}n+1)/b (171)
and reduce the plant to cascaded integrators at low frequencies.
y(n)≈u0 (172)
A point-to-point control law is then applied
u0=k0(r−{circumflex over (x)}1)−k1{circumflex over (x)}2− . . . −kn−1{circumflex over (x)}n (173)
to form the following closed loop transfer function.
For the sake of simplicity, it is set equal to a desired closed loop transfer function that provides a smooth step response.
and the controller gains are determined as
For precise tracking, the inverse of (174) is added to the reference input of (173) as a prefilter, making Gry≈1. As a result, the tracking control law becomes
u0=k0(r−{circumflex over (x)}1)+ . . . +kn−1(r(n−1)−{circumflex over (x)}n)+r(n). (177)
A single control law is formed by combining (177) with (171)
u=k(x*−{circumflex over (x)}) (178)
where the new gains k=[k0, . . . , kn]/b and the feed forward terms x*=[r, {dot over (r)} . . . , r(n)].
Discrete Implementation of Tracking ADRC
In hardware, a discrete ESO is created.
{circumflex over (x)}(k+1)=Φ{circumflex over (x)}(k)+Γu(k)+Lp(y(k)−H{circumflex over (x)}(k)) (179)
where
The matrices are determined by applying zero order hold.
The discrete estimator gain vector Lp is determined by placing the poles of the discrete characteristic equation in one location
λ(z)=|zI−(Φ−ΦLcH)|=(z−β)n+1 (181)
Here, the relation between the discrete estimator poles and the continuous observer poles is given as
β=e−ω
For example, the matrices for the second order system become
A discrete control law is formed
u(k)=k({circumflex over (x)}*(k)−{circumflex over (x)}(k)) (184)
where the feed forward terms {circumflex over (x)}*(k)=[{circumflex over (r)}(k),{dot over ({circumflex over (r)}(k), . . . , {circumflex over (r)}(n)(k)]T.
The feed forward terms contain the reference input r and its derivatives. Since the reference input is generated by an algorithm and not a measured signal, it is often noise free. As a result, discrete differences are used for derivatives. A typical example of velocity and acceleration feed forward calculations are given.
{dot over ({circumflex over (r)}(k)=(r(k)−r(k−1))/T
{umlaut over ({circumflex over (r)}(k)=({dot over ({circumflex over (r)}(k)−{dot over ({circumflex over (r)}(k−1))/T (185)
Since the states of the ESO are subtracted from these signals in the control law in (184), any difference in derivation between the ESO states and the feed forward terms causes dynamic errors. As a result, an estimator similar to the discrete ESO is used to estimate the feed forward terms, thus reducing the error and increasing performance. A model representing n+1 cascaded integrators and h−1 extended states is used to form a discrete estimator where only the model output signal r is available.
{circumflex over (x)}*(k+1)=Φ{circumflex over (x)}*(k)+Lp(y(k)−H{circumflex over (x)}*(k)) (186)
where
Another problem arises in discrete implementation of the ESO and feed forward estimators when signals within them grow large and create numerical errors and even instability due to increasing input signals. As a result, the two estimators are combined to form a single estimator that uses error as an input. Since the control law merely subtracts the states of each estimator, the matrices Φ,Lp, Lc, H are only functions of n+h, and Γ only resides in the state feedback observer, (179) is subtracted from (186) to form
where e(k)=r(k)−y(k). This eliminates numerical errors and instability, cuts computation in half, and keeps all signals within the new estimator and control law small.
The current discrete estimator form of (187) becomes
{circumflex over (z)}(k+1)=[Φ−LpH]{circumflex over (z)}(k)−Γu(k)+Lpe(k)
where
As proof of concept, a simulation example is given. The setup in (145) is used to track a motion profile reference signal with a final time tp=1 second. The system is simulated with and without a tracking controller and the results are compared in 4800 of
This discrete tracking ADRC algorithm does not require an explicit mathematical model to achieve high performance. It has one or two tuning parameters that can be adjusted quickly, meaning that the level of expertise, time, and resources typically needed to construct a model, design a controller, and maintain performance is no longer required. This reduces manufacturing costs.
Multivariable ADRC
A general control method is given that can be applied to any MIMO system with the number of inputs greater than or equal to the number of outputs, not just jet engines. For proof of concept, it is then applied to dynamically decouple and control turbofan engines, i.e. jet engines. Since the jet engine is one of the most complex systems in existence, it is to be appreciated that this will provide a good example. If one is able to control it without knowing its mathematical model, which may be several thousand lines of code, then there is good chance this method will work on almost any plant. For example, this control system can be utilized with chemical processes, flight control of airplanes and missiles, CNC machine control, robotics, magnetic bearing, satellite attitude control, and process control.
Consider a system formed by a set of coupled nth order input-output equations
where yi(n) denotes the nth derivative of yi. The input U=[u1, . . . , up]T, the output y=[y1, . . . , yq]T, and bi=[bi,1, . . . , bi,p] for i=1, 2, . . . , q and q≦p. Each equation consists of two terms, the instantaneous biU and the dynamic ƒi(Y, {dot over (Y)}, . . . , Y(n−1). All interactions between equations, internal dynamics, and external disturbances are considered part of ƒi(Y, {dot over (Y)}, . . . , Y(n−1), t). The system is rewritten
Y(u)=F+B0U (190)
where Y(n)=[y1(n), . . . , yq(n)]T, and F=[ƒ1, . . . , ƒq]T, and B0=[b1T, . . . , bqT]T. Assuming that n is known and that B is an q×p approximation of B0 where both are fall row rank, a generalized disturbance is defined as H≡F+(B0−B)U. The system reduces to
Y(n)=H+BU. (191)
The idea is to estimate H and cancel it in real time, reducing the plant to a set of cascaded integrators. In order to represent the plant with a set of state equations, let X=[X1T, X2T, . . . , Xn+hT]=[YT, {dot over (Y)}T, . . . , Y(n−1)T, HT, . . . , H(h−1)T]T such that
In state space form, the plant is represented by
{dot over (X)}=ĀX+
Ŷ=
where {circumflex over (X)}=[{circumflex over (X)}1T, {circumflex over (X)}2T, . . . , {circumflex over (X)}n+hT]T, 0q and Iq are q×q zero and identity matrices, and Ā is an q(n+h) dimensional square matrix.
An observer is then designed from the state space model where
{circumflex over ({dot over (X)}=Ā{circumflex over (X)}+
Ŷ=
In (195), the state equations of the multivariable ESO become
The observer gains L1, L2, . . . , Ln+h are q×q matrices, in general. However, for the sake of tuning simplicity, the gains are defined to form q parallel observer loops for j=1, 2, . . . , n+h.
Lj=diag(lj,1,lj,2, . . . ,lj,q) (197)
Each loop then has its n+h poles placed in one location, for the sake of further simplification.
Solving for each gain as a function of ωo,i results in
With B+ defined as the right inverse of B, a disturbance rejection control law is applied to (191), effectively cancelling H at low frequencies.
U=B+(U0−{circumflex over (X)}n+1) (200)
This allows a kind of feedback linearization and decoupling to occur which reduces the plant to a set of parallel n-integrator systems at low frequencies.
Y(n)≈U0 (201)
At this point, any number of control methods may be used. A simple control law with no integrators is proposed
U0=K0(Y*−{circumflex over (X)}1)−K1{circumflex over (X)}2− . . . −Kn−1{circumflex over (X)}n (202)
where Y* is the desired trajectory for Y and the controller gains K0, K1, . . . , Kn−1 are q×q matrices in general. However, for the sake of tuning simplicity, the controller gains are defined to form q parallel control loops for j=0, 1, . . . , n−1.
Kj=diag(kj,1, kj,2, . . . , kj,q) (203)
Each control loop has its n poles placed in one location, for the sake of further simplification.
Solving for each gain as a function of ωc,i results in
Typically, a nonsingular B−1 can be approximated by a diagonal matrix of reciprocal elements, since inaccuracies in B can be accounted for in H.
The observer is simplified to remove B by substituting (200) into (196).
The commonly used SISO form of ADRC is, in fact, the q=1 case.
Multivariable Tracking ADRC
A tracking controller can be used in place of (202) to improve the tracking error.
U0=K0(Y*−{circumflex over (X)}1)+ . . . +Kn−1(Y*(n−1)−{circumflex over (X)}n)+Y*(n) (207)
Multivariable Discrete ESO
To output the states, the ESO in (194) and (195) is rewritten as
{circumflex over ({dot over (X)}=[Ā−
Yc={circumflex over (X)} (208)
where Yc is the state output. It can then be discretized, forming a multivariable CDESO
{circumflex over (X)}(k+1)=[
where
Turbofan Model and Design Specifications
In general, the CLM is defined by two nonlinear vector equations
{dot over (x)}CLM=ƒ(xCLM,uCLM,p,alt,xm)
yCLM=g(xCLM,uCLM,p,alt,xm) (211)
that are functions of a 3×1 state vector (xCLM), a 7×1 input vector (uCLM), a 10×1 health parameter vector (p), altitude (alt), and Mach number (xm). A 22×1 vector of sensor outputs (yCLM) is combined to calculate thrust (fn), fan stall (sm2) and over-speed (pcn2r) margins, engine temperature ratio (etr), and pressure ratios of the engine (eprs), liner (lepr), a core (cepr). These performance parameters form the controlled output.
Y=[fn,eprs,lepr,etr,sm2,pcn2r,cepr]T (212)
Each of the seven inputs (uCLM) is controlled by a separate SISO actuator consisting of a torque motor and servomechanism with saturation limits for position, velocity, and current. The first three actuators drive the fuel flow (wf36), variable nozzle exit area (a8), and rear bypass door variable area (a16), respectively. These actuator inputs form the control signal.
U=[wf36act,a8act,a16act]T (213)
The remaining four actuators drive stator and guide vane angles using steady state schedules within the primary control loop, ensuring safe operating limits.
The goal of the control system is to achieve a fast thrust response with minimal overshoot and zero steady state error, while maintaining safe rotor speeds, pressure and temperature limits, and stall margins. In MAPSS, the supplied multi-mode controller consists of four multivariable PI regulators, each controlling only three outputs at one time.
Y1=[fn,eprs,lepr]T
Y2=[fn,etr,lepr]T
Y3=[fn,smn2,lepr]T
Y4=[pcn2r,cepr,lepr]T (214)
The first regulator controls eprs at low speeds, while the second regulator controls etr at high speeds. The third and fourth regulators actively control limits associated with the fan components, namely the fan stall and over-speed margins when their limits are approached. Limits associated with the engine core are met by acceleration and deceleration schedules on fuel flow (Kreiner, A. and K. Lietzau (2003). “The Use of Onboard Real-Time Models for Jet Engine Control.” MTU Aero Engines, Germany). These schedules along with actuator limits are then placed to constrain the outgoing control signal.
Multivariable ADRC Design Procedure with a Jet Engine Example
A generic design procedure is given for multivariable ADRC, using the application to the MAPPS jet engine 3000 in
The design procedure for applying any of the new disturbance rejection techniques is uniquely characterized by the plant representation.
Y(n)=H+BU (215)
In (215), the size of the input vector U and output vector Y should be known. The design procedure involves the determination of n and B as well as a method of tuning the controller.
A generic procedure is given, followed by a detailed explanation of each step with examples specific to the jet engine application.
Step One: The first step is to determine the number of control inputs p and controlled outputs q of the plant. If q>p, then multi-mode control should be used to make qj≦pj for each of the j sub-controllers. It is preferable to make qj=pj which produces a square B matrix that allows the diagonal elements to become tuning parameters. Note that when B is a square matrix, B+=B−1. A diagonal B matrix also permits the new technique to be reduced to multiple SISO techniques.
The jet engine in MAPPS, for example, has three actuator inputs that control seven performance parameter outputs. As a result, the jet engine controller consists of four separate regulators, each controlling only three outputs at a time. In this research, a simple form of multivariable ADRC using Euler integration is applied to the three-input three-output low speed regulator section and tested in simulation. This approach will isolate the affects that blending of multiple modes may have on the results.
Step Two: The second step is to determine the high frequency gain B of the system. This matrix will drastically change for different values of relative order n. The trick is that n must be known in order to determine B, and B must be known to determine n, a circular argument. As a result, steps two and three are interchangeable and an iterative process may be used in finding n and B. Nevertheless, there is only a problem if both are unknown. If this is the case, use the identity matrix for B to first determine n and then iterate. The B matrix can also be tuned in step seven. In practice, B+ needs to be initially within fifty percent of its true value and such a broad range is frequently known. However, if it is unknown or the system is too complex, then various system identification techniques can be used.
In MAPSS, the control signals are scaled to produce the proper units for each actuator input allowing each control signal to be within the same relative range. Thus, a logical starting point for B in the low speed regulator is the identity matrix.
Step Three: The third step is to determine the relative order n of the plant. The overall structure of the observer and controller depends on n which may or may not be the actual order of the system, depending on which dynamics are dominant. The idea is to find n=1, 2, or 3 that produces the smallest H, the smallest control signal, or the best closed loop results. Sometimes n is known or can be derived from a model of physical relationships. If none of the above techniques work, the last resort is trial and error. In this situation, start by assuming the system is first order and complete the remaining steps. Then assume the system is second order and repeat the process to see if the results are better. Then try third order, etc. Lower order is usually better.
Another consideration is that n can be determined for each plant input-output pair. For a particular output, the input yielding the lowest order with the highest gain is the most direct form of control and therefore should be used.
Since not all of the engine's states are measurable in MAPPS, the model for low speed regulation is represented as a nonlinear input-output vector function. Without explicit knowledge of system order, the simplest and lowest order case is first attempted.
{dot over (Y)}n=F(Y1,U,t) (216)
When a 3×3 matrix B is used to approximate the actual high frequency gain B0, the signal H is defined as
H≡F(Y,U,t)−B0U (217)
The system then reduces to a form that has distinct terms to represent any internal or external dynamics and an instantaneous input.
{dot over (Y)}≈H+BU (218)
After running simulation tests at higher orders, first order was found to be sufficient for MAPPS. This also makes sense since the CLM is represented as a first order state space equation and the actuator dynamics are fast enough to be neglected.
Step Four: The fourth step is to determine the number of extended states h. This affects the overall structure of the ESO. For ADRC, select h=1, 2, or 3 based on the system type of the disturbance H or an external disturbance. The assumption h=1 will suffice in most cases and therefore is used in the remaining examples for the sake of clarity. Similar is true for determining the number of extended states m in the control law when using generalized PID.
Step Five: The fifth step is to apply the new algorithm to the system. The overall configuration is shown in
When n=1 and h=1, the ESO equations become
{circumflex over ({dot over (X)}1={circumflex over (X)}2+L1(Y−{circumflex over (X)}1)+BU
{circumflex over ({dot over (X)}2=L2(Y−{circumflex over (X)}1) (219)
and the controller is represented by
U=B+(Kp(Y*−{circumflex over (X)}1)−{circumflex over (X)}2) (220)
By applying (219) and (220), the control configuration is then shown in
When n=2 and h=1, the ESO equations become
{circumflex over ({dot over (X)}1={circumflex over (X)}2+L1(Y−{circumflex over (X)}1)
{circumflex over ({dot over (X)}2={circumflex over (X)}3+L2(Y−{circumflex over (X)}1)+BU
{circumflex over ({dot over (X)}3=L3(Y−{circumflex over (X)}1) (221)
and the controller is represented by
U=B+(Kp(Y*−{circumflex over (X)}1)−Kd{circumflex over (X)}2−{circumflex over (X)}3) (222)
By applying (221) and (222), the control configuration is then shown in
The first order plant in (218) used for low speed regulation is represented by state equations where the extended state X2 is assigned to track the general disturbance H
{dot over (X)}1=X2+BU
{dot over (X)}2={dot over (H)} (223)
and the 3×1 state vectors are defined as X=[X1,X2]T=[YT,HT]T. By also defining the estimated states as {circumflex over (X)}=[{circumflex over (X)}1T,{circumflex over (X)}2T]T, an ESO is designed from (223).
{circumflex over ({dot over (X)}={circumflex over (X)}2+L1(Y−{circumflex over (X)}1)+BU
{circumflex over ({dot over (X)}2=L2(Y−{circumflex over (X)}1) (224)
A disturbance rejection control law is then implemented
U=B+(U0−{circumflex over (X)}2) (225)
to decouple the plant, reducing it to three parallel integrators at low frequencies
{dot over (Y)}≈U0 (226)
whereby a simple proportional control law is applied.
U0=K1(Y*−{circumflex over (X)}1) (227)
The entire algorithm consists of (219) and (220) and is shown implemented in
{circumflex over ({dot over (X)}1={circumflex over (X)}2+BU+L1(Y−{circumflex over (X)}1)
{circumflex over ({dot over (X)}2=L2(Y−{circumflex over (X)}1)
U=B+(K1(Y*−{circumflex over (X)}1)−{circumflex over (X)}2) (228)
The original jet engine regulators incorporate PID controllers that are subject to integrator windup because the integrator input is a function of the controller error R−Y where convergence to zero is affected by plant saturation. An interesting benefit of replacing these regulators with ADRC is that the integrators within ADRC do not wind up because their inputs are a function of the observer error Y−{circumflex over (X)}1 where convergence to zero is not affected by plant saturation. As a result, additional anti-windup mechanisms are no longer required.
Step Six: The sixth step is to run the closed loop system in order to tune the controller and observer bandwidths. In general, Lj and Kj are q×q matrices. However, when Lj and Kj are selected as diagonal matrices, the ADRC algorithm reduces to a set of SISO controllers, one to control each output. An example is given in
When n=1 and h=1, the resulting observer and controller gain matrices become
L1=diag(2ωo,1,2ωo,2, . . . , 2ωo,q)
L2=diag(ωo,12, ωo,22, . . . , ωo,q2) (229)
Kp=diag(ωc,1,ωc,2, . . . ωc,q) (230)
When n=2 and h=1, the resulting observer and controller gain matrices become
L1=diag(3ωo,1,3ωo,2, . . . , 3ωo,q)
L2=diag(3ωo,12,3ωo,22, . . . ,3ωo,q2)
L3=diag(ωo,13,ωo,23, . . . ,ωo,q3) (231)
Kp=diag(ωc,12,ωc,22, . . . ,ωc,q2)
Kd=diag(2ωc,1,2ωc,2, . . . ,2ωc,q) (232)
Preliminary system identification is often unnecessary because the only design parameters are ωc and b and they have a direct impact on the bandwidth and overshoot of the output, meaning they can easily be adjusted by the user. In practice, 1/b needs to be initially within fifty percent of its true value, the total inertia in a second order system, and such a broad range is frequently known.
When a step input is applied to the system, normalized settling times for ωc=1 are shown in Table VIII.
Since a step is the fastest possible profile, the minimum settling time of the system for a given bandwidth then becomes
ts=tn/ωc (233)
When faced with time specifications, this can serve as a starting point for tuning ωc or it can determine if a solution is even feasible.
When a profile with settling time tp is used, the total settling time of the system is then approximated by
tt≈tp+ts (234)
A procedure to tune ωc,i and ωo,i for each output i is now given, dropping the i subscript for the sake of clarity. The idea is to set the controller bandwidth as high as possible. A profile is then typically used to achieve a slower settling time or to meet control signal constraints, but a step is used if the fastest possible response is desired without regard to exact trajectory.
In MAPPS, all three observer bandwidths are set equal, ωo,1=ωo,2=ωo,3=ωo, for the sake of simplicity and proof of concept. This makes the observer gain matrices a function of one parameter.
L1=2ωoI3,L2=2ωo2I3 (235)
All three controller bandwidths are also set equal, ωc,1=ωc,2=ωc,3=ωc, for the same reason, making the controller gain matrix a function of one parameter as well.
Kp=ωcI3 (236)
Step Seven: The seventh step is to run the closed loop system in order to tune B+. Although B is determined using system identification techniques in step two, it acts as a control signal gain that directly affects overshoot of the closed loop system. As a result, B can also be tuned by adjusting its elements to the point just before overshoot appears in the output. It is preferable to have as many inputs as outputs to facilitate tuning. This is demonstrated by first expanding the vector products U=[u1, . . . , up]T and bi=[bi,l, . . . , bi,p]T in the following nth order input-output equations.
to produce:
In the ith state equation, the input ui is used to control the output yi, and the rest of the inputs are combined into a new disturbance hi.
The plant is rewritten where only the diagonal elements of B are considered.
The inverse of each diagonal element then becomes a tuning parameter of an individual SISO control loop.
B−1=diag(b1−1,b2−1, . . . ,bq−1) (241)
An example is given in
Since each jet engine regulator has three inputs and three outputs and the system parameters are unknown, the plant used for low speed regulation was represented by (240) and the diagonal elements of B−1 were tuned. The identity matrix was selected as a starting point. The relative signs of each diagonal element were next determined, followed by magnitude adjustment.
Jet Engine Control Simulation Results
Turbofan engine performance varies from engine to engine due to manufacturing tolerances and deterioration from extended use. Even though degradation may eventually require an engine to be overhauled as limits are reached, the engine control system should be robust enough to keep the engine operating within safe limits for several thousand flight cycles. With repeated use, the engine components wear and performance is degraded. For example, turbine blades erode and clearances open up. In order to achieve the same level of thrust as a new engine, a deteriorated engine must run hotter and/or faster. This shift from nominal operation increases with use, and eventually reaches the point where performance can not be maintained without compromising the safety of the engine or the life of its components. The degradation in performance is simulated in MAPSS by adjusting ten health parameters.
In most turbofan engines, thrust is calculated as a function of regulated and non-regulated variables, since it cannot be directly measured. Although regulated variables are maintained at their set points regardless of engine degradation, non-regulated parameters shift from their nominal values with deterioration. As a result, the closed-loop performance of the current model-based controller suffers as the engine wears. One of the objectives here is to control the transient thrust response of a deteriorated engine, making it behave as close to a new engine as possible.
Gas path analysis is a diagnostic technique that is used to estimate and trend health parameters by examining shifts in component health based upon gas path sensor measurements, i.e. pressures, temperatures, rotor speeds, and the known aero-thermodynamic relationships that exist between them. The health parameters follow an average degradation profile over the life span of the engine
pi=ai(1−exp(−biteff))+citeff (242)
where ai, bi, and ci are constants for each health parameter and teff represents the physical age of the engine in effective flight cycles rather than it chronological age. The initial exponential rise is intended to simulate rub-in and new engine deterioration mechanisms. As the engine ages, the health parameter degradation tends to become more linear.
The component degradation values in percent resulting from health parameter changes are shown in Table IX. They reflect moderate to beyond severe degradation such as what might occur when the engine is due for an overhaul or when the engine is placed in a harsh desert environment.
The level of degradation is characterized by effective cycles teff where zero cycles is a new engine with no degradation, 3000 cycles is moderate degradation, 4500 cycles is heavy degradation, and 5250 cycles is severe degradation.
Test operating points were selected to cover a large portion of the entire MAPSS flight envelope and most of the subsonic range. They are shown in Table X. Test point #1 represents ground idle conditions where the pla is stepped from 21 to 35 for takeoff. The rest of the test points represent the majority of subsonic power conditions.
The redesigned low speed regulator in (228) was digitized using Euler integration. MAPSS is a multi-rate simulation package where the engine sample time is fixed at 0.0004 seconds and the controller sample time is fixed at 0.02 seconds. For proof of concept, the new ADRC controller and the supplied nominal controller were simulated at each of the first three operating points in Table X. The results from the nominal controller are used as a reference to compare the performance of the ADRC controller with. The goal here was not to show that one controller is better in performance over the other but merely that they are comparable in performance and ADRC is very simple to design, especially since the exact method of tuning the nominal controller is not known. The new ADRC controller was then simulated at the next three operating points in Table X to show how it is able operate over a substantial range of the low speed regulator.
All simulations were conducted for each of the six levels of degradation in Table IX. As shown in Table XI, they are labeled as Run 1 through Run 6 in each simulation.
Although the high speed regulator and the other two fan safety regulators were not tested, similar performance is expected. The results are shown in 3700 of
Although the ADRC controller responded a bit faster and with less overshoot to the change in demand levels than the nominal controller, the real significance is in the simplicity of design of the new controller and how it was able to control engine thrust without being affected by degradation over a wide range of operation. The design procedure of the nominal controller basically involves running the CLM at several operating points to calculate a set of gains from Bode and Nyquist arrays at each operating point. The eighteen gains are each scheduled by six parameters, amounting to a total of 108 possible adjustments that can be made when configuring a single regulator on an actual engine. During the simulations, these gains change by as much as 200 percent.
In contrast, the five ADRC gains remained constant throughout all simulations.
ωc=8, ωo=16, B−1=diag(0.2, −0.5, −0.5) (243)
There was no scheduling. Each gain was quickly tuned on the CLM just as if it would be on an actual engine. The engine was then simulated at multiple operating points to verify the performance of the new controller.
Preliminary results of these simulation tests on a rather complex turbofan model show the power of the dynamic decoupling method proposed here. Mathematical models are often inaccurate when representing nonlinear multivariable systems. Gain scheduling helps in this area, but makes tuning even worse than it was before. Where modern multivariable control schemes are limited, this approach appears well suited for complex nonlinear systems with incomplete model information. The ultimate goal is to offer a degree of tunability to account for variations between engines without sacrificing performance, while being robust enough to withstand slow degradations from aging or damage.
Health Monitoring and Fault Detection using the Extended State Observer
This research combines the unique concept of design model disturbance estimation with health monitoring and fault diagnosis. The tools developed in the previous description can be directly applied to health monitoring with minimal model information. The unique application uses the ESO as a disturbance estimator with minimal plant information to estimate system dynamics and disturbances. The estimated disturbance is then used for health and fault diagnosis. Most dynamic health and fault monitoring estimators require significant model information to work effectively. Since the ESO use a simple design model that works on a wide variety of plants, estimator design can be reduced to single parameter tuning. In 4900 of
Decomposing Disturbances for Fault Diagnosis
The following gives a more detailed explanation of the concept of using the ESO for health and fault monitoring. A wide range of input, u, output, y, systems can be described by the differential equation in Han's canonical model form
y(n)=ƒ(t,y, . . . ,y(n−1),w)+bu. (244)
Here y(n) represents the nth derivative of y, where ƒ is a lumped nonlinear time varying function of the plant dynamics as well as the external disturbance w. Based on the input output data, detail 5000 of
The unknown portion, ƒ, contains modeling inaccuracies, ƒm, effects of faults ƒf, and external disturbances ƒd. Detail 5100 of
For the most part, literature has approached the unknown plant effects that compose ƒ separately. In each case, assumptions are made that the other effects are negligible. Likewise, an overarching framework to integrate the problem of control, fault diagnosis and health monitoring and accommodation is an open problem for research.
Disturbance Estimation for Control Health Diagnosis
Recently large saving has been provided by six sigma techniques to actively monitor the health of a control loop performance by (C. McAnarney and G. Buckbee, “Taking it to the boardroom: Use performance supervision information for higher-level management decisions,” In Tech. ISA, Jul. 31, 2006). Using the disturbance estimation concept for health diagnostics in combination with closed loop control is an effective means to provide health diagnosis without extensive model information.
Once the model is formulated in the input, u, output, y, and disturbance, ƒ, formulation, the control problem can be reformulated.
Canceling the unknown disturbance and dynamics begins with estimating ƒ. The main idea is to use input output data and minimal dynamic information to estimate {circumflex over (ƒ)} and cancel it.
{circumflex over (ƒ)}≈ƒ (245)
Once ƒ is estimated, the disturbance is rejected to behave like the forced design model plant, with a new input, u0.
find u s.t. y(n)=ƒn({tilde over (y)},u0,t). (246)
At this point, the unknown disturbances and plant dynamics have been removed and a conventional controller based on the design model can be designed so the output, y, follows the reference, r.
find u0 s.t. y→r. (247)
This overview of concepts suggests that there are three independent mathematical expressions that solve the control problem: 1) the estimation law (245), 2) the rejection law (246), and 3) the nominal control law (247). This division is illustrated in 5200 of
Most control paradigms include the estimation and rejection laws lumped together in the control law. Since ƒ is the key to this control paradigm, this research investigates the active estimation of ƒ for health and fault monitoring.
Health Monitoring by Disturbance Estimation
The general methodology to apply the Extended State Observer to the health monitoring problem follows:
The systems, methods, and objects described herein may be stored, for example, on a computer readable media. Media can include, but are not limited to, an ASIC, a CD, a DVD, a RAM, a ROM, a PROM, a disk, a carrier wave, a memory stick, and the like. Thus, an example computer readable medium can store computer executable instructions for one or more of the claimed methods.
What has been described above includes several examples. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the systems, methods, computer readable media and so on employed in scaling and parameterizing controllers. However, one of ordinary skill in the art may recognize that further combinations and permutations are possible. Accordingly, this application is intended to embrace alterations, modifications, and variations that fall within the scope of the appended claims. Furthermore, the preceding description is not meant to limit the scope of the invention. Rather, the scope of the invention is to be determined only by the appended claims and their equivalents.
All documents cited herein are, in relevant part, incorporated herein by reference; the citation of any document is not to be construed as an admission that it is prior art with respect to the present invention.
While the systems, methods and so on herein have been illustrated by describing examples, and while the examples have been described in considerable detail, it is not the intention of the applicants to restrict or in any way limit the scope of the appended claims to such detail. Additional advantages and modifications will be readily apparent to those skilled in the art. Therefore, the invention, in its broader aspects, is not limited to the specific details, the representative apparatus, and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or scope of the applicant's general inventive concept.
This application is a continuation-in-part (CIP) application and claims the benefit of U.S. Utility application Ser. No. 10/351,664 filed Jan. 27, 2003 published as 2003/0199997. This application also claims the benefit of U.S. Provisional Application 60/373,404 filed Apr. 8, 2002; U.S. Provisional Application 60/718,393 filed Sep. 19, 2005; U.S. Provisional Application 60/718,581 filed Sep. 19, 2005; U.S. Provisional Application 60/718,899 filed Sep. 20, 2005; U.S. Provisional Application 60/728,928 filed Oct. 20, 2005; and U.S. Provisional Application 60/728,929 filed Oct. 20, 2005, all of which are incorporated herein by reference.
This work was supported at least in part by NASA under government contract number NGT3-52387. Accordingly, the U.S. government may have certain rights herein.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2006/036156 | 9/18/2006 | WO | 00 | 9/10/2008 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2007/035559 | 3/29/2007 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6122555 | Lu | Sep 2000 | A |
6195982 | Gysling et al. | Mar 2001 | B1 |
6445962 | Blevins et al. | Sep 2002 | B1 |
6510353 | Gudaz et al. | Jan 2003 | B1 |
6546295 | Pyotsia et al. | Apr 2003 | B1 |
6658305 | Gudmundsson et al. | Dec 2003 | B1 |
6980869 | Chandhoke | Dec 2005 | B1 |
7024253 | Gaikwad et al. | Apr 2006 | B2 |
20030199997 | Gao | Oct 2003 | A1 |
20070073422 | Gaikwad et al. | Mar 2007 | A1 |
20070088448 | Mylaraswamy et al. | Apr 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20090143871 A1 | Jun 2009 | US |
Number | Date | Country | |
---|---|---|---|
60373404 | Apr 2002 | US | |
60718393 | Sep 2005 | US | |
60718581 | Sep 2005 | US | |
60718899 | Sep 2005 | US | |
60728928 | Oct 2005 | US | |
60728929 | Oct 2005 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10351664 | Jan 2003 | US |
Child | 12067141 | US |