WO2004059400A1 - Self-tuning controller for non-linear processes described by set of local linear models - Google Patents

Self-tuning controller for non-linear processes described by set of local linear models Download PDF

Info

Publication number
WO2004059400A1
WO2004059400A1 PCT/SI2002/000029 SI0200029W WO2004059400A1 WO 2004059400 A1 WO2004059400 A1 WO 2004059400A1 SI 0200029 W SI0200029 W SI 0200029W WO 2004059400 A1 WO2004059400 A1 WO 2004059400A1
Authority
WO
WIPO (PCT)
Prior art keywords
controller
linear
model
tuning
local
Prior art date
Application number
PCT/SI2002/000029
Other languages
French (fr)
Inventor
Samo Gerksic
Gregor DOLANC
Jus KOCIJAN
Damir Vrancic
Stanko STRMCNIK
Igor Skrjanc
Saso BLAZIC
Miha BOZICEK
Zoran MARINSEK
Anna STATHAKI
Robert E. King
Fotis N. KOUMBOULIS
Zack ILIADIS
Demos SAPIDIS
Mincho BANKOV HADZHIYSKI
Kosta PETROV BOSHNAKOV
Ventsislav VENTSISLAVOV ASENOV
Nikolinka GEORGIEVA HRISTOVA
Ivaylo PARVANOV KOLESHANOV
Kiril TODOROV TODOROV
Metodi STEFANOV NIKOLOV
Aneta IVANOVA IVANOVA
Original Assignee
Inea D.O.O.
Indelec Europe S.A.
Start Engineering Jsco
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inea D.O.O., Indelec Europe S.A., Start Engineering Jsco filed Critical Inea D.O.O.
Priority to AU2002368521A priority Critical patent/AU2002368521A1/en
Priority to PCT/SI2002/000029 priority patent/WO2004059400A1/en
Publication of WO2004059400A1 publication Critical patent/WO2004059400A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/0285Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks and fuzzy logic

