0% found this document useful (0 votes)
6 views30 pages

Sliding Control

The document discusses sliding mode control (SMC), a nonlinear control method that stabilizes system states along a predetermined trajectory known as the sliding mode. It covers various aspects of SMC, including switching control, variable structure control, equivalent control, and the dynamics of reaching the sliding mode. Additionally, it addresses challenges such as chattering and the design of controllers to manage system imprecision while ensuring effective tracking of desired states.

Uploaded by

khuram
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views30 pages

Sliding Control

The document discusses sliding mode control (SMC), a nonlinear control method that stabilizes system states along a predetermined trajectory known as the sliding mode. It covers various aspects of SMC, including switching control, variable structure control, equivalent control, and the dynamics of reaching the sliding mode. Additionally, it addresses challenges such as chattering and the design of controllers to manage system imprecision while ensuring effective tracking of desired states.

Uploaded by

khuram
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

7.

Sliding mode control


7.1 Basic problem
1. Switch control
Switching control is a effective nonlinear control method.
E.g.: constant temperature control system. It doesn't change structure of
system.
r e m u y m  0 yr
G(s) u
 yr
0

2. Variable structure control (VSC)


In control process, system structure can be changed by switch control.

E.g.: PID control with integral separation.

k1e(t ) e( t )  e 
u
k2  e(t )dt e( t )  e 
7. Sliding mode control
7.1 Basic problem
3. Switch mode control (SMC)
Special VSC, system state is expected to gradually stabilize along a
certain expected phase trajectory to equilibrium point. Phase trajectory is
called sliding mode, VSC with sliding mode is called SMC.
E.g.: system x x 1 2

x2  a1 x1  a2 x2  u

Select a line on phase plane as switching line:


 x1s  0
s  cx1  x2  0 , c  0  u  kx1 , k    x1 (t )  x1 (0)e  ct
  x1s  0
x2
x2
x2

x1
x1
s0 x1

k  k  
7. Sliding mode control
7.1 Basic problem
4. Equivalent control (Filippov’s construction, 1960’s)
Discontinuous switching control can be conceived as an equivalent
average control.
 
 u ( x ) s( x )  0   
 f ( x, u ( x ))  f ( x ) s( x )  0
x  f ( x, u) , u     x  
 u ( x ) s( x )  0
  f ( x, u ( x ))  f ( x ) s( x )  0

Convex combination on both sides of surface, corresponds to requiring


that system trajectories be tangent to surface. Control switching occur
infinitely fast.
s0
ueq  u ( x )  (1   )u ( x ) , 0    1 f 0*

x   f  ( x)  (1   ) f  ( x) s0 f 0*
(1   )r
r
When system enters sliding mode, ueq can f 0
*

be found by s( x )  0 .
s0
7. Sliding mode control
7.1 Basic problem
n
E.g.: linear system x  Ax  Bu , s( x )  c x   ci xi
T

i 1
s
s x  c T ( Ax  Bu)  0  ueq  (c T B) 1 c T Ax  x  Ax  B(c T B) 1 c T Ax
x

Non-linear system: x  f ( x, t )  B( x, t )u

s s s s s
s  ( f  Bu)  0  ueq  G 1 (  f) , G B
t x t x x
s s
x  ( I  BG 1 ) f  BG 1  u  ueq  G 1s
x t

Sliding mode has a constraint equation s( x)  0 , so sliding mode is


dimensionally reduced.
7. Sliding mode control
7.1 Basic problem
5. Invariance of sliding mode
x  f ( x)  f ( x)  [G( x)  G( x)]u
s s s
s  [ f  f  (G  G )u]  ueq  ( G ) 1 ( f  f  Gueq )
x x x
s s
x  [ I  G ( G ) 1 ]( f  f  Gueq )
x x
s s s s
f  Gueq  G ( G )1 ( f  Gueq )  x  [ I  G ( G ) 1 ] f
x x x x
Sliding mode is independent of uncertainty.
if f , G  Gs  span(G )  k1, k2 , f  Gk1, G  Gk2

If sˆ( x)  H1 ( x) s( x) , uˆ  H2 ( x)u , H1 , H2 are nonsingular transformation,


sliding mode about sˆ( x ) , uˆ is invariant.
E.g.: control system with state observer, error of observer can be regarded
as disturbance. Sliding mode is invariant to non-singular transformation
and disturbance, sliding mode control is applicable to control system with
state observer.
7. Sliding mode control
7.1 Basic problem
6. Selection of sliding mode
• Linear sliding mode
d
s( x, t )  (   )n1 x , x  x  xd  [ x x x ( n1) ]T
dt
s( x)  C T x , C  (cnn11 n1 , , c1n1, cn01 )T

