Professional Documents
Culture Documents
Automatic Control 2
Nonlinear systems
Prof. Alberto Bemporad
University of Trento
Academic year 2010-2011
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 1 / 18
Lecture: Nonlinear systems Stability analysis
Nonlinear dynamical systems
x(t) u(t)
controller
!"!#$!%&'()*!&+$,&#(-'",%..
x = f(x, u)
Sunday, May 16, 2010
Most existing processes in practical applications are described by nonlinear
dynamics x = f (x, u)
Often the dynamics of the system can be linearized around an operating point
and a linear controller designed for the linearized process
Question #1: will the closed-loop system composed by the nonlinear process
+ linear controller be asymptotically stable ? (nonlinear stability analysis)
Question #2: can we design a stabilizing nonlinear controller based on the
nonlinear open-loop process ? (nonlinear control design)
This lecture is based on the book Applied Nonlinear Control by J.J.E. Slotine and W. Li,
1991
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 2 / 18
Lecture: Nonlinear systems Stability analysis
Positive denite functions
Key idea: if the energy of a system dissipates over time, the system
asymptotically reaches a minimum-energy conguration
Assumptions: consider the autonomous nonlinear system x = f (x), with f ()
differentiable, and let x = 0 be an equilibrium (f (0) = 0)
Some denitions of positive deniteness of a function V :
n
=
_
x : x
2
_
around the origin such that V(x) > 0 x B
\ 0
V is called globally positive denite if B
=
n
(i.e. )
V is called negative denite if V is positive denite
V is called positive semi-denite if V(x) 0 x B
, x = 0
V is called positive semi-negative if V is positive semi-denite
Example: let x = [x
1
x
2
]
, V :
2
V(x) = x
2
1
+x
2
2
is globally positive denite
V(x) = x
2
1
+x
2
2
x
3
1
is locally positive denite
V(x) = x
4
1
+sin
2
(x
2
) is locally positive denite and globally positive semi-denite
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 3 / 18
Lecture: Nonlinear systems Stability analysis
Lyapunovs direct method
Theorem
Given the nonlinear system x = f (x), f (0) = 0, let V :
n
be positive denite
in a ball B
V(x) = V(x)
x = V(x)
f (x)
is negative denite on B
(lim
t+
x(t) = 0 for all x(0) B
). If
V(x) is
only negative semi-denite on B
V(x
1
, x
2
) = 2(x
2
1
+x
2
2
)(x
2
1
+x
2
2
2)
It is easy to check that
V(x
1
, x
2
) is negative denite if x
2
2
= x
2
1
+x
2
2
< 2.
Then for any B
2 is a domain of attraction
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 5 / 18
Lecture: Nonlinear systems Stability analysis
Example of Lyapunovs direct method (contd)
Cf. Lyapunovs indirect method: the linearization around x = 0 is
f (0, 0)
x
=
_
3x
2
1
3x
2
2
2 6x
1
x
2
10x
1
x
2
5x
2
1
+3x
2
2
2
_
_
_
_
_
x=0
=
_
2 0
0 2
_
which is an asymptotically stable matrix
Lyapunovs indirect method tells us that the origin is locally asymptotically
stable
Lyapunovs direct method also tells us that B
2
Consider this other example: x = x
3
. The origin as an equilibrium. But
f (0,0)
x
= 3 0
2
= 0, so Lyapunov indirect method is useless.
Lyapunovs direct method with V = x
2
provides
V = 2x
4
, and therefore we
can conclude that x = 0 is (globally) asymptotically stable
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 6 / 18
Lecture: Nonlinear systems Stability analysis
Case of continuous-time linear systems
Lets apply Lyapunovs direct method to linear autonomous systems x = Ax
Let V(x) = x
Px, with P = P
Px +x
Px = x
(A
P +PA)x
P +PA = Q
for some Q 0 (for example, Q = I)
Given a matrix Q 0, the matrix equation A
P(Ax) x
Px = x
(A
PA P)x = x
Qx
V(x) is negative denite if and only if for some Q 0
A
PA P = Q
MATLAB
P=dlyap(A,Q)
The matrix equation A
h(t) = a
_
2gh(t) +u(t)
We dont want to linearize around h = h
d
and use linear control techniques,
that would only ensure local stability (cf. Lyapunov linearization method)
Dene instead
u(t) = a
_
2gh(t) +Av(t)
where v(t) is a new equivalent input to be dened next by a control law
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 10 / 18
Lecture: Nonlinear systems Feedback linearization
Example of feedback linearization (contd)
The resulting dynamics becomes
h(t) = v(t)
Choose v(t) = e(t), with > 0 and e(t) = h(t) h
d
. The resulting
closed-loop error dynamics becomes
e(t) = e(t)
which is asymptotically stable (h(t) tends asymptotically to h
d
)
The resulting nonlinear control law applied to the tank system is
u(t) = a
_
2gh(t)
. _ .
nonlinearity cancellation
A( h(t) h
d
. _ .
linear error feedback
)
Can we generalize this idea ?
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 11 / 18
Lecture: Nonlinear systems Feedback linearization
Feedback linearization
Consider for simplicity single-input nonlinear systems, u
Let the dynamical system be in nonlinear canonical controllability form
x
1
(t) = x
2
(t)
x
2
(t) = x
3
(t)
.
.
.
x
n
(t) = f
n
(x(t)) +g
n
(x(t))u(t)
and assume g
n
(x) = 0, x
n
Dene u(t) =
1
g
n
(x(t))
_
v(t) f
n
(x(t))
_
to get the equivalent linear system
x
1
(t) = x
2
(t)
x
2
(t) = x
3
(t)
.
.
.
x
n
(t) = v(t)
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 12 / 18
Lecture: Nonlinear systems Feedback linearization
Feedback linearization (contd)
The resulting equivalent linear system x = Ax +Bv is the cascade of n
integrators
A =
_
_
_
_
_
_
_
_
0 1 0 0
0 0 1 0
0 0 0
.
.
.
0
0 0 0 1
0 0 0 0
_
_
_
_
_
_
_
_
, B =
_
_
_
_
_
_
0
0
0
0
1
_
_
_
_
_
_
and is completely reachable
To steer the state x asymptotically to the origin, we design a control law
v = Kx (by pole-placement, LQR, etc.)
K
x(t)
pole-placement loop
linearization loop
x = f(x, u)
u(t) v(t)
u(x, v)
Sunday, May 16, 2010
Note that the nonlinear model must be rather accurate for feedback
linearization to work
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 13 / 18
Lecture: Nonlinear systems Feedback linearization
Feedback linearization for robotic manipulation
Consider a two-link robot
Each joint equipped with a motor providing
input torque
i
, an encoder measuring the
joint position q
i
, and a tachometer
measuring the joint velocity q
i
, i = 1, 2
Objective of control design: make q
1
(t) and
q
2
(t) follow desired position histories q
d1
(t)
and q
d2
(t)
q
d1
(t) and q
d2
(t) are specied by the motion
planning system of the robot
Sect. 6.1
Example 6.2: Feedback linearization of a two-link robot
Intuitive Concepts 211
Figure 6.2 provides the physical model of a two-link robot, with each joint equipped with a motor
for providing input torque, an encoder for measuring joint position, and a tachometer for
measuring joint velocity. The objective of the control design is to make the joint positions q
s
and
q
2
follow desired position histories q^(t) and q^t) , which are specified by the motion planning
system of the robot. Such tracking control problems arise when a robot hand is required to move
along a specified path, e.g., to draw circles.
Figure 6.2 : A two-link robot
Using the well-known Lagrangian equations in classical dynamics, one can easily show that
the dynamic equations of the robot is
(6.9)
1
"21 "22| 52
_J_
~hq
2
hq
x
-hq
x
-hq
2
L
S\
82
= [<7j q
2
]
T
being the two joint angles, T = [lj X
2
]
r
being the joint inputs, and
H
u
=m
x
l ,
2
+ /
2
+ 2/ , / co
S < ? 2
] +/
2
I =
H
2\ =
m
2
l
\ ' c ^ ^ +
m
2
l
c
2
2
+
!
2
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 14 / 18
Lecture: Nonlinear systems Feedback linearization
Feedback linearization for robotic manipulation
Use Lagrangean equations to determine the dynamic equations of the robot
_
H
11
H
12
H
21
H
22
__
q
1
q
2
_
+
_
h q
2
h q
1
h q
2
h q
1
0
__
q
1
q
2
_
+
_
g
1
g
2
_
=
_
1
2
_
where
H
11
= m
1
l
2
c
1
+I
1
+m
2
_
l
2
1
+l
2
c
2
+2l
1
l
c
2
cos q
2
_
+I
2
H
22
= m
2
l
2
c
2
+I
2
H
12
= H
21
= m
2
l
1
l
c
2
cos q
2
+m
2
l
2
c
2
+I
2
h = m
2
l
1
l
c
2
sinq
2
g
1
= m
1
l
c
1
gcos q
1
+m
2
g
_
l
c
2
cos(q
1
+q
2
) +l
1
cos q
1
_
g
2
= m
2
l
c
2
gcos(q
1
+q
2
)
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 15 / 18
Lecture: Nonlinear systems Feedback linearization
Feedback linearization for robotic manipulation
The system dynamics can be compactly written as
H(q) q +C(q, q) q +g(q) =
Multiply both sides by H
1
(q) and obtain the second-order differential
equation
q = H
1
(q)C(q, q) q H
1
(q)g(q) +
Dene the control input to feedback-linearize the robot dynamics
_
1
2
_
=
_
H
11
H
12
H
21
H
22
__
v
1
v
2
_
+
_
h q
2
h q
1
h q
2
h q
1
0
__
q
1
q
2
_
+
_
g
1
g
2
_
where
v = q
d
2e
2
e, >0
v = [v
1
v
2
] is the equivalent input, and e = q q
d
being the tracking error on
positions
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 16 / 18
Lecture: Nonlinear systems Feedback linearization
Feedback linearization for robotic manipulation
The resulting error dynamics is
e +2e +
2
e = 0, >0
leading to the asymptotic convergence of the tracking error e(t) = q(t) q
d
(t)
and its derivative e(t) = q(t) q(t) to zero
_
e(t)
e(t)
_
= e
t
_
1 +t t
2
t 1 t
__
e(0)
e(0)
_ MATLAB
syms lam t
A=[0 1;-lam^2 -2
*
lam];
factor(expm(A
*
t))
In robotics, feedback linearization is also known as computed torque, and can
be applied to robots with an arbitrary number of joints
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 17 / 18
Lecture: Nonlinear systems Feedback linearization
English-Italian Vocabulary
nonlinear system sistema non lineare
Lyapunov function funzione di Lyapunov
feedback linearization feedback linearization
Translation is obvious otherwise.
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 18 / 18