You are on page 1of 9

II Encontro de Jovens Investigadores do LAETA

FEUP, Porto, 10–11 April 2012

INTRODUCING FRACTIONAL SLIDING


MODE CONTROL
Duarte Valério

IDMEC / IST, TULisbon


Av. Rovisco Pais 1, 1049-001 Lisboa, Portugal
e-mail: duarte.valerio@ist.utl.pt

Key words: Fractional derivatives, Fractional Calculus, Fractional control, Sliding mode con-
trol, Nonlinear control
Abstract. This survey paper presents fractional sliding mode control.
Sliding mode control is a nonlinear control strategy that consists in providing a control action
that restricts the plant to control to function according to some pre-defined simple dynamic. This
desired dynamic is called sliding surface. When the plant follows the sliding surface, it is in sliding
mode.
Fractional sliding mode control is the use of sliding mode control with fractional plants, or the
use of sliding mode control with a sliding surface corresponding to a fractional order dynamic, or
both. Here, “fractional” refers to the inclusion of fractional derivatives in the differential equation
governing the dynamic (that correspond to fractional powers of s when a Laplace transform is
applied, or fractional powers of jω when a Fourier transform is applied).
Forcing a plant to behave according to some pre-defined simple fractional dynamic may be
desirable since such a dynamical behaviour has significant robustness properties.

1 Introduction
Sliding mode control is a nonlinear control strategy that consists in providing a control action
that restricts the plant to control to function according to some pre-defined simple dynamic. This
desired dynamic is called sliding surface. When the plant follows the sliding surface, it is in sliding
mode. For an introduction to this strategy, see for instance [5].
Fractional sliding mode control is the use of sliding mode control with fractional plants, or the
use of sliding mode control with a sliding surface corresponding to a fractional order dynamic, or
both. Here, “fractional” refers to the inclusion of fractional derivatives in the differential equation
governing the dynamic (that correspond to fractional powers of s when a Laplace transform is
applied, or fractional powers of jω when a Fourier transform is applied).
Forcing a plant to behave according to some pre-defined simple fractional dynamic may be
desirable since such a dynamical behaviour has significant robustness properties.
This survey paper is organised as follows: section 2 presents basic notions of fractional deriva-
tives; section 3 presents fractional sliding mode control; section 4 concludes the paper with a
simulation example.

2 Fractional derivatives
For more details on fractional derivatives, see, for instance, [7, 6] and the bibliography quoted
therein.
Duarte Valério

2.1 Integer order derivatives


By definition,
f (t) − f (t − h)
f  (t) = lim (1)
h→0 h
and so
f  (t) − f  (t − h)
f  (t) = lim
h→0 h
f (t)−f (t−h)
h − f (t−h)−f h
(t−2h)
= lim
h→0 h
f (t) − 2f (t − h) + f (t − 2h)
= lim (2)
h→0 h2
f  (t) − f  (t − h)
f (3) (t) = lim
h→0 h
f (t)−2f (t−h)+f (t−2h)
h2 − f (t)−2f (t−h)+f
h2
(t−2h)
= lim
h→0 h
f (t) − 3f (t − h) + 3f (t − 2h) − f (t − 3h)
= lim (3)
h→0 h3
..
.
n  
k n
(−1) f (t − kh)
k
k=0
f (t) = lim
(n)
(4)
h→0 hn
(A rigourous proof of the last equality can be found by mathematic induction.) Recall that
combinations of a things, b at a time are defined as
 
a a!
= (5)
b b!(a − b)!

2.2 The Grünwald-Letnikoff definition


Combinations of a things, b at a time can be defined also for a, b ∈
/ N0 using function Γ:
 
a Γ(a + 1)
= (6)
b Γ(b + 1)Γ(a − b + 1)
It can be easily shown (again, using mathematical induction) that this expression is equivalent to
 
a (−1)b Γ(b − a)
= (7)
b Γ(b + 1)Γ(−a)
As the applicability range of (6) and (7) is not exactly the same, combinations are better defined
joining both expressions together and adding some points otherwise undefined but where (6) or
(7) converge to 0 to get

⎪ Γ(a + 1)
  ⎪ / Z−
⎪ Γ(b + 1)Γ(a − b + 1) , if a, b, a − b ∈

