You are on page 1of 89

# Introduction to Contraction Theory

Seminar 2008

Helmut Hauser
Institute for Theoretical Computer Science

31.Jan, 2008

Overview

Overview

1 2

## Institute for Theoretical Computer Science

Overview

1 2 3

Introduction and Basic Theorems Connecting Contractive Systems Applications of Contraction Theory

## Institute for Theoretical Computer Science

Overview

1 2 3 4

Introduction and Basic Theorems Connecting Contractive Systems Applications of Contraction Theory Summary

## Institute for Theoretical Computer Science

Introductions
Some Denitions We are considering n-dimensional deterministic nonlinear systems of the form x = f(x, t)

## Institute for Theoretical Computer Science

Introductions
Some Denitions We are considering n-dimensional deterministic nonlinear systems of the form x = f(x, t)

with x Rn being the the state vector and f being a nonlinear vector function

## Institute for Theoretical Computer Science

Introductions
Some Denitions We are considering n-dimensional deterministic nonlinear systems of the form x = f(x, t)

with x Rn being the the state vector and f being a nonlinear vector function f is assumed to be smooth

## Institute for Theoretical Computer Science

Introductions
Some Denitions We are considering n-dimensional deterministic nonlinear systems of the form x = f(x, t)

with x Rn being the the state vector and f being a nonlinear vector function f is assumed to be smooth all quantities assumed to be real and smooth (any required derivative or partial derivative exists)

## Institute for Theoretical Computer Science

Introductions
Some Denitions We are considering n-dimensional deterministic nonlinear systems of the form x = f(x, t)

with x Rn being the the state vector and f being a nonlinear vector function f is assumed to be smooth all quantities assumed to be real and smooth (any required derivative or partial derivative exists) Note: system can be in general time-variant!

## Institute for Theoretical Computer Science

Introductions
Some Denitions We are considering n-dimensional deterministic nonlinear systems of the form x = f(x, t)

with x Rn being the the state vector and f being a nonlinear vector function f is assumed to be smooth all quantities assumed to be real and smooth (any required derivative or partial derivative exists) Note: system can be in general time-variant! Note: may also represent closed-loop dynamics of system with state feedback u(x, t)

## Introduction - Basic Idea

Basic Idea Classical stability analysis is relative to some nominal motion or equilibrium point

## Introduction - Basic Idea

Basic Idea Classical stability analysis is relative to some nominal motion or equilibrium point Contraction Theory states A system is stable if in some region any initial conditions or temporary disturbances are somehow forgotten

## Introduction - Basic Idea

Basic Idea Classical stability analysis is relative to some nominal motion or equilibrium point Contraction Theory states A system is stable if in some region any initial conditions or temporary disturbances are somehow forgotten Do not care about the nominal motion itself, just show that all trajectories converge

## Introduction - Basic Idea

Basic Idea Classical stability analysis is relative to some nominal motion or equilibrium point Contraction Theory states A system is stable if in some region any initial conditions or temporary disturbances are somehow forgotten Do not care about the nominal motion itself, just show that all trajectories converge Analysis is inspired by uid mechanics

## Introduction - Basic Idea

Basic Idea Classical stability analysis is relative to some nominal motion or equilibrium point Contraction Theory states A system is stable if in some region any initial conditions or temporary disturbances are somehow forgotten Do not care about the nominal motion itself, just show that all trajectories converge Analysis is inspired by uid mechanics Stability can be therefor analyzed dierentially: Do nearby trajectories converge?

## Introduction - Basic Idea

Basic Idea Classical stability analysis is relative to some nominal motion or equilibrium point Contraction Theory states A system is stable if in some region any initial conditions or temporary disturbances are somehow forgotten Do not care about the nominal motion itself, just show that all trajectories converge Analysis is inspired by uid mechanics Stability can be therefor analyzed dierentially: Do nearby trajectories converge?

## Introduction - Basic Idea

Basic Idea Classical stability analysis is relative to some nominal motion or equilibrium point Contraction Theory states A system is stable if in some region any initial conditions or temporary disturbances are somehow forgotten Do not care about the nominal motion itself, just show that all trajectories converge Analysis is inspired by uid mechanics Stability can be therefor analyzed dierentially: Do nearby trajectories converge? Fluid Mechanics Interpretation x = f(x, t) can be seen as an n-dimensional uid ow, where x is the n-dimensional velocity vector at the n-dimensional position x and time t.
Helmut Hauser Introduction to Contraction Theory Institute for Theoretical Computer Science

