Stability and Stabilization of polynomial dynamical systems Hadi - - PowerPoint PPT Presentation

stability and stabilization of polynomial dynamical
SMART_READER_LITE
LIVE PREVIEW

Stability and Stabilization of polynomial dynamical systems Hadi - - PowerPoint PPT Presentation

Stability and Stabilization of polynomial dynamical systems Hadi Ravanbakhsh Sriram Sankaranarayanan University of Colorado, Boulder Proving Asymptotic Stability: Lyapunov Functions Lyapunov Function: V ( x ) Positive Definite Function


slide-1
SLIDE 1

Stability and Stabilization of polynomial dynamical systems

Hadi Ravanbakhsh Sriram Sankaranarayanan University of Colorado, Boulder

slide-2
SLIDE 2

Proving Asymptotic Stability: Lyapunov Functions

  • Lyapunov Function:
  • Positive Definite Function of the State:
  • Negative Definite Derivative:

V (x)

(8 x) (x 6= x∗) ) V (x) > 0

(8 x) (x 6= x⇤) ) V 0(x) < 0

V (x∗) = 0

slide-3
SLIDE 3

Verifying Stability

  • Find (Guess) a Lyapunov function: V(x)
  • Check the conditions for the function:

(8 x) (x 6= x∗) ) V (x) > 0 (8 x) (x 6= x⇤) ) V 0(x) < 0

V (x∗) = 0

slide-4
SLIDE 4

Finding a Lyapunov Function

  • Guess a parametric form of the function:
  • Encode Lyapunov conditions:

– Derive constraints on the unknown coefficients. – Solve constraints.

V (x1, x2) : c0 + c1x1 + c2x2 + c3x1x2 + c4x2

1 + c5x2 2

slide-5
SLIDE 5

Encoding constraints for Lyapunov

  • QE for reals: [Tarski; Collins; … ]

– Nonlinear constraints over template parameters.

  • Sum-of-Squares Relaxations: [Shor; Lasserre; Tibken; Parrillo; …]

– Polynomial positivity strengthened to sum of squares (SOS). – Reduced to solving a semi-definite optimization problem.

  • LP relaxations:

– Positive Semi-definiteness to diagonal dominance [Ali Ahmadi+Parrillo’2014]

– Use properties of Bernstein polynomials. [Ben Sassi + Girard’12, Ben

Sassi+S+Chen+Abraham’2015]

slide-6
SLIDE 6

Lyapunov Function Synthesis: State-of-the-art

  • Linear Systems: Solve LMI constraints.
  • Polynomial Systems: up to 10 variables, low degree.
  • Beyond polynomials: limited progress.
  • Systems involving switching (Hybrid Systems).

– Lyapunov conditions extended [Branicky et al. 96]

  • Stability proofs that do not involve Lyapunov

functions [Prabhakar et al.’13]

slide-7
SLIDE 7

Synthesis for Stabilization

slide-8
SLIDE 8

Problem Setup

Plant Model

x0 = f(x, u), u ∈ U

Controller u = g(x)

x

u

Find a suitable g(x)

slide-9
SLIDE 9

Problem Setup

Plant Model

x0 = f(x, u), u ∈ U

Controller u = g(x)

x

u

Find g(x) s.t. closed loop x0 = f(x, g(x)) is asymp. stable

slide-10
SLIDE 10

Option #1 : Static Feedback

Plant Model

x0 = f(x, u), u ∈ U

Controller u = g(x)

x

u

g(x) : P

i θixi

[Tan & Packard, El Ghaoui & Balakrishnan, Ben Sassi & S]

slide-11
SLIDE 11

Control Mode #2

Option #2 : Switched Stabilization

Plant Model

x0 = f(x, u), u ∈ U

Control Mode #1

u = g1(x)

u = g2(x)

Control Mode #k

u = gk(x)

Choose Appropriate Control No single mode stabilizes Goal: Synthesize this logic.

slide-12
SLIDE 12

CONTROL LYAPUNOV FUNCTIONS

slide-13
SLIDE 13

Control Lyapunov Function

  • Lyapunov function: V(x)
  • V(x) is positive definite.
  • A control input chosen s.t. derivative is negative

definite.

[Artstein; Sontag; …]

