Lesson 12 Homework Problems

208581 Nonlinear Systems in Mechanical Engineering
Lesson 12
z  Ac z  Bc  x  u    x  ,
1 Full-State Linearization
y  Cc z.
Definition 13.1 from last lesson defines input-state linearization.
Definition 13.1 A nonlinear system
x  f  x   g  x  u,
1.1 Transformation
(1)
We can find a change of variables
 T1  x  
 z1 


z 
T2  x  
2


z
 T  x 


 


 
 zn 
Tn  x  
f : D  Rn and g : D  Rn p are sufficiently smooth1 on a
n
domain D  R , is said to be feedback linearizable (or input-state
n
linearizable) if there exists a diffeomorphism T : D  R such that
Dz  T  D  contains the origin and the change of variables z  T  x 
where
transforms the system (1) into the form
z  Az  B  x  u    x  
with
 A, B 
controllable and
  x
to transform the system (1) into
(2)
z  Ac z  Bc  x  u    x   ,
nonsingular for all x  D.
where Ac and Bc are in controllable canonical form, that is,
In the input-output linearization case, if there exists a sufficiently
smooth function h  x  such that the system
has relative degree
(5)
x  f  x   g  x  u,
(3)
y  h x,
(4)
0 1
0 0

Ac  


0
n , the system x  f  x   g  x  u is feedback
0
1
0
0
0
0

0 
0
 
 , Bc    .

 
1
0 
1 
0 
We have
linearizable. This is because the normal form of the systems with relative
degree n reduces to
T
x
x
T
AcT  x   Bc  x  u    x   
 f  x   g  x  u  .
x 
z
1
Sufficiently smooth means that all derivatives that will appear later on are defined and
continuous.
Therefore,
1
Copyright
2007 by Withit Chatlatanagulchai
208581 Nonlinear Systems in Mechanical Engineering
Lesson 12
T
f  x   AcT  x   Bc  x    x  ,
x
(6)
T
g  x   Bc  x  .
x
(7)
Ti 1  x   L f Ti  x   Lif h  x  , i  1, 2,
, n  1.
From (9), h  x  satisfies the partial differential equations
Lg Lif1h  x   0, i  1, 2,
Equation (6) is equivalent to
, n  1.
(10)
and
T1
f  x   T2  x  ,
x
T2
f  x   T3  x  ,
x
Lg Lnf1h  x   0.
(11)
 ,  are given by
(8)
  x   Lg L h  x  ,   x   
n 1
f
Tn 1
f  x   Tn  x  ,
x
Tn
f  x     x    x  .
x
Lnf h  x 
Lg Lnf1h  x 
.
(12)
In summary, the system (1) is feedback linearizable if and only if a
function h  x  exists such that the system (3)-(4) has relative degree n,
or, equivalently, h satisfies the partial differential equations (10) subject to
the condition (11).
Equation (7) is equivalent to
1.2 Existence of h  x 
T1
g  x   0,
x
T2
g  x   0,
x
The existence of h can be characterized by conditions on the
vector fields f and g . These conditions use the notions of Lie brackets
and invariant distributions.
n
For two vector fields f and g on D  R , the Lie bracket
(9)
 f , g  is a vector field defined by
Tn 1
g  x   0,
x
Tn
g  x     x   0.
x
 f , g  x  
g
f
f  x  g  x,
x
x
Setting h  x   T1  x  , from (8), we have
2
Copyright
2007 by Withit Chatlatanagulchai
where
g / x
and
f / x
208581 Nonlinear Systems in Mechanical Engineering
Lesson 12
For vector fields f1 , f 2 ,
are Jacobian matrices. The following
notation is used to simplify the writing
, f k on D  R n , let
  x   span  f1  x  , f 2  x  ,
ad 0f g  x   g  x  ,
ad f g  x    f , g   x  ,
be the subspace of R
n
, f k  x 
spanned by the vectors f1  x  , f 2  x  ,
at any fixed x  D. The dimension of   x  is defined by
ad kf g  x    f , ad kf 1 g   x  , k  1.
dim    x    rank  f1  x  , f 2  x  ,
 Example 1 [1]: Find Lie brackets of
, fk  x 
, f k  x   .
The collection of all vector spaces   x  for x  D is called a
x2


0
f  x  
, g   .

  sin x1  x2 
 x1 
distribution and referred to by
  span  f1 , f 2 ,
, f k .
, f k  and dim    x    k for all x  D, then  is a
nonsingular distribution on D. If  is a nonsingular distribution on D ,
then  is involutive if and only if
If   span  f1 ,
 fi , f j   , 1  i, j  k .
Solution
x2
  0
0 0 

    cos x


sin
x

x
0


1
2
1

 f , g   x   1
1 0
1  x1 
  x1 


 x1  x2 
ad f g .

3
Copyright
2007 by Withit Chatlatanagulchai
208581 Nonlinear Systems in Mechanical Engineering
Lesson 12
The following theorem states conditions for the existence of h  x 
 Example 2 [1]: Let D  R and   span f1 , f 2  , where
3
or for the system (1) to be feedback linearizable.
Theorem 13.2: The system (1) is feedback linearizable if and only if there
is a domain D0  D such that
 2 x2 
1


f1   1  , f 2   0  .
 0 
 x2 
1) the matrix G  x    g  x  , ad f g  x  ,
all x  D0 , and
Show whether  is involutive.

2) the distribution D  span g , ad f g ,
, ad nf 1g  x   has rank n for
, ad nf 2 g is involutive in D0 .
Proof See Appendix C.22 of [1].
 Example 3 [1]: Find the transformation for the system
 a sin x2  0 
x
  u
2 
  x1  1 
f  x   gu.
Solution
Since dim   x   2 for all x  D , then  is a nonsingular


 f1, f 2   .
rank  f1  x  , f 2  x  ,  f1, f 2   x 
Solution
We have
distribution. We then need to show whether
If
 f1, f2   ,
then
must
 a cos x2 
ad f g  
.
0


equals 2. However,
 2 x2
rank  f1  x  , f 2  x  ,  f1 , f 2   x    rank  1
 0
1
0
x2
0
0   3, x  D,
1 
The matrix
0 a cos x2 
G   g , ad f g   

0
1

therefore  is not involutive.

4
Copyright
2007 by Withit Chatlatanagulchai
208581 Nonlinear Systems in Mechanical Engineering
Lesson 12
 Example 4 [1]: Find the transformation for a single link manipulator with
flexible joints and negligible damping, which can be represented by a
fourth-order model of the form
x such that cos x2  0. The distribution
has rank two for all
D  spang is involutive. Hence, from Theorem 13.2, the system is


feedback linearizable in the domain D0  x  R | cos x2  0 .
2
x  f  x   gu,
To find the change of variables that transforms the system into the
form (2), we want to find h  x  that satisfies
where
  Lf h
h
g  0,
g  0, and h  0  0.
x
x
x2


0
  a sin x  b x  x 
0
 1 3 
1

f  x 
,g 


x4
0


 
c  x1  x3 
d 


The condition h  0   0 ensures that the change of variables z  T  x 
x  x into the origin z  0.
From the condition h / x  g  0, we have
maps the equilibrium point
and a, b, c, and d are positive constants.
h
h
g
 0.
x
x2
Therefore,
Lf h  x 
h
a sin x2 .
x1
The condition
  Lf h
x
g
  Lf h
x2

h
a cos x2  0
x1
Solution
The unforced system has equilibrium at x  0. The matrix
is satisfied in the domain D0 by any choice of h for which  h / x1   0.
0 0
0 0
2
3


G   g , ad f g , ad f g , ad f g   
 0 d

d 0
Examples of such h are h  x   x1 , h  x   x1  x1 .
3

5
Copyright
0
bd
0
cd
bd 
0 
cd 

0 
2007 by Withit Chatlatanagulchai
has full rank for all
208581 Nonlinear Systems in Mechanical Engineering
Lesson 12
x  R4 . The distribution   span  g , ad f g , ad 2f g  is
2 State-Feedback Control
involutive. Hence, from Theorem 13.2, the system is feedback linearizable