## The path to Contraction Theory

With x being a virtual displacement (= innitesimal displacement at xed time) we dene a well dened dierential relation: x = f (x, t) x x Virtual dynamics of neighboring trajectories

## The path to Contraction Theory

With x being a virtual displacement (= innitesimal displacement at xed time) we dene a well dened dierential relation: x = f (x, t) x x Virtual dynamics of neighboring trajectories

the associated quadratic tangent form of x is xT x. Looking at rate of change of the quadratic distance between to neighboring trajectories: d f from above (xT x) = 2xT x = 2xT x dt x

## The path to Contraction Theory

With x being a virtual displacement (= innitesimal displacement at xed time) we dene a well dened dierential relation: x = f (x, t) x x Virtual dynamics of neighboring trajectories

the associated quadratic tangent form of x is xT x. Looking at rate of change of the quadratic distance between to neighboring trajectories: d f from above (xT x) = 2xT x = 2xT x dt x Now we want to have a negative rate of change = trajectories converge

Jacobian

## d f (xT x) = 2xT x dt x |{z}

Jacobian

Denoting max (x, t) the largest eigenvalue of the symmetric part of the f Jacobian x d (xT x) 2max xT x dt

## d f (xT x) = 2xT x dt x |{z}

Jacobian

Denoting max (x, t) the largest eigenvalue of the symmetric part of the f Jacobian x d (xT x) 2max xT x dt and hence, x x0 e
Rt
0

max (x,t)dt

## Institute for Theoretical Computer Science

Denition Given the systems equations x = f(x, t), a region of the state space is called a f contraction region if the Jacobian x is uniformly negative denite in that region. Theorem Given the systems equation x = f(x, t), any trajectory, which starts in a ball of constant radius centered about a given trajectory and contained at all times in a contraction region, remains in that ball and converges exponentially to this trajectory. Furthermore, global exponential convergence to the given trajectory is guaranteed if the whole state space is a contraction region.

Examples

f x

## Institute for Theoretical Computer Science

Examples

Example Consider the system x = x + e t and the Jacobian Example Consider the system x = t(x 3 + x) and the Jacobian t t0 0.
f x f x

## Generalization - Contraction Theory

Basic Idea Instead of using standard dierential length we can use a more general denition of dierential length

## Generalization - Contraction Theory

Basic Idea Instead of using standard dierential length we can use a more general denition of dierential length A line vector x can be expressed by using a dierential coordinate transformation z = x

## Generalization - Contraction Theory

Basic Idea Instead of using standard dierential length we can use a more general denition of dierential length A line vector x can be expressed by using a dierential coordinate transformation z = x where (x, t) is a square matrix and uniformly positive denite.

## Generalization - Contraction Theory

Basic Idea Instead of using standard dierential length we can use a more general denition of dierential length A line vector x can be expressed by using a dierential coordinate transformation z = x where (x, t) is a square matrix and uniformly positive denite. a quadratic distance is then zT z = xT M x

## Generalization - Contraction Theory

Basic Idea Instead of using standard dierential length we can use a more general denition of dierential length A line vector x can be expressed by using a dierential coordinate transformation z = x where (x, t) is a square matrix and uniformly positive denite. a quadratic distance is then zT z = xT M x with M(x, t) = T representing a symmetric and continuously dierentiable metric.

## Institute for Theoretical Computer Science

Generalization - cont.

## Institute for Theoretical Computer Science

Generalization - cont.

Same steps as before: Calculating the time derivative of z d + f 1 z = Fz z = dt x f with F = + x 1 is called the generalized Jacobian

## Institute for Theoretical Computer Science

Generalization - cont.

Same steps as before: Calculating the time derivative of z d + f 1 z = Fz z = dt x f with F = + x 1 is called the generalized Jacobian the rate of change of the squared length d (zT z) = 2zT Fz dt

## Institute for Theoretical Computer Science