Definitions

  • the invention relates to controllers used in process control engineering, more specifically to self-tuning (adaptive) non-linear control and more particularly to self-tuning controller for nonlinear processes described by set of local linear models.
  • Self-tuning or adaptive control methods assume time-varying process dynamics and therefore calculate model parameters, or update the controller directly, during controller operation. With adaptive controllers this usually occurs continuously while With self-tuning controllers it is triggered on demand. In both cases, injection of perturbation signals may be used. While most adaptive methods assume that the process is linear, this concept is also applicable to non-linear processes.
  • WO 01/79945 to Hess et al. describes a non-linear controller-based on an adaptive linear model predictive controller for which the model is obtained from a first-principles non-linear : process model.
  • US5335164 to Gough, Jr. et al. describes a method and apparatus for non-linear adaptive control based on Laguerre series network model and predictive control.
  • US6055524 to Chen describes a direct adaptive non-linear controller based on an artificial neural network.
  • WO 01/92974 to Calise et al. describes an adaptive non-linear controller based on a linear controller and model inversion of an adaptive artificial neural network.
  • EP0571080 to Molnar describes a method for self-tuning of a linear PID controller.
  • EP0360206 to Yokokawa et al. describes a method of linear PID controller self-tuning based on three performance indexes.
  • the presented controller attempts to overcome these problems and provide an efficient and user- friendly tool for control of a certain practically very important class of non-linear processes that may be represented by a fuzzy set of low-order local linear models that are selected using a scheduling variable.
  • the model is obtained by means of experimental modelling using a special on-line learning procedure combining model identification with pre- and post-identification steps that provide reliable operation.
  • the controller monitors the resulting control performance and may react to detected irregularities. All the algorithms are adapted for implementation on standard low-cost industrial hardware platforms such as programmable logic or open controllers, accompanied by software that simplifies the initial configuration from a personal computer.
  • the self-tuning non-linear controller according to the present invention is intended for control of a class of non-linear processes that may be represented by a fuzzy set of low-order local linear models that are selected using a scheduling variable.
  • the model is obtained by means of experimental modelling using a special on-line learning procedure combining model identification with pre- and post-identification steps that provide reliable operation.
  • the controller monitors the resulting control performance and may react to detected irregularities.
  • the controller is suitable for implementation on hardware platforms such as programmable logic or open controllers.
  • the self-tuning non-linear controller is based on a multi-faceted model comprising a set of first- order discrete-time linear local models with.time delay and offset and second-order discrete-time linear local models with time delay and offset which are placed at different positions of a scheduling variable _., that can be as a whole interpreted as the said Takagi-Sugeno fuzzy model.
  • the self-tuning non-linear controller consists of a Signal Preprocessing Agent, an Online Learning Agent, a Model Information Agent, a Control Algorithm Agent, a Control Performance Monitor, and an Operation Supervisor, where
  • the Signal Preprocessing Agent prepares the process signals for real-time control and stores them to a buffer fori batch- wise post-processing
  • Control Algorithm Agent performs non-linear control based on the multi-faceted model in real time and automatically retunes the controller from the multi-faceted model
  • the Online Learning Agent periodically inspects the buffer of recent real-time signals and extracts new model information when appropriate
  • Model Information Agent maintains the active multi-faceted model
  • Control Performance Monitor periodically inspects the buffer of recent real-time signals and extracts features of closed-loop performance of detected events, that may be used to trigger modification of Operation Supervisor configuration
  • Fig. 1 Self-tuning non-linear controller overview
  • Fig. 2 Fuzzy membership functions of local models in the Multi-Faceted Model
  • Fig. 4 Fuzzy Gain-Scheduling Controller Control Algorithm Agent overview
  • Fig. 8 Fuzzy logic membership functions for Performance Index calculation in CPM
  • Fig. 9 Fuzzy logic rule table for Performance Index calculation in CPM
  • Fig. 11 pH control performance comparison between FGSC and linear PI controller
  • the proposed controller is built in the form of a multi-agent system where several independent agents (modules) interact with each other.
  • the system includes the following agents, as shown in Fig. 1:
  • MIA Model Information Agent
  • CAA Control Algorithm Agent
  • the model-based controller is founded on a multi-faceted model (MFM) (7) that includes several model forms required by the online-learning mechanism and control algorithm agents. Specifically, it includes, a set of first- and second-order discrete-time linear local models with time delay and offset, which are placed at different positions of a ' scheduling variable s.
  • the model equation for second order models is y(k) - -a l J y(k - 1) - a 2 j y(k - 2) + b X u(k - 1 - du j ) +
  • £ is the discrete time index
  • - J is the number of the local model
  • y(k) is the process output signal (controlled variable, CN)
  • u(k) is the process input signal (manipulated variable, MN)
  • v(k) is the (optional) measured disturbance signal (MD)
  • du is the delay in the MV-CV path
  • dv is the delay in the MD-CN path
  • a h b h C t and r are parameters of local models.
  • OLA (2) analyses the buffer of recent real-time signals (8), prepared by SPA, and generates new local models (9) when conditions are appropriate. It is invoked periodically or upon demand by OS. Since it js..a computationally intensive task, it-runs as a low-priority- task in a multitasking operating system.
  • Identification of local models the parameters of the selected local models are identified using the Fuzzy Instrumental Variables (FIV) identification method, an extension of linear instrumental variables identification procedure (Ljung 1987) for the specified MFM. The identification is performed for each local model (and its corresponding fuzzy set, denoted by the index j) separately (17). The most general form of the procedure where all parameters of a second-order model are estimated is described below.
  • FV Fuzzy Instrumental Variables
  • ⁇ i (kx ⁇ ) ⁇ ,(k)- i '- - - — - ⁇ ⁇ -
  • ⁇ ,(* + l) [- ⁇ ,X*), ⁇ , «(*- ⁇ ,). ⁇ ,v(A-rfv,), ⁇ r
  • ⁇ ,(*+l) - ⁇ j ⁇ -1), ⁇ ,tt(*- ⁇ -.), ik-l-du j ), ⁇ j
  • This step is performed by comparing the output of a selected local model, denoted by the index j, with actual process output in the proximity of the local model position, specified by the corresponding membership functions ⁇ , and calculating the normalised sum of mean square errors (MSE) vaf.
  • MSE mean square errors
  • ⁇ y [ ⁇ _, y . a 2 , j > b ⁇ , b2, 7 > c ⁇ , 7 ' c 2,j > r j Y> i* 1 case ° ⁇ a ⁇ ⁇ rst ⁇ order model or when measured disturbance v is not present, the coefficients a 2j , b j , c 2j are set to 0.
  • this step is carried out with three sets of model parameters ⁇ ⁇ : the initial model from MIA (21), the model estimate of the LS method (22) and the model estimate of the IV method (23).
  • the model with the lowest vaf of the three is sent to MIA (15) as the result of online learning, along with its vaf that serves as a confidence index (cij) and a flag chg j indicating whether the model is new or not.
  • MIA Model Information Agent
  • MIA maintains the active MFM (model-in-use) and its status information.
  • MIA accepts online learning results from OLA. If the model confidence index is below the specified threshold, the automatic mode may be disabled. When a new local model is received, it is accepted if it passes the stability test (and possibly other tests) and its confidence index is sufficient. If the local model is accepted, its ag j flag is set, which means that it is ready for controller tuning by the CAA's tuning layer and not used yet. Each local model also has a c j flag indicating whethei the local model had been tuned since start-up or not.
  • MIA contains a mechanism for inserting additional local models.
  • MIA may also store the model-in-use to a local database (24) or recall a previously stored one from there.
  • MIA is filled with local model that are not accurate but provide a reliable (although sluggish) performance of the controller, similar to the Safe mode.
  • OLA online learning through experiments or even normal operation (when the conditions are appropriate)
  • an accurate model of the plant is built by receiving identified local models from OLA.
  • the CAA (4) includes functionality of an advanced non-linear control algorithm and automatic tuning of its parameters from the MFM.
  • Several CAAs with different operating principle and properties may be used in the controller and may be interchanged in the initial configuration phase.
  • the CAA supports several modes of operation:
  • Auto mode or several auto modes with different tuning parameters: non-linear controller
  • the CAAs share a common interface of interaction with other agents of the controller and a common modular internal structure, consisting of three layers:
  • the control layer (25) includes the functionality of a local linear controller (or several local linear controllers at once), including all functionality required for industrial controllers, such as anti-windup protection, reasonable switching between open-loop and closed-loop operation, etc.
  • the scheduling layer (26) performs switching or scheduling (blending) of tuned local linear controllers, so that in conjunction with the control layer a fixed-parameter non-linear controller is realised.
  • the tuning layer (27) performs automatic tuning of controller parameters from the MFM whenever new models are generated (indicated by the ag flags) and auto-tuning is enabled. When tuning is completed, the ag flags are cleared and the tuned flags are set.
  • the tuning layer maintains the controller parameters, that are derived from the MFM in general but CAA-specific, and the controller parameters also include a copy of the MFM from which they were tuned. It replaces the parameters of the control and scheduling layer in such manner that their real-time operation is not disturbed.
  • FIG. 4 An overview of FGSC is shown in Fig. 4.
  • the control layer of FGSC (28) consists of a single PID controller in the velocity form (in order to use velocity-based linearisation when blending local controllers), equipped with anti-windup protection, and is defined by the following procedure carried, out in each discrete time step k:
  • controller _mode The controller mode -
  • Kaw 1 Kpi* Tmpl ,' Kf;
  • the scheduling layer of FGSC (29) is implemented as fuzzy blending of the controller parameters (in case of Ti, its inverse value) according to the scheduling variable s and the triangular membership functions ⁇ , (30) of the local models in the MFM.
  • the following procedure is used:
  • the tuning layer of FGSC (31) is based on the magnitude optimum (MO) criterion implemented using the multiple integration (MI) method (Vrancic & al. 2001). Discrete-time process parameters that are extracted from the MFM are converted it into continuous-time parameters. Then the so-called areas are calculated which are used for the calculation of the controller parameters, first the PI and then PID controller parameters. The following procedure is used for tuning of a single local PI controller from its corresponding local model (32): . .
  • % LM,- [ay, ay, by, by, du j , S j ]- local model parameters, delay and scheduling variable
  • Al Kpr *( a lc - b lc Td);
  • A2 Kpr *( b 2c - a 2c - Td* b lc 0.5*Td 2 ) XAl* a lc ;
  • A3 Kpr*(Td* b ⁇ - O ⁇ Tf* b Xc + 0.166666* TcT) XA2* a lc -Al* a 2c ;
  • A4 Kpr*(Td 2 * b 2c *0.5 - 0.166666*7tf 3 * b lc + 0.04166666*7. ) + A3* a lc -A2* a 2c ;
  • Flag_PI gain 1; endif else % Optimum controller gain for disturbance rejection
  • the control layer of DTCC (37) consists of a single PID controller in the velocity form and up to 10 local predictive functional controllers (PFCs) equipped with anti-windup protection and
  • control layer is implemented by using the following procedure that is carried out at each time instant (k):
  • % Derivative block calculation uD uDJ X Td/ (alfa*Td X Tsamp) * (e(k) - e_l) + Tsamp /(alfa*Td X Tsamp) * (e(k) - uD);
  • the scheduling layer (36) of DTCC is implemented as fuzzy blending of the PID controller parameters or local PFC controller outputs according to the scheduling variable s and the membership functions of the local models.
  • the following algorithm is implemented:
  • Kp K j _ + tmp * (Kp j - Kpj- ⁇ );
  • Td Td j _, + tmp * (Td j - Td );
  • Ti Ti j _ ⁇ Xtmp*(Ti j - Ti,.j);
  • Wht ⁇ Whi] j . ⁇ +tmp*(Wht u - Whti j .,);
  • Wht 10 Whi ⁇ o j . ⁇ +tmp*(Wht 10J - Wht 10J . ⁇ ); endif
  • the tuning layer of DTCC (33) is based on tuning tables for parameters of the predictive controller and the PID controller and classical approaches for PID controller tuning. There are two manners of obtaining PID settings. The first one is based on formulas approximating the results of a number of simulations with various stable plant models performed in advance. The second manner comprises the approach based on the internal model scheme. PFC tuning parameters are calculated based on formulas obtained with simulations (in the way as the first
  • % LMy [ay, ay, by, by, du j , j ]- local model parameters, delay and scheduling variable
  • CP j [Kp, Ti j Td, Wht,... Wht l0 ]
  • K j klm j k2m j ;
  • RBNC An overview of RBNC is shown in Fig. 6.
  • the control layer of the RBNC (38) consists of a single PID controller in the velocity form equipped with anti-windup protection, and is specified by the following procedure that is executed at each discrete time step k:
  • the scheduling layer of the RBNC (39) (i.e. the RBNC Supervisor) performs switching of controller parameters in accordance with linguistic rules and the values of the process output and target set-point.
  • the kernel of the RBNC Supervisor involves two 2-4-1 artificial neural networks (ANN) (44). The neurons of all but the output neuron possess sigmoidal compression. Each ANN is trained using a set of 11 coded linguistic rules.
  • the object of the zone verification block (43) is to establish the indices of the current and target operating zones. An operating zone is defined as a region about each point where a local process model has been identified. The boundaries of each zone are taken as the mid-points between contiguous points at which a local process model has been identified. These two indices form the inputs to the ANNs in the RBNC Supervisor.
  • the RBNC Supervisor decides which candidate controller to use while the process output is in transition from one operating point to another. % INPUTS:
  • % ZLM- is a matrix of zone limits ZLM- [ZL,, ZL 2 , ...ZL SupportJ for each operating zone % where ZL; contains values that are pertinent to each operating zone
  • % model jDrder - model order of the MFMs % OUTPUTS % zone - zone index uniquely specifying the current operating zone and corresponding optimum ' % controller parameters
  • Step 1 determine zone index of y
  • Step 2 determine zone index of sp
  • Step 3 determine whether to use increscent or decrescent switching logic that guarantees asymptotic stability between contiguous operating Zones.
  • the procedure makes use of the Jury stability test.
  • the increscent switching logic has the following steps:
  • the tuning layer of the RBNC (40) uses a stochastic procedure, and. in particular Simulated
  • % LM j [ay, ay, by, b 2j , du Jt S j J- local model parameters, delay and scheduling variable
  • % CP* [Kp Ti Td s ] ⁇ - optimum controller parameters at the current scheduling variable s
  • Step 1 determine the time to reach 63% of final value of step response
  • Step 2 using the Persson and Astrom technique compute estimate of the parameters of the sub-optimum PID or PI controller
  • Step 3 test stability of the closed system with the corresponding LMj using the Jury test
  • Step 4 use the Simulated Annealing search algorithm with embedded Jury test to compute the globally optimum controller parameters
  • CPM analyses the buffer of recent real-time signals, prepared by SPA, and estimates features of closed-loop control response when conditions are appropriate. It is invoked periodically. Since it is a computationally intensive task, it runs as a low-priority task in a multitasking operating system. It consists of three submodules: the Buffer founder (BF), the Situation. Classifier (SC)
  • BF forms new dynamic buffers from the current buffers according to the process conditions so that only the correct data are sent to SC.
  • SC scans- the buffer for the last recognisable event,; such as a step change of the reference, a step change of the measured disturbance, an unmeasured disturbance, a steady state, or oscillation. If such an event is detected, the corresponding section of the buffer . is . sent to PE, otherwise the execution is terminated.
  • PE may extract the following features: overshoot, settling time, rise time, oscillation, tracking error, regulation error.
  • This module calls functions, which copy a part of the real-time data buffer for background processing.
  • the so-formed arrays r, y, u, and v are the main CPM input parameters.
  • this module checks whether all signals r, y, u, and v in the active buffer have reached steady state (SS). If so, there is nothing to evaluate and the processing is terminated; if not, the algorithm continues with the main part of CPM.
  • This module performs filtering of the input y and v buffers (if requested). Three filtering methods may be used: moving average, exponential, or fourth differences.
  • the main task of this module is checking the input r and v buffers for a change. If a step-wise change of either signal is recognized, the CPM continues, with oscillation checking routine. If there is an unrecognised event, the CPM sends "UNRECOGNIZED EVENT" message to the operator panel and terminates any further computations.
  • This module checks the CV buffer for oscillation by comparing the deqay ratio to its. threshold.
  • the main task of this checking routine is to detect oscillation as .soon as possible. This procedure is intended for avoiding accidents or undesired CV behaviour. If oscillation is detected, the_CPM terminates and sends a flag to the Operation Supervisor for switching to the safe mode.
  • Noise/Signal Estimation The main task of this module is calculating the Noise/Signal ratio of the controlled variable. An estimate of the noise variance is calculated on the base of a segment of the CV buffer before the registered change. The requested minimum data can be specified. The amplitude of the signal is calculated as an absolute value of the difference between the past and the new steady state value of MD (if there is a MD change) or as the absolute value of the reference change (if there is a SP change). The calculated ratio is compared to a configured threshold.
  • This module comprises functions that send messages to HMI; and the flag to that indicates a request for switching to the safe mode to the Operation Supervisor.
  • This procedure computes the transient process features like overshoot, settling time, rise time, oscillation, tracking error, and regulation error when the conditions are appropriate.
  • appropriat _conditions -oscillation ietected AND noisejsigi ⁇ al ⁇ noise_signal hreshold
  • a generalized criterion for the quality of the transient process is computed by using fuzzy rules in Fig. 8. This criterion is called Performance Index (PI) (62).
  • PI Performance Index
  • For each process feature a set of linguistic variables is introduced — poor, good, and excellent.
  • a rule table based on expert knowledge is created (Fig. 9) which maps the PI values and all combinations of feature values.
  • PI has five linguistic variables - poor, satisfactory, good, very good, excellent, corresponding to the following values; 0.0, 0.25, 0.5, 0.75, 1.0. From the received value of PI using the defuzzyf ⁇ cation procedure the transient response quality is evaluated.
  • PI lower than 0.25 triggers a request for switching to the Safe mode, while PI between 0.25 and 0.5 results in a sending warning message to the HMI.
  • the run-time module (RTM) of the proposed controller is intended for implementation on a capable programmable logic controller (PLC) or an embedded controller.
  • PLC programmable logic controller
  • One of the test platforms consists of a Mitsubishi A1S series PLC with an INEA IDR SPAC20 coprocessor, based on the TMS320C32 digital signal processor of Texas Instruments, running at a clock frequency of 40 MHz and with 2MB of RAM.
  • the initial configuration of the RTM is performed using a Configuration Tool (CT), running on a personal computer, that is used for transferring the RTM parameters to the PLC and includes a "wizard" that guides the engineer through the configuration of initial parameters.
  • CT Configuration Tool
  • the operation of the controller is illustrated with an application for pH control of a simulated neutralisation process in Fig. 10, described in detail in (Henson & Seborg 1994, Kavsek- Biasizzo & al. 1997, Gerksic & al. 2000).
  • An acid stream (63), a buffer stream (64) and a base stream (65) are mixed in a tank.
  • the acid and base streams are equipped with flow control valves.
  • the pH of the mixture is measured with a sensor located downstream (66).
  • the effluent pH is the controlled variable y, and the manipulated variable u is the flow of the base stream Q3.
  • the static characteristic of the process is highly non-linear and its open-loop gain changes by the factor 8, so it is very difficult for control with a conventional PID controller.
  • the operating range between pH values 6 and 8 was covered with five local models placed, at positions 6, 7, 7.15, 7.4, and 8, with respect to the known ti ration curve.
  • s(k) 0.3 y(k) + 0.7 r(k) was used as the scheduling variable.
  • Each local model was trained with online learning through an open-loop experiment consisting of three step-changes of u of small amplitude about the operating point, and the local controllers were tuned automatically from the local models. In the upper part of Fig.
  • the process output (67) follows the reference signal (68) reasonably well under FGSC control, while the performance of a fixed PI confroller in the lower part (69, 70) is much worse.
  • the PI controller which is also used as the Safe mode, is tuned for stable performance in the high-gain operating area around pH 8, however its operation in the low-gain region below pH 7 is sluggish.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Feedback Control In General (AREA)

Abstract

The self-tuning non-linear controller is intended for control of a class of non-linear processes that may be represented by a fuzzy set of low-order local linear models that are selected using a scheduling variable. The model is obtained by means of experimental modelling using a special on-line learning procedure combining model identification with pre- and post-identification steps that provide reliable operation. There is a choice of several novel control algorithms suitable for different processes that may be used for control and whose parameters are automatically tuned from the model. The controller monitors the resulting control performance and may react to detected irregularities. The controller is suitable for implementation on hardware platforms such as programmable logic or open controllers.

Description

SELF-TUNING CONTROLLER FOR NON-LTNEAR PROCESSES DESCRIBED BY SET OF LOCAL LINEAR MODELS
FIELD OF THE INVENTION
The invention relates to controllers used in process control engineering, more specifically to self-tuning (adaptive) non-linear control and more particularly to self-tuning controller for nonlinear processes described by set of local linear models.
BACKGROUND ART
There is a number of known non-linear control methods that were designed with the aim of achieving more efficient control of non-linear processes than the conventional linear methods such as the well-known and industrially proven PID controller (Bequette 1997, Henson & Seborg 1997, Qin & Badgwell 1998). All of those methods are based on some form of modelling of the process non-linearity and using this knowledge for improving the control strategy by applying non-linear controller action. Some of them are based on detailed theoretical (first-principles) modelling, while other use experimental modelling based on general non-linear models such as artificial neural networks, fiizzy models, wavelets, multiple models etc. (Sjδberg & al. 1995, Murray-Smith & Johansen 1997) where model parameters are extracted from measurement data using a form of model identification (Ljung 1987), or controller parameters are calculated from measurements directly.
Self-tuning or adaptive control methods (Astrδm & Wittenmark 1995) assume time-varying process dynamics and therefore calculate model parameters, or update the controller directly, during controller operation. With adaptive controllers this usually occurs continuously while With self-tuning controllers it is triggered on demand. In both cases, injection of perturbation signals may be used. While most adaptive methods assume that the process is linear, this concept is also applicable to non-linear processes.
An overview of existing patents in related fields includes:
WO 01/79945 to Hess et al. describes a non-linear controller-based on an adaptive linear model predictive controller for which the model is obtained from a first-principles non-linear: process model. US5335164 to Gough, Jr. et al. describes a method and apparatus for non-linear adaptive control based on Laguerre series network model and predictive control.
US6055524 to Chen describes a direct adaptive non-linear controller based on an artificial neural network.
US5740033 to McCroskey et al. describes a control system based on a non-linear model predictive controller and an interactive modeller.
US5682309 to Fontaine et al. describes a non-linear controller based on a non-linear state-space model, state estimation and on-line optimisation using sequential quadratic programming.
WO 01/92974 to Calise et al. describes an adaptive non-linear controller based on a linear controller and model inversion of an adaptive artificial neural network.
US5394322 to Hansen describes a model-based method for self-tuning of a linear PID controller.
EP0571080 to Molnar describes a method for self-tuning of a linear PID controller.
EP0360206 to Yokokawa et al. describes a method of linear PID controller self-tuning based on three performance indexes.
US4407013 to Arcara et al. describes a method of linear PID controller self-tuning from a discrete-time model.
While advanced in theory, there are several drawbacks to known methods and controllers in practice. Due to the complexity of implementation and computational demand, the hardware requirements are high. The complexity of tuning makes .them unattractive to non-specialised engineers. This is particularly the case with methods based on detailed theoretical modelling, while reliability of experimental modelling is often questioned. In any case, control is subject to imperfect modelling.
The presented controller attempts to overcome these problems and provide an efficient and user- friendly tool for control of a certain practically very important class of non-linear processes that may be represented by a fuzzy set of low-order local linear models that are selected using a scheduling variable. The model is obtained by means of experimental modelling using a special on-line learning procedure combining model identification with pre- and post-identification steps that provide reliable operation. There is a choice of several control algorithms suitable for different processes that may be used tor control and whose parameters are automatically tuned from the model. The controller monitors the resulting control performance and may react to detected irregularities. All the algorithms are adapted for implementation on standard low-cost industrial hardware platforms such as programmable logic or open controllers, accompanied by software that simplifies the initial configuration from a personal computer.
SUMMARY OF THE INVENTION
The self-tuning non-linear controller according to the present invention is intended for control of a class of non-linear processes that may be represented by a fuzzy set of low-order local linear models that are selected using a scheduling variable. The model is obtained by means of experimental modelling using a special on-line learning procedure combining model identification with pre- and post-identification steps that provide reliable operation. There is a choice of several control algorithms suitable for different processes that may be used for control and whose parameters are automatically tuned from the model. The controller monitors the resulting control performance and may react to detected irregularities. The controller is suitable for implementation on hardware platforms such as programmable logic or open controllers.
The self-tuning non-linear controller is based on a multi-faceted model comprising a set of first- order discrete-time linear local models with.time delay and offset and second-order discrete-time linear local models with time delay and offset which are placed at different positions of a scheduling variable _., that can be as a whole interpreted as the said Takagi-Sugeno fuzzy model.
^ The self-tuning non-linear controller consists of a Signal Preprocessing Agent, an Online Learning Agent, a Model Information Agent, a Control Algorithm Agent, a Control Performance Monitor, and an Operation Supervisor, where
• the Signal Preprocessing Agent prepares the process signals for real-time control and stores them to a buffer fori batch- wise post-processing,
• the Control Algorithm Agent performs non-linear control based on the multi-faceted model in real time and automatically retunes the controller from the multi-faceted model,
'• the Online Learning Agent periodically inspects the buffer of recent real-time signals and extracts new model information when appropriate,
• the Model Information Agent maintains the active multi-faceted model,
• the Control Performance Monitor periodically inspects the buffer of recent real-time signals and extracts features of closed-loop performance of detected events, that may be used to trigger modification of Operation Supervisor configuration,
• the Operation Supervisor coordinates controller operation. DISCLOSURE OF THE INVENTION
The invention will be described with reference to the accompanying drawings, illustrating:
Fig. 1 : Self-tuning non-linear controller overview
Fig. 2: Fuzzy membership functions of local models in the Multi-Faceted Model
Fig. 3 : Online learning procedure
Fig. 4: Fuzzy Gain-Scheduling Controller Control Algorithm Agent overview
Fig. 5: Dead-Time Compensation Controller Control Algorithm Agent overview
Fig. 6: Rule-Based Neural Controller Control Algorithm Agent overview
Fig. 7: Control Performance Monitor
Fig. 8: Fuzzy logic membership functions for Performance Index calculation in CPM
Fig. 9: Fuzzy logic rule table for Performance Index calculation in CPM
Fig. 10: The sample neutralisation process
Fig. 11 : pH control performance comparison between FGSC and linear PI controller
1. Overview
The proposed controller is built in the form of a multi-agent system where several independent agents (modules) interact with each other. The system includes the following agents, as shown in Fig. 1:
• Signal Preprocessing Agent (SPA) (1),
• Online Learning Agent (OLA) (2),
• Model Information Agent (MIA) (3),
• Control Algorithm Agent (CAA) (4),
• Control Performance Monitor (CPM) (5),
• Operation Supervisor (OS) (6).
2. Multi-faceted Model
The model-based controller is founded on a multi-faceted model (MFM) (7) that includes several model forms required by the online-learning mechanism and control algorithm agents. Specifically, it includes, a set of first- and second-order discrete-time linear local models with time delay and offset, which are placed at different positions of a' scheduling variable s. The model equation for second order models is y(k) - -al Jy(k - 1) - a2 jy(k - 2) + bX u(k - 1 - duj ) +
+ b2 ju(k - 2 - duj ) + cX jv(k -l - dvj) + c2 jv(k - 2 - dVj) rj and for first order models simplified to y(k) = -al y(k - 1) + bX Ju(k - 1 - duj ) x cX v(k - 1 - dVj ) + ry- where
£ is the discrete time index, - J is the number of the local model, y(k) is the process output signal (controlled variable, CN), u(k) is the process input signal (manipulated variable, MN), v(k) is the (optional) measured disturbance signal (MD), du is the delay in the MV-CV path, dv is the delay in the MD-CN path, ah bh Ct and r are parameters of local models. The MFM can be interpreted as a Takagi-Sugeno fuzzy model, for the second order written as m m m y k) = -∑ jal y(k - 1) - ∑ ja2Jy(k - 2) X ∑ βjb^-u -l - dUj) x
7=1 7=1 7=1 x
Figure imgf000007_0001
where βj - β s) is the degree of fulfilment of they-th membership function (it is a function of the scheduling variable s). Normalised triangular membership functions are used as illustrated in m
Fig. 2, so that j = 1 at any value of s.
.7=1
The scheduling variable is calculated in each time instant as follows s(k) = krr(k) + kyy(k) X kuu(k) X kvv(k) where the coefficients kr, ky, A:„,and kv are predefined constants.
3. Online Learning Agent
OLA (2) analyses the buffer of recent real-time signals (8), prepared by SPA, and generates new local models (9) when conditions are appropriate. It is invoked periodically or upon demand by OS. Since it js..a computationally intensive task, it-runs as a low-priority- task in a multitasking operating system.
The following procedure is carried out whenever OLA is invoked, as illustrated in Fig. 3: Excitation check (10), Copying of the current MFM from MIA (11), Selection of local models (12), Identification of selected local models (13), Verification/validation of selected local models (14). Submission of modified local models to MIA (15).
Excitation check: if the variance of the signals r(k), y(k), u(k), and v(k) in the active buffer is below their specified thresholds, the execution is cancelled (16).
Selection of local models: the local models for which the sum of their corresponding membership functions βj(s) over the active buffer normalised by the active buffer length exceeds 0.2 are selected. Further processing does not include other local models.
Identification of local models: the parameters of the selected local models are identified using the Fuzzy Instrumental Variables (FIV) identification method, an extension of linear instrumental variables identification procedure (Ljung 1987) for the specified MFM. The identification is performed for each local model (and its corresponding fuzzy set, denoted by the index j) separately (17). The most general form of the procedure where all parameters of a second-order model are estimated is described below.
Firstly, the vector of the estimates of the plant parameters θy = ty\ , a2 , bi , b2J, cX , c2 ,rj] is initialised (18) from the active MFM in MIA, and the covariance matrix P7 is initialised to' 105 • I (identity matrix).
Then, an approximation of P, and θ . is obtained using weighted least-squares (LS) identification (19) in the recursive form (to avoid matrix inversion) with a dead-zone preventing result degradation by noise: for k= (buffer _start ra& (duj, dvj) +2) to buffer _end ψy (A + l) = [-βyjrø, -βy fc-1). j k-duj), Pju(k-l-duj), jv(k-dvj), jv(k-l-ώ/j), β; if abs ψjy(k + 1) - ψ. (k + l)θy- (k)J > noise Jhreshold
- Qj (k 1) = θy (*) XTj (k + l)ψy. (fc + jy(k'+ 1) - ψ/ (k X l)θ (k))
P , (*)ψ , (k x l)ψ / (k x 1)P , (k)
¥i(kxϊ) = Ε,(k)- i '- - - — -^ ÷-
1 J l + ψ/(λ + l)P /r)ψ (A: + l) endif endfor where ψ τ is the vector of measurements.
Finally, improved estimates of P, and θy are calculated using weighted instrumental variables
(IV) identification method (20) for k = (buffer jstart + max(-t«„ dvy) +2) to buffer_end ψJ(k+l) = [-pjy(k),-flJy(k-l),PJu(k-duJ),1i^
y(kxl) = ∑ψJ τ(kxϊ) J(k) =1 χ, (/+1) = [-β £), -β, *-l), β7"(*-^^ if abs ψj y (k 1) - ψy T (k X l)θy (k) J > noise Jhreshold θ_/(A: + l) = β t)
Figure imgf000009_0001
Figure imgf000009_0002
endif endfor where χ (k+V) T is the vector of instrumental variables and y(k) is the simulated output.
For identification of first order models a very similar procedure is used where the following vectors are modified:
Figure imgf000009_0003
Ψ,(* + l) = [-β,X*), β,«(*-ώι,). β,v(A-rfv,), β r
Figure imgf000009_0004
In case of lack of excitation in the model branch from v (MD) to y (CN), or when MD is not present at all, variants of the method with the following vectors are used for second order models θ,= [αlj3 2jy,b ,b2s7,r.]
Ψ,(*+l) =
Figure imgf000009_0005
j λ-1), β,tt(*-Λ-.), ik-l-duj), βj
%j(k+i) =
Figure imgf000009_0006
βj and for first order models, respectively, Θ,= 7 , \7, ] ψ, (/t + l) = [-β, y(/c), ^]U(k-du3 β r
Figure imgf000010_0001
In case of lack of excitation in the model branch from u (MN) to y (CV), variants of the method with the following vectors are used for second order models θ, = [ > c2j7 ,r. ] ψ,(/t + l) = [^(k-dVj), jV(k-l-dVj), β,f χ,(fc + l) = [^(k-dVj , β,v(*-_-rfvy), β f and for first order models, respectively,
ψ, (/t+l) = [β,v(/c--t'v . ), β ]r
Figure imgf000010_0002
Verification/validation of local models:
This step is performed by comparing the output of a selected local model, denoted by the index j, with actual process output in the proximity of the local model position, specified by the corresponding membership functions β , and calculating the normalised sum of mean square errors (MSE) vaf. When performed on the same data that was used for parameter identification it is called verification, while with model parameters obtained on another data set it is referred to as validation.
The local model is described as θy = [Ω_,y. a 2,j > bι , b2,7 > cι,7 ' c2,j >r jY> i*1 case °^ a ^ιrst~ order model or when measured disturbance v is not present, the coefficients a2j, b j, c2j are set to 0. The following procedure is used: sim_start = m& (duj X dvj) + model_order; ym_dd = y(sim_start — 2); ym_d = y(sim_start — 1 ); vaf = 0; sumbetOj = 0; for k = buffe jstart X sim_start to buffer _end calculate membership function β, = β, ( s(k) ) sumbeta} = sumbetaj + β,; ym = [-ym_d —ym_dd u(k-du—l) u(k-duj-2) z(k~dvj-l) z(k-dVj—2) l]r - θ ,- ; ym_dd=ym_d; ym_d~ym; vaf = vaf X (y(k) -yr f * βy; end vaf — vaf I (sumbetaj X 10~10);
For each of the selected local models, this step is carried out with three sets of model parameters θ ■ : the initial model from MIA (21), the model estimate of the LS method (22) and the model estimate of the IV method (23). The model with the lowest vaf of the three is sent to MIA (15) as the result of online learning, along with its vaf that serves as a confidence index (cij) and a flag chgj indicating whether the model is new or not.
4. Model Information Agent (MIA)
MIA maintains the active MFM (model-in-use) and its status information.
MIA accepts online learning results from OLA. If the model confidence index is below the specified threshold, the automatic mode may be disabled. When a new local model is received, it is accepted if it passes the stability test (and possibly other tests) and its confidence index is sufficient. If the local model is accepted, its agj flag is set, which means that it is ready for controller tuning by the CAA's tuning layer and not used yet. Each local model also has a cj flag indicating whethei the local model had been tuned since start-up or not.
MIA contains a mechanism for inserting additional local models.
MIA may also store the model-in-use to a local database (24) or recall a previously stored one from there.
At initial configuration, MIA is filled with local model that are not accurate but provide a reliable (although sluggish) performance of the controller, similar to the Safe mode. With online learning through experiments or even normal operation (when the conditions are appropriate), an accurate model of the plant is built by receiving identified local models from OLA.
5. Control Algorithm Agent
The CAA (4) includes functionality of an advanced non-linear control algorithm and automatic tuning of its parameters from the MFM. Several CAAs with different operating principle and properties may be used in the controller and may be interchanged in the initial configuration phase.
The CAA supports several modes of operation:
• Manual mode: open-loop operation • Safe mode: a fixed linear controller, tuned conservatively
• Auto mode (or several auto modes with different tuning parameters): non-linear controller The CAAs share a common interface of interaction with other agents of the controller and a common modular internal structure, consisting of three layers:
• The control layer (25) includes the functionality of a local linear controller (or several local linear controllers at once), including all functionality required for industrial controllers, such as anti-windup protection, reasonable switching between open-loop and closed-loop operation, etc.
• The scheduling layer (26) performs switching or scheduling (blending) of tuned local linear controllers, so that in conjunction with the control layer a fixed-parameter non-linear controller is realised.
• The tuning layer (27) performs automatic tuning of controller parameters from the MFM whenever new models are generated (indicated by the ag flags) and auto-tuning is enabled. When tuning is completed, the ag flags are cleared and the tuned flags are set. The tuning layer maintains the controller parameters, that are derived from the MFM in general but CAA-specific, and the controller parameters also include a copy of the MFM from which they were tuned. It replaces the parameters of the control and scheduling layer in such manner that their real-time operation is not disturbed.
Fuzzy Gain-scheduling Controller (FGSC) CAA
An overview of FGSC is shown in Fig. 4.
The control layer of FGSC (28) consists of a single PID controller in the velocity form (in order to use velocity-based linearisation when blending local controllers), equipped with anti-windup protection, and is defined by the following procedure carried, out in each discrete time step k:
% INPUTS:
% Tsamp - sampling time of the PI control algorithm
% r(k) - reference signal
% y(k) - process output signal
% limit miax, μmin, _duup, _dudown - actuator limitation s
% controller _mode - The controller mode -
% ujnanual - controller output for the manual mode
% Kp, Ti, Td- Current PID controller parameters
% beta - 0: disturbance rejection, 1: reference following) . % KTd - The filter time constant ratio, KTd = Td/ TJ)
% OUTPUTS:
% u(k) - controller output
% INTERNAL SIGNALS (previous values stored for the next sample):
% uP_\, uD_2, uD_l, ucu_ , r_l, uu_l, u_l
% Re-calculation of all filter and gain parameters if2ϊ~=0
Kpi - Tsamp I Ti; else
Kpi = ; endif
Kpd= Td/ Tsamp; Tf=Td/KTd; Kf= 1 - exp( -Tsamp I Tf); % Calculation of anti-windup parameters if(Z>etα=l)
Tmp = 1 + Kpi X Kpd; else
Tmp = Kpi; endif
Tmpl = 1 / (Tmp X le-10); Daw = Tmpl I (Kp * KfX le-10); if (beta== 1)
Kaw 1 = Kpi* Tmpl ,' Kf;
Kaw2 = 1 - Kf- Kpd * Tmpl; else
Kawl^llKfi
Kaw2 = \-Kf; endif
% Calculation of PID terms e(k) = r(k)-y(k); uP = Kp*e(k); ul= Kpi * Kp* e(k); uD = Kp* Kpd * (e(k) X (beta-l) * r(k));
% Calculate unlimited unfiltered controller output uu(k) ucu - ucu_l uI uD- 2*uD_l + uD_2 uP- uP_l + Kawl * (u_\ - uu_l)
-Kp* (l-beta) * (r(k) - rj ; uu(k) - Kf* ucu X Kaw2 * (u_l - uu_l) + (1 - Kf) * uu_\; % Calculate the new value of u(k) (limited controller output)
Figure imgf000014_0001
u(k) — ujnanual; else % Automatic control u(k) = uu(k); endif
% Controller output limitation u(k) = max(min(-.(/t), limit _umax), limitμmin); duout = u(k) -u_l; if duout> Tsamp * limit _duup u(k) = u_l X Tsamp * limit_duup; elseif duout < —Tsamp * limit _dudown u(k) = u_\ — Tsamp* limit_dudown; endif
% Update internal signals for next sample uP_i-uP; uD_2 — uD_l; ύD_\—uD; ucu_l—ucu; r_l=r(k); u_l = u(k); uu_\-uu(k);
The scheduling layer of FGSC (29) is implemented as fuzzy blending of the controller parameters (in case of Ti, its inverse value) according to the scheduling variable s and the triangular membership functions β, (30) of the local models in the MFM. The following procedure is used:
% INPUTS:
% CPM -controller parameters matrix CPM =[CPι CP2... CP„,]
% where m is the number of local controllers, sorted by scheduling variable
% . . CP/.are local.Pφ controller parameters, CPj=[Kpj Tij Tdj_ Sjf .
% s - the current scheduling variable
% OUTPUTS:
% CP = [ Kp Ti Td s ]τ- scheduled controller parameters at the current scheduling variable s % Find two neighbouring controllers
_
Figure imgf000015_0001
while (s > sjήgher) & (j <= m)
J =j + if/ <= m sj igher — sf, endif endwhile
% Determine scheduled parameters if/ = 1 % s is lower than ^
elseif == m X 1 % 5 is higher than sm
CP = CPffl; else % s is between Si and sm , actual fuzzy scheduling tmp = (s - 5/_ι) / (,-) - 5;_ι) ;
^ = κPj-ι + tmp * (Kpj - Kp );
Td = Tdj-ι X tmp * (Tdj - Td ); if(2ϊ = 0) | (7 ^ = 0) Ti = 0; % PI controller else 7Ϊ = l/( l/ri _ι + tmp* (\ITij- VIϊ )); endif endif
The tuning layer of FGSC (31) is based on the magnitude optimum (MO) criterion implemented using the multiple integration (MI) method (Vrancic & al. 2001). Discrete-time process parameters that are extracted from the MFM are converted it into continuous-time parameters. Then the so-called areas are calculated which are used for the calculation of the controller parameters, first the PI and then PID controller parameters. The following procedure is used for tuning of a single local PI controller from its corresponding local model (32): . .
% INPUT PARAMETERS: % Tsamp - sampling time % beta - 1: reference following, 0: disturbance rejection (boolean)
% KTd - The ratio between Td and Tf
% Kid - The ratio between Ti and Td in the serial PID structure
% mαx - maximum allowed open-loop gain (controller gain * steady-state process gain)
% LM,- = [ay, ay, by, by, duj, Sj ]- local model parameters, delay and scheduling variable
% position, extracted from the MFM (second order models: 2y = by = 0)
% OUTPUT PARAMETERS:
% CPy - controller parameters, CPy = [ Kpj Ti, Td} sf
% Flag_PI_gain - The PI gain was modified from Kmax; boolean
% Transformation from discrete to continuous model by using bilinear transformation
Kpr = (by X b2J) I (1 + ay X a2J); e = - by * Tsamp I ( by X by); b2c = 0.25 * (Z>2y - by) * Tsamp21 ( bυ X by); — (1 - ) * Tsamp / (1 + a X a2j); a2c = 0.25 * (1 + ay - ay) * Tsamp21 (I ay X ay);
Td— duj * Tsamp;
% Calculation of areas from continuous model for magnitude optimum calculation
A0 = Kpr;
Al = Kpr *( alc - blc Td);
A2 = Kpr *( b2c - a2c- Td* blc 0.5*Td2) XAl* alc;
A3 = Kpr*(Td* b^ - O^Tf* bXc + 0.166666* TcT) XA2* alc -Al* a2c;
A4 = Kpr*(Td2* b2c *0.5 - 0.166666*7tf3* blc + 0.04166666*7. ) + A3* alc -A2* a2c;
A = K r*(TS* b2c *0.166666 - 0.04166666*7tf** blc X 0.008333333 *Td5) XA4* alc
-A3* a2c; % Calculation of PI parameters for magnitude optimum Flag_PI_gain = 0; Tmpl =Al*A2 -A3*A0;
Figure imgf000016_0001
Tmp3 = A02*A3 + A l3 - 2*A0*A 1 *A2; if beta === 1 % Optimum controller_gain for reference-following if (Tmpl -= 0)
Kpj = A3 * 0.5 I Tmpl; else Kpj = Kmax /A0; % Use maximum gain
Flag_PI gain = 1; endif else % Optimum controller gain for disturbance rejection
SI = Tmpl2 -A3 * Tmpl * Tmp3; if Tmp3 ~= 0
Kpj = (Tmpl - sqtt(Sl)*sga(Tmpl)) I (Tmp3*Tmpl); else Kpj = Kmax /A0; % Use maximum gain
Flag_PI_gain = 1; endif endif if (Kpj*A0 <= 0) I (abs(Kpj*A ) > Kmαx) Kpj = Kmαx I A0; % Gain correction
Flαg_PI_gαin = 1; endif
Tij = Al *Kp / (A0*Kp + 0.5 + 0.5 *Kp2*A 2*Tmp2); Tdj = Q;
Dead-time Compensation Controller (DTCC) CAA
An overview of DTCC is shown in Fig. 5.
The control layer of DTCC (37) consists of a single PID controller in the velocity form and up to 10 local predictive functional controllers (PFCs) equipped with anti-windup protection and
MN constrains restriction. The control layer is implemented by using the following procedure that is carried out at each time instant (k):
% INPUTS:
% Tsamp - sampling time of the PI control algorithm
% r(k) - reference signal
% y(k) - process output signal
% limit μmax, _μmin, _duup, _dudown - actuator limitation
% controller._mode - The controller mode
% u nanual - controller output for the manual mode
% Kp, Ti, Td - Current PID controller parameters
% Wiit i... Whtjo - weight coefficients for the local controllers' outputs % dsti ... dstio, hi...h]0 - tuning parameters for the local predictive functional controllers
% klm1...klm10, k2mι...k2m10, kldι...kld10, k2dι...k2d}o, amlm...amlmιo,
% am2niι...am2mιo, dmj...dmιo, ddj...ddιo - local model parameters
% delt - dead zone
%pfc_enable
%ff- is feed-forward enabled
% OUTPUTS:
% uct(k) - controller output
% INTERNAL SIGNALS (previous values stored for the next sample): e_l, uD_l, u_ l
% upfc =0;
% Calculation of PID controller outputs
% Calculation of control error e(k) = r(k) -y(k);
% dead zone restriction if(e(k) >== - delt& en <= delt) e(k) = 0; endif;
% Derivative block calculation uD = uDJ X Td/ (alfa*Td X Tsamp) * (e(k) - e_l) + Tsamp /(alfa*Td X Tsamp) * (e(k) - uD);
% gain block calculation uP = Kp *(uD - uDJ); % integral block calculation ul =Kp*Tsampl/Ti*uD; % output calculation , upid (k) = u_lX uD X ul; % antiwindup reset if(upid(k) >= limit μmax \ upid(k) <- limit xmin) upid(k)- u_lXuP; endif
% past values updating ej = e(k); uDJ = uD; u_l = upid(k);
% Calculation of PFC local controllers' outputs for/ =1 to numjocal nodels
% Model update routine for i — DTCC yectorJength to 2 ylm_memo,j = ylm_meπιo,.ij; y2m_memo,j =y2m_memolJ; yld_memo,j =yld_memolJ; y2d_memo,j =y2djnemolJ; end ylmjnemoij—amlmj *ylm_memθ]jXklnij *(l-amlm *vector_μ(l); y2m_memoij =am2mj *y2m_memojj+k2?nj *(l-am2m *vector μ(l); yld nemoij—amldj *yld_memoijXkldj *(l-amldj *vector_y(l);
Figure imgf000019_0001
if (controller ι_ modc >= 2)&(pfc_enable ==1) lambdaj = exp(-3*Tsamp /dstj; % Reference trajectory coefficient
Figure imgf000019_0002
difj = dmj-ddj,- keyj = 1; else difj ^ddj-dnij; key}-0; endif if == 0 ddj=0; eej-(l-lambdafh *(ylm_memo(dm+l, i)Xy2m_ιnemo(dm+l, i)); aaj=vector_rf(lXdmj+hyiambda hj*vector f(l+dm)-(l-lambda hj)*y(k); bbj=0; cCj=(lambdaJ Ahl)*(ylm_memθ]J+y2m_memojJ; fij= ; ggj=-(amlmf"hj) *ylm nemoijX(am2mfh *y2m_mempιj; hhf (klnij *(l-amlmfh)Xk2mj *(l-am2m h)); else ddj :=(l-lambdaj A hJ *(yld_memo(l+ddj, i) y2djnemo(lXddj, i)); ee= (l-lambdaJ hj *(ylm_memθdmj +_,y+ y2m_memθdmj +., ),' if key j ==1 aaj
Figure imgf000020_0001
X hj-lambdaf h * vector rf(lXdm)-(l-lambdaA hj)*y(k); bbj =(lambdaj hj)*((amldj Adif)* yldjnemoijXkldj *(l-amldj dif) *v(k)X(am2dj dif) * ' y2d_memoijXk2dj *(l-am2dj dif) *v); cCj =(lambdaj hj *(ylm_memojjX y2jn_memoιJ; ffj =-(amldj A(hj+dif)*yld_memoijXkldj *(l-amldj (h]XdifJ))*v(k)Xam2dj ( hjXdif)* y2d_memθ]jXk2d*j (l-am2dj A(hjXdif))*v(k)); ggj =-((amlmj hj)*ylm_memθ]jX(am2mj Λ hj)*y2m_memθ]J; hhj =(klmj *(l-amlmj. A h)Xk2m} *(l-am2nij A hJ); elseif key} =—0 aa} =vector_rf(ddj + hj l)-lambdaj A j*vector_rf(ddj + l)-(l-lambda hj*y(k) ; bbj =(lambda h *((amlmj Adif)* lm_memθ]jX(am2mj Adif)* y2m_memoιJ; cCj - (lambda , h) *(yldjnemoij y2d_memojJ; ffj —-(amlmj ( hjXdif)* ylm_memθ]j+am2mj A( hjXdif)* y2m_memθ]j); ggj =-((amldj A hj* yldjnemoijXkldj *(l-amldj A h)*v(k)X(am2dj h)* y2d_memθ]j X k2d3 *(l-am2dj Λ h) *v(k)); hhj =-(lambdaj A hj)*(klmj *(l-amlmj dif)Xk2mj *(l-am2mj Adif))Xklmj. *(1- amlmj ( hjXdif))Xk2mj *(l-am2mj A(hj+dif)); endif endif
% Manipulated variable computation upfclj=(aajXbbj+cCjXddj+eejXffjXggj)/hhj; % Controller dead zone if abs(vector_rf(l)-y(k))< delt upfclj = upfcjj; endif upfc = upfc X Whtj*upfcl % Blending of the local PF controllers outputs endif endfor
% Controller mode switch & final output if (controller node
Figure imgf000020_0002
uact(k) — upfc; elseif controller node >= 1 uact(k) = upid; elseif controller node == 0 uact(k) = ujnanual; endif if uact(k) > limjμmax uact(k)= limjμmax; endif if uact(k) < limjμmin uact(k) — limjμmin; endif
% Constrains checking routine if lim imax < (vector _uj X lim_duup*Tsamp) umx = limjμmax; else umx = (vector jU lim_duup*Tsamp); endif if limjμmin > (vector jμy- lim)dudown*Tsamp) umn — limjμmin; else umn=(vectorjμι— lim iudown *Tsamp); endif if uact(k) > umx uact(k) = umx; endif if uact < umn uact(k) = umn; endif
% Controller dead zone if (abs (vector f-y(k)) < delt) &(controller node ~= 0) uact(k) . = vector 'j (l); . endif
% Update of MN and disturbance vectors forj = DTCC iectorJength to 2 vector jdj = vector jUj.j; vector jVj = vector j\>j.,; endfor vector _ uχ— uact(k); vector jy,= v(k);
The scheduling layer (36) of DTCC is implemented as fuzzy blending of the PID controller parameters or local PFC controller outputs according to the scheduling variable s and the membership functions of the local models. The following algorithm is implemented:
% INPUTS:
% CPM controller parameters matrices CPM = [ CP! CP2 ... CPm ]
% where m is the number of local controllers, sorted by scheduling variable
% CPy are local PID controller parameters, CPy = [ Kpj Ti, Td, Whtv..M\Avai
% s - the current scheduling variable
% OUTPUTS:
% CP - [Kp Ti Td Wht,j...Wht10j]T - scheduled controller parameters at the current scheduling variable s
% Find two neighbouring controllers j = l; s_higher = s,; while (s > sjiigher) & (j <= m)
7 =7 + 1; if <= m sjiigher = s/, endif endwhile
% Determine scheduled parameters if/ == 1 % s is lower than S\
CP = CP,; elseif/ = m X 1 % s is higher than sm
CP = CPm; . else % s is between S\ and..s„, ., actual fuzzy scheduling tmp = (_. - sj-ι) I (sj - sj-i) ;
Kp = K j_ + tmp * (Kpj - Kpj-ι );
Td = Tdj_, + tmp * (Tdj - Td ); Ti = Tij_ιXtmp*(Ti j - Ti,.j); Whtι= Whi]j.ι+tmp*(Whtu- Whtij.,);
Wht10= Whiιoj.ι+tmp*(Wht10J- Wht10J.ι); endif
The tuning layer of DTCC (33) is based on tuning tables for parameters of the predictive controller and the PID controller and classical approaches for PID controller tuning. There are two manners of obtaining PID settings. The first one is based on formulas approximating the results of a number of simulations with various stable plant models performed in advance. The second manner comprises the approach based on the internal model scheme. PFC tuning parameters are calculated based on formulas obtained with simulations (in the way as the first
PID tuning manner). The following procedure is used for tuning of a single local PID and PFC controller (35) from th ir corresponding local model (34):
% INPUT PARAMETERS:
% Tsamp - sampling time
% LMy = [ay, ay, by, by, duj, j ]- local model parameters, delay and scheduling variable
% position, extracted from the MFM (second order models: 2y = by = 0)
% speedjactor - correction coefficient for PID controller tuning parameters
% no_del_gain - PID controller gain when no delayed model is available
% .tunejnanner -two different formulas for calculation of PID tuning parameters are provided
% model_orders - order of local models
% OUTPUT PARAMETERS:
% CPj - PID controller parameters, CPj = [Kp, Tij Td, Wht,... Whtl0]
% CP y - PFC controller parameters, CPOJ = [dstj hj klmj k2mj kldj k2dj amlnij am2mj dm, ddβ
% if (model jorders == 2) & (realjoots), i = (a,, X sqrtfa2 ij-.4*a2j))/(-2); g= a,j- i; f= (b2j-g*blj)/(i-g); h= (blj*i- b2j)/(i-g); ff- (c2j-g*clj)/(i-g); h_h= (clj*i-c2j)/(i-g);. dml= dm*Tsamp; ddl= ddXTsamp; amlm.j—-i; am2mj—-g; klmj=h/(l-amlm); k2m1=f/(l-am2m);
Figure imgf000024_0001
k2dj—f /(l-am2mj); Tlmj—-Tsamp/log(amlm); T2mj=-TsampΛog(am2mj); Kj—klmj k2mj; Tj=Tlmj+T2mj; elseif model yrders == 1 % first order model i = (a,j X sqrt ij - 4*a2j))/(-2); g= au - ϊ; f=(b2j-g*blj)/(i-g); h=(blj*i-b2j)/(i-g); fj=(c2j-g*clj)/(i-g); h_h= (clj*i-c2j)/(i-g); dmlj= drnj*Tsamp; ddlj= ddj*Tsamp; amlmj=-i;
klmj=h/(l-amlmj); k2mj=f/(l-am2mj); kldj=h_h/(l-amlmj) ; k2dj=ff/(l-am2mj);
Tlmj—-Tsamp/log(amlm);
T2mj--Tsamp/log(am2m ;
Kj=klmj k2mj;
Tj=Tlmj T2mj; endif if dmlj-—0 tunejmanner=l; endif kappa= dml/T,; if kappa <= 0.4 esp=0.9*dmlj; else esp=dmlj; endif if dmlj==0,
Kpj= speed _factor*no_ del_gain/Kj; if tune nanner =— 0
SOj l.0/(Kj*dmlj) *(0.287X0.21 *T dmljX0.385*exp(-1.57*T dml)); Slj=l/Kj*(-0.186X0.784*Tj/dmljX0.435*exp(-1.4*T/dmlj)); S2j=dmlj/Kj*(0.076x0.207*T/dmljX0.024*exp(-1.25*T/dmlJ); Tij=Sl/SOj; Tdj=S2j/Slj; else tune jnanner == 1 Tij=TjXdmlj/2; Tdj—Ti/6; endif else if tune jnanner == 0
S0j=l.0/(Kj *dmlj) *(0.287X0.21 *T/dmljX 0.385 *exp(-l.57*T/dml ); Slj=l/Kj*(-0.186X0.784*T/dmljX0.435*exp(-1.4*T/dmlj)); S2j=d7nlj/Kj*(0.076+0.207*T/dmlj+0.024*exp(-1.25*Tj/ώnlj));
Figure imgf000025_0001
Tdj=S2j/Slj;
Kpj =0.43 *speedJactor *Slj; elseif tune jnanner —=1
Kpj=0.43 *speedJactor *(TjXdml 2)/K/(espXdml/2); Tij=Tj+dml/2; Tdj=(Tj *dml/2)/(TjXdml/2); endif endif dstj=0.5*(1.2463*dmljX0.18822*Tj); hj=ceil(5*0.2231 *T/Tsamp); for i=l:10, if /==/ Whirl; else
Whtι=0; endif endfor for i=l to DTCC_vector_length ylmjnemoij=klmj*vectorjμ; y2mjnemθij=k2mj *vectorjμ; yldjnemoy=kldj*vectorjv; y2djnemθy=k2dj *vectorjy; endfor
Rule-based Neural Conti-oller (RBNC) CAA
An overview of RBNC is shown in Fig. 6.
The control layer of the RBNC (38) consists of a single PID controller in the velocity form equipped with anti-windup protection, and is specified by the following procedure that is executed at each discrete time step k:
% INPUTS:
% Ts - sampling time of the PI confrol algorithm
% r(k) - reference signal
% y(k) - process output signal
% limit jamax, umin, sleM max, min - actuator limitation
% controller jnode - The controller mode
% ujnanual - controller output for the manual mode
% Kp, Ti, Td - Current PID controller parameters
% alfa- tracking constant
% beta - jump constant
% OUTPUTS:
% u(k) - confroller output without constraints
% uout(k) - confroller output with constraints
% INTERNAL SIGNALS (previous values stored for the next sample):
% y_l, y_2, u_l, ej., eu_l, r_l % RBNC CONTROLLER ALGORITHM
% Calculation of PID terms e(k) = r(k) - y(k);
Tt = alfa*Ti; % tracking time constant cO = Kp*(lXTs/Ti); % e(k) mμltiplier cl - -Kp; % e(k-l) multiplier β = -Kp *Td/(Ts 2); % y(k) multiplier fl = -2*f0; % y(k- 1) multiplier f2 = f0; % y(k-2) multiplier jump = Kp *(beta-l); % jump factor enters only when set point changed dPIe = c0*e X cl *e_l; % dP + dl terms using process error dDy =f0*y Xfl *y_l β*y_2; % dD term using process output du = dPIe X dDy jump*(r-r_l); % total incremental control signal including jump term
%Calculate unlimited controller output deltau du (Ts/Tt) *eu_l; % basic dP+dl+dD algorithm with anti-windup u(k)= u_l + deltau; % controller output without constraints
% Calculate the new value of u(k) (limited controller output) if controller jnode == Manual u(k) = ujnanual; deltau = u(k) - u_ l; endif
% Controller output limitation if deltau >= slewjnax, % Controller slew rate limit du - slewjnax; % upper bound else if deltau <= slewjnin du = slewjnin; % lower bound else du = deltau; % in linear regime endif
% Calculate the Total Controller output with constraints uin = u_l X du; . % Total controller output ifuin >= limit jμmax % Controller output limit uout(k) = limit jimax; % upper bound else if in <= limit jμmin uou(k)t = limit μmin; % lower bound else uou(k)t = uin; end
% Update internal signals for next sample eu = uout - uin; eu_l = eu; u_l — uout; e_l — e; r_l = r; y_2 —y_l; y_l = y;
The scheduling layer of the RBNC (39) (i.e. the RBNC Supervisor) performs switching of controller parameters in accordance with linguistic rules and the values of the process output and target set-point. The kernel of the RBNC Supervisor involves two 2-4-1 artificial neural networks (ANN) (44). The neurons of all but the output neuron possess sigmoidal compression. Each ANN is trained using a set of 11 coded linguistic rules. The object of the zone verification block (43) is to establish the indices of the current and target operating zones. An operating zone is defined as a region about each point where a local process model has been identified. The boundaries of each zone are taken as the mid-points between contiguous points at which a local process model has been identified. These two indices form the inputs to the ANNs in the RBNC Supervisor. The RBNC Supervisor decides which candidate controller to use while the process output is in transition from one operating point to another. % INPUTS:
% Ts - sampling time of the PI control algorithm % controller jnode - The controller mode % y(k) — process output signal % sp — target set point
% ZLM- is a matrix of zone limits ZLM- [ZL,, ZL2, ...ZL„J for each operating zone % where ZL; contains values that are pertinent to each operating zone
% CPM- controller parameters matrix CPM= [CP, CP2 ... CPm] % where m is the number of local controllers, sorted by scheduling variable
% CPy are local PID controller parameters, CPy = [Kpj Tij Tdj SjJT
% s - the current scheduling variable
% LMj = [ay, a2j, by, by, duj, s,J- local model parameters, delay and scheduling variable position, .extracted from the- MFM _ (second order models: ay ==-ό2y-= 0)
% model jDrder - model order of the MFMs % OUTPUTS: % zone - zone index uniquely specifying the current operating zone and corresponding optimum ' % controller parameters
% RBNC NEURAL RULE-BASED SUPERVISOR ALGORITHM Step 1: determine zone index of y Step 2: determine zone index of sp
Step 3: determine whether to use increscent or decrescent switching logic that guarantees asymptotic stability between contiguous operating Zones. The procedure makes use of the Jury stability test. The increscent switching logic has the following steps:
1) if the target set-point is in the same Zone as the current operating Zone then do not alter the Controller parameters
2) if the target set-point is in a Zone higher than the present operating Zone then increment the Zone index successively (and apply the corresponding Controller parameters) until the target Zone is reached.
3) if the target set-point is in a Zone lower than the present operating Zone then starting from the current Zone parameters decrement the Zone index successively (and apply the corresponding Controller parameters) until the target Zone is reached. while the decrescent switching logic has the following steps:
1) if the target set-point is in the same Zone as the current operating Zone then do not alter the Confroller parameters
2) if the target set-point is in a Zone higher than the present operating Zone then starting from the current Zone parameters, increment the Zone index successively (and apply the corresponding Controller parameters) until the target Zone is reached.
3) if the target set-point is in a Zone lower than the present operating Zone then, decrement the Zone index successively (and apply the corresponding Controller parameters) until the target Zone is reached.
The tuning layer of the RBNC (40) uses a stochastic procedure, and. in particular Simulated
Annealing based on. the Metropolis Algorithm with an embedded Jury stability test (45), to compute the globally, optimum parameters of the PID controller corresponding -to each operating zone.
% INPUTS:
% Ts - sampling time of the PI control algorithm % controller jnode - The controller mode
% LMj = [ay, ay, by, b2j, duJt SjJ- local model parameters, delay and scheduling variable
% position, extracted from the MFM (second order models: a2j = b2 = 0)
% OUTPUTS:
% CP* = [Kp Ti Td s ]τ - optimum controller parameters at the current scheduling variable s
% beta - - jump constant
% RBNC TUNING ALGORITHM
Step 1: determine the time to reach 63% of final value of step response
Step 2: using the Persson and Astrom technique compute estimate of the parameters of the sub-optimum PID or PI controller Step 3: test stability of the closed system with the corresponding LMj using the Jury test Step 4: use the Simulated Annealing search algorithm with embedded Jury test to compute the globally optimum controller parameters
6. Control Performance. Monitor (CPM)
CPM analyses the buffer of recent real-time signals, prepared by SPA, and estimates features of closed-loop control response when conditions are appropriate. It is invoked periodically. Since it is a computationally intensive task, it runs as a low-priority task in a multitasking operating system. It consists of three submodules: the Buffer Founder (BF), the Situation. Classifier (SC)
(57), and the Performance Estimator (PE) (58).
When CPM is invoked, BF forms new dynamic buffers from the current buffers according to the process conditions so that only the correct data are sent to SC. SC scans- the buffer for the last recognisable event,; such as a step change of the reference, a step change of the measured disturbance, an unmeasured disturbance, a steady state, or oscillation. If such an event is detected, the corresponding section of the buffer . is . sent to PE, otherwise the execution is terminated.
For the detected events, PE may extract the following features: overshoot, settling time, rise time, oscillation, tracking error, regulation error.
The following procedure is carried out whenever CPM is invoked, as illustrated in Fig. 7:
Copy of real data buffer (47)
Steady State check (48)
Data Filtration (49)
Reference and Measured Disturbance analysis (50)
Oscillation check (51) Noise/Signal Estimation (52)
Transient process settlement check (53)
Steady State check (54)
Features Estimation (55)
Performance Index calculation (55)
Send Results to Operator Supervisor and Human Machine Interface (56)
Copy of real data buffer:
This module calls functions, which copy a part of the real-time data buffer for background processing. The so-formed arrays r, y, u, and v are the main CPM input parameters.
Steady state check:
By using peak-to-peak and linear fit criteria, this module checks whether all signals r, y, u, and v in the active buffer have reached steady state (SS). If so, there is nothing to evaluate and the processing is terminated; if not, the algorithm continues with the main part of CPM.,
Filtration:
This module performs filtering of the input y and v buffers (if requested). Three filtering methods may be used: moving average, exponential, or fourth differences.
Reference and Measured Disturbance analysis:
The main task of this module is checking the input r and v buffers for a change. If a step-wise change of either signal is recognized, the CPM continues, with oscillation checking routine. If there is an unrecognised event, the CPM sends "UNRECOGNIZED EVENT" message to the operator panel and terminates any further computations.
Oscillation Check:
This module checks the CV buffer for oscillation by comparing the deqay ratio to its. threshold. The main task of this checking routine is to detect oscillation as .soon as possible. This procedure is intended for avoiding accidents or undesired CV behaviour. If oscillation is detected, the_CPM terminates and sends a flag to the Operation Supervisor for switching to the safe mode.
Noise/Signal Estimation: The main task of this module is calculating the Noise/Signal ratio of the controlled variable. An estimate of the noise variance is calculated on the base of a segment of the CV buffer before the registered change. The requested minimum data can be specified. The amplitude of the signal is calculated as an absolute value of the difference between the past and the new steady state value of MD (if there is a MD change) or as the absolute value of the reference change (if there is a SP change). The calculated ratio is compared to a configured threshold.
Figure imgf000032_0001
If the threshold is not exceeded, the CPM processing of the buffer continues, otherwise it is terminated.
Transient process settlement check:
Check if the transient process has settled to a new steady state. If not, the processing is terminated.
Steady State check:
Check if the process was in steady state before the recognized event. If not, the processing is terminated.
Send Results to Operator Supervisor and Human Machine Interface (HMI):
This module comprises functions that send messages to HMI; and the flag to that indicates a request for switching to the safe mode to the Operation Supervisor.
Features Estimation:
This procedure computes the transient process features like overshoot, settling time, rise time, oscillation, tracking error, and regulation error when the conditions are appropriate.
appropriat _conditions = -oscillation ietected AND noisejsigiτal < noise_signal hreshold
AND fransient jprocessjinish AND steady tatejbej co exchange; if (reference _ orjneasured_disturbance :hange AND appropriat _ conditions)
Calculate overshoot, settling time, rise time, oscillation, tracking error, and regulation error;
Performance Index calculation; endif Performance Index calculation
Based on the computed process features (overshoot (59), settling time (60), decay (61) ) a generalized criterion for the quality of the transient process is computed by using fuzzy rules in Fig. 8. This criterion is called Performance Index (PI) (62). For each process feature a set of linguistic variables is introduced — poor, good, and excellent. A rule table based on expert knowledge is created (Fig. 9) which maps the PI values and all combinations of feature values. PI has five linguistic variables - poor, satisfactory, good, very good, excellent, corresponding to the following values; 0.0, 0.25, 0.5, 0.75, 1.0. From the received value of PI using the defuzzyfϊcation procedure the transient response quality is evaluated. PI lower than 0.25 triggers a request for switching to the Safe mode, while PI between 0.25 and 0.5 results in a sending warning message to the HMI.
BEST MODES FOR CARRYING OUT THE INVENTION
The run-time module (RTM) of the proposed controller, including all described agents, is intended for implementation on a capable programmable logic controller (PLC) or an embedded controller. One of the test platforms consists of a Mitsubishi A1S series PLC with an INEA IDR SPAC20 coprocessor, based on the TMS320C32 digital signal processor of Texas Instruments, running at a clock frequency of 40 MHz and with 2MB of RAM. The initial configuration of the RTM is performed using a Configuration Tool (CT), running on a personal computer, that is used for transferring the RTM parameters to the PLC and includes a "wizard" that guides the engineer through the configuration of initial parameters.
The operation of the controller is illustrated with an application for pH control of a simulated neutralisation process in Fig. 10, described in detail in (Henson & Seborg 1994, Kavsek- Biasizzo & al. 1997, Gerksic & al. 2000). An acid stream (63), a buffer stream (64) and a base stream (65) are mixed in a tank. The acid and base streams are equipped with flow control valves. The pH of the mixture is measured with a sensor located downstream (66). The effluent pH is the controlled variable y, and the manipulated variable u is the flow of the base stream Q3. The static characteristic of the process is highly non-linear and its open-loop gain changes by the factor 8, so it is very difficult for control with a conventional PID controller. The non-linear model simulated on a personal computer using Matlab/Simulink of The MathWorks, Inc., was used in the role of the real process, while the controller on the PLC was using a model obtained by online learning. The operating range between pH values 6 and 8 was covered with five local models placed, at positions 6, 7, 7.15, 7.4, and 8, with respect to the known ti ration curve. s(k) = 0.3 y(k) + 0.7 r(k) was used as the scheduling variable. Each local model was trained with online learning through an open-loop experiment consisting of three step-changes of u of small amplitude about the operating point, and the local controllers were tuned automatically from the local models. In the upper part of Fig. 11, the process output (67) follows the reference signal (68) reasonably well under FGSC control, while the performance of a fixed PI confroller in the lower part (69, 70) is much worse. The PI controller, which is also used as the Safe mode, is tuned for stable performance in the high-gain operating area around pH 8, however its operation in the low-gain region below pH 7 is sluggish.
REFERENCES:
Astrδm, K. J., Wittenmark, B., 1995, Adaptive control. Addison- Wesley Publishing Company,
Inc., Reading, Massachusetts. Bequette, B.W., 1991, Non-linear Confrol of Chemical Processes: A Review. Ind. Eng. Chem.
Res, Vol. 30, pp. 1391-1413. Gerksic, S, Juricic, D, Strmcnik, S, Matko, D, 2000, Wiener model based non-linear predictive control. International Journal of Systems Science, Vol. 31, No. 2, pp. 189-202. Henson, M. A, Seborg, D. E, 1994, Adaptive. non-linear control of a pH neutralisation process:
IEEE Transactions on Control Systems Technology, Vol. 2, pp. 169-182. Henson, M. A, Seborg, D. E, 1997, Non-linear Process Control. Prentice-Hall PTR, Upper
Saddle River, NJ. , Kavsek-Biasizzo, K, Skrjanc, I, Matko, D, 1997, Fuzzy predictive control of highly non-linear pH process. Computers & Chemical Engineering, Vol. 21, pp. S613-S618. Ljung, L, 1987, System Identification. Prentice Hall, Englewood Cliffs, NJ. Murray-Smith, R., Johansen, T. A, 1997, Multiple Model Approaches to Modelling and
Control. Taylor & Francis, London. Qin, S. J, Badgwell, T. J, 1998, An Overview of Non-linear Model Predictive Control
Applications. Proc. Non-linear Model Predictive Control Workshop Ancona '98, Ancona,
Birkhauser Verlag AG, Basel (2000). Sjδberg, J, Zhang, Q, Ljung, L., Benveniste, A, .Deylon, B, Glorennec, P.-Y, Hjalmarsson,
H, Juditsky, A.; 1995, Non-linear Black-Box Modeling in System Identification: a
Unified Overview. Automatica 31(12), pp..1691.-1724. Vrancic, D, Strmcnik, S, Juricic, D, 2001, A magnitude optimum multiple integration tuning method for filtered PID controller. Automatica, vol. 37, pp. 1473-1479.

Claims

1. A self-tuning non-linear controller that is based on a multi-faceted model comprising a set of first-order discrete-time linear local models with time delay and offset and second-order discrete-time linear local models with time delay and offset which are placed at different positions of a scheduling variable s, that can be as a whole interpreted as the Takagi-Sugeno fuzzy model.
2. The self-tuning non-linear controller of Claim 1 including an online learning procedure for the said Takagi-Sugeno fuzzy model that processes a batch of recent process signals and comprises the said steps of excitation check, selection of local models, identification of selected local models, and verification/validation of selected local models.
3. The self-tuning non-linear controller of Claim 1 using a model identification procedure for the said Takagi-Sugeno fuzzy model based on the linear instrumental variables identification procedure where each of sufficiently excited local models passes the said procedure of the said initialisation of the vector of parameters θy and the covariance matrix Py, the further approximation of Py and θ using weighted least-squares identification with a dead-zone, and obtaining the final estimate of them through weighted instrumental-variables identification, or several iterations of instrumental-variables identification.
4. The self-tuning non- linear controller using a model identification procedure of Claim 4 with the said reduced vectors of model parameters when excitation from either the manipulated variable u or the measured disturbance v is not present, and/or a lower, order model is used.
5. The self-tuning non-linear controller of Claim 1 including an interchangeable Control Algorithm Agent that is organised in the said three-layer structure, where ,
• the control layer alone includes the functionality of an industrial controller and, may act as a linear controller individually,
• the scheduling layer performs switching . or scheduling (blending) of tuned local linear controllers, so that in conjunction with the control layer a fixed-parameter non-linear confroller is realised, • the tuning layer performs automatic tuning of controller parameters from the multi-faceted model whenever new local models are generated and automatic tuning is enabled.
6. The self-tuning non-linear controller of Claim 1, comprising a control algorithm that uses fuzzy parameter-scheduling of a PID controller in which
• the PID controller is implemented in the velocity form with anti-windup protection, that enables blending of the local controllers in the manner of velocity-based linearisation based control design
• the scheduling layer schedules the values of the continuous-time PID controller parameters Kp and Td and the inverse value of Ti, so that actually the poles and zeros of the controller's continuous-time transfer function are being scheduled.
7. The self-tuning non-linear controller of Claim 1 comprising a control algorithm that uses a Rule-Based Neural Supervisor that enforces the optimum parameters of a PID controller in which
• the PID controller is implemented in the velocity form with anti-windup protection, permitting selection of the optimum local controller candidate for every, operating zone for which a process model has been identified.
• the Rule-Based Neural Supervisor determines the optimum values of the continuous-time PID controller parameters Kp and Td and the inverse value of Ti and enforces them in a step-wise manner, ensuring that the PID controller always yields optimum control performance about the operating points for which process models have been identified, while guaranteeing absolute stability of the controlled process When it is in transition between adjacent zones.
8. The self-tuning non-linear controller of Claim 1 comprising a control algorithm that uses a non-linear Predictive Functional Controller, which is characterized by blending of the outputs of a finite number of basic time invariant predictive functional confrollers, working in parallel, where the changeable weights of the basic controllers depend on the state of the plant in the resident plant models space.
9. The self-tuning non-linear controller of Claim 1 comprising a confrol performance monitoring agent, characterised by • periodically performing batch-wise analysis of the buffer of recent real-time signals with the purpose of extracting features of recognised events when possible
• the structure consisting of the Buffer Founder, the Situation Classifier, and the Performance Estimator submodules
• the buffer processing procedure comprising the steps of steady state check, data filtration, reference and measured disturbance analysis, oscillation check, noise/signal estimation, transient process settlement check, steady state check, features estimation, and performance index calculation.
10. A self-tuning non-linear controller consisting of a Signal Preprocessing Agent, an Online Learning Agent, a Model Information Agent, a Confrol Algorithm Agent, a Control Performance Monitor, and an Operation Supervisor, where
• the Signal Preprocessing Agent prepares the said process signals r, u, y, v and s for real-time confrol and stores them to a buffer for batch-wise post-processing,
• the Confrol Algorithm Agent performs non-linear confrol based on the said multi-faceted model in real time and automatically retunes the controller from the multi-faceted model,
• the Online Learning Agent periodically inspects the buffer of recent real-time signals and extracts new model information when appropriate,
• the Model Information Agent maintains the active multi-faceted model,
• the Control Performance Monitor periodically inspects the buffer of recent real-time signals and extracts features of closed-loop performance of detected events, that may be used to trigger modification of Operation Supervisor configuration,
• the Operation Supervisor coordinates confroller operation.
PCT/SI2002/000029 2002-12-27 2002-12-27 Self-tuning controller for non-linear processes described by set of local linear models WO2004059400A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2002368521A AU2002368521A1 (en) 2002-12-27 2002-12-27 Self-tuning controller for non-linear processes described by set of local linear models
PCT/SI2002/000029 WO2004059400A1 (en) 2002-12-27 2002-12-27 Self-tuning controller for non-linear processes described by set of local linear models

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SI2002/000029 WO2004059400A1 (en) 2002-12-27 2002-12-27 Self-tuning controller for non-linear processes described by set of local linear models

Publications (1)

Publication Number Publication Date
WO2004059400A1 true WO2004059400A1 (en) 2004-07-15

Family

ID=32679806

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SI2002/000029 WO2004059400A1 (en) 2002-12-27 2002-12-27 Self-tuning controller for non-linear processes described by set of local linear models

Country Status (2)

Country Link
AU (1) AU2002368521A1 (en)
WO (1) WO2004059400A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004035097A1 (en) * 2004-07-20 2006-02-09 Endress + Hauser Gmbh + Co. Kg Electronic device and method for performing multiple processes with the electronic device
CN109188908A (en) * 2018-09-25 2019-01-11 浙江工业大学 Attract the Design Methods of Digital Controller of rule without switching based on exponential type
CN111239598A (en) * 2020-01-16 2020-06-05 温州大学乐清工业研究院 Device for carrying out online test on protection characteristic of circuit breaker
CN112947063A (en) * 2021-01-18 2021-06-11 山东科技大学 Non-fragile fuzzy proportional integral control method of attenuation channel networking system
WO2022121944A1 (en) * 2020-12-10 2022-06-16 东北大学 Method and apparatus for intelligent forecasting of industrial process operation indicators, device, and storage medium
US11689135B2 (en) 2019-06-06 2023-06-27 Abb Schweiz Ag Automatically determining control parameters for a voltage regulator of a synchronous machine
US11880175B2 (en) 2018-12-20 2024-01-23 Beckhoff Automation Gmbh Method for controlling an automation process in real time

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108107723B (en) * 2017-11-28 2020-11-06 辽宁石油化工大学 2D optimal fuzzy controller design method for nonlinear intermittent process

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0360206A2 (en) * 1988-09-21 1990-03-28 Hitachi, Ltd. Self-tuning controller apparatus and process control system
WO2001079945A1 (en) * 2000-04-06 2001-10-25 Abb Automation Inc. System and methodology for adaptive, linear model predictive control based on rigorous, nonlinear process model
US6330484B1 (en) * 1993-08-11 2001-12-11 Fisher-Rosemount Systems, Inc. Method and apparatus for fuzzy logic control with automatic tuning

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0360206A2 (en) * 1988-09-21 1990-03-28 Hitachi, Ltd. Self-tuning controller apparatus and process control system
US6330484B1 (en) * 1993-08-11 2001-12-11 Fisher-Rosemount Systems, Inc. Method and apparatus for fuzzy logic control with automatic tuning
WO2001079945A1 (en) * 2000-04-06 2001-10-25 Abb Automation Inc. System and methodology for adaptive, linear model predictive control based on rigorous, nonlinear process model

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CAO Y-Y ET AL: "ANALYSIS AND SYNTHESIS OF NONLINEAR TIME-DELAY SYSTEMS VIA FUZZY CONTROL APPROACH", IEEE TRANSACTIONS ON FUZZY SYSTEMS, IEEE INC. NEW YORK, US, vol. 8, no. 2, April 2000 (2000-04-01), pages 200 - 211, XP000947036, ISSN: 1063-6706 *
WEI.CHIANG ET AL: "A NEW APPROACH TO STABILITY ANALYSIS FOR NONLINEAR TIME-DELAY SYSTEMS", INTERNATIONAL JOURNAL OF FUZZY SYSTEMS, vol. 4, no. 2, June 2002 (2002-06-01), pages 735 - 738, XP008021833 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004035097A1 (en) * 2004-07-20 2006-02-09 Endress + Hauser Gmbh + Co. Kg Electronic device and method for performing multiple processes with the electronic device
US8938741B2 (en) 2004-07-20 2015-01-20 Endress + Hauser Gmbh + Co. Kg Electronic device and method for performing multiple processes with the electronic device
CN109188908A (en) * 2018-09-25 2019-01-11 浙江工业大学 Attract the Design Methods of Digital Controller of rule without switching based on exponential type
CN109188908B (en) * 2018-09-25 2021-02-26 浙江工业大学 Digital controller design method based on exponential type non-switching attraction law
US11880175B2 (en) 2018-12-20 2024-01-23 Beckhoff Automation Gmbh Method for controlling an automation process in real time
US11689135B2 (en) 2019-06-06 2023-06-27 Abb Schweiz Ag Automatically determining control parameters for a voltage regulator of a synchronous machine
CN111239598A (en) * 2020-01-16 2020-06-05 温州大学乐清工业研究院 Device for carrying out online test on protection characteristic of circuit breaker
CN111239598B (en) * 2020-01-16 2022-07-29 温州大学乐清工业研究院 Device for carrying out online test on protection characteristic of circuit breaker
WO2022121944A1 (en) * 2020-12-10 2022-06-16 东北大学 Method and apparatus for intelligent forecasting of industrial process operation indicators, device, and storage medium
CN112947063A (en) * 2021-01-18 2021-06-11 山东科技大学 Non-fragile fuzzy proportional integral control method of attenuation channel networking system

Also Published As

Publication number Publication date
AU2002368521A1 (en) 2004-07-22
AU2002368521A8 (en) 2004-07-22

Similar Documents

Publication Publication Date Title
Sala et al. Perspectives of fuzzy systems and control
Holkar et al. An overview of model predictive control
Tucker et al. Algorithmic statistical process control: An elaboration
Yi et al. Event-triggered globalized dual heuristic programming and its application to networked control systems
WO2004059400A1 (en) Self-tuning controller for non-linear processes described by set of local linear models
HENSON et al. Adaptive input–output linearization of a pH neutralization process
Kannan et al. Two-degree of freedom PID controller in time delay system using hybrid controller model
Shehu et al. Applications of MPC and PI controls for liquid level control in coupled-tank systems
Zhang et al. Adaptive fuzzy control for a class of MIMO nonlinear systems with unknown dead-zones
Doherty Control of pH in chemical processes using artificial neural networks
Baffi et al. Non-linear model based predictive control through dynamic non-linear partial least squares
Zhao et al. Localized adaptive bounds for approximation-based backstepping
Yordanova et al. Design of supervisor-based adaptive process fuzzy logic control
Venkateswarlu et al. Dynamic fuzzy model based predictive controller for a biochemical reactor
Årzén et al. Fuzzy control versus conventional control
Deng et al. Nonlinear model predictive control based on improved growing and merging neural network
Yang et al. Multi-step greedy reinforcement learning based on model predictive control
Irwin Artificial intelligence approaches to model-based control
Poongodi et al. Implementation of Temperature Process Control using Soft Computing Techniques
Govindhasamy et al. Reinforcement learning for process identification, control and optimisation
Gerksic et al. ASPECT: industrial self-tuning nonlinear controller on a PLC
Peymani et al. An experimental comparison of adaptive controllers on a pH neutralization pilot plant
Sha et al. On-line adaptive learning rate BP algorithm for MLP and application to an identification problem
Sbarbaro et al. Adaptive predictive controllers based on orthonormal series representation
Araújo et al. Adaptive repetitive control design and filtered positional GPC controller for periodic disturbance rejection

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP