Systems & Control Fundamentals
Gianmaria De Tommasi1
1 Associazione
EURATOM/ENEA/CREATE
DIS – Università degli Studi di Napoli Federico II
detommas@unina.it
November 20th 2009
GOTiT High Level Course
Magnetic Control of Tokamak Plasmas
4th
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
1 / 62
Outline
1
Preliminaries
Linear Systems
Transfer function
Block diagrams
Frequency response
Graphical representations of G(jω)
2
Feedback Control Systems
The control problem
Stability margins
Nyquist Criterion
Root locus
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
2 / 62
Preliminaries
Linear Systems
Dynamical Systems
State-space model
A finite dimensional continuous-time
dynamical system can be described by the
following differential equations:
ẋ(t) = f x(t) , u(t) , t , t0 , x(t0 ) = x0
y (t) = η x(t) , u(t) , t , t0
(1a)
(1b)
where:
x(t) ∈ Rn is the system state
x(t0 ) ∈ Rn is the initial condition
u(t) ∈ Rm is the input vector
y (t) ∈ Rp is the output vector
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
3 / 62
Preliminaries
Linear Systems
Linear time-invariant systems
A linear time-invariant (LTI) continuous-time system is described by
ẋ(t) = Ax(t) + Bu(t) ,
x(0) = x0
(2a)
y (t) = Cx(t) + Du(t)
(2b)
where A ∈ Rn×n , B ∈ Rn×m , C ∈ Rp×n and D ∈ Rp×m .
A dynamical system with single-input (m = 1) and single-output
(p = 1) is called SISO, otherwise it is called MIMO.
Matlab commands
sys = ss(A,B,C,D) creates a state-space model object.
y = lsim(sys,u,t) simulates the the time response of the LTI
system sys.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
4 / 62
Preliminaries
Linear Systems
Equilibria of nonlinear dynamical systems
Consider a nonlinear and time-invariant system
ẋ(t) = f x(t) , u(t) , x(0) = x0
y (t) = η x(t) , u(t)
(3a)
(3b)
If the input is constant, i.e. u(t) = ū, then the equilibria
xe1 , xe2 , . . . , xeq of such a system can be computed as solutions of the
homogeneous equation
f xe , ū) = 0 ,
Given an equilibrium xei the correspondent output is given by
yei = η xei , ū .
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
5 / 62
Preliminaries
Linear Systems
Linearization around a given equilibrium
If x0 = xe + δx0 and u(t) = ū + δu(t), with δx0 , δu(t) sufficiently
small, then the behaviour of (3) around a given equilibrium ū , xe is
well described by the linear system
δ ẋ(t) =
δy (t) =
∂f
∂f
δx(t) +
δu(t) ,
x
=
x
∂x
∂u x = xe
e
u = ū
u = ū
δx(0) = δx0
∂η
∂η
δx(t) +
δu(t)
x
=
x
∂x
∂u x = xe
e
u = ū
u = ū
(4a)
(4b)
The total output can be computed as
y (t) = η xe , ū + δy (t) .
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
6 / 62
Preliminaries
Linear Systems
Example - Pendulum
Mass m
Length L
Friction coefficient b
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
7 / 62
Preliminaries
Linear Systems
Example - Pendulum
Nonlinear model
Let
x(t) =
θ(t)
θ̇(t)
u(t) = F (t)
y (t) = θ(t)
then
ẋ1 (t) = x2 (t)
b
1
g
cos x1 (t)u(t)
x2 (t) +
ẋ2 (t) = − sin x1 (t) −
2
L
mL
mL
y (t) = x1 (t)
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
8 / 62
Preliminaries
Linear Systems
Example - Pendulum
Equilibria
If ū = mg, solving f xe , ū = 0 we get
π
4 + kπ
xek =
0
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
9 / 62
Preliminaries
Linear Systems
Example - Pendulum
T
Around the equilibria xe = π4 0 the behaviour of the pendulum is
well described by the linear system
δ ẋ1 (t) = δx2 (t)
√
2g
b
1
δ ẋ2 (t) = −
δx1 (t) −
δx2 (t) + √
δu(t)
2
L
mL
2mL
δy (t) = δx1 (t)
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
10 / 62
Preliminaries
Linear Systems
The script pendulum.m - 1
% System parameters
m = 10;
b = 15;
g = 9.81;
L = 1;
% Equilibria
xbar = [pi/4 0];
ubar = m*g;
% Output at the equilibria
ybar = xbar(1);
% Variation of the initial conditions
dx0 = [0.3 3];
% Input variation: Am*sin(t)
Am = 10;
% Simulation time interval
tfin = 15;
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
11 / 62
Preliminaries
Linear Systems
The script pendulum.m - 2
% Linearized model matrices
A = [ 0 1 ; -sqrt(2)*g/L -b/(m*Lˆ2) ];
B = [ 0 ; 1/(sqrt(2)*m*L) ];
C = [ 1 0 ];
D = 0;
% Linearized model
sys_l = ss(A,B,C,D);
% Time vector
tlin = 0:.001:tfin;
% Linear simulation
du = Am*sin(tlin);
ylin= lsim(sys_l,du,tlin,dx0);
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
12 / 62
Preliminaries
Linear Systems
The script pendulum.m - 3
% Nonlinear simulation
[ t,x_nl ]=ode45(’p_nl’,[0 tfin],xbar+dx0,[],m,b,g,L,ubar,Am);
y_nl = x_nl(:,1);
% Plots
figure(1)
plot(t,y_nl*180/pi,’-’,tlin,(ylin+ybar)*180/pi,’-’)
grid on
ylabel(’[deg]’)
xlabel(’tempo [s]’)
title(’theta’)
legend(’NL’,’L’)
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
13 / 62
Preliminaries
Linear Systems
The function p_nl.m
function xdot = p_nl(t,x,flag,m,b,g,L,ubar,Am)
%
% Returns the state derivative
%
u = ubar + Am*sin(t);
xdot = [x(2); -g/L*sin(x(1)) - b/(m*Lˆ2)*x(2) +...
u/(m*L)*cos(x(1))];
Download Matlab example
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
14 / 62
Preliminaries
Linear Systems
Asymptotic stability of LTI systems
Asymptotic stability
This property roughly asserts that every solution of ẋ(t) = Ax(t) tends to zero as t → ∞.
Note that for LTI systems the stability property is related to the system and not to a specific
equilibrium.
Theorem - System (2) is asymptotically stable iff A is Hurwitz, that is if every eigenvalue λi of
A has strictly negative real part
ℜ λi < 0 , ∀ λi .
Theorem - System (2) is unstable if A has at least one eigenvalue λ̄ with strictly positive real
part, that is
∃ λ̄ s.t. ℜ λ̄ > 0 .
Theorem - Suppose that A has all eigenvalues λi such that ℜ λi ≤ 0, then system (2) is
unstable if there is at least one eigenvalue λ̄ such that ℜ λ̄ = 0 which corresponds to a Jordan
block with size > 1.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
15 / 62
Preliminaries
Linear Systems
Equilibrium stability for nonlinear systems
For nonlinear system the stability property is related to the specific
equilibrium.
Theorem - The equilibrium state xe corresponding to the constant
input ū a nonlinear system (3) is asymptotically stable if all the
eigenvalues of the correspondent linearized system (4) have strictly
negative real part.
Theorem - The equilibrium state xe corresponding to the constant
input ū a nonlinear system (3) is unstable if there exists at least one
eigenvalue of the correspondent linearized system (4) which has
strictly positive real part.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
16 / 62
Preliminaries
Transfer function
Transfer function of LTI systems
Given a LTI system (2) the corresponding transfer matrix from u to y is
defined as
Y (s) = G(s)U(s) ,
with s ∈ C. U(s) and Y (s) are the Laplace transforms of u(t) and y (t)
with zero initial condition (x(0) = 0), and
−1
B+D.
G(s) = C sI − A
(5)
For SISO system (5) is called transfer function and it is equal to the
Laplace transform of the impulsive response of system (2) with zero
initial condition.
Matlab commands
sys = tf(num,den) creates a transfer function object.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
17 / 62
Preliminaries
Transfer function
Transfer function
Given the transfer function G(s) and the Laplace transform of the input
U(s) the time response of the system can be computed as the inverse
transform of G(s)U(s), without solving differential equations.
As an example, the step response of a system can be computed as:
1
−1
G(s) .
y (t) = L
s
Matlab commands
[y,t] = step(sys) computes the step response of the LTI system
sys.
[y,t] = impulse(sys) computes the impulse response of the LTI
system sys.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
18 / 62
Preliminaries
Transfer function
Poles and zeros of SISO systems
Given a SISO LTI system , its transfer function is a rational function of s
G(s) =
Πi (s − zi )
N(s)
=ρ
,
D(s)
Πj (s − pj )
where N(s)
and D(s) are
polynomial in s, with
deg N(s) ≤ deg D(s) .
We call
pj poles of G(s)
zi zeros of G(s)
Matlab commands
sys = zpk(z,p,k) creates a zeros-poles-gain object.
p = eig(sys) or p = pole(sys) return the poles of the LTI
system sys.
z = zero(sys) returns the zeros of the LTI system sys.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
19 / 62
Preliminaries
Transfer function
Poles and eigenvalues of a LTI system
Every pole of G(s) is an eigenvalue of the system matrix A. However,
not every eigenvalue of A is a pole of G(s).
If all the poles of G(s) have strictly negative real part – i.e. they are
located in the left half of the s-plane (LHP) – the SISO system is said
to be Bounded–Input Bounded–Output stable (BIBO).
A system is BIBO stable if every bounded input to the system results in
a bounded output over the time interval [0, ∞).
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
20 / 62
Preliminaries
Transfer function
Time constants, natural frequencies and damping factors
A transfer function can be also specified in terms of
time constants (τ ,T )
natural frequencies (ωn ,αn )
damping factors (ξ,ζ)
gain (µ)
system type (i.e. number of poles/zeros in 0, g)
2
ζ
Πi (1 + Ti s)Πj 1 + 2 αnj s + αsn
j
j
.
G(s) = µ
ξl
s2
g
s Πk (1 + τk s)Πl 1 + 2 ωn s + ωn
l
G. De Tommasi (CREATE)
Systems & Control Fundamentals
l
GOTiT - Nov. 2009
21 / 62
Preliminaries
Block diagrams
Block diagrams
When dealing with transfer functions, it is usual to resort to Block
diagrams which permit to graphically represent the interconnections
between system in a convenient way.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
22 / 62
Preliminaries
Block diagrams
Series connection
Matlab commands
sys = series(sys1,sys2) makes the series interconnection
between sys1 and sys2.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
23 / 62
Preliminaries
Block diagrams
Parallel connection
Matlab commands
sys = parallel(sys1,sys2) makes the parallel interconnection
between sys1 and sys2.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
24 / 62
Preliminaries
Block diagrams
Feedback connection
Matlab commands
sys = feedback(sys1,sys2,[+1]) makes the feedback interconnection
between sys1 and sys2. Negative feedback is the default. If the third
parameter is equal to +1 positive feedback is applied.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
25 / 62
Preliminaries
Block diagrams
Stability of interconnected systems
Given two asymptotically stable LTI systems G1 (s) and G2 (s)
the series connection G2 (s)G1 (s) is asymptotically stable
the parallel connection G1 (s) + G2 (s) is asymptotically stable
the feedback connection
G. De Tommasi (CREATE)
G1 (s)
1±G1 (s)G2 (s)
is not necessarely stable
Systems & Control Fundamentals
GOTiT - Nov. 2009
26 / 62
Preliminaries
Frequency response
Frequency response
Given a LTI system the complex function
−1
G(jω) = C jωI − A
B+D,
with ω ∈ R is called frequency response of the system.
G(jω) permits to evaluate the system steady-state response to a
sinusoidal input. In particular if
u(t) = A sin(ω̄t + ϕ) ,
then the steady-state response of a LTI system is given by
y (t) = G(j ω̄) A sin ω̄t + ϕ + ∠G(j ω̄) .
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
27 / 62
Preliminaries
Graphical representations of G(jω)
Bode plot
Given a LTI system G(s) the Bode diagrams plot
the magnitude of G(jω) (in dB, G(jω)
dB
= 20 log10 G(jω) )
and the phase of G(jω) (in degree)
as a function of ω (in rad/s) in a semi-log scale (base 10).
Bode plots are used for both analysis and synthesis of control
systems.
Matlab commands
bode(sys) plots the the Bode diagrams of the LTI system sys.
bodemag(sys) plots the Bode magnitude diagram of the LTI system
sys.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
28 / 62
Preliminaries
Graphical representations of G(jω)
Bode plot - Example
Let consider
1+s
1+s
= 10
G(s) = 10 2
s
s(0.0025s2 + 0.03s + 1)
s 400
+ 2 0.3
20 s + 1
Matlab commands
s = tf(’s’);
sys = 10*(1+s)/(s*(sˆ2/400+0.6*s/20+1));
bode(sys);
grid
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
29 / 62
Preliminaries
Graphical representations of G(jω)
Bode plot - Example
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
30 / 62
Preliminaries
Graphical representations of G(jω)
Minimum phase systems
A stable system is said to be a minimum phase system if it has not
time delays or right-half plane (RHP) zeros.
For minimum phase systems there is a unique relationship between
the gain and phase of the frequency response G(jω). This may be
quantified by the Bode’s gain-phase relationship
Z
1 +∞ d ln |G(jω)| ω + ω̄ dω
ln
.
∠G(j ω̄) =
π −∞
d ln ω
ω − ω̄ ω
The name minimum phase refers to the fact that such a system has the
minimum possible phase lag for the given magnitude response |G(jω)|.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
31 / 62
Preliminaries
Graphical representations of G(jω)
Nyquist plot
The Nyquist is a polar plot of the frequency response G(jω) on the
complex plane.
This plot combines the two Bode plots - magnitude and phase - on a
single graph, with frequency ω, which ranges in (−∞ , +∞), as a
parameter along the curve.
Nyquist plots are useful to check stability of closed-loop systems
(see Nyquist stability criterion ).
Matlab commands
nyquist(sys) plots the Nyquist plot of the LTI system sys.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
32 / 62
Preliminaries
Graphical representations of G(jω)
Nyquist plot - Example
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
33 / 62
Preliminaries
Graphical representations of G(jω)
Nichols plot
It is similar to the Nyquist plot, since it plots both the magnitude and
the phase of G(jω) on a single chart, with frequency ω as a parameter
along the curve.
As for the Bode plot the magnitude |G(jω)| is expressed in dB and the
phase ∠G(jω) in degree.
Nichols charts are useful for the design of control systems, in
particular for the design of lead, lag, lead-lag compensators.
Matlab commands
nichols(sys) plots the Nichols chart of the LTI system sys.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
34 / 62
Preliminaries
Graphical representations of G(jω)
Nichols plot - Example
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
35 / 62
Feedback Control Systems
The control problem
The control problem
The objective of a control system is to make the output of a plant y (t) behave
in a desired way by manipulating the plant input u(t).
A good controller should manipulate u(t) so as to
counteract the effect of a disturbance d(t) (regulator problem)
keep the output close to a given reference input r (t) (servo problem)
In both cases we want the control error e(t) = y (t) − r (t) to be small.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
36 / 62
Feedback Control Systems
The control problem
Why feedback ?
A major sources of difficulty are that
1 the plant model G(s) and the disturbance model Gd (s) may be affected by uncertainty
and/or may change with time
2 the disturbance is not always measurable
3 the plant can be unstable
It turns out that e feed-forward approach is not robust enough and/or is not always a
viable solution.
A feedback approach can guarantee the desired degree of robustness. However design a
feedback control system is not straightforward: instability is around the corner!
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
37 / 62
Feedback Control Systems
The control problem
Performance and stability
A good controller must guarantee:
Nominal stability - The system is stable with no model
uncertainty
Nominal Performance - The system satisfies the performance
specifications with no model uncertainty
Robust stability The system is stable for all perturbed plants
about the nominal model up to the worst case model uncertainty
Robust performance The system satisfies the performance
specifications for all perturbed plants about the nominal model up
to the worst case model uncertainty
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
38 / 62
Feedback Control Systems
The control problem
One degree-of-freedom controller
The input to the plant is given by
U(s) = K (s) R(s) − Y (s) − N(s) .
The objective of control is to manipulate design a controller K (s) such
that the control error e(t) = r (t) − y (t) remains small in spite of
disturbances d(t).
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
39 / 62
Feedback Control Systems
The control problem
Terminology and Notation
L(s) = G(s)K (s) is called loop transfer function
−1
S(s) = I + L(s)
is called sensitivity function
−1
T (s) = I + L(s)
L(s) is called complementary sensitivity
function
It is straightforward to note that
T (s) + S(s) = I .
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
40 / 62
Feedback Control Systems
The control problem
One DOF controller
Exploiting the composition rules for block diagrams, it turns out that
Y (s) = T · R(s) + SGd · D(s) − T · N(s)
(6a)
U(s) = KS · R(s) − K (s)S(s)Gd · D(s) − KS · N(s)
(6c)
E(s) = −S · R(s) + SGd · D(s) − T · N(s)
G. De Tommasi (CREATE)
Systems & Control Fundamentals
(6b)
GOTiT - Nov. 2009
41 / 62
Feedback Control Systems
The control problem
One DOF controller
Remark - S(s) is called sensitivity because it gives the relative
sensitivity of the closed-loop transfer function T (s) to the relative plant
model error. In particular, at a given frequency ω we have for a SISO
plant that
dT
T
dG
G
= S.
Remark - Equations (6) are written in matrix form because they apply
to MIMO systems. For SISO systems we may write
G. De Tommasi (CREATE)
S(s) =
1
,
1 + L(s)
T (s) =
L(s)
.
1 + L(s)
Systems & Control Fundamentals
GOTiT - Nov. 2009
42 / 62
Feedback Control Systems
The control problem
The control dilemma
Let consider
Y (s) = T · R(s) + SGd · D(s) − T · N(s) .
In order to reduce the effect of the disturbance d(t) on the output
y (t), the sensitivity function S(s) should be made small
(particularly in the low frequency range)
In order to reduce the effect of the measurement noise n(t) on the
output y (t), the complementary sensitivity function T (s) should be
made small (particularly in the high frequency range)
However, for all frequencies it is
T +S =I.
Thus a trade-off solution must be achieved.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
43 / 62
Feedback Control Systems
The control problem
Feedback may cause instability
One of the main issues in designing feedback controllers is stability.
If the feedback gain is too large then the controller may overreact and the closed-loop system
becomes unstable.
Download Simulink example
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
44 / 62
Feedback Control Systems
The control problem
Bandwidth and crossover frequency
Usually the frequency response of loop transfer function |L(jω)| has a low-pass behaviour.
The crossover frequency ωc is the frequency such that |L(jωc )| = 1.
In most of the cases the crossover frequency is a good estimation of the closed-loop
bandwidth
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
45 / 62
Feedback Control Systems
Stability margins
Gain and phase margin
The frequency response of the loop transfer function L(jω) can be used to
estimate the stability margins.
Gain margin (GM)
1/|L(jω180 | ,
where ω180 is the phase corssover frequency.
Phase margin (PM)
∠L(jωc ) + 180◦ ,
where ωc is the crossover frequency.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
46 / 62
Feedback Control Systems
Stability margins
Gain Margin
The GM is the factor by which the loop gain |L(jω)| may be increased
before the closed-loop system becomes unstable.
The GM is thus a direct safeguard against steady-state gain
uncertainty.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
47 / 62
Feedback Control Systems
Stability margins
Phase Margin
The phase margin tells how much phase lag can added to L(s) at
frequency ωc before the phase at this frequency becomes 180◦ which
corresponds to closed-loop instability (see Nyquist stability criterion ).
The PM is a direct safeguard against time delay uncertainty.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
48 / 62
Feedback Control Systems
Nyquist Criterion
Nyquist Criterion - Preliminaries
The Nyquist Criterion permits to check the stability of a closed loop
system by using the Nyquist plot of the loop frequency response L(jω).
The criterion is based on the fact the the close-loop poles are equal to
the zeros of the transfer function
D(s) = 1 + L(s) .
Hence, if D(s) has at least one zero z̄ such that ℜ(z̄) > 0 the
closed-loop system is unstable.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
49 / 62
Feedback Control Systems
Nyquist Criterion
Nyquist Criterion
Consider a loop frequency response L(jω) and let
P be the number of poles of L(s) with strictly positive real part
Z be the number of zeros of L(s) with strictly positive real part
The Nyquist plot of L(jω) makes a number of encirclements N
(clockwise) about the point (−1 , j0) equal to
N =Z −P.
It turns out that the closed-loop system is asymptotically if and only if
the Nyquist plot of L(jω) encircle (counter clockwise) the point
(−1 , j0) a number of times equal to P.
The criterion is valid if the Nyquist plot of L(jω) do not intersect
the point (−1 , j0).
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
50 / 62
Feedback Control Systems
Nyquist Criterion
Nyquist plot - Example
G(s) =
1
,
s3 + 3s2 + 3s + 1
K (s) = Kp
1+s
.
s
Download Simulink example
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
51 / 62
Feedback Control Systems
Nyquist Criterion
Nyquist Criterion - Remarks
1
If the loop transfer function L(s) has a zero pole of multiplicity l,
then the Nyquist plot has a discontinuity at ω = 0. Further analysis
indicates that the zero poles should be neglected, hence if there
are no other unstable poles, then the loop transfer function L(s)
should be considered stable, i.e. P = 0.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
52 / 62
Feedback Control Systems
Nyquist Criterion
Nyquist Criterion - Remarks
1
2
If the loop transfer function L(s) has a zero pole of multiplicity l,
then the Nyquist plot has a discontinuity at ω = 0. Further analysis
indicates that the zero poles should be neglected, hence if there
are no other unstable poles, then the loop transfer function L(s)
should be considered stable, i.e. P = 0.
If the loop transfer function L(s) is stable, then the closed-loop
system is unstable for any encirclement (clockwise) of the point -1.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
52 / 62
Feedback Control Systems
Nyquist Criterion
Nyquist Criterion - Remarks
1
2
3
If the loop transfer function L(s) has a zero pole of multiplicity l,
then the Nyquist plot has a discontinuity at ω = 0. Further analysis
indicates that the zero poles should be neglected, hence if there
are no other unstable poles, then the loop transfer function L(s)
should be considered stable, i.e. P = 0.
If the loop transfer function L(s) is stable, then the closed-loop
system is unstable for any encirclement (clockwise) of the point -1.
If the loop transfer function L(s) is unstable, then there must be
one counter clockwise encirclement of -1 for each pole of L(s) in
the right-half of the complex plane.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
52 / 62
Feedback Control Systems
Nyquist Criterion
Nyquist Criterion - Remarks
1
2
3
4
If the loop transfer function L(s) has a zero pole of multiplicity l,
then the Nyquist plot has a discontinuity at ω = 0. Further analysis
indicates that the zero poles should be neglected, hence if there
are no other unstable poles, then the loop transfer function L(s)
should be considered stable, i.e. P = 0.
If the loop transfer function L(s) is stable, then the closed-loop
system is unstable for any encirclement (clockwise) of the point -1.
If the loop transfer function L(s) is unstable, then there must be
one counter clockwise encirclement of -1 for each pole of L(s) in
the right-half of the complex plane.
If the Nyquist plot of L(jω) intersect the point (−1 , j0), then
deciding upon even the marginal stability of the system becomes
difficult and the only conclusion that can be drawn from the graph
is that there exist zeros on the imaginary axis.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
52 / 62
Feedback Control Systems
Root locus
Location of the poles of a closed-loop system
The time behaviour of a closed-loop system is strictly related to the
position of its poles on the complex plane.
For example, for a second order closed-loop system it is possible to
relate the features of the step response such as
rise time
overshoot
settling time
to the location of its poles.
The Root Locus design method permits to evaluate how changes in the
loop transfer function L(s) affect the position of the closed-loop poles.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
53 / 62
Feedback Control Systems
Root locus
The Root Locus
The closed-loop poles are given by the roots of
1 + L(s) .
(7)
Assuming that L(s) = ρL′ (s) the Root Locus plot the locus of all
possible roots of (7) as ρ varies in the range [0 , ∞).
The Root Locus can be used to study the effect of additional poles and
zeros in L′ (s), i.e. in the controller K (s).
The Root Locus can be effectively used to design SISO controllers.
Matlab commands
rlocus(sys) - plots the root locus for the loop transfer function
specified by sys.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
54 / 62
Feedback Control Systems
Root locus
Root Locus - Example
L′ (s) =
G. De Tommasi (CREATE)
1+s
1
1
· 3
=
.
s
s + 3s2 + 3s + 1
s(s + 1)2
Systems & Control Fundamentals
GOTiT - Nov. 2009
55 / 62
Feedback Control Systems
Root locus
Root Locus - Example
Consider the unstable loop transfer function
L′ (s) =
1
(s − 2)2
It is not possible to stabilize the system with a simple proportional controller.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
56 / 62
Feedback Control Systems
Root locus
Root Locus - Example
It is not possible to stabilize the system with a simple proportional controller.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
57 / 62
Feedback Control Systems
Root locus
Root Locus - Example
Add a pole in 0 to have zero steady-state error
L′ (s) =
1
s(s − 2)2
It is still not possible to stabilize the system with a simple proportional controller.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
58 / 62
Feedback Control Systems
Root locus
Root Locus - Example
Add two zeros to draw the poles in the LHP
L′ (s) =
The controller K (s) = ρ
(s+10)2
s
G. De Tommasi (CREATE)
(s + 10)2
s(s − 2)2
can stabilize the plant but is not causal.
Systems & Control Fundamentals
GOTiT - Nov. 2009
59 / 62
Feedback Control Systems
Root locus
Root Locus - Example
Add an high frequency pole to have a proper controller
L′ (s) =
(s + 10)2
s(s + 100)(s − 2)2
(s+10)2
The controller K (s) = ρ s(s+100) can stabilize.
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
60 / 62
Feedback Control Systems
Controller design
Hands on system
Let’s try to design our own controller (with Matlab)!
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
61 / 62
Appendix
Suggested textbooks
F. M. Callier and C. A. Desoer
Linear System Theory
Springer-Verlag, 1991
G. F. Franklin, J. D. Powell and A. Emami-Naeini
Feedback Control of Dynamic Systems
Pearson Prentice Hall, 2008
S. Skogestad and I. Postlethwaite
Multivariable Feedback Control - Analysis and Design
John Wiley and Sons, 2006
K. Zhou and J. C. Doyle
Essentials of Robust Control
Prentice Hall, 1998
G. De Tommasi (CREATE)
Systems & Control Fundamentals
GOTiT - Nov. 2009
62 / 62