Preprints of the 18th IFAC World Congress Milano (Italy) August 28 - September 2, 2011
Explicit constraint control based on interpolation techniques for time-varying and uncertain linear discrete-time systems H.-N. Nguyen ∗ P.-O. Gutman ∗∗ S. Olaru ∗ M. Hovd ∗∗∗ ∗
SUPELEC Systems Sciences (E3S) - Automatic Control Department (e-mail: (Hoainam.Nguyen, Sorin.Olaru)@supelec.fr. ∗∗ Faculty of Civil and Environmental Engineering Technion - Israel Institute of Technology (e-mail:
[email protected]). ∗∗∗ Department of Engineering Cybernetics, Norwegian University of Science and Technology (e-mail:
[email protected]).
Abstract: In this paper we consider the problem of regulating a time-varying and uncertain linear discrete-time system to the origin. It is shown how, by applying an interpolation technique and minimizing an appropriate objective function, one can achieve feasibility and a robustly and asymptotically stable closed-loop behavior. Moreover, we show that the control is a piecewise affine and continuous function of state. A simulation result demonstrates the performance of our approach. Keywords: Vertex control, Model predictive control, Interpolation, Explicit solution, Invariant set, Linear matrix inequalities. 1. INTRODUCTION It is well known that in practical engineering applications unavoidable uncertainties may cause infeasibility, thus severely affecting the economics and system operational performance. Hence, there has been an increasing interest in robust control of uncertain linear discrete time systems in the control literature of the last half century. For uncertain linear discrete-time systems it was shown in Gutman and Cwikel (1986) and Blanchini (1992) that a robust stabilizing control law, that is piecewise linear in the state, can be obtained by applying convex combinations of the control signals of the vertices of the feasible invariant set. However a weakness of this vertex control law is that the full control range is exploited only on the border of the feasible positive invariant set in the state space, and hence the time to regulate the plant to the origin is much longer than the optimal one with respect to some cost function. Noting that the vertex control Lyapunov level curves are polyhedra parallel with the border of the vertex control feasible set polyhedron, we postulate a polyhedral feasible set for the local control. Then we suggest a smooth convex interpolation between the vertex control action uv and the local control action uo = Kx for the current state x, in the form u = cuv + (1 − c)uo , 0 ≤ c ≤ 1, whereby c is minimized to c∗ in order to give maximal control action. We show that with this objective function there exists a Lyapunov function for the system controlled by the interpolated controller u, and hence stability is proved.
in each of which the improved vertex control algorithm u = c∗ uv + (1 − c∗ )uo is applied. Thus, our controller can be compared with explicit MPC where the feasible set in the state space is also partitioned in polyhedra each of which with its own affine state feedback control law. The difference between the new approach and explicit MPC is that while the explicit MPC is optimal with respect to the chosen criterion for one nominal plant case, the improved vertex control is proved to be stable for a given set of plants or for a time-varying plant, and is considerably simpler with much fewer polyhedral subsets and less online computational burden. 2. PROBLEM FORMULATION Consider the problem of regulating to the origin the following uncertain discrete-time linear system: x(t + 1) = A(t)x(t) + B(t)u(t)
(1)
where x(t) ∈ Rn and u(t) ∈ Rm are respectively the state and the input. The matrices A(t) ∈ Rn×n and B(t) ∈ Rn×m are characterized by a so-called polytopic uncertainty, satisfying: s s X X A(t) = α A , B(t) = αi Bi , i i i=1
i=1
s X αi = 1. αi ≥ 0, ∀i = 1, . . . , s,
(2)
i=1
It is shown that from a computational point of view the minimization of c can be done by linear programming. An off-line minimization partitions the feasible set outside of the feasible set of the local control into a set of polyhedra, Copyright by the International Federation of Automatic Control (IFAC)
where the matrices Ai and Bi are given. A somewhat more general uncertainty description is given in Nguyen et al. (2011) which can be transformed to the one in (2).
5741
Preprints of the 18th IFAC World Congress Milano (Italy) August 28 - September 2, 2011
Both the state vector x(t) and the control vector u(t) are subject to polytopic constraints: x(t) ∈ X, X = {x : Fx x ≤ gx } ∀t ≥ 0 (3) u(t) ∈ U, U = {u : Fu u ≤ gu } where the matrices Fx , Fu and the vectors gx , gu are assumed to be constant with gx > 0, gu > 0 such that the origin is contained in the interior of X and U . In this paper, we assume that the states of the system are measurable.
Theorem 1: The piecewise linear control u = K k x is feasible and asymptotically stable for all x ∈ PN . Proof: The proof of this theorem is not reported here. The interested reader is referred to Gutman and Cwikel (1986), Blanchini (1992) or Nguyen et al. (2011). 2 3.2 Interpolation via linear programming Any state x(t) in PN can be decomposed as follows: x(t) = cxv (t) + (1 − c)xo (t)
(6)
where xv (t) ∈ PN , xo (t) ∈ Ω and 0 ≤ c ≤ 1.
3. INTERPOLATION BASED CONTROLLER WITH LINEAR PROGRAMMING
Consider the following control law:
Based on an LMI technique, Boyd et al. (1994) show how one can find a feedback gain K, that quadratically stabilizes the system (1). The details of such a synthesis procedure are not reproduced here but we assume that the feasibility of such an optimization based robust control design is guaranteed.
u(t) = cuv (t) + (1 − c)uo (t)
(7)
where uv (t) is obtained by applying the vertex control law and uo (t) = Kxo (t) is the control law, that is feasible in Ω.
Based on procedures in Blanchini and Miani (2008), Nguyen et al. (2011) one can find a maximal admissible (MAS) set Ω in the form Ω = {x : Fw x ≤ gx } when applying the control law u = Kx. Furthermore with some given and fixed N , one can find a controlled invariant set PN = {x : FN x ≤ gN } such that all x ∈ PN can be steered into Ω in no more than N steps when a suitable control is applied. 3.1 Vertex control law (Gutman and Cwikel, 1986) Given a positve invariant polytope PN ∈ Rn , this polytope can be decomposed in a sequence of simplices PNk each (k) (k) (k) formed by n vertices x1 , x2 , . . . , xn and the origin. These simplices have following properties: • PNk has nonempty interior, l k • Int(P S kN ∩ PN ) = ∅ if k 6= l, • k PN = PN , (k)
(k)
Fig. 1. Feasible regions for example 1. The blue one is the MAS Ω, when applying the control law u = Kx. The red one is the positively invariant set PN . Theorem 2: The above linear control is feasible for all x ∈ PN .
(k)
Denote by X (k) = (x1 x2 . . . xn ) the square matrix defined by the vertices generating PNk . Since PNk has nonempty interior, X (k) is invertible. Let U (k) = (k) (k) (k) (u1 u2 . . . un ) be the matrix defined by the admissible control values at these vertices. For x ∈ PNk consider the following linear gain K k : K k = U (k) (X (k) )−1
Proof: Corresponding to the decomposition, the control law is given by (7). One has to prove that Fu u(t) ≤ gu and x(t + 1) = A(t)x(t) + B(t)u(t) ∈ PN for all x(t) ∈ PN . It follows: Fu u(t) = Fu (cuv (t) + (1 − c)uo (t)) = cFu uv (t) + (1 − c)Fu uo (t) ≤ cgu + (1 − c)gu = gu
(4)
and Remark 1: By the admissible control value we understand x(t + 1) = A(t)x(t) + B(t)u(t) any control action, that keeps the state inside the invariant = A(t)(cxv (t) + (1 − c)xo (t)) + · · · set. Generally one would like to maximize the control + B(t)(cuv (t) + (1 − c)uo (t)) action at the vertices of the feasible invariant set. This = c(A(t)xv (t) + B(t)uv (t)) + · · · can be done by using the following program. + (1 − c)(A(t)xo (t) + B(t)uo (t)) FN (Ai x + Bi u) ≤ gN , ∀i = 1, . . . , s, J = max |u|p s.t. (5) We have A(t)xv (t) + B(t)uv (t) ∈ PN and A(t)xo (t) + Fu u ≤ gu . B(t)uo (t) ∈ Ω ⊂ PN , it follows that x(t + 1) ∈ PN . 2 where |u|p is the p−norm of vector u. Due to the properties of the positive invariant set, the above program is always feasible.
Referring to the discussion in the introduction, to give a maximal control action, one would like to minimize c, so the following program is given:
5742
Preprints of the 18th IFAC World Congress Milano (Italy) August 28 - September 2, 2011
F x ≤ gN , N v Fw xo ≤ gw , c∗ (x) = min c, s.t. c,xv ,xo cxv + (1 − c)xo = x, 0≤c≤1
(8)
Denote rv = cxv , ro = (1 − c)xo . It is clear that rv ∈ cPN and ro ∈ (1 − c)Ω or equivalently FN rv ≤ cgN and Fw ro ≤ (1 − c)gw . The above non-linear program is translated into a linear program as follows. Algorithm 1: Interpolation based on linear programming ( FN rv ≤ cgN Fw (x − rv ) ≤ (1 − c)gw c∗ (x) = min c, s.t. (9) c,rv 0≤c≤1 Remark 2: If one would like to maximize c, it is obvious that c = 1 for all x ∈ PN . In this case the controller turns out to be the vertex controller. Theorem 3: The control law using interpolation based on linear programming (6), (7, (9) guarantees robustly asymptotic stability for all initial state x(0) ∈ PN . Proof: See Nguyen et al. (2011)
2
4. EXPLICIT SOLUTION This section is dedicated to the computation and structural implication of the interpolation based on linear programming (9). The control law can be pre-computed offline in an explicit form as a piecewise linear state feedback over a polyhedral partition of the state space, thus avoiding a real-time optimization. Remark 3: The following properties can be exploited at the construction stage: • For x ∈ Ω the result of the optimal interpolation problem has a trivial solution x∗0 = x and thus c∗ = 0 in (9). • Let x ∈ PN \ Ω, with a particular convex combination x = cxv + (1 − c)xo , where xv ∈ PN . If xo is strictly inside Ω one can set x∗o = F r(Ω) ∩ x, x0 (the intersection between the frontier of Ω and the line connecting x and xo ). Using convexity arguments x = c∗ xv + (1 − c∗ )x∗o with c∗ ≤ c. In general terms, the optimal interpolation process leads to a solution (xv , xo )∗ with x∗o ∈ F r(Ω). • On another hand, if xv is strictly inside PN , by setting x∗v = F r(PN ) ∩ x, xv (the intersection between the frontier of PN and the line connecting x and xv ) one can obtain x = c∗ x∗v + (1 − c∗ )xo with c∗ ≤ c leading to the conclusion that for the optimal solution (xv , xo )∗ we have x∗v ∈ F r(PN ).
Fig. 2. Graphic illustration of the construction in remark 3. kxv −xk kx−xo k
reaches maximum, where k.k denotes the norm of the corresponding vector. Proof: One has x = cxv + (1 − c)xo ⇒ xv − x = xv − cxv − (1 − c)xo = (1 − c)(xv − xo ) ⇒ kxv − xk = (1 − c) k(xv − xo )k Analogously, one can obtain kx − xo k = c k(xv − xo )k leading to (1 − c) kxv − xo k 1 kxv − xk = = −1 kx − xo k c kxv − xo k c and it can be observed that c if minimum if and only if kxv −xk 1 c − 1 reaches the maximum, or in another words kx−xo k reaches the maximum. 2 Ultimately, taking into account that x ∈ Rn one needs to identify n + 1 extreme points (vertices) of these sets in order to find the control law by interpolation. Explicit solution problem: Given any x ∈ PN \ Ω, find the expression c(x) : Rn → R+ such that the convex combination x = cxv +(1−c)xo , with xv ∈ PN and xo ∈ Ω is obtained for the smallest value of c ∈ R+ . 4.1 Structural implication of the R2 case In this subsection we present an analysis using a R2 state space. The discussion gives insight into the properties of the partition in the explicit solution (namely the fact that there are no critical regions with extreme point in PN \ Ω). For this specific case it is shown that the partition can be computed based on a simplex-based decomposition.
From the previous remark we conclude that c will reach a minimum in (9) if x is written as a convex combination of two points, one belonging to the frontier of Ω and the other on the frontier of PN .
In the following we will consider for illustration four points Xi , i = 1, . . . , 4 and any point x ∈ convex hull(Xi ), i = 1, . . . , 4 (this schematic view can be generalized to any pair of faces of PN and Ω). Denote Xij the interval connecting Xi and Xj for i, j = 1, . . . , 4 and i 6= j. The problem is reduced to the expression of a convex combination x = cxv + (1 − c)xo , where xv ∈ X12 ⊂ F r(PN ) and v −xk xo ∈ X34 ⊂ F r(Ω) providing the maximal value of kx kx−xo k .
Theorem 4: The convex combination x = cxv + (1 − c)xo with x ∈ PN \ Ω gives the smallest value of c if and only if
Denote R as the intersection between X13 and X24 . It follows that if X12 is not parallell with X34 that either
5743
Preprints of the 18th IFAC World Congress Milano (Italy) August 28 - September 2, 2011
Fig. 3. Graphic illustration in the R2 case
Fig. 4. State space partition for example 1. x is a convex combination of xv ∈ PN and xo ∈ Ω.
kR − X2 k kR − X1 k > kR − X4 k kR − X3 k
x = cxv + (1 − c)xo n X x= αi xi + αi+1 xo
or kR − X1 k kR − X2 k > . kR − X3 k kR − X4 k
i=1
where 0 ≤ c ≤ 1 and 0 ≤ αi ≤ 1,
Without loss of generality we suppose that kR − X1 k kR − X2 k > kR − X4 k kR − X3 k
(10)
Theorem 5: Under the condition (10), the smallest value c will be reached with the decomposition X1234 = X124 ∪ X234 , where X124 is a simplex formed by the convex hull of X1 , X2 , X4 and X234 - formed by the convex hull of X2 , X3 , X4 . Proof: Indeed, without loss of generality, suppose that x ∈ X234 . One has 0
0
x = cx2 + (1 − c)xo = cxv + (1 − c)xo 0
where T is an intersection between x2 , xo and the ray, 0 starting from xv and is parallel with x4 , x3 , see Figure 3. 2 Finally if X12 is parallel with X34 any convex combination x = cxv + (1 − c)xo where xv ∈ X12 and xo ∈ X34 gives the same value of c. In conclusion, if x ∈ PN \ Ω, the smallest value c will be reached when the region PN \ Ω is decomposed into polytopes. These polytopes can be further decomposed into simplices, each formed by n vertices of PN and one vertex of Ω or one vertex of PN and n vertices of Ω. So our state space partition looks like that in Figure 4. Suppose that x belongs to the simplex formed by n vertices x1 , x2 , . . . , xn of PN and the vertex xo of Ω (the case when the simplex is formed by one vertex of PN and n vertices of Ω can be treated similarly and is not developed here). In this case
i=1
αi = 1.
Due to uniqueness of this combination, αi+1 = 1 − c and n X αi xi xv = c i=1 By applying the vertex control law we obtain n X αi uv = ui c i=1 and u = cuv + (1 − c)uo =
(11)
and it is clear that for any xv , xo 0 that satisfy (11) and 0 0 xv 6= x2 and xo 6= xo , one can write:
0
x − xv kx − x2 k kx − T k < = 0 kx − xo k kx − xo k kx − xo k
Pn+1
n X
αi ui + αi+1 uo .
i=1
It turns out that, if x ∈ PN \ Ω our controller is an affine feedback state law whose gains are obtained simply by linear interpolation of the control values at the vertices of the simplex. 4.2 Explicit solution and multiparametric programming By applying similar arguments, one can conclude that in the general n-dimensional case, over PN \Ω the interpolating controller is an affine (due to saturation) state feedback law, whose gains are obtained by linear interpolation of the control values at the vertices of a simplex in the state space. Nevertheless, the generalization of a simplexbased partition is not straightforward and generally can be highly improved from the complexity point of view by merging of the elementary simplex cells found above. In general terms it can be noted that the interpolation based on linear programming is parameterized in terms of the state vector and leads to a multiparametric optimization problem. This observation provides a generic method for the explicit solution construction by means of the specialized solvers available, e.g. in the Multi-parametric toolbox (Kvasnica et al., 2004). The expected result is a decomposition of the state space corresponding to the distribution of the optimal pairs of extreme points (vertices) used in the interpolation process.
5744
Preprints of the 18th IFAC World Congress Milano (Italy) August 28 - September 2, 2011
Algorithm 2: Explicit solution Input: Given the sets PN , Ω, the feasible feedback gain K over Ω, and the control values at the vertices of PN . Output: State space partition, the feedback control laws over PN . (1) Solve the LP (9) by using explicit multi-parametric programming, where the parameter is x. As a result, one gets the state space partition of PN . (2) Decompose each partition of PN \ Ω in a sequence of simplices, each formed by n vertices of PN and one vertex of Ω (or one vertex of PN and n vertices of Ω). As a result, one gets the state space partition over PN \ Ω in form of simpleces P k . (3) In the MAS Ω, the corresponding control law is u = Kx. (4) In each simplex P k ⊂ PN \Ω the control law is defined as:
Fig. 5. Graphical illustration of the construction related to the Theorem 6. k(LA xA + vA ) − (LB xB + vB )k = k(L0 x0 + v0 ) − (L0 x1 + v0 ) + (L1 x1 + v1 )− . . . − (Lr xr + vr ) = kL0 x0 − L0 x1 + L1 x1 − . . . − Lr xr k r r X X ≤ kLi (xk − xk−1 )k ≤ kLk k k(xk − xk−1 )k
u(x) = Lk x + vk where Lk ∈ Rm×n and vk ∈ Rm×1 are obtained by linear interpolation k −1 x1 . . . xkn+1 (Lk vk ) = (u1 . . . un+1 ) 1 ... 1 where {xk1 . . . xkn+1 } are vertices of P k that define a full-dimensional simplex.
k=1
≤M
r X
k=1
k(xk − xk−1 )k = M kxA − xB k
k=1
where the last equality holds as a consequence of the fact that the points {xi , i = 1, . . . , r} lie on the same segment xA , xB . 2 5. EXAMPLE
4.3 Properties of the explicit solution Theorem 6: Consider the control law resulting from the interpolation based on linear programming (6), (7), (9) (1) This control law can be represented as a continuous and piecewise affine function of the state. (2) This control is Lipschitz with Lipschitz constant M = maxk kLk k, where k ranges over the set of indices of partitions and k·k denotes the Euclidean norm. Proof: Based on algorithm 2, it is obvious that the control law is the result of multi-parametric linear program and can be expressed analytically in terms of a piecewise affine function of the state. The fact that the cost function (9) is only positive semi-definite indicate that the uniqueness of the optimal solution is not guaranteed. The main consequence of this fact is the possible loss of continuity in the construction of a explicit solution. By exploiting the parameterization of the feasible domain one can obtain a continuous selection expressed in terms of parameterized vertices. The reader is referred to Olaru and Dumur (2007) for further discussions on related concepts and constructive procedures. With respect to the second part of the theorem, for any two points xA and xB in PN , there exist r + 1 points xk , k = 0, . . . , r that lie on the segment, connecting xA and xB , and such T that xA = x0 , xB = xr and (xk−1 , xk ) = xA , xB Fr(P i )(the intersection between the line connecting xA , xB and the frontier of some partition P i , see Figure 5). Due to the continuity property of the control law, one has
To show the effectiveness of the proposed approach, an example will be presented in this section. A local feedback gain will be obtained using CVX, a package for specifying and solving convex programs, Grant and Boyd (2010). To solve linear programs and calculate an explicit solution for algorithm 2, we used the Multi-parametric toolbox, Kvasnica et al. (2004). Consider the uncertain discrete-time system: x(t + 1) = A(t)x(t) + B(t)u(t)
(12)
where A(t) = α(t)A1 + (1 − α(t))A2 , B(t) = α(t)B1 + (1 − α(t))B2 and
1 0.1 0 , B1 = , 0 1 1 1 0.2 0 A2 = , B2 = 0 1 1.5 A1 =
At each sampling time α(t) ∈ [0, 1] is an uniformly distributed pseudo-random number. The constraints are −10 ≤ x1 ≤ 10, −10 ≤ x2 ≤ 10, −1 ≤ u ≤ 1. By solving an LMI, the feedback gain is obtained K = (−1.8112 − 0.8092) Using procedures 1 and 2 one obtains the sets Ω and PN as shown in Figure 1. Note that P27 = P28 , in this case P27 is a maximal invariant set for system (12).
5745
Preprints of the 18th IFAC World Congress Milano (Italy) August 28 - September 2, 2011
−1 (−0.92 − 1.25)x + 2.31 (−0.00 − 0.20)x + 1 (0.17 − 0.80)x + 2.72 (0.11 − 0.56)x + 2.14 1 u= (−0.92 − 1.25)x − 2.31 (−0.00 − 0.20)x − 1 (0.17 − 0.80)x − 2.72 (0.11 − 0.56)x − 2.14 (−1.81 − 0.81)x
The set of vertices of PN is given by the matrix V (PN ) below, together with the control matrix Uv V (PN ) = (V1 ; − V1 ) where V1 =
10 9.7 9.1 8.2 7 5.5 3.7 2.3 −10 0 1.5 3 4.5 6 7.5 9 10 10
In the same time:
if if if if if if if if if if if
x ∈ R1 ∪ R2 x ∈ R3 x ∈ R4 x ∈ R5 x ∈ R6 x ∈ R7 ∪ R8 x ∈ R9 x ∈ R10 x ∈ R11 x ∈ R12 x ∈ R13
Uv = (U1 ; − U1 ) 6. CONCLUSION where U1 = ( −1 −1 −1 −1 −1 −1 −1 −1 −1 ) Using algorithm 2 the state space partition is obtained (Figure 4). Merging the regions with the identical control law one can obtain the reduced state space partition in Figure 6. In the same figure 26 different trajectories of the closed-loop system are presented with different initial condition and different realizations of α(t).
In this paper a novel interpolation scheme using linear programming is introduced for time-varying and uncertain linear discrete-time plants with polyhedral state and control constraints. The interpolation is done between global vertex control and local unconstrained robust optimal control. A proof of asymptotic stability is given. The resulting control law is affine over a polyhedral partition of the state space and is thus similar to explicit Model Predictive Control. In contrast to most MPC schemes, the present controller is suitable for uncertain and timevarying plants, and gives local optimal control. we believe that it will prove attractive for some fast MPC-like applications in industry. REFERENCES
Fig. 6. State space partition and trajectories of the closedloop system for example 1. Number of regions Nr = 13. Corresponding to the initial condition x0 = (−2 10)T , Figure 7 presents one realization of α(t), the state and input trajectories.
Blanchini, F. (1992). Minimum-time control for uncertain discrete-time linear systems. In Proceedings of the 31st IEEE Conference on Decision and Control, 1992., 2629– 2634. Blanchini, F. and Miani, S. (2008). Set-theoretic methods in control. Springer. Boyd, S., El Ghaoui, L., Feron, E., and Balakrishnan, V. (1994). Linear matrix inequalities in system and control theory. Society for Industrial Mathematics. Grant, M. and Boyd, S. (2010). CVX: Matlab Software for Disciplined Convex Programming, version 1.21. http://cvxr.com/cvx. Gutman, P. and Cwikel, M. (1986). Admissible sets and feedback control for discrete-time linear dynamical systems with bounded controls and states. IEEE transactions on Automatic Control, 31(4), 373–376. Kvasnica, M., Grieder, P., Baotic, M., and Morari, M. (2004). Multi-parametric toolbox (MPT). Hybrid Systems: Computation and Control, 121–124. Nguyen, H.N., Gutman, P.O., Olaru, S., Hovd, M., and Colledani, F. (2011). Improved vertex control for uncertain linear discrete-time systems with control and state constraints. In American Control Conference, 2011. IEEE. Olaru, S. and Dumur, D. (2007). On the continuity and complexity of control laws based on multiparametric linear programs. In Decision and Control, 2006 45th IEEE Conference on, 5465–5470. IEEE.
Fig. 7. State and input trajectories and the realization of α(t) for example 1. The control law over the state space partition is 5746