Denition Given the systems equations x = f(x, t), a region of the state space is called a contraction region with respect to a uniformly positive denite metric f M(x, t) = T if the generalized Jacobian F = + x 1 is uniformly negative denite in that region. Theorem Given the systems equations x = f(x, t), any trajectory, which starts in a ball of constant radius with respect to the metric M(x, t), centered at a given trajectory and containend at all times in a contraction region with respect to M(x, t), remains in that ball and converges exponentially to this trajectory. Furthermore, global exponential convergence to the given trajectory is guaranteed if the whole state space is a contraction region with respect the metric M(x, t).

## Institute for Theoretical Computer Science

Example

Example For a linear system x = Ax the coordinate transformation z = x (constant!) into a Jordan form. + f 1 = (0 + A) 1 F= x and therefore A1 has to be uniformly negative denite. This is true if and only if the system is strictly stable.

## Institute for Theoretical Computer Science

Example
Example FitzHugh-Nagumo model (simplication of the Hodgkin-Huxley model): 1 v + w v3 + I 3 1 (v a + bw ) c c

v w

= =

with c,a and b being some constants, I the input, v the membrane voltage and w the recovery variable. With 1 0 = 0 c we get following generalized Jacobian: c(1 v 2 ) F= 1
Helmut Hauser Introduction to Contraction Theory

1 b c

## Institute for Theoretical Computer Science

Time varying systems can be analyzed Approach extensible to MIMO (Multiple Input Multiple Output) systems

## Institute for Theoretical Computer Science

Time varying systems can be analyzed Approach extensible to MIMO (Multiple Input Multiple Output) systems Switching networks can be analyzed too

## Institute for Theoretical Computer Science

Time varying systems can be analyzed Approach extensible to MIMO (Multiple Input Multiple Output) systems Switching networks can be analyzed too Hybrid Systems (discrete and continuous mixture)

## Institute for Theoretical Computer Science

Time varying systems can be analyzed Approach extensible to MIMO (Multiple Input Multiple Output) systems Switching networks can be analyzed too Hybrid Systems (discrete and continuous mixture) System (plant & controller) can be designed to be contractive

## Institute for Theoretical Computer Science

Time varying systems can be analyzed Approach extensible to MIMO (Multiple Input Multiple Output) systems Switching networks can be analyzed too Hybrid Systems (discrete and continuous mixture) System (plant & controller) can be designed to be contractive Observer can be designed to be contractive in conjunction with the plant

## Institute for Theoretical Computer Science

Time varying systems can be analyzed Approach extensible to MIMO (Multiple Input Multiple Output) systems Switching networks can be analyzed too Hybrid Systems (discrete and continuous mixture) System (plant & controller) can be designed to be contractive Observer can be designed to be contractive in conjunction with the plant The rate of convergence is bounded by max

## Institute for Theoretical Computer Science

Time varying systems can be analyzed Approach extensible to MIMO (Multiple Input Multiple Output) systems Switching networks can be analyzed too Hybrid Systems (discrete and continuous mixture) System (plant & controller) can be designed to be contractive Observer can be designed to be contractive in conjunction with the plant The rate of convergence is bounded by max Contractive systems are robust, temporal disturbances vanish exponentially

## Connecting Contractive Systems

Interesting questions raises: Does the property of contraction hold for bigger systems built out of contractive systems? the answer is yes!

## Connecting Contractive Systems

Interesting questions raises: Does the property of contraction hold for bigger systems built out of contractive systems? the answer is yes! Possible Connections are: One-way coupling

## Connecting Contractive Systems

Interesting questions raises: Does the property of contraction hold for bigger systems built out of contractive systems? the answer is yes! Possible Connections are: One-way coupling Two-way coupling

## Connecting Contractive Systems

Interesting questions raises: Does the property of contraction hold for bigger systems built out of contractive systems? the answer is yes! Possible Connections are: One-way coupling Two-way coupling Parallel

## Connecting Contractive Systems

Interesting questions raises: Does the property of contraction hold for bigger systems built out of contractive systems? the answer is yes! Possible Connections are: One-way coupling Two-way coupling Parallel Hierarchies

## Connecting Contractive Systems

Interesting questions raises: Does the property of contraction hold for bigger systems built out of contractive systems? the answer is yes! Possible Connections are: One-way coupling Two-way coupling Parallel Hierarchies Feedback

## Connecting Contractive Systems