• Non-linear sliding mode


d t t
Integral sliding mode: s  (   )  x( r )dr  x  2 x    xdr
2 2

dt 0 0
t
s  x  2 x   2  xdr  x (t0 )  2 x (t0 )  s (t0 )  0
t0

Terminal sliding mode:

s  x2   x1q/ p ,   0 , p  q  0 s  x2   x1   x1q/ p

dx1 t 0 1 p ( p  q )/ p

dt
  x1q/ p  0  0
1dt  
x1 (0)


x1q/ p dx1  t 
 ( p  q)
x1 (0)
7. Sliding mode control
7.1 Basic problem
7. Sliding condition:
Keeping scalar s at zero can be achieved by choosing control law u
such that outside of S (t ) :
1d 2
s   s
2 dt
Squared distance to surface decreases along all system trajectories. It
constrains trajectories to point towards surface S (t ) . Once on surface,
system trajectories remain on surface. Sliding condition makes surface an
invariant set.
S (t ) is both a place and a dynamics. Surface will nonetheless be reached
in finite time smaller than s(t  0) /  .

1d 2 0  s(t  0)   (treach  0) , s(t  0)  0


s   s  
2 dt treach  s(t  0) /  , s(t  0)  0

treach  s(t  0) / 
7. Sliding mode control
7.1 Basic problem
E.g.: consider system x1  x2 , x2  h ( x )  g ( x ) u

s  cx1  x2  s  cx1  x2  cx2  h ( x )  g ( x )u  u  (cx2  h ( x )) / g ( x )

cx2  h( x )
  ( x ) , x  u    ( x )sgn( s) ,  ( x )   ( x )   0
g ( x)

Now consider dynamic equation: s  cx1  x2  cx2  h ( x )  g ( x )u

1 2
V s  V  ss  s (cx2  h ( x ))  g ( x ) su  g ( x ) s  ( x )  g ( x )(  ( x )   0 ) s sgn( s )
2
  g ( x )  0 s   g0  0 s

s  0 is stable, and sliding dynamic is x1  cx1 .


7. Sliding mode control
7.1 Basic problem
8. Chattering
Because of inertia of system motion and hysteresis of switch, chattering
must exist. Pseudo sliding mode, ss  0 , s   , an approximate sliding
mode and has similar properties to ideal sliding mode ss  0 , s  0 .

Pseudo sliding mode can be direct used in some case.


• In place of PWM: motor control is electrical voltage rather than a
mechanical force. Chattering may be acceptable if it is beyond
frequency range of unmodeled dynamics.

• In place of dither: when uncertainty consists of effects small in


magnitude but difficult to model, switching in s may be advantageously
used in place of a more standard dither signal. Such an approach can
particularly improve quality of low-speed behavior, which otherwise is
extremely sensitive to friction.
7. Sliding mode control
7.1 Basic problem
9. Dynamic of reaching phase
Equivalent control from s  0 have not consider dynamic of reaching
phase, dynamic design in reaching phase can not only control time from
initial state to s  0 , but also control inertia to reach s  0 , so as to reduce
chattering.
• Constant speed reaching: s   sgn(s) ,   0

• Exponential reaching: s   sgn(s)  ks ,   0 , k  0



• Power reaching: s  k s sgn(s) , k  0 , 0    1

Equivalent control based on reaching law:


n
x  Ax  Bu , s( x )  c x   ci xi
T

i 1
s
s x  cT ( Ax  Bu )   sgn(s)  ks
x
7. Sliding mode control
7.2 Controller design
Single-input dynamic system x  f ( x)  b( x)u , f ( x), b( x) is not exactly
(n)

known, but extent of imprecision is upper bounded by a known continuous


function of x . Control problem is to get state x to track a specific time-
varying state xd  [ xd xd xd( n1) ]T in presence of model imprecision.
Define a time-varying surface:

d
s( x )  (   )n1 x , x  x  xd  [ x x x ( n1) ]T
dt

Tracking n-dimensional vector xd can in effect be replaced by a 1st-order


stabilization problem in s .

Bounds on s can be translated into bounds on x , scalar s represents a


true measure of tracking performance.

s(t )    x(i ) (t )  (2 )i  i  0, , n  1 ,    /  n1