in the domain D0  x  R
4
2.1 Stabilization
.
To find the change of variables that transforms the system into the
form (2), we want to find h  x  that satisfies
  Lif1h 
x
g  0, i  1, 2, 3,
  L3f h 
x
system
Our goal for this section is to stabilize the origin z  0 of the
g  0, and h  0  0.
  f0  ,   ,
(13)
  A  B  x  u    x   ,
(14)
where
It can be shown that h  x   x1 satisfies the conditions above. We,
T1  x  
 
z     T  x  
.
 
T2  x  
therefore, have the change of variables
z1  h  x   x1 ,
z2  L f h  x   x2 ,
T  x  is a diffeomorphism on a domain D  R n , Dz  T  D  contains
the origin,  A, B  is controllable,   x  is nonsingular for all x  D,
z3  L h  x    a sin x1  b  x1  x3  ,
2
f
z4  L3f h  x    ax2 cos x1  b  x2  x4  .
f0  0, 0  0, and
f0  ,   ,
  x,
and
  x
are continuously
differentiable.
The system (13)-(14) has the normal form (without output
equation) and the feedback linearizable system (without (13)) as special
cases.
The state-feedback control
Using (5) and (12), the new state equation becomes
z1  z2 ,
z2  z3 ,
z3  z4 ,
u    x     x  v,
z4    a cos z1  b  c  z3  a  z  c  sin z1  bdu.
2
2
where

  x    1  x  , results in the closed-loop system in triangular form
  f 0  ,   ,
  A  Bv.
6
Copyright
2007 by Withit Chatlatanagulchai
We can design v   K  , where
 A  BK 
208581 Nonlinear Systems in Mechanical Engineering
Lesson 12
is Hurwitz, to achieve
exact knowledge of
 ,    1 ,
and T2 . This is almost impossible due to
local and global asymptotical stability of the closed-loop system. However,
there are some conditions on (13) that must be met as given in the
following two lemmas.
model simplification, parameter uncertainty, and computational errors.
Lemma 13.1: The origin of
form
The controller will be implementing functions ˆ , ˆ , and T̂2 , which
are approximations of
  f 0  ,   ,
asymptotically
The closed-loop system under this feedback control is
stable if the origin of
  f0 , 0
  f 0  ,   ,
is
asymptotically stable.
Proof See page 531 of [1].
  A  B  x  ˆ  x   ˆ  x  KTˆ2  x     x   .
Lemma 13.2: The origin of
The equations above can be rewritten as
  f 0  ,   ,
   A  BK   ,
is globally asymptotically stable if the system
  f0  ,  
is input-to-
  f0  ,  
(15)
   A  BK    B  x  ,
(16)

  z     x  ˆ  x     x      x   ˆ  x   KT2  x 
The input v can be designed to be a nonlinear function of  and
using backstepping and passivity-based control to achieve global
stabilization even when
  f0  ,   ,
where
state stable.
Proof Apply Lemma 4.7.

and T2 . The controller is therefore in the
u  ˆ  x   ˆ  x  KTˆ2  x  .
   A  BK   ,
is locally
,  ,

 ˆ  x  K T2  x   Tˆ2  x   .
is not input-to-state stable. This will
Thus, the closed-loop system appears as a perturbation of the nominal
system
be presented in the subsequent lessons.
  f 0  ,   ,
2.1.1. Robustness
   A  BK   .
In this section, we discuss the issue of robustness over plant
parameters perturbation. Since feedback linearization is based on exact
mathematical cancellation of the nonlinear terms  and  , which requires
7
Copyright
2007 by Withit Chatlatanagulchai
We do not expect a serious problem from a small error
208581 Nonlinear Systems in Mechanical Engineering
Lesson 12
 Example 5 [1]: Design a feedback linearization control to stabilize the
pendulum at an angle   1. The pendulum equation is given by
  z  . The
next two lemmas confirm this statement.
Lemma 13.3: For the feedback linearizable systems, we have the closedloop system
z   A  BK  z  B  z  ,
where
 A  BK 
