Stanley Bak
Sample and Simulate
Set-Based Simulation
Image from: “Safety Analysis of Hybrid Systems with SpaceEx,” Frehse et al., http://cmacs.cs.cmu.edu/seminars/slides/frehse.pdf
Flow-pipe construction (set-based simulation) for hybrid systems needs spatial data structures that efficiently support several operations:
Fixed-Step
Continuous
System
Continuous Time /
Time-Varying Inputs
Discrete Post
(Hybrid Systems)
Termination Checking
(unbounded time verification)
Ideally, all operations would be efficient in high dimensions
Some representations:
Ideally, all operations would be efficient in high dimensions
Some representations:
Parameterized by the number of masses. Each mass adds two variables: (1) position and (2) velocity
$$x_n' = v$$
$$v_n' = \frac{-k(x_n – x_{n-1}) + k(x_{n+1} - x_n) }{m}$$
Parameterized by the number of masses. Each mass adds two variables: (1) position and (2) velocity
$$x_n' = v$$
$$v_n' = \frac{-k(x_n – x_{n-1}) + k(x_{n+1} - x_n) }{m}$$
Specifications can be given in terms of linear constraints
on the state variables:
First mass doesn't touch the wall:
\(x_0 \geq \frac{\textnormal{width}}{2}\)
Masses \(n\) and \(n+1\) doesn't collide:
\(x_{n+1} - x_n \geq \textnormal{width}\)
Velocity of mass \(m\) is bounded:
\(v_m \leq 0.7 \)
Is the specification violated from the start point:
$$[x_0, v_0, x_1, v_1, \ldots x_n, v_n] = [0, 0.8, 0, 0, \ldots 0]$$
For one mass (\(n=1\))? For two? for ten?
How can we check?
We had considered a single initial case, with
$$[x_0, v_0, x_1, v_1, \ldots x_n, v_n] = [0, 0.8, 0, 0, \ldots 0]$$
What if there was uncertainty in the initial states? Let's say every value was within a tolerance of \(\pm 0.2\).
How can we check if there are any start states that violate the safety specification?