7. Sliding mode control
7.2 Controller design

1 y1 1 1 x
s
p p p

n 1
t s  t
y1 (t )   e   ( t T )
s(T )dT  y1 (t )    e  ( t T )dT  ( /  )(1  e t )   / 
0 0

x   /  n1  

s
1 1 z1 p p x(i )
p p p p

n  i 1 i

p p    
z1   /  n1i ,   1  x(i )  ( )(1  )i  (2 )i 
p p p  n 1i

7. Sliding mode control
7.2 Controller design
1. Perfect performance – at a price
Consider system x  f  bu .
Case: b  1
Estimation error of f is assumed to be bounded by fˆ  f  F .
d
s(   ) x  x   x  s  x  xd   x  f  u  xd   x  0
dt
uˆ   fˆ  xd   x
Satisfy sliding condition despite uncertainty: u  uˆ  k sgn( s )
1 d 2
s  ss  [ f  fˆ  k sgn( s )]s  ( f  fˆ ) s  k s  u  uˆ  k sgn( s )
2 ds
1 d 2
k  F   s   s
2 ds
ss  k s  s  k sgn s  u  uˆ  k sgn( s )

k  k ( x, x) large enough to guarantee sliding condition, discontinuity


across surface increases with extent of parametric uncertainty.
7. Sliding mode control
7.2 Controller design
E.g.: consider system x  a(t ) x 2 cos3x  u , 1  a(t )  2

fˆ  1.5x 2 cos3x  F  0.5x 2 cos3x

xd  sin( t / 2) ,   20 ,   0.1  k  0.5x 2 cos3x  0.1

u  uˆ  k sgn(s)  1.5x 2 cos3x  xd  20 x  (0.5x 2 cos3x  0.1)sgn( x  20 x)


a(t )  sin t  1
6 105
4
4
2
控制输入

2 跟踪误差
0
0
-2 -2

-4 -4
0 1 2 3 4 0 1 2 3 4
时间/s 时间/s
7. Sliding mode control
7.2 Controller design
Case: x  f  bu , 0  bmin  b  bmax
Since control input enters multiplicatively in dynamics, choose estimate
as geometric mean of bounds: bˆ  (bmin bmax )1/ 2 .

bˆ b
  (bmax / bmin )
1/ 2
gain margin   1
  ,  1  
b ˆ
b

u  bˆ1[uˆ  k sgn(s)]  s  ( f  bbˆ1 fˆ )  (1  bbˆ1 )( xd   x)  bbˆ1k sgn(s)

1 d 2 ˆ 1 f  fˆ  (bb
ˆ 1  1)( x   x)  bb
ˆ 1
s   s  k  bb d
2 ds
ˆ 1 F   bb
 bb ˆ 1  bb
ˆ 1  1  fˆ  x   x
d

  ( F   )  (   1) uˆ

Control discontinuity has been increased in order to account for


uncertainty on control gain.
7. Sliding mode control
7.2 Controller design
E.g.: simplified model of underwater vehicle.
mx  cx x  u , 1  m  5 , 0.5  c  1.5
s  x   x  u  mˆ ( xd   x )  cx
ˆ x  k sgn( s) , k  ( F   )  mˆ (   1) xd   x

ˆ  5 , cˆ  1  F  0.5x x ,   5
m

m  3  1.5sin( x t ) , c  1.2  0.2sin( x t ) ,   0.1,  10


Desired trajectory: constant-acceleration phase at 2m / s 2 for 2s, constant-
velocity phase 4m / s for 2s, constant-acceleration phase at 2m / s 2 for 2s.
105
30 4
20 跟踪误差 0
控制输入

10 -4
0 -8
-10 -12
0 1 2 3 4 5 6 0 1 2 3 4 5 6
时间/s 时间/s
7. Sliding mode control
7.2 Controller design
2. Continuous approximations of control laws
In general, chattering must be eliminated, this can be achieved by
smoothing out control discontinuity in a thin boundary layer (1980s)
neighboring switching surface.

B(t )  {x , s( x, t )  }   0

 : boundary layer thickness    /  n1 : boundary layer width


Outside of B(t ) , choose control law as before guarantees that boundary
layer is attractive; inside B(t ) , replacing term sgn( s) by s /  , sat ( s) .
u x


û 
  s
x

s0
7. Sliding mode control
7.2 Controller design
E.g.: system x  a(t ) x 2 cos3x  u , 1  a(t )  2
xd  sin( t / 2) ,   20   0.1