Interesting questions raises: Does the property of contraction hold for bigger systems built out of contractive systems? the answer is yes! Possible Connections are: One-way coupling Two-way coupling Parallel Hierarchies Feedback and others

## Connecting Contractive Systems

Interesting questions raises: Does the property of contraction hold for bigger systems built out of contractive systems? the answer is yes! Possible Connections are: One-way coupling Two-way coupling Parallel Hierarchies Feedback and others

## Connecting Contractive Systems

Interesting questions raises: Does the property of contraction hold for bigger systems built out of contractive systems? the answer is yes! Possible Connections are: One-way coupling Two-way coupling Parallel Hierarchies Feedback and others Note: They can be combined and applied recursively!

## Institute for Theoretical Computer Science

One-Way Coupling
We have two systems: x1 x2 = = f1 (x1 , t) f2 (x1 , t) + u(x1 ) u(x2 )

f1 and f1 are the dynamics of uncoupled oscillators. u(x1 ) u(x2 ) is the coupling force.

## Institute for Theoretical Computer Science

One-Way Coupling
We have two systems: x1 x2 = = f1 (x1 , t) f2 (x1 , t) + u(x1 ) u(x2 )

f1 and f1 are the dynamics of uncoupled oscillators. u(x1 ) u(x2 ) is the coupling force. if f u is contracting then x1 x2 exponentially regardless of initial condition. This is interesting when the two systems are two (or more) oscillators they synchronize!

## Institute for Theoretical Computer Science

One-Way Coupling
We have two systems: x1 x2 = = f1 (x1 , t) f2 (x1 , t) + u(x1 ) u(x2 )

f1 and f1 are the dynamics of uncoupled oscillators. u(x1 ) u(x2 ) is the coupling force. if f u is contracting then x1 x2 exponentially regardless of initial condition. This is interesting when the two systems are two (or more) oscillators they synchronize! Simple proof: The second subsystem, with u(x1 ) as input, is contracting, and x1 (t) = x2 (t) is a particular solution.

## Institute for Theoretical Computer Science

One-Way Coupling
We have two systems: x1 x2 = = f1 (x1 , t) f2 (x1 , t) + u(x1 ) u(x2 )

f1 and f1 are the dynamics of uncoupled oscillators. u(x1 ) u(x2 ) is the coupling force. if f u is contracting then x1 x2 exponentially regardless of initial condition. This is interesting when the two systems are two (or more) oscillators they synchronize! Simple proof: The second subsystem, with u(x1 ) as input, is contracting, and x1 (t) = x2 (t) is a particular solution. This can be used to extent networks with chain or tree structures.
Helmut Hauser Introduction to Contraction Theory Institute for Theoretical Computer Science

Two-Way Coupling
We have two systems coupled like: x1 h(x1 , t) = x2 h(x2 , t) if h is contracting then x1 and x2 will converge exponentially regardless of initial condition. Again interesting for two (or more) oscillators they synchronize!

## Institute for Theoretical Computer Science

Two-Way Coupling
We have two systems coupled like: x1 h(x1 , t) = x2 h(x2 , t) if h is contracting then x1 and x2 will converge exponentially regardless of initial condition. Again interesting for two (or more) oscillators they synchronize! More Oscillator Couplings and Nonlinear Networks are possible: It is possible to design the coupling to have contractive behavior and therefore synchronization. Oscillator Death

## Institute for Theoretical Computer Science

Two-Way Coupling
We have two systems coupled like: x1 h(x1 , t) = x2 h(x2 , t) if h is contracting then x1 and x2 will converge exponentially regardless of initial condition. Again interesting for two (or more) oscillators they synchronize! More Oscillator Couplings and Nonlinear Networks are possible: It is possible to design the coupling to have contractive behavior and therefore synchronization. Oscillator Death Networks with special symmetry

## Institute for Theoretical Computer Science

Two-Way Coupling
We have two systems coupled like: x1 h(x1 , t) = x2 h(x2 , t) if h is contracting then x1 and x2 will converge exponentially regardless of initial condition. Again interesting for two (or more) oscillators they synchronize! More Oscillator Couplings and Nonlinear Networks are possible: It is possible to design the coupling to have contractive behavior and therefore synchronization. Oscillator Death Networks with special symmetry Shuto of synchrony by just one inhibitory link (fast inhibition)

## Institute for Theoretical Computer Science