is Hurwitz. Let
x1  x2 ,
x2  a sin  x1  1   bx2  cu ,
(17)
where x1    1 , x2   , and u  T is a torque input.
P  PT  0 be the solution of the
Lyapunov equation
Solution
The system is already in the feedback linearizable form
P  A  BK    A  BK  P  I
T

and k be a nonnegative constant less than 1/ 2 PB
1) If
  z  k z
2
x  Ax  B  x  u    x   ,
.
where
for all z , the origin of (17) will be globally
a sin  x1  1 
0 
0 1 
A
,
B

,

x

c
,

x

.




1 

c
0 b 
 
exponentially stable.
2) If   z   k z   for all z , the state z will be globally ultimately
bounded by  c for some c  0.
Proof See page 535 of [1].
The feedback linearization control is then given by
u    x    1  x  Kx

a sin  x1  1  1
  k1 x1  k2 x2  .
c
c
k1 and k 2 can be chosen such that
1
 0

0 1  0 
A  BK  
    k1 k2   


0 b  1 
 k1   k2  b 
is Hurwitz.
We use the Matlab command “acker” to find K . The following
Matlab script implements the control law above.
8
Copyright
2007 by Withit Chatlatanagulchai
208581 Nonlinear Systems in Mechanical Engineering
Lesson 12
clear
close all
0.5
%general
delta = 45*pi/180; %desired angle in radians
ts = 0.001; %sampling time in seconds
tend = 10; %end time in seconds
t = 0:ts:tend-ts;
x1
0
-0.5
-1
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
2
x2
%plant parameters
a = 10; %nominal plant
b = 1;
c = 10;
ap = 10; %perturbed plant for controller design
bp = 1;
cp = 10;
1
0
4
u
%controller parameters
K = acker([0,1;0,-b], [0;1], [-5;-10]); %place poles at -5
and -10
k1 = K(1);
k2 = K(2);
2
0
%closed-loop system
x1(1) = -delta; x2(1) = 0; %initial conditions
Now, let’s consider the perturbation case. Suppose that, due to
uncertainties in the parameters a and c , the actual control is
for i = 1:tend/ts;
u(i) = ap*sin(x1(i)+delta)/cp - (k1*x1(i)+k2*x2(i))/cp;
u
x1dot = x2(i);
x2dot = -a*(sin(x1(i)+delta))-b*x2(i)+c*u(i);
aˆ sin  x1  1  1
  k1 x1  k2 x2  .
cˆ
cˆ
The closed-loop system is given by
x1(i+1) = x1(i)+ts*x1dot;
x2(i+1) = x2(i)+ts*x2dot;
x1  x2 ,
end
x2  k1 x1   k2  b  x2    x  ,
%plot
figure(1),
subplot(311), plot(t, x1(1:length(t))), ylabel('x1')
subplot(312), plot(t, x2(1:length(t))), ylabel('x2')
subplot(313), plot(t, u), ylabel('u')
where
ˆ  acˆ 
 ac
 c  cˆ 
sin  x1  1   

  k1 x1  k2 x2  .
 cˆ 
 cˆ 
  x  
The results are given in the figure below.
9
Copyright
2007 by Withit Chatlatanagulchai
The error term
  x
208581 Nonlinear Systems in Mechanical Engineering
Lesson 12
Lemma 13.4 Consider the closed-loop system (15)-(16), where A  BK is
Hurwitz.
1) If   z    for all z and   f 0  ,   is input-to-state stable, then
  x   k x 2   globally,
satisfies the bound
where
k
ˆ  acˆ c  cˆ
ac

cˆ
cˆ
k12  k22 ,  
ˆ  acˆ
ac
sin 1 .
cˆ
the state z is globally ultimately bounded by a class K function of
2) If
  z   k z in some neighborhood of z  0, with sufficiently small
k , and the origin of   f0  , 0 is exponentially stable, then z  0 is an
Let
p
P   11
 p12
.
exponentially stable equilibrium point of the system (15)-(16).
Proof See page 537 of [1].
p12 
p22 
2.1.2. Is it a good idea to cancel nonlinear term?
be the solution of the Lyapunov equation
From a performance viewpoint, a nonlinear term could be “good” or
“bad” and the decision whether we should use feedback to cancel a
nonlinear term is, in reality, problem dependent.
P  A  BK    A  BK  P  I .
T
 Example 6 [1]: Design a control law for the scalar system
