Scalable Parametric Approximations
- f the Maximal Controlled Invariant Set
Scalable Parametric Approximations of the Maximal Controlled - - PowerPoint PPT Presentation
Scalable Parametric Approximations of the Maximal Controlled Invariant Set and Two Health Related Application Domains Ian M. Mitchell Department of Computer Science University of British Columbia Formal Methods & Reachability Formal
Dec 2014 Ian M. Mitchell (UBC Computer Science) 2
Dec 2014 Ian M. Mitchell (UBC Computer Science) 3
final set growing set Reachable set for the game of two identical vehicles
Dec 2014 Ian M. Mitchell (UBC Computer Science) 4
Dec 2014 Ian M. Mitchell (UBC Computer Science) 5
Dec 2014 Ian M. Mitchell (UBC Computer Science) 6
Dec 2014 Ian M. Mitchell (UBC Computer Science) 7
Scalable Techniques for Viability Kernels in LTI Systems with Application to Automated Control of Anesthesia Ian M. Mitchell
Department of Computer Science University of British Columbia
December 2014
Ian M. Mitchell — 1
Background: Dynamic System and Constraints
˙ x = f(x, u), x(0) = x0, t ∈ [0, τ] =: T u(t) ∈ U (input constraint) K ⊆ X (target set/state constraint)
◮ [Tomlin, et al. 03; Aubin, et al. 11; Kurzhanski and Varaiya 00; Lygeros 04;
Blanchini and Miani 08; ...]
◮ Maximal vs. minimal reachability [Mitchell 07] Ian M. Mitchell — 2
Background: Reachability Constructs
Reach♯
T(K, U) := {x0 ∈ X | ∃u(·), ∃t, x(t) ∈ K}
K
Ian M. Mitchell — 3
Background: Reachability Constructs
Reach♯
t(K, U) := {x0 ∈ X | ∃u(·), x(t) ∈ K}
K
Ian M. Mitchell — 4
Background: Maximal Reachability
Reach♯
T(K, U) =
t(K, U)
◮ e.g. [Frehse, et al. 11; Girard and Le Guernic 08; Girard, et al. 06; Han and
Krogh 06; Kurzhanski and Varaiya 00; Kurzhanskiy and Varaiya 06]
◮ Scalable and computationally efficient (polynomial) Ian M. Mitchell — 5
Background: Minimal Reachability
Reach♭
T(K, U) := {x0 ∈ X | ∀u(·), ∃t, x(t) ∈ K}
K
Ian M. Mitchell — 6
Background: Viability
V iabT(K, U) := {x0 ∈ X | ∃u(·), ∀t, x(t) ∈ K}
K
Ian M. Mitchell — 7
Introduction
(V iabT(K, U))c = Reach♭
T(Kc, U)
07; Lygeros 04]
◮ Applications: [Lygeros, et al. 98; Tomlin, et al. 03; Bayen, et al. 07; Gillula,
et al. 10; Oishi, et al. 03; Aswani, et al. 11; Borrelli, et al. 10; Panagou, et al. 09; Del Vecchio, et al. 09; Ghaemi and Del Vecchio 11; ...]
◮ [Mitchell, et al. 05; Cardaliaguet, et al. 99; Gao, et al. 06; Saint-Pierre 94] ◮ Computationally intensive (exponential) since grid-based Ian M. Mitchell — 8
Set-theoretic Methods
Reach♯
t(K, U) := {x0 ∈ X | ∃u(·), x(t) ∈ K}
K
small sub-time intervals of T
Ian M. Mitchell — 10
Set-theoretic Methods: Continuous-Time
(P: interval partition of time; M: uniform bound on f) K↓(P) := {x ∈ K | dist(x, Kc) ≥ MP}
K|P|(P) = K↓(P), Kk−1(P) = K↓(P) ∩ Reach♯
tk−tk−1(Kk(P), U)
for k ∈ {1, . . . , |P|}.
Ian M. Mitchell — 11
Set-theoretic Methods: Continuous-Time
(P: interval partition of time; M: uniform bound on f) K↓(P) := {x ∈ K | dist(x, Kc) ≥ MP}
K|P|(P) = K↓(P), Kk−1(P) = K↓(P) ∩ Reach♯
tk−tk−1(Kk(P), U)
for k ∈ {1, . . . , |P|}.
Ian M. Mitchell — 11
Set-theoretic Methods: Continuous-Time
(P: interval partition of time; M: uniform bound on f) K↓(P) := {x ∈ K | dist(x, Kc) ≥ MP}
K|P|(P) = K↓(P), Kk−1(P) = K↓(P) ∩ Reach♯
tk−tk−1(Kk(P), U)
for k ∈ {1, . . . , |P|}.
Ian M. Mitchell — 11
Set-theoretic Methods: Continuous-Time
(P: interval partition of time; M: uniform bound on f) K↓(P) := {x ∈ K | dist(x, Kc) ≥ MP}
K|P|(P) = K↓(P), Kk−1(P) = K↓(P) ∩ Reach♯
tk−tk−1(Kk(P), U)
for k ∈ {1, . . . , |P|}.
Ian M. Mitchell — 11
Set-theoretic Methods: Continuous-Time
(P: interval partition of time; M: uniform bound on f) K↓(P) := {x ∈ K | dist(x, Kc) ≥ MP}
K|P|(P) = K↓(P), Kk−1(P) = K↓(P) ∩ Reach♯
tk−tk−1(Kk(P), U)
for k ∈ {1, . . . , |P|}.
Ian M. Mitchell — 11
Set-theoretic Methods: Continuous-Time
(P: interval partition of time; M: uniform bound on f) K↓(P) := {x ∈ K | dist(x, Kc) ≥ MP}
K|P|(P) = K↓(P), Kk−1(P) = K↓(P) ∩ Reach♯
tk−tk−1(Kk(P), U)
for k ∈ {1, . . . , |P|}.
Ian M. Mitchell — 11
Set-theoretic Methods: Continuous-Time
(P: interval partition of time; M: uniform bound on f) K↓(P) := {x ∈ K | dist(x, Kc) ≥ MP}
K|P|(P) = K↓(P), Kk−1(P) = K↓(P) ∩ Reach♯
tk−tk−1(Kk(P), U)
for k ∈ {1, . . . , |P|}.
Ian M. Mitchell — 11
Set-theoretic Methods: Continuous-Time
V iabT(
K0(P) ⊆ V iabT(K, U)
Ian M. Mitchell — 12
Set-theoretic Methods: Discrete-Time
Kn = K, Kk−1 = K ∩ Reach♯
1(Kk, U)
for k ∈ {1, . . . , n}
et al. 99; Blanchini and Miani 08]
Ian M. Mitchell — 13
Set-theoretic Methods: Computational Algorithms
For LTI systems L(x) = Ax + Bu there are several parametric options
◮ Only deals with ellipsoids (fixed complexity) ◮ Efficient, scalable, guaranteed under-approximation ◮ Implementation (Ellipsoidal Toolbox [Kurzhanskiy and Varaiya 06]) ◮ Generalizable to discriminating kernels ◮ Safety-preserving control synthesis ◮ Key set operations are only approximate
◮ User choice of complexity ◮ Efficient, scalable, guaranteed under-approximation ◮ Exact representation of key set operations ◮ Available implementations (eg: CVX [Grant and Boyd 08], SpaceEx
[Frehse et al 2011])
◮ Extension to discriminating kernels and control synthesis? Ian M. Mitchell — 14
Set-theoretic Methods: Ellipsoids
Ellipsoidal techniques (under-)approximating the maximal reach set:
K Reach♯
t(K, U)
ℓ(τ) ℓ(τ − t) [Kurzhanski and Varaiya 00; Kurzhanski and Valyi 96]
Ian M. Mitchell — 15
Piecewise Ellipsoidal Algorithm (CT)
K∗[ℓτ]
k−1 = maxvol(K|P|(P) ∩ Reach♯[ℓτ] tk−tk−1(K∗[ℓτ] k
(P), U) for k ∈ {1, . . . , |P|} with K∗[ℓτ]
|P| (P) = K|P|(P) = K↓(P).
(P) such that
K∗[ℓτ] (P) := K∗
0(P) ⊆ V iabT(K, U)
Ian M. Mitchell — 16
Applications: Flight Envelope Protection (CT, 4D)
A = −0.003 0.039 −0.322 −0.065 −0.319 7.740 0.020 −0.101 −0.429 1 B =
−0.180 −1.160 T subject to u(t) ∈ U := [−13.3◦, 13.3◦], x(t) ∈ K := E
1075.84
67.24 42.7716 76.0384
∀t ∈ [0, 2].
Ian M. Mitchell — 17
Applications: Flight Envelope Protection (CT, 4D)
Level-Set: 5.5 h Piecewise Ellipsoidal: 10 m
20
5 10
20
5 10
20
5 10
10
5 10
10
5 10
10
5 10 x1 x1 x1 x3 x2 x2 x2 x3 x3 x4 x4 x4
[Produced via ET and LS Toolbox]
Ian M. Mitchell — 18
Applications: Safety in Anesthesia Automation (DT, 7D)
level), i.e. desired clinical effect
A = 0.9960 0.0080 0.9960 −0.0080 0.0080 0.9960 0.0079 −0.0080 0.0080 0.9960 −0.0079 0.0079 −0.0080 0.0080 0.9960 0.0079 −0.0079 0.0079 −0.0080 0.0080 0.9960 B = 0.0894 −0.0890 0.0886 −0.0883 0.0879 −0.0876T C = 18.5000 8.2300 3.5300 4.3400 3.7000 3.0700
Ian M. Mitchell — 19
Applications: Safety in Anesthesia Automation (DT, 7D)
while making the control action regulatory.
dimension seven
is not currently possible
Ian M. Mitchell — 20
Applications: Safety in Anesthesia Automation (DT, 7D)
1
20
1
20
1
20
1
20
1
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20 z1 z1 z1 z1 z1 z2 z2 z2 z2 z3 z3 z3 z4 z4 z5 z2 z3 z4 z5 z6 z3 z4 z5 z6 z4 z5 z6 z5 z6 z6
Level Set: ? Piecewise Ellipsoidal: 15 m
[Produced via ET]
Ian M. Mitchell — 21
Set-theoretic Methods: Support Vectors
Support functions provide polytopic
directions Corresponding support vectors provide polytopic underapproximation in specified directions Switch to discrete time algorithm for simplicity
Ian M. Mitchell — 22
Support Functions and Vectors
1(K, U) = A−1(K ⊕ U)
such that σK(ℓ) = maxx∈K x · ℓ σAK(ℓ) = σK(AT ℓ) σK⊕U(ℓ) = σK(ℓ) + σU(ℓ) σK∩ ˆ
K(ℓ) = inf w∈Rd
K(w)
νK(ℓ) = arg maxx∈K x · ℓ νAK(ℓ) = AνK(AT ℓ) νK⊕U(ℓ) = νK(ℓ) ⊕ νU(ℓ) νK∩ ˆ
K(ℓ) = νK(ℓ − ˆ
w) + ν ˆ
K( ˆ
w) where ˆ w = arg inf
w∈Rd
K(w)
Scaling the Support Vector Algorithm
Support function representation of Kn+1 = A−1(Kn ⊕ U) ∩ K0 σKn+1(ℓ) = inf
w∈Rd
σKn(ℓ) = inf w∈Rnd ξ(ℓ, w) w =
w2 · · · wn T ξ(ℓ, w) = σK0(ℓ − wn) +
n−1
σK0(A−T wk+1 − wk) + σK0(A−T w1) +
n
σU(A−T wk)
Ian M. Mitchell — 24
Support Vector Results
e approximation of input delay yields six dimensional state space
[1, 6] × [0, 10]2 × [−100, +100]3
Ian M. Mitchell — 25
Discrete Time Double Integrator
Consider standard continuous time double integrator discretized with uniform timestep ρ and input constraint u ∈ U = [−u0, +u0] x1(t + 1) x2(t + 1)
1 ρ 1 x1(t) x2(t)
1
2ρ2
ρ
a time horizon of 40 steps
Ian M. Mitchell — 26
Ellipsoidal
directions
−0.4 −0.2 0.2 0.4 0.6 −0.5 −0.4 −0.3 −0.2 −0.1 0.1 0.2 0.3 0.4 0.5
|L| = 5, execution time 105s.
−0.4 −0.2 0.2 0.4 0.6 −0.5 −0.4 −0.3 −0.2 −0.1 0.1 0.2 0.3 0.4 0.5
|L| = 20, execution time 280s.
Ian M. Mitchell — 27
Support Vector (and Function)
grey) with uniformly sampled directions
−0.4 −0.2 0.2 0.4 0.6 −0.5 −0.4 −0.3 −0.2 −0.1 0.1 0.2 0.3 0.4 0.5 x1 x2
|L| = 5, execution time 28s.
−0.4 −0.2 0.2 0.4 0.6 −0.5 −0.4 −0.3 −0.2 −0.1 0.1 0.2 0.3 0.4 0.5 x1 x2
|L| = 20, execution time 56s.
Ian M. Mitchell — 28
Scaling with Dimension
Compare execution time over ten steps for a discrete time model of a chain of integrators
direction
standard basis vectors (positive and negative directions)
5 10 15 20 25 30 35 40 20 40 60 80 100 120 140 160 180 200 state dimension run time (s) polytope ellipsoid support vector
Ian M. Mitchell — 29
Dec 2014 Ian M. Mitchell (UBC Computer Science) 8
Dec 2014 Ian M. Mitchell (UBC Computer Science) 9
The Wizard [Baum, 1900]
Dec 2014 Ian M. Mitchell (UBC Computer Science) 10
Dec 2014 Ian M. Mitchell (UBC Computer Science) 11
– Publication: Bayen, Mitchell, Oishi & Tomlin, “Aircraft Autolander Safety Analysis Through Optimal Control-Based Reach Set Computation” in AIAA Journal of Guidance, Control & Dynamics, 30(1): 68–77 (2007).
October 2013 Ian M. Mitchell (UBC Computer Science) 12
inertial frame wind frame body frame
1 1
~/OldStanfordGagarin/Cyghome/Source/HS01/Landing/ ~/OldStanfordGagarin/Cyghome/Source/Projection/Working/ ~/OldStanfordGagarin/Cyghome/Source/JCP/ ~/OldStanfordGagarin/Cyghome/Papers/AIAA02/Source/ ~/OldStanfordGagarin/Winhome/VisualStudioProjects/LandingHighD/ ~/OldVonBraun/CygHome/Papers/AIAA03/Landing/Source ~/OldVonBraun/CygHome/Papers/AIAA03/Landing/Shriram
// 70% of 160e3 is 112e3 // assumes fixed thrust at minT (see Flow::hamiltonian() function) //const GradValue ModeMinT = 0e3; //const GradValue ModeMaxT = 160e3; //const GradValue ModeMinT = 32e3; //const GradValue ModeMaxT = 32e3;
October 2013 Ian M. Mitchell (UBC Computer Science) 13
Dec 2014 Ian M. Mitchell (UBC Computer Science) 14
Dec 2014 Ian M. Mitchell (UBC Computer Science) 15
For more information contact
Department of Computer Science University of British Columbia mitchell@cs.ubc.ca http://www.cs.ubc.ca/~mitchell http://www.canwheel.ca