Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Nonlinear Control
Lecture 10: Back Stepping
Farzaneh Abdollahi
Department of Electrical Engineering
Amirkabir University of Technology
Fall 2011
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
1/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Integrator Back Stepping
More General Form
Back Stepping for Strict-Feedback Systems
Uncertain Systems
Trajectory Tracking
Stabilizing 
Stabilizing 1
Stabilizing 2
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
2/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Integrator Back Stepping
I
Let us start with integrator back stepping:
I
I
I
 = f () + g ()
(1)
 = u
(2)
[ T ]T  R n+1 : is the state
u  R: control input
f : D  R n and g : D  R n : smooth in a domain D  R n ;  = 0, f (0) = 0
Objective: Design a state FB controller to stabilize the origin
( = 0,  = 0)
We assume both f and g are known
It is a cascade connection:
I
I
(1) with input 
Second is the integrator (2)
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
3/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Suppose (1) can be asym. stabilized
by  = () with (0) = 0:
 = f () + g ()()
and V () is a smooth p.d. Lyap fcn:
V
 [f () + g ()()]  W ()  
D, W () is p.d.
Now add g ()() to (1):
 = [f () + g ()()]
+ g ()[  ()]
 = u
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
4/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Suppose (1) can be asym. stabilized
by  = () with (0) = 0:
 = f () + g ()()
and V () is a smooth p.d. Lyap fcn:
V
 [f () + g ()()]  W ()  
D, W () is p.d.
Now add g ()() to (1):
 = [f () + g ()()]
+ g ()[  ()]
| {z }
z
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
4/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Suppose (1) can be asym. stabilized
by  = () with (0) = 0:
 = f () + g ()()
and V () is a smooth p.d. Lyap fcn:
V
 [f () + g ()()]  W ()  
D, W () is p.d.
Now add g ()() to (1):
 = [f () + g ()()]
+ g ()[  ()]
| {z }
z
 = [f () + g ()()]
z
+ g ()z
= u  
 =
Farzaneh Abdollahi
[f () + g ()]
Nonlinear Control
Lecture 10
4/26
Outline Integrator Back Stepping
I
I
More General Form Uncertain Systems Trajectory Tracking
Fig b to Fig c is back stepping  though the integrator
v = u  
 = [f () + g ()()] + g ()z
z
= v
It is similar to (1) But input zero
Now let us design v to stabilize the over all system:
Vc (, ) = V () + 12 z 2
 V c  W () + V g ()z + zv
origin is a.s.
g ()  kz, k > 0
Choose v =
So V c  W ()  kz 2
 origin is a.s. ( = 0, z = 0)
(0) = 0
=0
V
u=
[f () + g ()] 
g ()  k(  ())
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
(3)
5/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Lemma: Consider the system (1)-(2). Let () be a stabilizing state
fb control law for (1) with (0) = 0, and V () be a Lyap fcn that
V  W () for some p.d fcn W (). Then, the state feedback control
law (3) stabilizes the origin of (1)-(2), with V () + [  ()]2 /2 as a
Lyap fcn. Moreover, if all the assumptions hold globally and V () is
radially unbounded, the origin will be g.a.s.
Example: Consider
x 1 = x12  x13 + x2
x 2 = u
Therefore  = x1 ,  = x2
To stabilize x1 = 0: x2 = (x1 ) = x12  x1
 the nonlinear term x12 is canceled: x 1 = x1  x13
Why x13 is not canceled?
V = x12  x14  x12 , x1  R
V (x1 ) = x12 /2
 The origin of x 1 is g.e.s.
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
6/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
To backstep: z2 = x2  (x1 ) = x2 + x1 + x12
Hence
x 1 = x1  x13 + z2
z 2 = u + (1 + 2x1 )(x1  x13 + z2 )
I
I
Now take Vc = 21 x12 + 21 z22
V c = x 2  x 4 + z2 [x1 + (1 + 2x1 )(x1  x 3 + z2 ) + u]
1
u = x1  (1 + 2x1 )(x1 
The origin is g.a.s
Farzaneh Abdollahi
x13
Nonlinear Control
+ z2 )  z2
Lecture 10
V c = x12  x14  z22
7/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
For higher order systems we can apply the recursive application of
integrator back stepping
Example: Consider
x 1 = x12  x13 + x2
x 2 = x3
x 3 = u
After 1 back stepping:
x 1 = x12  x13 + x2
x 2 = x3
that x3 is input is g.s. by:
x3 = x1  (1 + 2x1 )(x1  x13 + z2 )  (x2 + x1 + x12 )=(x1 , x2 )
and V (x1 , x2 ) = 21 x12 + 12 (x2 + x1 + x12 )2
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
8/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Backstep again: z3 = x3  (x1 , x2 )
x 1 = x12  x13 + x2
x 2 = (x1 , x2 ) + z3
 2
