INT. J. CONTROL,
2004, VOL. 77, NO. 17, 1452–1462
Observer-based model predictive control BAS ROSETy* and HENK NIJMEIJERy Model predictive control in combination with discrete time non-linear observer theory is studied in this paper. Model predictive control, generally based on state space models, needs the complete state for feedback. In this paper the complete state is assumed not to be known and only outputs and inputs of the system are measured. To obtain knowledge of the full state an observer is used to obtain an estimate of the state. An extended non-linear observer is used for this purpose and potentially allows for successful output-based model predictive controllers.
1. Introduction General model predictive control is based on the knowledge of the complete state of the system. A good overview and tutotial introduction into model predictive control can be found in Allgo¨wer and Zheng (2000) and Maciejowski (2002). In a control environment it often happens that measurement of the state variables of the system is often not practical, very costly or even impossible. The solution to this problem is then the use of an observer. An observer reconstructs the state variables using a dynamic model of the physical system, the inputs, and specific practically measurable physical outputs of the system. For linear systems observer theory is fully standard, but for non-linear systems this is not the case. With respect to the general output feedback stabilization problem for non-linear systems, significant progress has been achieved recently, (see e.g. Attassi and Khalil 1999, Maggiore 2000). These papers contain different versions of the non-linear separation principle which originates from Esfandiari and Khalil (1992). The approach is based on using a high-gain observer (in observability normal form) for state reconstruction. Non-linear model predictive control in combination with high-gain observers has been recently proposed in Findeisen et al. (2002, 2003). The observers used in Findeisen et al. (2002, 2003) contain inputs of the system and their derivatives. Two different possibilities to obtain and guarantee well behavedness (sufficiently smooth and boundedness) of the system inputs and their derivatives are proposed in Findeisen et al. (2002, 2003). In this paper we propose to use a general applicable non-linear observer theory in discrete time given in Lilge (1998, 1999) which uses, comparable to the continuous time observer theory used in Findeisen et al. (2003),
a coordinate transformation of the original coordinates of the non-linear system equations. The state variable transformation results in another dynamic non-linear model, which has the same input/output behaviour. The model resulting from this state transformation is the so-called extended non-linear observer canonical form, which was studied in Lilge (1998, 1999). Designing an observer in this extended non-linear observer canonical form results in linear error dynamics, which means that the observer design can be performed using standard linear observer design techniques. A major disadvantage using this observer type is that there are, in general, future input values required in the observer structure. This means that the observer is non-causal. This is not a problem if the input sequence is known in advance, but in a model predictive control environment this is not the case. In this paper it is proposed to predict future input values, needed by the extended observer, by using the model predictive control scheme and subsequently feeding them to the observer. The observer will generate an estimate of the state used by the same model predictive controller, which subsequently computes an input for the system to be controlled. The above proposal for an observer-based model predictive controller is worked out in this paper. A first step in the stability analysis of the resulting closed-loop system is initiated for linear systems. Moreover, although a rigorous proof in the non-linear context is still lacking, the power of the method is illustrated on an illustrative non-linear example. We consider single input single output systems defined as xðk þ 1Þ ¼ fðxðkÞ, uðkÞÞ , xðk ¼ 0Þ ¼ x0 , and k 2 N0 yðkÞ ¼ gðxðkÞ, uðkÞÞ ð1Þ
Received 1 September 2004. Accepted 7 October 2004. * Author for correspondence. e-mail:
[email protected] y Technische Universiteit Eindhoven, Department of Mechanical Engineering, Dynamics and Control Group, PO Box 513, 5600 MB Eindhoven, The Netherlands.
with state variable xðkÞ 2 Rn , input uðkÞ 2 R1 , output yðkÞ 2 R1 . The functions f and g are considered to be smooth.
International Journal of Control ISSN 0020–7179 print/ISSN 1366–5820 online # 2004 Taylor & Francis Ltd http://www.tandf.co.uk/journals DOI: 10.1080/00207170412331326855
1453
Observer-based model predictive control The paper is organized as follows. First the used model predictive control scheme is explained. The observer theory used to obtain an estimate of the state from just input and output knowledge of the system is explained in } 3. Successively in } 4 the proposal to combine the used model predictive control scheme and the observer theory is set forth. Also an example is given on which the proposal is illustrated. At last some conclusions are drawn in } 6.
feedback case exist (see e.g. Chen and Allgo¨wer 1999, De Nicolao et al. 2000). The model predictive control problem we consider is formulated as min
u ðkjkÞ,..., uðkþpjkÞ
fJðxðkÞ, u ðljkÞ, m, pÞg,
l 2 ½k, . . . , k þ p ð2Þ
with JðxðkÞ, u ðljkÞ, m, pÞ ¼
kþp X
Fðy ðl þ 1jkÞ, u ðljkÞÞ
ð3Þ
l¼k
2. The model predictive control scheme In general, the model predictive control problem is formulated as solving on-line a finite horizon open-loop optimal control problem subjected to system dynamics and constraints involving states, inputs and outputs. Based on the measurement obtained at time step k and using a nominal dynamic model of the system being controlled, the controller predicts the future dynamic behaviour of the system over a prediction horizon of p time steps and determines an open-loop manipulated input function (over a control horizon of m time steps (m p)) in such a way that some performance objective is optimized (for example, an integral square error between the predicted output and the setpoint). If there were no disturbances and model mismatch, and if the optimization problem could be optimally solved for infinite prediction and control horizons, then we could apply the input function found at time step k ¼ 0 to the system for all time steps k 0. However, this is not possible in general. Due to disturbances and/or model mismatch, the true system behavior is different from the predicted behavior. In order to incorporate some feedback mechanism into the scheme, the open-loop manipulated input function found will be implemented only until the next measurement becomes available. We assume that this is the case at every time step k. Updated with the new measurement at time step k, the whole procedure of prediction and optimization is repeated to find a new input function, with the control and prediction horizons moving forward. A distinction is made between the true inputs and outputs and the predicted future input and output signals predicted in the model predictive controller. They are denoted by y, u and y , u respectively. The future signals are predicted signals, predicted by a dynamic model of the process. This predicted future behaviour over a certain horizon ( p) of the system, is knowledge which is taken into account for the computation of the actual inputs which are given to the process at time step k. Information from the past is also taken into account by the model predictive controller. This information is obtained by using the state of the system as feedback. Several schemes that guarantee stability in the state
subject to 9 > > > > > > > y ðl þ 1jkÞ ¼ gðx ðl þ 1jkÞÞ > > > > > = x ðkjkÞ ¼ xðkÞ, u ðljkÞ 2 U, l 2 ½k, . . . , k þ m 1 > x ðl þ 1jkÞ ¼ fðx ðljkÞ, u ðljkÞÞ,
u ðljkÞ ¼ u ðk þ m 1jkÞ, x ðl þ 1jkÞ 2 X,
l 2 ½k, . . . , k þ p
l 2 ½k þ m, . . . , k þ p 1 l 2 ½k, . . . , k þ p 1,
uðkÞ ¼ u ðkjkÞ,
8k:
> > > > > > > > > > > > > ; ð4Þ
The function F specifies the desired control performance. A standard quadratic form is the simplest and most used one Fðy ðl þ 1jkÞ, u ðljkÞÞ ¼ Qðy ðl þ 1jkÞ yr ðk þ 1ÞÞ2 þ Rðu ðljkÞ ur ðkÞÞ2 :
ð5Þ
Further, x ðljkÞ is the l th predicted future state, predicted at time step k. The prediction is computed by iterating the discrete model of the process difference equation l times by using the actual state xðkÞ of the process as an initial condition ðx ðkjkÞ ¼ xðkÞÞ. The future inputs predicted at time step kðu ðljkÞ, l 2 ½k, . . . , k þ p 1Þ are chosen such that the cost functional J in (3) is minimized with respect to possible constraints on input, state or output. These are defined in their simplest form as uðkÞ 2 U, U :¼ u 2 R1 jumin u umax xðkÞ 2 X, X :¼ x 2 Rn jxmin x xmax ð6Þ yðkÞ 2 Y, Y :¼ y 2 R1 jymin y ymax : The eventually implemented input to the system at time step k is the first input value u ðkjkÞ of the predicted input sequence u ðkjkÞ, . . . , u ðk þ p 1jkÞ. In this model predictive control scheme no computational time-delay is taken into account. In other words the input u(k) is given to the system instantaneously after the state variable is obtained from the system at time step k.
1454
B. Roset and H. Nijmeijer
The parameter Q in (5) is a weighting parameter, weighting the output in the cost function to be minimized. R is the weighting parameter weighting the input in the cost function to be minimized. (yr , ur ) are the reference trajectory which should be tracked. For a certain trajectory (yr , ur ) there should exist a certain state trajectory xr such that the system equation (1) is fulfilled. Note, however that this trajectory is not trivial to compute in the general case. It even might be the case that no solution exists.
An observer in the extended non-linear observer canonical form will typically have the structure ^zðk þ 1Þ ¼ Az^zðkÞ þ fz ð½ yðk n þ 1Þ, . . . , yðkÞ, ½uðk n þ 1Þ, . . . , uðk þ nÞÞ þ Lðh1 z, ufixed ðyðkÞ, ½uðk n þ 1Þ, . . . , uðkÞÞ z^n ðkÞÞÞ |fflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl} ð8Þ zn ðkÞ y^ðkÞ ¼ hz ðz^n ðkÞ, ½uðk n þ 1Þ, . . . , uðkÞÞ, ^zðk ¼ 0Þ ¼ ^z0 ,
3. Observer design in the extended non-linear observer form (ENOCF) The non-linear observer strategy proposed in Lilge (1998, 1999) is based on non-linear state equations that have a model structure which is called the extended non-linear canonical form. Definition 1: The extended non-linear observer canonical form is defined as zðk þ 1Þ 2 3 0 ... 0 0 6 7 61 ... 0 07 6 7 6 7 ¼6. . 7 zðkÞ 6 . . .. .. 7 . . .7 6. 4 5 0 ... 1 0 |fflfflfflfflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflfflfflfflffl}
6 6 6 6 þ6 6 6 4
fz, 0 ðyðkÞ, ½uðkÞ, . . . , uðk þ nÞÞ fz, 1 ð½ yðk 1Þ, yðkÞ, ½uðk 1Þ, . . . , uðk þ n 1ÞÞ .. .
3 7 7 7 7 7, 7 7 5
fz, n1 ð½ yðk n þ 1Þ, . . . , yðkÞ, ½uðk n þ 1Þ, . . . , uðk þ 1ÞÞ |fflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl} fz ð½yðknþ1Þ,..., yðkÞ, ½uðknþ1Þ,..., uðkþnÞÞ
yðkÞ ¼ hz ðzn ðkÞ, ½uðk n þ 1Þ, . . . , uðkÞÞ, zn ðkÞ ¼ Cz zðkÞ, zðk ¼ 0Þ ¼ z0 , and k 2 N0 ,
ð7Þ
with state zðkÞ 2 R , input uðkÞ 2 R , output yðkÞ 2 R1 , Cz ¼ ½0 . . . 0 1. n
where LT ¼ ½l0 l1 . . . ln1 is the observer innovation gain and h1 z, ufixed is the inverse of hz for fixed inputs ½uðk n þ 1Þ, . . . , uðkÞ that maps y onto zn. Note that an estimate of the state at time step k, can only be obtained if future input values are available. For the derivation of the error dynamics belonging to the observer structure, first the estimation error is defined. The estimation error of the z-state is defined as the difference between the estimated state ^z and the actual state z ez ðkÞ ¼ ^zðkÞ zðkÞ:
Az
2
k 2 N0
1
The new state zðkÞ appears in the equations linearly and all the non-linearity is present in a function fz , which is only a function of the inputs and outputs. Note however, that the input and output variables present in fz consist of past, current and future input variables. The possible future dependency means that the extended nonlinear observer canonical form is non-causal in general. The output function hz is only a function of the last component of the state zðkÞ, and past and present input variables.
ð9Þ
Since all the non-linearity of the system has been put in the function fz , which does not depend on the state of the system but only on the inputs and outputs of the system, the non-linear terms will be eliminated in the derivation of the z-error dynamics. This neat structure of the extended non-linear observer canonical form leads to linear error dynamics of the form 2
0 ...
6 61 ... 6 ez ðk þ 1Þ ¼ 6 6 .. . . 6. . 4 0 ...
0 0 .. . 1
l0
3
7 l1 7 7 7 .. 7ez ðkÞ: . 7 5
ð10Þ
ln1
If the system (1) is strongly locally observable, then there locally exists an invertible coordinate transformation map . between (1) and (7), (see also Ligle 1998). System (1) is strongly locally observable if the following condition is fulfilled
@ ðxðkÞ, ½uðkÞ . . . uðk þ n 1ÞÞ rank ¼ n, @x 8½uðkÞ . . . uðk þ n 1Þ 2 U
ð11Þ
1455
Observer-based model predictive control where U is some region in Rn and
is defined as
Definition 2: ðxðkÞ, ½uðkÞ . . . uðk þ n 1ÞÞ :¼ 2 gðf 0 ðxðkÞÞ, uðkÞÞ 6 6 gðf 1 ðxðkÞ, uðkÞÞ, uðk þ 1ÞÞ 6 6 6 .. 6 . 4
gðf n1 ðxðkÞ, ½uðkÞ . . . uðk þ n 2ÞÞ, uðk þ n 1ÞÞ
3 7 7 7 7 7 7 5 ð12Þ
where f 0 ðxðkÞÞ ¼ xðkÞ f i ðxðkÞ, ½uðkÞ . . . uðk þ i 1ÞÞ ¼ fðfð. . . fðfðxðkÞ, uðkÞÞ, uðk þ 1ÞÞ, . . .Þ, uðk þ i 1ÞÞ,
with i 1:
9 > > > = > > > ;
ð13Þ In fact every component in (12) corresponds with the output of system (1) at time steps k till kþn1 respectively. Expression (12) is therefore obtained by considering the state equation of (1) and iterating it i times for every row of (12), such as given in (13), and subsequently substituting the obtained expressions in the output equation of (1). As already mentioned, if condition (11) is fulfilled for a certain neighbourhood in the x-space, equation (12) represents a locally invertible coordinate transformation between the states x in (1) and z in (7). The coordinate transformation map ., which is also a function of inputs and outputs of the system, represents locally a diffeomorphism for z and x if the inputs and outputs are fixed. Note that only if the inputs and outputs arguments of the coordinate transformation map . are fixed (denoted by .uyfixed ) the map . is a local diffeomorphism relating the state x and z. In fact . is composed of two coordinate transformation maps and Z respectively. This decomposition of the coordinate transformation, results in an new state variable s which is obtained as 2 6 6 6 sðkÞ ¼ 6 6 6 4
yðkÞ yðk þ 1Þ .. .
3 7 7 7 7 ¼ ðxðkÞ, ½uðkÞ . . . uðk þ n 1ÞÞ: 7 7 5
The difference equation describing the evolution of the state s is of the form 9 2 3 yðk þ 1Þ > > > > 7 6 > > 7 6 .. > > 7 6 > . > 7 > sðk þ 1Þ ¼ 6 > 6 7 > > 6 yðk þ n 1Þ 7 > > 5 4 > > > > > yðk þ nÞ > > = 2 3 s2 ðkÞ > > 6 7 > > 6 7 .. > > 6 7 . > > 6 7 ¼6 , sðk ¼ 0Þ ¼ s , > 0 > 7 > > 6 7 > s ðkÞ n > 4 5 > > > > > fs ðsðkÞ, ½uðkÞ . . . uðk þ nÞÞ > > > > ; yðkÞ ¼ s1 ðkÞ ð15Þ where fs ðsðkÞ,½uðkÞ.. .uðk þ nÞÞ ¼ hðf n ðxðkÞ,½uðkÞ. ..uðk þ n 1ÞÞ, uðk þ nÞÞjxðkÞ¼
1 ufixed ðsðkÞ,½uðkÞ...uðkþn1ÞÞ
:
If the inputs ½uðkÞ . . . uðk þ n 1Þ are fixed then , or to be more precise ufixed , represents a local diffeomorphism between the states x in (1) and the states s in (15). Note that the differmorphism is also defined for perturbations around the fixed inputs, however in general there could of course exist certain input sequences for which the mapping is no longer a differmorphism or is not well defined. Further it must be remarked that generally all the used coordinate transformations are defined locally in state space. The diffeomorphism between s and z for fixed input and output values is represented by Z uyfixed . Z has the form zðkÞ ¼ZðsðkÞ, ½ yðk n þ 1Þ . . . yðkÞ, ð16Þ ½uðk n þ 1Þ . . . uðk þ n 1ÞÞ: The motivation for the coordinate transformation Z, can be explained by considering the structure of the extended non-linear observer canonical form (7) and taking into account that sðkÞ ¼ ½ yðkÞ . . . yðk þ n 1ÞT . Taking the inverse of the output equation of (7) at fixed input values ½uðk n þ 1Þ, . . . , uðkÞ gives zn ðkÞ ¼ h1 z, ufixed ð yðkÞ, ½uðk n þ 1Þ, . . . , uðkÞÞ
ð17Þ
replacing y(k) by s1 ðkÞ we obtain
yðk þ n 1Þ ð14Þ
zn ðkÞ ¼ h1 z, ufixed ðs1 ðkÞ, ½uðk n þ 1Þ . . . uðkÞÞ:
ð18Þ
1456
B. Roset and H. Nijmeijer
From the last component of the state equation (7), it follows that zn1 ðkÞ ¼zn ðk þ 1Þ fz, n1 ð½ yðk n þ 1Þ, . . . , yðkÞ, ½uðk n þ 1Þ, . . . , uðk þ 1ÞÞ
ð19Þ
where zn ðk þ 1Þ can be replaced by h1 z, ufixed ðyðk þ 1Þ, ½uðk n þ 2Þ, . . . uðk þ 1ÞÞ and yðk þ Þ, ¼ 0, 1, . . . , n 1, by sþ1 ðkÞ. Continuing in this way, the state components zi ðkÞ, i ¼ 1, 2, . . . , n in the extended nonlinear observer canonical form result from si ðkÞ, yðk n þ 1Þ . . . yðk 1Þ and uðk n þ 1Þ . . . uðk þ n 1Þ in the form 9 > zn ðkÞ ¼ h1 z, ufixed ðs1 ðkÞ,½uðk n þ 1Þ, ..., uðkÞÞ > > > > > > > 1 > zn1 ðkÞ ¼ hz, ufixed ðs2 ðkÞ,½uðk n þ 2Þ, ..., uðk þ 1ÞÞ > > > > > > > > fz, n1 ð½ yðk n þ 1Þ,.. .,yðk 1Þ, s1 ðkÞ, > > > > > > > > ½uðk n þ 1Þ,. ..,uðk þ 1ÞÞ > > > > > > > > zn2 ðkÞ ¼ zn1 ðk þ 1Þ fz, n2 ð½ yðk n þ 2Þ, ..., yðkÞ, > > > > > > > > ½uðk n þ 2Þ,. ..,uðk þ 2ÞÞ > > > > > > > 1 > ¼ hz, ufixed ðs3 ðkÞ, ½uðk n þ 3Þ, ..., uðk þ 2ÞÞ > > > > > > > fz, n1 ð½ yðk n þ 2Þ,.. .,yðk 1Þ, s1 ðkÞ, s2 ðkÞ, > > > > > > > > > ½uðk n þ 2Þ,. ..,uðk þ 2ÞÞ = fz, n2 ð½ yðk n þ 2Þ,.. .,yðk 1Þ, s1 ðkÞ, ½uðk n þ 2Þ,. ..,uðk þ 2ÞÞ .. . z1 ðkÞ ¼ z2 ðk þ 1Þ fz, 1 ð½ yðk 1Þ, ..., yðkÞ, ½uðk 1Þ,... ,uðk þ n 1ÞÞ ¼ h1 z, ufixed ðsn ðkÞ, ½uðkÞ,. ..,uðk þ n 1ÞÞ
n1 X
fz, ðyðk 1Þ, s1 ðkÞ,... ,s ðkÞ,
¼1
½uðk 1Þ,... ,uðk þ n 1ÞÞ:
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ; ð20Þ
The total coordinate transformation map given by zðkÞ ¼ .ðxðkÞ, ½ yðk n þ 1Þ . . . yðkÞ, ð21Þ ½uðk n þ 1Þ . . . uðk þ n 1ÞÞ
is obtained by substituting (14) into (20). It forms for fixed input and output a local diffeomorphism between the state x and z. Note that the coordinate transformation . is only defined by the functions fz and hz. The user is free to select the structure of the functions fz and hz, as long as hz is invertible and both functions fulfill the condition h1 z, ufixed ð fs ðsðkÞ, ½uðkÞ, . . . , uðk þ nÞÞ, ½uðk þ 1Þ, . . . , uðk þ nÞÞ ¼
n1 X
fz, ðs1 ðkÞ, s2 ðkÞ, . . . , sþ1 ðkÞ, ½uðkÞ, . . . , uðk þ nÞÞ
¼0
ð22Þ where fs ðsðkÞ,½uðkÞ .. .uðk þ nÞÞ ¼ gðf n ðxðkÞ, ½uðkÞ . .. uðk þ n 1ÞÞ, uðk þ nÞÞjxðkÞ¼
1 ufixed ðsðkÞ, ½uðkÞ...uðkþn1ÞÞ
:
ð23Þ
For the derivation of (22) the reader is referred to Lilge (1998, 1999).
4.
Model predictive control via extended observer Often a model predictive control strategy, like the one discussed in this paper, is based on the knowledge of the full state vector. In the present paper the state variables are estimated by the observer in the extended non-linear observer canonical form. In the observer design one can in certain situations select the function hz such that a causal observer structure is obtained. However in the general case this is not a trivial task. In some cases there even might not at all exist a function hz that realizes a causal observer structure. In order to generalize the observer design in the extended non-linear observer canonical form, the proposal is to make a prediction of the future input values, that are responsible for the non-causality. The prediction is made by a model predictive controller, which simultaneously controls the process. Subsequently the model predictive controller is provided with the required state variables by the non-causal observer in the extended non-linear observer canonical form. For the state estimation the observer in extended non-linear observer canonical form also requires past input and output date of the controlled system. This data is buffered in two buffer systems B1 and B2, one for the systems input and one for the output values respectively. As already mentioned the idea is to generalize the observer design in the extended non-linear observer
1457
Observer-based model predictive control canonical form, or in other words, just take the most trivial functions for fz and hz in the observer design. Do not try to remove the non-causal terms. A trivial suggestion for the two functions which can be selected in the observer design are 2
3
0 .. .
7 7 7 7 7 0 7 !7 fz, n1 ð½ yðk n þ 1Þ, . . . , yðkÞ, 7 5 ½uðk n þ 1Þ, . . . , uðk þ 1ÞÞ
ð24Þ
hz ðzn ðkÞ, ½uðk n þ 1Þ, . . . , uðkÞÞ ¼ zn ðkÞ
ð25Þ
6 6 6 6 fz ¼ 6 6 6 6 4
6 6 6 6 ^zðk þ 1Þ ¼ Az^zðkÞ þ 6 6 6 6 4
3
0 .. .
7 7 7 7 7 0 7 !7 fz, n1 ð½ yðk n þ 1Þ,.. .,yðkÞ, 7 5 ½uðk n þ 1Þ,.. .,uðkÞ, u ðk þ 1ÞÞ
þ LðyðkÞ z^n ðkÞÞ
ð26Þ
with coordinate transformation map ^ðkÞ ¼ .1 zðkÞ, ½ yðk n þ 1Þ, . . . , yðk 1Þ, x ufixed ð^ ½uðk n þ 1Þ, . . . , uðk 1Þ, ½u ðkÞ, . . . , u ðk þ n 1ÞÞ ð27Þ where u ðkÞ, . . . , u ðk þ n 1Þ are the predicted future input variables predicted by the model predictive controller. Using (9) we now obtain the error dynamics ez ðk þ 1Þ ¼ ðAz LCz Þez ðkÞ þ fz where 2
0
6 61 6 ðAz LCz Þ ¼ 6 6 .. 6. 4 0
... 0 ... 0 ..
.
.. .
... 1
l0
3
7 l1 7 7 7 .. 7 . 7 5 ln1
2
ð28Þ
3
0 .. .
7 7 7 7 7 0 7 !7 7 fz, n1 ð½ yðk n þ 1Þ, . . . , yðkÞ, 5 ½uðk n þ 1Þ, . . . , uðkÞ, u ðk þ 1ÞÞ
6 6 6 6 fz ¼ 6 6 6 6 4
2
where the function fz, n1 is an arbitrary function of its arguments. These choices lead to the following expression for the observer in extended non-linear observer canonical form 2
and
6 6 6 6 6 6 6 6 4
0 .. .
3
7 7 7 7 7: 0 7 !7 7 fz, n1 ð½ yðk n þ 1Þ, . . . , yðkÞ, 5 ½uðk n þ 1Þ, . . . , uðkÞ, uðk þ 1ÞÞ
Note that to the error dynamics in (10) an additional term fz is added. This term is introduced by the fact that the predicted future input does not coincide with the actual future input. To get more insight, elimination of the predicted input value u ðk þ 1Þ and the actual future input value uðk þ 1Þ is performed. To realize this the following equations for the solution of the optimization problem performed by the model predictive controller are assumed xðkÞ, Q, R, m, pÞ uðkÞ ¼ Ku, x ð^
ð29Þ
u ðk þ 1Þ ¼ Ku, x ð^ xðkÞ, Q, R, m, pÞ:
ð30Þ
It is assumed that yr ¼ ur ¼ 0 and xr ¼ 0 represents an equilibrium point of the system, so the equations representing the solution of the optimization problem solved in the model predictive controller (29) and (30), are only ^ðkÞ and the model a function of the estimated state x predictive control parameters. Note however, that if the reference trajectory does not represent an equilibrium point of the system, then the analysis will involve a lot more effort. Note also that in that case for some reference trajectories xr might not be well defined. Continuing with the assumption that yr ¼ ur ¼ 0 and xr ¼ 0 we can shift (29) one step forward. We then obtain an expression for the actual input value at time step kþ1 for which xðk þ 1Þ, Q, R, m, pÞ: uðk þ 1Þ ¼ Ku, x ð^
ð31Þ
Note that by using (30) and (31) and substituting those expressions in the expression for fz , equation (28)
1458
B. Roset and H. Nijmeijer
can be written as ez ðk þ 1Þ ¼ ðAz LCz Þez ðkÞ þ fz ð½yðk n þ 1Þ,...,yðkÞ, ½uðk n þ 1Þ,...,uðkÞ,
5.
^ðk þ 1Þ, uðk þ 1Þ, u ðk þ 1ÞÞ ¼ ðAz LCz Þez ðkÞ þ fz ð^ xðkÞ, x Q,R,m,p, ½ yðk n þ 1Þ,...,yðkÞ, ½uðk n þ 1Þ,...,uðkÞÞ: ð32Þ ^ðk þ 1Þ by introducing It is possible to eliminate x the transformation map . in which the non-causal input terms ½u ðkÞ, . . . , u ðk þ n 1Þ are predicted by the model predictive controller. As a result we obtain a causal transformation map in which the dependency of the non-causal inputs is replaced by a dependency on the ^ðkÞ, such that the transformaestimated state variable x tion map . can be redefined as a causal expression .c defined as ^zðkÞ ¼ .c ð^ xðkÞ, Q, R, m, p, ½ yðk n þ 1Þ, . . . , yðk 1Þ, ½uðk n þ 1Þ, . . . , uðk 1ÞÞ,
ð33Þ
and for fixed past inputs and outputs, the inverse relation becomes ^ðkÞ ¼ .1 x zðkÞ, Q, R, m, p, c, uyfixed ð^
ð34Þ
Shifting (34) one step forward, followed by substitution of the observer state equation in ENOCF (26) and subsequently substituting the causal transformation map (33) and exchanging u ðk þ 1Þ in (26) by (30) one obtains the following causal observer state equation in x-coordinates ^ðk þ 1Þ ¼ Lx ð^ x xðkÞ, L, ½ yðk n þ 1Þ, . . . , yðkÞ, ½uðk n þ 1Þ, . . . , uðkÞÞ:
ð35Þ
Substituting (35) into (32) yields xðkÞ, L, Q, R, m, p, ez ðk þ 1Þ ¼ ðAz LCz Þez ðkÞ þ fz ð^ ½ yðk n þ 1Þ, . . . , yðkÞ, ½uðk n þ 1Þ, . . . , uðkÞÞ:
Examples Proving the stability of the closed-loop system in the general case (non-linear, constrained) is not a trivial task and is still an open question. However, a first illustration is given by considering a specific linear unconstrained two-dimensional system. Example 1: The system for which the stability analysis (see Roset 2002) is spelled out is of the form xðk þ 1Þ ¼ (xðkÞ þ !uðkÞ yðkÞ ¼ CxðkÞ
ð36Þ
Note that the previously linear z-error dynamics (10) are now non-linear because of the non-linear additional ^, past term fz that is a function of the estimated state x and current inputs and outputs, the observer gain L and also model predictive control parameters, namely Q, R, m and p. According to (36) the observer design cannot be performed without taking into account the controller parameters. No separation principle holds that could be used in the design of the observer. The observer and controller are dynamically linked. The stability of
,
where (¼
1
1
0
1
,
1 !¼ , 1
1
0 :
The result of the stability analysis is given in figure 1. The cost function used in the unconstrained linear model predictive controller and the parameters used are shown below ( ) kþp X 2 2 min 1ðyðl þ 1jkÞÞ þ rðu ðljkÞÞ : ð37Þ uðkjkÞ,..., u ðkþpjkÞ
½ yðk n þ 1Þ, . . . , yðk 1Þ, ½uðk n þ 1Þ, . . . , uðk 1ÞÞ:
the system has to be analysed by considering the total closed-loop system.
l¼k
In figure 1 the components of the observer gain L, i.e. l0 and l1, are given on the vertical and horizontal axis respectively. The triangular borders represent borders of regions in which stability is obtained. For different values of the controller input weighting r stability regions are obtained. Also the stability region of an observer in the extended non-linear observer canonical form, having either a causal structure or exact knowledge of the future inputs, is shown in figure 1 as a reference or comparison. Note that by increasing the input weighting parameter r, it seems that the stability region of the non-causal observer will in the limit resemble the region of the causal observer. The control strategy, for which it has been shown that it can actually be successful for a linear unconstrained system, is now applied to a non-linear control problem. The system which is used is borrowed from Grasman (2000). The derivation of the function fz and the coordinate transformation map .( , Z) for a selected function hz are illustrated. Finally, results of simulations of the previously proposed control strategy, with the resulting functions fz , hz and the coordinate transformation ., are shown. Example 2: Biological pest control has increased in recent years because of the restrictions in the use of pesticides; in addition, it may be of interest for economical reasons.
1459
Observer-based model predictive control
2.5 2
l →
1.5
0
1 0.5 0 r=0.1 r=1 r=4 causal
-0.5 -1 -3 Figure 1.
-2
-1
0
1
x1 ðk þ 1Þ x2 ðk þ 1Þ
#
2
3
4
5
6
1 Interior of each triangular region representing a region where stability is obtained.
Larvae of an insect species (host) may cause considerable damage to crops. One way to reduce their number is to introduce a parasitoid that deposits its egg in a larva resulting in the eventual death of it. The host– parasitoid relation is often modelled by an equation of the following form (see also Grasman 2000) "
l →
3
x1 ðkÞ ax2 ðkÞ þ d 7 6 x1 ðkÞexp r 1 K ¼4 5 x1 ðkÞð1 expðax2 ðkÞÞÞ þ uðkÞ ð38Þ 2
where x1 is the host population, x2 the parasitoid population d denotes a constant external inflow of hosts and u is the input denoting one unit of parasitoids (note u 0). The output of the model reads yðkÞ ¼ w1 x1 ðkÞ
ð39Þ
where w1 is the damage to the crop per host. This means that the output y(k) represents the total damage caused by the host population expressed in money per time unit. The total costs per time unit that are made, are the costs caused by the damage and the costs of the investment bringing in units of parasitoids. So the
overall cost per time unit is given by CðkÞ ¼ yðkÞ þ w2 uðkÞ
ð40Þ
where w2 denotes the cost of bringing in one unit of parasitoids. The values used for the system parameters are a ¼ 1, K ¼ 5, r ¼ 3, d ¼ 0:1, w1 ¼ 1:25, w2 ¼ 1: The question now is how many units of parasitoids one must bring in, such that the costs per time unit through time (40) are minimized. For u ¼ 0 the system has a chaotic solution with an average yearly cost of 3.64. Changing u one can find a stable solution being quasi-periodic with an average cost 2.79, at u ¼ 1.266. Focusing on a constant optimal solution we get a better result 2.66 for u ¼ 0.083. However, this solution with equilibrium (fx1 , x2 g ¼ f2:0653, 1:8105g) turns out to be unstable. The intention now is to design a controller that stabilizes the system and simultaneously minimizes the total costs. Model predictive control is used to control the system. The extended observer is used to obtain an estimate of the amount of parasitoids and hosts (states) needed for feedback. The output y(k), which represents the costs per time unit caused by the
1460
B. Roset and H. Nijmeijer
damaged crops, is used in the observer for the state reconstruction. The cost function used in the model predictive controller (3) becomes kþp X
1ðy ðl þ 1jkÞÞ2 þ 1ðw2 u ðljkÞÞ2 :
Subsequently the system in s-state variables (15) can be written as "
s2 ðkÞ
sðk þ 1Þ ¼
#
fs ðsðkÞ, ½uðkÞ, uðk þ 1Þ, uðk þ 2ÞÞ
ð41Þ
yðkÞ ¼ s1 ðkÞ,
l¼k
The weighting on input and output are both selected to be 1. Because negative input and output values are physically not possible in this case, constraints on the input and output are u 0 and y 0. For this example (12) will result in sðkÞ ¼ ðxðkÞ, ½uðkÞ, uðk þ 1ÞÞ 2 3 w1 x1 6
7: ¼4
5 x1 ðkÞ w1 x1 ðkÞ exp r 1 ax2 ðkÞ þ d K ð42Þ Checking the observability condition 2 3 w1 0 @
7 6 ¼4 5 x1 ðkÞ @x w1 x1 ðkÞa exp r 1 ax2 ðkÞ K
with fs ðsðkÞ,½uðkÞ,uðkþ 1Þ,uðkþ2ÞÞ
¼ s2 ðkÞexp rKw1 þrs2 ðkÞþ aKs1 ðkÞaKs1 ðkÞ
w d s2 ðkÞ exp rKw1 rs1 ðkÞln 1 ðw1 KÞ w1 K s1 ðkÞ ðw1 KÞ þw1 d:
þaKuðkÞw1
ð45Þ
The output function (7) is chosen as yðkÞ ¼ hz ðz2 ðkÞ, ½uðk 1Þ, uðkÞÞ ¼ z2 ðkÞ þ uðkÞ:
ð46Þ
ð43Þ where
x ðkÞ ¼ w1 exp r 1 1 ax2 ðkÞ K
. x1 ðkÞ K : rx1 ðkÞ exp r 1 ax2 ðkÞ K According to (43) condition (11) is met as long as x1 ðkÞ 6¼ 0 8k 2 N0 , meaning that the system defined by (38) and (39) is strongly locally observable. In this case even global observablity is obtained for x1 ðkÞ 6¼ 0. This is due to the fact that the transformation is not input dependent in this case. Apparently as long as x1 ðkÞ 6¼ 0 the observability map (42) is a smooth diffeomorphism for all possible input sequences. The inverse of the observability map reads as xðkÞ "
x1 ðkÞ
¼
Note that this is not the most trivial or simple structure as is suggested by (25). If the structure of hz, in this example, is chosen as is given in (25), the resulting observer will be causal. The goal of this example is however to show that a non-causal observer structure could also be used, so the function hz is chosen such that the resulting observer structure becomes non-causal. Note that the last component of the z-state variable is equivalent to the difference between the input and output of the system, which thus represents the damaged crop costs per time unit minus the costs per time unit of the used parasitoids. For the function fz the trivial structure given by (24) is used. Relation (22), which is now used to obtain an expression for the function fz ð fz, 1 ) for given hz and fs, then results in fz, 1 ðs1 ðkÞ, s2 ðkÞ,½uðkÞ, uðk þ 1Þ,uðk þ 2ÞÞ ¼ h1 z ð fs ðsðkÞ,½uðkÞ,uðk þ 1Þ, uðk þ 2ÞÞ,uðk þ 1Þ, uðk þ 2ÞÞ
# ¼
x2 ðkÞ 2
¼ s2 ðkÞ exp rKw1 þ rs2 ðkÞ þ aKs1 ðkÞ aKs1 ðkÞ
1 ufixed ðsðkÞ, ½uðkÞ, uðk þ 1ÞÞ
3 s1 ðkÞ=w1 6
7 ¼4 5, w1 d þ s2 ðkÞ ðr=aÞ ððrs1 ðkÞÞ=ðaKw1 ÞÞ log a s1 ðkÞ x1 ðkÞ 6¼ 0:
ð44Þ
w d s2 ðkÞ w1 K ðw1 KÞ exp rKw1 rs1 ðkÞ ln 1 s1 ðkÞ þ aKuðkÞw1
ðw1 KÞ þ w1 d uðk þ 2Þ:
ð47Þ
1461
For the function fz, 1 one can subsequently write fz,1 ðyðk1Þ,yðkÞ,½uðk1Þ,uðkÞ, u ðkþ1ÞÞ
¼ yðkÞexp rKw1 þryðkÞþaKyðk1ÞaKyðk1Þ
Parasitoids u →
Observer-based model predictive control 1.5
1
0.5
w d yðkÞ exp rKw1 ryðk1Þln 1 ðw1 KÞ w1 K yðk1Þ þaKuðk1Þw1 ð48Þ ðw1 KÞ þw1 d u ðkþ1Þ:
uncontrolled controlled
0 0
2
4
6
8
10
12
14
16
18
20
uncontrolled controlled
Costs C →
4
The function fz and the function hz are now known, 3 which means that the observer in the extended non2 linear observer canonical form (26) is defined and also the coordinate transformation map (27) is defined. 0 2 4 6 8 10 12 14 16 18 20 k→ Expression (27) for this example is given by " # Figure 2. Resulting input and costs per time unit obtained x^ 1 ðkÞ by simulation. ^ðkÞ ¼ zðkÞ, ½uðk 1Þ, u ðkÞ, u ðk þ 1ÞÞ x ¼ .1 ufixed ð^ x^ 2 ðkÞ 3 2 ðu ðkÞ þ z^2 ðkÞÞ=w1 7 6 7 6 ðrKw1 þ ru ðkÞ þ rz^2 ðkÞ þ lnððexpððrKw1 þ ru ðkÞ þ rz^2 ðkÞþ 7 6 7 6 7 6 ð49Þ aKyðk 1Þ þ aKw1 d aK u ðkÞ aK z^2 ðkÞ þ aK u ðkÞw1 Þ=ðKw1 ÞÞu ðkÞþ 7 6 7 6 6 expððrKw1 þ ru ðkÞ þ rz^2 ðkÞ þ aKyðk 1Þ þ aKw1 d aK u ðkÞ aK z^2 ðkÞþ 7 5 4 aKuðk 1Þw1 Þ=ðKw1 ÞÞz^2 ðkÞ þ z^1 ðkÞÞ=ðu ðkÞ þ z^2 ðkÞÞÞKw1 Þ=ðaKw1 Þ where Note that in general the observability condition, for the system to be controlled (11), is a necessary condition for the existence of the coordinate transformation map (27). However, note that in this example the extended nonlinear observer and the coordinate transformation map (27) are well defined as long as x1 6¼ 0. Simulation results of the proposed control strategy are given in figure 2 and figure 3 respectively. The control parameters used in simulation are shown in table 1.
Estimated state Real state
8 6 4 2 0 0
2
4
6
8
10
12
14
18
20
2 1 Real state Estimated state
0 0
2
4
6
6. Conclusions In general it can be concluded that combining a noncausal non-linear observer in the extended non-linear observer canonical form with a non-linear model predictive control scheme may form a successful approach for tackling output-based model predictive control. This has been shown in an illustrative numerical non-linear example. A first attempt of analysing the overall stability for output-based linear unconstrained model predictive control has been performed. From this analysis it appears that for a linear system there exist control and observer parameters for which the proposed control strategy results in a stable closed-loop system. Further research on the closed-loop stability of
16
3
host population x2 →
¼ expðððKw1 yðk 1ÞÞrÞ=ðKw1 Þ:
Parasitoids population x1 →
10
Figure 3.
8 k→
10
12
14
16
18
20
Simulation results of the estimated state and actual state variable.
Initial conditions at k¼0 x1 ð0Þ, x2 ð0Þ 3, 2
z^1 ð0Þ, z^2 ð0Þ 10, 3
y(1) 1
u(1), u ð0Þ, u ð1Þ 1, 0, 0
l0 , l1 0, 0
m,p 5, 5
Control parameters Q 1
R 1 Table 1.
Initial conditions and control parameters used in simulation.
1462
B. Roset and H. Nijmeijer
the considered extended observer and model predictive controller combination is required. The first step in this research would be to investigate the perturbation term which appears in the error dynamics due to mismatch between the actual future input signal and the predicted one. Robustness arguments of the error dynamics against this term might lead to some further development in this matter. This will be the subject of future research.
References Allgo« wer, F., and Zheng, A., 2000, Nonlinear Model Predictive Control (Berlin: Birkha¨user). Atassi, A. N., and Khalil, H. K., 1999, A separation principle for the stabilitation of a class of non-linear systems. IEEE Transaction on Automatic Control, 44, 1672–1687. Chen, H., and Allgo« wer, F., 1998, A quasi-infinite horizon non-linear model predictive control scheme with guaranteed stability. Automatica, 34, 1205–1218. De Nicolao, G., Magni, L., and Scattolini, R., 2000, Stability and robustness of non-linear receding horizon control. In F. Allgo¨wer (Ed.) Nonlinear Predictive Control (Berlin: Birkha¨user), pp. 3–23.
Esfandiari, F., and Khalil, H. K., 1992, Output feedback stabilitation of fully linearizable systems. International Journal of Control, 56, 1007–1037. Findeisen, R., Imsland, L., Allgo« wer, F., and Foss, B. A., 2002, Output feedback non-linear Predictive control— a separation principle approach. In Proceedings of 15th IFAC World Congress, Barcelona. Findeisen, R., Imsland, L., Allogo«wer, F., and Foss, B. A., 2003, Output feedback stabilization of constrained systems with non-linear predictive control. International Journal of Robust and Nonlinear Control, 13, 211–227 Grasman, J., 2000, Sustainable exploitation of biological populations. Applied Mathematics and Computer Science, 10, 123–130. Lilge, T., 1998, On observer design for non-linear discretetime systems. European Journal of Control, 4, 306–319. Lilge, T., 1999, Zum Entwurf nicht-linearer zeitdiskreter Beobachter mittels Normalformen, Fortschr.-Ber. VDI Reihe 8 Nr. 752. Du¨sseldorf. Maciejowski, J. M., 2002, Predictive Control with Constraints (Harlow, UK: Prentice Hall). Maggiore, M., 2000, Output feedback control: a state variable approach. PhD Thesis, Ohio State University, OH, USA. Roset, B., 2002, Discrete nonlinear noncausal observer based model predictive control. Master’s thesis, Eindhoven University of Technology, Department of Mechanical Engineering, Dynamics and Control Group, Report no. 2002.74.