Preprints of the 5th IFAC Symposium on Robust Control Design
ROCOND'06, Toulouse, France, July 5-7, 2006
ROBUST POLE PLACEMENT BY QUADRATIC PROGRAMMING ¨ Nurges , Ennu R¨ Ulo ustern
Institute of Cybernetics,Tallinn University of Technology Akadeemia tee 21,Tallinn 12611,Estonia, fax:(372)620-4151; e-mail:
[email protected]; phone:(372)620-4191
Abstract: A robust version of the output controller design for discrete-time systems is introduced. Instead of a single stable point a stable polytope (or simplex) is preselected in the closed loop characteristic polynomials coefficients space. A constructive procedure for generating stable simplexis is given starting from the unit hypercube of reflection coefficients of monic polynomials. This procedure is quite straightforward because for a special family of polynomials the linear cover of so-called reflection vectors is stable. The roots placement of reflection vectors is studied. If a stable target simplex is preselected then the robust output controller design task is solved by quadratic programming approach. Keywords: pole placement, discrete-time systems, robust stability, quadratic programming.
1. INTRODUCTION
The modal control or pole placement method is a common approach for designing closed-loop controllers in order to meet desired control specifications. The objective of assigning closed loop poles is often replaced by assigning a characteristic polynomial because this polynomial plays a central role in the stability analysis of linear control systems and polynomial coefficients are simply (affinely) related to controller and plant parameters. By state feedback arbitrary pole assignment is possible if the system is controllable. For output feedback the problem of classical pole placement is in general unsolvable by fixed order controller. Another practical issue is that of model uncertainty. If the model uncertainty is relatively small, then it is possible to use sensitivity-based methods. If the model uncertainty is large some robust formulation of the problem is needed, such as multimodel (Ackermann, 1993; Magni, 2002) , polytopic model (Jetto, 99; Rotstein et al., 1991)
or LMI approach (Henrion et al., 2003; Scherer et al., 1997). In this paper a polytopic approach proposed in ( Nurges and R¨ ustern, 2005) is further developed. First, a stable simplex is preselected in the coefficient space of closed-loop characteristic polynomials. A family of polynomials is defined, which generates a Schur stable linear cover of so-called reflection vectors. Second, a stability measure is introduced as a distance from the center of this simplex. Third, the robust output controller design task for polytopic plant model is solved by quadratic programming approach. A novel optimization criterion is proposed which allows to preselect a nominal closed-loop system as well as a stable simplex around it. The paper is organized as follows. In section 2 the problem of fixed order robust output control with a preselected simplex is stated and solved by quadratic programming approach. The third section is devoted to the preselection of a stable simplex via reflection coefficients of monic poly-
Preprints ofnomials. the 5th IFAC Symposium on Robust Control Design The last section is devoted to the
robust output control of uncertain (polytopic) plants.
2. FIXED ORDER POLE ASSIGNMENT Assume that a plant with parametric uncertainties is given. Our goal is to design an output controller of a fixed order so that the closed-loop poles are robustly assigned in a specific region. For simplicity, let us first consider the problem of output controller design for a SISO plant with fixed parameters. Let the plant transfer function G(z) of dynamic order m be given G(z) =
g(z) gm−1 z m−1 + · · · + g1 z + g0 = f (z) z m + · · · + f1 z + f0
and we are looking for a controller C(z) of dynamic order l with the transfer function ql z l + · · · + q1 z + q0 q(z) = l . C(z) = p(z) z + · · · + p1 z + p0 It means that the closed loop characteristic polynomial a(z) = f (z)p(z) + g(z)q(z) is of degree n = m + l. It is known in the literature (?) that when l = m− 1 the above problem has a solution for arbitrary a(z) whenever the plant has no common pole-zero pairs. In general for l < m − 1 exact attainment of the desired polynomial is impossible. Here we suggest the following approach. Let us relax the requirement of attaining the desired polynomial a(z) exactly and enlarge the target to a simplex S in polynomial coefficient space containing the point representing the desired closed-loop characteristic polynomial. Without any restrictions we can assume that fm = pl = 1 and deal in the following with monic polynomials a(z). Let us now introduce a stability measure ρ in accordance with the simplex S T
ρ=c c where c = S −1 a
(1)
and S is the (m + l + 1)x(m + l + 1) matrix of vertices of the target simplex S. Obviously, for monic polynomials n+1 X i=1
ci = 1
Toulouse, where n = m + l. If allROCOND'06, coefficients ci >France, 0 , July 5-7, 2006 i = 1, ..., n + 1 then the point a is placed inside the simplex S. 1 It is easy to see that the minimum ρmin = n+1 is obtained by 1 c1 = c2 = ... = cn+1 = . n+1 Then the point a is placed in the center of the simplex S.
Now we can formulate the following problem of controller design : find a controller C(z) such that the stability measure ρ is minimal. In other words, we are looking for a controller which places the closed-loop characteristic polynomial a(z) as close as possible to the center of the target simplex S. In matrix form we have a = Gx
(2)
where G is the plant Sylvester matrix f0 0 ... 0 g0 0 f1 f0 ... 0 g1 g0 . . . . . . fm−1 fm−2 ... fm−l−1 gm−1 gm−2 G= 0 gm−1 1 fm−1 ... fm−l 0 1 . . . . 0 0 ... fm−1 0 0 0 0 ... 1 0 0
... 0 ... 0 . . ... gm−l−1 ... gm−l . . ... gm−1 ... 0
of dimensions (m + l + 1)x(2l + 2) and x is the (2l + 2)-vector of controller parameters x = [p0 , ..., pl−1 , 1, q0 , ..., ql ]T . The above controller design problem is due to relations (1) and (2) equivalent to the quadratic programming problem: find x such that the minimum J1 = min xT GT (SS T )−1 Gx x
(3)
is obtained subject to the linear restrictions S −1 Gx > 0. Here the restriction follows from the positivity requirement of coefficients ci , i = P 1, ..., n. For monic polynomials the requirement ci = 1 is automatically satisfied. Sometimes the minimization criterion J1 , which is a kind of distance to center of the target simplex S, is not the best because certain restrictions must be considered by choosing the vertices of the target simplex S (see section 3). Then it is better to use an another criterion J2 which measures the distance to a fixed Schur polynomial e(z) serving as a ”nominal” closed-loop polynomial J2 = (a − e)T (a − e) = (Gx − e)T (Gx − e). In general, we can use a weighted combination of these criteria J1 and J2 J = (1 − α)J1 + αJ2 ,
0≤α≤1
Preprints ofand the 5th IFACthe Symposium on Robust Control Design solve quadratic programming task T
T
T −1
J = min{x G [(1 − α)(SS ) x
T
+αIn+1 ]Gx − 2αe Gx}S
−1
ROCOND'06, Toulouse, Let an (z) be a monic polynomial of degree n France, with July 5-7, 2006 real coefficients ai ∈ R , i = 0, ..., n,
+
a(z) = z n + ... + a1 z + a0 .
Gx > 0.
Let us now consider the problem of fixed-order output controller design where the plant is subject to parameter uncertainty. We represent this by supposing that the given plant transfer function coefficients f0 , ..., fm−1 and g0 , ..., gm−1 are placed in a polytope W with vertices dj = j j [f0j , ..., fm−1 , g0j , ..., gm−1 ], j = 1, ..., M
The reciprocal polynomial a∗n (z) of an (z) is defined by [2] a∗n (z) = a0 z n + ... + an−1 z + 1. The reflection coefficients ki , i = 1, ..., n can be obtained from an (z) by using backward Levinson’s recursion
W = conv{dj , j = 1, ..., M }.
zai−1 (z) =
Because the relations (2) are linear in plant parameters we can claim that for an arbitrary fixed controller x the vector a of closed-loop characteristic polynomial coefficients is placed in a polytope A with vertices a1 , ..., aM
ai (z) = zai−1 (z) + ki a∗i−1 (z).
where aj = D j x and Dj is a (m + l + 1)x(2r + 2) Sylvester matrix composed by the vertex plant dj as in the case of exact model (2). The problem of robust controller design can be formulated as follows : find a controller x such that all vertices aj , j = 1, ..., M are placed inside a stable target simplex S .
by linear restrictions j = 1, ..., M.
(5)
Here IM is the unit matrix of order M , ⊗ denotes ˜ T = [D1T , ..., DT ]. the Kronecker product and D M In the following section a novel method for the convex inside approximation of the stability region will be developed via so-called reflection coefficients of polynomials. This method can be used to find a stable target simplex in order to solve the robust output pole assignment problem (4)-(5).
3. REFLECTION COEFFICIENTS AND THE STABLE POLYTOPE OF REFLECTION VECTORS Polynomials are usually defined in terms of their coefficients or their roots. They can also be characterized by their reflection coefficients using SchurCohn type recursion [2].
(7)
From (6) and (7) the coefficient expressions of ai−1 (z) and ai (z) are given respectively by ai−1 (z) =
i−1 X 1 [ (ai,j+1 − ki ai,i−j−1 )z j ](8) 1 − |ki2 | j=0
and ai (z) =
This problem can be solved by quadratic programming task : find x which minimizes ˜ T [(1 − α)(IM ⊗ ((S T )−1 ) J = min{xT D x (4) ˜ − 2αeT Dx} ˜ (IM ⊗ S −1 ) + αI(n+1)M ]Dx
(6)
where ki = −ai,0 and ai,0 denotes the last coefficient of an i-degree polynomial ai (z). From (6) the forward recursion can be obtained
A = conv{aj , j = 1, ..., M }
S −1 Dj x > 0,
1 [ai (z) − ki a∗i (z)] 1 − |ki2 |
i X
(ai−1,j−1 + ki ai−1,i−j−1 )z j . (9)
j=0
The reflection coefficients ki are also known in the literature as Schur-Szeg¨o parameters [2] , partial correlation (PARCOR) coefficients [5] or kparameters [10]. They have been used efficiently in many applications in signal processing [10]and system identification [5]. In [2] is given a complete characterization and classification of polynomials using reflection coefficients instead of roots (zeros) of polynomials. The main advantage of using reflection coefficients is the fact that the transformation from reflection coefficients to polynomial coefficients is very simple. Indeed, according to (7) or (9) polynomial coefficients ai depend multilinearly from reflection coefficients ki . If the coefficients are real ai ∈ R then also the reflection coefficients are real ki ∈ R. The transformation from reflection coefficients ki , i = 1, ..., n to polynomial coefficients ai , i = 0, ..., n − 1 can be presented as (n)
ai = an−i , (i) ai = −ki , (i) (i−1) (i−1) aj = aj − ki ai−j ,
.(10) i = 1, ..., n; j = 1, ..., i − 1
The stability criterion via reflection coefficient is as follows [5].
Preprints ofLemma the 5th IFAC1.Symposium on Robust a(z) Controlhas Design A polynomial all
its roots inside the unit disk if and only if |ki | < 1, i = 1, ..., n . A polynomial a(z) lies on the stability boundary if some ki = ±1, i = 1, ..., n. For monic Schur polynomials there is a one-to-one correspondence between the vectors a = (a0 , ..., an−1 )T and k = (k1 , ..., kn )T . The next lemma follows immediately from the multilinear transformation (10) between reflection coefficients and polynomial coefficients . Lemma 2. Through an arbitrary stable point a = (a0 , a1 , ..., an−1 ) with reflection coefficients kia ∈ (−1, 1), i = 1, ..., n one can draw n stable line segments V i (a) = conv{a|kia = ±1} where conv{a|kia = ±1} denotes the convex hull obtained by varying the reflection coefficient kia between −1 and 1. The endpoints of the line segments V i (a) are called reflection vectors of the polynomial a(z). Let us denote the positive reflection vectors of the polynomial a(z) as vi+ (a)
= (a|ki = 1), i = 1, ..., n
and the negative reflection vectors of the polynomial a(z) as vi− (a) = (a|ki = −1), i = 1, ..., n. In the following theorem we define a family of stable polynomials such that the polytope generated by the reflection vectors of these polynomials is stable. Theorem 1. Let k1a ∈ (−1, 1), kna ∈ (−1, 1) and a k2a = ... = kn−1 = 0. Then the innerpoints of the polytope V(a) generated by the reflection vectors of the point a V(a) =
conv{vi± (a), i = 1, ..., n}
(11)
are Schur stable. Proof is given in (Nurges and R¨ ustern, 2002). By definition, at least one of the roots of a reflection vector vi (a) (i.e. a root of a polynomial vi (a) n vi (z) = [1z...z ] ) must lay on the unit cir1 cle. The following theorem states that the number of unit circle roots is determined by the number i of the reflection vector vi (a) and the character of the roots (real or complex) is determined by the sign of the boundary reflection coefficient
(kiv = ±1).
ROCOND'06, Toulouse, France, July 5-7, 2006
Theorem 2. Reflection vectors vi+ (a) and vi− (a) , i = 1, ..., n of a monic Schur polynomial a(z) have i roots rj , j = 1, .., i on the stability boundary. The numbers of real and complex roots are determined by the sign and the parity of the reflection vector as follows: 1) the positive reflection vector vi+ (a) has • for i even r1 = 1, r2 = −1 and (i − 2)/2 pairs of complex roots on the unit circle, • for i odd r1 = 1, and (i − 1)/2 pairs of complex roots on the unit circle, 2) the negative reflection vector vi− (a) has • for i even i/2 pairs of complex roots on the unit circle, • for i odd r1 = −1, and (i − 1)/2 pairs of complex roots on the unit circle. Proof is given in ( Nurges and R¨ ustern, 2002).
4. ROBUST OUTPUT CONTROLLER DESIGN Let us return now to the problem of robust output control. We are looking for a robust output controller such that the closed-loop characteristic polynomial is placed in a stable polytope (linear cover) of reflection vectors. It means, the following problems have to be solved: 1) choice of an initial polynomial a(z) for generating the polytope V(a) , 2) choice of n + 1 most suitable vertices of the polytope V(a) to build a target simplex S, 3) choice of a target polynomial e(z) according to (4). In the following some ”thumb rules” are given for choosing a stable target simplex S. According to Theorem 1 the initial polynomial a(z) belongs to the family of polynomials with k1a ∈ (−1, 1), kna ∈ (−1, 1) and k2a = ... = a kn−1 = 0. Let us study the roots placement of such polynomials. 1. Let k1a ∈ (−1, 1) and k2a = ... = kna = 0. Then a(z) = z n − k1 z n−1 and r1 = k1 , r2 = ... = rn = 0. a 2. Let kna ∈ (−1, 1) and k1a = ... = kn−1 = 0. n Then a(z) = z − kn and the roots of a(z) are placed symmetrically against the origin whereas max|ri | > kn . The roots of a polynomial with sufficient stability margin must be placed in a circle with radius
v1+ (a) v1− (a) v2+ (a) v2− (a)
Preprints ofβthe IFACcenter Symposium onthe Robust Control real Design <5th 1 and γ on positive axis
so that β + γ < 1 (Ackermann, 1993). Thus, a reasonable choice of an initial polynomial is following: 0 < a k1a < 1, |kna | << k1 , k2a = ... = kn−1 = 0.
= = = =
ROCOND'06, [ −1 0 ], Toulouse, France, July 5-7, 2006 [ 1 0 ], [ 0 −1 ], [ −0.4 1 ].
To choose n+ 1 vertices of the target simplex S we make use of Theorem 2. It is well known that the poles with positive real part are preferred to those with negative real part (Ackermann, 1993). Thus, according to Theorem 2, the positive reflection vectors vi+ (a) with i odd and negative reflection vectors vi− (a) with i even are chosen. It gives us n vertices. The (n+1)-th vertex of the target simplex S is chosen as the mean of the remaining reflection vectors.
and the 3 vertices of the target simplex S = conv(A, C, E) are chosen as C = v1+ (a), A = v2− (a) and E = 0.5(v1− (a) + v2+ (a)). So the matrix S of vertex polynomial coefficients is 0 1 −0.5 S = −1 −0.4 0.5 . 1 1 1
The target polynomial e(z) of order n can be, in principle, chosen freely. Nevertheless, it is reasonable to choose it inside the stable polytope of reflection vectors V(a). A quite common choice is e(z) = a(z).
6a0
For higher order polynomials the volume of a target simplex S is considerably less than the volume of the polytope of reflection vectors V. That is why the above quadratic programming method with preselected target simplex S works if only uncertainties are sufficiently small. Otherwise it is reasonable to use some search procedure to find a robust controller such that the polytope of closed-loop characteristic polynomials is placed inside the stable polytope of reflection vectors V(a). Let us consider now a very simple example to explain the main ideas of robust fixed order output controller design via the reflection vectors polytope preselection and quadratic programming task (4)-(5). Example. Let us have the second order m = 2 uncertain plant with transfer function G(z) =
z + (0.6 ± 0.1) z 2 − (0.8 ± 0.2)z − 0.4
and a proportional l = 0 output controller C(z) = q. Because l < m − 1 we can not choose an arbitrary closed-loop characteristic polynomial. Indeed, a(z) = z 2 − [(0.8 ± 0.2) + q]z + [(0.6 ± 0.1)q − 0.4] or in matrix form
f0 g0 1 . a = Gx = f1 g1 q 1 0 Let us choose according to the above ”thumb rules” the reflection coefficients k1a = 0.2 and k2a = 0. Then the generating polynomial a(z) = z 2 −0.2z has 4 reflection vectors (points C, D, F, A on Fig. 2 respectively)
A 1 B ! ! @ T
! @ T !!!
S @ !!T
q C @ !! Rr T
D P -1 @P 1 -2 P PPT
a P T
P @ E @ @ -1 F G
H
2
a -1
Fig.2 Target simplexes for robust controller design. Let us now solve the output controller design task for the nominal plant with g0 = 0.6 and f1 = −0.8 (point P) via quadratic programming. Taking α = 0 in the optimization criterion J (4) we obtain the controller gain q 1 = 0.5405 and the closed-loop characteristic polynomial (point R) a1 (z) = z 2 − 0.2595z − 0.0757. For polytopic plant with g0 = 0.6 ± 0.1 and f1 = −0.8 ± 0.2 we obtain the controller gain q 2 = 0.6417, and the vertices of the rectangle of closed-loop characteristic polynomials (solid rectangle around R) a21 (z) = z 2 + 0.0417z + 0.0492 a22 (z) = z 2 + 0.0417z − 0.0792 a23 (z) = z 2 − 0.3583z + 0.0492 a24 (z) = z 2 − 0.3583z − 0.0792. To illustrate the effect of the choice of reflection coefficients of the generating polynomial a(z) we have solved the same task with k1a = −0.8. Then the target simplex S is the triangle BCE, the optimal controller gain for the nominal plant is q 3 = 1.0659 which gives the closed-loop characteristic polynomial (point S) a3 = z 2 + 0.2659z + 0.2396. For polytopic plant we obtain q 4 = 1.0141,
Preprints of the 5th IFAC Symposium Control Design a41 (z) = z 2on+Robust 0.4141z + 0.3099
a42 (z) = z 2 + 0.4141z + 0.107 a43 (z) = z 2 0.0141z + 0.3099 a44 (z) = z 2 0.0141z + 0.107. The value of the optimization criterion J indicates in some sense (the less the better) the stability margin of the closed-loop polytope against the 1 < J1 < n + 1. For k1a = 0.2 target simplex, n+1 we have J(0.2) = 0.8272 and for k1a = −0.8 J(−0.8) = 0.7659. So it seems, that k1a = −0.8 gives a slightly better result. But we have to take into account also the roots placement of target simplexes. In general, for 0 < k1a < 1 the roots placement is better than for −1 < k1a < 0. Indeed, for k1a = 0.2 the closed-loop polytope (solid rectangle) has better roots placement than for k1a = −0.8 (dotted rectangle).
5. CONCLUSIONS A novel procedure for robust output controller design is presented. Instead of a single target point a target polytope (or simplex) is preselected. The problem of robust controller design is then formulated and solved as an optimization task which guarantees the robust stability (polytopic closed loop characteristic polynomial is placed in a stable target polytope) and maximizes a stability margin (closed loop polytope is placed as far as possible from the vertices of this stable target polytope). A constructive procedure for generating stable polytopes in polynomial coefficients space is given. This procedure of stable polytope (or simplex) building is quite straightforward because you need to choose only one stable point (the initial polynomial) with some restrictions for reflection coefficients of it. Then all the vertices of the polytope (or simplex) will be generated by reflection vectors of this polynomial.
ACKNOWLEDGEMENTS This work has been supported by the Estonian Science Foundation grants No. 5405 and 6837.
6. REFERENCES Ackermann J. (1993). Robust Control. Systems with Uncertain Physical Parameters, Springer-Verlag, London. Diaz-Barrero J.L.,Egozcue J.J. (2004) Characterization of polynomials using reflection coefficients, Applied Mathematics E-Notes, 4, 114– 121.
ˇ ROCOND'06, Toulouse, PosiFrance, July 5-7, 2006 Henrion D., Sebek M., Kuˇ cera V.(2003) tive polynomials and robust stabilization with fixed-order controllers , IEEE Trans. Automatic Control, 48, 1178–1186. Jetto L. (1999) Strong stabilization over polytopes,IEEE Trans. Automatic Control, 44, 1211–1216. Kay S.M. (1988) Modern Spectral Estimation, Prentice Hall, New Jersey. Keel L.H., Bhattacharyya S.P.(1999) A linear programming approach to controller design. Automatica, 35, 1717–1724. Magni J.F.(2002). Robust Modal Control, Kluwer Ac. Publ., New York. ¨ and R¨ Nurges U. ustern E.(2002) The distance from stability boundary and reflection vectors. Proc. American Control Conference, Anchorage, USA, paper FA15-3. ¨ and R¨ Nurges U. ustern E. (2005) On the robust output control via reflection vectors. Proc. IFAC World Congress, Prague, Chech Republik. Oppenheim A.M., Schaffer R.W. (1989). DiscreteTime Signal Processing, Prentice-Hall, Englewood Cliffs. Rotstein H., Sanchez Pena R., Bandoni J., Desages A., Romagnoli J. (1991). Robust characteristic polynomial assignment. Automatica, 27, 711–715. Scherer C., Gahinet P., Chilali M. (1997) Multiobjective output-feedback control via LMI optimization. IEEE Trans. Automatic Control, 42, 986–911.