If
k
1
2 p122  p222
x  ax  bx 3  u ,
,
where
a and b are positive constants.
then the solutions of the system are globally ultimately bounded by a
bound that is proportional to  . If sin 1  0, the controller ensures global
exponential stability of the origin.
The following Matlab script computes P ,
k , and its bound.
%compute matrix P
P = lyap(([0,1;0,-b]-[0;1]*[k1,k2]), [1,0;0,1]);
%check if k is valid
k = abs((ap*c-a*cp)/cp)+abs((c-cp)/cp)*sqrt(k1^2+k2^2)
bound = 1/2/sqrt(P(1,2)^2+P(2,2)^2)
Using the script above, we can design the appropriate controller gain K
despite having perturbation.

10
Copyright
2007 by Withit Chatlatanagulchai
208581 Nonlinear Systems in Mechanical Engineering
Lesson 12
Solution
Normally, we would design
Solution
The system is feedback linearizable and the feedback linearizing
control law can be chosen as
u    k  a  x  bx3 , k  0
u  h  x1    k1 x1  k2 x2  ,
to cancel all nonlinear terms to result in the closed-loop system
where k1 and k 2 can be chosen to assign the closed-loop eigenvalues at
x  kx.
desired locations.
On the other hand, we can use the control based on passivity
However, the term bx is called nonlinear damping, and leaving it
in the closed-loop system as
3
u    x2  ,
x  kx  bx3
where

is locally Lipschitz function that satisfies
  0  0
and
y  y   0 for y  0. The closed-loop system will be passive, and the
makes the trajectories approach the origin fast than the trajectories of
x  kx. Therefore, we would want the control law
derivative of the Lyapunov function
u    k  a  x, k  0 .
V  0 h  z  dz 
x1
Moreover, the linear control is simpler and uses less control effort.

1 2
x2
2
is given by
V   x2  x2  .
 Example 7 [1]: Design a control law for the second-order system
x1  x2 ,
Because
x2  h  x1   u ,
x2  t   0  x2  t   0  h  x1  t    0  x1  t   0,
where h  0   0 and x1h  x1   0 for all x1  0.
asymptotic stability of the origin follows from the invariance principle.
The control law u    x2  has two advantages over the
feedback linearizing control. First, it does not use the model of the function
h and therefore robust to uncertainty in modeling h. Second, the flexibility
in choosing the function  can be used to reduce the control effort.

11
Copyright
2007 by Withit Chatlatanagulchai
208581 Nonlinear Systems in Mechanical Engineering
Lesson 12
2.2 Tracking
y1  y2 ,
Consider a single-input-single-output, input-output linearizable
system in the normal form
y2  n2 y1  2n y2  n2 w,
r  y1.
  f 0  ,   ,
Therefore, r  t  , r  t  , and r  t  will be available on-line.
  Ac  Bc  x  u    x   ,
Let
y  Cc .
 1  r 
 r 




R
,
e


    R. .





1


1




r



   r

The input-state linearizable system whose   n is a special case of the
form above where the  variable and its equation are dropped.
We want to design a controller for y to follow a reference
trajectory r by assuming that
1) r  t  and its derivatives up to r

t 
The change of variables e    R yields
are bounded for all t  0 and the
 th derivative r     t  is a piecewise continuous function of t ,
2) the signals r ,
,r

  f 0  , e  R  ,

are available on-line.

e  Ac e  Bc   x  u    x   r    .
The reference trajectory r  t  could be the output of a reference model
driven by some input signal w  t  . For example, for a relative degree two
The state feedback control
system, r  t  could be a second-order linear time-invariant system
u    x     x  v  r     ,
represented by the transfer function
n2
,
s 2  2n s  n2
where
  x   1/   x  ,
reduces the normal form to the cascade system
  f 0  , e  R  ,
 and n are chosen to shape r  t  for a
