Professional Documents
Culture Documents
Beamer EEA10 Douz
Beamer EEA10 Douz
W. Perruquetti
Table of Contents
Introduction
A simple stabilization problem: double integrator
How to stabilize ?
ẍ = u (1)
ẋ1 = x2
ẋ2 = u (2)
F1 car.
Introduction
A simple stabilization problem: double integrator
x2
0.5 0
0 −0.5
0 5 10 15 0 5 10 15
Time (secs) Time (secs)
1 1
Stabilization even with a
0.5 0.5
bounded control !!
x2
u
0 0
−0.5 −0.5
0 5 10 15 0 0.5 1 1.5
Time (secs) x1
Introduction
A simple stabilization problem: double integrator
u = f (x1 )
The simplest function being:
u = αx1
(variable α)
ẋ1 = x2
ẋ2 = %
α x1 (3)
Introduction
A simple stabilization problem: double integrator
Strategy 1:
position x available and the signum of ẋ (in fact of xẋ )
How to play with α ?
ẍ + αx = 0
√ ẋ0 √
x1 (t) = x0 cos( αt) + √ sin( αt) (4)
α
√ √ √
x2 (t) = −x0 α sin( αt) + ẋ0 cos( αt) (5)
√ ẋ0 √ ẋ2
(x0 αx1 + √ x2 )2 + (ẋ0 x1 − x0 x2 )2 = (x20 α + √0 )2 (6)
α α
+ Solutions are ellipsoids
W. Perruquetti 1rst to HOSM
Differential Inclusion: Notion of solution
Classical first order Sliding Mode
Higher order sliding mode
Introduction
A simple stabilization problem: double integrator
Area I : x1 x2 < 0, αI = 1
After 2k + 1 switching:
αI
l2k+1 = l0
αII
Introduction
A simple stabilization problem: double integrator
Strategy 2:
position x and velocity ẋ are available
How to play with α ?
+α=1
ẍ + x = 0
Phase portrait
Introduction
A simple stabilization problem: double integrator
+ α = −1 Phase portrait
ẍ − x = 0
Introduction
A simple stabilization problem: double integrator
Introduction
Some first questions
Problems:
Notion of solution,
Discontinuous Control (damaging the actuators),
How to find the switching logic ?
Introduction
4 Commande par mode glissant
Variable Structure System
Introduction
Sliding Mode Control
4 Commande par mode glissant
n n
CMG : i Ewc{cx
SMC (1rst order and Higher):
vE{'f
Le principe
“Slap” principle des « baffes »
i Ewc{cx
W. PERRUQUETTI
Introduction
Sliding Mode Control
Objective
To constrain the trajectories of system ẋ = f (x) + g(x)u to reach, in a
finite time, and then, to stay onto the sliding surface chosen according to
the control objectives
u = ueq + udisc
given by s = ṡ = 0, W.
(invariance
Perruquetti of1rst
the sliding surface)
to HOSM
Differential Inclusion: Notion of solution
Classical first order Sliding Mode
Higher order sliding mode
Introduction
Sliding Mode Control
Objective
To constrain the trajectories of system ẋ = f (x) + g(x)u to reach, in a
finite time, and then, to stay onto the sliding surface chosen according to
the control objectives
u = ueq + udisc
given by s = ṡ = 0, W.
(invariance
Perruquetti of1rst
the sliding surface)
to HOSM
Differential Inclusion: Notion of solution
Classical first order Sliding Mode
Higher order sliding mode
Introduction
Sliding Mode Control
Objective
To constrain the trajectories of system ẋ = f (x) + g(x)u to reach, in a
finite time, and then, to stay onto the sliding surface chosen according to
the control objectives
u = ueq + udisc
given by s = ṡ = 0, (invariance of the sliding surface)
udisc = −ksign(s), (convergence in finite time onto the surface)
Introduction
Sliding Mode Control
Objective
To constrain the trajectories of system ẋ = f (x) + g(x)u to reach, in a
finite time, and then, to stay onto the sliding surface chosen according to
the control objectives
u = ueq + udisc
given by s = ṡ = 0, (invariance of the sliding surface)
udisc = −ksign(s), (convergence in finite time onto the surface)
Introduction
Sliding Mode Control: Advantages vs disadvantages
Advantages: Disadvantages:
System order reduction Chattering phenomena
Finite time convergence (adjust (actuator damage)
time response) Noise sensitivity (??)
Robustness w.r.t. parametric Output feedback (??)
uncertainties
and disturbances
Introduction
Sliding Mode Control: One more time ...
Introduction
Sliding Mode Control: One more time ...
(
x2 x1 x2
ẋ1 = (1+x22 )
− 2 1+x 2u
2 (7)
ẋ2 = u
This system “seems” complex, however, if we set
z1 = x1 (1 + x22 )
z 2 = x2
Introduction
Sliding Mode Control: One more time ...
ż1 = z2
(8)
ż2 = u
and it becomes obvious that if in sliding mode z2 = −z1 , then z1
converges asymptotically to zero (ż1 = z2 = −z1 ) and thus z2 also
converges. In this step of design (the “sliding phase”), the shape
of the sliding manifold arises naturally.
Introduction
Sliding Mode Control: One more time ...
S = {z ∈ R2 : s(z) = 0} (9)
s(z) = z2 + z1 (10)
Introduction
Sliding Mode Control: One more time ...
Introduction
Sliding Mode Control: One more time ...
ẋ = f (t, x), ∀x ∈ X \ S ⊂ Rn
ẋ ∈ F (t, x)
ẋ = −sign(x), x ∈ R
−1
4 Commande if glissant
par mode x<0
F (x) = 1 if x > 0
DX 2
Z SIGNX X
DT [−1, 1] if x = 0
&X @Z SI X SI X ;Z = SI X A X 2
8(%)
W. PERRUQUETTI 30
Signum
f0 should be in Tx S.
F T X x) ∈ @
CONV
f0 (t, F T+X
conv{f FZ
(t, x), x)}A∩6
(t, X
f −T S X-
Tx4
W. PERRUQUETTI 32
W. Perruquetti 1rst to HOSM
Differential Inclusion: Notion of solution
Classical first order Sliding Mode
Higher order sliding mode
f0 = αf + + (1 − α)f − , α ∈ [−1, 1]
f0 (t, x) ∈ Tx S ⇔ hds, f0 i = 0
⇔ αhds, f + i + (1 − α)hds, f − i = 0
hds, f − i
α =
hds, f − − f + i
hds, f − i hds, f + i
ẋ = f0 = f +
− f−
hds, f − − f + i hds, f − − f + i
ẋ = feq (t, x, ue q)
Counter example :
s(x) = x2 + x1
Control: u = −sign(s(x)x1 ).
ẋ1 = 0.2x1
+ Unstable
W. Perruquetti 1rst to HOSM
Differential Inclusion: Notion of solution Attractivity condition and invariance condition of the sliding manifo
Classical first order Sliding Mode Sliding mode equivalent dynamics
Higher order sliding mode Robustness with respect to matched disturbance
Table of Contents
u+ if s(x) > 0
u= (27)
u− if s(x) < 0
+ Attractivity condition:
+ Invariance condition:
ṡ = 0 ⇔ u = ueq (29)
Be careful, this condition does not imply that the sliding manifold
is reached in finite time. Thus, this condition (for the existence of
a sliding mode) should be replaced by a more restrictive condition
for example (mu-reachability condition)
ẋ = Ax + Bu (31)
Table of Contents
∂s
(f (x) + g(x)u) = Lf s + Lg su
ṡ =
∂x
Equivalent control if Lg s invertible
ẋ = Ax + Bu (38)
A11 A12
Aeq = (43)
−C2−1 C1 A11 −C2−1 C1 A12
−1 A11 − A12 C2−1 C1 A12
= P P (44)
0 0
Table of Contents
ẋ = Ax + Bu + p (45)
p ∈ span(B) (46)
ẋc = Ac x + Bc (u + p∗ ) (47)
0 1 ... 0 0
0 0
0 1 0 0 ..
. . .
Ac = 0 .. .. .. 0 , Bc = . (48)
0
0 ... 0 0 1
1
−ac1 . . . . . . . . . −acn
n
X n−1
X
ṡ = − aci xci + u + p∗ + ai xci+1 (49)
i=1 i=1
n
X
= aci xci + u + p∗ , aci = −aci + aci−1 (50)
i=1
+ Control
n
X
u = −ksign(s) − aci xci (51)
i=1
sṡ = −k|s| + |p∗ ||s|, (52)
+ Equivalent dynamics
ẋ1 = x2 (57)
ẋ2 = u + p, sup |p| < ∞ (58)
Advantages
Insensibility against perturbations (matching perturbations)
The choice of surface s(x, t) = 0 allow to choose a priori the
closed-loop dynamics
Disadvantages
Chattering Chattering phenomenon
s(x, t) must have a relative degree equal to 1
Trajectory wrt. u
The trajectories are not robust against
s=0
perturbations during the reaching phase
Advantages
Insensibility against perturbations (matching perturbations)
The choice of surface s(x, t) = 0 allow to choose a priori the
closed-loop dynamics
Disadvantages
Chattering Chattering phenomenon
s(x, t) must have a relative degree equal to 1
Trajectory wrt. u
The trajectories are not robust against
s=0
perturbations during the reaching phase
Stabilis
⎧
trajectoire trajectoire
⎪
⎪ ż1
⎪
⎪
chattering ⎨ ż2
⎪
s=0 s=0
⎪
⎪
mode glissant d’ordre r = 1 mode glissant d’ordre r > 1
⎪
⎪ żρ
⎪
⎩
s
+ Real :
+ Advantages:
Robustness w.r.t. bounded matching perturbation,
Reduce the of the sliding dynamics up to at most (n − r) (in
fact if counting the added integrators exactly (n − r)).
Finite Time convergence to Sr ,
Chattering reduction (sometimes see relative degree of s),
Higher convergence accuracy.
n o
Sr = x ∈ Rn : s = ṡ = . . . = s(r−1) = 0 (64)
1 For any continuous u(t) s.t. |u| ≤ UM , UM > 1 the solution of the system is well defined for all t.
2 ∃u1 ∈ (0, 1) s.t. for any continuous function u(t) with |u(t)| > u1 , ∃t1 , s.t s(t)u(t) > 0 for each
t > t1 . (u(t) = −sign[s(t0 )], enforces s = 0 in finite time)
3 ∃s0 > 0, u0 < 1, Γm > 0, ΓM > 0 such that if |s(t, x)| < s0 then
∂r(s) = 1
y1 = s, y2 = ṡ, after some transient
|a(t, x)| ≤ A, 0 < Γm ≤ b(t, x, u) ≤ ΓM , A > 0.
ẏ1 = y2
(67)
ẏ2 = a(t, x) + b(t, x, u)u̇
−u if |u| > 1,
u̇(t) = −λm sign(y1 ) if y1 y2 ≤ 0; |u| ≤ 1, (68)
−λM sign(y1 ) if y1 y2 > 0; |u| ≤ 1.
Sufficient conditions:
λM > λm
λm > 4Γs0M
(69)
λm > ΓAm
Γm λM − A > ΓM λm + A.
∂r(s) = 2
−λm sign(y1 ) if y1 y2 ≤ 0
u(t) =
−λM sign(y1 ) if y1 y2 > 0
Example
ẋ1 = x2 (70)
ẋ2 = x3 (71)
ẋ3 = x1 x2 + u + p(t) (72)
sup |p(t)| = π (73)
t∈R
Example
Using (70) : for
s1 (x) = x2 + ax1 (74)
we have
thus if s1 (x) = ṡ1 (x) = 0 in finite time then the equiv. dynamicS
is ẋ1 = −ax1 thus x1 (t) → 0, x2 (t) → 0, x3 (t) → 0.
Example
Using (70) + (71) (ẋ1 = x2 , ẋ2 = x3 ) : for
we have
Example
Case 1: 1rst order SM using s2
u = ueq + udisc ,
udisc = −ksign(s), k > π + µ
sṡ = −k|s| + sp < −µ|s|
Example
R
Case 2: 2nd order SM using s2 Since ∂r(s2 ) = 1 we add :
Chattering removal
ẋ1 = x2 (81)
ẋ2 = x3 (82)
ẋ3 = x1 x2 + u + p(t) (83)
u̇ = v (84)
Example
Thus we have
Example
Compute equiv. control (without p): veq = −a(x)
v = veq + vdisc ,
−λm sign(s2 ) if s2 ṡ2 ≤ 0
vdisc = T A(s2 ) =
−λM sign(s2 ) if s2 ṡ2 > 0
Z
u = v ∈ C0
Example
Case 3: 2nd order SM using s1 Since ∂r(s1 ) = 2 we can directly
use TA (Chattering!!)
u = ueq + udisc ,
−λm sign(s1 ) if s1 ṡ1 ≤ 0
udisc = T A(s1 ) =
−λM sign(s1 ) if s1 ṡ1 > 0
where y1M is the last maximum of y1 (t), i.e. the last value of y1
for t s.t. y2 = ẏ1 = 0
W. Perruquetti 1rst to HOSM
Differential Inclusion: Notion of solution FTS and homogeneity
Classical first order Sliding Mode Arbitray HOSM using ISM concept
Higher order sliding mode Application to mobile robots
Sufficient conditions:
α∗ ∈ (0, 1] ∩ (0, 3Γ
ΓM ),
m
(89)
λM > max α∗ΦΓm , 3Γm −α 4Φ
∗Γ
M
.
Sufficient conditions :
W > ΓΦm
ΓM (W +A)
λ2 ≥ Γ4A
2 Γ (W −A) (91)
m m
0 < ρ ≤ 12
u = −λ|s|ρ sign(y1 ) + u1 ,
u̇1 = −W sign(y1 ).
ϕ0,r
ϕ0,r = s N0,r = |s| Ψ0,r = = sign(s)
N0,r
r−i r−i
(i) r−i+1 r−i+1 ϕi,r
ϕi,r = s + βi Ni−1,r Ψi−1,r Ni,r = |s(i) | + βi Ni−1,r Ψi−1,r Ψi,r =
Ni,r
Table of Contents
ẋ = f (x) (99)
where f is a continuous vector field or differential inclusion
ẋ ∈ F (x) (100)
Definition
A function h : Rn → R is r–homogeneous with degree dr,h ∈ R if
for all x ∈ Rn we have (Hermes 90) :
Remark
In fact in stead of dealing with Sr one can take any closed curve
properly chosen diffeomorphic to Sn−1 .
λ−dr,f Λ−1
r f (Λr x) = f (x), (106)
Theorem
If the system (99) is locally AS and r–homogeneous with negative
degree then it is FTS.
ż1 = z2
.. (111)
.
żρ = w
w(z) = −k1 sign (z1 ) |z1 |ν1 − . . . − kρ sign (zρ ) |zρ |νρ (112)
with νρ = ν et νρ+1 = 1.
Table of Contents
Objective
To remove the reaching phase
+ To guarantee the robustness properties against perturbations in the
model from the initial time instance
Philosophy
+ To choose the sliding variable such that the system trajectories are
already on the sliding surface at the initial time instance
Objective
To remove the reaching phase
+ To guarantee the robustness properties against perturbations in the
model from the initial time instance
Philosophy
+ To choose the sliding variable such that the system trajectories are
already on the sliding surface at the initial time instance
Table of Contents
Problem setup
Reference trajectory
ẋref cos θref 0
ẏref = sin θref v ref
0
wref
θ̇ref 0 1
Objective
Robot réel
t1
θre f
t1
yre f (t0 )
θ
ex x − xref
y(t0 )
Robot de référence ey = y − yref
eθ θ − θref
O x(t0 ) xre f (t0 ) →
−
i
Figure 1:
Problem setup
Reference trajectory
ẋref cos θref 0
ẏref = sin θref v ref
0
wref
θ̇ref 0 1
Objective
Robot réel
t1
θre f
t1
yre f (t0 )
θ
ex x − xref
y(t0 )
Robot de référence ey = y − yref
eθ θ − θref
O x(t0 ) xre f (t0 ) →
−
i
Figure 1:
Problem setup
Difficulties
+ Presence of perturbations and parametric uncertainties in the
model:
ẋ cos θ 0
ẏ = sin θ 0 v + p(q, t)
w
θ̇ 0 1
Algo. 1
Assumptions
Perturbations satisfy the matching condition
Perturbations are bounded by known positive functions
Reference velocities are continuous and bounded
No stop point
Algo. 1
u = unom + udisc
with
e1 − cos θ − sin θ 0 ex
e2 = sin θ − cos θ 0 ey
e3 0 0 −1 eθ
Algo. 1
u = unom + udisc
Algo. 1
u = unom + udisc
Algo. 1
u = unom + udisc
3 3
y (m)
y (m)
2
2
1
1
0
0
−1
0 1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9 10
x (m)
0.06
0.1
0.05
0.08
0.04
erreur (m)
erreur (m)
0.06
0.03
0.04 0.02
0.02 0.01
0
0 0 5 10 15
0 5 10 15 t(s)
t(s)
Algo. 1
Limitations
conservative assumptions
discontinuities on velocities
perturbations must satisfy the matching condition
Solution
+ Practical stabilization using second order ISMC
x
δ
x(0)
2ε
t
−δ T
Algo. 1
Limitations
conservative assumptions
discontinuities on velocities
perturbations must satisfy the matching condition
Solution
+ Practical stabilization using second order ISMC
x
δ
x(0)
2ε
t
−δ T
Experimental results
0.3 0.4
y [m]
y [m]
0.2 0.2
0.1 0
0 −0.2
−0.1
−0.4
−0.2
−0.5 0 0.5 1 1.5 2 −0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4
x [m] x [m]
Experimental results
ISM of Order 1 ISM of Order 2
0.16
0.16 erreur l12−l12,des
erreur l −l
12 12,des 0.14 erreur l13−l13,des
0.14 erreur l13−l13,des
0.12
0.12
0.1
0.1
[m]
0.08
0.08
[m]
0.06
0.06
0.04
0.04
0.02 0.02
0 0
−0.02 −0.02
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
t [s] t [s]
0.8 0.8
erreur ψ −ψ erreur ψ12−ψ12,des
12 12,des
0.6 erreur ψ13−ψ13,des 0.6 erreur ψ13−ψ13,des
0.4 0.4
0.2 0.2
[rad]
[rad]
0 0
−0.2 −0.2
−0.4 −0.4
−0.6 −0.6
−0.8 −0.8
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
t [s]
t [s]
Video
Video
Video
Video