Robust Stability of Linear Dynamical Systems

SDP > Conic problems | LMIs | Standard Forms | Applications > Back | Robust Stability
  • Motivation

  • Lyapunov stability criterion

  • Robust stability

  • Robust linear control

Motivation

The time-behavior of many dynamical systems can be well modeled using a linear system of the form

 x(t+1) = A(t)x(t) + B(t)u(t), ;; t=0,1,2,ldots

where x(t) in mathbf{R}^n is the state, which encapsulates the state of the system at time t, u(t) in mathbf{R}^p contains control variables, and A(t),B(t) are matrices of appropriate size. (For more details, see here.) When A(cdot),B(cdot) are constant, we say that the system is time-invariant.

A continuous-time version of the above takes the form

 dot{x}(t) := frac{d}{dt}x(t) = A(t)x(t) + B(t)u(t), ;; t ge0.

We focus on these continuous-time models here.

A crucial problem in dynamical systems is asymptotic stability. Roughly speaking, we would like to know if, irrespective of the initial condition x(0), and when there are no inputs (u(t) = 0 for every t), then x(t) rightarrow 0 when t rightarrow +infty. If not, we would like to see how to act on the system with certain inputs that are functions of the state, so that the resulting system becomes stable.

Lyapunov stability criterion

Lyapunov invented (circa 1890) a method that provides a (in general, only sufficient) condition for asymptotic stability. Assume that there is a positive-definite function of the state, V(x) = x^TPx that decreases strictly along every trajectory. Then x converges to zero as t rightarrow +infty. The physical interpretation of V is that it acts as a total energy for the system. For mechanical systems, V can be chosen to contain the kinetic and potential energy.

When u equiv 0, and with dot{x}(t) = A(t)x(t), we have

 dot{V} = 2 x^TPdot{x} = 2 x(t)^T(A(t)^TP+PA(t))x(t).

Thus a sufficient condition for stability is dot{V} <0 on any trajectory. Expressing this condition for t=0 and for arbitrary x(0) results in the following sufficient condition for asymptotic stability.

Lyapunov's sufficient condition for asymptotic stability: there exist P = P^T in mathbf{R}^{n times n} such that

  1. P is positive definite;

  2. for every t ge 0, A(t)^TP+PA(t) is negative definite.

It turns out that for time-invariant systems (A(t) independent of t), the above is also necessary.

Robust stability

Now assume that A(t) is not completely known, say it can take its values arbitrarily in a finite set mathbf{A} := { A_1,ldots,A_L}. The matrices A_1,ldots,A_L can represent the behavior of the system under different operating conditions, and allow to model the uncertainty about the model's parameters. Based on Lyapunov's condition above, the following condition guarantees stability irrespective of the choice of A(t) in mathbf{A}.

Lyapunov's sufficient condition for robust asymptotic stability: there exist P = P^T in mathbf{R}^{n times n} such that

  1. P=P^T is positive definite;

  2. for every i=1,ldots,L, A_i^TP+PA_i is negative definite.

The above is a semidefinite program, in matrix variable P. (There is no objective function here; this is a feasibility problem.)

Robust linear control

What if a system is not stable? One way to stabilize it is via linear feeback, using this time an input that is a linear function of the state (which we assume is measured, hence available). That is, we set u(t) = Kx(t) where K is a matrix of control parameters (or gains). The closed-loop system becomes

 dot{x}(t) = (A(t)+B(t)K)x(t)

Applying the stability condition to the system above leads to a condition in P,K, that

 R(t) := (A(t)+B(t)K)^TP+P(A(t)+B(t)K)

should be negative-definite for every t ge 0. The above matrix is not affine in the variables P,K. However, the condition for a matrix R to be negative-definite is equivalent to the fact that Q := XRX is, where X is an arbitrary invertible matrix. Applying this to X := P^{-1}, and letting U := KX, we obtain that if there exist X,U with X positive-definite, such that for every t ge0,

 Q(t) := (A(t)X+B(t)U)+(A(t)X+B(t)U)^T

is negative-definite, then the system can be stabilized by linear feedback.

In the case when the matrix [A(t),B(t)] is not completely known, say it can take its values arbitrarily in a finite set mathbf{C} := { [A_1,B_1],ldots,[A_L,B_L]}, then the condition: there exist X,U with X positive-definite, such that:

 Q_i := (A_iX+B_iU)+(A_iX+B_iU)^T

is negative definite, then the system is robustly stabilizable.