a
= (−1)b Γ(b − a) (8)
b ⎪
⎪ , if a ∈ Z− ∧ b ∈ Z+

⎩ Γ(b + 1)Γ(−a) 0
0, if (b ∈ Z− ∨ b − a ∈ N) ∧ a ∈ / Z−
Because of this, we can apply (4) also when the order is not natural:
?  
k z
(−1) f (t − kh)
k
k=0
f (t) = lim
(z)
(9)
h→0 hz
Duarte Valério

The upper limit of the summation is chosen so that (9) will, for z ∈ Z− , result in a Riemann
integral. Making z = −1 in (9), and using (7),


?  
k −1
(−1) f (t − kh)
k
k=0
f (−1)
(t) = lim
h→0 h−1

?
(−1)k Γ(k + 1)
= lim h (−1)k f (t − kh) (10)
h→0 Γ(k + 1)Γ(1)
k=0
t

If this is to be a Riemann integral c f (t) dt, then the upper limit of the summation must be t−c
h ,
and h must be restricted to positive values. (If the good behaviour of f includes differentiability,
this will bring no problems of different right derivatives and left derivatives at any point.) c is
called the terminal. We are thus led to a definition of fractional derivative due to the works of
Grünwald and of Letnikoff:
h 
t−c
 
k z
(−1) f (t − kh)
k
k=0
f (z)
(t) = lim+ (11)
h→0 hz
(It can be shown
that z = −2, z = −3 and so on also lead to the corresponding Riemann integrals.)
Notice that t−ch is diverging to +∞. When z is natural, the summation can be truncated
after z terms, because (8) shows that from then on all terms are zero (as k − z ∈ N). This is the
only case the summation can be truncated; in all others there will be an infinity of terms. What
this means is that when z is natural the derivative will have a value independent of c; otherwise
the derivative will depend on c. Or, on other words, natural order derivatives are local operators;
all others are not local, since they depend on c, which for z = −1 is the lower limit of integration.
In other words still, if t is identified with time, the result has a memory of what happens to
function f for some time before, since time c. Fractional derivatives always look like integrals in
that respect—whether z is a positive real or a negative real, even whether z is complex—and not
like derivatives.

2.3 The Riemann-Liouville definition


While (11) turns out to be convenient for numerical purposes, it is very hard to use to find any
derivatives analytically. Fortunately, an equivalent expression can be found:
⎧ t

⎪ (t − τ )−z−1

⎪ f (τ ) dτ, if (z) ∈ R−

⎪ c Γ(−z)






⎨ f (t), if z = 0

z
c Dt f (t) = (12)

⎪ d


z−1
c Dt f (t), if (z) = 0 ∧ [z]
= 0

⎪ dt





⎪ (z)

⎩ d z−(z)
(z) c Dt f (t), if [a] ∈ R+
dt
(This is proved in [3].) This alternative definition is due to the works of Riemann and Liouville,
and for integer negative values of z reduces to
x x x
−n (x − t)n−1
c Dx f (t) = ··· f (t) dt · · · dt = f (t) dt (13)
(n − 1)!
c c
  c

n integrations
Duarte Valério

which can be proven (once more) by mathematical induction. For integer positive values of z we
get a particular case of the law of exponents, which says that c Dtm c Dtn f (t) = c Dtm+n f (t) holds if
− −
m, n ∈ Z+0 , or if m, n ∈ Z0 , or if m ∈ Z ∧ n ∈ Z .
+

Definition (12) clearly shows that D is a linear operator of function f (t).

3 Fractional sliding mode control for a SISO plant


While fractional sliding mode control can be applied to MIMO plants, in this paper only the SISO
case will be addressed.
Let the plant to control be
⎧ α1

⎪ 0 Dt x(t) = x2 (t)

⎪ α2

⎪ 0 Dt x2 (t) = x3 (t)

⎨ ..
. (14)
⎪ D
⎪ 0 t
αn−1
x (t) = xn (t)

⎪ n−1
⎪ αn

⎪ 0 Dt xn (t) = fA (x(t)) + fB (x(t))u(t)

y(t) = x(t)

