1: \documentclass[12pt,letterpaper]{article}
2:
3: \usepackage{amssymb}
4: \usepackage{amsmath}
5: \usepackage{amsthm}
6: %
7: %
8: \usepackage{graphicx}
9: \usepackage{graphics}
10: %
11: %
12: \usepackage{setspace}
13: \usepackage{subfigure}
14: %
15: \usepackage[margin=1in]{geometry}
16:
17:
18: \begin{document}
19:
20: \newcommand{\pardfdx}{$\frac{\partial \mathbf{f}}{\partial \mathbf{x}} $}
21: \newcommand{\pardfdxnm}{\frac{\partial \mathbf{f}}{\partial \mathbf{x}}}
22: \newcommand{\pardfdynm}{\frac{\partial \mathbf{f}}{\partial \mathbf{y}}}
23: \newcommand{\boldf}{\mathbf{f}}
24: \newcommand{\boldg}{\mathbf{g}}
25: \newcommand{\boldx}{\mathbf{x}}
26: \newcommand{\boldz}{\mathbf{z}}
27: \newcommand{\boldT}{\mathbf{T}}
28: \newcommand{\boldM}{\mathbf{M}}
29: \newcommand{\boldF}{\mathbf{F}}
30: %
31: \newcommand{\boldR}{\mathbf{R}}
32: \newcommand{\boldy}{\mathbf{y}}
33: \newcommand{\boldu}{\mathbf{u}}
34: \newcommand{\pardfdxdel}{\frac{\partial \boldf_{\delta}}{\partial \boldx}}
35: \newcommand{\pardfdxgam}{\frac{\partial \boldf_{\gamma}}{\partial \boldx}}
36:
37:
38: \newcommand{\R}{{\mathbb R}}
39:
40:
41: \newtheorem{definition}{Definition}
42: \newtheorem{theorem}{Theorem}
43: \newtheorem{lemma}{Lemma}
44:
45: \newcommand{\todo}[1]{\vspace{5 mm}\par \noindent \marginpar{\textsc{ToDo}}
46: \framebox{\begin{minipage}[c]{0.95 \columnwidth} \tt #1
47: \end{minipage}}\vspace{5 mm}\par}
48:
49: \title{Stability and Robustness Analysis of Nonlinear Systems \\
50: via Contraction Metrics and SOS Programming }
51:
52: \author{Erin M. Aylward$^1$ \qquad Pablo A. Parrilo$^1$ \qquad Jean-Jacques E. Slotine$^2$ \\
53: $^1$Laboratory for Information and Decision Systems\\
54: $^2$Nonlinear Systems Laboratory \\
55: Massachusetts Institute of Technology \\
56: Cambridge, MA 02139, USA}
57:
58: \date{LIDS Technical Report \#2691 \\ \vspace{.6cm} \today}
59:
60: \maketitle
61:
62:
63: \tableofcontents
64: \pagebreak
65: \begin{abstract}
66:
67: Contraction analysis is a stability theory for nonlinear systems where
68: stability is defined incrementally between two arbitrary
69: trajectories. It provides an alternative framework in which to study
70: uncertain interconnections or systems with external inputs, where it
71: offers several significant advantages when compared with traditional
72: Lyapunov analysis. Contraction-based methods are particularly useful
73: for analyzing systems with uncertain parameters and for proving
74: synchronization properties of nonlinear oscillators. Existence of a
75: contraction metric for a given system is a necessary and sufficient
76: condition for global exponential convergence of system
77: trajectories. For systems with polynomial or rational dynamics, the
78: search for contraction metrics can be made fully algorithmic through
79: the use of convex optimization and sum of squares (SOS)
80: programming. The search process is made computationally tractable by
81: relaxing matrix definiteness constraints, whose feasibility indicate
82: existence of a contraction metric, into SOS constraints on polynomial
83: matrices. We illustrate the results through examples from the
84: literature, emphasizing the advantages and contrasting the differences
85: between the contraction approach and traditional Lyapunov techniques.
86:
87: \end{abstract}
88:
89: %
90:
91: \section{Introduction}
92: Contraction analysis is a stability theory for nonlinear systems where
93: stability is defined incrementally between two arbitrary trajectories
94: \cite{OCA}. The existence of a contraction metric for a nonlinear
95: system ensures that a suitably defined distance between nearby
96: trajectories is always decreasing, and thus trajectories converge
97: exponentially and globally. One important application of contraction
98: theory is its use in studying the synchronization of nonlinear coupled
99: oscillators \cite{OPC-NO}. These oscillators present themselves in a
100: variety of research fields such as mathematics, biology, neuroscience,
101: electronics, and robotics. The use of coupled oscillators in each of
102: these fields, as well as how contraction theory can be used to analyze
103: networks of coupled identical nonlinear oscillators can be can be
104: found in \cite{OPC-NO} and the references listed therein.
105:
106: Contraction theory nicely complements Lyapunov theory, a standard
107: nonlinear stability analysis technique, as it provides an
108: alternative framework in which to study convergence and robustness
109: properties of nonlinear systems. For autonomous systems one can
110: interpret the search for a contraction metric as the search for a
111: Lyapunov function with a certain structure. This statement will be
112: explained further in Section \ref{UD}. There are, however,
113: advantages to searching for a contraction metric instead of
114: searching explicitly for a Lyapunov function. In particular, as we
115: will show, contraction metrics are useful for analyzing uncertain
116: nonlinear systems. In general, nonlinear systems with uncertain
117: parameters can prove quite troublesome for standard Lyapunov
118: methods, since the uncertainty can change the equilibrium point of
119: the system in very complicated ways, thus forcing the use of
120: parameter-dependent Lyapunov functions in order to prove stability
121: for a range of the uncertain parameter values.
122:
123: Much of the literature on parameter-dependent Lyapunov functions
124: focuses on linear systems with parametric uncertainty
125: \cite{PDL:Haddad,PDL:Gahinet,PDL:Feron, Rantzerpaper}. However, if
126: a linear model is being used to study a nonlinear system around an
127: equilibrium point, changing the equilibrium of the nonlinear
128: system, necessitates relinearization around the new equilibrium.
129: If the actual position of the equilibrium, in addition to the
130: stability properties of the equilibrium, of the nonlinear system
131: depends on the uncertainty, it may be impossible to obtain any
132: kind of closed form expression of the equilibrium in terms of the
133: uncertain parameters. Thus, parameterizing the linearization in
134: terms of the uncertainty may not be an option.
135:
136: A well-studied method of dealing with specific forms of nonlinearities
137: is to model the nonlinear system as a linear system with bounded
138: uncertainty. In particular, in \cite{LMIBook} polytopic linear
139: differential inclusions (LDIs), norm-bound LDIs, and diagonal
140: norm-bound LDIs are considered. These techniques are computationally
141: tractable as they reduce to convex optimization problems. Though these
142: methods work for various kinds of uncertainty, it is also desirable to
143: find methods to study the stability of nonlinear systems that do not
144: easily admit linear approximations with the nonlinearities covered
145: with uncertainty bounds.
146:
147: Contraction theory provides a framework in which to study the
148: stability behavior of more general uncertain nonlinear systems.
149: This framework eliminates many of the restrictions and problems
150: that may be encountered when trying to analyze uncertain nonlinear
151: systems with traditional linearization techniques or Lyapunov
152: methods. This results from the fact that if a nominal system is
153: contracting with respect to a certain contraction metric, it is
154: often the case that the uncertain system with additive or
155: multiplicative uncertainty within a certain range will still be
156: contracting with respect to the same metric, even if the
157: perturbation changes the position of the equilibrium of the
158: system. Thus, it is possible to determine stability of the system
159: for a range of values of the uncertain parameter without
160: explicitly tracking how the uncertainty changes the location of
161: the equilibrium. These ideas will be discussed further in
162: Section~\ref{UD}.
163:
164: Another interesting feature of the contraction framework is its
165: relative flexibility in incorporating inputs and outputs. For
166: instance, to prove contraction of a class of systems with external
167: inputs, it is sufficient to show the existence of a contraction
168: metric with a certain structure. This feature, which will be
169: discussed in Section~\ref{EI}, is central in using contraction
170: theory to prove synchronization of coupled nonlinear oscillators.
171:
172: To translate the theoretical discussion above into effective
173: practical tools, it is desirable to have efficient computational
174: methods to numerically obtain contraction metrics. Sum of squares
175: (SOS) programming provides one such method. SOS programming is
176: based on techniques that combine elements of computational algebra
177: and convex optimization, and has been recently used to provide
178: efficient convex relaxations for several computationally hard
179: problems \cite{CAND}. In this paper we will show how SOS
180: programming enables the search for contraction metrics for the
181: class of nonlinear systems with polynomial dynamics. We discuss
182: how to use SOS methods to find bounds on the maximum amount of
183: uncertainty allowed in a system in order for the system to retain
184: the property of being contracting with respect to the contraction
185: metric of the unperturbed system. We also use SOS methods to
186: optimize the contraction matrix search to obtain a metric that
187: provides the largest symmetric uncertainty interval for which we
188: can prove the system is contracting.
189:
190: This paper is organized as follows: in Section~\ref{CT} we give
191: background material on contraction theory. Section~\ref{SOSSect}
192: discusses sum of squares (SOS) polynomials and matrices. We
193: present next an algorithm which uses SOS programming to
194: computationally search for contraction metrics for nonlinear
195: systems. We discuss why contraction theory is useful for studying
196: systems with uncertain dynamics in Section~\ref{UD} and external
197: inputs in Section~\ref{EI}. Finally, in Section~\ref{Conclusions}
198: we present our conclusions, and outline possible directions for
199: future work.
200:
201: \section{Contraction Analysis}\label{CT}
202:
203: Contraction analysis is a relatively recently developed stability
204: theory for nonlinear systems analysis \cite{OCA}. The theory attempts
205: to answer the question of whether the limiting behavior of a given
206: dynamical system is independent of its initial conditions. More
207: specifically, contraction analysis is a theory in which stability is
208: defined incrementally between two arbitrary trajectories. It is used
209: to determine whether nearby trajectories converge to one another. This
210: section summarizes the main elements of contraction analysis; a much
211: more detailed account can be found in \cite{OCA}.
212:
213: We consider deterministic dynamical systems of the form
214: \begin{equation}
215: \dot{\boldx} = \boldf(\boldx(t),t), \label{sysdynamics}
216: \end{equation}
217: where $\boldf$ is a nonlinear vector field and $\boldx (t)$ is an
218: $n$-dimensional state vector. For this analysis it is assumed that
219: all quantities are real and smooth and thus that all required
220: derivatives or partial derivatives exist and are continuous. This
221: existence and continuity assumption clearly holds for polynomial
222: vector fields.
223:
224: Under the assumption that all quantities are real and smooth, from
225: equation (\ref{sysdynamics}) we can obtain the differential
226: relation
227: \begin{equation}
228: \delta \dot{\boldx} (t) = \frac{\partial \boldf}{\partial \boldx
229: (t)}(\boldx (t),t)\delta \boldx (t), \label{diffdynamics}
230: \end{equation}
231: where $\delta \boldx (t)$ is an infinitesimal displacement at a
232: fixed time. For notational convenience from here on we will write
233: $\boldx$ for $\boldx(t)$, but in all calculations it should be
234: noted that $\boldx$ is a function of time.
235:
236: The infinitesimal squared distance between two trajectories is
237: $\delta \boldx^T \delta \boldx$. Using (\ref{diffdynamics}), the
238: following equation for the rate of change of the squared distance
239: between two trajectories is obtained:
240: \begin{equation} \frac{d}{dt}(\delta \boldx^T \delta \boldx) = 2\delta \boldx^T
241: \delta \dot{\boldx} = 2 \delta \boldx^T \frac{\partial
242: \boldf}{\partial \boldx} \delta \boldx. \label{eq:diffdynamics2}
243: \end{equation} If $\lambda_1(\boldx,t)$ is the largest eigenvalue of the
244: symmetric part of the Jacobian $\frac{\partial \boldf}{\partial
245: \boldx}$ (i.e. the largest eigenvalue of $\frac{1}{2}(\pardfdxnm +
246: \pardfdxnm^T)$), then it follows from (\ref{eq:diffdynamics2}) that
247: \begin{equation}
248: \frac{d}{dt}(\delta \boldx^T \delta \boldx) \leq 2
249: \lambda_1(\boldx, t) \delta \boldx ^T \delta \boldx.
250: \end{equation} Integrating both sides gives
251: \begin{equation}
252: ||\delta \boldx|| \leq || \delta \boldx _o|| \, e^{\int_0^t
253: \lambda_1(\boldx,t)dt}.
254: \label{expdyn}
255: \end{equation} If $\lambda_1(\boldx,t)$ is uniformly strictly negative
256: (i.e. $ ( \frac{\partial \boldf}{\partial \boldx} + \frac{\partial
257: \boldf}{\partial \boldx}^T ) \prec 0 \; \forall \; \boldx, t)$, it
258: follows from (\ref{expdyn}) that any infinitesimal length
259: $||\delta \boldx||$ converges exponentially to zero. By path
260: integration the distance of any finite path also converges
261: exponentially to zero.
262:
263: A more general definition of length can be given by
264: \begin{equation}
265: \delta \boldz^T \delta \boldz =
266: \delta \boldx ^T \boldM (\bold x, t) \delta \boldx
267: \label{RiemannSp}
268: \end{equation}
269: where $\boldM(\boldx, t)$ is a symmetric, uniformly positive
270: definite and continuously differentiable metric (formally, this
271: defines a Riemannian manifold). This notion of infinitesimal
272: distance defined with respect to a metric can be use to define a
273: finite distance measure between two trajectories with respect to
274: this metric. Specifically, the distance between two points $P_1$
275: and $P_2$ with respect to the metric $\mathbf{M}(\boldx,t)$ is
276: defined as the shortest path length, in other words the smallest
277: path integral $\int_{P_1}^{P_2} \sqrt{\delta \boldx^T
278: \boldM(\boldx,t) \delta \boldx}$, between these two points.
279: Accordingly a ball of center $\mathbf{c}$ with radius $R$ is
280: defined as the set of all points whose distance to $\mathbf{c}$
281: with respect to $\boldM (\boldx,t)$ is strictly less than $R$.
282:
283: Under the definition of infinitesimal length given in
284: (\ref{RiemannSp}), the equation for its rate of change becomes
285: \begin{equation}\label{contractcond2} \frac{d}{dt}(\delta \boldx
286: ^T \boldM \delta \boldx) = \delta \boldx^T(\pardfdxnm ^T \boldM +
287: \boldM
288: \pardfdxnm + \dot{\boldM}) \delta \boldx \end{equation}
289: where $\boldM$ is shorthand notation for $\boldM(\boldx,t)$.
290: Convergence to a single trajectory occurs in regions where
291: $(\pardfdxnm ^T \boldM + \boldM
292: \pardfdxnm + \dot{\boldM})$ is
293: uniformly negative definite. It should be noted that
294: $\dot{\boldM} = \dot{\boldM}(\boldx, t)= \frac{\partial
295: \boldM(\boldx,t)}{\partial \boldx}\frac{d \boldx}{dt} +
296: \frac{\partial \boldM (\boldx, t)}{\partial t}$. The above
297: analysis leads to the following definition and theorem:
298:
299: \begin{definition}[\cite{OCA}]
300: Given the system equations $\dot{\boldx} = \boldf(\boldx,t)$, a
301: region of the state space is called a \emph{contraction region}
302: with respect to a uniformly positive definite metric
303: $\boldM(\boldx, t)$ if $(\pardfdxnm ^T \boldM + \boldM
304: \pardfdxnm + \dot{\boldM})$ is uniformly negative definite in
305: that region.
306: \end{definition}
307:
308:
309: \begin{theorem}[\cite{OCA}]
310: Consider the system equations $\dot{\boldx} = \boldf(\boldx,t)$.
311: Assume a trajectory starts in a ball of constant radius that is
312: defined with respect to the metric $\boldM(\boldx, t)$, that is
313: centered at a another given trajectory, and that is contained at
314: all times in a contraction region with respect to the metric
315: $\boldM(\boldx,t)$. Then the first trajectory will remain in that
316: ball and converge exponentially to the center trajectory.
317: Furthermore, global exponential convergence to the center
318: trajectory is guaranteed if the whole state space is a contraction
319: region with respect to the metric $\boldM(\boldx,t)$.
320: \end{theorem}
321:
322: Definition 1 provides sufficient conditions for a system to be
323: contracting. Namely, the following should be satisfied:
324: \begin{enumerate}
325: \item The matrix $\boldM(\boldx, t)$ must be a uniformly positive
326: definite matrix, i.e.,
327: \begin{equation}\label{Mpos}\boldM(\boldx, t)
328: \succeq \epsilon \mathbf{I} \succ 0 \qquad \forall \boldx, t.
329: \end{equation}
330:
331: \item The metric variation $\pardfdxnm ^T \boldM + \boldM
332: \pardfdxnm + \dot{\boldM}$ must be a uniformly negative definite
333: matrix, i.e.,
334: \begin{equation}\label{Rneg}\boldR(\boldx,t) = \pardfdxnm ^T \boldM + \boldM
335: \pardfdxnm + \dot{\boldM} \preceq -\epsilon \mathbf{I} \prec 0 \; \; \; \forall \boldx,t.
336: \end{equation}
337: \end{enumerate}An explicit rate of convergence of trajectories $\beta$ can be
338: found by finding a $\boldM(\boldx, t)$ that satisfies (\ref{Mpos})
339: and
340: \begin{equation}
341: \pardfdxnm ^T \boldM + \boldM
342: \pardfdxnm + \dot{\boldM} \preceq -\beta \boldM .
343: \end{equation}
344:
345: The notation above is standard; $\succ$, and $\succeq$ mean
346: positive definite and positive semidefinite respectively, while
347: $\prec$ and $\preceq$ mean negative definite and negative
348: semidefinite respectively. If the system dynamics are linear and
349: $\boldM(\boldx,t)$ is constant (i.e. $\boldM(\boldx,t) = M$), the
350: conditions above reduce to those in standard Lyapunov analysis
351: techniques. Lyapunov theory shows that the system $\dot{\boldx}(t)
352: = A\boldx(t)$ is stable (i.e., all trajectories converge to 0) if
353: and only if there exists a positive definite matrix $M$ (i.e., $M
354: \succ 0$) such that $A^TM + MA \prec 0$.
355:
356:
357: It should be noted that if a global contraction metric exists for
358: an autonomous system, all trajectories converge to a unique
359: equilibrium point, and we can always produce a Lyapunov function
360: for the system from the contraction metric \cite{OCA}. We assume,
361: without loss of generality, that the equilibrium is at the origin.
362: If the system dynamics are $\boldf(\boldx)$ and $\boldM(\boldx)$
363: is a time-invariant contraction metric for the system, then
364: $V(\boldx) = \boldf(\boldx)^T \boldM(\boldx)\boldf(\boldx)$ is a
365: Lyapunov function for the system since $V(\boldx) > 0$ and
366: $\dot{V} = \boldf(\boldx)^T(\frac{\partial \boldf}{\partial
367: \boldx}^T \boldM + \bold M \frac{\partial \boldf}{\partial \boldx}
368: + \dot{\boldM})\boldf(\boldx)\leq -\beta V$. This shows that
369: $\dot{\boldx} = \boldf(\boldx)$ tends to $\mathbf{0}$
370: exponentially, and thus that $\boldx$ tends towards a finite
371: equilibrium point.
372:
373: %
374: %
375: %
376: %
377: %
378: %
379: %
380:
381:
382: For a constant metric $\boldM(\boldx,t) = M$, this reduces to
383: Krasovskii's Method \cite{Khalil}. We note that for systems with
384: uncertainty there are good reasons to search for a contraction
385: metric to create Lyapunov function of this structure instead of
386: searching for a Lyapunov function directly. These reasons will
387: become clear in Section \ref{UD}.
388:
389: The problem of searching for a contraction metric thus reduces to
390: finding a matrix function $\boldM(\boldx,t)$ that satisfies the
391: conditions above. As we will see, SOS methods will provide a
392: computationally convenient approach to this problem.
393:
394: \section{Sum of Squares (SOS) Polynomials and Programs}
395: \label{SOSSect}
396:
397: The main computational difficulty of problems involving constraints
398: such as the ones in (\ref{Mpos}) and (\ref{Rneg}) is the lack of
399: efficient numerical methods that can effectively handle multivariate
400: nonnegativity conditions. A convenient approach for this, originally
401: introduced in \cite{Parrilo:Phd}, is the use of sum of squares (SOS)
402: relaxations as a suitable replacement for nonnegativity. We present
403: below the basic elements of these techniques.
404:
405: A multivariate polynomial $p(x_1, x_2, ..., x_n) = p(\boldx) \in
406: \R[\boldx]$ is a sum of squares (SOS) if there exist polynomials
407: $f_1(\boldx), ..., f_m(\boldx) \in \R[\boldx]$ such that
408: \begin{equation}\label{SOSeqn}
409: p(\boldx) = \sum_{i=1}^m f_i^2(\boldx).
410: \end{equation}
411: The existence of a SOS representation for a given polynomial is a
412: sufficient condition for its global nonnegativity, i.e., equation
413: (\ref{SOSeqn}) implies that $p(\boldx) \geq 0 \; \forall \; \boldx
414: \in \R^n$. The SOS condition (\ref{SOSeqn}) can be shown to be
415: equivalent to the existence of a positive semidefinite matrix $Q$
416: such that
417: \begin{equation}\label{Q}
418: p(\boldx) = Z^T(\boldx)QZ(\boldx)
419: \end{equation} where $Z(\boldx)$ is a vector of monomials of
420: degree less than or equal to deg($p$)/2. This equivalence of
421: descriptions between (\ref{SOSeqn}) and (\ref{Q}) makes finding an
422: SOS decomposition a computationally tractable procedure. Finding a
423: symmetric positive semidefinite $Q$ subject to the affine
424: constraint (\ref{Q}) is a semidefinite programming problem
425: \cite{Parrilo:Phd,SOSTOOLS}.
426:
427:
428: Using the notion of a SOS polynomial as a primitive, we can now
429: introduce a convenient class of optimization problems. A
430: \emph{sum of squares program} is a convex optimization problem of
431: the form:
432: \begin{eqnarray}
433: & \min& \sum_{j = 1}^J w_j \, c_j \nonumber \\
434: & \text{subject to}&\; \; a_{i,0} + \sum_{j =1}^J a_{i,j}(\boldx)
435: \, c_j \quad \mbox{ is SOS for }\, i= 1, ..., I, \nonumber
436: \end{eqnarray}
437: where the $c_j$'s are the scalar real decision variables, the $w_j$'s
438: are given real numbers that define the objective function, and the
439: $a_{i,j}(\boldx)$ are given multivariate polynomials. There has
440: recently been much interest in SOS programming and SOS optimization as
441: these techniques provide convex relaxations for various
442: computationally hard optimization and control problems; see e.g.
443: \cite{Parrilo:Phd,sdprelax,Lasserre,CAND} and the volume \cite{GarulliHenrion}.
444:
445:
446: A SOS decomposition provides an explicit certificate of the
447: nonnegativity of a scalar polynomial for all values of the
448: indeterminates. In order to design an algorithmic procedure to search
449: for contraction metrics, we need to introduce a similar idea to ensure
450: that a polynomial matrix is positive definite for every value of the
451: indeterminates. A natural definition is as follows:
452:
453: \begin{definition}[\cite{ParriloGatermann}]
454: Consider a symmetric matrix with polynomial entries
455: $\mathbf{S}(\boldx) \in \R[\boldx]^{m \times m}$, and let $\boldy =
456: [y_1, \ldots, y_m]^T$ be a vector of new indeterminates. Then
457: $\mathbf{S}(\boldx) $ is a \emph{sum of squares matrix} if the scalar
458: polynomial $\boldy^T \mathbf{S}(\boldx) \boldy$ is a sum of squares in
459: $\R[\boldx, \boldy]$.
460: \end{definition} \noindent For notational convenience, we also define a stricter notion:
461: \begin{definition}
462: A matrix $\mathbf{S}(\boldx)$ is \emph{strictly SOS} if
463: $\mathbf{S}(\boldx) - \epsilon \mathbf{I}$ is a SOS matrix for some
464: $\epsilon > 0$.
465: \end{definition}
466:
467: Thus, a strictly SOS matrix is a matrix with polynomial entries
468: that is positive definite for every value of the indeterminates.
469: An equivalent definition of an SOS matrix can be given in terms of
470: the existence of a polynomial factorization: $\mathbf{S}(\boldx)$
471: is a SOS matrix if and only if it can be decomposed as
472: $\mathbf{S}(\boldx) = \mathbf{T}(\boldx)^T \mathbf{T}(\boldx)$
473: where $\mathbf{T}(\boldx) \in \R[\boldx]^{p \times m}$. For
474: example,
475: \begin{displaymath}
476: \boldM(\boldx) = \left[\begin{array}{cc}
477: \omega^2 + \alpha^2(x^2 + k)^2 & \alpha(x^2 + k) \\
478: \alpha(x^2 + k ) & 1 \\
479: \end{array}\right]\end{displaymath} is a SOS matrix for all values of $\alpha$ and $k$.
480: Indeed, this follows from the decomposition $\boldM(\boldx) =
481: \mathbf{T}(\boldx)^T \mathbf{T}(\boldx)$, where
482: \begin{displaymath} \mathbf{T}(\boldx) =
483: \left[\begin{array}{cc}
484: \omega & 0 \\
485: \alpha(x^2 + k) & 1 \\
486: \end{array} \right].\\
487: \end{displaymath}
488: SOS matrices have also been used recently by Hol and Scherer
489: \cite{HolScherer} and Kojima \cite{KojimaSOS} to produce
490: relaxations of polynomial optimization problems with matrix
491: positivity definiteness constraints.
492:
493: \section{Computational Search for Contraction Metrics via SOS Programming}
494:
495: As explained in Section~\ref{CT}, given a dynamical system, the
496: conditions for a contraction metric to exist in regions of the
497: state-space are given by a pair of matrix inequalities. In the
498: case of metrics $\boldM(\boldx)$ that do not depend explicitly on
499: time, relaxing the matrix definiteness conditions in (\ref{Mpos})
500: and (\ref{Rneg}) to SOS matrix based tests makes the search for
501: contracting metrics a computationally tractable procedure. More
502: specifically, the matrix definiteness constraints on
503: $\boldM(\boldx)$ (and $\boldR(\boldx)$) can be relaxed to SOS
504: matrix constraints by changing the inequality $\boldM(\boldx) -
505: \epsilon \mathbf{I} \succeq 0$ in~(\ref{Mpos}) (where $\epsilon$
506: is an arbitrarily small constant) to the weaker condition that
507: $\boldM(\boldx)$ be a strictly SOS matrix. With these
508: manipulations we see that existence of SOS matrices
509: $\boldM(\boldx)$ and $\boldR(\boldx)$ is a sufficient condition
510: for contraction.
511:
512: %
513:
514: \begin{lemma}
515: Existence of a strictly SOS matrix $\boldM(\boldx)$ and a strictly SOS
516: matrix $-\boldR(\boldx) = -(\pardfdxnm ^T \boldM + \boldM\pardfdxnm +
517: \dot{\boldM})$ is a sufficient condition for global contraction of an
518: autonomous system $\dot{\boldx} = \boldf(\boldx)$ with polynomial
519: dynamics.
520: \end{lemma}
521:
522: \begin{proof}
523: By Theorem 1, a sufficient condition for contraction of any nonlinear
524: system is the existence of uniformly positive definite
525: $\boldM(\boldx)$ and $-\boldR(\boldx)$. A sufficient condition for
526: uniform positive definiteness of $\boldM(\boldx)$ and
527: $-\boldR(\boldx)$ is the existence of strictly SOS matrices
528: $\boldM(\boldx)$ and $-\boldR(\boldx)$.
529: \end{proof}
530: %
531: %
532:
533: This lemma can easily be extended to existence of certain SOS
534: matrices implying contraction with a convergence rate $\beta$ by
535: redefining $\boldR(\boldx)$ as $\boldR (\boldx) =
536: \pardfdxnm ^T \boldM + \boldM\pardfdxnm + \dot{\boldM} + \beta
537: \boldM$. At this point, we do not know if the full converse of
538: Lemma~1 holds. If a system is exponentially contracting, it is
539: known that a contraction matrix always exists \cite{OCA}.
540: Nevertheless, a system with polynomial dynamics may certainly be
541: contracting under non-polynomial metrics. Furthermore, even if a
542: positive definite contraction matrix with polynomial entries
543: $\bold M$ exists, it may not be the case that it is a SOS matrix.
544: We notice, however, that some of these issues, such as the gap
545: between ``true'' contracting metrics and SOS-based ones, can be
546: bridged by using the more advanced techniques explained in
547: \cite{sdprelax}.
548:
549: %
550:
551: \subsection{Search Algorithm}
552: \label{SearchAlgorithm}
553:
554: One main contribution of this work is to show how sum of squares
555: (SOS) techniques can be used to algorithmically search for a
556: time-invariant contraction metric for nonlinear systems with
557: polynomial dynamics. Existence of a contraction metric for
558: nonlinear systems certifies contraction (or convergence) of system
559: trajectories. For systems with polynomial dynamics, we can obtain
560: a computationally tractable search procedure by restricting
561: ourselves to a large class of SOS-based metrics.
562:
563: As suggested by Lemma~1, the main idea is to relax the search for
564: matrices that satisfy matrix definiteness constraints $\boldM(\boldx)
565: \succ 0$ and $-\boldR(\boldx) \succ 0$ into SOS-matrix sufficient
566: conditions. Equivalently, we want to find a polynomial matrix
567: $\boldM(\boldx)$ that satisfies SOS matrix constraints on
568: $\boldM(\boldx)$ and $\boldR(\boldx)$.
569: %
570: %
571: %
572: The SOS feasibility problem can then be formulated as finding
573: $\boldM(\boldx)$ and $\boldR(\boldx)$ such that
574: $\boldy^T\boldM(\boldx)\boldy$ is SOS and
575: $-\boldy^T\boldR(\boldx)\boldy$ is SOS.
576:
577: More specifically, the detailed steps in the algorithmic search of
578: contraction metrics for systems with polynomial dynamics are as
579: follows: \\
580:
581: \noindent 1. Choose the degree of the polynomials in the contraction
582: metric, and write an affine parametrization of the symmetric matrices
583: of that degree. For instance, if the degree is equal to two, the
584: general form of $\boldM(\boldx)$ is
585:
586:
587: %
588:
589: {\small \[ \left[
590: \begin{array}{cc}
591: a_1x_1^2 + a_2x_1x_2 + a_3x_2^2 + a_4x_1 + a_5x_2 + a_6 & b_1x_1^2 + b_2x_1x_2 + b_3x_2^2 + b_4x_1 + b_5x_2 + b_6 \\
592: b_1x_1^2 + b_2x_1x_2 + b_3x_2^2 + b_4x_1 + b_5x_2 + b_6 & c_1x_1^2 + c_2x_1x_2 + c_3x_2^2 + c_4x_1 + c_5x_2 + c_6 \\
593: \end{array}\right] \]}%
594: where $a_i$, $b_i$, and $c_i$ are
595: unknown coefficients.\\
596:
597: \noindent 2. Calculate $\pardfdxnm$ and define $\boldR(\boldx) :=
598: \pardfdxnm ^T \boldM + \boldM \pardfdxnm + \dot{\boldM}$. Thus,
599: $\boldR(\boldx)$ will also be a symmetric matrix with entries that
600: depend affinely on the same unknown coefficients $a_i$, $b_i$, and
601: $c_i$. \\
602:
603: \noindent 3. Change matrix constraints $\boldM(\boldx) \succ 0$
604: $\forall \boldx$, and $\boldR(\boldx) = \pardfdxnm ^T \boldM +
605: \boldM
606: \pardfdxnm + \dot{\boldM} \prec 0 \; \forall \: \boldx$ into scalar
607: constraints on quadratic functions $p(\boldx,\boldy)
608: =\boldy^T\boldM(\boldx)\boldy > 0 \; \forall \: \boldx , \:
609: \boldy$, and $r(\boldx,\boldy) = \boldy^T\boldR(\boldx)\boldy =
610: \boldy^T(\pardfdxnm ^T \boldM + \boldM
611: \pardfdxnm + \dot{\boldM})\boldy <0 \; \forall \: \boldx , \: \boldy$, where
612: $\boldy$ is an $n \times 1$ vector of new indeterminates. \\
613:
614: \noindent 4. Impose SOS constraints on $p(\boldx,\boldy)$, and
615: $-r(\boldx,\boldy)$, and solve the associated SOS feasibility
616: problem. If a solution exists, the SOS solver will find values for
617: the unknown coefficients, such that the constraints are satisfied. \\
618:
619: \noindent 5. Use the obtained coefficients $a_i, b_i, c_i$ to
620: construct the contraction metric $\boldM(\boldx)$ and the
621: corresponding $\boldR(\boldx)$. \\
622:
623: \noindent 6. Optionally, for graphical presentation, independent
624: verification, or if the convex optimization procedure runs into
625: numerical error, further testing can be done to verify the
626: validity of the computed solution. To do this, we can check if the
627: matrix constraints $\boldM(\boldx) \succ 0$, and $\boldR(\boldx)
628: \prec 0$ hold over a range of the state space by finding and
629: plotting the eigenvalues over this range. If a true feasible
630: solution does not exist, the minimum eigenvalue of
631: $\boldM(\boldx)$ will be negative or the maximum eigenvalue of
632: $\boldR(\boldx)$ will be positive. Either one of these cases
633: violates the matrix constraints which certify contraction. In most
634: semidefinite programming solvers, the matrix $Q$ in (\ref{Q}) is
635: computed with floating point arithmetic. If $Q$ is near the
636: boundary of the set of positive semidefinite matrices, it is
637: possible for the sign of eigenvalues that are zero or close to
638: zero to be computed incorrectly from numerical roundoff and for
639: the semidefinite program solver to encounter numerical
640: difficulties. Numerical issues are further discussed in Section
641: \ref{NumericalProblems}. \\
642:
643: \noindent 7. An explicit lower bound on the rate of convergence
644: can be found by using bisection to compute the largest $\beta$ for
645: which there exist matrices $\boldM(\boldx) \succ 0$ and $
646: \boldR_{\beta}(\boldx) =
647: \pardfdxnm ^T \boldM + \boldM
648: \pardfdxnm + \dot{\boldM} + \beta \boldM \prec 0$.\\
649:
650: For the specific examples presented later in the paper, we have
651: used SOSTOOLS, a SOS toolbox for MATLAB developed for the
652: specification and solution of sums of squares programs
653: \cite{SOSTOOLS}. The specific structure of SOS matrices, or
654: equivalently, the bipartite form of the polynomials $p(\boldx,
655: \boldy)$ and $r(\boldx, \boldy)$ is exploited through the option
656: \texttt{sparsemultipartite} of the command \texttt{sosineq} that
657: defines the SOS inequalities. Future versions of SOSTOOLS will
658: allow for the direct specification of matrix SOS constraints.
659:
660: We present next are two examples of using this procedure to search
661: for contraction metrics for nonlinear systems with polynomial
662: dynamics. The systems studied are a model of a jet engine with
663: controller, and a Van der Pol oscillator.
664:
665: \subsection{Example: Moore-Greitzer Jet Engine Model}\label{jetexamples}
666:
667: The algorithm described was tested on the following dynamics,
668: corresponding to a Moore-Greitzer model of a jet engine, with
669: stabilizing feedback operating in the no-stall mode \cite{KKK}. In
670: this model, the origin is translated to a desired no-stall
671: equilibrium. The state variables correspond to $\phi = \Phi - 1$,
672: $\psi = \Psi - \Psi_{co} - 2$, where $\Phi$ is the mass flow, $\Psi$
673: is the pressure rise and $\Psi_{co}$ is a constant \cite{KKK}.
674: The dynamic equations take the form:
675: \begin{equation}\label{JetDynamics}
676: \left[%
677: \begin{array}{c}
678: \dot{\phi} \\
679: \dot{\psi} \\
680: \end{array}%
681: \right] =\left[%
682: \begin{array}{c}
683: -\psi - \frac{3}{2}\phi^2 - \frac{1}{2}\phi^3 \\
684: 3\phi - \psi \\
685: \end{array}%
686: \right]
687: \end{equation}
688: The only real-valued equilibrium of the system is $\phi = 0$, $ \psi=
689: 0$. This equilibrium is stable.
690:
691: The results of the algorithmic search for SOS matrices
692: $\boldM(\boldx)$ and $-\boldR(\boldx)$ of various orders are given
693: in Table~\ref{JetTable}. Values in the table, except the final
694: row, are output values from SeDuMi \cite{SeDuMi}, the semidefinite
695: program solver used as the optimization engine in solving the SOS
696: program. \texttt{CPU time} is the number of seconds it took for
697: SeDuMi's interior point algorithm to find a solution. As expected,
698: the computation time increases with the degree of the polynomial
699: entries of $\boldM(\boldx)$. \texttt{Feasibility ratio} is the
700: final value of the feasibility indicator. This indicator converges
701: to $1$ for problems with a complementary solution, and to $-1$ for
702: strongly infeasible problems. If the feasibility ratio is
703: somewhere in between, this is usually an indication of numerical
704: problems. The values \texttt{pinf} and \texttt{dinf} detect the
705: feasibility of the problem. If $\texttt{pinf}=1$, then the primal
706: problem is infeasible. If $\texttt{dinf}=1$, the dual problem is
707: infeasible. If \texttt{numerr} is positive, the optimization
708: algorithm (i.e., the semidefinite program solver) terminated
709: without achieving the desired accuracy. The value
710: $\texttt{numerr}=1$ gives a warning of numerical problems, while
711: $\texttt{numerr}=2$ indicates a complete failure due to numerical
712: problems.
713:
714: As shown in Table~\ref{JetTable}, for this system no contraction
715: metric with polynomial entries of degree 0 or 2 could be found.
716: This can be certified from the solution of the dual optimization
717: problem. Since SeDuMi is a primal-dual solver, this infeasibility
718: certificates are computed as a byproduct of the search for
719: contraction metrics.
720:
721: An explicit lower bound for the rate of convergence of the
722: trajectories of the jet engine model, i.e., the largest value
723: $\beta$ for which matrices $\boldM(\boldx) \succ 0$ and $
724: \boldR_{\beta}(\boldx) =
725: \pardfdxnm ^T \boldM + \boldM
726: \pardfdxnm + \dot{\boldM} + \beta \boldM \prec 0$ were found, was $\beta = 0.818$.
727:
728: %
729: %
730: %
731: %
732:
733:
734: We remark that for this system, it is also possible to prove
735: stability using standard Lyapunov analysis techniques. However, we
736: illustrate stability of this example from a contraction viewpoint
737: because contraction theory offers a good approach to study this
738: system when there is parametric uncertainty in the plant dynamics
739: or feedback equations. For example, in the no-stall mode, the jet
740: dynamics equations are
741: \begin{equation}\label{JetDynamicscontrol}
742: \left[%
743: \begin{array}{c}
744: \dot{\phi} \\
745: \dot{\psi} \\
746: \end{array}%
747: \right] =\left[%
748: \begin{array}{c}
749: -\psi - \frac{3}{2}\phi^2 - \frac{1}{2}\phi^3 \\
750: -u\\
751: \end{array}%
752: \right]
753: \end{equation} where $u$ is a control variable.
754: If a nominal stabilizing feedback control $u$ can be found (e.g.,
755: using backstepping \cite{KKK} or some other design method), the SOS
756: techniques described in Section \ref{Uncert-alg-des} provide a way to
757: find other stabilizing feedback controls which are centered around the
758: nominal control. For example, if a stabilizing linear feedback
759: control $u = k_{1} \phi + k_{2} \psi$ can be found, we can interpret
760: $k_{1}$ and $k_{2}$ as uncertain parameters and use the methods
761: described in Section \ref{Uncert-alg-des} to search for ranges of gain
762: values centered around the nominal values $k_{1}$ and $k_{2}$ that
763: will also stabilize the system.
764:
765: \begin{table}
766: \begin{footnotesize}\begin{center}
767: \begin{tabular}{|l||c|c|c|c|}
768: \hline
769: %
770: Degree of polynomials in $\boldM(\boldx)$& 0 &2 & 4 & 6 \\
771: \hline
772: CPU time (sec) &0.140 & 0.230 & 0.481& 0.671 \\
773: \hline
774: Feasibility ratio& -1.000 &-0.979 & 1.003 & 0.990 \\
775: \hline
776: \texttt{pinf} &1 & 1& 0 & 0 \\
777: \hline
778: \texttt{dinf} & 0& 0 & 0 & 0 \\
779: \hline
780: \texttt{numerr} &0 & 1 & 0 & 0 \\
781: \hline
782: $M \succ 0$, $R \prec 0$ conditions met? & no & no & yes & yes \\
783: \hline
784: \end{tabular} \end{center}\end{footnotesize}
785: \caption{Contraction matrix search results for closed-loop jet
786: engine dynamics.}\label{JetTable}
787: \end{table}
788:
789:
790: \subsection{Example: Van der Pol Oscillator}
791:
792: A classic example that has played a central role in the
793: development of nonlinear dynamics is given by the Van der Pol
794: equation
795: \begin{equation}\label{vdposc}
796: \ddot{x} + \alpha(x^2 + k)\dot{x} + \omega^2x = 0,
797: \end{equation}
798: with $\alpha \geq 0$, $k$, and $\omega$ as parameters. Historically
799: this equation arose from studying nonlinear electric circuits used in
800: the first radios \cite{Strogatz}. When $k<0$, the solutions of
801: (\ref{vdposc}) behave like a harmonic oscillator with a nonlinear
802: damping term $\alpha (x^2 + k)\dot{x}$. The term provides positive
803: damping when $|x|>k$ and negative damping when $|x|<k$. Thus, large
804: amplitude oscillations will decay, but if they become too small they
805: will grow larger again \cite{Strogatz}. If $k >0$ all trajectories
806: converge to the origin.
807:
808: In Table~\ref{OscTableu0} we present the results of running the
809: contraction matrix search algorithm for the system
810: \begin{displaymath}
811: \left[
812: \begin{array}{c}
813: \dot{x}_1 \\
814: \dot{x}_2 \\
815: \end{array}\right] = \left[
816: \begin{array}{c}
817: x_2 \\
818: -\alpha (x_1^2 + k)x_2 - \omega^2 x_1 \\
819: \end{array}
820: \right], \end{displaymath} with $\alpha = 1, \omega = 1$, which is the
821: state-space version of the Van der Pol oscillator (\ref{vdposc}). We
822: present solution for various values of $k$, with a contraction matrix
823: with entries that are quartic polynomials.
824:
825: As a natural first step we searched for a constant contraction
826: metric. None could be found algorithmically. This was expected
827: as it is easily shown analytically that a constant contraction
828: matrix for this system does not exist. If $\boldM$ is constant,
829: then {\small
830: \begin{eqnarray}
831: \boldM = \left[%
832: \begin{array}{cc}
833: a & b \\
834: b & c \\
835: \end{array}%
836: \right], \qquad \pardfdxnm = \left[%
837: \begin{array}{cc}
838: 0 & 1 \\
839: -1 - 2x_1x_2 & -x_1^2 - k \\
840: \end{array}%
841: \right], \nonumber \\ \nonumber \\
842: \boldR = \left[%
843: \begin{array}{cc}
844: -2b - 4bx_1x_2 & a - bx_1^2 - kb - c - 2cx_1x_2 \\
845: a - bx_1^2 - kb - c - 2cx_1x_2 & 2b-2cx_1^2 - 2kc \\
846: \end{array}%
847: \right].
848: \end{eqnarray}} For $\boldR$ to be negative definite $\boldR_{11}$ must be
849: negative for all values of $x_1$, $x_2$. In other words $-2b -
850: 4bx_1x_2 \leq 0$ or $-1 \leq 2 x_1x_2$. This clearly does not hold
851: for all values of $x_1$, and $x_2$. A more complicated analysis (or a
852: duality argument) also shows why there is no contraction matrix with
853: quadratic entries for this system.
854:
855: %
856: %
857:
858: \begin{table*}
859: \begin{footnotesize} \begin{center}
860:
861: \begin{tabular}{|c||c|c|c|c|c||c|c|c|c|c|c|c|}
862: \hline
863: %
864: Degree of polynomials in $\boldM(\boldx)$ &4 &4 &4 &4 &4 &4 &4 &4
865: &4 &4\\
866: \hline
867: k & -10 & -1 & -0.1 & -0.01 & -0.001 & 0.001 & 0.01 & 0.1 & 1 & 10 \\
868: \hline
869: pinf & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
870: \hline
871: dinf & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0& 0\\
872: \hline
873: numerr & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 \\
874: \hline
875: $M \succ 0$, $R \prec 0$ conditions met? & no & no & no & no & no & yes & yes & yes & yes & yes \\
876: \hline
877:
878: \end{tabular}
879: \end{center} \end{footnotesize}
880: \caption{Contraction matrix search results for oscillator
881: dynamics.}\label{OscTableu0}
882: \end{table*}
883:
884: The algorithm finds a contraction function for the system
885: $\ddot{x} + (x^2 + k)\dot{x} + x = 0$ when $k >0$ but not when
886: $k<0$. As shown in Figure \ref{pp_vdpo} the trajectories of the
887: oscillator converge to zero when $k > 0$, and converge to a
888: limit-cycle when $k <0$. Thus, the results of the contraction
889: metric search is as expected. Since all trajectories converge to
890: the origin when $k >0$ we expect that a contraction metric exists
891: for the system. In the case where $k <0$ the origin is an
892: unstable fixed point and thus the system is not contracting.
893:
894: Since for $k<0$ the system is not contracting, we should not be able
895: to find a contraction function. It should be noted that the converse
896: does not hold. The fact that we cannot find a contraction function
897: does not necessarily mean that the system is not contracting. This is
898: because finding an SOS representation of the constrained quadratic
899: functions is a sufficient condition for their positivity, not a
900: necessary one.
901:
902:
903: \begin{figure}
904: \begin{center}
905: \subfigure[$ k = 0.5$]{\label{pp_osc_kpos}\includegraphics[scale=0.4]{pp_osc_kpt5.eps}}
906: \hspace{1.5 cm}
907: \subfigure[$k = -0.5$]{\label{pp_osc_kneg}\includegraphics[scale=0.4]{pp_osc_kmpt5.eps}}
908: \end{center}
909: \caption{Phase plots of Van der pol Oscillator.}
910: \label{pp_vdpo}
911: \end{figure}
912:
913: %
914: %
915:
916: It should be noted that for the example above, we can prove
917: stability through Lyapunov analysis, and SOS programming can also
918: be used to find Lyapunov functions \cite{SOSlyap}. However, we
919: illustrate this example here as contraction theory applied to a
920: slightly modified version of this system provides a nice way to
921: prove synchronization of coupled Van der Pol oscillators. This
922: will be discussed in Section \ref{EI}. This synchronization
923: property is much more difficult to prove with standard Lyapunov
924: methods.
925:
926: \section{Contraction Metrics and Systems with Uncertain Dynamics}
927: \label{UD}
928: \subsection{Uncertainty Analysis with Contraction Metrics and
929: SOS Programming}\label{Uncert-alg-des}
930:
931: From the robust control perspective, one of the most appealing
932: features of contraction theory is the fact that it provides a natural
933: framework in which to study uncertain nonlinear systems where the
934: parametric uncertainty changes the location of the equilibrium
935: points. In general, standard Lyapunov analysis does not handle this
936: situation particularly well, since the Lyapunov function must track
937: the changes in the location of the steady-state solutions, thus
938: forcing the use of parameter-dependent Lyapunov functions. However,
939: in general it may be impossible to obtain any kind of closed form
940: expression of the equilibria in terms of the parameters, thus
941: complicating the direct parametrization of possible Lyapunov
942: functions.
943:
944: Much attention has been given to robust stability analysis of linear
945: systems (e.g.,
946: \cite{PDL:Haddad,PDL:Gahinet,PDL:Feron,LMIBook,Zhou}). Less attention,
947: however, has been paid to nonlinear systems with moving
948: equilibria. Two papers addressing this issue are
949: \cite{Wang-Michel,Rantzerpaper}. The approach in \cite{Wang-Michel} is
950: to consider systems described by the equations
951: \begin{equation}
952: \dot{\mathbf{x}} = \mathbf{f}(\mathbf{x}) + \mathbf{h}(\mathbf{x}),
953: \label{wangeq}
954: \end{equation}
955: where $\mathbf{x}$ is a real $n$-vector, $\mathbf{f}$ and $\mathbf{h}$
956: are continuously differentiable functions, and
957: $\mathbf{h}(\mathbf{x})$ represents the uncertainties or perturbation
958: terms. Given an exponentially stable equilibrium $\mathbf{x}_e$,
959: \cite{Wang-Michel} establishes sufficient conditions by using the
960: linearization of the system to produce Lyapunov functions which prove
961: existence and local exponential stability of an equilibrium
962: $\tilde{\mathbf{x}}_e$ for (\ref{wangeq}) with the property
963: $|\mathbf{x}_e - \tilde{\mathbf{x}}_e| < \varepsilon$ where
964: $\varepsilon$ is sufficiently small.
965:
966: Since the approach in \cite{Wang-Michel} is essentially based on a
967: fixed Lyapunov function, it is more limited than our approach using
968: contraction theory and SOS programming, and can prove stability only
969: under quite conservative ranges of allowable uncertainty. By
970: ``allowable'' we mean that if the uncertainty is in this range, the
971: equilibrium remains exponentially stable under the uncertainty. A
972: quantitative measure of this conservativeness will be given in Section
973: \ref{Scalar Additive Uncertainty} where we discuss the results of the
974: method applied to an uncertain model of a Moore-Greitzer jet engine
975: and compare them to an approach via contraction theory and SOS
976: programming.
977:
978: The approach in \cite{Rantzerpaper} is to linearize the dynamics
979: around an equilibrium which is a function of the uncertain
980: parameter ($\boldx_0 = \boldg(\delta), \; \delta \in \Omega$) and
981: then use structured singular values to determine the eigenvalues
982: of the linearized system $\frac{d\boldz}{dt} = A(\delta)\boldz$ if
983: $A(\delta)$ is rational in $\delta$.
984: %
985: %
986: If $A(\delta)$ is marginally stable, no conclusions can be made
987: about the stability of the nonlinear system.
988:
989: The contraction theory framework eliminates the need for
990: linearization, and even the need to know the exact position of the
991: equilibrium, in order to analyze stability robustness in uncertain
992: nonlinear systems. In contrast to the Lyapunov situation, when
993: certain classes of parametric uncertainty are added to the system,
994: a contraction metric for the nominal system will often remain a
995: contraction metric for the system with uncertainty, even if the
996: perturbation has changed the equilibrium of the nonlinear system.
997:
998: As noted in Section \ref{CT}, if a global time-invariant
999: contraction metric exists for an autonomous system, and an
1000: equilibrium point exists for the system, all trajectories converge
1001: to a unique equilibrium point, and we can always produce a
1002: Lyapunov function of the form $V(\boldx) =
1003: \boldf(\boldx)^T\boldM(\boldx)\boldf(\boldx)$. When a system
1004: contains parametric uncertainty, this formula yields the
1005: parameter-dependent Lyapunov function $V(\boldx, \delta) =
1006: \boldf(\boldx, \delta)^T\boldM(\boldx)\boldf(\boldx, \delta)$ for
1007: ranges of the parametric uncertainty $\delta$ where the
1008: contraction metric for the nominal system is still a contraction
1009: metric for the system with perturbed dynamics. Thus, if a
1010: contraction metric can be found for the system, we can easily
1011: construct a Lyapunov function which tracks the uncertainty for a
1012: certain range.
1013:
1014: \subsubsection{Case 1: Bounds on the uncertainty range
1015: for which the system remains contractive with respect to the nominal
1016: metric.}
1017:
1018: We can estimate the range of uncertainty under which the
1019: contraction metric for the nominal system is still a contraction
1020: metric for the perturbed system. To calculate this range, a SOS
1021: program can be written to minimize or maximize the amount of
1022: uncertainty allowed subject to the constraint
1023: $\boldR_{\delta}(\boldx) =
1024: \pardfdxdel ^T \boldM + \boldM
1025: \pardfdxdel + \dot{\boldM}(\boldf_{\delta}(\boldx)) \prec 0$, where $\boldf_{\delta}(\boldx)$ are the dynamics
1026: for the system with parametric uncertainty. The uncertainty bound
1027: is a decision variable in the SOS program and enters the
1028: constraint above in the $\pardfdxdel$ and
1029: $\boldf_{\delta}(\boldx)$ terms.
1030:
1031: If we have more than one uncertain parameter in the system, we can
1032: find a polytopic inner approximation of the set of allowable
1033: uncertainties with SOS Programming. For example, if we have two
1034: uncertain parameters, we can algorithmically find a polytope in
1035: parameter space for which the original metric is still a contraction
1036: metric. The convex hull of four points, each which can be found by
1037: entering one of the four combinations, $(\delta _1, \delta_2) =
1038: (\gamma, \gamma)$, $(\delta _1, \delta_2) = (\gamma, -\gamma)$,
1039: $(\delta _1, \delta_2) = (-\gamma, \gamma)$, or $(\delta _1, \delta_2)
1040: = (-\gamma, -\gamma)$, into the uncertainty values in
1041: $\boldf_{\mathbf{\delta} = [\delta_1, \delta_2]^T}(\boldx)$ and then
1042: maximizing $\gamma$ subject to the constraint $\boldR_{\gamma}(\boldx)
1043: = \pardfdxgam ^T \boldM + \boldM \pardfdxgam +
1044: \dot{\boldM}(\boldf_{\gamma}(\boldx)) \prec 0$, defines a polytope
1045: over which stability is guaranteed.
1046:
1047: \subsubsection{Case 2: Search for a contraction metric that guarantees the largest
1048: symmetric uncertainty interval for which the system is contractive.}
1049:
1050: Alternatively, we can instead optimize the search for a metric
1051: $\boldM(\boldx)$ that provides the largest symmetric uncertainty
1052: interval for which we can prove the system is contracting. If the
1053: scalar uncertainty $\delta$ enters the system dynamics affinely, in
1054: other words if $\boldf(\boldx) = \mathbf{f_1}(\boldx) + \delta
1055: \, \mathbf{f_2}(\boldx)$, we can perform this optimization as
1056: follows. First write $\boldR(\boldx, \delta) = \mathbf{R_0}(\boldx) +
1057: \delta \mathbf{R_1}(\boldx)$. To find the largest interval $(-\gamma,
1058: \gamma)$ such that for all $\delta$ that satisfy $-\gamma < \delta <
1059: \gamma$ the system is contracting, introduce the following constraints
1060: into an SOS program: \begin{displaymath} \boldM(\boldx) \succ 0, \quad
1061: \mathbf{R_0}(\boldx) + \gamma \mathbf{R_1}(\boldx) \prec 0, \quad
1062: \mathbf{R_0}(\boldx) -\gamma \mathbf{R_1}(\boldx) \prec 0.
1063: \end{displaymath} We note that $\gamma$ multiplies the scalar decision coefficients
1064: $a_i$, $b_i$, and $c_i$ in $\boldR_1(\boldx)$ and thus we must use
1065: a bisection procedure to find the maximum value of $\gamma$ for
1066: which there exists SOS matrices $\boldM(\boldx)$,
1067: $\mathbf{R_0}(\boldx)$ and $\mathbf{R_1}(\boldx)$ that satisfy the
1068: constraints above.
1069:
1070: If there are two uncertain parameters that enter the system
1071: dynamics affinely, we can extend the procedure above as follows:
1072: To find the largest uncertainty square with width and height
1073: $\gamma$ such that for all $\delta_1$ and $\delta_2$ that satisfy
1074: $-\gamma < \delta_1 < \gamma$ and $-\gamma < \delta_2 < \gamma$
1075: the system is contracting, first write $\boldR(\boldx, \delta_1,
1076: \delta_2) = \mathbf{R_0}(\boldx) + \delta_1 \mathbf{R_1}(\boldx) +
1077: \delta_2 \mathbf{R_2}(\boldx)$, Then introduce the following
1078: constraints into and SOS program:
1079: \begin{eqnarray}
1080: \boldM(\boldx) \succ 0, \quad \mathbf{R_0}(\boldx) + \gamma
1081: \mathbf{R_1}(\boldx) + \gamma \mathbf{R_2}(\boldx) \prec 0, \quad
1082: \mathbf{R_0}(\boldx) + \gamma \mathbf{R_1}(\boldx) - \gamma \mathbf{R_2}(\boldx) \prec 0 \nonumber \\
1083: \mathbf{R_0}(\boldx) - \gamma \mathbf{R_1}(\boldx) + \gamma
1084: \mathbf{R_2}(\boldx) \prec 0, \quad \mathbf{R_0}(\boldx) - \gamma
1085: \mathbf{R_1}(\boldx) - \gamma \mathbf{R_2}(\boldx) \prec 0.
1086: \end{eqnarray}
1087: Next, as in the scalar uncertainty case, use a bisection procedure to
1088: find the maximum value of $\gamma$ for which there exists SOS matrices
1089: $\boldM(\boldx)$, $\mathbf{R_0}(\boldx) $, $\mathbf{R_1}(\boldx)$ and
1090: $\mathbf{R_2}(\boldx)$ that satisfy the constraints above. In the
1091: case of a large number of uncertain parameters, standard relaxation
1092: and robust control techniques can be used to avoid an exponential
1093: number of constraints.
1094:
1095: \subsection{Example: Moore-Greitzer Jet Engine Model with Uncertainty}
1096: \subsubsection{Scalar Additive Uncertainty}\label{Scalar Additive
1097: Uncertainty}
1098:
1099: As described above, SOS programming can be used to find ranges of
1100: uncertainty under which a system with uncertain perturbations is
1101: still contracting with the original contraction metric. The
1102: contraction metric found for the deterministic system continues to be
1103: a metric for the perturbed system over a range of uncertainty even if
1104: the uncertainty shifts the equilibrium point and trajectories of the
1105: system. For the Moore-Greitzer jet engine model, the dynamics in
1106: (\ref{JetDynamics}) were perturbed by adding a constant term $\delta$
1107: to the first equation.
1108: \begin{equation}\label{JetDynamics_eps}
1109: \left[%
1110: \begin{array}{c}
1111: \dot{\phi} \\
1112: \dot{\psi} \\
1113: \end{array}%
1114: \right] =\left[%
1115: \begin{array}{c}
1116: -\psi - \frac{3}{2}\phi^2 - \frac{1}{2}\phi^3 + \delta \\
1117: 3\phi - \psi \\
1118: \end{array}%
1119: \right]
1120: \end{equation}
1121:
1122:
1123: \begin{table}
1124: \begin{center}
1125: \footnotesize
1126: \begin{tabular}[h]{|l||c|c|c|c|}
1127: \hline
1128: %
1129: Degree of polynomials in $\boldM(\boldx)$ & 4 & 6 \\
1130: \hline
1131: $ \delta$ range &(-0.126,0.630) &( -0.070, 0.635) \\
1132: \hline
1133: \end{tabular} \normalsize \end{center}
1134: \caption{Range of perturbation where closed-loop uncertain jet
1135: engine dynamics given in (\ref{JetDynamics_eps}) are contracting
1136: with respect to the nominal metric.} \label{epsJettable}
1137: \end{table}
1138:
1139: In Table \ref{epsJettable} we display the ranges of $\delta$ where
1140: the system was still contracting with the original contraction
1141: metric for $4^{th}$ and $6^{th}$ degree contraction metrics. Note
1142: the range of allowable uncertainty is not symmetric.
1143:
1144: When instead we optimized the contraction metric search to get the
1145: largest symmetric $\delta$ interval we obtained the results listed
1146: in Table~\ref{tbl:optdelta}. A $6^{th}$ degree contraction
1147: function finds the uncertainty range $|\delta| \leq 1.023$.
1148: Because a Hopf bifurcation occurs in this system at $\delta
1149: \approx 1.023$, making the system unstable for $\delta > 1.023$,
1150: we can conclude that the 6th degree contraction metric is the
1151: highest degree necessary to find the maximum range of uncertainty
1152: for which the system is contracting. The Hopf bifurcation is shown
1153: in Figure~\ref{fig:Hopf}.
1154:
1155: Using the techniques in \cite{Wang-Michel} we computed the
1156: allowable uncertainty range for the system given in
1157: (\ref{JetDynamics_eps}) as $|\delta| \leq 5.1 \times 10^{-3}$. In
1158: the notation of \cite{Wang-Michel}, we calculated the other
1159: parameters in Assumption 1 of \cite{Wang-Michel} as: $\mathbf{h}
1160: = [\delta, \; \; 0]^T$, $|A^{-1}|_\infty = 1$, $|D
1161: \mathbf{h}(\boldx_e)|_\infty = 0$, $a = \frac{1}{30}$, and
1162: $|\mathbf{h}(\boldx_e)|_\infty = |\delta|$, where $\delta$ is the
1163: perturbation term in (\ref{JetDynamics_eps}). The allowable range
1164: $|\delta| \leq 1.023$ computed via contraction theory and SOS
1165: programming is much larger than the allowable uncertainty range
1166: $|\delta| \leq 5.1 \times 10^{-3}$ computed with the techniques in
1167: \cite{Wang-Michel}.
1168:
1169: \begin{table*}
1170: \begin{footnotesize}\begin{center}
1171: \begin{tabular}{|l||c|c|c|}
1172: \hline
1173: %
1174: Degree of polynomials in $\boldM(\boldx)$ & 4 & 6 & 8 \\
1175: \hline
1176: $ \delta$ range &$|\delta| \leq 0.938$ & $|\delta| \leq 1.023$ & $|\delta| \leq 1.023$ \\
1177: \hline
1178: \end{tabular} \end{center}\end{footnotesize}
1179: \caption{Symmetric range of perturbation for the jet engine
1180: model.} \label{tbl:optdelta}
1181: \end{table*}
1182:
1183: \begin{figure}[]
1184: \begin{center}
1185: \subfigure[$\delta =
1186: -0.5$]{\label{JetDelMpt5}\includegraphics[scale=0.5]{JetPhasePlotd_Minus0pt5.eps}}
1187: \hspace{1cm}
1188: \subfigure[$\delta = -1.01$]{\label{JetDelM1pt01}\includegraphics[scale=0.5]{JetPhasePlotd_Minus1pt01.eps}}
1189: \hspace{1cm}
1190: \subfigure[$\delta = -1.1$]{\label{JetDelM1pt1}\includegraphics[scale =0.5]{JetPhasePlotd_Minus1pt1.eps}}
1191: \end{center}
1192: \caption{Hopf bifurcation in uncertain jet dynamics.}
1193: \label{fig:Hopf}
1194: \end{figure}
1195:
1196:
1197: \subsubsection{Scalar Multiplicative Uncertainty}
1198:
1199: The approaches in Section \ref{Uncert-alg-des} also apply to
1200: multiplicative uncertainty, since the multiplicative coefficients
1201: enter affinely in the constraints in the SOS program. Tables
1202: \ref{epsJettable-mult} and \ref{tbl:optdelta:mult} present the results
1203: of the described uncertainty analysis on the following system, which
1204: is equation (\ref{JetDynamics}) with multiplicative uncertainty.
1205: \begin{equation}\label{JetDynamics:multuncert}
1206: \left[%
1207: \begin{array}{c}
1208: \dot{\phi} \\
1209: \dot{\psi} \\
1210: \end{array}%
1211: \right] =\left[%
1212: \begin{array}{c}
1213: -\psi - \frac{3}{2}\phi^2 - \frac{1}{2} \delta \phi^3 \\
1214: 3\phi - \psi \\
1215: \end{array}%
1216: \right].
1217: \end{equation}
1218:
1219: \begin{table}
1220: \begin{center}
1221: \footnotesize
1222: \begin{tabular}{|l||c|c|c|c|}
1223: \hline
1224: %
1225: Degree of polynomials in $\boldM(\boldx)$ & 4 & 6 \\
1226: \hline
1227: $ \delta$ range & (0.9767, 5.8686) & (0.9796, 3.9738) \\
1228: \hline
1229: \end{tabular} \normalsize \end{center}
1230: \caption{Range of perturbation for which the uncertain system given in
1231: (\ref{JetDynamics:multuncert}) is contracting with respect to the
1232: nominal metric.}
1233: \label{epsJettable-mult}
1234: \end{table}
1235:
1236: \begin{table*}
1237: \begin{footnotesize}\begin{center}
1238: \begin{tabular}{|l||c|c|c|}
1239: \hline
1240: %
1241: Degree of polynomials in $\boldM(\boldx)$ & 4 & 6 & 8 \\
1242: \hline
1243: $ \delta$ range &$(1- 0.247,1+ 0.247)$ & $(1 - 0.356 ,1+ 0.356 )$ & $(1 - 0.364 ,1+0.364)$ \\
1244: \hline
1245: \end{tabular} \end{center}\end{footnotesize}
1246: \caption{Symmetric range of perturbation where uncertain
1247: closed-loop jet engine dynamics given in
1248: (\ref{JetDynamics:multuncert}) are contracting.}
1249: \label{tbl:optdelta:mult}
1250: \end{table*}
1251:
1252: \subsubsection{Multiple Uncertainties}
1253:
1254: We consider next the system that results from introducing two additive
1255: uncertainties to the jet dynamics in equation (\ref{JetDynamics}). We
1256: computed an uncertainty polytope (shown in Figure \ref{poly-uncert})
1257: for which the system
1258: \begin{equation}\label{JetDynamics:2Duncert}
1259: \left[%
1260: \begin{array}{c}
1261: \dot{\phi} \\
1262: \dot{\psi} \\
1263: \end{array}%
1264: \right] =\left[%
1265: \begin{array}{c}
1266: -\psi - \frac{3}{2}\phi^2 - \frac{1}{2}\phi^3 + \delta_1 \\
1267: 3\phi - \psi + \delta_2 \\
1268: \end{array}%
1269: \right]
1270: \end{equation}
1271: is guaranteed to be contracting with respect to the original metric.
1272: \begin{figure}[]
1273: \begin{center}
1274: \includegraphics[scale=0.4]{2Duncertainty.eps}
1275: \end{center}
1276: \caption{Polytopic region of uncertainty where closed-loop jet engine
1277: dynamics given in (\ref{JetDynamics:2Duncert}) are contracting with respect to nominal metric.}
1278: \label{poly-uncert}
1279: \end{figure} Table \ref{tbl:optdelta:2D} shows the results of optimizing the
1280: contraction metric to find the largest uncertainty square with
1281: width and height $\gamma$ such that for all $\delta_1$ and
1282: $\delta_2$ that satisfy $-\gamma < \delta_1 < \gamma$ and $-\gamma
1283: < \delta_2 < \gamma$ the system is contracting.
1284: \begin{table*}
1285: \begin{footnotesize}\begin{center}
1286: \begin{tabular}{|l||c|c|c|}
1287: \hline
1288: %
1289: Degree of polynomials in $\boldM(\boldx)$ & 4 & 6 & 8 \\
1290: \hline
1291: Height and width of allowed uncertainty box & 0.7093 & 0.7321 & 0.7346 \\
1292: \hline
1293: \end{tabular} \end{center}\end{footnotesize}
1294: \caption{Symmetric range of perturbation where uncertain
1295: closed-loop dynamics given in (\ref{JetDynamics:2Duncert}) are
1296: contracting.} \label{tbl:optdelta:2D}
1297: \end{table*}
1298:
1299:
1300: \section{Contraction Metrics for Systems with External
1301: Inputs}\label{EI}
1302: \subsection{Stability Analysis of Systems with External Inputs}
1303:
1304: Another interesting feature of the contraction framework is the
1305: relative flexibility in incorporating inputs and outputs. For
1306: instance, to prove contraction of a class of systems with external
1307: inputs, it is sufficient to show the existence of a polynomial
1308: contraction metric with a certain structure. This is described in
1309: the following theorem. \\
1310:
1311: \begin{theorem}\label{Thm:EI}
1312: Let
1313: \begin{eqnarray}\label{Thm2:eqn}
1314: %
1315: \nonumber \dot{x}_1 &=& f_1(x_1, x_2, \ldots, x_n) \\
1316: %
1317: \nonumber \vdots &=& \vdots \\
1318: \nonumber \dot{x}_k &=& f_k(x_1, x_2, \ldots, x_n) \\
1319: \nonumber \dot{x}_{k+1} &=& f_{k+1}(x_1, x_2, \ldots, x_n) + v_{k+1}(u) \\
1320: \nonumber \vdots &=& \vdots\\
1321: \dot{x}_n &=& f_n(x_1, x_2, \ldots, x_n)+ v_n(u)
1322: \end{eqnarray}
1323: be a set of nonlinear coupled differential equations where only the
1324: last $n-k$ depend explicitly on $u(t)$. If there exists a $n \times
1325: n$ matrix $\boldM(x_1, \ldots , x_k)$ such that $\boldM \succ 0$ and
1326: $\dot{\boldM} + \frac{\partial f}{\partial x}^T\boldM + \boldM
1327: \frac{\partial f}{\partial x} \prec 0$ then the system is contracting
1328: for all possible choices of $u(t)$.
1329: \label{thm:inputs}
1330: \end{theorem}
1331:
1332: \begin{proof}
1333: For notational convenience, let $\dot{\mathbf{x}}_1 = [
1334: \begin{array}{ccc}
1335: \dot{x}_1 & ... & \dot{x}_k \\
1336: \end{array}]^T = \mathbf{f_1}(\mathbf{x_1}, \mathbf{x_2})$ and
1337: $\dot{\mathbf{x}}_2 = [ \begin{array}{ccc}
1338: \dot{x}_{k+1} & ... & \dot{x}_n \\
1339: \end{array}]^T = \mathbf{f_2}(\mathbf{x_1}, \mathbf{x_2}, u)$. The metric
1340: $\boldM(x_1, x_2 ..., x_k) = \boldM(\mathbf{x_1})$ is independent
1341: of $\mathbf{x_2}$, and thus $\frac{\partial \boldM_{ij}}{\partial
1342: \mathbf{x_2}} = \mathbf{0} \; \; \forall i,j.$ Since
1343: $\frac{\partial \boldM_{ij}}{\partial t}$ also vanishes, it
1344: follows that $\forall i, j$, $\dot{\boldM}_{ij} = \frac{\partial
1345: \boldM_{ij}}{\partial \mathbf{x_1}}\frac{d \mathbf{x_1}}{dt} +
1346: \frac{\partial \boldM_{ij}}{\partial \mathbf{x_2}}\frac{d
1347: \mathbf{x_2}}{dt} + \frac{\partial \boldM}{\partial t} =
1348: \frac{\partial \boldM_{ij}}{\partial \mathbf{x_1}}\frac{d
1349: \mathbf{x_1}}{dt}$. Thus $\dot{\boldM}(\mathbf{x_1})$ is not a
1350: function of $u(t)$. In addition, $\frac{\partial \boldf}{\partial
1351: \boldx}$ has no dependence on $u(t)$ because $\boldf(\boldx, u) =
1352: \mathbf{h}(\boldx) + \mathbf{v}(u)$. Thus, if there exists a $n
1353: \times n$ matrix $\boldM(x_1, ..., x_k)$ such that $\boldM \succ
1354: 0$ and $\dot{\boldM} + \pardfdxnm^T\boldM + \boldM
1355: \pardfdxnm \prec 0$, then the system in (\ref{Thm2:eqn}) is contracting for any value of
1356: $u(t)$.
1357: \end{proof}
1358:
1359: Through the example considered in the following section, we will
1360: illustrate how Theorem~\ref{Thm:EI} is particularly useful in proving
1361: synchronization of nonlinear oscillators, an issue explored in more
1362: detail in \cite{OPC-NO}. Theorem~\ref{thm:inputs} can be easily
1363: extended to the case where $u(t)$ is a vector (i.e. $\boldu(t) =
1364: [u_1(t), ... , u_m(t)]^T$).
1365:
1366: \subsection{Coupled Oscillators}
1367: Contraction Theory is a useful tool to study synchronization behaviors
1368: of various configurations of coupled oscillators. For simplicity, we
1369: only consider here the case a pair of unidirectionally coupled
1370: oscillators; more complicated and general couplings are discussed in
1371: \cite{OPC-NO}.
1372:
1373: %
1374: A state-space model of two unidirectionally coupled oscillators (only
1375: one oscillator influences the other) is
1376: \begin{equation}
1377: \begin{aligned}
1378: \dot{\boldx} &= \boldf(\boldx,t) \\
1379: \hfill \dot{\boldy} &= \boldf(\boldy,t) + \boldu(\boldx) -
1380: \boldu(\boldy),
1381: \end{aligned}
1382: \label{OPC-thm2-eqn}
1383: \end{equation}
1384: where $\boldx, \; \boldy \in \mathbb{R}^m$, are the state vectors,
1385: $\boldf(\boldx,t)$ and $\boldf(\boldy,t)$ are the dynamics of the
1386: uncoupled oscillators, and $\boldu(\boldx) - \boldu(\boldy)$ is
1387: the coupling force\footnote{An example of coupled oscillators
1388: whose state-space representation is in this form is
1389: $\begin{cases}
1390: \ddot{x} + \alpha(x^2 + k)\dot{x} + \omega^2x &= 0 \\
1391: \hfill \ddot{y} + \alpha(y^2 + k)\dot{y} + \omega^2y &= \alpha \eta (\dot{x} - \dot{y}) \\
1392: \end{cases}$
1393: where $\alpha >0$, $\omega > 0$, $k$ are arbitrary constants.}.
1394: The following theorem is a slightly modified version of Theorem 2
1395: in \cite{OPC-NO}.
1396:
1397: \begin{theorem}\label{thm:OPC2}
1398: If $\dot{\boldy} = \boldf(\boldy) + \boldu(\boldy) -
1399: \boldu(\boldx)$ in (\ref{OPC-thm2-eqn}) is contracting with
1400: respect to $\boldy$ over the entire state space for arbitrary
1401: $\boldu(\boldx)$\footnote{By contracting with respect to $\boldy$
1402: for arbitrary $\boldu(\boldx)$ we mean that the system
1403: $\dot{\boldy} = \boldf(\boldy) - \boldu(\boldy) + \boldu(\boldx)$,
1404: where $\boldy$ is the state vector and $\boldu(\boldx)$ is an
1405: arbitrary driving function, is contracting for all inputs
1406: $\boldu(\boldx)$.}, the two systems will reach synchrony (i.e.
1407: $\boldy(t)$ and $\boldx(t)$ will tend toward the same trajectory)
1408: regardless of initial conditions.
1409: \end{theorem}
1410:
1411: \begin{proof}
1412: The system $\dot{\boldy} = \boldf(\boldy) - \boldu(\boldy) +
1413: \boldu(\boldx)$ with input $\boldu(\boldx)$ is contracting with
1414: respect to $\boldy$ over the entire state space and $\boldy (t) =
1415: \boldx (t)$ is a particular solution. Thus, by the properties of
1416: contraction, all solutions converge exponentially to $\boldy (t) =
1417: \boldx (t)$.
1418: \end{proof}
1419:
1420: Theorem \ref{thm:inputs} becomes especially powerful when the
1421: vector field appearing in the second subsystem of
1422: (\ref{OPC-thm2-eqn}) has the structure described in
1423: equation (\ref{Thm2:eqn})\footnote{If it does not have such a structure
1424: and $\boldu(\boldx)$ drives each component of $\boldy$, we lose
1425: degrees of freedom in the possible forms of our contraction
1426: metric. If $\boldu(\boldx)$ drives each component of $\boldy$ the
1427: only possible contraction metric is a constant.}. We illustrate
1428: this in the next example.
1429:
1430: \subsection{Example: Coupled Van der Pol Oscillators}\label{coupled_vdpo}
1431:
1432: Consider two identical Van der Pol oscillators coupled as
1433: \begin{equation}\label{coupled-osc-unid}
1434: \begin{cases}
1435: \ddot{x} + \alpha(x^2 + k)\dot{x} + \omega^2x &= 0 \\
1436: \hfill \ddot{y} + \alpha(y^2 + k)\dot{y} + \omega^2y &= \alpha \eta (\dot{x} - \dot{y}) \\
1437: \end{cases}\end{equation}
1438: where $\alpha >0$, $\omega > 0$, $k$ are arbitrary constants. We
1439: note that if $k<0$, trajectories of the individual oscillator
1440: dynamics converge to a limit cycle. See Figure \ref{pp_osc_kneg}.
1441: We first write these coupled systems in state-space form to get
1442: the equations in the form of (\ref{OPC-thm2-eqn}). Their
1443: state-space form is
1444: \begin{equation}\label{cou-ssform}
1445: \begin{cases}
1446: \left[%
1447: \begin{array}{c}
1448: \dot{x}_1 \\
1449: \dot{x}_2 \\
1450: \end{array}%
1451: \right] &= \left[
1452: \begin{array}{c}
1453: x_2 \\
1454: -\alpha (x_1^2 + k)x_2 - \omega^2 x_1 \\
1455: \end{array}%
1456: \right] \\
1457: \hfill \\
1458: \hfill \left[%
1459: \begin{array}{c}
1460: \dot{y}_1 \\
1461: \dot{y}_2 \\
1462: \end{array}%
1463: \right] &= \left[
1464: \begin{array}{c}
1465: y_2 \\
1466: -\alpha (y_1^2 + k + \eta)y_2 - \omega^2 y_1 + \alpha \eta x_2 \\
1467: \end{array}%
1468: \right]. \\
1469: \end{cases}
1470: \end{equation} By Theorem \ref{Thm:EI}, this pair of unidirectional oscillators
1471: will reach synchrony regardless of initial conditions if
1472: \begin{equation}\label{co:eqn4cont}
1473: \dot{\boldy} = \boldf(\boldy) - \boldu(\boldy)+ \boldu(\boldx) = \left[%
1474: \begin{array}{c}
1475: y_2 \\
1476: -\alpha(y_1^2 +k + \eta)y_2 - w^2y_1 + \alpha \eta x_2 \\
1477: \end{array}%
1478: \right] \end{equation} is contracting with respect to $\boldy$ for
1479: arbitrary values of $\boldu(\boldx) = x_2$. We see by Theorem
1480: \ref{thm:inputs} that for this to occur, we must find a
1481: contraction metric $\boldM(\boldy)$ that is only a function of
1482: $y_1$ (i.e. $\boldM(\boldy) = \boldM(y_1)$).
1483:
1484: When the search algorithm described in Section~\ref{SearchAlgorithm},
1485: was applied to find a metric that satisfied $\boldM(\boldy) =
1486: \boldM(y_1)$ as well as $\boldM(\boldy)\succ 0$ and $\boldR(\boldy)
1487: \prec 0$, none were found. However, it is shown in the appendix,
1488: which is a modified version of the appendix of \cite{OPC-NO}, that a
1489: metric that satisfies $\boldM(\boldy)\succ 0$ and $\boldR(\boldy)
1490: \preceq 0$ implies asymptotic convergence of trajectories of system
1491: (\ref{co:eqn4cont}). A system with this metric that satisfies
1492: $\boldM(\boldy)\succ 0$ and $\boldR(\boldy) \preceq 0$ is called
1493: \emph{semi-contracting} \cite{OCA, OPC-NO}.
1494:
1495: \noindent The metric
1496: \begin{equation}\label{MAnalyOsc}\boldM(\boldy) =
1497: \left[\begin{array}{cc}
1498: \omega^2 + \alpha^2(y_1^2 + k + \eta)^2 & \alpha(y_1^2 +k + \eta) \\
1499: \alpha(y_1^2 + k +\eta ) & 1 \\
1500: \end{array}\right]\end{equation} that appears in \cite{OPC-NO} is only a function of $y_1$
1501: and satisfies $\boldM(\boldy)\succ 0$ and $\boldR(\boldy) \preceq
1502: 0$ for the system dynamics (\ref{co:eqn4cont}) if $\alpha >0$ and
1503: $(k + \eta) \geq 0$. For this $\boldM$ and the system equation
1504: (\ref{co:eqn4cont}), we have
1505: %
1506: \begin{equation}\label{Rnou} \boldR = \dot{\boldM} + \pardfdynm^T \boldM + \boldM \pardfdynm = \left[%
1507: \begin{array}{cc}
1508: -2\alpha \omega^2 y_1^2 - 2\alpha \omega^2(k + \eta ) & 0 \\
1509: 0 & 0 \\
1510: \end{array}%
1511: \right]. \end{equation} For $\alpha >0$, $(k + \eta)>0$,
1512: $\boldM(\boldy) \succ 0$ and $\boldR(\boldy) \preceq 0$. Since
1513: (\ref{MAnalyOsc}) and (\ref{Rnou}) show analytically that the
1514: system (\ref{co:eqn4cont}) is semi-contracting we used our search
1515: algorithm to search for a metric with $\boldM(\boldy)\succ 0$ and
1516: $\boldR(\boldy) \preceq 0$.
1517:
1518: \subsubsection{Search for a Semidefinite $\boldR$ Matrix: Numerical
1519: Problems and Solutions}\label{NumericalProblems}
1520:
1521: A minor problem that one may encounter when searching for contraction
1522: metrics, depending on the structure of polynomial constraints, is that
1523: the resulting optimization problem may be feasible, but not strictly
1524: feasible. This can cause numerical difficulties in the algorithms used
1525: in the solution procedure. In many cases, however, this can be
1526: remedied by a introducing a presolving stage in which redundant
1527: variables are eliminated. When we ran the search algorithm based on
1528: Theorem~\ref{thm:inputs} and only searched for $\boldM$ as a function
1529: of $y_1$, no valid solution was found even if we only constrained
1530: $\boldR$ to be negative semidefinite and not strictly negative
1531: definite. Since the analytic solution (\ref{Rnou}) was feasible but
1532: not strictly feasible, we hypothesized there was numerical error in
1533: the algorithm. Based on knowledge of the analytic solution
1534: (\ref{Rnou}), we thus constrained $R_{22} = 0$ and $R_{12} = 0$,
1535: eliminated redundant variables, and then searched for a solution in
1536: the resulting lower dimensional space\footnote{Setting $R_{22} = 0$,
1537: and $R_{12} = 0$ leads to redundant decision coefficients in the
1538: polynomial entries of $\boldM$ and $\boldR$. If these redundant
1539: variables are eliminated through a presolving stage, the search
1540: algorithm finds $\boldM \succ 0$ and $\boldR \preceq 0$.}. With these
1541: constraints in place, a solution was found with the search algorithm.
1542:
1543:
1544: \section{Conclusions}\label{Conclusions}
1545:
1546: In this paper we have described how SOS programming enables an
1547: algorithmic search for contraction metrics for the class of
1548: nonlinear systems with polynomial dynamics. We also have
1549: illustrated the results through several examples.
1550:
1551: These examples illustrate how contraction analysis offers several
1552: significant advantages when compared with traditional Lyapunov
1553: analysis. Contraction analysis provides relative flexibility in
1554: incorporating inputs and outputs. It is also particularly useful
1555: in the analysis of nonlinear systems with uncertain parameters
1556: where the uncertainty changes the equilibrium points of the
1557: system. It is often the case that if the nominal system is
1558: contracting with respect to a metric, the uncertain system with
1559: additive or multiplicative uncertainty will still be contracting
1560: with respect to the original metric, even if the perturbation
1561: changes the equilibrium of the system. In addition, a slightly
1562: modified version of the standard algorithmic search allows us to
1563: optimize the search to obtain a contraction metric that provides
1564: the largest uncertainty interval for which we can prove the system
1565: is contracting.
1566:
1567: Subjects of future research include a careful evaluation of how the
1568: computational resources needed by the algorithm scale with system
1569: size, as well as the benefits and limitations of this approach in the
1570: context of other nonlinear system analysis techniques.
1571:
1572: \appendix
1573:
1574: \section{Proving Asymptotic Convergence of Coupled Van der Pol Oscillators With a Negative
1575: Semidefinite $\boldR$ Matrix.}
1576:
1577: This appendix is a modified version of the appendix in
1578: \cite{OPC-NO}. Consider the system given in (\ref{co:eqn4cont}).
1579: Consider a $2 \times 2$ matrix $\boldM(\boldy)$ that is uniformly
1580: positive definite, and a corresponding $\boldR(\boldy)$ matrix that is
1581: uniformly negative semidefinite, but not uniformly negative
1582: definite. Since (\ref{co:eqn4cont}) is a two-dimensional system, we
1583: can assume without loss of generality that $\boldR(\boldy)$ is of the
1584: form \[\boldR(\boldy) = \left(%
1585: \begin{array}{cc}
1586: -K(\boldy) & 0 \\
1587: 0 & 0 \\
1588: \end{array}
1589: \right) \]where $K(\boldy)>0 \;\forall \; \boldy$. Let $\delta
1590: \boldy
1591: = \left(%
1592: \begin{array}{cc}
1593: \delta y_1 & \delta y_2 \\
1594: \end{array}%
1595: \right)^T = \left ( \begin{array}{cc}
1596: \delta y & \delta \dot{y} \\
1597: \end{array} \right)^T$. where $y_1$ and $y_2$ are the variables in equation (\ref{co:eqn4cont}). With this $\boldR(\boldy)$ and $\boldM(\boldy)$ matrices, the
1598: general definition of differential length given in
1599: (\ref{RiemannSp}) and associated equation for rate of change of
1600: length (\ref{contractcond2}) are
1601: \[ \delta \boldz^T \delta \boldz = \delta \boldy^T \boldM (\boldy)
1602: \delta \boldy \] and
1603: \begin{eqnarray} \frac{d}{dt} \delta \boldz^T
1604: \delta \boldz &=& \frac{d}{dt}(\delta \boldy^T \boldM (\boldy)
1605: \delta \boldy) \nonumber \\
1606: & = & \delta \boldy ^T \boldR(\boldy) \delta \boldy \nonumber \\
1607: & = & -K(\boldy) \delta y_1^2. \label{negsdR}
1608: \end{eqnarray} Since $\frac{d}{dt}(\delta \boldy^T \boldM (\boldy)
1609: \delta \boldy) \leq 0$ and $\delta \boldz ^T \delta \boldz \geq 0$,
1610: $\delta \boldz ^T \delta \boldz$ has a limit at $t$ goes to
1611: infinity. We will prove through a Taylor series argument that all
1612: trajectories of this system converge asymptotically. If $\delta y =
1613: \delta y_1 \neq 0$, then
1614:
1615: \begin{displaymath} \delta \boldz ^T \delta \boldz (t + dt) - \delta \boldz ^T
1616: \delta \boldz (t) = -K(\boldy) (\delta y_1)^2 dt + O((dt)^2)
1617: \end{displaymath} while
1618: if $\delta y_1 = 0$, \[\delta \boldz ^T \delta \boldz (t + dt) -
1619: \delta \boldz ^T \delta \boldz (t) = -2K(\boldy) (\delta
1620: y_2)^2\frac{dt^3}{3!} + O((dt)^4). \] Since $\delta \boldz ^T
1621: \delta \boldz$ converges, $\delta \boldz ^T \delta
1622: \boldz (t + dt) - \delta \boldz ^T \delta \boldz (t)$ approaches
1623: zero asymptotically and hence $\delta y_1$ and $\delta y_2$ or
1624: equivalently $\delta y$ and $\delta \dot{y}$ both tend to zero.
1625: Thus, for any input $\boldu(\boldx)$ all solutions of system
1626: (\ref{co:eqn4cont}) converge asymptotically to a single trajectory
1627: independent of initial conditions, and the unidirectional
1628: oscillators given in (\ref{cou-ssform}) will reach synchrony
1629: asymptotically regardless of initial conditions.
1630:
1631: \pagebreak
1632: %
1633: \nocite{SOS_LMI_Pablo}
1634: \bibliographystyle{plain}
1635: \bibliography{AylwardParriloSlotineJournal}
1636:
1637: \end{document}
1638: