CA1163372A - Adaptive-predictive control system - Google Patents
Adaptive-predictive control systemInfo
- Publication number
- CA1163372A CA1163372A CA000374710A CA374710A CA1163372A CA 1163372 A CA1163372 A CA 1163372A CA 000374710 A CA000374710 A CA 000374710A CA 374710 A CA374710 A CA 374710A CA 1163372 A CA1163372 A CA 1163372A
- Authority
- CA
- Canada
- Prior art keywords
- vector
- control
- output
- value
- trajectory
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired
Links
Landscapes
- Feedback Control In General (AREA)
Abstract
ADAPTIVE-PREDICTIVE CONTROL SYSTEM
ABSTRACT OF THE DISCLOSURE
An adaptive-predictive control system for control-ling single-input, single output or multivariable time-variant processes with known or unknown parameters and with or without time delay, is disclosed. The adaptive-predictive control system of the present invention uses an adaptive-predictive model to determine what control vector should be applied to the process being controlled to cause the process output to be at some desired value at a future time instant.
The parameters of the adaptive-predictive model are updated on a real time basis in a manner which will cause the output vector predicted by the model to approach the actual process output vector.
ABSTRACT OF THE DISCLOSURE
An adaptive-predictive control system for control-ling single-input, single output or multivariable time-variant processes with known or unknown parameters and with or without time delay, is disclosed. The adaptive-predictive control system of the present invention uses an adaptive-predictive model to determine what control vector should be applied to the process being controlled to cause the process output to be at some desired value at a future time instant.
The parameters of the adaptive-predictive model are updated on a real time basis in a manner which will cause the output vector predicted by the model to approach the actual process output vector.
Description
3 3 ~ ~
ADAPTIVE-PREDICTIVE CONTROL SYSTEM
BACKGROUND OF' THE INVENTION
The invention is related to an adaptive control system for single-input single-output or multivariable time-variant processes with known or unknown parameters and with or without time delays. Such control systems are useful in many diverse fields such as aeronauticsJ electronicsy chemi-cal engineeringy etc. Examples of processes in which the adaptive-predictive control system has been applied are single-input single-output control of an aircraft where the .~7 pitch angle is controlled by elevator pOSitiO~I, and the mul-tivariable control of a distillation column where -top and bottom compositions are controlled by reflux and steam flow rates.
It is known that the control performance of a sys-tem with a control sys-tem based on constant parameters deter-iorates when the dynamic parameters of the process vary in an unforeseen vay which is not capable of direct or indirect measurement. In recent years, control techniques have been developed to try to solve this problem, the most noteworthy of which have been based on the model reference adaptive sys-tems theory, which basically opera-tes in one of the following ways: (1) performs a real time adaptive estimation of the parameters and state variables of the process, from which an adaptive regulator computes the control to be applied to the process, or (2) computes the control to be applied to the process through an adaptive control scheme in order to make the process output follow a model reference outpu-t~ In gen-eral, in both of the above cases, the control structure re-quires the design of a corrector and the difficulties encoun-tered in the computation of the parameters of this corrector as the order of the process increases, severely restricts t~e field of applications of these techniques.
The above considered techniques, as well as most of the adaptive or non-adaptive control techniques used so far in industry, are based in the traditional feedback method-ology. According to this traditlonal methodology the control to be applied to the process is computed from the dif~erence between a reference signal, which represents a desired value o-f the process output, and the process output. The present invention is able to overcome the above pointed out difficul-ties of known control techniques, acting in a way different from the traditional feedback methodology, anA that is brLeily described in the iollowing.
I
53~7,1~, BRIEF DESCRIPTION OF THE INVENTION
... .. _ .. .
The present invention uses a digital computer (e.g., mini or micro computer) to accomplish the adap-tive control o~ single-input, single-output or multivariable time-varian-t processes wi-th known or unknown parameters and with or without time delays, in such a way that the dynamic output vector of the process is preclicted, using an adaptive~predictive model, and the control vector, -to be applied to the process, is computed wi-th the objective that the predicted dynamic output vector becomes equal to the desired dynamic output vector and with the ~urther objective that the desired dynamic output vec-tor and -the control vector optimize a chosen performance criterion in which a future reference trajectory is considered. This is done a-t every sampling or control instant by a number of simple and speci~ic operations.
The adaptive-predictive model can be updated at each sampling instant from the comparison of an estimated value of either an output vector, a control vector or a dis-turbance vector of the system being controlled, which vector is obtained with the use of -the adaptive-predictive model, and the actual value of the corresponding output, control or disturbance vector. In the following description, the manner ~5 in ~hieh the adaptive-predictive model may be updated by com-paring the estimated and actual value of the process output vector will be described ~irst. Thereafter, the manner in which the model may be updated by comparing the estimated and actual values of a control or disturbance veetor will also be described, ~.,, , i 63372 BRIE~ DESCRIPTION OF' T~E DRAWINGS
-Fox the purpose o~ illustrating the inventlon, there are shown in the drawings several embodiments which are presently preferred; it being understood, however, that this invention is no-t limited to the precise arrallgements and instrumentalities shown.
Figure l shows the general and concep-tual structure of the adaptive-predictive control system.
Figure 2 shows a distillation column on which the adaptive-predictive control system was implemented to carry out a multivariable control of the top and bottom composi-; tions as outp~lts with reflux and steam flow rates as inputs.
Figure 3 shows results of one such e~periment on the adaptive-predictive control of a distillation column.
Figure 4 shows a second embodirnen-t of the adaptive-predictive control system o-f the present invention.
Figure 5 shows results of an experiment on the adaptive-predictive control of a single-input single-output process with an unstable inverse.
D~T~ILED DESCRIPTION OF THE INVENTION
_ . _ Referring now to-the drawings, wherein like numer-als indicate like elements, there is shown in Figure l a block diagram which provides a pictorial representation o~
both the apparatus carrying out the process being controlled and the control system which controls the operation of the ~apparatlls. It should be recognized, however, that various elements of this diagram do not necessarily represent physi_ cally separate entities but rather indicate the different functions ~hich are carried out by a single digital computer~
Of course, since different elements of the computer combine to carry out the different functions of the process, each 3~ element in ~igure l may properly be considered a separate means for carrying out the specified function.
At any sampling instant k, two modes of operation of the control system are possible; an iden-tificatioll rnode and a control mode. Which mode is employed is de-termined by either a human or an automatic operator 2. In either case, the modes are as is shown in Figure l:
1. dentification mode: In the identification mode, the control vector u(k) is directly applied from the operator to both the apparatus 10 carrying out the process being controlled and the identification blocl~ 4 as shown by path l. The identification block 4 uses an adaptive-predictive model stored in computation block 5 to compute a vector d(k), which vector can be an estimation of either an incremental process output vector y(~), an incremental con-trol vector u(k) or an incremental measurable disturbance vector w(k). In a manner described below, the adaptive-predictive model may be updated in adaptive feedback mechan-is~ 6 from the comparison of said vector d(k) and the actual value of the corresponding incremental output, control or disturbance vector, that the vector d(k) estimates. ~igure 1 shows the case in which the vector d(k) estimates an in-crernental output vec-tor y(k) and is compared thereto.
; 2. Control mode: In this mode, the parameters of the adaptive-predictive model are updated as explained abo~e.
However, as shown by pàth 7, the control vector u(k) to be applied to the apparatus 10 carrying out the process being controlled is computed by the control block 8. This computa-tion of u(k) requires a previous selection in driver block 9 of a desired trajectory of the process output vector between sampling instants k-tr+1 and k-tr~1+ ~ , wherein ~ represents tlle present sampling instant~ r represents a number of sam-pling instants in the future corresponding to the number of sampling time delays observed in the process or convenien-tly considered for control purposes (i.e. the number of sampling instants it takes for the process to respond to a change in the control vector minus 1) and ~ represents a positive in-teger or equal to zero. According to this nomenclature, i ~ ~33~
k+r+l represents r+1 sampling instants in the future while k+r~ represents r~ sampling instants in -the future.
Assuming that each sampling instant is, for example, two minutes apart, ~nd that r=3 and ~=1, then the nomencla-ture k+r+1 represents that sampling instant which occurs eight minutes after the present sampling instant while the nomen-clature k+r~ represents that sampling insta~t which oc-curs ten minutes in the future.
The desired process output trajectory is selected e~ual to that specific process output trajectory be-tween sampling instants k~r+1 and k+r+1+~, that the updated adap-tive-predictive model used in identification block ~ pre-dicts would be caused by a specific future control vector sequence between sampling instant k and k+~, and such that the specific process output trajectory and the specific future control sequence optimize a chosen performance cri-terion in which a future reference trajectory is consi-dered. Some examples of the chosen performance criterion and its optimization are set forth in detail in the de-scription o~ operation (f) below. This chosen perform-ance criterion is usually characterized by an index, and the optimization of the chosen perEormance criterion is obtained by minimizing the value of the index, which value can vary as a function of said future reference trajectory, the setpoint v(k) set by the operator 2, the measured and predicted process output and input sequences, the control constraints and any other parameters or variables t~lat may influence the control performance. Then, the computation of the contr~l vector u(k) in control block 8, set forth in some detail in the description of the operation (g) be-low, obtains the value of u(k) which the adaptive-predic-tive model predicts will cause the process output to be equal to the value dp(k+r+1) of the desired process output .'3 7 2 trajectory at sampling instant ktr+1, and therefore -the value of u(k) corresponds to the value a-t instant k of the future control sequence tha-t optimizes the chosen performance cri-terion.
To properly control the process being carried out by apparatus lO, the adaptive-predictive control system uses incremental values of the output, input and measurable dis-turbance vectors of the process. Additlonally, the con-trol vector can be conveniently limit checked. The specific oper-ations that the control system will carry out at every sam-pling instant k during the control mode are described as fol-l ows: .
a) Measurement by sensor 12, and, if it is con-sidered convenient, filtering of the output variables of the process carried out by apparatus lO to obtain the process output vector yp(k)~ the dimension of which is considered to be n.
The above considered filtering can be carried out by means of the well known filtering techniques presen-tly available and/or through an appropriate weighted means be-tween the measured values of said output variables and values of the output variables estimated using the adaptive-predic-tive model. The adaptive-predictive model, and the way in ~hich it is used for estimation, is considered in operation (c) below.
b) Computation of the incremental process output vector y(k~ tin computer block 13) by:
y(k) = yp(k) -yp(k-y) (1) where y is an integer that can be conveniently chosen. Each incremental process output vector y(k) is the difference be-tween the value of the process output vector in the present sampling instant and the value of the process O~ltput vector in ~ pre1etermined prlor samplinl instant. ~ repre~ents the j~;3~
number of sampling periods between the present sampling in-stant and the predetermined pr,ior sampling instant.
c) Computation (in identification block 4) o~ the est;ma-ted incremental process output vector d(k) by the adaptive-predictive model, which can be defined by:
d(X) = ~ A~ l) y(k-i-r~ Bi(k-l) u(k~i-r~
i=l i=l g Ci(k-l) wtk-i-r2) (2) i=l where the vectors u(k~i-r) and w~k~ r2) are obtained by:
u(k-i-r) = up(k-i-r) -up(k-i-r-y) (3) w(k-i-r2) = wp(k-i-r2) -wp(k-i-r2-~) , (4) where up(k-i-r) and wp(k-i-r2) are the control and the mea-surable disturbance vectors, respectively, of dimensions n and m, at the sampling instants k-i-r and k-i~r2, respec--tively. In equation (2), the integers h, f and g can be con-veniently chosen, and likewise the integers rl and r2 can also be conveniently chosen, taking into account the avail-able or forecasted measurements of the output and disturbancevectors, respectively. The matrices ~i(k-l), Bi(k-l) and Ci(k~l) o~ the adaptive-predictive model have appropriate dimensions and their values correspond to a past value be~ore being updated at the instant k. If the dimension of the con-trol vector is bigger than the dimension of the output vectorthen, in most of the cases, supplementary conditions should be added to obtain a unique control solution, or simply some of the control vector components can'be included in the dis-turbance vector; as a particular case it will be considered 9 :1 633'~2 that nl=n. It must be understood that the measurable distur-bance vector wp(k-i-r2)) or the incremental measurable dis-turbance vector w(k-i-r~), can be composed not only by vari-ables which are usually considered as measurable distur-bances, but by any kind o:E variable or func-tions of measur-able variables that influence the process outpu-t vector at instant k. For instance, it can be considered tha-t some of the components wpi(k)(j=l~g) of the vector wp(k) can be defined by:
wpj(k) = ~pmtk) vpl(k) where ~pm(k) and vpl(k) are respectively the m and 1 com-ponents of two measurable vectors ~p(k) and vp(k). As a particular case these two vec-tors could be chosen:
.
~p(k) = up(k) (6) 'vp(k) = yp(k) ' (7) Analogous equalities to (5), (6) and (7) can be assumed, as another particular case, for the incxements. w(k), u(k) and y(k), of the previously considered vectors wp(k), up(k) and yp(k). The above example shows that the adaptive-predictive model presented under the form of equation (2) can be the re-~ult o~ a practical transformation from a more general class of non-linear models. Therefore, the adaptive-predictive control system can be applied being the adaptive-predictive model under the form of equation (2) but taken as starting point a non-linear model of the previously considered ~ore general class or any other kind of model able to be trans-0 formed in a model of the form presented in equation (2).d) Computation of the incremental estimation error vector by: . .
e(k) = y(k) -d(k) (8) .
.. . .. .. . .. .... .. . .
~ ~ 63372 e) Computation (in adaptive feedback ~echanisrn 6) of the updated values at instant k of the parame-ters aijqt~), bijq(k) and cijq(k)J that are the elements in the jth row and qth column of the matrices Ai~k), Bi(k) and Ci~k), respec-tively, by means of the following adaptive law:
ijq(k) = ~aiiq(k) ~j(k) ej(k) yq(k-i-rl) + aijq(k-1) (9) bijq(k) = ~bijqSk) ~j(k) ej(k) uq(k-i--r) + bijq(k-1) (10) cijq(k) = ~cijq(k) aj(k) ej(k) Wq(k~i~r2) + cijq(k-l) ~11) where ej(k), yq(k-i-r1), uq(k-i-r) and wq(k-i-r2) are the corresponding components of the vec-tors e(k), y(k-i-rl), -lS u(k-i-r) and w(k-i-r2), respectively- ~aijq(k)~ ~bijq(k) and (k) and j(k) are time-variant coefficients or functions that can be easily chosen among the wide range of possibili-ties that the well known gradient parameter, or least squares identification techniques permit. One possible choice of : 20 these coefficients or functions can be the following:
h n j(k) l/ [l+ ~ ~ ~aijq(k) YCI (k-i-rl)2 i=l q=l (12) f n g m + ~ ~ ~bijq(k) Uq(k-i_r~2 ~ cijq(k) Wq(k-i-r2)2]
i=l q=l i=l q=l Baijq(k) = ~aijqp I aijq(k~ (13) ~bijq(k) = ~bijqp ¦ bijq(k~1);¦ (14) BCiJq(k) = ~cijqp I ciiq(~ (15) ~J 3 ~ 2 where ¦ aiJq(k~~ bijq(k-1) ¦ and ¦ cijq(k~1) ¦ are the absolute values of the corresponding parameter values aijq(k-l), bij~(k-1) and cijq~k-~); and ~aijqp, ~bijqp and ~cijqp are coe~ficients that can be conveniently chosen, Por example, taking into account the e~pected variations of the previously mentioned corresponding pa-rameters during the adaptive-predictive control system operations and the noises acti~g on the system.
f) Through a particular desi~n of the driver block 9, when ~=0, the desired process output vector dp(k~r+1) and the desired increment process output vector d1(k-~r+1) can be computed as follows:
1. Computation of the desired process output vector dp(k+r+l) of dimension (nxl) which can be done in var-ious ways, such as using a model reference with desired dy-namics or using any other design which will take into account the desired dynamics and also the previously measured or forecasted process outputs. An example of this last type of design can be defined by the following equation:
t s dp(k+r+l) = ~ Fi yp(k+r+l-rl-i) + ~ Hi v(k+l-i) (16) : i=l i=l where yp (k+r+l-rl-i) and v(k+l-i) are the process output vector and the driver block input vector at the sampling in-stant k+r+l-rl-i and k+l-i, respectively. v(k~l-i) is a vec-tor of dimension n, that is generated directly by the opera-tor; and the matrices Fi(i=l,t) and H~ l,s)l as well as the integers t and s, can be chosen freely, to take into account the desired d~Tnamics (i.e. to define the desired dynamics).
An illustration of this choice is given in the E~perimental Example 1 below.
ADAPTIVE-PREDICTIVE CONTROL SYSTEM
BACKGROUND OF' THE INVENTION
The invention is related to an adaptive control system for single-input single-output or multivariable time-variant processes with known or unknown parameters and with or without time delays. Such control systems are useful in many diverse fields such as aeronauticsJ electronicsy chemi-cal engineeringy etc. Examples of processes in which the adaptive-predictive control system has been applied are single-input single-output control of an aircraft where the .~7 pitch angle is controlled by elevator pOSitiO~I, and the mul-tivariable control of a distillation column where -top and bottom compositions are controlled by reflux and steam flow rates.
It is known that the control performance of a sys-tem with a control sys-tem based on constant parameters deter-iorates when the dynamic parameters of the process vary in an unforeseen vay which is not capable of direct or indirect measurement. In recent years, control techniques have been developed to try to solve this problem, the most noteworthy of which have been based on the model reference adaptive sys-tems theory, which basically opera-tes in one of the following ways: (1) performs a real time adaptive estimation of the parameters and state variables of the process, from which an adaptive regulator computes the control to be applied to the process, or (2) computes the control to be applied to the process through an adaptive control scheme in order to make the process output follow a model reference outpu-t~ In gen-eral, in both of the above cases, the control structure re-quires the design of a corrector and the difficulties encoun-tered in the computation of the parameters of this corrector as the order of the process increases, severely restricts t~e field of applications of these techniques.
The above considered techniques, as well as most of the adaptive or non-adaptive control techniques used so far in industry, are based in the traditional feedback method-ology. According to this traditlonal methodology the control to be applied to the process is computed from the dif~erence between a reference signal, which represents a desired value o-f the process output, and the process output. The present invention is able to overcome the above pointed out difficul-ties of known control techniques, acting in a way different from the traditional feedback methodology, anA that is brLeily described in the iollowing.
I
53~7,1~, BRIEF DESCRIPTION OF THE INVENTION
... .. _ .. .
The present invention uses a digital computer (e.g., mini or micro computer) to accomplish the adap-tive control o~ single-input, single-output or multivariable time-varian-t processes wi-th known or unknown parameters and with or without time delays, in such a way that the dynamic output vector of the process is preclicted, using an adaptive~predictive model, and the control vector, -to be applied to the process, is computed wi-th the objective that the predicted dynamic output vector becomes equal to the desired dynamic output vector and with the ~urther objective that the desired dynamic output vec-tor and -the control vector optimize a chosen performance criterion in which a future reference trajectory is considered. This is done a-t every sampling or control instant by a number of simple and speci~ic operations.
The adaptive-predictive model can be updated at each sampling instant from the comparison of an estimated value of either an output vector, a control vector or a dis-turbance vector of the system being controlled, which vector is obtained with the use of -the adaptive-predictive model, and the actual value of the corresponding output, control or disturbance vector. In the following description, the manner ~5 in ~hieh the adaptive-predictive model may be updated by com-paring the estimated and actual value of the process output vector will be described ~irst. Thereafter, the manner in which the model may be updated by comparing the estimated and actual values of a control or disturbance veetor will also be described, ~.,, , i 63372 BRIE~ DESCRIPTION OF' T~E DRAWINGS
-Fox the purpose o~ illustrating the inventlon, there are shown in the drawings several embodiments which are presently preferred; it being understood, however, that this invention is no-t limited to the precise arrallgements and instrumentalities shown.
Figure l shows the general and concep-tual structure of the adaptive-predictive control system.
Figure 2 shows a distillation column on which the adaptive-predictive control system was implemented to carry out a multivariable control of the top and bottom composi-; tions as outp~lts with reflux and steam flow rates as inputs.
Figure 3 shows results of one such e~periment on the adaptive-predictive control of a distillation column.
Figure 4 shows a second embodirnen-t of the adaptive-predictive control system o-f the present invention.
Figure 5 shows results of an experiment on the adaptive-predictive control of a single-input single-output process with an unstable inverse.
D~T~ILED DESCRIPTION OF THE INVENTION
_ . _ Referring now to-the drawings, wherein like numer-als indicate like elements, there is shown in Figure l a block diagram which provides a pictorial representation o~
both the apparatus carrying out the process being controlled and the control system which controls the operation of the ~apparatlls. It should be recognized, however, that various elements of this diagram do not necessarily represent physi_ cally separate entities but rather indicate the different functions ~hich are carried out by a single digital computer~
Of course, since different elements of the computer combine to carry out the different functions of the process, each 3~ element in ~igure l may properly be considered a separate means for carrying out the specified function.
At any sampling instant k, two modes of operation of the control system are possible; an iden-tificatioll rnode and a control mode. Which mode is employed is de-termined by either a human or an automatic operator 2. In either case, the modes are as is shown in Figure l:
1. dentification mode: In the identification mode, the control vector u(k) is directly applied from the operator to both the apparatus 10 carrying out the process being controlled and the identification blocl~ 4 as shown by path l. The identification block 4 uses an adaptive-predictive model stored in computation block 5 to compute a vector d(k), which vector can be an estimation of either an incremental process output vector y(~), an incremental con-trol vector u(k) or an incremental measurable disturbance vector w(k). In a manner described below, the adaptive-predictive model may be updated in adaptive feedback mechan-is~ 6 from the comparison of said vector d(k) and the actual value of the corresponding incremental output, control or disturbance vector, that the vector d(k) estimates. ~igure 1 shows the case in which the vector d(k) estimates an in-crernental output vec-tor y(k) and is compared thereto.
; 2. Control mode: In this mode, the parameters of the adaptive-predictive model are updated as explained abo~e.
However, as shown by pàth 7, the control vector u(k) to be applied to the apparatus 10 carrying out the process being controlled is computed by the control block 8. This computa-tion of u(k) requires a previous selection in driver block 9 of a desired trajectory of the process output vector between sampling instants k-tr+1 and k-tr~1+ ~ , wherein ~ represents tlle present sampling instant~ r represents a number of sam-pling instants in the future corresponding to the number of sampling time delays observed in the process or convenien-tly considered for control purposes (i.e. the number of sampling instants it takes for the process to respond to a change in the control vector minus 1) and ~ represents a positive in-teger or equal to zero. According to this nomenclature, i ~ ~33~
k+r+l represents r+1 sampling instants in the future while k+r~ represents r~ sampling instants in -the future.
Assuming that each sampling instant is, for example, two minutes apart, ~nd that r=3 and ~=1, then the nomencla-ture k+r+1 represents that sampling instant which occurs eight minutes after the present sampling instant while the nomen-clature k+r~ represents that sampling insta~t which oc-curs ten minutes in the future.
The desired process output trajectory is selected e~ual to that specific process output trajectory be-tween sampling instants k~r+1 and k+r+1+~, that the updated adap-tive-predictive model used in identification block ~ pre-dicts would be caused by a specific future control vector sequence between sampling instant k and k+~, and such that the specific process output trajectory and the specific future control sequence optimize a chosen performance cri-terion in which a future reference trajectory is consi-dered. Some examples of the chosen performance criterion and its optimization are set forth in detail in the de-scription o~ operation (f) below. This chosen perform-ance criterion is usually characterized by an index, and the optimization of the chosen perEormance criterion is obtained by minimizing the value of the index, which value can vary as a function of said future reference trajectory, the setpoint v(k) set by the operator 2, the measured and predicted process output and input sequences, the control constraints and any other parameters or variables t~lat may influence the control performance. Then, the computation of the contr~l vector u(k) in control block 8, set forth in some detail in the description of the operation (g) be-low, obtains the value of u(k) which the adaptive-predic-tive model predicts will cause the process output to be equal to the value dp(k+r+1) of the desired process output .'3 7 2 trajectory at sampling instant ktr+1, and therefore -the value of u(k) corresponds to the value a-t instant k of the future control sequence tha-t optimizes the chosen performance cri-terion.
To properly control the process being carried out by apparatus lO, the adaptive-predictive control system uses incremental values of the output, input and measurable dis-turbance vectors of the process. Additlonally, the con-trol vector can be conveniently limit checked. The specific oper-ations that the control system will carry out at every sam-pling instant k during the control mode are described as fol-l ows: .
a) Measurement by sensor 12, and, if it is con-sidered convenient, filtering of the output variables of the process carried out by apparatus lO to obtain the process output vector yp(k)~ the dimension of which is considered to be n.
The above considered filtering can be carried out by means of the well known filtering techniques presen-tly available and/or through an appropriate weighted means be-tween the measured values of said output variables and values of the output variables estimated using the adaptive-predic-tive model. The adaptive-predictive model, and the way in ~hich it is used for estimation, is considered in operation (c) below.
b) Computation of the incremental process output vector y(k~ tin computer block 13) by:
y(k) = yp(k) -yp(k-y) (1) where y is an integer that can be conveniently chosen. Each incremental process output vector y(k) is the difference be-tween the value of the process output vector in the present sampling instant and the value of the process O~ltput vector in ~ pre1etermined prlor samplinl instant. ~ repre~ents the j~;3~
number of sampling periods between the present sampling in-stant and the predetermined pr,ior sampling instant.
c) Computation (in identification block 4) o~ the est;ma-ted incremental process output vector d(k) by the adaptive-predictive model, which can be defined by:
d(X) = ~ A~ l) y(k-i-r~ Bi(k-l) u(k~i-r~
i=l i=l g Ci(k-l) wtk-i-r2) (2) i=l where the vectors u(k~i-r) and w~k~ r2) are obtained by:
u(k-i-r) = up(k-i-r) -up(k-i-r-y) (3) w(k-i-r2) = wp(k-i-r2) -wp(k-i-r2-~) , (4) where up(k-i-r) and wp(k-i-r2) are the control and the mea-surable disturbance vectors, respectively, of dimensions n and m, at the sampling instants k-i-r and k-i~r2, respec--tively. In equation (2), the integers h, f and g can be con-veniently chosen, and likewise the integers rl and r2 can also be conveniently chosen, taking into account the avail-able or forecasted measurements of the output and disturbancevectors, respectively. The matrices ~i(k-l), Bi(k-l) and Ci(k~l) o~ the adaptive-predictive model have appropriate dimensions and their values correspond to a past value be~ore being updated at the instant k. If the dimension of the con-trol vector is bigger than the dimension of the output vectorthen, in most of the cases, supplementary conditions should be added to obtain a unique control solution, or simply some of the control vector components can'be included in the dis-turbance vector; as a particular case it will be considered 9 :1 633'~2 that nl=n. It must be understood that the measurable distur-bance vector wp(k-i-r2)) or the incremental measurable dis-turbance vector w(k-i-r~), can be composed not only by vari-ables which are usually considered as measurable distur-bances, but by any kind o:E variable or func-tions of measur-able variables that influence the process outpu-t vector at instant k. For instance, it can be considered tha-t some of the components wpi(k)(j=l~g) of the vector wp(k) can be defined by:
wpj(k) = ~pmtk) vpl(k) where ~pm(k) and vpl(k) are respectively the m and 1 com-ponents of two measurable vectors ~p(k) and vp(k). As a particular case these two vec-tors could be chosen:
.
~p(k) = up(k) (6) 'vp(k) = yp(k) ' (7) Analogous equalities to (5), (6) and (7) can be assumed, as another particular case, for the incxements. w(k), u(k) and y(k), of the previously considered vectors wp(k), up(k) and yp(k). The above example shows that the adaptive-predictive model presented under the form of equation (2) can be the re-~ult o~ a practical transformation from a more general class of non-linear models. Therefore, the adaptive-predictive control system can be applied being the adaptive-predictive model under the form of equation (2) but taken as starting point a non-linear model of the previously considered ~ore general class or any other kind of model able to be trans-0 formed in a model of the form presented in equation (2).d) Computation of the incremental estimation error vector by: . .
e(k) = y(k) -d(k) (8) .
.. . .. .. . .. .... .. . .
~ ~ 63372 e) Computation (in adaptive feedback ~echanisrn 6) of the updated values at instant k of the parame-ters aijqt~), bijq(k) and cijq(k)J that are the elements in the jth row and qth column of the matrices Ai~k), Bi(k) and Ci~k), respec-tively, by means of the following adaptive law:
ijq(k) = ~aiiq(k) ~j(k) ej(k) yq(k-i-rl) + aijq(k-1) (9) bijq(k) = ~bijqSk) ~j(k) ej(k) uq(k-i--r) + bijq(k-1) (10) cijq(k) = ~cijq(k) aj(k) ej(k) Wq(k~i~r2) + cijq(k-l) ~11) where ej(k), yq(k-i-r1), uq(k-i-r) and wq(k-i-r2) are the corresponding components of the vec-tors e(k), y(k-i-rl), -lS u(k-i-r) and w(k-i-r2), respectively- ~aijq(k)~ ~bijq(k) and (k) and j(k) are time-variant coefficients or functions that can be easily chosen among the wide range of possibili-ties that the well known gradient parameter, or least squares identification techniques permit. One possible choice of : 20 these coefficients or functions can be the following:
h n j(k) l/ [l+ ~ ~ ~aijq(k) YCI (k-i-rl)2 i=l q=l (12) f n g m + ~ ~ ~bijq(k) Uq(k-i_r~2 ~ cijq(k) Wq(k-i-r2)2]
i=l q=l i=l q=l Baijq(k) = ~aijqp I aijq(k~ (13) ~bijq(k) = ~bijqp ¦ bijq(k~1);¦ (14) BCiJq(k) = ~cijqp I ciiq(~ (15) ~J 3 ~ 2 where ¦ aiJq(k~~ bijq(k-1) ¦ and ¦ cijq(k~1) ¦ are the absolute values of the corresponding parameter values aijq(k-l), bij~(k-1) and cijq~k-~); and ~aijqp, ~bijqp and ~cijqp are coe~ficients that can be conveniently chosen, Por example, taking into account the e~pected variations of the previously mentioned corresponding pa-rameters during the adaptive-predictive control system operations and the noises acti~g on the system.
f) Through a particular desi~n of the driver block 9, when ~=0, the desired process output vector dp(k~r+1) and the desired increment process output vector d1(k-~r+1) can be computed as follows:
1. Computation of the desired process output vector dp(k+r+l) of dimension (nxl) which can be done in var-ious ways, such as using a model reference with desired dy-namics or using any other design which will take into account the desired dynamics and also the previously measured or forecasted process outputs. An example of this last type of design can be defined by the following equation:
t s dp(k+r+l) = ~ Fi yp(k+r+l-rl-i) + ~ Hi v(k+l-i) (16) : i=l i=l where yp (k+r+l-rl-i) and v(k+l-i) are the process output vector and the driver block input vector at the sampling in-stant k+r+l-rl-i and k+l-i, respectively. v(k~l-i) is a vec-tor of dimension n, that is generated directly by the opera-tor; and the matrices Fi(i=l,t) and H~ l,s)l as well as the integers t and s, can be chosen freely, to take into account the desired d~Tnamics (i.e. to define the desired dynamics).
An illustration of this choice is given in the E~perimental Example 1 below.
2. From the value of the desired output vector of the process dp(k~r+1), the desired incremental output vec-tor dl(k+r+l) can be easily computed or defined in various ~8 `~ ~ 3 ~3~
manners; a particular one, usually convenient when y > r, .is given by the Eollowing equation:
d1(k~r+1) = dp(k~r+1) - yp(k-~r+l-~) (17) If .Eound necessary, the value oE d1(k+r+1) can be limit checked.
The ~oregoing computations o~ the desired output vector d (k+r+1) and the desired incremen-tal output vector d1(k-~r~1), can be per.Eormed by expressing the vectors yp(k+r+l-rl i), v(k+1-i) and y (k~r+1-Y) as increments with respect to a predetermined constant or time variant vector.
IE the time variant vector is chosen to be equal to the set-point vector, v(k), the solution of equation (16) can be 15 simplified.
~ more general design of the driver block 9 can be considered as follows:
At each sampling instant k, the driver block 9 selects a desired dynamic process output trajectory between sampling instants k+r+1 and k-~r+l~A, with ~ ~ 0, said de-sired trajectory being equal -to a specific process output trajectory between sampling insta:nts k+r+1 and k+r+l+y that the adaptive-predictive model predicts would be caused by a speciEic ~uture sequence of control ~ectors between sampling instants k and kt~, and such that the speci:Eic process out-put trajectory and the specific future control vector se-quence optimize a chosen per~ormance criterion in whi.ch a future reference trajectory is considered. The optimiza-tion can be obtained through the minimization oE a certain index, I, which characterizes the selected perEormance cri-terion.
By way of example, the index I may vary as a func-tion oE the difference between said iuture reference trajec-tory and a process output trajectory between instants k-~r~1 ., 6 3 3 '7 Z
and k+r+1+~ , that the adaptive-predict:ive model predicts wouLd be caused by a future cont.rol sequence between instants : k and k+~ , and also as a function of -the :Euture control se-quence: .
k~r+l+~
I = ~ [Yp' (h)~Yr(h) ] ' M(h-k! ~yp' (h)-yr(h)]
h=k+r+1 : 10 k+~ .
[up'(p)-u'p(h-~)]' N'~h-k) [u'p(h)-u'p(h-~ )] (18) h=k wherein y'p(h) and u'p(h) are the values of the predicted output trajectory and of the corresponding sequence of con-: trol vectors, respectively, M(h-k) and N(h-k) are non-negative real matrices which may be conveniently chosen and which serve as weighted coefficients for the vector multiplication, ~ is an integer that can be conven:iently chosen, and reference trajectory yr(h) can be defined by:
t s Yr( h) = ~ Fiyr(h~ Hiv(h-i -r) i=1 i=1 (18A) ~ 25 ~ h = k+1, k+r+1+~
.'~ .
where:
Yr(h) = yp(h) t18B) h = k+l-t,k . :
V (h) = V (k) N = R+1, R + ~ (18C) .'`, ' . .
, ..
.
5~ :
i337~
\
~14-and u' (h-a) = up(h-a) (18D) h = k,k+~~1 This index considers the predicted output and control vector sequences over an interval of optimization o:E ~l future sampling instants, contains weighting matrices M(h-K) and N(h-K), the value of which can be selected differently for each ~uture sampling instant o~ said interval of optimiza tion, and takes a desired dynamic behavior of the process output through the consideration of a reference -trajectory, which is redefined at every instant k as a function of the previo-usly measured process output. The desired dynamics are defined by Fi and Hi in Equation (l~A).
If this index is minimized, the dif~erence between the desired output trajectory and the re~erence trajectory which takes into account the desired dynamics will be mini-~O mized and the size of the predicted incremental control vec-tor will also be minimized. This will result in a more sta-ble control. Such stability is particularly desirable in applications where -the process behaves as a non-minimum phase system, which would require large or unbounded controls in order to cause the process output to ~ollow a reference trajectory having the desired dynamics.
In the adaptive-predictive control system of the present invention, examples of particular cases of the pre-viously considered index, giving particular values to the integer ~ and to the weighting matrices M(h-K) and N(h-K) are presented in the ~ollowing. In these particular cases, the optimiza-tion problem can be solved in a simple manner, which does not require complex computations such as those required for the solution o~ a Ricatti equation~
One o~ these particular cases is the following second index:
~, k~
manners; a particular one, usually convenient when y > r, .is given by the Eollowing equation:
d1(k~r+1) = dp(k~r+1) - yp(k-~r+l-~) (17) If .Eound necessary, the value oE d1(k+r+1) can be limit checked.
The ~oregoing computations o~ the desired output vector d (k+r+1) and the desired incremen-tal output vector d1(k-~r~1), can be per.Eormed by expressing the vectors yp(k+r+l-rl i), v(k+1-i) and y (k~r+1-Y) as increments with respect to a predetermined constant or time variant vector.
IE the time variant vector is chosen to be equal to the set-point vector, v(k), the solution of equation (16) can be 15 simplified.
~ more general design of the driver block 9 can be considered as follows:
At each sampling instant k, the driver block 9 selects a desired dynamic process output trajectory between sampling instants k+r+1 and k-~r+l~A, with ~ ~ 0, said de-sired trajectory being equal -to a specific process output trajectory between sampling insta:nts k+r+1 and k+r+l+y that the adaptive-predictive model predicts would be caused by a speciEic ~uture sequence of control ~ectors between sampling instants k and kt~, and such that the speci:Eic process out-put trajectory and the specific future control vector se-quence optimize a chosen per~ormance criterion in whi.ch a future reference trajectory is considered. The optimiza-tion can be obtained through the minimization oE a certain index, I, which characterizes the selected perEormance cri-terion.
By way of example, the index I may vary as a func-tion oE the difference between said iuture reference trajec-tory and a process output trajectory between instants k-~r~1 ., 6 3 3 '7 Z
and k+r+1+~ , that the adaptive-predict:ive model predicts wouLd be caused by a future cont.rol sequence between instants : k and k+~ , and also as a function of -the :Euture control se-quence: .
k~r+l+~
I = ~ [Yp' (h)~Yr(h) ] ' M(h-k! ~yp' (h)-yr(h)]
h=k+r+1 : 10 k+~ .
[up'(p)-u'p(h-~)]' N'~h-k) [u'p(h)-u'p(h-~ )] (18) h=k wherein y'p(h) and u'p(h) are the values of the predicted output trajectory and of the corresponding sequence of con-: trol vectors, respectively, M(h-k) and N(h-k) are non-negative real matrices which may be conveniently chosen and which serve as weighted coefficients for the vector multiplication, ~ is an integer that can be conven:iently chosen, and reference trajectory yr(h) can be defined by:
t s Yr( h) = ~ Fiyr(h~ Hiv(h-i -r) i=1 i=1 (18A) ~ 25 ~ h = k+1, k+r+1+~
.'~ .
where:
Yr(h) = yp(h) t18B) h = k+l-t,k . :
V (h) = V (k) N = R+1, R + ~ (18C) .'`, ' . .
, ..
.
5~ :
i337~
\
~14-and u' (h-a) = up(h-a) (18D) h = k,k+~~1 This index considers the predicted output and control vector sequences over an interval of optimization o:E ~l future sampling instants, contains weighting matrices M(h-K) and N(h-K), the value of which can be selected differently for each ~uture sampling instant o~ said interval of optimiza tion, and takes a desired dynamic behavior of the process output through the consideration of a reference -trajectory, which is redefined at every instant k as a function of the previo-usly measured process output. The desired dynamics are defined by Fi and Hi in Equation (l~A).
If this index is minimized, the dif~erence between the desired output trajectory and the re~erence trajectory which takes into account the desired dynamics will be mini-~O mized and the size of the predicted incremental control vec-tor will also be minimized. This will result in a more sta-ble control. Such stability is particularly desirable in applications where -the process behaves as a non-minimum phase system, which would require large or unbounded controls in order to cause the process output to ~ollow a reference trajectory having the desired dynamics.
In the adaptive-predictive control system of the present invention, examples of particular cases of the pre-viously considered index, giving particular values to the integer ~ and to the weighting matrices M(h-K) and N(h-K) are presented in the ~ollowing. In these particular cases, the optimiza-tion problem can be solved in a simple manner, which does not require complex computations such as those required for the solution o~ a Ricatti equation~
One o~ these particular cases is the following second index:
~, k~
3~,2 t s I = y p(k~r+l) - ~ Fiyp(k+rtl-r~ Tiv(k+l-i) (19) i--l i=l wherein up(k) is included in Un and u(k) is included in Uih and Un and Uni are respectively the domains of control vectors and incremental control vectors compatible with the control constraints. Note that this second index is a particular case of the first one in which A is equal to æero, N(0) is also identical to zero, the reference trajectory at k~r+l, yr(k+r+l), is defined by the right hand side of equation (16) and control constraints are taken into consideration. It can also be observed that, in the case of the absence of control constraints, the minimization oi' the index defined by (19) will lead to a driver block equivalent -to the one defined by e~uation (16). The computation of the contro].
vector u(k) which minimizes index (19) is considered in the description of operat.ion (g) below.
Ano-ther example of a particular case of the first index above considered is the followng third index:
I = [~'p(k+r+l+~) yr(k+r+l-~)]~ M(r+l-~) [y' (k+r+l-~
k+~
yr(k+r+l+~)] + ~ [u~p(h) - u'p(h-l)]' N(h-k) h=k+l [u' (h) - u'p(h-l)] (20) where ~ is a positive integer conveniently chosen and y (k+r+l-~) can be defined by an equation such as (18A).
The index defined by equation (20) will be mini-mi~ed if the future predicted control sequence from ins-tant k to instant k+~ is constant, and the value y' (k~r+l-~) of the predicted output -trajectory is equal to the value o~
the reference trajectory yr(k+r-~l+~); that is to say:
.)j i ~ 633~2 u'p(h) = u'p(h-l) h = k~l, k+~ (21) y p(k+r+l-~) - yr(k+r+l-~) (22) Consequently, the vector o~ the desired output t:ra,jectory at k+r+l+A, dp(k~r~ A), will be given by:
d (~+r+l-~) = yr(k+r+l-~) (23) This index is a particular case O:e the first considered index in which all the M(h-k) except M(r+l-~) are identical to zero, all the N(h-k) are posi-tive definite except N(0) which is identical to zero, ~ is equal to 1 and A is a positive integer.
From the value of the desired output vector o-f the process d (k+r~l+A), the desired incremental output vector dl(k+r+l~A), with A > 0, can be computed or defined in vari-ous manners, a particular one usually convenient when y r+A is given by the following equation:
dl(k~r+l+A) - dp(k+r-~l+A) - yp(k~r+l-~A-y) (24) The explicit computation of u (k), considered in operation (g) below can in this case be per~ormed from dl(k+r~l~A), taking into account conditions (2:l), which minimize the index defined by equation (20)~ In almost all cases, it is con-venient to limit check the desired increment dl(k~rtl+A), An illustrative experimental sample o~ this kind of driver block is presented below under experimental example 2.
While by way of example a first general index has been shown, which admits particular cases in which, through an appropriate choice of the weighting matrices, the opti-mization problem can be solved in a simple manner, it should be recognized that other general indices can in a similar way be developed. These other indices can be selected as a function o~ the reference trajectory, the setpoint, the measured and predicted output and input sequences, the con-trol constraints, and any other parameters or variables that may influence the control performance.
1 ~ 63372 g) The computation of the control vector in control block 8 is intimately rela-ted to ~he above considered opera-tion (f). In fact operation (f) determines at least impli-citly the value of the control vector at instant k, since the control vector corresponds to the value at instant ~5 o the predicted control sequence that minl.mizes the index defined in operation (f)~ This is equivalent to say that the con-trol vector at instant k.is -the one that makes the predicted pro-cess output at instant k-~r+l equal to the value of -the de-sired process output trajectory a-t the same future instant k+r+l. Therefore~ in general, the e~plicit computation of the control vector at instant k can he made, using the adaptive-predictive model, from the value of the desired out-: put t.rajectory at instant k+r+l, dp(k+r+l). Particularly, in the c~se in which the performance index is defined by (19), and integers y, rl and r2 are chosen such that y > r, rl ~ r .
and r2 ~ r, the considered explicit computation may be car-ried out accordin~ to the following:
1. The predicted incremental process output vector y'(k+r+l) at the sampling instant k-~r+l, is defined by:
. y'(k+r+l) = y'p(k+r+l) - yp(k+r+l-y) ~25) From the updated adaptive-predictive model (updated by the output of adaptive ~eedback mechanism 6), the predicted in-cremental process output vector y'(k+r+l) will depend upon the incremental control vecto~ u(k), and is given by the equation: -h f y'(k+r+l) = ~ Ai(k) y(k+r+l-rl-i) + ~ Bi(k) u(k~l-i) i=l i-l ' g + ~ Ci(k) W(k+r~ r2-l) (26) :
3~ i=l .
~3~3~7~
2. The value of the control vector which min-imizes the index defined by (19), can be obtained, appro~
priately lirnit checking the value o:E the control vector which minimizes index (19) in the absence of con-trol constraints.
In this last case of ahsence of control cons-traints, the . value of the desired output trajectory at instant k-~r~
dp(k+r+1), is given by equat:ion (16), -the corresponding desired increment d1(k+r+1) by equation (17), and the incre-mental control vector u(k) which makes the predicted incre-men-tal process output vector y'(k+r+1) equal to d1(k+r+1), i.e. y'p(k+r+l)=dp(k+r+l)~ is given by:
-1 -1 f u(k) = B1(k) d1(k+r+l) - B1(k) ~ Bi(k) u(k+]-i) 15 . i-2 1 h _ Bl(k) ~ Ai(k) y(k+r+l-rl-i) :
- i=l .
-1 ' g _ B1(k) ~ Ci(kj w(k+r+l-r2-i) (27) i=l In the case in which the control vector must verify condi-tions such as the ones expressed by equations (5), (6) and (7?~ these conditions will be taken into account in the com-putation of u(k) by equation (27). The value of up(k), which minimizes inde~ (19) in the absence of control constraints, can be obtained, from the value of u(k) computed by equation (27), by means of the equation:
.
up(k) - u(k) -~ _p(k-y) (28) i ~ ~33'~2 --19-- , The value of up(k) that minimizes index (19) can be finally obtained by approprla-tely limit checking the absolute and incremen-tal value of up(k) previously obtained by equation (28)o It can be noted that, in this case, the computation of up(k) does not require an explicit computation of -the value -at instant k+r+l o~ the desired output trajectory which mini-.
rnizes index (19).
In the case in which the inde~ considered in opera-tion (f) is the one defined by equation (20) ~ and integers.
y , rl and r2 are chosen such tha-t y >r+~ , rl~ r+~ and r2 ~ r+~ , the computation of u(k), and therefore the compu-.
tation of up(k), can be performed from the desired incremen-tal value dl(k-~r+l+~ ), defined by equation (24), accordin~ .
to the following:
1. The predicted incrernental process output vector y'(k+r+l) can be defined by:
. y'(k+r+l+A) = 'p(k+r+l+~) - _p(k+r+l+~-y) (29) From the updated adaptive-pxedictive model, the .
predicted incremental process output vector y'(k+r+l+~) will depend upon the incremental control vector u(k), and is given by the equation:
2.5 h y'(k+r+l~ Ai(k) y(k+r-~l+ ~ -rl-i) .
i=l , .
f . + ~ Bi(k) u(k+l+ ~ ~i) .
-~ ~ Ci(k) w(k+r+l-~-r2-i~ (30 i-l ~ ~ ~337~
Taking into account equatiorls (3) and (28), and conditions (21), equatlon (30) can be written in the form:
h y'(k+r+l+A) = ~ Ai(k) y(k+r+l+~- r i=l .. .
-~ ~ Ci(k) w(k+r+l+A- r2-i) i--1 .
: 10 .~ f' + ~ Bi(k) (U(k)+up(k-y)-up(k+l-~A-i-y)) i-f + ~ Bi(k) U(k+l+~-i) (31) i=A+2 In equation (31)when f is bigger than A, f' will be equal to A+1, and when f is less or equal to ~, f' will be I equal to f and then the last summation of the right hand side of this equa-tion will not appear.
2. The incremental control vector u(k) is computed in this case by making the predicted incremental process output vector y'(k+r-~l+A) equal to the desired incre-mental output dl(~+r+l+~), and is given by: , .~ .
~ . I
,"'" ' ' ,' , , '.
.
,, ' ' ';
.0 .
.
~ ~ 6337~
~+l -l h _(k)=( ~ Bi(k)) [dl(k-~r-~l+~ Ai(k)y(k+r-~ -rl-i) i=l i=l . .
5 g - ~ Ci(k)_(k+r+l+A-r2-i) i=l f' .
10 - ~ Bi(k)(Up(k-Y)-Up(k-~l+A-i-Y)) i=l . . .
- ~ Bi(k) u(~+l+A-i)] (32) i=A+2 The value of f' and the last surnmation in the brackets of equation (32) are as previously considered in equation (31).
In the case in which the control vector must verify conditions such as the ones expressed by equations (5), ~6) and (7), these conditions will be taken into account in -the computation of u(k) by equation (32).
The value of up(k) that minimizes (20) can be ob-tained, from the value of u(k) computed by equation (32), by means of equation ~28).
The previously considered computations o~ the con-trol vector are illustrated below under Experimental E~amples 1 and 2, respectively.
In the above two examples of minimizations of an index, it has been considered that integer ~, r1 and r2 are chosen such that Y >r+A , r1 ~ r-~A and r2 ~ r-~A , being A ~
0. This choice allows the computation of the control vector directly from a desired value of the process output and other previously measured process output, input and measurable dis-turbance vectors, using the adaptive-predictive model~ In ., ~ ' . .
.
~ 1 ~3372 general, integers ~, r1 and r2 can be chosen such that Y ~ 1, r1 ~ 0 and r2 ~ ~ However, in the case in which ~ ~r-~ or r1 < r+~ or r2 < r+~, the previously considered equa-tions (25), (26), (29), (30) and (31) are still valid considering that the values or incremental values of the process output, in-put and measurable disturbance vectors contained in -these equations and not measured yet at instant k, must be substi-tuted by their corresponding predicted or estimated values.
Therefore, in this case, the computation of the control vec-13 tor, which will make y'p(k+r+~ ) = dp(k+r+1+~ 0,must take into account, using appropriately the adaptive-predictive model, the intermediate computation of said pre-dicted or estimated values. In addition, the computation of the control vector will have to satisfy conditions such as (5), (6) and (7), if they exist. This manner of computing u(k) does not present conceptual or practical difficulties and it is used in the program example set forth below.
h) In most cases, the control vector up(k) and its increments will be conveniently Iimit checked before being applied to the process.
In its implementation, the adaptive-predictive con-trol system can use incremental input, output and disturbance vectors as described in the above operationsO An alternative method of implementing the system is to compute the incremen-tal input, output and disturbance vectors with respect to ~' .
~ J 1 B33'~2.
some constant vectors chosen convenien-tly and, consequen-tly, in the exemplary equations described above, the equations (1), (25), (29); (3), ( ), (11), (24) and (28) need to be respectively modified as follows:
y(k) = yp(k) - Ypc (33) y'(k-~r+l) -- y'p(k-~r~ Ypc (34) y'(k+r+l+~) = y~p(k+r+~ Ypc (35) u(k-i-r) = up(k-i-r~ - UpC (36) w(k-i-r2) = ~p(k-i-r2) - Wpc (37) 1~
dl(k+r+l) = dp(k~r+l~ - Ypc (38) dl(k+r+l~) = dp(k+r+l+~) - Ypc (39) 20up(k) = u(kj -~ UpC (40) Likewise, when it is considered convenient to give specific values to some of the adaptive-predictive model parameters (for instance, because of a certain knowledge of the process), these values can be given to the respective parameters, and the corresponding ~ coefficients will be set to zero. Also it is possible to stop the updating operatlons of the adaptive-predictive model parameters as long as it is considered convenient.
30~Vhen the system performs in its identification mode, it only needs to carry out the operations (a) to (e), and this identification action can be performed in real time or off-line, and even in between the sampling intervals.
It will be observed that in the operation (g), 3~ equation (27), the matrix Bl(~) must be inverted to compute .
.
:. ~
--2~-u(k). The risk of singularity of the matrix Bl(k), and in general the risk of inversion of a singular matrix in -the computation of u(k), can almost always be avoided by adding time delays to the components of the input and output process vectors, and controlling the resultant process. An illustra-tive e~perimental example of this procedure is presented - below under Experimental Example l.
In the foregoing description, the adaptive-predic-tive model is updated in accordance with equations (9)-(15).
These e~uations are a particular case of a more general adap-tive law, which law falls within the gradient parameter iden-tification technique, and which permits the matrices to be upd&ted i~ a manner which causes the estimated output vector to approach the actual output vector. Before set-ting forth this more general adaptive law (remembering that any appro-priate law falling within the gradient parameter, or least squares, identification technique can be used), it is helpful to reexpress the adaptive predictive model of equation ~2) in - a simpler form.
As set forth in equation (2), the adaptive-predic-; tive model includes matrices Ai(k-l) (i=l,h), Bi(k-l) (i=l,f), and Ci(k-l) (i=l,g) and system vectors y(k-i-rl) (i=l,h), u(k-i-r) (i=l,f), and w(k-i-r2) ~i=l,g). Alterna-tively, equation (2) and there-Fore the adaptive-predictive model may be expressed as follows: .
- d(k) = ~(k-l) x(k) (41) : ~herein ~(k-l) is a matri.x composed of the matrices of equa-tion (2) and x(k) ls a vector composed of the vectors of the right hand side of equation (2). Each row j of the ~atrix 9 (k) [~(k-l) being the value of ~ at the sampling instant . k-l] corresponds to a vector ~j(k) (j=l,n), the components ; of whic~ are the parameters aij~(k) (i=l,h; q=l,n), bijq(k) (i=l,f; q=l,n), and cijq(k) (i=l,g; q=l,m), that correspond .
' :
to the jth row of the matrices Ai(k), ~i(k) and Ci~
respectively, each such vector being de~ined as follows: .
~j(k)=[aljl(k) - - - Jaljn(k) ~a2jl(k), . ,a2jn(k), . . . ,ahjn(k~, . 5 bljl(k), ~ ,bljn(k) ,b2jl(k), ~ . . ,b2jn(k) ~ ,afjn(k), Clil(k)~ ~cljm(k~c2il(k)~ c2jm(k)~ cgpm(k)J
(42) The vector x(k), the components of which, yq(k-i-r1) (q=l,n; i=l,h), uq(k-i-r) (q=l,n; i=l,f) and wq(k~i-~2) (q=l,m; i=l,g) are the corresponding components of the vectors y(k-i-rl), u(k-i-r) and w(k-i-r2), respectively, - .15 is defined by:
x(k)=[yl(k-l-rl),....~n(k-l-rl),Yl(k-2-rl),....yn~k-2-rl)....Jyn(k-h--rl)~
: ' ul(k-l-r),.. ,un(k-l--r),ul(k-2-r),.O.,un(k-2-r),.. ,un(k-f-r), .
Wl(k-l-r2),,Wm(k-l-r2).~Vl(k-2-r2),,Wm(k-2-r2),.'..,wm(k-g-r2)]' . (43) `~ Using the above notations, the more general adap-2~ tive law may be expressed as follows: .
aj(k) = Dj(k) ~j(k)2a'j(k) ej(k)x(k) ~ ~j(k-l) (j=l,n) (44) ~vherein Dj(k) are diagonal matrices~ the di~gonal terms of which are the coefficientS ~aijq(k), ~bijq(k) and ~cijq(k) previously considered in equations (9)-(l5), ~j(k) are real ~ains, which can be conveniently chosen at each;instant k, and 'j(k) can be defined by:
11 :I B3372 a'j(k) = l/[l+~j(k)2 x(k)' Dj(k)x(k)] (j=l,n) (45) .9 particulax choice of the gains ~j(k) can be the fol:lowing:
~j(k) = ~ ~iei(k) ~ (46) i=l where i and ~i (i=l, ~) are real numbers and ~ is an integer -that can be conveniently chosen.
If ~j(k) (j=l,n) are chosen equal to l, equations (g4), (45) are equivalent to equations (9)-(15) The adaptive law can be expressed even more gener-- ally if the vector ~j(k) (j=1,n) is considered -to include an inte~ral term ~jI(k) (j=l,n) and a pxoportional term ~jp(k) (j=l,n). In such a case, the adaptive law may be expressed as follows:
~j(k) = 9jI(k) + 9jp(k) (j=l,n~ (47) .; 20 wherein: -(k) = Dj(k) ~j(k)2 jI(k) ejI(k) x(k) ~ ~ ~jI(k-l) (j=l,n) (48) .
.~ 25 ` fljp(k) = ~j(k) ~j(k)2 jI(k) ejI(k) x(k) (j=l,n~ (49) " .
wherein Dj(k), ~j(k) and x(k) are as defined above, ~j(k) are posi-tive def.inite or semidefinite real matrices that can be conveniently chosen, and ejItk) and jI(k) (j=l,n) can be respectively defined by: ~
., . .
~ ~ 63372 ejI(k) = yj(k) ~ (k-l)' x(k) (50) jItk) = l/[l+ ~j(k)2 x(k)' (~j(k)-~Dj(k))X(k)]
(j-l,n) (51) -~vhere yj(k) is the jth componen-t of y(k).
Xn the above description o~ the adaptive-predictive control system, the general adaptive law of the adaptive-predictive model parameters set forth in equations (~), (41)-(46) was based upon an estimated error vector e(k), which vector was determined by comparing the estimated incremental process output vector d(k) and the actual incremental process output vector y(k). See equation (8). Alternatively, the estimated error vector e(k) may be determined by comparing an estimation of any other output, control or measurable distur-bance vector (which vectors are contained in the right-hand ; side of equation (2)) with the actual value of that vector.
In such a case, the adaptive-predictive model mus-t be placed in a form that the vector d(k) will not be the estimation of the vector y(k), but -the estimation of the corresponding out-put, control or measurable disturbance vector considered.
The error o~ this es-timation will then be used to update the adaptive-predictive model.
By way of example) one particularly interesting manner of updating the parameters of the adaptive-predictive model is described in the ~ollowing.
The control law (27) can also be written in the form:
h+l u(k)=Fl(k) dl(k+r+l) + ~ Fi(k) y(k-~r+2-rl-i) i=2 f-l g + ~ Hi(k) ~(k-i) + ~ Ti(k) (k~r~l-r2-i) (52) i=l i=l .
where:
Fl(k) = Bl(~) .
Fi+l(k) = -B1(k) Ai(~) (i=l,h) (54) Hi_l(k) = -Bl(k) Bi(k) (i=2,f) (55) .Ti(k) = -Bl(k) ci(k) (i=l,g) (56) The updating of the adaptive-predictive model .
; . matrices Fi(k) (i=l,h+l), Hi(k) (i=l,f-l), and Ti(k) (i=l,g) : can be made through the updating of matrices Ai(k) (i=lJh), Bi(k) (i=l,f) and Ci(k) (i=l,g), as has been defined by equa-tions (42)-(46). Alternatively, -the adaptive-predictive rnodel matrices Fi(k), Hi(k) and Ti(k) can be updated through ~
equations (44)-(46) J but in which the vectors e(k), 9j(k) .
(j=lJn) and x(k) are redefined accor.ding to the following:
~ 1. The vector d(k) will now be an estimation of 20 the vector u(k-r-l), and it will be computed by the adaptive-predictive model as follows:
,~ . l , , h+l d(k)=Fl(k-l) y(k)+ ~ Fi(k-l) y(k+l-i-r :~25 i=2 ,:~ l : f-l g ` ' , ~ + ~ Hi(k-l) u(k-l-i-r) + ~ Ti(k-l) w(k-i-r2) (57) i=li=l Therefore, the identi:Eication errorJ e(k) will be in this case defined by:
.; , .
e(k) = u(k-r-l) -d(k) (58) `-.~ ' ' ' '. .
.
3~72 -2g-2. The vectors 0j(k) (j=l,n) and x(k) will nov~ be defined by:
[fljl(k), ~ ,fljn(k) Jf2jl(k), Jf2jll(k) ~ 'Eh~ljn(l~) hljl(k),.. ,hljn(k),h2jl(k),---,h2jn(~ h-~-ljn( tlil(k~ tljm(k)Jt2jl(~)J-..Jt2irn(k)J.~.Jtgim(k)]
~(~C)=[Yl(k).~Jyn(k),yl(k-l-rl),~,yn(k-l-rl),yl(k-2-rl),..~,yn(k-h-rl) Ul(k-2-r)~ ~un(k-2-r~ul~(k-3-r)~.. ,un(k-f-r)~
wl(~-l-r2),J~'m(k-l-r2),Wl,(k-2-r2),-~,wn(k-~-r2)3 .
(60) ,~ , . . ,.
where the parameters fijq(k) (i=1, h+1; q=l,n), hijq(k) (i=l, f-l; q=l,n), and tijq(k) (i=l,g; q=l,m), correspond to the . jth row of the matrices Fi(k), Hi(k), and Ti(k); and yq(k) .~ (q=l,n), yq (k+l-i-rl) (i=2, h+l; q=l,n), uq(k-l-i-r) (i=l, f-1; q=l,n), and wq(k-i-r2) (i=l,g; q=l,n) are the corres-. ponding components of the vectors y(k), y(k+l-i-rl) (i=2J
h+l), u(k-l-i-r) (i=l, f-l), and w(k-i-r2) ~i=l,g), respec-tively.
: The diagonal terms of the diagonal matrices Dj(k) (j=l,n) that appe~r in equations (44) and (45), correspond in : 2S this case to time-variant coefficients ~fijq(k)~ ~hijq(k) and Btijq(k). A particular choice of these coefficien-ts i~ to make them proportional to the absolute values of the corres-ponding parameters fijq(k)~ hijq(k) and tijq(k)~ as it was previously considered for coefficients ~aijq(~ bijq(~) and ~cijq(k) in equation (13), tl4) and (15).
Also, the adaptive-predictive model ~atrices Fi(k) (i=l, h~l), Hitk) (i-l, f-l), and Ti(k) (i=l,g? can be up-dated in accordance with equations ~47)-(51), but in which the vectors ~j(k) and x(k) are those defined in equations (59) and (60) and ejI(k) (j=l,n) a:re obtained by:
.
, ~ 3 ~33 ~2 ejI(k) = Uj(k-r~ (k-l) x(k) (j=l,n) (61) where uj (k-r-l) is the jth component of the vector u(k-r-l).
A blook d,iagram i.llus-trating the manner in which the adaptive-preclictive control system would be modified in order to permit the updating o~ ~he parameters of the ,adaptive-predictive model in accordance with equations (44)-(46) and (57)-(60) is shown in Figure 4. Such a system up-dates the parameters of the adaptive-predictive model by com-paring an estimated control vector (indicative of the esti-mated value of the incremental control vector at a prior .
sampling instant (k-r-l)) with the actual value of the con-, trol vector at -the same prior sampling instant (k-r-l).
.~ Elements 2, 8, 9, 10, 12 and 13 of Figure 4 are .. 15 identical in operation to the corresponding elements of Fig-ure 1 and will not be described herein. The major difference between -the embodiments of Figures l and 4 concerns the com-' putational block 5' and the adaptive mechanism 6'. The com-putational block 5' of Figure 4 generates an estimated incre-mental control vector d(k) in accordance with equation (57).
This vector is applied to subtractor 14 which subtracts the vector d(k) from the measured value of the incremental con-~
trol vector u(k) at sampling instant tk~r-l) to generate the .: error vector e(k) in accordance with equation (58~. Incre-' 25 mental control vector u(k) is delayed in delay block 11 for . r~l sampling instants before being applied to subtractor 14.
The error vector e(k) generated by subtractor 14 is , applied to adaptive mechanism 6' which updates -the parameters of the adaptive-predictive model in computation block 5' and control block 8 in accordance with equations (44)-(46).
In some cases, an equivalent way of applying the control system presented here, is to decompose it to a set of single-output mu].ti-input systems, each one of which will im- .
pose a condition to be veri~ied by the components of the con-trol vector at every sampling instant, and from the set o~
tlle n corresponding linear equations the control vector can be computed at every sampling instant.
1 ~633~2 Finally, the static gains of the process can be r.~odified by multiplying t~le componen-ts of lts output, .input and disturbance vectors or incremental vectors by scalars gain; and also the dyna~nics of the process can be modified in an analogous way; in this case the control system will con-trol the process -through the control o-f the modified pro-c~ss .
.EXPERI~,IENTAL EXAMPLE 1: .
Multivariable control of a binary distillation column.
'~ The adaptive-predictive control system, previously : described, has been implemented for the multivarîable control of top and bottom compositions (in weight ~ of methanol) of a binary distillation column, at the Chemical Engineering De-partment, ~niverslty o~ Alberta, Edmonton, Alberta Canada).
: ~s shown in Figure 2, the feed flow ll en-ters into the distillation column 10 at the four-th ashtray, the top ;product condensates in 12 by cooling water, and -falls to the ~container 13~ The objective of the experiment is to control ,; 20 the composition of the bottom product 15, that goes away from the bottom of the column.
. We have used as control variables, the reflux flow . rate 16 and the steam flow rate 17, tha-t heats the reboiler 18 in,the bottom of the column. To accomplish the experiment : 2~ we have used a di.gital comp-lter l9, that ta~es the measure-ments of top and bottom compositions made by a composition recorder 20 and a gas chromato~raph system 21, respectively, and that control the set point of the flow recorder control-lers ~2 and 23. In addition, the column had the following equipment: two liquid level indicator controllers 24, two flow recorders 25, a pressure indicator controller 2G, two temperature recorder controllers 27 and a flow,recorder con-troller 28.
The control variables were the reflux and the steam flow rates, and the sampling period was of 256 sec. Due to this large sampling period, there is no time delay be-tween top composition and reflu~ and steam ~low r.ltes. There exists a rneasurement tilne delay of one sampling period be-t.veen bottoln composition and steam flow ra-te, because of the analysis time needed to measure the bottom composition, and the time delay between bottom composition and reflux rate was observed to be two sampling intervals. No significant dis-turbanc~ was acting upon the process.
- To avoid the problem of the singularity of Bl(k), previously discussed, a sampling time delay was added to the - top composition measurement; consequently, the corresponding component of the process output vector related to the -top composition at the sampling instant k, is the measurement o~
the top composition at instant ~-1; likewise, this component at instant k+l is already known at instant k.
In accordance with the previously described circum-stances, at every samplin~ instant k, the sequence o~ opera-tions pe~formed by the adaptive-predictive control system during its control action were:
l. Measurement of -top and bottom compositions to obtain the process output vector y(k), the components of which are the top composition measurecl at k-l, ypl(k)~ and the bot-tom composition measured at k, yp2(k).
2. The number of sampling time delays considered ~or the process r is, in this case, equal to l, and the in-teger ~ was chosen equal to 2, consequently the incremental output vector is computed by:
y(k) = yp(k) -yp(k-2) (62) 3. In the adaptive-predlctive model, the integers h, f and rl were chosen equal to 3, 4 and 0, respectively, and no disturbance vector was considered; consequently, the estimated incremental output vector d(k) was computed by:
1 ~ 63372 dl(k) 3 ~yl(k-i) 4 uL(k-i-l) .
: 5 = ~ Ai(k-l) + ~ Bi(k-l) d2(k) , Y2(k-i) . u2(k-i-1) .
(63) where dl and Yl are components related to the top composi-tion; and d2 and Y2 are the components related to the bottom composition. ul and u2 are the incremental reflux and steam flow rates respectively. The incremental control vector u(k-i-1) is obtained by:
. . .
; u(k-i-l) = up(k ~ up(k-i-3) (64) ~vherein up(k-i-l) is the control vector applied at instant .` k-i-l. The matrices Ai(k-l) (i=l, 3) and Bi(k-l) (i=l, 4) :` 20 were chosen being:
lll(k-]) 0 ~211(k-1)0 Al(k-l~= ; A2(1~-1) = .
0 0 . 0a222(k-1) O O
A3(k-1) =
o a322(k-1) . , ,,, .
833~2 -3'1-blll(k-l) bll2(~ ) b211(k-1) b212(k-1) Bl(k-1)= ; B2(k-l)= . .
b122tk-l) . b22l(k-l) b222(k_1 10 B3(k-~ ; B~(k-l)=
lb321(k- 1 ) b322(k 1~ ~421(k-1) 0 : 4. Computation of the estimation error vector as indicated in equation (8), ~: 5. Computation of the updated values at instant k of the parameters of the matrices Ai(k) (i=l, 3) and Bi(k) (i=l, 4), according to the equations ~9), (10) and (12), .
taking into account that no disturbances were considered and ~ 20 that the value of the coefficients B corresponding to the ~: non-zero parameters in the -top and bottom rows were set to l .
and 0.1, respectively, and the ~'s corresponding to remain-ing zero parameters in both the rows were set equal 0-?
6. The components of the desired process output vector dp(k+2) at instant k+2, dpl(k+2), related to top and bottom compositions, respectively, are computed by the fol-lowin~ scalar equations, that are a particular case of the equation 16:
; 30 dpl(k+2) = ~ fli Yl(k+2-i) + ~ hli vl(k~l-i) (65) i=l i=l ''.
dp2~k~2) = ~ f2i Y2(k+~ h2i v2(k+1 -i) (66) i=l i+l 3 3 '~ ~
where vl(k+l-i) and v2(k~ i) are -the components related to the -top and bottom compositions, respectively, o~ the driver block input vector v(k+l-i) at ins-tant (k+l-i). The para-meters of equations (65) and (66) were chosen equa] to those of a second order model, ~ithout and ~vith a samplinJ time de-l~y respectively, a natural frequency of 0.0056 rad/sec, a damping ratio and static gain equal to 1. Given that the value of the previously mentioned static gain is unity, the ` components vl(k+l-i) and v2(k+1-i) have the physical meaning 10 of being the setpoint values for top and bottom compositions, respectively, at instant k+l-i.
In equation (65) the value y1(k+1) was previously computed by:
15Y1(k+1~ = Yp1(k+1) -Yp1(k-1) (67) Note that ypl(k+l) is the value of the top composition measured at instant k.
From _p~k+2), the desired incremental process output vector d1(k+2) is computed by:
d1(k+2) ~ dp~k+2) -yp(k) (68) The components of dl(k+2), dll(k-~2) and d12(k+2), 2~ related to the top and bottom compositions, ~ere limited to the absolute values of 0.3 and 0.6%, respectively.
7. Computation of the control vector by:
_1 _1 4 u(k) B1(k) dl(k+2) -B1(k) ~ Bi(k) _( i-2 _1 3 -B1(k) ~ ~i(k) y(k+2_1) (69) i=l 1 ~ 633~2 up(k) = u(k) -~ up(k-2) (70) 8~ The absolute and t~e incremental value of up(k) as limit checked before being applied to the process.
~igure 3 shows, from the beginning of the control -action, the results of a 6 hrs. 2~ min. experiment in which the distillation column ~vas controlled by the adaptive-predictive control system.
; In Figure 3, the diagrams l~, B, C and D represent, in the ~-axis, the top composition (%), the bottorn composi-tion (%), the reflux flow rate (g/s) and the steam flo~ rate (g/s), respectively, and in the X-axis the time in sampling instants.
The initial values of the parameters of the adaptive-predictive model were ra-tionally chosen, and the control system performed in its identification mode for two sampling instants before starting the control ac-tion. When the control actions starts, the control system drives the process top and bottom compositions from 96.5 and 1% to 96 and 3%, respectively. Later on, at the instant 29, while the bottom composition is held at 3%, the top composition is dri-ven -to 97%, and at the instant 55, the bottom composition is driven -~rom 3 -to 5% and the top composition is held at 97%.
Note that the multivariable control problem of a binary distillation column, tha-t -the adaptive-predictive con-trol system has solved commendably, has been for a long time an often cited example of difficulties -in interacting multi-variable chemical processes.
EXPERIMENTAL EX~IPLE 2:
Control of a single-input single--output simulated process ~vith an unstable inverse.
The adaptive-predictive control system, previously described, has been implemented for the control of a simu-lated single-input single-output process, the inverse o~
1 ~ ~33~2 ~ -37-,:.
~vhich is unstable. ~hen the sarnpling period is chosen equal to 25 sec., the dynamic behavior of said simulated process is defined by the equa-tion:
yt(k) = 0.97512 yt(k-l) - 0.24708 yt(k-2) + 0.01426 yt(k-3) + 0.09465 ut(k-l) + 0.15042 ut(k-2) + 0.01262 ut(k-3) .
(71) ' 10 , ' ~ Yhere yt(k) and ut(k-l) are the true output and in-put of the process at lnstants k and k-l, respectively. This process takes approximately 250 sec. to reach a steady-sta-te output in response to a step input.
The simulation considers the measured process out-put yp(k) computed according to:
yp(k) = yt(k) + ny(k) (72) where ny(k) is a gaussian noise of zero mean and standard - deviation 5.
The true process input ut(k) is considered equal to the control up(k), but when a non-measurable disturbance is considered, then:
ut(k) = up(~) + nu (73) ~vhere nu is the considered non-measurable disturbance.
In this implementation of the adaptive-predictive control system, at every sampling instant k, the desired out-put trajectory was selected to minimize an index such as the third index considered in operation (f) supra. Also, the in-cremental control u~k) was explicitly computed from the de-sired incremen-tal output dl(k+r+l-~), with ~=1, instead of the clesired incremental output dl(k~r+l).
i337~
~ccordillg to the previously described circu~-: stances, at every sampling instant k, the sequence of opera-tions performed by -the adaptive-predictive control system . during its control action were:
v 5 - 1. Measurement of the process output yp(k)~ ac-cording to equation (72).
2. Given that the number of sampling time delays ~
considered for the process r is, in this case, equal to 0, .
and the integer ~ was chosen equal to l, the integer Y was chosen equal to 20 Consequen-tly, the incremental process output was computed by:
.
y(k) = yp(k) - yp(k-2) (74) 3. In the adaptive-predictive model, the integers . .
h, f and rl were chosen equal to 2, 3 and l, respectively, and no measurable disturbance was considered. Consequently, !
the estimated incremental process output d(k) was co~nputed .
by:
d(k) = ~ ai(k-1) y(k-l-i) + ~ bi(k-1) u(k~ ?5) i=l i=l I
~ where the incremental control u(k-i) is obtained by: , ,~ 25 u(k-i) = up(k-i) - up(k-i-2) (76) .
!
vector u(k) which minimizes index (19) is considered in the description of operat.ion (g) below.
Ano-ther example of a particular case of the first index above considered is the followng third index:
I = [~'p(k+r+l+~) yr(k+r+l-~)]~ M(r+l-~) [y' (k+r+l-~
k+~
yr(k+r+l+~)] + ~ [u~p(h) - u'p(h-l)]' N(h-k) h=k+l [u' (h) - u'p(h-l)] (20) where ~ is a positive integer conveniently chosen and y (k+r+l-~) can be defined by an equation such as (18A).
The index defined by equation (20) will be mini-mi~ed if the future predicted control sequence from ins-tant k to instant k+~ is constant, and the value y' (k~r+l-~) of the predicted output -trajectory is equal to the value o~
the reference trajectory yr(k+r-~l+~); that is to say:
.)j i ~ 633~2 u'p(h) = u'p(h-l) h = k~l, k+~ (21) y p(k+r+l-~) - yr(k+r+l-~) (22) Consequently, the vector o~ the desired output t:ra,jectory at k+r+l+A, dp(k~r~ A), will be given by:
d (~+r+l-~) = yr(k+r+l-~) (23) This index is a particular case O:e the first considered index in which all the M(h-k) except M(r+l-~) are identical to zero, all the N(h-k) are posi-tive definite except N(0) which is identical to zero, ~ is equal to 1 and A is a positive integer.
From the value of the desired output vector o-f the process d (k+r~l+A), the desired incremental output vector dl(k+r+l~A), with A > 0, can be computed or defined in vari-ous manners, a particular one usually convenient when y r+A is given by the following equation:
dl(k~r+l+A) - dp(k+r-~l+A) - yp(k~r+l-~A-y) (24) The explicit computation of u (k), considered in operation (g) below can in this case be per~ormed from dl(k+r~l~A), taking into account conditions (2:l), which minimize the index defined by equation (20)~ In almost all cases, it is con-venient to limit check the desired increment dl(k~rtl+A), An illustrative experimental sample o~ this kind of driver block is presented below under experimental example 2.
While by way of example a first general index has been shown, which admits particular cases in which, through an appropriate choice of the weighting matrices, the opti-mization problem can be solved in a simple manner, it should be recognized that other general indices can in a similar way be developed. These other indices can be selected as a function o~ the reference trajectory, the setpoint, the measured and predicted output and input sequences, the con-trol constraints, and any other parameters or variables that may influence the control performance.
1 ~ 63372 g) The computation of the control vector in control block 8 is intimately rela-ted to ~he above considered opera-tion (f). In fact operation (f) determines at least impli-citly the value of the control vector at instant k, since the control vector corresponds to the value at instant ~5 o the predicted control sequence that minl.mizes the index defined in operation (f)~ This is equivalent to say that the con-trol vector at instant k.is -the one that makes the predicted pro-cess output at instant k-~r+l equal to the value of -the de-sired process output trajectory a-t the same future instant k+r+l. Therefore~ in general, the e~plicit computation of the control vector at instant k can he made, using the adaptive-predictive model, from the value of the desired out-: put t.rajectory at instant k+r+l, dp(k+r+l). Particularly, in the c~se in which the performance index is defined by (19), and integers y, rl and r2 are chosen such that y > r, rl ~ r .
and r2 ~ r, the considered explicit computation may be car-ried out accordin~ to the following:
1. The predicted incremental process output vector y'(k+r+l) at the sampling instant k-~r+l, is defined by:
. y'(k+r+l) = y'p(k+r+l) - yp(k+r+l-y) ~25) From the updated adaptive-predictive model (updated by the output of adaptive ~eedback mechanism 6), the predicted in-cremental process output vector y'(k+r+l) will depend upon the incremental control vecto~ u(k), and is given by the equation: -h f y'(k+r+l) = ~ Ai(k) y(k+r+l-rl-i) + ~ Bi(k) u(k~l-i) i=l i-l ' g + ~ Ci(k) W(k+r~ r2-l) (26) :
3~ i=l .
~3~3~7~
2. The value of the control vector which min-imizes the index defined by (19), can be obtained, appro~
priately lirnit checking the value o:E the control vector which minimizes index (19) in the absence of con-trol constraints.
In this last case of ahsence of control cons-traints, the . value of the desired output trajectory at instant k-~r~
dp(k+r+1), is given by equat:ion (16), -the corresponding desired increment d1(k+r+1) by equation (17), and the incre-mental control vector u(k) which makes the predicted incre-men-tal process output vector y'(k+r+1) equal to d1(k+r+1), i.e. y'p(k+r+l)=dp(k+r+l)~ is given by:
-1 -1 f u(k) = B1(k) d1(k+r+l) - B1(k) ~ Bi(k) u(k+]-i) 15 . i-2 1 h _ Bl(k) ~ Ai(k) y(k+r+l-rl-i) :
- i=l .
-1 ' g _ B1(k) ~ Ci(kj w(k+r+l-r2-i) (27) i=l In the case in which the control vector must verify condi-tions such as the ones expressed by equations (5), (6) and (7?~ these conditions will be taken into account in the com-putation of u(k) by equation (27). The value of up(k), which minimizes inde~ (19) in the absence of control constraints, can be obtained, from the value of u(k) computed by equation (27), by means of the equation:
.
up(k) - u(k) -~ _p(k-y) (28) i ~ ~33'~2 --19-- , The value of up(k) that minimizes index (19) can be finally obtained by approprla-tely limit checking the absolute and incremen-tal value of up(k) previously obtained by equation (28)o It can be noted that, in this case, the computation of up(k) does not require an explicit computation of -the value -at instant k+r+l o~ the desired output trajectory which mini-.
rnizes index (19).
In the case in which the inde~ considered in opera-tion (f) is the one defined by equation (20) ~ and integers.
y , rl and r2 are chosen such tha-t y >r+~ , rl~ r+~ and r2 ~ r+~ , the computation of u(k), and therefore the compu-.
tation of up(k), can be performed from the desired incremen-tal value dl(k-~r+l+~ ), defined by equation (24), accordin~ .
to the following:
1. The predicted incrernental process output vector y'(k+r+l) can be defined by:
. y'(k+r+l+A) = 'p(k+r+l+~) - _p(k+r+l+~-y) (29) From the updated adaptive-pxedictive model, the .
predicted incremental process output vector y'(k+r+l+~) will depend upon the incremental control vector u(k), and is given by the equation:
2.5 h y'(k+r+l~ Ai(k) y(k+r-~l+ ~ -rl-i) .
i=l , .
f . + ~ Bi(k) u(k+l+ ~ ~i) .
-~ ~ Ci(k) w(k+r+l-~-r2-i~ (30 i-l ~ ~ ~337~
Taking into account equatiorls (3) and (28), and conditions (21), equatlon (30) can be written in the form:
h y'(k+r+l+A) = ~ Ai(k) y(k+r+l+~- r i=l .. .
-~ ~ Ci(k) w(k+r+l+A- r2-i) i--1 .
: 10 .~ f' + ~ Bi(k) (U(k)+up(k-y)-up(k+l-~A-i-y)) i-f + ~ Bi(k) U(k+l+~-i) (31) i=A+2 In equation (31)when f is bigger than A, f' will be equal to A+1, and when f is less or equal to ~, f' will be I equal to f and then the last summation of the right hand side of this equa-tion will not appear.
2. The incremental control vector u(k) is computed in this case by making the predicted incremental process output vector y'(k+r-~l+A) equal to the desired incre-mental output dl(~+r+l+~), and is given by: , .~ .
~ . I
,"'" ' ' ,' , , '.
.
,, ' ' ';
.0 .
.
~ ~ 6337~
~+l -l h _(k)=( ~ Bi(k)) [dl(k-~r-~l+~ Ai(k)y(k+r-~ -rl-i) i=l i=l . .
5 g - ~ Ci(k)_(k+r+l+A-r2-i) i=l f' .
10 - ~ Bi(k)(Up(k-Y)-Up(k-~l+A-i-Y)) i=l . . .
- ~ Bi(k) u(~+l+A-i)] (32) i=A+2 The value of f' and the last surnmation in the brackets of equation (32) are as previously considered in equation (31).
In the case in which the control vector must verify conditions such as the ones expressed by equations (5), ~6) and (7), these conditions will be taken into account in -the computation of u(k) by equation (32).
The value of up(k) that minimizes (20) can be ob-tained, from the value of u(k) computed by equation (32), by means of equation ~28).
The previously considered computations o~ the con-trol vector are illustrated below under Experimental E~amples 1 and 2, respectively.
In the above two examples of minimizations of an index, it has been considered that integer ~, r1 and r2 are chosen such that Y >r+A , r1 ~ r-~A and r2 ~ r-~A , being A ~
0. This choice allows the computation of the control vector directly from a desired value of the process output and other previously measured process output, input and measurable dis-turbance vectors, using the adaptive-predictive model~ In ., ~ ' . .
.
~ 1 ~3372 general, integers ~, r1 and r2 can be chosen such that Y ~ 1, r1 ~ 0 and r2 ~ ~ However, in the case in which ~ ~r-~ or r1 < r+~ or r2 < r+~, the previously considered equa-tions (25), (26), (29), (30) and (31) are still valid considering that the values or incremental values of the process output, in-put and measurable disturbance vectors contained in -these equations and not measured yet at instant k, must be substi-tuted by their corresponding predicted or estimated values.
Therefore, in this case, the computation of the control vec-13 tor, which will make y'p(k+r+~ ) = dp(k+r+1+~ 0,must take into account, using appropriately the adaptive-predictive model, the intermediate computation of said pre-dicted or estimated values. In addition, the computation of the control vector will have to satisfy conditions such as (5), (6) and (7), if they exist. This manner of computing u(k) does not present conceptual or practical difficulties and it is used in the program example set forth below.
h) In most cases, the control vector up(k) and its increments will be conveniently Iimit checked before being applied to the process.
In its implementation, the adaptive-predictive con-trol system can use incremental input, output and disturbance vectors as described in the above operationsO An alternative method of implementing the system is to compute the incremen-tal input, output and disturbance vectors with respect to ~' .
~ J 1 B33'~2.
some constant vectors chosen convenien-tly and, consequen-tly, in the exemplary equations described above, the equations (1), (25), (29); (3), ( ), (11), (24) and (28) need to be respectively modified as follows:
y(k) = yp(k) - Ypc (33) y'(k-~r+l) -- y'p(k-~r~ Ypc (34) y'(k+r+l+~) = y~p(k+r+~ Ypc (35) u(k-i-r) = up(k-i-r~ - UpC (36) w(k-i-r2) = ~p(k-i-r2) - Wpc (37) 1~
dl(k+r+l) = dp(k~r+l~ - Ypc (38) dl(k+r+l~) = dp(k+r+l+~) - Ypc (39) 20up(k) = u(kj -~ UpC (40) Likewise, when it is considered convenient to give specific values to some of the adaptive-predictive model parameters (for instance, because of a certain knowledge of the process), these values can be given to the respective parameters, and the corresponding ~ coefficients will be set to zero. Also it is possible to stop the updating operatlons of the adaptive-predictive model parameters as long as it is considered convenient.
30~Vhen the system performs in its identification mode, it only needs to carry out the operations (a) to (e), and this identification action can be performed in real time or off-line, and even in between the sampling intervals.
It will be observed that in the operation (g), 3~ equation (27), the matrix Bl(~) must be inverted to compute .
.
:. ~
--2~-u(k). The risk of singularity of the matrix Bl(k), and in general the risk of inversion of a singular matrix in -the computation of u(k), can almost always be avoided by adding time delays to the components of the input and output process vectors, and controlling the resultant process. An illustra-tive e~perimental example of this procedure is presented - below under Experimental Example l.
In the foregoing description, the adaptive-predic-tive model is updated in accordance with equations (9)-(15).
These e~uations are a particular case of a more general adap-tive law, which law falls within the gradient parameter iden-tification technique, and which permits the matrices to be upd&ted i~ a manner which causes the estimated output vector to approach the actual output vector. Before set-ting forth this more general adaptive law (remembering that any appro-priate law falling within the gradient parameter, or least squares, identification technique can be used), it is helpful to reexpress the adaptive predictive model of equation ~2) in - a simpler form.
As set forth in equation (2), the adaptive-predic-; tive model includes matrices Ai(k-l) (i=l,h), Bi(k-l) (i=l,f), and Ci(k-l) (i=l,g) and system vectors y(k-i-rl) (i=l,h), u(k-i-r) (i=l,f), and w(k-i-r2) ~i=l,g). Alterna-tively, equation (2) and there-Fore the adaptive-predictive model may be expressed as follows: .
- d(k) = ~(k-l) x(k) (41) : ~herein ~(k-l) is a matri.x composed of the matrices of equa-tion (2) and x(k) ls a vector composed of the vectors of the right hand side of equation (2). Each row j of the ~atrix 9 (k) [~(k-l) being the value of ~ at the sampling instant . k-l] corresponds to a vector ~j(k) (j=l,n), the components ; of whic~ are the parameters aij~(k) (i=l,h; q=l,n), bijq(k) (i=l,f; q=l,n), and cijq(k) (i=l,g; q=l,m), that correspond .
' :
to the jth row of the matrices Ai(k), ~i(k) and Ci~
respectively, each such vector being de~ined as follows: .
~j(k)=[aljl(k) - - - Jaljn(k) ~a2jl(k), . ,a2jn(k), . . . ,ahjn(k~, . 5 bljl(k), ~ ,bljn(k) ,b2jl(k), ~ . . ,b2jn(k) ~ ,afjn(k), Clil(k)~ ~cljm(k~c2il(k)~ c2jm(k)~ cgpm(k)J
(42) The vector x(k), the components of which, yq(k-i-r1) (q=l,n; i=l,h), uq(k-i-r) (q=l,n; i=l,f) and wq(k~i-~2) (q=l,m; i=l,g) are the corresponding components of the vectors y(k-i-rl), u(k-i-r) and w(k-i-r2), respectively, - .15 is defined by:
x(k)=[yl(k-l-rl),....~n(k-l-rl),Yl(k-2-rl),....yn~k-2-rl)....Jyn(k-h--rl)~
: ' ul(k-l-r),.. ,un(k-l--r),ul(k-2-r),.O.,un(k-2-r),.. ,un(k-f-r), .
Wl(k-l-r2),,Wm(k-l-r2).~Vl(k-2-r2),,Wm(k-2-r2),.'..,wm(k-g-r2)]' . (43) `~ Using the above notations, the more general adap-2~ tive law may be expressed as follows: .
aj(k) = Dj(k) ~j(k)2a'j(k) ej(k)x(k) ~ ~j(k-l) (j=l,n) (44) ~vherein Dj(k) are diagonal matrices~ the di~gonal terms of which are the coefficientS ~aijq(k), ~bijq(k) and ~cijq(k) previously considered in equations (9)-(l5), ~j(k) are real ~ains, which can be conveniently chosen at each;instant k, and 'j(k) can be defined by:
11 :I B3372 a'j(k) = l/[l+~j(k)2 x(k)' Dj(k)x(k)] (j=l,n) (45) .9 particulax choice of the gains ~j(k) can be the fol:lowing:
~j(k) = ~ ~iei(k) ~ (46) i=l where i and ~i (i=l, ~) are real numbers and ~ is an integer -that can be conveniently chosen.
If ~j(k) (j=l,n) are chosen equal to l, equations (g4), (45) are equivalent to equations (9)-(15) The adaptive law can be expressed even more gener-- ally if the vector ~j(k) (j=1,n) is considered -to include an inte~ral term ~jI(k) (j=l,n) and a pxoportional term ~jp(k) (j=l,n). In such a case, the adaptive law may be expressed as follows:
~j(k) = 9jI(k) + 9jp(k) (j=l,n~ (47) .; 20 wherein: -(k) = Dj(k) ~j(k)2 jI(k) ejI(k) x(k) ~ ~ ~jI(k-l) (j=l,n) (48) .
.~ 25 ` fljp(k) = ~j(k) ~j(k)2 jI(k) ejI(k) x(k) (j=l,n~ (49) " .
wherein Dj(k), ~j(k) and x(k) are as defined above, ~j(k) are posi-tive def.inite or semidefinite real matrices that can be conveniently chosen, and ejItk) and jI(k) (j=l,n) can be respectively defined by: ~
., . .
~ ~ 63372 ejI(k) = yj(k) ~ (k-l)' x(k) (50) jItk) = l/[l+ ~j(k)2 x(k)' (~j(k)-~Dj(k))X(k)]
(j-l,n) (51) -~vhere yj(k) is the jth componen-t of y(k).
Xn the above description o~ the adaptive-predictive control system, the general adaptive law of the adaptive-predictive model parameters set forth in equations (~), (41)-(46) was based upon an estimated error vector e(k), which vector was determined by comparing the estimated incremental process output vector d(k) and the actual incremental process output vector y(k). See equation (8). Alternatively, the estimated error vector e(k) may be determined by comparing an estimation of any other output, control or measurable distur-bance vector (which vectors are contained in the right-hand ; side of equation (2)) with the actual value of that vector.
In such a case, the adaptive-predictive model mus-t be placed in a form that the vector d(k) will not be the estimation of the vector y(k), but -the estimation of the corresponding out-put, control or measurable disturbance vector considered.
The error o~ this es-timation will then be used to update the adaptive-predictive model.
By way of example) one particularly interesting manner of updating the parameters of the adaptive-predictive model is described in the ~ollowing.
The control law (27) can also be written in the form:
h+l u(k)=Fl(k) dl(k+r+l) + ~ Fi(k) y(k-~r+2-rl-i) i=2 f-l g + ~ Hi(k) ~(k-i) + ~ Ti(k) (k~r~l-r2-i) (52) i=l i=l .
where:
Fl(k) = Bl(~) .
Fi+l(k) = -B1(k) Ai(~) (i=l,h) (54) Hi_l(k) = -Bl(k) Bi(k) (i=2,f) (55) .Ti(k) = -Bl(k) ci(k) (i=l,g) (56) The updating of the adaptive-predictive model .
; . matrices Fi(k) (i=l,h+l), Hi(k) (i=l,f-l), and Ti(k) (i=l,g) : can be made through the updating of matrices Ai(k) (i=lJh), Bi(k) (i=l,f) and Ci(k) (i=l,g), as has been defined by equa-tions (42)-(46). Alternatively, -the adaptive-predictive rnodel matrices Fi(k), Hi(k) and Ti(k) can be updated through ~
equations (44)-(46) J but in which the vectors e(k), 9j(k) .
(j=lJn) and x(k) are redefined accor.ding to the following:
~ 1. The vector d(k) will now be an estimation of 20 the vector u(k-r-l), and it will be computed by the adaptive-predictive model as follows:
,~ . l , , h+l d(k)=Fl(k-l) y(k)+ ~ Fi(k-l) y(k+l-i-r :~25 i=2 ,:~ l : f-l g ` ' , ~ + ~ Hi(k-l) u(k-l-i-r) + ~ Ti(k-l) w(k-i-r2) (57) i=li=l Therefore, the identi:Eication errorJ e(k) will be in this case defined by:
.; , .
e(k) = u(k-r-l) -d(k) (58) `-.~ ' ' ' '. .
.
3~72 -2g-2. The vectors 0j(k) (j=l,n) and x(k) will nov~ be defined by:
[fljl(k), ~ ,fljn(k) Jf2jl(k), Jf2jll(k) ~ 'Eh~ljn(l~) hljl(k),.. ,hljn(k),h2jl(k),---,h2jn(~ h-~-ljn( tlil(k~ tljm(k)Jt2jl(~)J-..Jt2irn(k)J.~.Jtgim(k)]
~(~C)=[Yl(k).~Jyn(k),yl(k-l-rl),~,yn(k-l-rl),yl(k-2-rl),..~,yn(k-h-rl) Ul(k-2-r)~ ~un(k-2-r~ul~(k-3-r)~.. ,un(k-f-r)~
wl(~-l-r2),J~'m(k-l-r2),Wl,(k-2-r2),-~,wn(k-~-r2)3 .
(60) ,~ , . . ,.
where the parameters fijq(k) (i=1, h+1; q=l,n), hijq(k) (i=l, f-l; q=l,n), and tijq(k) (i=l,g; q=l,m), correspond to the . jth row of the matrices Fi(k), Hi(k), and Ti(k); and yq(k) .~ (q=l,n), yq (k+l-i-rl) (i=2, h+l; q=l,n), uq(k-l-i-r) (i=l, f-1; q=l,n), and wq(k-i-r2) (i=l,g; q=l,n) are the corres-. ponding components of the vectors y(k), y(k+l-i-rl) (i=2J
h+l), u(k-l-i-r) (i=l, f-l), and w(k-i-r2) ~i=l,g), respec-tively.
: The diagonal terms of the diagonal matrices Dj(k) (j=l,n) that appe~r in equations (44) and (45), correspond in : 2S this case to time-variant coefficients ~fijq(k)~ ~hijq(k) and Btijq(k). A particular choice of these coefficien-ts i~ to make them proportional to the absolute values of the corres-ponding parameters fijq(k)~ hijq(k) and tijq(k)~ as it was previously considered for coefficients ~aijq(~ bijq(~) and ~cijq(k) in equation (13), tl4) and (15).
Also, the adaptive-predictive model ~atrices Fi(k) (i=l, h~l), Hitk) (i-l, f-l), and Ti(k) (i=l,g? can be up-dated in accordance with equations ~47)-(51), but in which the vectors ~j(k) and x(k) are those defined in equations (59) and (60) and ejI(k) (j=l,n) a:re obtained by:
.
, ~ 3 ~33 ~2 ejI(k) = Uj(k-r~ (k-l) x(k) (j=l,n) (61) where uj (k-r-l) is the jth component of the vector u(k-r-l).
A blook d,iagram i.llus-trating the manner in which the adaptive-preclictive control system would be modified in order to permit the updating o~ ~he parameters of the ,adaptive-predictive model in accordance with equations (44)-(46) and (57)-(60) is shown in Figure 4. Such a system up-dates the parameters of the adaptive-predictive model by com-paring an estimated control vector (indicative of the esti-mated value of the incremental control vector at a prior .
sampling instant (k-r-l)) with the actual value of the con-, trol vector at -the same prior sampling instant (k-r-l).
.~ Elements 2, 8, 9, 10, 12 and 13 of Figure 4 are .. 15 identical in operation to the corresponding elements of Fig-ure 1 and will not be described herein. The major difference between -the embodiments of Figures l and 4 concerns the com-' putational block 5' and the adaptive mechanism 6'. The com-putational block 5' of Figure 4 generates an estimated incre-mental control vector d(k) in accordance with equation (57).
This vector is applied to subtractor 14 which subtracts the vector d(k) from the measured value of the incremental con-~
trol vector u(k) at sampling instant tk~r-l) to generate the .: error vector e(k) in accordance with equation (58~. Incre-' 25 mental control vector u(k) is delayed in delay block 11 for . r~l sampling instants before being applied to subtractor 14.
The error vector e(k) generated by subtractor 14 is , applied to adaptive mechanism 6' which updates -the parameters of the adaptive-predictive model in computation block 5' and control block 8 in accordance with equations (44)-(46).
In some cases, an equivalent way of applying the control system presented here, is to decompose it to a set of single-output mu].ti-input systems, each one of which will im- .
pose a condition to be veri~ied by the components of the con-trol vector at every sampling instant, and from the set o~
tlle n corresponding linear equations the control vector can be computed at every sampling instant.
1 ~633~2 Finally, the static gains of the process can be r.~odified by multiplying t~le componen-ts of lts output, .input and disturbance vectors or incremental vectors by scalars gain; and also the dyna~nics of the process can be modified in an analogous way; in this case the control system will con-trol the process -through the control o-f the modified pro-c~ss .
.EXPERI~,IENTAL EXAMPLE 1: .
Multivariable control of a binary distillation column.
'~ The adaptive-predictive control system, previously : described, has been implemented for the multivarîable control of top and bottom compositions (in weight ~ of methanol) of a binary distillation column, at the Chemical Engineering De-partment, ~niverslty o~ Alberta, Edmonton, Alberta Canada).
: ~s shown in Figure 2, the feed flow ll en-ters into the distillation column 10 at the four-th ashtray, the top ;product condensates in 12 by cooling water, and -falls to the ~container 13~ The objective of the experiment is to control ,; 20 the composition of the bottom product 15, that goes away from the bottom of the column.
. We have used as control variables, the reflux flow . rate 16 and the steam flow rate 17, tha-t heats the reboiler 18 in,the bottom of the column. To accomplish the experiment : 2~ we have used a di.gital comp-lter l9, that ta~es the measure-ments of top and bottom compositions made by a composition recorder 20 and a gas chromato~raph system 21, respectively, and that control the set point of the flow recorder control-lers ~2 and 23. In addition, the column had the following equipment: two liquid level indicator controllers 24, two flow recorders 25, a pressure indicator controller 2G, two temperature recorder controllers 27 and a flow,recorder con-troller 28.
The control variables were the reflux and the steam flow rates, and the sampling period was of 256 sec. Due to this large sampling period, there is no time delay be-tween top composition and reflu~ and steam ~low r.ltes. There exists a rneasurement tilne delay of one sampling period be-t.veen bottoln composition and steam flow ra-te, because of the analysis time needed to measure the bottom composition, and the time delay between bottom composition and reflux rate was observed to be two sampling intervals. No significant dis-turbanc~ was acting upon the process.
- To avoid the problem of the singularity of Bl(k), previously discussed, a sampling time delay was added to the - top composition measurement; consequently, the corresponding component of the process output vector related to the -top composition at the sampling instant k, is the measurement o~
the top composition at instant ~-1; likewise, this component at instant k+l is already known at instant k.
In accordance with the previously described circum-stances, at every samplin~ instant k, the sequence o~ opera-tions pe~formed by the adaptive-predictive control system during its control action were:
l. Measurement of -top and bottom compositions to obtain the process output vector y(k), the components of which are the top composition measurecl at k-l, ypl(k)~ and the bot-tom composition measured at k, yp2(k).
2. The number of sampling time delays considered ~or the process r is, in this case, equal to l, and the in-teger ~ was chosen equal to 2, consequently the incremental output vector is computed by:
y(k) = yp(k) -yp(k-2) (62) 3. In the adaptive-predlctive model, the integers h, f and rl were chosen equal to 3, 4 and 0, respectively, and no disturbance vector was considered; consequently, the estimated incremental output vector d(k) was computed by:
1 ~ 63372 dl(k) 3 ~yl(k-i) 4 uL(k-i-l) .
: 5 = ~ Ai(k-l) + ~ Bi(k-l) d2(k) , Y2(k-i) . u2(k-i-1) .
(63) where dl and Yl are components related to the top composi-tion; and d2 and Y2 are the components related to the bottom composition. ul and u2 are the incremental reflux and steam flow rates respectively. The incremental control vector u(k-i-1) is obtained by:
. . .
; u(k-i-l) = up(k ~ up(k-i-3) (64) ~vherein up(k-i-l) is the control vector applied at instant .` k-i-l. The matrices Ai(k-l) (i=l, 3) and Bi(k-l) (i=l, 4) :` 20 were chosen being:
lll(k-]) 0 ~211(k-1)0 Al(k-l~= ; A2(1~-1) = .
0 0 . 0a222(k-1) O O
A3(k-1) =
o a322(k-1) . , ,,, .
833~2 -3'1-blll(k-l) bll2(~ ) b211(k-1) b212(k-1) Bl(k-1)= ; B2(k-l)= . .
b122tk-l) . b22l(k-l) b222(k_1 10 B3(k-~ ; B~(k-l)=
lb321(k- 1 ) b322(k 1~ ~421(k-1) 0 : 4. Computation of the estimation error vector as indicated in equation (8), ~: 5. Computation of the updated values at instant k of the parameters of the matrices Ai(k) (i=l, 3) and Bi(k) (i=l, 4), according to the equations ~9), (10) and (12), .
taking into account that no disturbances were considered and ~ 20 that the value of the coefficients B corresponding to the ~: non-zero parameters in the -top and bottom rows were set to l .
and 0.1, respectively, and the ~'s corresponding to remain-ing zero parameters in both the rows were set equal 0-?
6. The components of the desired process output vector dp(k+2) at instant k+2, dpl(k+2), related to top and bottom compositions, respectively, are computed by the fol-lowin~ scalar equations, that are a particular case of the equation 16:
; 30 dpl(k+2) = ~ fli Yl(k+2-i) + ~ hli vl(k~l-i) (65) i=l i=l ''.
dp2~k~2) = ~ f2i Y2(k+~ h2i v2(k+1 -i) (66) i=l i+l 3 3 '~ ~
where vl(k+l-i) and v2(k~ i) are -the components related to the -top and bottom compositions, respectively, o~ the driver block input vector v(k+l-i) at ins-tant (k+l-i). The para-meters of equations (65) and (66) were chosen equa] to those of a second order model, ~ithout and ~vith a samplinJ time de-l~y respectively, a natural frequency of 0.0056 rad/sec, a damping ratio and static gain equal to 1. Given that the value of the previously mentioned static gain is unity, the ` components vl(k+l-i) and v2(k+1-i) have the physical meaning 10 of being the setpoint values for top and bottom compositions, respectively, at instant k+l-i.
In equation (65) the value y1(k+1) was previously computed by:
15Y1(k+1~ = Yp1(k+1) -Yp1(k-1) (67) Note that ypl(k+l) is the value of the top composition measured at instant k.
From _p~k+2), the desired incremental process output vector d1(k+2) is computed by:
d1(k+2) ~ dp~k+2) -yp(k) (68) The components of dl(k+2), dll(k-~2) and d12(k+2), 2~ related to the top and bottom compositions, ~ere limited to the absolute values of 0.3 and 0.6%, respectively.
7. Computation of the control vector by:
_1 _1 4 u(k) B1(k) dl(k+2) -B1(k) ~ Bi(k) _( i-2 _1 3 -B1(k) ~ ~i(k) y(k+2_1) (69) i=l 1 ~ 633~2 up(k) = u(k) -~ up(k-2) (70) 8~ The absolute and t~e incremental value of up(k) as limit checked before being applied to the process.
~igure 3 shows, from the beginning of the control -action, the results of a 6 hrs. 2~ min. experiment in which the distillation column ~vas controlled by the adaptive-predictive control system.
; In Figure 3, the diagrams l~, B, C and D represent, in the ~-axis, the top composition (%), the bottorn composi-tion (%), the reflux flow rate (g/s) and the steam flo~ rate (g/s), respectively, and in the X-axis the time in sampling instants.
The initial values of the parameters of the adaptive-predictive model were ra-tionally chosen, and the control system performed in its identification mode for two sampling instants before starting the control ac-tion. When the control actions starts, the control system drives the process top and bottom compositions from 96.5 and 1% to 96 and 3%, respectively. Later on, at the instant 29, while the bottom composition is held at 3%, the top composition is dri-ven -to 97%, and at the instant 55, the bottom composition is driven -~rom 3 -to 5% and the top composition is held at 97%.
Note that the multivariable control problem of a binary distillation column, tha-t -the adaptive-predictive con-trol system has solved commendably, has been for a long time an often cited example of difficulties -in interacting multi-variable chemical processes.
EXPERIMENTAL EX~IPLE 2:
Control of a single-input single--output simulated process ~vith an unstable inverse.
The adaptive-predictive control system, previously described, has been implemented for the control of a simu-lated single-input single-output process, the inverse o~
1 ~ ~33~2 ~ -37-,:.
~vhich is unstable. ~hen the sarnpling period is chosen equal to 25 sec., the dynamic behavior of said simulated process is defined by the equa-tion:
yt(k) = 0.97512 yt(k-l) - 0.24708 yt(k-2) + 0.01426 yt(k-3) + 0.09465 ut(k-l) + 0.15042 ut(k-2) + 0.01262 ut(k-3) .
(71) ' 10 , ' ~ Yhere yt(k) and ut(k-l) are the true output and in-put of the process at lnstants k and k-l, respectively. This process takes approximately 250 sec. to reach a steady-sta-te output in response to a step input.
The simulation considers the measured process out-put yp(k) computed according to:
yp(k) = yt(k) + ny(k) (72) where ny(k) is a gaussian noise of zero mean and standard - deviation 5.
The true process input ut(k) is considered equal to the control up(k), but when a non-measurable disturbance is considered, then:
ut(k) = up(~) + nu (73) ~vhere nu is the considered non-measurable disturbance.
In this implementation of the adaptive-predictive control system, at every sampling instant k, the desired out-put trajectory was selected to minimize an index such as the third index considered in operation (f) supra. Also, the in-cremental control u~k) was explicitly computed from the de-sired incremen-tal output dl(k+r+l-~), with ~=1, instead of the clesired incremental output dl(k~r+l).
i337~
~ccordillg to the previously described circu~-: stances, at every sampling instant k, the sequence of opera-tions performed by -the adaptive-predictive control system . during its control action were:
v 5 - 1. Measurement of the process output yp(k)~ ac-cording to equation (72).
2. Given that the number of sampling time delays ~
considered for the process r is, in this case, equal to 0, .
and the integer ~ was chosen equal to l, the integer Y was chosen equal to 20 Consequen-tly, the incremental process output was computed by:
.
y(k) = yp(k) - yp(k-2) (74) 3. In the adaptive-predictive model, the integers . .
h, f and rl were chosen equal to 2, 3 and l, respectively, and no measurable disturbance was considered. Consequently, !
the estimated incremental process output d(k) was co~nputed .
by:
d(k) = ~ ai(k-1) y(k-l-i) + ~ bi(k-1) u(k~ ?5) i=l i=l I
~ where the incremental control u(k-i) is obtained by: , ,~ 25 u(k-i) = up(k-i) - up(k-i-2) (76) .
!
4. Computation of the estimation error vector as indicated in equ~tion 8.
5. Computation of the updated values at instant k of the parameters ai(k)(i=1, 2) and bi(~)(i=l, 3), according to the sin~le-input single-output case of equations (9), (10 and (12), taking into account that no disturbances were con-sidered and that the value of the coe:~ficients ~ai(k) and ~bi(k) ~vere set equal to 0.0125 and 0.0025, respectivelyO
. , .
337~'
. , .
337~'
6. The desired process output dp(k-~r~ ) became in this case dp(k-~2), given that r=0 and ~=1, and was com-puted by:
dp(~-~2) = 0.19514 y(k) - 0.05568 y(k-l) -~ 0.26547 v(k) + 0.33215 v(k-1) -~ 0.20773 v(k-2) (77) where v(k) is the sètpoint or driver block input at instant k, and the parameters of equation (77) were chosen equal to ~ those of a second order model with a sampling time delay, a : time constant of 2~ sec., a damping ratio and static gain equal to 1.
From dp(k~2) the desired incremental process output : 15 dl(k+2) is computed by:
`
dl(k+2) = dp(k+2) - yp(k) (78) . , ' .
dp(~-~2) = 0.19514 y(k) - 0.05568 y(k-l) -~ 0.26547 v(k) + 0.33215 v(k-1) -~ 0.20773 v(k-2) (77) where v(k) is the sètpoint or driver block input at instant k, and the parameters of equation (77) were chosen equal to ~ those of a second order model with a sampling time delay, a : time constant of 2~ sec., a damping ratio and static gain equal to 1.
From dp(k~2) the desired incremental process output : 15 dl(k+2) is computed by:
`
dl(k+2) = dp(k+2) - yp(k) (78) . , ' .
7. Computation of the control vector by:
(k)=[dl(k+2) - ~ ai(k) y(k+l~ bl(k)(up(k 2) - up(~-l)) i=l -b3(k) u(k-l)] / [bl(k) + b2(k)] (79) ' up(k) = u(k) + up(k-2) (gO)
(k)=[dl(k+2) - ~ ai(k) y(k+l~ bl(k)(up(k 2) - up(~-l)) i=l -b3(k) u(k-l)] / [bl(k) + b2(k)] (79) ' up(k) = u(k) + up(k-2) (gO)
8. Before being applied to the process, the value of the control up(k) was limited between 1,000 and 0, while 30 the absolute value of the incremental control u(k) was lim-ited to 1O0J although this increTnental limit was progres-: sively decreased until 2 whell the process output y(k) ap-proached the setpoint v(k).
fi33'~
~o .
Figure 5 shows the results of a 50 min. experimellt in which the slmulated process was controlled by the adaptive_predic-tive control system. The sampling period was 2~ s~c. .
In Figllre 5, the diagrams A, B and C represent, in the y-axis, the process output rneasurement yp(k)~ the true process output yt(k) and the control up(k), respectively, and in the x-axis the time in minutes. The initial values of the parameters of the adaptive-predictive model were:
bl() = ~l, b2(0) = 2, b3(0) = .l, al(0) = .6, a2(0) = -.3.
The control system~perfor~ed in its identification mode for .
four sampling instants before starting the control action. ~
When the control ac-tion star-ts, the setpoint is 300. This .
setpoint is changed to 600 at minute 20, and at minute 35 a .
non~measurable disturbance equal to 200 acts on the process.
In summary, the adaptive-predictive control system described uses a digital computer to accomplish the adaptive control of single-input single-output or mul-tivariable time-variant processes with known or unkno~rn parameters and with ( or without time delays, in such a way that the dynamic output ~, vector of the process is predicted and the control vector, to be applied to tlle process, is computed with the objective .
that the predicted dynamic output vector becomes equal to the desired dynamic process output vector and with the further ~
objective that the desired dynamic output vector and the said I
control vector optimize a chosen performance criterion in l ~vhich a future reference trajectory is explicitly considered, .
said reference trajectory being perio~ically redefined as a func-tion of the previously measured process output and evolving accord-ing to desirPd dynamics to the set point.
SAMPLE PROGRAr,~
An adaptive-predictive control program capable of controlling single-input, single-output processes with time delays, and which is based in the minimization of an index . 35 such as the one considered in equation ~20) supra is set 1 1 633~' forth in Table 1, infra. Consequently, this program is ~vritten in such a way that the predicted input sequence verifies conditions of equation (21) o:E the application, and the predicted output sequence veri.fies the condition of equation (22).
The variables of the program are classified and defined as follows:
Input-Output Variables: These variables define -the _ _ . .....
interaction between the APCS program and the process to be 10 controlled and they are the following:
~EAS: Process output measurement. This is a program input corresponding to the vector yp(k).
SP: Setpoint or deslred steady state value for the process outpu-t. This corresponds to vector v(~) and is usually set by the human operatorO
OUT: Input to be applied to the process. This is the program output when the control mode is performed, and a program input when the identification mocle is performed. This input corresponds to the vector up(k).
Structure Variables: These variables give great flexibility to the control program, in the sense that through . . an adequate choice in each particular case, the control pro-gram can satisfactorily control a large variety of single-input single-output processes operating under very different conditions, simply by taking into account some obvious characteristics ol each particular application. The choice .. of these variables can easily be made by the operator and they are:
IDENT: Integer equal to 1 when the identification mode is performed, and equal to zero when the control mode is performed..
. .... .. . , . . . ., .. , . . . , .. . -- , . ... .......... , .. ,,, . .~
--`` i 1 63372 PER Sampling period.
CT ~esired tlme constant -f rom which the driver block parameters are computedO
MR: Integer equal to -the number of sampllng ,periods (r in the above description) o~ time-delay o~ the process.
LND: Number of points of the predicted output'and input sequences considered in the computatlon of -the control signal, i.e. ~+1, supra.
MAP: Integer equal to the order o~ the adaptive-predic-tive model struc-ture (corresponding to h and f in the foregoing description).
RM: Value approximately equal to or bigger than twice ~ the standard deviation o~ the measurernent noise ', 20 acting on the process output.
CLICF: Physical incremental limit on the control signal.
LIMA, LIMI: Absolute limits on the con tI ol signal. ' In most o~ the cases'the previously considered structure variables will have,a certain constant value, as the one shown in the pro~ram example set forth, and the oper-ator will have only to set the sampling period, PER, and thetime-delay, NR, for each particular application.
~ 1 633~2 -~3-Other Variables o~ the Program: Other variables us~d in the following program example are defined as ~ol-lows:
IRTA: Integer equal to O at the first sampling in-stant and equal to 1 at the subsequent sam-pling instants. This variable permits an appropriate initializa-tion of the program at the first sampling instant.
NFAD: Number of initial sampling instants required by the data acquisition before per~orming identifica-tion or control mode.
A(),B(3 Adaptive-predictive model parameters.
ABP, BBP, Coefficients o~ the gradient parameter iden-CNST: ti~ication technique used in this example.
ACl, AC2 BC1, BC2: Driver block parameters.
SAL(K): Process output at the present samplin~ in-stant corresponding to yp(k) in the above description. ~;~
SAL(K+1): Process output at the sampling instant pre-vious to the present one.
30 SAL(K-LND-NR): Value o~ the desired process output trajec-tory, LND+NR instants ahead of the present sampling instant, which is computed in the driver block. This value is equal to the value dp(k+r+1+~) considered in equations (18A) and (23), supra.
. , . ' .
S~LI(K): Incremental process OUtp~lt at the present sampling instant, i.e. incremental va]ue of the process OlltpUt between the present sam~
pling instant and the immediately previous one. This corresponds to y(kj in the above description. Note that in this case inte-ger y considered in equation (1), supra, is equal to 1).
SALI(K+I): Incremental process output at I previous sam-pling instants.
SALI(K~ Value of the predicted incremental process .
output, I instants ahead of the present sam-pling instant, computed in the driver bloc~
assuming that the sequence of LND predicted - incremental process inputs is composed of values, all of them equal to zero.
.~' .
ENT(1): Process input a-t the present sarnpling instant corresponding to up(k) in the above descrip-tion.
ENT(2): Process input at the sampling instant previous to the present one.
:
ENTI(LND): Incremental process input at the present sam-pling period. This corresponds to the vector u(k) in the above description.
ENTI(I) Incremental process input at I-LND previous I > LND: sampling instants.
~ - .
.... ..
3 3 'i~ 2 ENTI(I) Predicted incremental process in~-lt LND-I
I < I.N~: instants ahead of the present sampling in-stant. These values are always equal to zero to veri~y the conditions set ~orth in equation (21), supra.
Z(LND): Setpoint a-t the present sampling period cor-responding to the vector v(k) in -the above description.
. ' Z(I) I > LND: Setpoint at I-LND previous sampling instants.
Z(I~ Predicted setpoint LND-I instants ahead o~ the I < LND: present sampling instant.
AD: Parameter which multiplied by ENTI~LND) deter-mines the increment in the predicted process output, at LND+NR instants ahead of the pre-sent sampling instant, caused by a sequence of LND predicted process inputs verifying the conditions of equation (21) supra> and such that the incremental process input at the pre-sent sampling instant is equal to ENTI(LND).
~25 DIN: Variable used at ~irst to compute the desired output increment between the desired process - output at LND+NR instants ahead o~ the present sampling instant and the present process out-put. Then, this variable is used to compute the control increment ENTI(LND) in such a way that the previously considered desired incre-ment is equal to the corresponding predicted increment and therefore the condition o~ equa-tion (23), supra~ is verified.
Z 1 6337~
-~6-D~V Absolute value of the difference between the process output and the setpoint at the present sampling instant.
DEVl: Part value of DEV. -CLICA, CLICB, Set of values which determines, from RM and CLIMA, CLIMI, ~EV, the incremental control limit to be im CLIS: posed to the control signal.
:'. 10 CLXDB, CLIDA: Values which determine from DEV the incremen-tal limit to be imposed to the desired process output trajectory.
:: . :
LIC: Incremental control limit. -LID: Incremental limit on the desired output tra-jectory.
', INIT: Variable used to reinitialize the adaptive-predictive model parameters if AD becomes negative. -IK: Integer which indicates the number of sampling instants transpired since the first one. This integer is limited to 200.
.~ . :
IC: Integer which indicates the number of control instants transpired since the first one~ and from which the value of LIC is made equal to 4 during the first four sampling instants. This integer is limited to 5.
As it can be seen, the progra~ variables are clas-35 sified in global and local variables. The global variables 1 ~ ~33'72 -~7-are those whose value mus-t be kel~t in memory f.rom one sam-pling insta.nt to the following one.
In conclusion, the sample program set fo-rth in the following Table 1 accomplishes the computation of the control signal through tlle verification of the conditions set forth .
in equations (21) and (22), supra, and consequently mini-miZillg an index such as the one clefined by equation (20), supra. Later on, the computed control signal is limit checked.
- ~ ~ 6337~
~ 3LE_l &APCS7 T=00003 IS ON (`R00135 USING 00010 Bl.KS R=0000 0001 C ~COPYRIGHT JUAN MARTI~ SANCHEZ 1980 0002 APCS PROGRAM(MEAS~sp~ouT) 0003 DIMENSION SAL(13),ENT(2),SALI(17),ENTI(16),Z(16),A(7),B~6),AB(5) 0004 DIMENSION BB(5), ADD(7) 0005 REAL LIMA,LI~II,LIC,LID,MEAS
000~ C
0009 C GLOBAL PER,CT,NR,LND,MAP,RM,CLICA,CLICB,CLIMA,CL,IMI,CLIS, 0010 C CLIDB,CLIDA,ACl,AC2,BCl,BC2,K,CNS'r,IK,LIC,LIMA,CLICF, 0011 C LIMI,IC,DEV
0012 C LOC~L INIT,PERCT,El.E,I,IM,D,ER,ALPIlA,DEVl,LID,AD,DIN
0014 IF(IRTA.EQ. 1) GO TO 100 0020 PER=l 0021 CT=1.5 0022 NR=0 0023 LND=5 0024 MAP=2 0025 RM=l.
0026 IDENT=O
0027 CLICF=50.
0028 LIMA=100.
0029 LIMI=0.
0031 C AP ~fODEL PARAMETERS INITIALIZATION
0033 INIT=0 0034 3 B(l)=.l 0035 ~(2)=.08 0036 B(3)=.1 0037 B(4)=.05 0038 B(5)=.02 0039 A(l)=l.
0040 A(2)=-.2 0041 A(3)=.05 0042 A(4)=.0 0043 A(5)=.0 0044 DO 2 I=MAP+l, 6 0045 A(I)=O-004~ 2 B(I)=0.
0047 IF(INIT. EQ. 1) GO TO 41 0049 C DRIVER BL.OCK PARAMETERS COMPUTATION
0051 PERCT=PER/CT
0052 ELE=l.-PERCT+.5*PERCT**2-(PERCT**3/6) 0053 ACl=l.-ELE*(l.+PERCT) 0054 AC2=ELE*(ELE-l.+PERCT) 0055 BCl=-2.*ELE
0056 BC2=ELE**2 3 3 ~ 2 .
oc 00~ Cl,ICA-50.
0061 CLICB=.2 0062 CLIMA=2.
0063 CLIMI=l.
0064 CLIS=.~
0065 CI.IDB=.2 0066 CLIDA=10.
0067 CNST=20.
0068 ABP=l.
0069 BBP=l.
0070 K=l~LND+NR
0071 NFAD=2~MAP+NR
0072 IK=O
0073 LIC=2.
0074 DO 9 I=l,LND
0075 9 ENTI(I)=O.
0076 LIMA=100.
0077 LIMI=O.
0078 IC=O
00~4 C
0087 IK=IK~l 0088 SAL(K+l~=SAL(K) 0089 ENT(2)=ENT(l) 0090 DO 29 I=l,NR+MAP
OOgl IM=LND~NR+MAP-I
0092 Z(IM+l)--Z(IM) 0093 29 ENTI(IM~l)=ENTI(IM) 0094 DO 14 I=l,MAP
0095 IM=K+MAP-I
0096 14 SALI(IM-~l)=SALI(IM) 0097 SAL(K)=MEAS
0098 Z(LND)=SP
0099 SALI(K)=SAL(K)-SAL(K+l) 0100 IF(IK.LT.NFAD) GO TO 16 0101 IF(IDENT.EQ.O) GO TO 15 0102 16 ENT(l)=OUT
0103 ENTI(LND)=ENT(l)-ENT(2) 0104 15 IF(IK.LT.NFAD) GO TO 250 0105 IF(IK.GT.200) IK=200 010~ C
0109 C CO~IPUTATION OF THE DEVIATION
0111 DEVl=DEV
0112 DEV=~BS(SAL(K)-Z(LND)) 0116 IF(DEV.LT.RM) GO TO 41 0117 IF(DEVl.LT.RM) GO TO 41 -50~ 633 ~
~119 C AP MODEL GRADIENT PARAMETER IDENTIFICATION
0121 D=0 0122 DO 20 I=l~MAP
0123 D=B(I)*ENTI(LND+NR-~I)+A(I)*SALI(K+I)-~D
0124 AB(I)=ABP*ABS(A(I)) 0125 BB(I)=BBp*ABs(B(I)) 0126 IF(AB(I).LTØ001) AB(I)=.001 0127 20 IF(BB(I).LTØ001) BB(I)=.001 0128 ER=SALI(K)-D
0129 ALPHA=CNST
0130 DO 25 I=l~MAP
0131 25 ALPHA=ALPHA+BB(I)*ENTI(LND~NR-~I)**2-~AB(I)*SALI(K~1)**2 0132 DO 30 I=l~MAP
0133 B(I)=B(I)+BB(I)*ER*ENTI(LND+NR+I)/ALPHA
0134 30 A(I)=A(I)+AB(I)*ER*SALI(K+I)/ALPHA
0139 AD=B(l) 0140 IF(LND.EQ.l) GO TO 37 0141 ADD(l)=B(l) 0142 DO 36 I=2~LND
0143 ADD(I)=0.
0144 DO 46 J=l, I-l 0145 46 ADD(I)=A(J)*ADD(I-J)+ADD(I) 0146 ADD(I)=ADD(I)+B(I) 0147 36 AD=AD+ADD(I) 0148 37 IF(IDENT.EQ.l) GO TO 250 0149 IC=IC+l 0150 INIT=0 0154 IF(AD.LTØ ) INIT=l 0155 IF(INIT.EQ. 1) GO TO 3 0159 IF(DEV.LT.2*RM) GO TO 90 0160 LIC=CLICB*DEV+CLICA
0162 90 LIC=CLIS*LIC
0163 IF(LIC.LT.2.*RM) LIC=CLIMA
0164 IF LIC.EQ.CLIMA.AND.~DEV.LT.RM) LIC-CLIMI*DEV
0165 IF(LIC~EQ.CLIMA.AND.DEVl.LT.RM) LIC = CLIMI*DEV
0166 150 IF(IC.LT.5) LIC=4 0167 IF(IC.GT.5)IC=5 0168 IF(LIC.GT.CLICF) LIC=CLICF
0169 LID=CLIDB*DEV+CLIDA
0172 C DRIVER BLOCK DESIRED OUTPUT LND~NR INSTANTS AHEAD
0174 DO 151 I=l~LND
0175 151 Z(I)=Z(LND) 0176 DO 153 I=l~LND+NR
0177 SAL(K~I)=ACl*Z(LND+NR+l-I)+AC2*Z(LND+NR+2-I) 017~ 153 SAL(K-I)=SAL(K-I)-BCl*SAL(K+l-I)-BC2*SAL(K+2-I) ~: i ,1 -- ~ 1 6 3 3 ~ 2 01' C
01~,~ C INCREMENTAL LIMITS ON TIIE ~)RSI~ .D OUTPUT
0182 DIN=SAL(K-LND-NR)-SAL(K) 0183 IF(DIN.GT.LID) DIN=LID
0184 IF(DIN.LT.-LID) DIN=-LID
0186 C CONTROL BLOC~-CONTROL SIGNAL COMPUTATION
0188 ENTI(LND)=0.
0189 DO 155 I=l,LND+NR
0190 SALI(K-I)=O.
0191 DO 145 J=l,MAP
0192 145 SALI(K-I)=A(J)*SALI(K+J-I)-~B(J)*ENTI(LND~J-~NR-I)-~SAIJI(K-I) 0193 155 DIN=DIN-SALI(K-I) 0194 ENTI(LND)=DIN/AD
0195 ENT(l)=ENT(2)-~ENTI(LND) 0199 IF(ENT(l).GT.LIMA) ENT(l)=LIMA
0200 IF(ENT~l).LT.LIMI) ENT(l)=LIMI
0201 ENTI(LND)=ENT(l)-ENT(2) 0202 IF~ENTI(LND).GT.LIC) ENTI(LND)=LIC
0203 IF(ENTI(LND).LT.-LIC) ENTI(LND)=-LIC
0204 ENT(l)=ENT(2)-~ENTI(LND) 0205 240 OUT=ENT(l) 0209 C ~COPYRIGHT JUAN MARTIN SANCHEZ 1980 ~ :1 63~
The l~resent invention may be embodied in other spe-- cific ~orms without cleparting from the spirit or essentlal attributes thereof and, accordingly, re-ference should be made to the appended claims, ra-ther than to the foregolng specifi-catlon as ind1c~t~ng the scope of the inventlon.
, ' , ',,.
.' ' . ~1 : ~1' .
- . .
,.
~, .
fi33'~
~o .
Figure 5 shows the results of a 50 min. experimellt in which the slmulated process was controlled by the adaptive_predic-tive control system. The sampling period was 2~ s~c. .
In Figllre 5, the diagrams A, B and C represent, in the y-axis, the process output rneasurement yp(k)~ the true process output yt(k) and the control up(k), respectively, and in the x-axis the time in minutes. The initial values of the parameters of the adaptive-predictive model were:
bl() = ~l, b2(0) = 2, b3(0) = .l, al(0) = .6, a2(0) = -.3.
The control system~perfor~ed in its identification mode for .
four sampling instants before starting the control action. ~
When the control ac-tion star-ts, the setpoint is 300. This .
setpoint is changed to 600 at minute 20, and at minute 35 a .
non~measurable disturbance equal to 200 acts on the process.
In summary, the adaptive-predictive control system described uses a digital computer to accomplish the adaptive control of single-input single-output or mul-tivariable time-variant processes with known or unkno~rn parameters and with ( or without time delays, in such a way that the dynamic output ~, vector of the process is predicted and the control vector, to be applied to tlle process, is computed with the objective .
that the predicted dynamic output vector becomes equal to the desired dynamic process output vector and with the further ~
objective that the desired dynamic output vector and the said I
control vector optimize a chosen performance criterion in l ~vhich a future reference trajectory is explicitly considered, .
said reference trajectory being perio~ically redefined as a func-tion of the previously measured process output and evolving accord-ing to desirPd dynamics to the set point.
SAMPLE PROGRAr,~
An adaptive-predictive control program capable of controlling single-input, single-output processes with time delays, and which is based in the minimization of an index . 35 such as the one considered in equation ~20) supra is set 1 1 633~' forth in Table 1, infra. Consequently, this program is ~vritten in such a way that the predicted input sequence verifies conditions of equation (21) o:E the application, and the predicted output sequence veri.fies the condition of equation (22).
The variables of the program are classified and defined as follows:
Input-Output Variables: These variables define -the _ _ . .....
interaction between the APCS program and the process to be 10 controlled and they are the following:
~EAS: Process output measurement. This is a program input corresponding to the vector yp(k).
SP: Setpoint or deslred steady state value for the process outpu-t. This corresponds to vector v(~) and is usually set by the human operatorO
OUT: Input to be applied to the process. This is the program output when the control mode is performed, and a program input when the identification mocle is performed. This input corresponds to the vector up(k).
Structure Variables: These variables give great flexibility to the control program, in the sense that through . . an adequate choice in each particular case, the control pro-gram can satisfactorily control a large variety of single-input single-output processes operating under very different conditions, simply by taking into account some obvious characteristics ol each particular application. The choice .. of these variables can easily be made by the operator and they are:
IDENT: Integer equal to 1 when the identification mode is performed, and equal to zero when the control mode is performed..
. .... .. . , . . . ., .. , . . . , .. . -- , . ... .......... , .. ,,, . .~
--`` i 1 63372 PER Sampling period.
CT ~esired tlme constant -f rom which the driver block parameters are computedO
MR: Integer equal to -the number of sampllng ,periods (r in the above description) o~ time-delay o~ the process.
LND: Number of points of the predicted output'and input sequences considered in the computatlon of -the control signal, i.e. ~+1, supra.
MAP: Integer equal to the order o~ the adaptive-predic-tive model struc-ture (corresponding to h and f in the foregoing description).
RM: Value approximately equal to or bigger than twice ~ the standard deviation o~ the measurernent noise ', 20 acting on the process output.
CLICF: Physical incremental limit on the control signal.
LIMA, LIMI: Absolute limits on the con tI ol signal. ' In most o~ the cases'the previously considered structure variables will have,a certain constant value, as the one shown in the pro~ram example set forth, and the oper-ator will have only to set the sampling period, PER, and thetime-delay, NR, for each particular application.
~ 1 633~2 -~3-Other Variables o~ the Program: Other variables us~d in the following program example are defined as ~ol-lows:
IRTA: Integer equal to O at the first sampling in-stant and equal to 1 at the subsequent sam-pling instants. This variable permits an appropriate initializa-tion of the program at the first sampling instant.
NFAD: Number of initial sampling instants required by the data acquisition before per~orming identifica-tion or control mode.
A(),B(3 Adaptive-predictive model parameters.
ABP, BBP, Coefficients o~ the gradient parameter iden-CNST: ti~ication technique used in this example.
ACl, AC2 BC1, BC2: Driver block parameters.
SAL(K): Process output at the present samplin~ in-stant corresponding to yp(k) in the above description. ~;~
SAL(K+1): Process output at the sampling instant pre-vious to the present one.
30 SAL(K-LND-NR): Value o~ the desired process output trajec-tory, LND+NR instants ahead of the present sampling instant, which is computed in the driver block. This value is equal to the value dp(k+r+1+~) considered in equations (18A) and (23), supra.
. , . ' .
S~LI(K): Incremental process OUtp~lt at the present sampling instant, i.e. incremental va]ue of the process OlltpUt between the present sam~
pling instant and the immediately previous one. This corresponds to y(kj in the above description. Note that in this case inte-ger y considered in equation (1), supra, is equal to 1).
SALI(K+I): Incremental process output at I previous sam-pling instants.
SALI(K~ Value of the predicted incremental process .
output, I instants ahead of the present sam-pling instant, computed in the driver bloc~
assuming that the sequence of LND predicted - incremental process inputs is composed of values, all of them equal to zero.
.~' .
ENT(1): Process input a-t the present sarnpling instant corresponding to up(k) in the above descrip-tion.
ENT(2): Process input at the sampling instant previous to the present one.
:
ENTI(LND): Incremental process input at the present sam-pling period. This corresponds to the vector u(k) in the above description.
ENTI(I) Incremental process input at I-LND previous I > LND: sampling instants.
~ - .
.... ..
3 3 'i~ 2 ENTI(I) Predicted incremental process in~-lt LND-I
I < I.N~: instants ahead of the present sampling in-stant. These values are always equal to zero to veri~y the conditions set ~orth in equation (21), supra.
Z(LND): Setpoint a-t the present sampling period cor-responding to the vector v(k) in -the above description.
. ' Z(I) I > LND: Setpoint at I-LND previous sampling instants.
Z(I~ Predicted setpoint LND-I instants ahead o~ the I < LND: present sampling instant.
AD: Parameter which multiplied by ENTI~LND) deter-mines the increment in the predicted process output, at LND+NR instants ahead of the pre-sent sampling instant, caused by a sequence of LND predicted process inputs verifying the conditions of equation (21) supra> and such that the incremental process input at the pre-sent sampling instant is equal to ENTI(LND).
~25 DIN: Variable used at ~irst to compute the desired output increment between the desired process - output at LND+NR instants ahead o~ the present sampling instant and the present process out-put. Then, this variable is used to compute the control increment ENTI(LND) in such a way that the previously considered desired incre-ment is equal to the corresponding predicted increment and therefore the condition o~ equa-tion (23), supra~ is verified.
Z 1 6337~
-~6-D~V Absolute value of the difference between the process output and the setpoint at the present sampling instant.
DEVl: Part value of DEV. -CLICA, CLICB, Set of values which determines, from RM and CLIMA, CLIMI, ~EV, the incremental control limit to be im CLIS: posed to the control signal.
:'. 10 CLXDB, CLIDA: Values which determine from DEV the incremen-tal limit to be imposed to the desired process output trajectory.
:: . :
LIC: Incremental control limit. -LID: Incremental limit on the desired output tra-jectory.
', INIT: Variable used to reinitialize the adaptive-predictive model parameters if AD becomes negative. -IK: Integer which indicates the number of sampling instants transpired since the first one. This integer is limited to 200.
.~ . :
IC: Integer which indicates the number of control instants transpired since the first one~ and from which the value of LIC is made equal to 4 during the first four sampling instants. This integer is limited to 5.
As it can be seen, the progra~ variables are clas-35 sified in global and local variables. The global variables 1 ~ ~33'72 -~7-are those whose value mus-t be kel~t in memory f.rom one sam-pling insta.nt to the following one.
In conclusion, the sample program set fo-rth in the following Table 1 accomplishes the computation of the control signal through tlle verification of the conditions set forth .
in equations (21) and (22), supra, and consequently mini-miZillg an index such as the one clefined by equation (20), supra. Later on, the computed control signal is limit checked.
- ~ ~ 6337~
~ 3LE_l &APCS7 T=00003 IS ON (`R00135 USING 00010 Bl.KS R=0000 0001 C ~COPYRIGHT JUAN MARTI~ SANCHEZ 1980 0002 APCS PROGRAM(MEAS~sp~ouT) 0003 DIMENSION SAL(13),ENT(2),SALI(17),ENTI(16),Z(16),A(7),B~6),AB(5) 0004 DIMENSION BB(5), ADD(7) 0005 REAL LIMA,LI~II,LIC,LID,MEAS
000~ C
0009 C GLOBAL PER,CT,NR,LND,MAP,RM,CLICA,CLICB,CLIMA,CL,IMI,CLIS, 0010 C CLIDB,CLIDA,ACl,AC2,BCl,BC2,K,CNS'r,IK,LIC,LIMA,CLICF, 0011 C LIMI,IC,DEV
0012 C LOC~L INIT,PERCT,El.E,I,IM,D,ER,ALPIlA,DEVl,LID,AD,DIN
0014 IF(IRTA.EQ. 1) GO TO 100 0020 PER=l 0021 CT=1.5 0022 NR=0 0023 LND=5 0024 MAP=2 0025 RM=l.
0026 IDENT=O
0027 CLICF=50.
0028 LIMA=100.
0029 LIMI=0.
0031 C AP ~fODEL PARAMETERS INITIALIZATION
0033 INIT=0 0034 3 B(l)=.l 0035 ~(2)=.08 0036 B(3)=.1 0037 B(4)=.05 0038 B(5)=.02 0039 A(l)=l.
0040 A(2)=-.2 0041 A(3)=.05 0042 A(4)=.0 0043 A(5)=.0 0044 DO 2 I=MAP+l, 6 0045 A(I)=O-004~ 2 B(I)=0.
0047 IF(INIT. EQ. 1) GO TO 41 0049 C DRIVER BL.OCK PARAMETERS COMPUTATION
0051 PERCT=PER/CT
0052 ELE=l.-PERCT+.5*PERCT**2-(PERCT**3/6) 0053 ACl=l.-ELE*(l.+PERCT) 0054 AC2=ELE*(ELE-l.+PERCT) 0055 BCl=-2.*ELE
0056 BC2=ELE**2 3 3 ~ 2 .
oc 00~ Cl,ICA-50.
0061 CLICB=.2 0062 CLIMA=2.
0063 CLIMI=l.
0064 CLIS=.~
0065 CI.IDB=.2 0066 CLIDA=10.
0067 CNST=20.
0068 ABP=l.
0069 BBP=l.
0070 K=l~LND+NR
0071 NFAD=2~MAP+NR
0072 IK=O
0073 LIC=2.
0074 DO 9 I=l,LND
0075 9 ENTI(I)=O.
0076 LIMA=100.
0077 LIMI=O.
0078 IC=O
00~4 C
0087 IK=IK~l 0088 SAL(K+l~=SAL(K) 0089 ENT(2)=ENT(l) 0090 DO 29 I=l,NR+MAP
OOgl IM=LND~NR+MAP-I
0092 Z(IM+l)--Z(IM) 0093 29 ENTI(IM~l)=ENTI(IM) 0094 DO 14 I=l,MAP
0095 IM=K+MAP-I
0096 14 SALI(IM-~l)=SALI(IM) 0097 SAL(K)=MEAS
0098 Z(LND)=SP
0099 SALI(K)=SAL(K)-SAL(K+l) 0100 IF(IK.LT.NFAD) GO TO 16 0101 IF(IDENT.EQ.O) GO TO 15 0102 16 ENT(l)=OUT
0103 ENTI(LND)=ENT(l)-ENT(2) 0104 15 IF(IK.LT.NFAD) GO TO 250 0105 IF(IK.GT.200) IK=200 010~ C
0109 C CO~IPUTATION OF THE DEVIATION
0111 DEVl=DEV
0112 DEV=~BS(SAL(K)-Z(LND)) 0116 IF(DEV.LT.RM) GO TO 41 0117 IF(DEVl.LT.RM) GO TO 41 -50~ 633 ~
~119 C AP MODEL GRADIENT PARAMETER IDENTIFICATION
0121 D=0 0122 DO 20 I=l~MAP
0123 D=B(I)*ENTI(LND+NR-~I)+A(I)*SALI(K+I)-~D
0124 AB(I)=ABP*ABS(A(I)) 0125 BB(I)=BBp*ABs(B(I)) 0126 IF(AB(I).LTØ001) AB(I)=.001 0127 20 IF(BB(I).LTØ001) BB(I)=.001 0128 ER=SALI(K)-D
0129 ALPHA=CNST
0130 DO 25 I=l~MAP
0131 25 ALPHA=ALPHA+BB(I)*ENTI(LND~NR-~I)**2-~AB(I)*SALI(K~1)**2 0132 DO 30 I=l~MAP
0133 B(I)=B(I)+BB(I)*ER*ENTI(LND+NR+I)/ALPHA
0134 30 A(I)=A(I)+AB(I)*ER*SALI(K+I)/ALPHA
0139 AD=B(l) 0140 IF(LND.EQ.l) GO TO 37 0141 ADD(l)=B(l) 0142 DO 36 I=2~LND
0143 ADD(I)=0.
0144 DO 46 J=l, I-l 0145 46 ADD(I)=A(J)*ADD(I-J)+ADD(I) 0146 ADD(I)=ADD(I)+B(I) 0147 36 AD=AD+ADD(I) 0148 37 IF(IDENT.EQ.l) GO TO 250 0149 IC=IC+l 0150 INIT=0 0154 IF(AD.LTØ ) INIT=l 0155 IF(INIT.EQ. 1) GO TO 3 0159 IF(DEV.LT.2*RM) GO TO 90 0160 LIC=CLICB*DEV+CLICA
0162 90 LIC=CLIS*LIC
0163 IF(LIC.LT.2.*RM) LIC=CLIMA
0164 IF LIC.EQ.CLIMA.AND.~DEV.LT.RM) LIC-CLIMI*DEV
0165 IF(LIC~EQ.CLIMA.AND.DEVl.LT.RM) LIC = CLIMI*DEV
0166 150 IF(IC.LT.5) LIC=4 0167 IF(IC.GT.5)IC=5 0168 IF(LIC.GT.CLICF) LIC=CLICF
0169 LID=CLIDB*DEV+CLIDA
0172 C DRIVER BLOCK DESIRED OUTPUT LND~NR INSTANTS AHEAD
0174 DO 151 I=l~LND
0175 151 Z(I)=Z(LND) 0176 DO 153 I=l~LND+NR
0177 SAL(K~I)=ACl*Z(LND+NR+l-I)+AC2*Z(LND+NR+2-I) 017~ 153 SAL(K-I)=SAL(K-I)-BCl*SAL(K+l-I)-BC2*SAL(K+2-I) ~: i ,1 -- ~ 1 6 3 3 ~ 2 01' C
01~,~ C INCREMENTAL LIMITS ON TIIE ~)RSI~ .D OUTPUT
0182 DIN=SAL(K-LND-NR)-SAL(K) 0183 IF(DIN.GT.LID) DIN=LID
0184 IF(DIN.LT.-LID) DIN=-LID
0186 C CONTROL BLOC~-CONTROL SIGNAL COMPUTATION
0188 ENTI(LND)=0.
0189 DO 155 I=l,LND+NR
0190 SALI(K-I)=O.
0191 DO 145 J=l,MAP
0192 145 SALI(K-I)=A(J)*SALI(K+J-I)-~B(J)*ENTI(LND~J-~NR-I)-~SAIJI(K-I) 0193 155 DIN=DIN-SALI(K-I) 0194 ENTI(LND)=DIN/AD
0195 ENT(l)=ENT(2)-~ENTI(LND) 0199 IF(ENT(l).GT.LIMA) ENT(l)=LIMA
0200 IF(ENT~l).LT.LIMI) ENT(l)=LIMI
0201 ENTI(LND)=ENT(l)-ENT(2) 0202 IF~ENTI(LND).GT.LIC) ENTI(LND)=LIC
0203 IF(ENTI(LND).LT.-LIC) ENTI(LND)=-LIC
0204 ENT(l)=ENT(2)-~ENTI(LND) 0205 240 OUT=ENT(l) 0209 C ~COPYRIGHT JUAN MARTIN SANCHEZ 1980 ~ :1 63~
The l~resent invention may be embodied in other spe-- cific ~orms without cleparting from the spirit or essentlal attributes thereof and, accordingly, re-ference should be made to the appended claims, ra-ther than to the foregolng specifi-catlon as ind1c~t~ng the scope of the inventlon.
, ' , ',,.
.' ' . ~1 : ~1' .
- . .
,.
~, .
Claims (21)
1. A method for generating a control vector during each of a plurality of sampling instants k, said control vec-tor to be applied to an apparatus which carries out a process having at least one input variable and at least one output variable, at least one of said input variables defining a process input vector, said apparatus varying said process input vector in accordance with the value of said control vector, said method comprising the steps of:
(A) storing a model which is capable of predicting the trajectory of a dynamic process output vector, which vec-tor is composed of at least one of said process output vari-ables, between future sampling instants k+r+1 and k+r+1+.lambda., .lambda. being a positive integer, as a function of a future sequence of said control vectors between sampling instants k and k+.lambda.;
(B) selecting, at each of said sampling instants k, a desired dynamic process output trajectory between sampling instants k+r+1 and k+r+1+.lambda., said desired dynamic process output trajectory being equal to that specific process output trajectory between sampling instants k+r+1 and k+r+1+.lambda., which said model predicts would be caused by a specific future se-quence of control vectors between sampling instants k and k+.lambda., and such that said specific process output trajectory and said specific future control sequence optimize a chosen performance criterion defined by an index which includes a first set of weighting matrices corresponding to the set of dynamic process output vectors included in the process out-put trajectory predicted by said model and a second set of weighting matrices corresponding to the set of the control vectors included in the sequence of control vectors that said model predicts will cause said process output trajec-tory, said weighting matrices being selected such that said index may be minimized without requiring the solution of a Ricatti equation; and (C) generating, at each of said sampling instants k, that control vector which said model predicts will cause said dynamic process output vector at sampling instant k+r+1 to be equal to the value of said desired dynamic process output trajectory at said sampling instant k+r+1, such that said control vector is equal to the value at sampling in-stant k of said specific control vector sequence and thereby optimizes said chosen performance criterion.
(A) storing a model which is capable of predicting the trajectory of a dynamic process output vector, which vec-tor is composed of at least one of said process output vari-ables, between future sampling instants k+r+1 and k+r+1+.lambda., .lambda. being a positive integer, as a function of a future sequence of said control vectors between sampling instants k and k+.lambda.;
(B) selecting, at each of said sampling instants k, a desired dynamic process output trajectory between sampling instants k+r+1 and k+r+1+.lambda., said desired dynamic process output trajectory being equal to that specific process output trajectory between sampling instants k+r+1 and k+r+1+.lambda., which said model predicts would be caused by a specific future se-quence of control vectors between sampling instants k and k+.lambda., and such that said specific process output trajectory and said specific future control sequence optimize a chosen performance criterion defined by an index which includes a first set of weighting matrices corresponding to the set of dynamic process output vectors included in the process out-put trajectory predicted by said model and a second set of weighting matrices corresponding to the set of the control vectors included in the sequence of control vectors that said model predicts will cause said process output trajec-tory, said weighting matrices being selected such that said index may be minimized without requiring the solution of a Ricatti equation; and (C) generating, at each of said sampling instants k, that control vector which said model predicts will cause said dynamic process output vector at sampling instant k+r+1 to be equal to the value of said desired dynamic process output trajectory at said sampling instant k+r+1, such that said control vector is equal to the value at sampling in-stant k of said specific control vector sequence and thereby optimizes said chosen performance criterion.
2. The method of claim 1, further comprising the step of periodically updating the parameters of said model in such a manner that the difference between the actual dynamic process output vector at sampling instant k+r+1 and the dynamic process output vector which said model pre-dicts would result at said sampling instant k+r+1 is reduced towards 0, said step of periodically updating the parameters of said model including the steps of:
(A) periodically generating, in accordance with said adaptive-predictive model as updated at a prior sam-pling instant, an estimation vector d(k) representative of either an output vector, a control vector or a measurable disturbance vector of said process being controlled at a given sampling instant;
(B) periodically generating an estimated error vec-tor representative of the difference between said estimation vector at said given sampling instant and the actual value of the vector estimated by said estimation vector at said given sampling instant; and (C) periodically modifying the parameters of said model as a function of said estimated error vector.
(A) periodically generating, in accordance with said adaptive-predictive model as updated at a prior sam-pling instant, an estimation vector d(k) representative of either an output vector, a control vector or a measurable disturbance vector of said process being controlled at a given sampling instant;
(B) periodically generating an estimated error vec-tor representative of the difference between said estimation vector at said given sampling instant and the actual value of the vector estimated by said estimation vector at said given sampling instant; and (C) periodically modifying the parameters of said model as a function of said estimated error vector.
3. The method of claim 2, wherein optimization of said chosen performance criterion is obtained by minimizing the value of said index, said index varying as a function of at least one of a reference trajectory of process output vectors, a setpoint of said process, previously measured process output and control vectors, constraints on the per-missible value of said control vectors and any other para-meter or variables that influence the control performance of said process.
4. The method of claim 3, wherein said index varies as a function of the difference between the values of the process output vector trajectory predicted by said adaptive-predictive model and the values of said reference trajectory and also as a function of the incremental values of the con-trol vector sequence that said model predicts will generate said values of said process output vector trajectory.
5. The method of claim 4, wherein the minimization of said index is obtained when said future specific control sequence is assumed constant from instant k to instant k+.lambda..
6. The method of claim 2, further includ-ing the step of generating an incremental vector indicative of the difference betwen the actual value of said one of said control, output or measurable disturbance vectors at said given sampling instant and the actual value of said one of said control, output or measurable disturbance vectors at an earlier sampling instant; wherein said estimation vec-tor is the value of said incremental vector estimated by said model as updated at said prior sampling instant; and wherein said step of generating an estimated error vector comprises the step of determining the difference between the value of said incremental vector and the value of said esti-mation vector.
7. The method of claim 6, wherein said step of generating said control vector includes the step of genera-ting an incremental control vector, representative of the incremental variation in the input vector of said process, which said model predicts will cause an incremental varia-tion in said dynamic process output vector such that said dynamic process output vector at said sampling instant k+r+1 will be equal to the value of said desired dynamic process output trajectory at said sampling instant k+r+1.
8. A system for generating a control vector during each of a plurality of sampling instants k, said control vector to be applied to an apparatus which carries out a process having at least one input variable and at least one output variable, at least one of said input variables de-fining a process input vector, said apparatus varying said process input vector in accordance with the value of said control vector, said system comprising:
(A) means for storing a model which is capable of predicting the trajectory of a dynamic process output vec-tor, which vector is composed of at least one of said pro-cess output variables, between future sampling instants k+r+1 and k+r+1+.lambda., .lambda. being a positive integer, as a func-tion of a future sequence of said control vector between sampling instants k and k+.lambda.;
(B) means for selecting, at each of said sampling instants k, a desired dynamic process output trajectory be-tween sampling instants k+r+1 and k+r+1+.lambda., said desired dynamic process output trajectory being equal to a specific process output trajectory between sampling instants k+r+1 and k+r+1+.lambda., that said model predicts would be caused by a specific future sequence of control vectors between sampling instants k and k+.lambda., and such that said specific process out-put trajectory and said specific future control sequence optimize a chosen performance criterion defined by an index which includes a first set of weighting matrices correspond-ing to the set of dynamic process output vectors included in the process output trajectory predicted by said model and a second set of weighting matrices corresponding to the set of the control vector included in the sequence of control vectors that said model predicts will cause said process out-put trajectory, said weighting matrices being selected such that said index may be minimized without requiring the solu-tion of a Ricatti equation; and (C) means for generating, at each of said sampling instants k, that control vector which said model predicts will cause said dynamic process output vector at sampling instant k+r+1 to be equal to the value of said desired dyna-mic process output trajectory at said sampling instant k+r+1, such that said control vector is equal to the value at sam-pling instant k of said specific control vector sequence and thereby optimizes said chosen performance criterion.
(A) means for storing a model which is capable of predicting the trajectory of a dynamic process output vec-tor, which vector is composed of at least one of said pro-cess output variables, between future sampling instants k+r+1 and k+r+1+.lambda., .lambda. being a positive integer, as a func-tion of a future sequence of said control vector between sampling instants k and k+.lambda.;
(B) means for selecting, at each of said sampling instants k, a desired dynamic process output trajectory be-tween sampling instants k+r+1 and k+r+1+.lambda., said desired dynamic process output trajectory being equal to a specific process output trajectory between sampling instants k+r+1 and k+r+1+.lambda., that said model predicts would be caused by a specific future sequence of control vectors between sampling instants k and k+.lambda., and such that said specific process out-put trajectory and said specific future control sequence optimize a chosen performance criterion defined by an index which includes a first set of weighting matrices correspond-ing to the set of dynamic process output vectors included in the process output trajectory predicted by said model and a second set of weighting matrices corresponding to the set of the control vector included in the sequence of control vectors that said model predicts will cause said process out-put trajectory, said weighting matrices being selected such that said index may be minimized without requiring the solu-tion of a Ricatti equation; and (C) means for generating, at each of said sampling instants k, that control vector which said model predicts will cause said dynamic process output vector at sampling instant k+r+1 to be equal to the value of said desired dyna-mic process output trajectory at said sampling instant k+r+1, such that said control vector is equal to the value at sam-pling instant k of said specific control vector sequence and thereby optimizes said chosen performance criterion.
9. The system of claim 8, further comprising:
means for periodically updating the parameters of said model in such a manner that the difference between the actual dynamic process output vector at sampling instant k+r+1 and the dynamic process output vector which said model predicts would result at said sampling instant k+r+1 is re-duced toward zero, said updating means updating the para-meters of said model by:
(A) periodically generating, in accordance with said adaptive-predictive model as updated at a prior sampling instant, an estimation vector d(k) representative of either an output vector, a control vector, or a measurable distur-bance vector of said process being controlled at a given sam-pling instant;
(B) periodically generating an estimated error vector representative of the difference between said estima-tion vector at said given sampling instant and the actual value of said vector estimated by said estimation vector at said given sampling instant; and (C) periodically modifying the parameters of said model as a function of said estimated error vector.
means for periodically updating the parameters of said model in such a manner that the difference between the actual dynamic process output vector at sampling instant k+r+1 and the dynamic process output vector which said model predicts would result at said sampling instant k+r+1 is re-duced toward zero, said updating means updating the para-meters of said model by:
(A) periodically generating, in accordance with said adaptive-predictive model as updated at a prior sampling instant, an estimation vector d(k) representative of either an output vector, a control vector, or a measurable distur-bance vector of said process being controlled at a given sam-pling instant;
(B) periodically generating an estimated error vector representative of the difference between said estima-tion vector at said given sampling instant and the actual value of said vector estimated by said estimation vector at said given sampling instant; and (C) periodically modifying the parameters of said model as a function of said estimated error vector.
10. The system of claim 9, wherein optimization of said chosen performance criterion is obtained by minimizing the value of said index, said index varying as a function of at least one of a reference trajectory of process output vec-tors, a setpoint of said process, previously measured pro-cess output and control vector sequences, constraints on the permissible value of said control vector and any other para-meter or variables that influence the control performance of said process.
11. The system of claim 10, wherein said index varies as a function of the difference between the values of the process output vector trajectory predicted by said adaptive-predictive model and the values of said reference trajectory and is also a function of the incremental values of the control vector sequence that said adaptive-predictive model predicts will generate said values of said process out-put vector trajectory.
12. The system of claim 11, wherein the minimiza-tion of said index is obtained when said future specific control sequence is assumed constant from instant k to in-stant k+.lambda..
13. The system of claim 8, further in-cluding means for generating an incremental vector indica-tive of the difference between the actual value of said one of said control, output or measurable disturbance vectors at said given sampling instant and the actual value of said one of said control, output or measurable disturbance vec-tors at an earlier sampling instant; and wherein:
said estimation vector is the value estimated by said model, as updated at said prior sampling instant, of said incremental vector; and said means for periodically updating the parameters of said model generates said estimated error vector by de-termining the difference between the value of said incremen-tal vector and the value of said estimation vector.
said estimation vector is the value estimated by said model, as updated at said prior sampling instant, of said incremental vector; and said means for periodically updating the parameters of said model generates said estimated error vector by de-termining the difference between the value of said incremen-tal vector and the value of said estimation vector.
14. The system of claim 13, wherein said means for generating said control vector includes means for generating an incremental control vector representative of the incremen-tal variation in the input vector of said process, which said model predicts will cause an incremental variation in said dynamic process output vector such that said dynamic process output vector at said sampling instant k+r+1 will be equal to the value of said desired dynamic process output trajectory at said sampling instant k+r+1.
15. The method of claim 3, wherein said reference trajectory is periodically redefined as a function of the previously measured process outputs and evolves according to desired dynamics to the setpoint.
16. The system of claim 10, wherein said reference trajectory is periodically redefined as a function of the previously measured process outputs and evolves according to desired dynamics to the setpoint.
17. The method of claim 1, wherein optimization of said chosen performance criterion is obtained by mini-mizing the value of said index, said index varying at the function of at least one of a reference trajectory of pro-cess output vectors, a setpoint of said process, previously measured process and control vectors, constraints on the permissible value of said control vectors and any other parameter or variables that influence the control perform-ance of said process.
18. The method of claim 17, wherein said index varies as a function of the difference between the values of the process output vector trajectory predicted by said adaptive-predictive model and the values of said reference trajectory and also as a function of the incremental values of the control vector sequence that said adaptive-predictive model predicts will generate said values of said process out-put vector trajectory.
19. The method of claim 18, wherein the minimiza-tion of said index is obtained when said future specific control sequence is assumed constant from instant k to in-stant k+.lambda..
20. The method of claim 1, wherein at least one weighting matrix of said second set of weighting matrices is different than a second weighting matrix of said second set of weighting matrices.
21. The system of claim 11 or 12, further includ-ing means for generating an incremental vector indicative of the difference between the actual value of said one of said control, output or measurable disturbance vectors at said given sampling instant and the actual value of said one of said control, output or measurable disturbance vectors at an earlier sampling instant; and wherein:
said estimation vector is the value estimated by said model, as updated at said prior sampling instant, of said incremental vector; and said means for periodically updating the parameters of said model generates said estimated error vector by de-termining the difference between the value of said incremen-tal vector and the value of said estimation vector.
said estimation vector is the value estimated by said model, as updated at said prior sampling instant, of said incremental vector; and said means for periodically updating the parameters of said model generates said estimated error vector by de-termining the difference between the value of said incremen-tal vector and the value of said estimation vector.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13800180A | 1980-04-07 | 1980-04-07 | |
US138,001 | 1980-04-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1163372A true CA1163372A (en) | 1984-03-06 |
Family
ID=22479995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000374710A Expired CA1163372A (en) | 1980-04-07 | 1981-04-06 | Adaptive-predictive control system |
Country Status (4)
Country | Link |
---|---|
JP (1) | JPS5717010A (en) |
AU (1) | AU542025B2 (en) |
CA (1) | CA1163372A (en) |
ES (1) | ES8206052A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4879643A (en) * | 1987-11-19 | 1989-11-07 | The Boeing Company | Decentralized cautious adaptive control system |
CN103048927A (en) * | 2012-12-28 | 2013-04-17 | 浙江大学 | Model prediction control method for rectification system |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0128491B1 (en) * | 1983-06-03 | 1989-12-13 | Omron Tateisi Electronics Co. | Time-discrete adaptive switching on-off-controller |
JPH0713801B2 (en) * | 1984-04-13 | 1995-02-15 | 株式会社東芝 | Control device |
JPH0738128B2 (en) * | 1984-10-03 | 1995-04-26 | 株式会社東芝 | Control device |
FR2629363B1 (en) * | 1988-03-29 | 1991-10-11 | Rubinstein Inc H | GEL EMULSION PARTICLES AND THEIR USE, ESPECIALLY IN COSMETOLOGY |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4913584A (en) * | 1972-05-23 | 1974-02-06 | ||
GB1583545A (en) * | 1976-08-04 | 1981-01-28 | Martin Sanchez J | Control systems |
-
1981
- 1981-04-06 AU AU69102/81A patent/AU542025B2/en not_active Ceased
- 1981-04-06 CA CA000374710A patent/CA1163372A/en not_active Expired
- 1981-04-07 ES ES501146A patent/ES8206052A1/en not_active Expired
- 1981-04-07 JP JP5289281A patent/JPS5717010A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4879643A (en) * | 1987-11-19 | 1989-11-07 | The Boeing Company | Decentralized cautious adaptive control system |
CN103048927A (en) * | 2012-12-28 | 2013-04-17 | 浙江大学 | Model prediction control method for rectification system |
Also Published As
Publication number | Publication date |
---|---|
JPS5717010A (en) | 1982-01-28 |
ES501146A0 (en) | 1982-06-16 |
ES8206052A1 (en) | 1982-06-16 |
AU6910281A (en) | 1981-10-15 |
AU542025B2 (en) | 1985-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4358822A (en) | Adaptive-predictive control system | |
CN109507882B (en) | RBF-ARX model-based rapid robust prediction control method | |
US6285971B1 (en) | Method for real-time nonlinear system state estimation and control | |
KR970003823B1 (en) | Control system that best follows periodical setpoint value | |
Layne et al. | Fuzzy model reference learning control for cargo ship steering | |
Johansen et al. | A NARMAX model representation for adaptive control based on local models | |
EP0037579B1 (en) | Adaptive-predictive control method and adaptive-predictive control system | |
WO2005077038A2 (en) | Siso model predictive controller | |
Fryxell et al. | Navigation, guidance and control of AUVs: an application to the MARIUS vehicle | |
CN101552588B (en) | An electric motor control device and an electric motor control system | |
CA1163372A (en) | Adaptive-predictive control system | |
CN114002946B (en) | Self-adaptive PID parameter setting method, system, electronic equipment and storage medium | |
CN112077839B (en) | Motion control method and device for mechanical arm | |
Yanling | Model free adaptive control for robotic manipulator trajectory tracking | |
Takeuchi et al. | Hierarchical abstraction of compensator for reaction torque observer based on element description method | |
CN114115276A (en) | Ship dynamic positioning control method based on online grouping optimization model prediction | |
CN112486209B (en) | Autonomous underwater robot three-dimensional path tracking method and device and storage medium | |
EP0474222A2 (en) | Learning machine with a hierarchical structure without mutual connections within levels thereof | |
Zheng et al. | State estimation based model predictive control applied to shell control problem: a case study | |
Milojkovic et al. | Model predictive control of nonlinear MIMO systems based on adaptive orthogonal polynomial networks | |
EP0439935A2 (en) | Optical control for stochastic LP systems | |
Agrawal et al. | Observers for optimal anticipatory control of ram velocity in injection molding | |
CN118011957B (en) | Model-based numerical control machine tool iterative learning error compensation control system and method | |
Kurtz et al. | Nonlinear output feedback control of chemical reactors | |
Datar et al. | Performance Evaluation of Model-based Controllers for Data-driven Models of Temperature Control System employing Embedded Platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEX | Expiry |