Maze Eulerian filter
Eulerian state estimation
T. Le Mézo, L. Jaulin, B. Zerr
Swim-Smart 2017, Manchester
Eulerian filter
Eulerian state estimation
Maze Eulerian filter
˙
x(t) = f(x(t))
Leaves: Lagrangian view of the wind; Flags: an Eulerian view [3]
Eulerian filter
Eulerian state estimation can be formalized as:
(i) x(t) = ˙ f(x(t)) (evolution)
(ii) x(t i ) ∈ X i ⊂ R n (event)
(iii) ∀(i, j ) ∈ J, t i ≤ t j (precedence)
Bracket the set X ⊂ R n of all feasible x(t).
Maze Eulerian filter
Invariant sets
Eulerian filter
Denote by ϕ the flow map of our system, i.e., with x 0 = x(0), the
system reaches ϕ(t ,x 0 ) at time t.
Maze Eulerian filter
A set A is positive invariant if
x ∈ A,t ≥ 0 = ⇒ ϕ(t, x) ∈ A.
The set of all positive invariant sets is a lattice, i.e., the union and the intersection are closed.
Thus, the notion of largest positive invariant set contained in X can
be defined.
Eulerian filter
The largest positive invariant set included in X is:
Inv + (f, X) = {x 0 | ∀t ≥ 0, ϕ(t, x 0 ) ∈ X } .
Maze Eulerian filter
Mazes allow us to compute an inner and an outer approximation for
Inv + (f, X ).
Eulerian filter
As an illustration, consider the Van der Pol system:
x ˙ 1 = x 2
˙
x 2 = 1 − x 1 2
· x 2 − x 1
Maze Eulerian filter
6 4 2 0 2 4 6
6
4
2
0
2
4
6
Eulerian filter
X
x
1x
2Largest positive invariant set Inv + (f,X)
Maze Eulerian filter
Largest negative invariant set.
Inv − (f,X) = {x 0 | ∀t ≤ 0,ϕ (t, x 0 ) ∈ X } . We have
Inv − (f, X ) = Inv + (−f, X ).
Eulerian filter
X
x
1x
2Largest negative invariant set Inv − (f,X)
Maze Eulerian filter
Largest invariant set
Inv(f,X) = {x 0 | ∀t ∈ R,ϕ (t,x 0 ) ∈ X } .
We have
Inv(f, X ) = Inv + (−f, X ) ∩ Inv + (f, X ).
Thus Inv(f, X ) can be defined in terms of largest positive invariant
sets.
Eulerian filter
Forward reach set
Forw (f, X) = {x | ∃t ≥ 0, ∃x 0 ∈ X, ϕ(t, x 0 ) = x} . We have
Forw (f,X) = Inv + (−f,X) .
Maze Eulerian filter
X
x
1x
2Forw (f, X ) for X = [0.4, 1.0] × [1.4,1.8]
Eulerian filter
Backward reach set.
Back(f,X) = {x 0 | ∃t ≥ 0,ϕ(t,x 0 ) ∈ X } . Since
Back(f, X) = Inv + (f, X) .
Maze Eulerian filter
X
x
1x
2Back(f, X ) for X = [0.4, 1.0] × [1.4,1.8].
Eulerian filter
Maze
Maze Eulerian filter
An interval is a domain which encloses a real number.
A polygon is a domain which encloses a vector of R n .
A maze is a domain which encloses a path [2][1].
Eulerian filter
A maze is a set of paths.
Maze Eulerian filter
Mazes can be made more accurate:
Eulerian filter
Here, a maze L is composed of A paving P
A polygon for each box of P
Doors between adjacent boxes
Maze Eulerian filter
The set of mazes forms a lattice with respect to ⊂.
L a ⊂ L b means :
the boxes of L a are subboxes of the boxes of L b . The polygons of L a are included in those of L b
The doors of L a are thinner than those of L b .
Eulerian filter
The left maze contains less paths than the right maze.
Note that yellow polygons are convex.
Maze Eulerian filter
Inner approximation
Eulerian filter
Target contractor. If a box [x] of P is outside X (it is outside
Inv + ( X )) then remove [x] and close all doors entering in [x].
Maze Eulerian filter
Flow contractor. For each box [x] of P , we contract the polygon
using the constraint x ˙ = f(x).
Eulerian filter
Propagation
Maze Eulerian filter
Eulerian filter
[ a ] [ b ] [ c ]
[ d ]
[ e ]
[ f ]
Yellow area: X
Maze Eulerian filter
The red parts have been deleted
Eulerian filter
The yellow area is contracted
Maze Eulerian filter
At each step, the yellow area encloses Inv + ( X )
Eulerian filter
At each step, the red area is outside Inv + ( X )
Maze Eulerian filter
The yellow area encloses Inv + ( X )
Eulerian filter
Maze Eulerian filter
Inflation propagation
Eulerian filter [a] [b]
[c]
[d] [e]
[f]
An interpretation can be given only when the fixed point is reached.
The yellow area is an inner approximation of Inv + ( X )
Maze Eulerian filter
Eulerian filter
Eulerian filter
Define ` sets X 0 , X 1 , . . . , X ` of the state space. Define Z forw k the set of all state vectors x(t) inside X k that have visited
X 0 , X 1 , . . . ,X k−1 . We have
Z forw k+1 = Forw Z forw k
∩ X k+1
with Z forw 0 = X 0 .
Maze Eulerian filter
The trajectories (b),(c) are consistent with the sets X k−1 , X k , X k+1
Eulerian filter
Set Z forw k of all x(t) in X k that have already visited
X 0 , X 1 , . . . ,X k−1
Maze Eulerian filter
Forw Z forw k
corresponds to all states x(t) that have visited
X 0 , X 1 , . . . , X k
Eulerian filter
Set Z forw k+1 of all states x(t) in X k +1 that have already visited
X 0 , X 1 , . . . , X k
Maze Eulerian filter
Eulerian smoother
Eulerian filter
Define the set Z back k of all states x(t) inside X k that have visited X 0 , X 1 , . . . , X k−1 in the past and will visit X k+1 , . . . , X ` in the future. We have
Z back k = Back Z back k+1
∩ Z forw k
with Z back ` = Z forw ` . The will be called the Eulerian smoother.
Maze Eulerian filter
Set Z back k+1 of all states x(t) inside Z forw k+1 that will visit X k +2 , . . . , X `
Eulerian filter
Set Z back k of all states x(t) inside Z forw k that will visit X k +1 , . . . , X `
Maze Eulerian filter
The set of trajectories that started inside X 0 and visited the sets X 1 , X 2 , . . . , X `−1 sequentially, and that ended in X ` can thus be enclosed by
Forw Z back 0
∩ Back
Z back `
.
Eulerian filter
Set Forw Z back 0
∩ Back Z back `
enclosing the trajectory consistent
with the past and future visits
Maze Eulerian filter
Example. Take the Van der Pol system with
X 0 = [a] = [0, 0.6] × [0.8,1.8], X 1 = [b] = [0.7,1.5] × [−0.2,0.2] and
X 2 = [c] = [0.2, 0.6] × [−2.2,−1.5].
Eulerian filter
[a]
x
1x
2[b]
[c]
Feasible states associated to the Eulerian state estimation problem
Maze Eulerian filter
An application of Eulerian state estimation moving taking
advantage of ocean currents.
Eulerian filter
Visiting the three red boxes using a buoy that follows the currents
is an Eulerian state estimation problem
Maze Eulerian filter