where:
• y(t) is the output;
• αi > 0, ∀ i = 1, . . . , n;
• all initial conditions are assumed to be zero;
• vector x(t) (called pseudo-state vector) is given by
⎡ ⎤ ⎡ ⎤⎫
x(t) ⎡ ⎤
x(t) x(t) ⎪

⎢ x2 (t) ⎥ ⎢ α1 ⎪
⎥⎪
⎢ ⎥ ⎢ ⎥ 0 t x(t)
D ⎥⎪
α1
⎢ x3 (t) ⎥ ⎢ D t x(t) ⎥ ⎢ ⎪
⎢ ⎥ ⎢
0
⎥ ⎢ α1 +α2 ⎥⎬
0 Dt x(t)
α2 α1
x(t) = ⎢ ⎥=⎢ 0 Dt 0 Dt x(t) ⎥ = ⎢ ⎥ n elements

..
⎥ ⎢ ⎥ ⎢ .. ⎥⎪
⎢ . ⎥ ⎣
. ⎢ ⎥⎪
⎣ xn−1 (t) ⎦
.. ⎦ ⎣ n−1
. ⎦⎪



x(t) ⎭
αn−1
0 Dt . . . 0 Dtα2 0 Dtα1 x(t) 0 Dt
k=1 αk
xn (t)
(15)

Notice that this last equality is a consequence of all initial conditions being zero, otherwise
it would not be necessarily true.
Also notice that, while plant (14) is in general fractional, if αi ∈ N, ∀ i = 1, . . . , n it will be of
integer order.
We want the output y(t) = x(t) to follow a reference r(t), and for this we will make x(t) follow
a reference vector r(t), given by
⎡ ⎤ ⎡ ⎤
r(t) r(t)
⎢ α1
0 Dt r(t)
⎥ ⎢

α1
0 Dt r(t)


⎢ ⎥ ⎢ α ⎥
⎢ D α 2
D α1
r(t) ⎥ ⎢ D t
1 +α2
r(t) ⎥
r(t) = ⎢ 0 t 0 t ⎥=⎢ 0
⎥ (16)
⎢ .. ⎥ ⎢ .
. ⎥
⎣ . ⎦ ⎣ . ⎦
n−1
αn−1
0 Dt . . . 0 Dtα2 0 Dtα1 r(t) D
0 t
k=1 αk
r(t)
Duarte Valério

Error (t) = x(t) − r(t) is


⎡ ⎤ ⎡ ⎤
(t) [x(t) − r(t)]
⎢ α1 ⎥ ⎢ α1 ⎥
⎢ 0 t (t)
D ⎥ ⎢ 0 t [x(t) − r(t)]
D ⎥
⎢ α1 +α2 ⎥ ⎢ α1 +α2 ⎥
(t) = ⎢ 0 Dt (t) ⎥=⎢ 0 Dt [x(t) − r(t)] ⎥ (17)
⎢ .. ⎥ ⎢ .. ⎥
⎢ ⎥ ⎢ ⎥
⎣ n−1
. ⎦ ⎣ n−1
. ⎦
αk αk
0 Dt (t) 0 Dt [x(t) − r(t)]
k=1 k=1

3.1 Sliding surface


Let us define a sliding surface s(x(t)) as a linear combination of fractional derivatives of the error,
including all orders found in x(t) (and in r(t), and in (t)), and eventually some others:

s(x(t)) = 0 (18)
m
s(x(t)) = μi 0 Dtβi (t) (19)
i=1
k

∀ k = 1, . . . , n − 1, ∃ i : βi = αp (20)
p=1

Applying the Laplace transformation to (19), we get

E(s) 1
= m (21)
S(X(s)) 
μi 0 Dtβi
i=1

It is of course reasonable to choose coefficients μi so that transfer function (21) is stable.


Forcing s(x(t)) = 0, we will obtain (t) = 0, and hence x(t) = r(t). While it is likely that
s(x(t)) cannot be always made exactly equal to 0, if |s(x(t))| is bounded, an upper bound for the
ensuing error can be found.

3.2 Example: commensurable plant, uncertainty in fA (x(t))


Let us consider a plant with α1 = α2 = . . . = αn (a plant in this case is said commensurable), with
fB (x(t)) = 1:

0 Dt x(t) = fA (x(t)) + u(t) (22)

Suppose that fA (x(t)) is not known exactly, but that an approximate value fˆA (x(t)) is known.
We want s(x(t)) to go to zero and stay there, which means that ds(x(t))
dt = 0. This can be done
devising a control law that ensures

1 ds2 (x(t))
≤ −η|s(x(t))| ⇔
2 dt2
ds(x(t))
⇔ s(x(t)) ≤ −η|s(x(t))| ⇔
dt
ds(x(t))
⇔ σ(s(x(t))) ≤ −η (23)
dt
Duarte Valério

where η ∈ R+ is a value chosen by the control designer. We will define the sliding surface as
 (n−1) αβ
s(x(t)) = 0 Dtβ + λ (t) (24)
(n−1)α
= 0 Dt (t) + S((t))
(n−1)α
= 0 Dt [x(t) − r(t)] + S((t))
−α (n−1)α
= 0 Dt [fA (x(t)) + u(t)] − 0 Dt r(t) + S((t))
α
Here, λ and β are design parameters, with β ∈ R+ chosen so that β ∈ N (in other words, α must
(n−1)α
be an integer multiple of β). All terms save 0 Dt (t)
are collected in S((t)), and from now on
we will omit most dependencies on t, x and , as well as the terminals of operator D, to alleviate
the notation. Hence
Ds = D1−α fA + D1−α u − D1+nα−α r + DS (25)
and so
Ds = 0 ⇔ u = −fA + Dnα r − Dα S (26)

but since fA is unknown and only fˆA is known, we will rather implement the control action as
u = −fˆA + Dnα r − Dα S − kDα−1 σ(s) (27)
α−1
where the reason for the choice of the nonlinearity −kD σ(s) will be clear in a moment, when
desirable values for constant k are found. Replacing (27) in (25) we obtain
Ds = D1−α fA − D1−α fˆA + D1+nα−α r − DS
− kσ(s) − D1+nα−α r + DS
= D1−α (fA − fˆA ) − kσ(s) (28)
and replacing this in (23) we obtain
D1−α (fA − fˆA )σ(s) − k ≤ −η ⇔
⇔ k ≥ η + D1−α (fA − fˆA )σ(s) (29)

The term D1−α (fA − fˆA )σ(s) may be either positive or negative. If we can find an upper bound
 for the error committed with approximation D1−α fA ≈ D1−α fˆA , that is to say, if |D1−α (fA −
fˆA )| < , then we make k ≥ η +  in control law (27) and thereby guarantee that (23) is verified,
even in the presence of uncertainty in fA .

3.3 Example: integer plant, uncertainty in fB (x(t))


Consider plant

D2 x(t) = bu(t)
(30)
y(t) = x(t)
where we only know a variation range for b. We define s(x(t)) as
s(x(t)) = 0 Dt1+α (t) + λ(t), α > 0 (31)
which means that, even though the plant is of integer order, when the sliding surface s(x(t)) = 0
is being followed, it will behave with fractional order dynamics. We will have (alleviating again
from now on the notation as done in the example above)
Ds = D2+α  + λD
= λD + bDα u − D2+β r (32)
Duarte Valério

and so

Ds = 0 ⇔ bu = D2 r − λD1−α  (33)

but since b is unknown and only b̂ is known, we implement the control action as

ũ = D2 r − λD1−α  (34)
ũ 1 2 
u= = D r − λD1−α  − kD−α σ(s) (35)
b̂ b̂
and from there we get
b b b
Ds = λD + D2+α r − λD − kσ(s) − D2+α r
 b̂
 b̂ b̂
b b
= 1− (λD − D2+α r) − kσ(s) (36)
b̂ b̂
which, replaced in (23), gives
 
b b
1− (λD − D2+α r)σ(s) − k ≤ −η ⇔ (37)
b̂ b̂

b̂ b̂
⇔k≥ η+ − 1 (−D2+α r + λD) σ(s)
b b  
−Dα ũ


and consequently, taking into account that 1
β ≤ b ≤ β, and making

k ≥ βη + (β − 1)|Dα ũ| (38)

we guarantee that (23) is verified.

3.4 Avoiding chattering