given input signal w  t  . The signal r  t  can be generated on-line by
where the positive constants
e  Ac e  Bc v.
We then want to design v  Ke to make Ac  Bc K Hurwitz while
using the state model
maintaining

bounded for all t  0. The control then becomes


u    x     x   K   R   r    .
12
Copyright
(18)
2007 by Withit Chatlatanagulchai
208581 Nonlinear Systems in Mechanical Engineering
Lesson 12
The closed-loop system is given by
we obtain
  f 0  , e  R  ,
e1  e2 ,
e   Ac  Bc K  e.
e2  a sin x1  bx2  cu  r .
Lemma 13.1 and 13.2 also apply. So, if the origin of
is asymptotically stable, the state
 t 
The state-feedback control (18) is given by
  f0 , 0
will be bounded for sufficiently
u
small e  0 ,   0  , and R  t  , the so-called local tracking. And if the
  f0  ,  
system
is input-to-state stable, we would achieve global

where K  k1 , k2
tracking.
1
 a sin x1  bx2  r  k1e1  k2e2  ,
c
 is designed to assign the eigenvalues of
Ac  Bc K at
desired locations in the open left-half complex plane.
The following Matlab script implements this control law. Note that
we intentionally let x1  0  0.7 rad to see if x1  t  approaches zero.
 Example 8 [1]: Design a feedback linearization control law for the
pendulum so that the angle  follows a smooth square wave r.
clear
close all
Solution
The pendulum equation is
%general
ts = 0.001; %sampling time in seconds
tend = 5; %end time in seconds
t = 0:ts:tend-ts; %time
x1  x2 ,
x2  a sin x1  bx2  cu ,
y  x1.
%reference signal
T = 4; %period
S = square(2*pi/T*t); %square wave
sys = tf(1, [1 30 200]); %a transfer function
rtemp = lsim(sys, S, t); %passing squave wave to the transfer
function
A = 90*pi/180; %amplitude in radians
r = A/max(rtemp)*rtemp;
rdot = diff(r)/ts; %first derivative of r(t)
r2dot = diff(rdot)/ts; %second derivative of r(t)
The system is already in normal form with relative degree two in R . It is
minimum phase by default. We want the output y to track a smooth
2
square wave r  t  generated by passing a square wave into a transfer
function
1
.
 s  30s  200 
2
%plant parameters
a = 10; %nominal plant
b = 1;
c = 10;
Taking
e1  x1  r , e2  x2  r ,
%controller parameters
13
Copyright
2007 by Withit Chatlatanagulchai
208581 Nonlinear Systems in Mechanical Engineering
Lesson 12
k1 = 4;
k2 = 2;
4
x1 vs r
%closed-loop system
x1(1) = 0.7; x2(1) = 0; %initial conditions
for i = 1:tend/ts-2;
e1(i) = x1(i) - r(i);
e2(i) = x2(i) - rdot(i);
u(i) = 1/c*(a*sin(x1(i))+b*x2(i)+r2dot(i)-k1*e1(i)k2*e2(i));
2
0
-2
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
x2 vs rdot
20
x1dot = x2(i);
x2dot = -a*sin(x1(i))-b*x2(i)+c*u(i);
0
-20
x1(i+1) = x1(i)+ts*x1dot;
x2(i+1) = x2(i)+ts*x2dot;
100
u
end
%plot
figure(1),
L = length(u);
subplot(311), plot(t(1:L), r(1:L), ':r'), hold on,
plot(t(1:L), x1(1:L)), ylabel('x1 vs r')
subplot(312), plot(t(1:L), rdot(1:L), ':r'), hold on,
plot(t(1:L), x2(1:L)), ylabel('x2 vs rdot')
subplot(313), plot(t(1:L), u), ylabel('u')
0
-100

The results are given in the figure below.
Lesson 12 Homework Problems
None
Homework problems are from the required textbook (Nonlinear
Systems, by Hassan K. Khalil, Prentice Hall, 2002.)
References
[1]
14
Nonlinear Systems, by Hassan K. Khalil, Prentice Hall, 2002.
Copyright
2007 by Withit Chatlatanagulchai