Two-Way Coupling
We have two systems coupled like: x1 h(x1 , t) = x2 h(x2 , t) if h is contracting then x1 and x2 will converge exponentially regardless of initial condition. Again interesting for two (or more) oscillators they synchronize! More Oscillator Couplings and Nonlinear Networks are possible: It is possible to design the coupling to have contractive behavior and therefore synchronization. Oscillator Death Networks with special symmetry Shuto of synchrony by just one inhibitory link (fast inhibition) Leader Following (and even dierent leaders of arbitrary dynamics can dene dierent group primitives)

## Institute for Theoretical Computer Science

Two-Way Coupling
We have two systems coupled like: x1 h(x1 , t) = x2 h(x2 , t) if h is contracting then x1 and x2 will converge exponentially regardless of initial condition. Again interesting for two (or more) oscillators they synchronize! More Oscillator Couplings and Nonlinear Networks are possible: It is possible to design the coupling to have contractive behavior and therefore synchronization. Oscillator Death Networks with special symmetry Shuto of synchrony by just one inhibitory link (fast inhibition) Leader Following (and even dierent leaders of arbitrary dynamics can dene dierent group primitives) and many other case

## Institute for Theoretical Computer Science

Parallel Connection

## Institute for Theoretical Computer Science

Parallel Connection

## Institute for Theoretical Computer Science

Parallel Connection

## Two systems x1 x2 and virtual dynamics z1 z2 = = F1 z = = f1 (x1 , t) f2 (x2 , t)

F2 z P d d So we have a linear combination dt z = i i (t) dt zi and combined system is contractive again with i > 0 and same metric.

## Parallel Connection Example

Example Control Primitives with biological control inputs: X x = f(x, t) + i (t)i (x, t)
i

## Parallel Connection Example

Example Control Primitives with biological control inputs: X x = f(x, t) + i (t)i (x, t)
i

Dynamics f and primitives i all contracting in the same (x) and i (t) > 0 then the whole system is contractive.

## Parallel Connection Example

Example Control Primitives with biological control inputs: X x = f(x, t) + i (t)i (x, t)
i

Dynamics f and primitives i all contracting in the same (x) and i (t) > 0 then the whole system is contractive. Note: in general a time-varying combination of stable systems does not have to be stable!

## Institute for Theoretical Computer Science

Hierarchical Combination

## Consider following virtual dynamics d F11 z1 = F21 z2 dt

0 F22

z1 z2

and assume the F21 is bounded and F11 and F22 are uniformly negative denite.

## Institute for Theoretical Computer Science

Hierarchical Combination

## Consider following virtual dynamics d F11 z1 = F21 z2 dt

0 F22

z1 z2

and assume the F21 is bounded and F11 and F22 are uniformly negative denite. Simple Proof: The rst equation does not depend on the second one and is contractive. F21 (z)2 represents an exponentially decaying disturbance for the second equation. Thus the whole system converges to a single trajectory.

## Institute for Theoretical Computer Science

Examples Hierarchies
Example Again Motion Primitives: x = f(x, t) + X
i

i (t)i (x, t)

the i (t) could be outputs of contracting systems of higher up. Again we can guarantee contraction.

## Institute for Theoretical Computer Science

Examples Hierarchies
Example Again Motion Primitives: x = f(x, t) + X
i

i (t)i (x, t)

the i (t) could be outputs of contracting systems of higher up. Again we can guarantee contraction. Example Typical hierarchical processes are chemical chain reactions. x = q(t)(xf x) + Nr with N the reaction rate coecients, x = (c1 . . . cn1 T ) with ci the chemical concentrations and temperature T , xf the corresponding feed vector,q(t) the specic volume ow and ri the normalized reaction rates.

## Institute for Theoretical Computer Science

Examples Hierarchies
Example Again Motion Primitives: x = f(x, t) + X
i

i (t)i (x, t)

the i (t) could be outputs of contracting systems of higher up. Again we can guarantee contraction. Example Typical hierarchical processes are chemical chain reactions. x = q(t)(xf x) + Nr with N the reaction rate coecients, x = (c1 . . . cn1 T ) with ci the chemical concentrations and temperature T , xf the corresponding feed vector,q(t) the specic volume ow and ri the normalized reaction rates. Following linear matrix inequalities have to be solved for M > 0 i, j
Helmut Hauser Introduction to Contraction Theory