(x1  x13 + x2 ) 
( + z3 )
z 3 = u 
x1
x2
Define Vc = V + z32 /2 V c =
V
x12 x14 (x2 +x1 +x12 )2 +z3 [ x
 x
(x12 +xx3 +x2 ) x
(z3 +)+u]
2
1
2
V
u =  x
+
2
The origin is g.a.s
Farzaneh Abdollahi
2
x1 (x1
+ xx3 + x2 ) +
Nonlinear Control
x2 (z3
+ )  z3
Lecture 10
9/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Back Stepping for More General Form
I
Consider
 = f () + g ()
(4)
 = fa (, ) + ga (, )u
I
I
fa and ga are smooth
If ga (, ) 6= 0 over the domain of interest: define
u
1
[ua  fa (, )]
ga (, )
if a stabilizing state feedback control law () and a Lyap fcn. V ()
exists s.t. satisfy the conditions of Lemma:
1
V
u = ga (,)
[ 
 [f () + g ()]   g ()  k[  ()]  fa (, )] k > 0
and Vc (, ) = V () + 21 [  ()]2
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
10/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Back Stepping for Strict-Feedback Systems
I
By recursive backstepping strict-FB systems can be stabilized:
x
= f0 (x) + g0 (x)z1
z 1 = f1 (x, z1 ) + g1 (x, z1 )z2
z 2 = f2 (x, z1 , z2 ) + g2 (x, z1 , z2 )z3
..
.
z k1 = fk1 (x, z1 , . . . , zk1 ) + gk1 (x, z1 , . . . , zk1 )zk
z k
I
I
I
I
= fk (x, z1 , . . . , zk ) + gk (x, z1 , . . . , zk )u
x  Rn
z1 to zk are scalar
f0 (0) to fk (0) are zero
gi (x, z1 , ..., zi ) 6= 0 for 1  i  k over the domain of interest
strict FB  fi and gi in z i only depends on x, z1 , ..., zi
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
11/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Start the recursive procedure with x = f0 (x) + g0 (x)z1
Determine a stabilizing state fb z1 = 0 (x), 0 (0) = 0 and
V0
x [f0 (x) + g0 (x)0 (x)]  W (x), W (x) is p.d.
Apply backstepping, consider
x
= f0 (x) + g0 (x)z1
z 1 = f1 (x, z1 ) + g1 (x, z1 )z2
I
The parameters can be defined as
 = x,  = z1 , u = z2 , f = f0 , g = g0 , fa = f1 , ga = g1
The stabilizing state fb:
0
1 (x, z1 ) = g11 [ 
x (f0 + g0 z1 ) 
The Lyap fcn: V1 (x, z1 ) =
Farzaneh Abdollahi
V0
x g0  k1 (z1  )
V0 (x) + 12 [z1  1 (x)]2
Nonlinear Control
Lecture 10
 f1 ], k1 > 0
12/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Now consider:
x
= f0 (x) + g0 (x)z1
z 1 = f1 (x, z1 ) + g1 (x, z1 )z2
z 2 = f2 (x, z1 , z2 ) + g2 (x, z1 , z2 )z3
I
The parameters can be defined as  = [x z1 ]T ,  = z2 , u = z3 , f =
[f0 + g0 z1 f1 ]T , g = [0 g1 ]T , fa = f2 , ga = g2
The stabilizing state fb: 2 (x, z1 , z2 ) =
1
V1
1 1
g2 [ x (f0 + g0 z1 ) + z1 (f1 + g1 z2 )  z1 g1  k2 (z2  )  f2 ], k2 > 0
The Lyap fcn: V2 (x, z1 , z2 ) = V1 (, z1 x) + 12 [z2  2 (x, z1 )]2
This process should be repeated k times to obtain u = k (x, z1 , ..., zk )
and Layp fcn Vk (x, z1 , ..., zk )
If a system has not defined in strict FB system, one can
transform the states by normal transformation
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
13/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Back Stepping for Uncertain Systems
I
Consider the system:
 = f () + g () +  (, )