(8 x 6= x⇤) (9u 2 U) V 0(x) = rxV (x) · f(x, u) < 0

slide-14
SLIDE 14

Control Lyapunov Function: Interpretation

x V(x) Lyapunov Function. Control u1 Control u2

slide-15
SLIDE 15

Control Mode #2

Switched Stabilization Problem

Plant Model

x0 = f(x, u), u ∈ U

Control Mode #1

u = g1(x)

u = g2(x)

Control Mode #k

u = gk(x)

Choose Appropriate Control No single mode stabilizes Goal: Synthesize this logic.

slide-16
SLIDE 16

Choosing Control Modes

  • Idea #1: Sample control values.
  • Idea #2: Combine feedback laws that may

stabilize for a subset of the states.

Space of Control Inputs: U

u1 u2 um−1 um

slide-17
SLIDE 17

Control Lyapunov Function

CLF V(x)

  • 1. Positive Definite.
  • 2. For all x ≠x*

– Exists mode gi

  • Choosing mode gi causes V to decrease.

x0 = f(x, u), u ∈ U

u = g1(x)

u = g2(x) u = gk(x)

?

V 0

i : (rxV )f(x, gi(x)) is negative

slide-18
SLIDE 18

From CLF to controller

x0 = f(x, u), u ∈ U

u = g1(x)

u = g2(x)

u = gk(x)

?

From g1,…,gn choose a mode that causes V(x) to decrease

slide-19
SLIDE 19

Issue #1 : Zenoness

x0 = f(x, u), u ∈ U

u = g1(x)

u = g2(x)

u = gk(x)

?

From g1,…,gn choose a mode that causes V(x) to decrease

Potentially Switch Infinitely Often in a finite time interval

slide-20
SLIDE 20

Minimum Dwell Time Switching

x0 = f(x, u), u ∈ U

u = g1(x)

u = g2(x)

u = gk(x)

?

g5 g4 g7 g10

≥ Tmin ≥ Tmin ≥ Tmin

slide-21
SLIDE 21

Contribution #1

  • Define restrictions on CLF V s.t.

– V(x) allows a switching strategy with a minimal dwell time. – Provide a lower bound for the minimal dwell time.

[Ravanbaksh+S’15]

V (x) ≥ ✏||x||2

2

Extra conditions on V 00

V 0(x) ≤ −ˆ ✏||x||2

2

slide-22
SLIDE 22

CLF-based Synthesis

  • If we can find a CLF V(x) with additional

restrictions,

x0 = f(x, u), u ∈ U

u = g1(x)

u = g2(x)

u = gk(x)

?

From g1,…,gn choose a mode that causes V(x) to decrease

Minimum dwell time guaranteed.

slide-23
SLIDE 23

Discovering CLFs

Counter-Example Guided Inductive Synthesis.

slide-24
SLIDE 24

CLF Conditions for the Switched Case

x0 = f(x, u), u ∈ U

u = g1(x)

u = g2(x)

u = gk(x)

?

(8 x 6= x∗)V (x) ✏||x||2

2

(8 x 6= x∗)(9i 2 {1, . . . , k})(rV )f(x, gi(x))  ✏||x||2

2

V can be made to decrease by some choice of gi

slide-25
SLIDE 25

Synthesizing CLFs

  • Fix a template (ansatz) for the CLF with

unknown coefficients.

  • Enforce CLF constraints on the unknown form.

V (x1, x2) : c0 + c1x1 + c2x2 + c3x1x2 + c4x2

1 + c5x2 2

(∃ ~ c) (∀ ~ x) (∃i ∈ [1, k]) · · ·

More Complex Constraints. SOS relaxations cannot be used.

slide-26
SLIDE 26

Counterexample Guided Inductive Synthesis.

Program Sketching [Solar-Lezama + Others]

