controller synthesis for linear hybrid systems
play

Controller Synthesis for Linear Hybrid Systems SynCoP and PV April - PowerPoint PPT Presentation

Controller Synthesis for Linear Hybrid Systems SynCoP and PV April 14th, 2018 Marco Faella Universit di Napoli Federico II, Italy Summary Hybrid systems Controller synthesis safety control reachability control Tool


  1. Controller Synthesis for Linear Hybrid Systems SynCoP and PV April 14th, 2018 Marco Faella Università di Napoli “Federico II”, Italy

  2. Summary ● Hybrid systems ● Controller synthesis – safety control – reachability control ● Tool demo 2

  3. Models of Hybrid Systems ● In control engineering: – Switched systems – Piecewise affine systems ● In computer science: – Hybrid Automata – generalize Timed Automata by allowing more general dynamics 3

  4. Hybrid Automata Jump relation Flow constraint ( x , ˙ x )∈ F Location ( x , x' )∈ Jmp q0 q1 x ∈ Inv Invariant Jump/Transition x state vars ẋ first derivatives x’ state vars after jump 4

  5. A Hybrid Automaton Flow Jump relation constraint x = Ax + b ˙ x 1 > 1 ∧ x 2: = x 1 q0 q1 Invariant x 1 ⩽ x 2 x state vars ẋ first derivatives x’ state vars after jump 5

  6. Runs ● Semantics based on runs ● Sequences of alternating timed steps and discrete steps ● Timed step: a continuous-time trajectory in ℝ n , which satisfies the invariant and the – flow constraint of the current location location remains fixed – ● Discrete step (i.e., jump): an instantaneous change of location – variables change according to jump relation – 6

  7. What Kind of Flow Constraints? 1. Affine Hybrid Automaton: linear diff. eq. x = A x + B d ˙ – A and B are constant matrices and d ∈ D are disturbances – 2. Linear (sic!) Hybrid Automaton (LHA): polyhedral diff. inclusions x ∈ F – ˙ where F is a convex polyhedron – i.e., a set of linear constraints on the derivatives – special case of affine, with A=0 (no dependency on the current state) – 3. Rectangular Hybrid Automaton: rectangular diff. incl. as above, but F is a hyper-rectangle (Cartesian product of intervals) – 10

  8. Verification Problems ● We seek to solve the following: – Forward reachability problem (FRP) : given an effective set of initial states , compute the set of states that are reachable from them – Backward reachability problem (BRP) : given an effective set of error states , compute the set of states that can reach them ● BRP and FRP are inter-reducible provided the model supports inversion of time (LHAs do) ● In this talk, effective = polyhedral 11

  9. Decidability ● Decidability requires: – very simple dynamics (initialized rectangular), or – very simple transitions (o-minimal) ● LHAs are undecidable 12

  10. Algorithms Two approaches: – Finite bisimulation quotient (a.k.a. indirect approach) ● decidable models – On-the-fly exploration of the state-space ( direct approach) ● decidable or undecidable models 13

  11. The Direct Approach ● On-the-fly exploration of the state space ● Two sub-approaches: – Surrender exactness  approximate algorithms – Surrender termination  exact semi-algorithms 14

  12. Exact Semi-Algorithms ● An algorithm that may or may not terminate ● When it terminates, it provides the exact answer ● It may be stopped after a deadline ● It provides the exact answer up to a fixed number of discrete steps – bounded horizon reachability 15

  13. An Exact Semi-Algorithm for BRP on LHAs ● Given a polyhedral set of states E, simulate discrete steps and timed steps backwards ( symbolic execution ) ● For discrete steps: PreJmp (E) = states that can reach E via a discrete step – ● For timed steps: PreTime (E) = states that can reach E via a timed step – 16

  14. An exact semi-algorithm for BRP on LHAs ● The solution to BRP is: error states Z* = μ Z . E ∪ PreJmp(Z) ∪ PreTime(Z) easy to compute hard to compute ● Fact : When Z is polyhedral, PreJmp and PreTime can be effectively computed and their result is polyhedral ● However, the above sequence may not converge in a finite number of steps 17

  15. Computing PreTime: The Reach-While-Avoiding Operator Fix a location q and the corresponding flow constraint Flow(q) Definition. Given two polyhedra U and V, RWA (U, V) is the set of points from which there is a trajectory that: – reaches U – while avoiding V at all times. a.k.a.: flow_avoid in [Wong-Toi,97], Reach in [Tomlin et al.,00] ● in temporal logic (CTL): ∃ V Until U ● 22

  16. PreTime and RWA PreTime is a special case of RWA, i.e.: PreTime(U) = RWA(U, Inv(q)) where U is a polyhedron in ℝ n Let's analyze the basic properties of RWA... 23

  17. Properties of RWA Assume w.l.o.g. that U and V are disjoint. [ distributivity 1 st arg ] RWA(U1 ∪ U2, V) = RWA(U1, V) ∪ RWA(U2, V) [ non-distrib. 2 nd arg ] RWA(U, V1 ∪ V2) ≠ RWA(U, V1) ∩ RWA(U, V2) ⊆ 24

  18. Non-distributivity U RWA(U, V1) RWA(U, V1) V1 V2 Dynamics: y ˙ F x ˙ 26

  19. Non-distributivity U RWA(U, V2) RWA(U, V2) V1 V2 Dynamics: y ˙ F x ˙ 27

  20. Non-distributivity U RWA(U, V1) RWA(U, V1) ∩ ∩ V1 V2 RWA(U, V2) RWA(U, V2) Dynamics: y ˙ F x ˙ 28

  21. Non-distributivity U RWA(U, V1 ∪ V2) RWA(U, V1 ∪ V2) V1 V2 Dynamics: may avoid V1 y ˙ may avoid V2 can't avoid V1 ∪ V2 F x ˙ 29

  22. Computing RWA(U,V) V = V1 ∪ V2 U V ∩ U ↙ V1 V2 “pre-flow of U” Points that can reach U Dynamics: Standard operator y ˙ F 32 x ˙

  23. Computing RWA(U,V) V = V1 ∪ V2 U 1 2 4 V1 V2 5 3 6 A partition of Dynamics: V ∩ U ↙ y ˙ into 6 convex polyhedra F 33 x ˙

  24. Computing RWA(U,V) U 1 2 4 V1 V2 5 3 All points of P2 go directly into U 6 Dynamics: They are y ˙ added to the result F 34 x ˙

  25. Computing RWA(U,V) U 1 2 4 V1 V2 5 3 Some points of P1 go directly into U 6 Dynamics: They are y ˙ added to the result F 35 x ˙

  26. Computing RWA(U,V) U 1 2 4 V1 V2 5 3 The other points of P1 go directly into 6 P2 Dynamics: They are y ˙ added to the result F 36 x ˙

  27. Computing RWA(U,V) U 1 2 4 V1 V2 5 3 All points of P5 go directly into P2 6 Dynamics: They are y ˙ added to the result F 37 x ˙

  28. Computing RWA(U,V) U 1 2 4 V1 V2 5 3 Some points of P4 go directly into P2 6 Dynamics: They are y ˙ added to the result F 38 x ˙

  29. Computing RWA(U,V) U 1 2 4 V1 V2 5 3 6 Dynamics: y ˙ F 39 x ˙

  30. Computing RWA(U,V) U 1 2 4 V1 V2 5 3 6 Dynamics: y ˙ F 40 x ˙

  31. Computing RWA(U,V) U 1 2 4 V1 V2 5 3 6 Dynamics: y ˙ F 41 x ˙

  32. Computing RWA(U,V) U 1 2 4 V1 V2 5 3 RWA(U,V) RWA(U,V) 6 Dynamics: y ˙ F 42 x ˙

  33. Algorithm for RWA(U, V) where and [[A]] is the representation of A as a finite set of convex polyhedra ● Interesting implementation issues ● Details in [Benerecetti et al., TCS 2013] 43

  34. Controller Synthesis 44

  35. Hybrid Games A hybrid automaton whose transitions are divided between controllable and uncontrollable i.e., the controller can only take certain transitions it does not directly influence the continuous behavior – a.k.a. switching controller – Control goals: safety – reachability – 45

  36. Example: Two Open-air Tanks rain evaporation in x y transfer out We control 3 discrete valves (on/off): in , transfer , and out ● Rain is an uncontrollable discrete event (on/off) ● Evaporation rate varies within given bounds ● Control goal : keep the level in both tanks within bounds (safety) ● At least one time unit between any two transitions (prevents Zenoness ) ● 46

  37. HG Fragment for Two Open-air Tanks t = 1 everywhere: ˙ Flow constraint: 1 ⩽ ˙ x ⩽ 2 − 2 ⩽ ˙ x ⩽− 1 y = ˙ x − 3 ˙ y = ˙ x ˙ t>1 t:=0 (in=off, tran=off, out=off, rain=off) ( on , off, off, off) 0 1 t>1 t>1 t>1 t:=0 t:=0 t:=0 4 3 2 (off, on , off, off) (off, off, off, on ) (off, off, on , off) controllable uncontrollable 47

  38. The Safety Control Problem ● A (control) strategy is a function from states to moves of the controller – possible moves: take an enabled controllable transition or do nothing – a form of closed-loop control ● A strategy is winning if it constrains the system within the safe set ● Problem: Given a HG and a safe set, compute the set of states from which the controller has a winning strategy ( winning states ) 48

  39. The General Algorithm for Safety Games ● Inspired by finite-state games ● Based on the “controllable predecessors” operator S → 2 S CPre :2 Definition. Given a set of states Z, CPre(Z) contains the states from which the controller can ensure that the system remains in Z until the next discrete transition (included). 49

  40. The General Algorithm for Safety Games Given the set of safe states R, the set of winning states is: ν Z . R ∩ CPre ( Z ) 50

  41. Computing CPre(Z) on LHGs Dynamics: y ˙ F x ˙ Z controllable trans. leading into Z (good) uncontrollable trans. leading outside Z (bad) 53

  42. Computing CPre(Z) on LHGs Dynamics: y ˙ F x ˙ These points exit from Z while avoiding good transitions They are removed from the result controllable trans. leading into Z (good) uncontrollable trans. leading outside Z (bad) 54

  43. Computing CPre(Z) on LHGs Dynamics: y ˙ F x ˙ These points also exit from Z while avoiding good transitions They are removed from the result controllable trans. leading into Z (good) uncontrollable trans. leading outside Z (bad) 55

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend