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 Lif1h 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 Lnf1h 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 Lnf1h 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 spang 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
Lif1h
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 2n 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 2n 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
© Copyright 2026 Paperzz