u  uˆ  k sgn( s)  1.5x 2 cos3x  xd  20 x  (0.5x 2 cos3x  0.1)sgn( x  20 x)

u  uˆ  ksat( s / )  1.5x 2 cos3x  xd  20 x  (0.5x 2 cos3x  0.1)sat[( x  20 x) / 0.1]

  0.1
Tracking performance excellent, but
obtained at price of high control
chattering.
a(t )  sin t  1

Performance not as “perfect”, still very


good, achieved using a smooth control
law.
7. Sliding mode control
7.2 Controller design
Smoothing of control discontinuity inside B(t ) essentially assigns a low-
pass filter structure to local dynamics of variable s , thus eliminating
chattering.

Boundary layer thickness can be made time-varying, can be monitored


so as to well exploit control bandwidth available.
For case: b  bˆ  1    1

d
s  [ s   ]  
dt 1d 2
s   s  (   ) s
d 2 dt
s    [ s  (  )]  
dt

Additional term  reflects the fact that boundary layer attraction


condition is more stringent during boundary layer contraction (   0 ) and
less stringent during boundary layer expansion (   0 ).
7. Sliding mode control
7.2 Controller design
 is added to control discontinuity gain, i.e., term k ( x)sgn( s) is
replaced by k ( x )sat ( s / ) :
k ( x)  k ( x)    u  uˆ  k ( x)sat ( s / )

Trajectories inside boundary layer:

x ( i ) ( t ) (2  )i  ,   /  n 1
s s
s  k ( x )  f ( x )  s  k ( xd )  ( f ( xd )  O( )) , f  fˆ  f
 

s can be viewed as output of a first-order filter, dynamics only depends


on desired state xd (t ) , and inputs are turbations. Chattering can indeed be
eliminated, as long as high-frequency unmodeled dynamics are not excited.
7. Sliding mode control
7.2 Controller design
Tune boundary layer thickness so that filter of s also represents a first-
order filter of bandwidth  .
k ( x ) k ( x ) 
k ( xd )
      k ( xd ) ; k ( x )  k ( x )  k ( xd )  

Balance condition: intuitively, it amounts to tuning up closed-loop system


so that it mimics an nth order critically damped system.

s-trajectory: compact descriptor of closed-loop behavior, represents a time-


varying measure of validity of
assumptions on model uncertainty.
s
Boundary layer thickness describes
evolution of dynamic model uncertainty
with time.
7. Sliding mode control
7.2 Controller design
E.g.: system x  a(t ) x 2 cos3x  u

u  xd   x  1.5x 2 cos3x  (0.5x 2 cos3x    )sat[( x   x) / ]

    (0.5xd2 cos3xd   ) xd  sin( t / 2) ,   0.1,   20 xd (0)  0 , (0)   / 

 is chosen to be small as compared to average value of k ( xd ) .  is


selected based on frequency range of unmodeled dynamics. Tracking error
is consistently better (4 times better), because varying thickness allows to
make better use of available bandwidth.

6 103 0.08
4
0.06
4 
2 0.04
控制输入

跟踪误差

2 0.02
s轨线

0 0.00
0 s
-0.02
-2 -2
-0.04
-4 -4 -0.06
0 1 2 3 4 0 1 2 3 4 -0.08
时间/s 时间/s 0 1 2 3 4
时间/s
7. Sliding mode control
7.2 Controller design
In case   1 : 
k ( xd )         d k ( xd ) k ( x)  k ( x)   / 
d
 
k ( xd )     2  k ( xd ) /  d k ( x )  k ( x )  
d d
with initial condition (0) defined as: (0)  d k ( xd (0)) / 
In order to satisfy sliding condition in presence of uncertainty  :

  0  k ( x)  k ( x)   /  ;   0  k ( x)  k ( x)  

Balance condition:  k ( xd )   b( xd ) 
   ˆ     k ( xd )   /  d
  b ( xd  max
)

Desired behavior of  :   0   /  d  k ( x )   / 
  0   /  d  k ( x )  

  d  k ( x)  (k ( x)  kd ( x))  kd ( x)  k ( x)  kd ( xd )   / d
7. Sliding mode control
7.2 Controller design
Physical interpretation of balance conditions:

k ( xd )    /  d ,  /  n 1     n   d k ( xd )

(bandwidth)n x (tracking precision)= (parametric uncertainty measured


along desired trajectory)

Specify the best tracking performance attainable, given desired control


