Computing a guaranteed approximation of the viability kernel
SMART 2015
Dominique Monnet, Luc Jaulin, Jordan Ninin
LAB-STICC / ENSTA-Bretagne
What is viability?
System S defined by:
˙
x = f (x, u), f : R n × U → R n
A state x is viable if at least one evolution of S from x can stay indefinitely in a set of constraint K .
The viability kernel of K under S noted Viab S ( K ) is the set that contains every viable state.
Viab K
Why viability?
Example: management of renewable resources, economics, robotics,...
Is it possible to avoid the wall?
V
α
Why viability?
Example: management of renewable resources, economics, robotics,...
Is it possible to avoid the wall?
V
α
1 Attraction domains
2 Polygon expansion technique
3 Capture basin
4 Examples
Car on the hill
Double integrator
Plan
1 Attraction domains
2 Polygon expansion technique
3 Capture basin
4 Examples Car on the hill Double integrator
5 Conclusion
Attraction domain of a system
Attraction domains of S are interesting for viability, if they are
located in K .
Theorem on viability
Theorem
We consider a dynamical system x ˙ = f (x, u), U the set of possible control and K a closed subset of R n .
Let L ∈ C 1 ( K , R ), and B L (r ) = {x ∈ R n |L(x) ≤ r}, with r ∈ R + .
If B L (r ) ⊆ K and ∀x ∈ B L (r), ∃u ∈ U such as hf (x, u), ∇L(x)i ≤ 0,
then B L (r) ⊆ Viab S (K).
Illustration of the theorem
Lyapunov function
Definition
A function L : R n → R is said to be of Lyapunov for the dynamical system ˙ x = f (x) if:
1
V (0) = 0.
2
∀x ∈ R n \ {0}, V (x) > 0.
3
∀x ∈ R n , hf (x), ∇V (x)i ≤ 0.
How to find a lyapunov function
We choose a particular control u ∈ U . S u : ˙ x = f (x, u) is an autonomous system.
x ∗ is an equilibrium point of S u ⇐⇒ f (x ∗ , u) = 0.
Linearize S u around x ∗ , we get S u x
∗defined by
˜ ˙
x = A˜ x, ˜ x = x − x ∗ .
Solve A T W + WA = −I , where W is the unknown amount.
Check whether W is positive definite.
If W is positive definite, then 1 2 ˜ x T W ˜ x is a Lyapunov function
for the linear system, and x ∗ is stable.
Lyapunov function and linearized system S
ux∗Lyapunov function and autonomous system S
uLyapunov function and system S
Viable set characterization algorithm
Choose a control u ∈ U .
Find an equilibrium point x ∗ ∈ K . Linearize S u around x ∗ .
Try to compute a Lyapunov function of S u x
∗. If no function found, compute S ctrl .
Try to compute a Lyapunov function of S ctrl .
Find r ∈ R + such as conditions of the theorem are met.
Plan
1 Attraction domains
2 Polygon expansion technique
3 Capture basin
4 Examples Car on the hill Double integrator
5 Conclusion
Theorem
Theorem
Let P = {p 1 , p 2 , . . . , p n } be a polygon included in K . We suppose {p 1 , p 2 , . . . , p n } sorted in clockwise order.
If
∀i, ∀x ∈ segment [p i , p i+1 ], ∃u ∈ U , det(p i +1 − p i , f (x, u)) ≤ 0.
Then P ⊆ Viab S (K)
Theorem illustration
Theorem illustration
Polygon expansion algorithm
1
Find a polygon P ⊆ Viab S ( K ).
2
Compute a larger polygon P 0 .
3
If P 0 ⊆ Viab S ( K ), P = P 0 , go to 1.
4
Else compute another polygon P 0 , go to 3.
Polygon expansion algorithm
Polygon expansion algorithm
Polygon expansion algorithm
Polygon expansion algorithm
Polygon expansion algorithm
Polygon expansion algorithm
Plan
1 Attraction domains
2 Polygon expansion technique
3 Capture basin
4 Examples
Car on the hill
Double integrator
Capture basin problem
The capture basin of a set T ⊂ K viable in K noted Capt S ( K , T ) is composed of every states x such as S can reach T from x in a finite time without leaving K .
K
T
Theorem on the viability of a capture basin
Theorem
Let S a dynamical system, K a closed subset of the state space of S and T ⊂ K .
If T is viable in K ,
then Capt S ( K , T ) is viable in K .
The set V in = T ∪ Capt S ( K , T ) is an inner approximation of
Viab S ( K ).
Over approximation of the viability kernel
We try to find an over approximation of Viab S (K) to get an enclosure of Viab S ( K ).
If ∀u ∈ U , S cannot stay in K from a state x ∈ K , then x ∈ / Viab S ( K ).
K
Guaranteed integration of a box [Chaputot, 2015]
K
Under approximation algorithm
Under approximation algorithm
Under approximation algorithm
Under approximation algorithm
Under approximation algorithm
Under approximation algorithm
Under approximation algorithm
Under approximation algorithm
Under approximation algorithm
Under approximation algorithm
Under approximation algorithm
Under approximation algorithm
Under approximation algorithm
Over approximation algorithm
Over approximation algorithm
Over approximation algorithm
Over approximation algorithm
Over approximation algorithm
Over approximation algorithm
Over approximation algorithm
Plan
1 Attraction domains
2 Polygon expansion technique
3 Capture basin
4 Examples Car on the hill Double integrator
5 Conclusion
Car on the hill
Plan
1 Attraction domains
2 Polygon expansion technique
3 Capture basin
4 Examples
Car on the hill
Double integrator
Car on the hill
Car on the hill problem
The landscape is represented by the parametric function g : s →
−1.1
1.2 cos(1.2s) + 1.2 1.1 cos(1.1s) 2
State vector: x = s
˙ s
= x 1
x 2
Evolution function:
( x ˙ 1 = x 2
˙
x 2 = −9.81sin( dx dg
1
(x 1 )) − 0.7x 2 + u u ∈ [−2, 2]
The car must stay on the landscape, i.e s ∈ [0, 12]
Car on the hill
Result of viable set characterization algorithm
s
s
. K
Car on the hill
Result explained
Car on the hill
Result of polygon expansion algorithm
Polygons are initialized with viable sets computed previously.
Car on the hill
Result of inner approximation algorithm
Car on the hill
Result of over approximation algorithm
Double integrator
Plan
1 Attraction domains
2 Polygon expansion technique
3 Capture basin
4 Examples Car on the hill Double integrator
5 Conclusion
Double integrator
Double integrator equations
Evolution function:
( x ˙ 1 = x 2
˙
x 2 = u u ∈ [−1, 1]
Constraints:
x 1 ∈ [−5, 5]
x 2 ∈ [−5, 5]
Double integrator
Results of viable set characterization algorithm
Double integrator
Result of inner approximation algorithm
Double integrator