int search(int [] a,int n, int s){ //@pre:… if (n <= ??){ return 0; } for i = 0 to ?? if (a[i] == ??){ return 1; } end return ??; } //@post:…

Find appropriate program expressions.

slide-27
SLIDE 27

CEGIS Approach

Constraints to be solved:

Template Parameters Program Behaviors

(∃ c) (∀ y)ϕ(c, y)

Iterative Procedure:

  • Finite set Yi : {y1,…,yk}
  • Instatiate the Quantifier

slide-28
SLIDE 28

Basic CEGIS Loop

(∃ c) (∀ y)ϕ(c, y)

  • 1. Check SATisfiability of the formula:

ψ(c, y1) ∧ ψ(c, y2) ∧ · · · ∧ ψ(c, yk)

SAT, ck SAT, yk+1

UNSAT, Failure UNSAT, Success

  • 2. Check UNSATisfiability of

¬ψ(ck, y)

slide-29
SLIDE 29

Applying CEGIS to synthesis CLFs

(9c) (8 x 6= x∗)  V (x) ✏||x||2

2

Wk

i=1(rV )f(x, gi(x))  ✏||x||2 2

  • 1. When x is instantiated: Linear Arithmetic over c.
  • 2. When c is instantiated, non-linear arithmetic over x.
slide-30
SLIDE 30

Integrating SMT solvers

CEGIS-based CLF synthesis procedure. SMT-solver Z3 Nonlinear solver dReal.

instantiate x

Value for c New value for x

Instantiate c

slide-31
SLIDE 31

CEGIS: novelties

  • CEGIS procedure is out-of-the-shelf. But

– Prove eventual termination of the CEGIS procedure for our problem. – Provide heuristics to speedup termination by choosing the right instantiations.

slide-32
SLIDE 32

Controller Synthesis

  • Support synthesis of MATLAB function (time

triggered).

Plant Model (Predictive)

Control Logic

Control Mode Reside Time

slide-33
SLIDE 33

RESULTS

slide-34
SLIDE 34

Inverted Pendulum: Bang-Bang Control Synthesis

˙ θ = ω, ˙ ω = g

l sin(θ) − h ml2 ω + 1 mlcos(θ)u ,

http://ctms.engin.umich.edu/CTMS/

g = 9.8, h = 2, l = 2 and m = 0.5

V ([θ ω]T ) = 10θ2 + 1.5312θω + 2.5859ω2

Control Mode #1: u = +30 Control Mode #2: u = - 30

slide-35
SLIDE 35

Inverted Pendulum

(a) Inverted Pendulum time time time time ω θ ω V

slide-36
SLIDE 36

Overall Results

Problem Results ID n q itr z3 T dReal T

  • Tot. Time

Status 1 2 2 1 0.0 0.2 0.2 3 2 2 2 4 0.0 5.5 5.6 3 3 2 2 3 0.0 40.1 40.2 3 4 2 2 15 0.0 10.8 11.6 3 5 2 5 10 0.0 3.8 4.0 3 6 2 2 1 0.0 0.5 0.5 3 7 2 3 4 0.0 15.5 15.6 3 8 2 2 1 0.0 0.4 0.5 3 9 2 2 1 0.0 3.0 3.0 3 10 3 4 1 0.0 5.4 5.4 3 11 4 5 1 0.0 84.8 84.8 3 12 5 6 1 0.0 1652 1652 3 13 2 3 1 0.0 0.7 0.7 3 14 3 3 2 0.2 18.9 19.2 3 15 3 5 2 0.8 44.0 44.9 3 16 3 2 7 0.7 36.1 37.2 3 17 3 2 11 0.8 165.5 167.0 3 18 4 2 11 – >1hr – 6 19 4 2 13 – >1hr – 6 20 5 2 1 – >1hr – 6

2-5 System Variables 2-6 control modes 17 out of 20 benchmarks up to 3 variables

slide-37
SLIDE 37

IMPROVING NONLINEAR SOLVING

slide-38
SLIDE 38

Use Relaxations

  • Use LMI/SDP relaxations.

– Replace dReal with a mixed cone optimization problem.

  • Polynomial time but numerical procedures.

– Tricky to formulate.

  • Solve all but one benchmark.

– Results need post-verification due to possible numerical errors.

slide-39
SLIDE 39

FUTURE WORK

slide-40
SLIDE 40

More Work

  • Safety + Stability Synthesis.

– Reach While Avoid Properties. – Handling state spaces with obstacles.

  • Handle more general temporal objectives
  • Future: Stochastic system stabilization.

– “Control” super-martingales.

slide-41
SLIDE 41

Thank You

Supported in part by US NSF CAREER Award # 0953941.