(5)
 = fa (, ) + ga (, )u +  (, )
I
I
I
I
I
I
in domain D  R n+1
contains ( = 0,  = 0);   R n ,   R
all fcns are smooth
If ga (, ) 6= 0 over the domain of interest
f , g , fa , ga are known;  ,  are uncertain terms
f (0) = 0 and fa (0, 0) = 0
k (, )k2
| (, )|
I
Farzaneh Abdollahi
 a1 kk2
(6)
 a2 kk2 + a3 ||
Note: The upper bound on  (, ) only depends on .
Nonlinear Control
Lecture 10
14/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
V () for the first equation is
V
2
 [f () + g ()() +  (, )]  bkk2 ; b is pos. const.
 = 0 is a.s. Equ. point of  = f () + g ()() +  (, )
Suppose
(7)
|()|  a4 kk2 , k k2  a5
Consider the Layp fcn for whole system:
Vc (, ) = V () + 21 [  ()]2
V c = V [f () + g ()() +  (, )] + V g (  ) + (  )[fa +
I
I
ga u +  
Farzaneh Abdollahi
 (f
+ g  +  )]
Nonlinear Control
Lecture 10
15/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
V () for the first equation is
V
2
 [f () + g ()() +  (, )]  bkk2 ; b is pos. const.
 = 0 is a.s. Equ. point of  = f () + g ()() +  (, )
Suppose
|()|  a4 kk2 , k k2  a5
(7)
Consider the Layp fcn for whole system:
Vc (, ) = V () + 21 [  ()]2
V c = V [f () + g ()() +  (, )] + V g (  ) + (  )[fa +
I
I
(f
+
g
)]
1
V
I Choose u =
ga [fa +  (f + g )   g  k(  )], k > 0
I Vc  bkk2 + 2a6 kk2 |  |  (k  a3 )(  )2 =
2 T 
kk2
kk2
b
a6
; a6 = a3 a4 +a22 +a5 a1
|  |
|  |
a6 (k  a3 )
ga u +  
|
Farzaneh Abdollahi
{z
P
Nonlinear Control
}
Lecture 10
15/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
V () for the first equation is
V
2
 [f () + g ()() +  (, )]  bkk2 ; b is pos. const.
 = 0 is a.s. Equ. point of  = f () + g ()() +  (, )
Suppose
(7)
|()|  a4 kk2 , k k2  a5
Consider the Layp fcn for whole system:
Vc (, ) = V () + 21 [  ()]2
V c = V [f () + g ()() +  (, )] + V g (  ) + (  )[fa +
I
I
(f
+
g
)]
1
V
I Choose u =
ga [fa +  (f + g )   g  k(  )], k > 0
I Vc  bkk2 + 2a6 kk2 |  |  (k  a3 )(  )2 =
2 T 
b
a6
kk2
kk2
; a6 = a3 a4 +a22 +a5 a1
|  |
a6 (k  a3 )
|  |
ga u +  
|
I
Choose k > a3 +
Farzaneh Abdollahi
{z
P
a62
b
V c  min (P)[kk22 + |  |2 ]
Nonlinear Control
Lecture 10
15/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Lemma: Consider the system (5), where the uncertainty satisfies
inequalities (6). Let () be a stabilizing state fb control law that
satisfies (7), and V () be a Lyap. fcn that guarantee a.s. of the first
Equatin of (5). Then the given state feedback control law in previous
slide, with k sufficiently large, stabilizes the origin of (5). Moreover, if all
the assumptions hold globally and V () is radially unbounded, the origin
will be g.a.s.
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
16/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Trajectory Tracking for A Second Order System [1]
I
A 3 link underactuated manipulator
I
I
I
The first two translational joints are actuated
The third revolute joint is not actuated
The linear approximation of this system is not
controllable since it is not influenced by gravity
The dynamics:
mx rx  m3 lsin()  m3 lcos()2 = 1
my ry + m3 lcos()  m3 lsin()2 = 2
I   m3 lsin()rx + m3 lcos()r )y = 0
 + rx sin() + ry cos() = 0
where [rx , ry ]: displacement of third joint; 
orientation of third link respect to x axis; 1 2 :
input of actuated joints; mi : mass, Ii : inertia;
 = (I3 + m3 l 2 )/(m3 l)
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
17/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Transform
the dynamics by:
1
rx + (cos()  1)
1
 2  = 