NT M + MNij 0 ij
Institute for Theoretical Computer Science

Feedback Connection
Two systems x1 x2 = = f1 (x1 , x2 , t) f2 (x1 , x2 , t)

## in the feedback combination d F1 z1 = z2 GT dt

G F2

The augmented system is contracting if and only if the separated plants are contracting and under the rather mild assumption: F2 < GT F1 G 1

## Institute for Theoretical Computer Science

Feedback Connection
Two systems x1 x2 = = f1 (x1 , x2 , t) f2 (x1 , x2 , t)

## in the feedback combination d F1 z1 = z2 GT dt

G F2

The augmented system is contracting if and only if the separated plants are contracting and under the rather mild assumption: F2 < GT F1 G 1 Note: We can usually choose the connection matrix G!

## Institute for Theoretical Computer Science

Summary
Pros Contraction theory is applicable for a wide range of nonlinear systems

## Institute for Theoretical Computer Science

Summary
Pros Contraction theory is applicable for a wide range of nonlinear systems Contraction theory can be used to design contractive systems

## Institute for Theoretical Computer Science

Summary
Pros Contraction theory is applicable for a wide range of nonlinear systems Contraction theory can be used to design contractive systems Synchronization of complex networks can be assured by contraction theory

## Institute for Theoretical Computer Science

Summary
Pros Contraction theory is applicable for a wide range of nonlinear systems Contraction theory can be used to design contractive systems Synchronization of complex networks can be assured by contraction theory The property of contraction holds over a wide range of possible combinations (under some assumption) - Modularity!

## Institute for Theoretical Computer Science

Summary
Pros Contraction theory is applicable for a wide range of nonlinear systems Contraction theory can be used to design contractive systems Synchronization of complex networks can be assured by contraction theory The property of contraction holds over a wide range of possible combinations (under some assumption) - Modularity! One can mix dierent classes of nonlinear systems and still assure contraction

## Institute for Theoretical Computer Science

Summary
Pros Contraction theory is applicable for a wide range of nonlinear systems Contraction theory can be used to design contractive systems Synchronization of complex networks can be assured by contraction theory The property of contraction holds over a wide range of possible combinations (under some assumption) - Modularity! One can mix dierent classes of nonlinear systems and still assure contraction Time delays can be incorporated

## Institute for Theoretical Computer Science

Summary
Pros Contraction theory is applicable for a wide range of nonlinear systems Contraction theory can be used to design contractive systems Synchronization of complex networks can be assured by contraction theory The property of contraction holds over a wide range of possible combinations (under some assumption) - Modularity! One can mix dierent classes of nonlinear systems and still assure contraction Time delays can be incorporated

## Institute for Theoretical Computer Science

Summary
Pros Contraction theory is applicable for a wide range of nonlinear systems Contraction theory can be used to design contractive systems Synchronization of complex networks can be assured by contraction theory The property of contraction holds over a wide range of possible combinations (under some assumption) - Modularity! One can mix dierent classes of nonlinear systems and still assure contraction Time delays can be incorporated Cons It is not always easy to nd the right metric M.

## Institute for Theoretical Computer Science

Summary
Pros Contraction theory is applicable for a wide range of nonlinear systems Contraction theory can be used to design contractive systems Synchronization of complex networks can be assured by contraction theory The property of contraction holds over a wide range of possible combinations (under some assumption) - Modularity! One can mix dierent classes of nonlinear systems and still assure contraction Time delays can be incorporated Cons It is not always easy to nd the right metric M. It is not trivial to prove negative deniteness of big matrices .

## Institute for Theoretical Computer Science

Summary
Pros Contraction theory is applicable for a wide range of nonlinear systems Contraction theory can be used to design contractive systems Synchronization of complex networks can be assured by contraction theory The property of contraction holds over a wide range of possible combinations (under some assumption) - Modularity! One can mix dierent classes of nonlinear systems and still assure contraction Time delays can be incorporated Cons It is not always easy to nd the right metric M. It is not trivial to prove negative deniteness of big matrices . Lohmiller and Slotine do not show the problems - hard to see what else could be a problem.
Helmut Hauser Introduction to Contraction Theory Institute for Theoretical Computer Science