bandwidth and extent of parameter uncertainty.
7. Sliding mode control
7.3 Modeling/performance trade-offs
Trade-offs in terms of design/modeling/performance.

 n  d k ( xd )    (d kd /  n )
• Effects of parameter uncertainty have been dumped in gain k , better
knowledge of f reduces k .
• Marginal gains in performance are critically dependent on control
bandwidth, if large  's are available, poor dynamic models may lead to
respectable tracking performance
• Large modeling efforts produce only minor absolute improvements in
tracking accuracy.

A key question is to determine how large  can be chosen. Although


tuning of this single scalar may in practice be done experimentally,
considerable insight on overall design can be obtained by explicitly
analyzing various factors limiting  .
7. Sliding mode control
7.3 Modeling/performance trade-offs
In mechanical systems, for instance,  is typically limited by three
factors.
1. Structural resonant modes
 must be smaller than frequency v R of the lowest unmodeled structural
resonant mode. 2
  R  vR
3
2. Neglected time delays 1
  A 
3TA
TA : the largest unmodeled time-delay (for instance in actuators).
3. Sampling rate
1
Full-period processing delay:   S  vsampling (sampling rate)
5

Desired control bandwidth is the minimum of three bounds. Ideally, the


most effective design corresponds to matching these limitations.
R  A  S  
7. Sliding mode control
7.3 Modeling/performance trade-offs
Bound 1 and 2 are hard limitations, in the sense that they represent
properties of hardware itself, while 3 is soft as far as it reflects performance
of computer environment and complexity of control algorithm.

Assume that bound 3 is the most stringent, which means that system’s
mechanical potentials are not fully exploited. This may typically occur in
modern high-performance robots (such as direct-drive arms) which feature
high mechanical stiffness and high resonant frequencies.

It may be worthwhile, before embarking in development of dedicated


computer architectures, to first consider simplifying dynamic model used in
control algorithm. This allows one to replace   slow by a larger    fast
which varies inversely proportionally to required computation time.
7. Sliding mode control
7.3 Modeling/performance trade-offs
Bounds 1 or 2 is hit in process, this operation is beneficial as long as

(  d kd )   fast 
2

  1
 d kd 
 slow 

Conversely, equality defines threshold at which model simplification starts


degrading performance despite gains in sampling rate.

This threshold is rarely reached in practice: even assuming that marginal


gains in model precision depend linearly on computation time involved,
 2 still varies as square of required sampling period. Thus it is often
advisable to reduce model complexity until computation can be achieved at
a rate fully compatible with mechanical capabilities of the arm, in other
words until S is no longer active limit on  . Performance increase
resulting from this simple operation may in turn be adequate and avoid
major development efforts on computer hardware.
7. Sliding mode control
7.4 Multi-input systems
Consider a nonlinear multi-input system of form (square system)
m
x ( ni )
i  f i ( x )   bij ( x )u j , i  1, ,m , j  1, ,m
j 1

fˆi  fi  Fi ; B  ( I  Δ) Bˆ , ij  Dij


d
Define a vector s of components si by: si  (  i )ni 1 xi
dt
si  xi( ni 1)  xr(ini 1) , xr(ini 1)  xid( ni 1)  n2ei( n1)   0ei
Controller design can be translated in terms of finding a control law for
vector u that verifies individual sliding conditions of form
1d 2
si  i si  u  Bˆ 1 ( xr( n 1)  fˆ  k sgn( s))
2 dt
n
si  fˆi  f i   ij ( xr(ini 1)  fˆi )   ij k j sgn( s j )  (1  ii )ki sgn( si )
i 1 j i
n
Sliding conditions are verified if: (1  Dii )ki  Fi   Dij xr( n 1)  fˆ   Dij k j  i
i
i

j 1 j i
7. Sliding mode control
7.4 Multi-input systems
If vector k is chosen such that:
n
(1  Dii )ki   Dij k j  Fi   Dij xr(ini 1)  fˆ  i
j i j 1

Do equations have a solution k (necessarily unique), and are components


ki all positive (or zero)? Answer to both questions is yes, thanks to an
interesting result of matrix algebra, known as Frobenius-Perron theorem.

Theorem (Frobenius-Perron, 1907-1912): consider a square matrix A with


non-negative elements. Then, the largest real eigenvalue  of A is non-
negative. Furthermore, consider equation

( I   1 A) y  z

where all components of vector z are non-negative. If   1 , then above


equation admits a unique solution y , whose components yi are all non-
negative.

You might also like