Because the sign function σ(ξ), in the definition of the control law, is a hard non-linearity, the
system will likely oscillate around s(x(t)) = 0, causing control chattering, which is undesirable.
This can be improved replacing σ(ξ) in the definition of control action u(t) (whatever it may be)
with some function ς(ξ) that smooths the non-linearity. Two possible choices for ς(ξ) are, for
instance, 
ξ, if |ξ| ≤ 1
ς1 (ξ) = (39)
σ(ξ), if |ξ| > 1
or
2
ς2 (ξ) = arctan ζξ (40)
π
where ζ ∈ R+ is chosen to regulate how far ς2 (ξ) is from σ(ξ) (notice that, when ζ → +∞, ς2 (ξ)
approaches σ(ξ)).
The price to pay for avoiding chattering with such replacements is a performance degradation.

4 Example
Consider the plant with uncertainty in fA (x(t)) and in fB (x(t))
fA (x(t)) b
    
3 ! 1 √
0 Dt x(t) = π x(t)0 Dt x(t) + 2 u(t)
4 4
(41)
Duarte Valério

! 1
" 1 1
#T
with fˆA (x(t)) = 3 x(t)0 Dt4 x(t) and b̂ = 32 , where α = 14 , x(t) = x(t) 0 Dt4 x(t) 0 Dt2 x(t) and
n = 3. If we make β = α, k = 1.8 and λ = 10, we get
1 1
s(x(t)) = 0 Dt2 (t) + 20 0 Dt4 (t) + 100(t) (42)
1
S((t)) = 20 0 Dt (t) + 100(t)
4
(43)
2" ! 1 1 1
u(t) = −3 |x(t)|0 Dt4 x(t) − 20 0 Dt2 x(t) − 1000 Dt4 x(t)
3
3 1 1
+ 0 Dt4 r(t) + 20 0 Dt2 r(t) + 1000 Dt4 r(t)
 1
−3 1
− 1.80 Dt 4 σ 0 Dt2 x(t) + 20 0 Dt4 x(t) + 100x(t)
1 1
#
− 0 Dt2 r(t) − 20 0 Dt4 r(t) − 100r(t) (44)

Figure 1 shows simulations results obtained with the Grünwald-Letnikoff definition, Ts = 0.1 and
making σ(ξ) ≈ π2 arctan 20ξ to avoid chattering.

0.5
x(t), r(t)

−0.5

r(t)
−1
x(t)
0 1 2 3 4 5 6 7 8 9 10
t

1.5

0.5
u(t)

−0.5

−1

−1.5

−2
0 1 2 3 4 5 6 7 8 9 10
t

Figure 1: Simulation results from section 4 for a sinusoidal reference

For other application examples, see for instance [2, 8, 4, 1].


Duarte Valério

Acknowledgments
This work was partially supported by Fundação para a Ciência e a Tecnologia, through IDMEC
under LAETA.

References
[1] H. Delavari, R. Ghaderi, A. Ranjbar, and S. Momani. Fuzzy fractional order sliding mode con-
troller for nonlinear systems. Communications in Nonlinear Science and Numerical Simulation,
15(4):963–978, 2010.
[2] Concepción A. Monje, YangQuan Chen, Blas M. Vinagre, Dingyü Xue, and Vicente Feliu.
Fractional-order Systems and Controls. Springer, London, 2010.
[3] I. Podlubny. Fractional differential equations: an introduction to fractional derivatives, frac-
tional differential equations, to methods of their solution and some of their applications. Aca-
demic Press, San Diego, 1999.
[4] Amar Si-Ammour, Said Djennoune, and Maamar Bettayeb. A sliding mode control for linear
fractional systems with input and state delays. Communications in Nonlinear Science and
Numerical Simulation, 14(5):2310–2318, 2009.
[5] J. Slotine and W. Li. Applied Nonlinear Control. Prentice Hall, Englewood Cliffs, 1991.
[6] Duarte Valério. Fractional and variable order controllers. In I Encontro de Jovens Investigadores
do LAETA, Lisboa, 2010.
[7] Duarte Valério and José Sá da Costa. An introduction to single-input, single-output Fractional
Control. IET Control Theory & Applications, 5(8):1033–1057, 2011.
[8] Chun Yin, Shou-ming Zhong, and Wu-fan Chen. Design of sliding mode controller for a class
of fractional-order chaotic systems. Communications in Nonlinear Science and Numerical Sim-
ulation, 17:356–366, 2012.

You might also like