An Algorithmic Approach to Global Asymptotic Stability Verification of Hybrid Systems Miriam García Soto & Pavithra Prabhakar IMDEA Software Institute & Kansas State University EMSOFT’16 Pittsburgh, PA, USA October, 2016 1
Hybrid Systems
Cyber-Physical Systems Systems controlled by computer-based algorithms integrated in the physical world. Combine control, communication Automotive and computation. Medical Devices Design methodology for building high-confidence systems. Discrete and continuous behaviour. Robotics Process control Hybrid System System exhibiting a mixed continuous and discrete behaviour.
Cruise control and automatic gearbox CRUISE CONTROLLER Continuous controller Integral K q Z ( v d − v ) dv τ GEARBOX Proportional T + v d + v v = p r q T K q ( v d − v ) – + ˙ M q Automatic gearbox K q ω high Discrete controller ω low Drive the vehicle velocity to a desired velocity.
Automatic gearbox: a hybrid system E = 1 E = 1 E = 1 ω high ω high ω high p 1 p 3 p 2 2 3 4 1 x = A 3 x x = A 1 x x = A 2 x ˙ x = A 4 x ˙ ˙ ˙ E = 1 E = 1 E = 1 ω low ω low ω low p 4 p 2 p 3 Dynamical equations ✓ E ◆ x = E = − p q MrK q E − p q T I ˙ MrT I T I = − K q Di ff erence between desired and current velocity E = v d − v ˙ τ E Integral part of the torque T I
Automatic gearbox: a hybrid system E = 1 E = 1 E = 1 ω high ω high ω high p 1 p 3 p 2 2 3 4 1 x = A 3 x x = A 1 x x = A 2 x ˙ x = A 4 x ˙ ˙ ˙ E = 1 E = 1 E = 1 ω low ω low ω low p 4 p 2 p 3 Dynamics Executions � to 4 � � to 3 � � to 2 � 3 2 1 T I T I x 3 x 2 x 1 E 0 E 0 x 0 � to 3 � � to 2 � � to 1 � 4 3 2
Stability Notions
Lyapunov Stability (LS) A system is Lyapunov stable with respect to 0 if for every ε > 0 there exists δ > 0 such that every execution σ starting from B δ (0) implies σ ∈ B ε (0). ✏ 0 8
Lyapunov Stability (LS) A system is Lyapunov stable with respect to 0 if for every ε > 0 there exists δ > 0 such that every execution σ starting from B δ (0) implies σ ∈ B ε (0). ✏ δ 0 9
Lyapunov Stability (LS) A system is Lyapunov stable with respect to 0 if for every ε > 0 there exists δ > 0 such that every execution σ starting from B δ (0) implies σ ∈ B ε (0). ✏ δ σ (0) 0 σ 10
Lyapunov Stability (LS) A system is Lyapunov stable with respect to 0 if for every ε > 0 there exists δ > 0 such that every execution σ starting from B δ (0) implies σ ∈ B ε (0). ✏ δ σ (0) 0 σ 11
Asymptotic Stability (AS) A system is AS with respect to 0 if it is Lyapunov stable and there exists a value δ > 0 such that every execution σ starting from B δ (0) converges to 0. δ σ σ (0) 0 12
Global Asymptotic Stability (GAS) A system is GAS with respect to 0 if it is Lyapunov stable and every execution σ converges to 0. Global asymptotic stability Asymptotic stability 13
Region Stability (RS) A system is RS with respect to R if for every execution σ there exists a value T ≥ 0 such that σ at time T belongs to R. R 14
Global Asymptotic Stability Verification
GAS verification Step 1 : Asymptotic Stability (AS) verification Step 2 : Stability zone construction Step 3 : Region Stability (RS) verification LHA Hybridization H PSS PSS GAS verification AS verification False True G , Stability zone construction Z RS verification True/False 16
Polyhedral Switched System (PSS) q 2 q 1 q 3 Dynamics are modelled by q 7 q 8 polyhedral inclusions. Invariants and guards are polyhedral sets. q 9 q 10 q 4 q 6 q 5 17
Step 1: AS verification q 2 q 1 q 3 q 7 q 8 Local analysis is reduced to the switching predicates passing through the equilibrium point. q 9 q 10 q 4 q 6 q 5 Concrete system H 18
Step 1: AS verification q 7 q 8 Local analysis is reduced to the switching predicates passing through the equilibrium point. q 9 q 10 Concrete system H 0 19
Predicate Abstraction f 2 u 1 u 2 f 3 f 1 u 3 u 4 f 4 Concrete system H 0 Facets F = { f 1 , f 2 , f 3 , f 4 } 20
Predicate Abstraction f 2 u 1 u 2 f 3 f 1 u 3 u 4 f 4 Concrete system H 0 Facets F = { f 1 , f 2 , f 3 , f 4 } 21
Predicate Abstraction f 2 f 2 u 1 u 2 f 3 f 1 f 3 f 1 ⇒ = u 3 u 4 f 4 f 4 Concrete system H 0 Abstract system A ( H 0 , F ) Facets F = { f 1 , f 2 , f 3 , f 4 } 22
Predicate Abstraction f 2 f 2 u 1 u 2 f 3 f 1 f 3 f 1 ⇒ = u 3 u 4 f 4 f 4 Concrete system H 0 Abstract system A ( H 0 , F ) Facets F = { f 1 , f 2 , f 3 , f 4 } An edge between facets indicates the existence of an execution. 23
Predicate Abstraction f 2 f 2 u 1 u 2 f 3 f 1 f 3 f 1 ⇒ = u 3 u 4 f 4 f 4 Concrete system H 0 Abstract system A ( H 0 , F ) Facets F = { f 1 , f 2 , f 3 , f 4 } An edge between facets indicates the existence of an execution. 24
Predicate Abstraction f 2 f 2 u 1 u 2 f 3 f 1 f 3 f 1 ⇒ = u 3 u 4 f 4 f 4 Concrete system H 0 Abstract system A ( H 0 , F ) Facets F = { f 1 , f 2 , f 3 , f 4 } An edge between facets indicates the existence of an execution. 25
Predicate Abstraction f 2 f 2 u 1 u 2 f 3 f 1 f 3 f 1 ⇒ = u 3 u 4 f 4 f 4 Concrete system H 0 Abstract system A ( H 0 , F ) Facets F = { f 1 , f 2 , f 3 , f 4 } An edge between facets indicates the existence of an execution. 26
Predicate Abstraction f 2 f 2 u 1 u 2 f 3 f 1 f 3 f 1 ⇒ = u 3 u 4 f 4 f 4 Concrete system H 0 Abstract system A ( H 0 , F ) Facets F = { f 1 , f 2 , f 3 , f 4 } An edge between facets indicates the existence of an execution. 27
Quantitative Predicate Abstraction f 2 f 2 2 u 1 u 2 f 3 f 1 f 3 f 1 ⇒ = 1 u 3 u 4 f 4 f 4 Concrete system H 0 Abstract system A ( H 0 , F ) Facets F = { f 1 , f 2 , f 3 , f 4 } An edge between facets indicates the existence of an execution. The weight refers to the variation of distance from equilibrium. 28
Quantitative Predicate Abstraction f 2 f 2 2 u 1 u 2 2 f 3 f 1 f 3 f 1 ⇒ = 1 u 3 u 4 f 4 f 4 Concrete system H 0 Abstract system A ( H 0 , F ) Facets F = { f 1 , f 2 , f 3 , f 4 } An edge between facets indicates the existence of an execution. The weight refers to the variation of distance from equilibrium. 29
Quantitative Predicate Abstraction f 2 f 2 3 u 1 u 2 2 f 3 f 1 f 3 f 1 ⇒ = − 1 u 3 u 4 f 4 f 4 Concrete system H 0 Abstract system A ( H 0 , F ) Facets F = { f 1 , f 2 , f 3 , f 4 } An edge between facets indicates the existence of an execution. The weight refers to the variation of distance from equilibrium. 30
Quantitative Predicate Abstraction f 2 f 2 3 1 u 1 u 2 3 2 f 3 f 1 f 3 f 1 ⇒ = − 1 u 3 u 4 f 4 f 4 Concrete system H 0 Abstract system A ( H 0 , F ) Facets F = { f 1 , f 2 , f 3 , f 4 } An edge between facets indicates the existence of an execution. The weight refers to the variation of distance from equilibrium. 31
Quantitative Predicate Abstraction f 2 f 2 3 1 u 1 u 2 3 2 f 3 f 1 f 3 f 1 ⇒ = − 1 1 1 u 3 u 4 f 4 3 f 4 Concrete system H 0 Abstract system A ( H 0 , F ) Facets F = { f 1 , f 2 , f 3 , f 4 } An edge between facets indicates the existence of an execution. The weight refers to the variation of distance from equilibrium. 32
Quantitative Predicate Abstraction f 2 f 2 3 1 u 1 u 2 3 2 f 3 f 1 π f 3 f 1 ⇒ = − 1 1 1 u 3 u 4 f 4 3 f 4 Concrete system H 0 Abstract system A ( H 0 , F ) W ( π ) = 2 · 1 3 · 1 3 · 1 = 2 9 < 1 Facets F = { f 1 , f 2 , f 3 , f 4 } An edge between facets indicates the existence of an execution. The weight refers to the variation of distance from equilibrium. 33
Model-checking Theorem (Soundness) Let be a quantitative abstraction. The hybrid system is asymptotically A ( H , F ) H stable if: All executions which eventually remain in a region converge to the origin. Every simple cycle has product of weights on the edges less than 1. 34
AS verification for the gearbox � to 4 � � to 3 � � to 2 � 3 2 1 T I E 0 � to 3 � � to 2 � � to 1 � 4 3 2 35
AS verification for the gearbox T I 1 l T + l + I 0 . 0746 2 . 678 E + E − E 0 2 . 678 0 . 0746 T − l − I 1 W ( π ) = 0 . 0746 · 2 . 678 · 1 · 0 . 0746 · 2 . 678 · 1 = 0 . 03991 < 1 ⇒ AS 36
Step 2: Stability zone computation is a stability zone with respect to if every R Z ⊆ R execution starting at will remain forever inside . Z R R R q 7 q 8 q 7 q 8 Z Z q 9 q 10 q 9 q 10 Stability zone Not stability zone 37
Stability zone computation Center region of H R R q 7 q 8 q 9 q 10 38
Stability zone computation H Center region of R M = max {1, W( % ): % path in } A ( H , F ) R q 7 q 8 f 2 Md 1 3 2 f 3 f 1 d 1 1 f 4 3 q 9 q 10 M = 2 39
Stability zone computation H Extract the center region of R M = max {1, W( % ): % path in } A ( H , F ) R q 7 q 8 f 2 Md 1 3 2 Z f 3 f 1 r/2M r 1 1 f 4 3 q 9 q 10 M = 2 Shrink the center region by a factor of M: Z 40
Stability zone computation for the gearbox � to 4 � � to 3 � � to 2 � 3 2 1 Center region T I E 0 Stability zone � to 3 � � to 2 � � to 1 � 4 3 2 41
Step 3: RS verification Quantitative predicate abstraction. Graph transformation. Termination analysis. 42
Recommend
More recommend