tan()
;
=
2
3
ry + sin()
m3 lcos()2 + (mx  I2 sin2 ())vx + ( I2 sin()cos())vy
m3 lsin()2 + (fracI 2 sin()cos())vx + (my  I2 cos 2 ())vy
vx
where
=
vy
#
"
u1
2
cos() sin()
cos() + 
; , I = I3 + m3l 2
2
2
sin() cos()
(u2 cos ()  2theta tan()
Therefore
Farzaneh Abdollahi
1 = u1
2 = u2
3 = 2 u1
Nonlinear Control
Lecture 10
18/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Objective: The states track the prescribed path by dij , dij
The reference trajectory will be stated by following dynamics:
d11 = u1d
d21 = u2d
d31 = d21 u1d
Define the tracking error x =   d
x 11 = x12 x 12 = u1  u1d
(8)
x 21 = x22 x 22 = u2  u2d
x 31 = x32 x 32 = x21 u1d + 21 (u1  u1d )
I
Now the problem is finding u1 and u2 to make system (8) g.a.s.
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
19/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Let us redefine the system into three subsystems:
x 31 = x32
1
x 32 = x21 u1d + 21 (u1  u1d )
x 21 = x22
2
x 22 = u2  u2d
x 11 = x12
x 12 = u1  u1d
First we find u1 to stabilize 
Then find u2 to stabilize 1 and 2
Farzaneh Abdollahi
Nonlinear Control
u1 = u1d
Lecture 10
20/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Stabilzing 
I
I
x 11 = x12
x 12 = u1  u1d
This system can be stabilized by defining
u1 = u1d  k1 x11  k2 x12 ,
k1 > 0, k2 > 0
(9)
where P() = 2 + k1  + k2 is Hurwitz
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
21/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Stabilizing 1
Assuming
that u1  u1d  0, 1 can be written as
x 31 = x32
1
x 32 = x21 u1d
Objective looking to design a stabilizing feedback x21
Assume u1d is uniformly bounded in t and smooth
Considering x32 as virtual input
2 x , c > 0 can stabilize the
It can be easily shown that 1 = c1 u1d
31
1
first eq.
Following the back stepping procedure
stabilizing x21 is
2 x  c (c u 4 + u 2 x )] =
x21 = 2 =  u1d1 [(2c1 u 1d u1d + 1)x13  c1 u1d
32
2 1 1d
1d 32
1
3
(c1 c2 u1d + 2c1 u 1d + u1d )x13  (c1 u1d + c2 u1d )x32
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
22/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Stabilizing
2
I
x 21 = x22
x 22 = u2  u2d
With u1 = u1d , 1 is e.sabilized by x21 = 2
Apply backstepping to find u2 :
I
I
Define x21 = x21  2
 x 21 = x22  d [2 ]
Now define x22 = x22  3 , 3 = c3 x21 +
It can be easily find that the following u2 can stabilize the system
dt
u2  u2d = c4 x22 +
d
dt [2 ]
d
[3 ]
dt
(10)
= c3 c4 x21  (c3 + c4 )x22 + c3 c4 2 + (c3 + c4 )
I
d
d2
[2 ] + 2 [2 ]
dt
dt
It has been shown that (9) and (10) can e.stabilized (8). [1]
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
23/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
Simulation Results
For the 3 link manipulator consider the following desired traj:
rxd = r1 sin(at)  (cos(arctan(r2 cos(at)))  1)
ryd = r18r2 sin(2at)  sin(arctan(r2 cos(at)))
d (t) = arctan(r2 cos(at))
Define: r1 = r2 = a = 1, k1 = 4, k2 = 2 2, c1 = 2, c2 = 2, c3 = 4, c4 = 4
The results of tracking is shown in Figs.
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
24/26
Outline Integrator Back Stepping
Farzaneh Abdollahi
More General Form Uncertain Systems Trajectory Tracking
Nonlinear Control
Lecture 10
25/26
Outline Integrator Back Stepping
Farzaneh Abdollahi
More General Form Uncertain Systems Trajectory Tracking
Nonlinear Control
Lecture 10
26/26
Outline Integrator Back Stepping
More General Form Uncertain Systems Trajectory Tracking
N. P. I. Aneke, H. Nijmeijerz, and A. G. de Jager, Tracking
control of second-order chained form systems by cascaded
backstepping, Internaitonl Journal Of Robust And Nonlinear
Control, vol. 13, pp. 95115, 2003.
Farzaneh Abdollahi
Nonlinear Control
Lecture 10
26/26