Professional Documents
Culture Documents
Page 1 of 3
Syllabus
The 'Information' section of the course syllabus contains a list of questions each student was asked to answer about
their background. The information provided would have been used to create a class e-mail list and to adjust the pace
of the course.
Instructor
Feedback Control
NUMBER OF
TOPICS
LECTURES
3 State Estimation
4 Output Feedback
7 Robustness
Homework
z Weekly problem sets will be handed out on Fridays (due the following week).
There will be approximately two labs that will be graded as part of the homework.
z Midterm: Between Lecture 27 and 28, in class.
z Final Exam: After Lecture 37.
z Course Grades: Homework 30%, Midterm 20%, Final 50%.
Textbooks
Required:
http://ocw.mit.edu/OcwWeb/Aeronautics-and-Astronautics/16-31Feedback-Control-Syste... 8/12/2005
MIT OpenCourseWare | Aeronautics and Astronautics | 16.31 Feedback Control Systems,... Page 2 of 3
Goal
To teach the fundamentals of control design and analysis using state-space methods. This includes both the
practical and theoretical aspects of the topic. By the end of the course, you should be able to design
controllers using state-space methods and evaluate whether these controllers are robust.
Prerequisites
Policies
z You are encouraged to discuss the homework and problem sets. However, your submitted work
must be your own.
z Homework will be handed out Fridays, due back the following Friday at 5PM. Late homework will not
be accepted unless prior approval is obtained from Professor How. The grade on all late homework will
be reduced 25% per day. No homework will be accepted for credit after the solutions have been
handed out.
z There will hopefully be 2 Labs later in the semester that will be blended in with the homework. This
will be group work, depending on the class size.
z For feedback and/or questions, contact me through email for the best results.
Supplemental Textbooks
There are many others, but these are the ones on my shelf. All pretty much have the same content, but each
author focuses on different aspects.
Basic Control
http://ocw.mit.edu/OcwWeb/Aeronautics-and-Astronautics/16-31Feedback-Control-Syste... 8/12/2005
MIT OpenCourseWare | Aeronautics and Astronautics | 16.31 Feedback Control Systems,... Page 3 of 3
Linear Systems
http://ocw.mit.edu/OcwWeb/Aeronautics-and-Astronautics/16-31Feedback-Control-Syste... 8/12/2005
MIT OpenCourseWare | Aeronautics and Astronautics | 16.31 Feedback Control Systems,... Page 1 of 2
This course calendar incorporates the lecture schedule and assignment schedule for the semester. Some lecture topics
were taught over several class sessions.
1 Introduction HW1
2 Introduction
9 Time Domain
11 Controllability
14 Pole Placement
16 Performance
17 Performance
19 Pole Locations
20 Pole Locations
22 State Estimators
23 State Estimators
Quiz
30 Error Models
31 MIMO Systems
http://ocw.mit.edu/OcwWeb/Aeronautics-and-Astronautics/16-31Feedback-Control-Syste... 8/12/2005
MIT OpenCourseWare | Aeronautics and Astronautics | 16.31 Feedback Control Systems,... Page 2 of 2
33 MIMO Systems
34 LQR Optimal
35 LQR Optimal
36 Reference Cmds II
37 LDOC-Review
Final Exam
http://ocw.mit.edu/OcwWeb/Aeronautics-and-Astronautics/16-31Feedback-Control-Syste... 8/12/2005
Lecture #1
1
Fall 2001 16.31 1—1
Introduction
d(t)
• Goal: Design a controller K(s) so that the system has some desired
characteristics. Typical objectives:
— Stabilize the system (Stabilization)
— Regulate the system about some design point (Regulation)
— Follow a given class of command signals (Tracking)
— Reduce the response to disturbances. (Disturbance Rejection)
• Typically think of closed-loop control → so we would analyze the
closed-loop dynamics.
— Open-loop control also possible (called “feedforward”) — more
prone to modeling errors since inputs not changed as a result of
measured error.
• Note that a typical control system includes the sensors, actuators,
and the control law.
— The sensors and actuators need not always be physical devices
(e.g., economic systems).
— A good selection of the sensor and actuator can greatly simplify
the control design process.
— Course concentrates on the design of the control law given the
rest of the system (although we will need to model the system).
Fall 2001 16.31 1—2
Why Control?
OPERATION IRAQI FREEDOM -- An F-117 from the 8th Expeditionary Fighter Squadron out of Holloman Air Force
Base, N.M., flies over the Persian Gulf on April 14, 2003. The 8th EFS has begun returning to Hollomann A.F.B. after
having been deployed to the Middle East in support of Operation Iraqi Freedom. (U.S. Air Force photo by Staff Sgt.
Derrick C. Goode). http://www.af.mil/photos.html.
• Control objective
— Stabilization
— Red blimp tracks the motion of the green blimp
• Sensors
— GPS for positioning
— Compass for heading
— Gyros/GPS for roll attitude
• Actuators — electric motors (propellers) are very nonlinear.
• Dynamics
— “rigid body” with strong apparent mass effect.
— Roll modes.
• Modeling
— Analytic models with parameter identification to determine “mass”.
• Disturbances — wind
Fall 2001 16.31 1—5
State-Space Approach
• Basic questions that we will address about the state-space approach:
— What are state-space models?
— Why should we use them?
— How are they related to the transfer functions used in classical
control design?
— How do we develop a state-space model?
— How do we design a controller using a state-space model?
• Bottom line:
2. Why:
— State variable form convenient way to work with complex dy-
namics. Matrix format easy to use on computers.
— Transfer functions only deal with input/output behavior, but
state-space form provides easy access to the “internal” fea-
tures/response of the system.
— Allows us to explore new analysis and synthesis tools.
— Great for multiple-input multiple-output systems (MIMO),
which are very hard to work with using transfer functions.
Fall 2001 16.31 1—6
System Modeling
• Investigate the model of a simple system to explore the basics of
system dynamics.
— Provide insight on the connection between the system response
and the pole locations.
• Laplace transform
∞
L{f (t)} ≡ 0−
f (t)e−stdt
— Key point: If L{x(t)} = X(s), then L{ẋ(t)} = sX(s) assuming
that the initial conditions are zero.
2
m1 s + k −k X1 (s) 0
=
−k m2s2 + k X2(s) F (s)
ωn2 √
2. (s2 +2ζωn s+ωn2 )
⇔ e−ζωnt sin(ωn 1 − ζ 2 t)
• These results point out that there is a very strong connection be-
tween the pole locations and the time response of the system
— But there are other factors that come into play, as we shall see.
Fall 2001 16.31 1—12
• For a second order system, we can be more explicit and relate the
main features of the step response (time) and the pole locations
(frequency domain).
ωn2
G(s) = 2
(s + 2ζωns + ωn2 )
with u(t) a step, so that u(s) = 1/s
ωn2
• Then y(s) = G(s)u(s) = s(s2 +2ζωn s+ωn2 )
which gives (σ = ζωn)
σ
y(t) = 1 − e−σt cos(ωdt) + sin(ωdt)
ωd
• Several key time domain features:
— Rise time tr (how long to get close to the final value?)
— Settling time ts (how long for the transients to decay?)
— Peak overhsoot Mp , tp (how far beyond the final value does the
system respond, and when?)
• Can analyze the system response to determine that:
1. tr ≈ 2.2/wh
1/2
2
wh = wn 1 − 2ζ + 2 − 4ζ 2 + 4ζ 4
or can use tr ≈ 1.8/wn
2. ts(1%) = 4.6/(ζωn )
√−πζ
2
3. Mp = e 1−ζ and tp = π/ωd
• Formulas relate time response to pole locations. Can easily evalute
if the closed-loop system will respond as desired.
— Use to determine acceptable locations for closed-loop poles.
Fall 2001 16.31 1—13
• Examples:
— Max rise time - min ωn
Franklin, Gene F., Powell, J. David and Abbas Emami-Naeini. 1994. Feedback Control
of Dynamic Systems – 3rd Ed. Addison-Wesley
Slow dominant pole
num=5;den=conv([1 1],[1 5]);step(num,den,6)
Step Response
0.9
0.8
0.7
0.6
Amplitude
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6
Time (sec.)
Step Response
0.9
0.8
0.7
0.6
Amplitude
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6
Time (sec.)
Similar example, but with second order dynamics combined with a simple real pole.
z=.15;wn=1;plist=[wn/2:1:10*wn];
sys=tf(nd,dd);[y]=step(sys,t);
for p=plist;
num=nd;den=conv([1/p 1],dd);
sys=tf(num,den);[ytemp]=step(sys,t);
y=[y ytemp];
end
plot(t,y(:,1),'d',t,y(:,2),'+',t,y(:,4),'+',t,y(:,8),'v');
legend('2nd',num2str(plist(1)),num2str(plist(3)),num2str(plist(7)))
1.8
2nd
1.6 0.5
2.5
6.5
1.4
1.2
step response
0.8
0.6
0.4
0.2
0
0 5 10 15 20
time (sec)
For values of p=2.5 and 6.5, the response is very similar to the second order system. The
response with p=0.5 is clearly no longer dominated by the second-order dynamics
2 - 5
2 - 6
2 - 7
2 - 8
®
2 - 10
2 - 11
2 - 12
2 - 13
2 - 14
2 - 15
2 - 16
2 - 17
EX1 - 1
EX1 - 2
2 - 18
2 - 19
2 - 20
2 - 21
2 - 22
2 - 23
2 - 24
2 - 25
2 - 26
2 - 27
2 - 28
2 - 29
2 - 30
Example: G(s)=1/2^2
z=roots([-20 49 -10]);z=max(z),k=25/(5-2*z),alpha=5*z/(5-2*z),
num=1;den=[1 0 0];
rlocus(conv(num,knum),conv(den,kden));
hold;plot(-alpha+eps*j,'d');plot([-1+2*j,-1-2*j],'d');hold off
r=rlocus(conv(num,knum),conv(den,kden),1)'
z = 2.2253
k = 45.5062
alpha = 20.2531
These are the actual roots that I found from the locus using a gain of
r =
-20.2531
-1.0000 - 2.0000i
-1.0000 + 2.0000i
20
15
10
5
Imag Axis
-5
-10
-15
-20
-20 -15 -10 -5 0 5
Real Axis
®
MATLAB is a trademark of The MathWorks, Inc.
Slow dominant pole
num=5;den=conv([1 1],[1 5]);step(num,den,6)
Step Response
0.9
0.8
0.7
0.6
Amplitude
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6
Time (sec.)
Step Response
0.9
0.8
0.7
0.6
Amplitude
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6
Time (sec.)
Similar example, but with second order dynamics combined with a simple real pole.
z=.15;wn=1;plist=[wn/2:1:10*wn];
sys=tf(nd,dd);[y]=step(sys,t);
for p=plist;
num=nd;den=conv([1/p 1],dd);
sys=tf(num,den);[ytemp]=step(sys,t);
y=[y ytemp];
end
plot(t,y(:,1),'d',t,y(:,2),'+',t,y(:,4),'+',t,y(:,8),'v');
legend('2nd',num2str(plist(1)),num2str(plist(3)),num2str(plist(7)))
1.8
2nd
1.6 0.5
2.5
6.5
1.4
1.2
step response
0.8
0.6
0.4
0.2
0
0 5 10 15 20
time (sec)
For values of p=2.5 and 6.5, the response is very similar to the second order system. The
response with p=0.5 is clearly no longer dominated by the second-order dynamics
2 - 5
2 - 6
2 - 7
2 - 8
®
2 - 10
2 - 11
2 - 12
2 - 13
2 - 14
2 - 15
2 - 16
2 - 17
EX1 - 1
EX1 - 2
2 - 18
2 - 19
2 - 20
2 - 21
2 - 22
2 - 23
2 - 24
2 - 25
2 - 26
2 - 27
2 - 28
2 - 29
2 - 30
Example: G(s)=1/2^2
z=roots([-20 49 -10]);z=max(z),k=25/(5-2*z),alpha=5*z/(5-2*z),
num=1;den=[1 0 0];
rlocus(conv(num,knum),conv(den,kden));
hold;plot(-alpha+eps*j,'d');plot([-1+2*j,-1-2*j],'d');hold off
r=rlocus(conv(num,knum),conv(den,kden),1)'
z = 2.2253
k = 45.5062
alpha = 20.2531
These are the actual roots that I found from the locus using a gain of
r =
-20.2531
-1.0000 - 2.0000i
-1.0000 + 2.0000i
20
15
10
5
Imag Axis
-5
-10
-15
-20
-20 -15 -10 -5 0 5
Real Axis
®
MATLAB is a trademark of The MathWorks, Inc.
Slow dominant pole
num=5;den=conv([1 1],[1 5]);step(num,den,6)
Step Response
0.9
0.8
0.7
0.6
Amplitude
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6
Time (sec.)
Step Response
0.9
0.8
0.7
0.6
Amplitude
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6
Time (sec.)
Similar example, but with second order dynamics combined with a simple real pole.
z=.15;wn=1;plist=[wn/2:1:10*wn];
sys=tf(nd,dd);[y]=step(sys,t);
for p=plist;
num=nd;den=conv([1/p 1],dd);
sys=tf(num,den);[ytemp]=step(sys,t);
y=[y ytemp];
end
plot(t,y(:,1),'d',t,y(:,2),'+',t,y(:,4),'+',t,y(:,8),'v');
legend('2nd',num2str(plist(1)),num2str(plist(3)),num2str(plist(7)))
1.8
2nd
1.6 0.5
2.5
6.5
1.4
1.2
step response
0.8
0.6
0.4
0.2
0
0 5 10 15 20
time (sec)
For values of p=2.5 and 6.5, the response is very similar to the second order system. The
response with p=0.5 is clearly no longer dominated by the second-order dynamics
2 - 5
2 - 6
2 - 7
2 - 8
®
2 - 10
2 - 11
2 - 12
2 - 13
2 - 14
2 - 15
2 - 16
2 - 17
EX1 - 1
EX1 - 2
2 - 18
2 - 19
2 - 20
2 - 21
2 - 22
2 - 23
2 - 24
2 - 25
2 - 26
2 - 27
2 - 28
2 - 29
2 - 30
Example: G(s)=1/2^2
z=roots([-20 49 -10]);z=max(z),k=25/(5-2*z),alpha=5*z/(5-2*z),
num=1;den=[1 0 0];
rlocus(conv(num,knum),conv(den,kden));
hold;plot(-alpha+eps*j,'d');plot([-1+2*j,-1-2*j],'d');hold off
r=rlocus(conv(num,knum),conv(den,kden),1)'
z = 2.2253
k = 45.5062
alpha = 20.2531
These are the actual roots that I found from the locus using a gain of
r =
-20.2531
-1.0000 - 2.0000i
-1.0000 + 2.0000i
20
15
10
5
Imag Axis
-5
-10
-15
-20
-20 -15 -10 -5 0 5
Real Axis
®
MATLAB is a trademark of The MathWorks, Inc.
Topic #3
1
Fall 2001 16.31 3–1
Introduction
• Root locus methods have:
– Advantages:
∗ Good indicator if transient response;
∗ Explicity shows location of all closed-loop poles;
∗ Trade-offs in the design are fairly clear.
– Disadvantages:
∗ Requires a transfer function model (poles and zeros);
∗ Difficult to infer all performance metrics;
∗ Hard to determine response to steady-state (sinusoids)
2. Nichols Plot – |G(jω)| vs. arg G(jω), which is very handy for
systems with lightly damped poles.
3. Bode Plot – Log |G(jω)| and arg G(jω) vs. Log frequency.
– Simplest tool for visualization and synthesis
– Typically plot 20log |G| which is given the symbol dB
Fall 2001 16.31 3–3
Example
• Draw Bode for
s+1
G(s) =
s/10 + 1
|jω + 1|
|G(jω)| =
|jω/10 + 1|
log |G(jω)| = log[1 + (ω/1)2]1/2 − log[1 + (ω/10)2]1/2
• Approximation
0 ω ωi
log[1 + (ω/ωi )2]1/2 ≈
log[ω/ωi ] ω ωi
Two straightline approximations that intersect at ω ≡ ωi
• Error at ωi obvious, but not huge and the straightline approxima-
tions are very easy to work with.
2
10
1
10
|G|
0
10
−2 −1 0 1 2
10 10 10 10 10
Freq
Fall 2001 16.31 3–5
2
10
1
10
|G|
0
10
−1
10
−2 −1 0 1 2 3
10 10 10 10 10 10
Freq
• Draw the components using breakpoints that are at ωi /10 and 10ωi
100
90
80
70
60
Arg G
50
40
30
20
10
−2 −1 0 1 2 3
10 10 10 10 10 10
Freq
• Then add them up starting from zero frequency and changing the
slope as ω → ∞
80
60
40
20
Arg G
−20
−40
−60
−80
−2 −1 0 1 2 3
10 10 10 10 10 10
Freq
Actual
0 LF
10 MF
HF
−1
+1
−1 −2
10 0
Magnitude
−2
10
+1
−2
−3
10
−4 −3 −2 −1 0 1
10 10 10 10 10 10
Freq (Hz)
20
Actual
LF
0 MF
HF
−20
−40
−60
Phase (deg)
−80
−100
−120
−140
−160
−180
−4 −3 −2 −1 0 1 2
10 10 10 10 10 10 10
Freq (Hz)
4.54s
Bode for G(s) = .
s3 + 0.1818s2 − 31.1818s − 4.4545
The poles are at (-0.892, 0.886, -0.0227)
Fall 2001
0
10
MP
|G|
NMP
−1
10
−1 0 1 2
10 10 10 10
Freq
200
MP
NMP
150
Arg G
100
50
0
−1 0 1 2
10 10 10 10
Freq
Figure 4: Magnitude plots are identical, but the phase plots are dramatically different. NMP has a 180 deg
phase loss over this frequency range.
Topic #7
State-Space Systems
• What are state-space models?
• Why should we use them?
• How are they related to the transfer functions used in classical control design
and how do we develop a state-space model?
• What are the basic properties of a state-space model, and how do we analyze
these?
1
Fall 2001 16.31 7—1
Introduction
• State space model: a representation of the dynamics of an N th order
system as a first order differential equation in an N-vector, which
is called the state.
— Convert the N th order differential equation that governs the dy-
namics into N first-order differential equations
Basic Definitions
• Linearity — What is a linear dynamical system? A system G is
linear with respect to its inputs and output
u(t) → G(s) → y(t)
if superposition holds:
G(α1u1 + α2u2) = α1Gu1 + α2Gu2
So if y1 is the response of G to u1 (y1 = Gu1), and y2 is the
response of G to u2 (y2 = Gu2), then the response to α1u1 + α2u2
is α1y1 + α2y2
Linearization
• Often have a nonlinear set of dynamics given by
ẋ = f (x, u)
where x is once gain the state vector, u is the vector of inputs, and
f (·, ·) is a nonlinear vector function that describes the dynamics
• Example: simple spring. With a mass at the end of a linear spring
(rate k) we have the dynamics
mẍ = kx
but with a “leaf spring” as is used on car suspensions, we have a
nonlinear spring — the more it deflects, the stiffer it gets. Good
model now is
mẍ = (k1x + k2x3)
which is a “cubic spring”.
— Restoring force depends on the deflection x in a nonlinear way.
2
Nonlinear
Linear
1
0
X
−1
−2
0 2 4 6 8 10 12
Time
3
Nonlinear
2 Linear
0
V
−1
−2
−3
0 2 4 6 8 10 12
Time
Figure 1: Response to linear k and nonlinear (k1 = 0, k2 = k) springs (code at the end)
Fall 2001 16.31 7—6
d 0
• Since dt xi = fi(x0, u0), we thus have that
¯ ¯
d ∂fi ¯¯¯ ∂fi ¯¯¯
(δxi) ≈ ¯ δx + ¯ δu
dt ∂x ¯0 ∂u ¯0
• Combining for all n state equations, gives (note that we also set
“≈” → “=”) that
¯ ¯
∂f ¯ ∂f ¯
¯
1¯ 1 ¯¯
¯ ¯
∂x ¯0 ∂u ¯0
¯ ¯
∂f ¯ ∂f ¯
2 ¯¯
2 ¯¯
¯ ¯
d ∂x ¯
0
∂u ¯
0
δx = δx +
δu
dt
.
..
.
..
¯ ¯
∂fn ¯¯¯
∂fn ¯¯¯
¯ ¯
∂x ¯0 ∂u ¯0
= A(t)δx + B(t)δu
where
∂f1 ∂f1 ∂f1
∂x1 ∂x2 ··· ∂xn
∂f2 ∂f2 ∂f2
···
∂x1 ∂x2 ∂xn
A(t) ≡
...
∂fn ∂fn ∂fn
∂x1 ∂x2 ··· ∂xn 0
and
∂f1 ∂f1 ∂f1
∂u1 ∂u2 ··· ∂um
∂f2 ∂f2 ∂f2
···
∂u1 ∂u2 ∂um
B(t) ≡
...
∂fn ∂fn ∂fn
∂u1 ∂u2 ··· ∂um 0
Fall 2001 16.31 7—8
= C(t)δx + D(t)δu
Example
• Consider the nonlinear spring with (set m = 1)
ÿ = k1y + k2y 3
gives us the nonlinear model (x1 = y and x2 = ẏ)
d y ẏ
=
3 ⇒ ẋ = f (x)
dt ẏ k1y + k2y
• Find the equilibrium points and then make a state space model
1.45 0.08
1.4 0.06
y
0.04
1.35
0.02
1.3
0 5 10 15 20 25 30 35
dy/dt
Time
0
0.1
−0.02
0.05
−0.04
dy/dt
0 −0.06
−0.05 −0.08
−0.1 −0.1
0 5 10 15 20 25 30 35 1.34 1.36 1.38 1.4 1.42 1.44 1.46 1.48 1.5
Time y
Figure 2: Nonlinear response (k1 = 1, k2 = −.5). The figure on the right shows the oscillation about the
equilibrium point.
Fall 2001 16.31 7—11
• Assumptions:
1. Earth is an inertial reference frame
2. A/C is a rigid body
3. Body frame B fixed to the aircraft (~i, ~j, ~k)
1 ~ B
⇒ F = ~v˙c + BI ω
~ × ~vc Transport Thm.
m
~ ˙B
~ ~
⇒ T = H + BI ω ~ ×H
BI
• Instantaneous mapping of ~vc and ~ω into the body frame is given
by
BI
~ = P~i + Q~j + R~k
ω ~vc = U~i + V ~j + W ~k
P
U
⇒ BI
ωB = Q
⇒ (vc)B = V
R W
Fall 2001 16.31 7—13
F U̇ 0 −R Q U
1 x
⇒ Fy
= V̇
+
R 0 −P V
m
Fz Ẇ −Q P 0 W
U̇ + QW − RV
=
V̇ + RU − P W
Ẇ + P V − QU
• Can now linearize the equations about this flight mode. To proceed,
define
Velocities U0, U = U0 + u ⇒ U̇ = u̇
W0 = 0, W = w ⇒ Ẇ = ẇ
V0 = 0, V =v ⇒ V̇ = v̇
Angular Rates P0 = 0, P =p ⇒ Ṗ = ṗ
Q0 = 0, Q=q ⇒ Q̇ = q̇
R0 = 0, R=r ⇒ Ṙ = ṙ
Angles Θ0, Θ = Θ0 + θ ⇒ Θ̇ = θ̇
Φ0 = 0, Φ=φ ⇒ Φ̇ = φ̇
Ψ0 = 0, Ψ=ψ ⇒ Ψ̇ = ψ̇
Fall 2001 16.31 7—15
1 ∙ 0 ¸
F + ∆Fx = U̇ + QW − RV ≈ u̇ + qw − rv
m x
≈ u̇
1 ∙ 0 ¸
F + ∆Fy = V̇ + RU − P W ≈ v̇ + r(U0 + u) − pw
m y
≈ v̇ + rU0
1 ∙ 0 ¸
F + ∆Fz = Ẇ + P V − QU ≈ ẇ + pv − q(U0 + u)
m z
≈ ẇ − qU0
∆Fx u̇
1
⇒ ∆Fy
=
v̇ + rU0
m
∆Fz ẇ − qU0
• Which gives the linearized dynamics for the aircraft motion about
the steady-state flight condition.
— Need to analyze the perturbations to the forces and moments to
fully understand the linearized dynamics — take 16.61
— Can do same thing for the rotational dynamics.
Fall 2001 16.31 7—16
subplot(211)
plot(T,x(:,1),T1,x1(:,1),’--’);
legend(’Nonlinear’,’Linear’)
ylabel(’X’)
xlabel(’Time’)
subplot(212)
plot(T,x(:,2),T1,x1(:,2),’--’);
legend(’Nonlinear’,’Linear’)
ylabel(’V’)
xlabel(’Time’)
®
MATLAB is a trademark of The MathWorks, Inc.
Topic #8
State-Space Systems
• What are state-space models?
• Why should we use them?
• How are they related to the transfer functions used in
classical control design and how do we develop a state-
space model?
• What are the basic properties of a state-space model, and how do
we analyze these?
y (3) −a1 −a2 −a3 ÿ 1
ẋ = ÿ = 1 0 0 ẏ + 0 u
ẏ 0 1 0 y 0
ÿ
y = 0 0 1 ẏ + [0]u
y
• This is typically called the controller form for reasons that will
become obvious later on.
– There are four classic (called canonical) forms – oberver, con-
troller, controllability, and observability. They are all useful in
their own way.
Fall 2001 16.31 8–3
• Consider case 2
y b1s2 + b2s + b3 N (s)
= G(s) = 3 =
u s + a1s2 + a2s + a3 D(s)
• Let
y y v
= ·
u v u
where y/v = N (s) and v/u = 1/D(s)
• Then the representation of v/u = 1/D(s) is the same as case 1
v (3) + a1v̈ + a2v̇ + a3v = u
use the state vector
v̈
x = v̇
v
to get
ẋ = A2x + B2u
where
−a1 −a2 −a3 1
A2 = 1 0 0 and B2 = 0
0 1 0 0
• Then consider y/v = N (s), which implies that
y = b1v̈ + b2v̇ + b3v
v̈
= b1 b2 b3 v̇
v
= C2x + [0]u
Fall 2001 16.31 8–4
β1 s2 + β2s + β3
= 3 +D
s + a1s2 + a2s + a3
= G1(s) + D
where
D( s3 +a1s2 +a2s +a3 )
Modal Form
• One particular useful canonical form is called the Modal Form
– It is a diagonal representation of the state-space model.
• Assume for now that the transfer function has distinct real poles pi
(but this easily extends to the case with complex poles)
N (s) N (s)
G(s) = =
D(s) (s − p1)(s − p2) · · · (s − pn)
r1 r2 rn
= + + ··· +
s − p1 s − p2 s − pn
• Now define a collection of first order systems, each with state xi
X1 r1
= ⇒ ẋ1 = p1x1 + r1u
U (s) s − p1
X2 r2
= ⇒ ẋ2 = p2x2 + r2u
U (s) s − p2
...
Xn rn
= ⇒ ẋn = pnxn + rn u
U (s) s − pn
• Which can be written as
ẋ(t) = Ax(t) + Bu(t)
y(t) = Cx(t) + Du(t)
with
T
p1 r1 1
A= ... B = ... C = ...
pn rn 1
• Good representation to use for numerical robustness reasons.
Fall 2001 16.31 8–6
State-Space Transformations
• State space representations are not unique because we have a lot of
freedom in choosing the state vector.
– Selection of the state is quite arbitrary, and not that important.
• In fact, given one model, we can transform it to another model that
is equivalent in terms of its input-output properties.
• To see this, define Model 1 of G(s) as
ẋ(t) = Ax(t) + Bu(t)
y(t) = Cx(t) + Du(t)
• Now introduce the new state vector z related to the first state x
through the transformation x = T z
– T is an invertible (similarity) transform matrix
• Are these going to give the same transfer function? They must if
these really are equivalent models.
Fall 2001 16.31 8–8
Topic #9
State-Space Systems
• What are the basic properties of a state-space model,
and how do we analyze these?
• SS to TF
SS ⇒ TF
• In going from the state space model
ẋ(t) = Ax(t) + Bu(t)
y(t) = Cx(t) + Du(t)
to the transfer function G(s) = C(sI − A)−1B + D need to form the inverse
of the matrix (sI − A) – a symbolic inverse – not easy at all.
• For simple cases, we can use the following:
−1
a1 a2 1 a4 −a2
=
a3 a4 a1 a4 − a2 a3 −a3 a1
For larger problems, we can also use Cramer’s Rule
• Turns out that an equivalent method is to form:
sI − A −B
det
C D
G(s) = C(sI − A)−1B + D =
det(sI − A)
– Reason for this will become more apparent later when we talk about
how to compute the “zeros” of a state-space model (which are the roots
of the numerator)
• Example from before:
−a1 −a2 −a3 1 T
A= 1 0 0 , B = 0 , C = b1 b2 b3
0 1 0 0
then
s + a1 a2 a3 −1
1 −1 0 0 2
G(s) = s = b3 + b2 s + b1 s
det(sI − A) 0 −1 s 0 det(sI − A)
b1 b2 b3 0
and det(sI − A) = s3 + a1 s2 + a2 s + s3
• Key point: Characteristic equation of this system given by det(sI − A)
Fall 2001 16.31 9–2
Time Response
• Can develop a lot of insight into the system response and how it is modeled
by computing the time response x(t)
– Homogeneous part
– Forced solution
• Homogeneous Part
ẋ = Ax, x(0) known
– Take Laplace transform
X(s) = (sI − A)−1x(0)
so that
x(t) = L−1 (sI − A)−1 x(0)
– But can show
−1 I A A2
(sI − A) = + + 3 + ...
s s2 s
1
so L−1 (sI − A)−1 = I + At + (At)2 + . . .
2!
= eAt
– So
x(t) = eAt x(0)
• eAt is a special matrix that we will use many times in this course
– Transition matrix
– Matrix Exponential
– Calculate in MATLAB r using expm.m and not exp.m 1
r
1 MATLAB is a trademark of the Mathworks Inc.
Fall 2001 16.31 9–3
2 1 1 1
s+1 − s+2 s+1 − s+2
=
−2
2 −1 2
+ +
s+1 s+2 s+1 s+2
2e−t − e−2t e−t − e−2t
eAt =
−2e−t + 2e−2t −e−t + 2e−2t
Fall 2001 16.31 10–1
Topic #10
State-Space Systems
• What are the basic properties of a state-space model, and how do
we analyze these?
• Time Domain Interpretations
• System Modes
• Forced Solution
– Consider a scalar case:
ẋ = ax + bu, x(0) given
t
at
⇒ x(t) = e x(0) + ea(t−τ ) bu(τ )dτ
0
• Have seen the key role of eAt in the solution for x(t)
– Determines the system time response
– But would like to get more insight!
• Consider what happens if the matrix A is diagonalizable, i.e. there exists a
T such that
λ1
T −1AT = Λ which is diagonal Λ = ...
λn
Then
eAt = T eΛt T −1
where
eλ1 t
eΛt = ...
eλn t
• This is a simpler way to get the matrix exponential, but how find T and λ?
– Eigenvalues and Eigenvectors
Fall 2001 16.31 10–3
• Repeat the process to find all of the eigenvectors. Assuming that the n
eigenvectors are linearly independent
Avi = λi vi i = 1, . . . , n
λ1
A v1 · · · vn = v1 · · · vn ...
λn
AT = T Λ ⇒ T −1AT = Λ
0 1
A= det(sI − A) = s2
0 0
only one eigenvalue s = 0 (repeated twice). The eigenvectors solve
0 1 r1
=0
0 0 r2
r1
eigenvectors are of the form , r1 = 0 → would only be one.
0
• Need the Jordan Normal Form to handle this case (section 3.7.3)
Fall 2001 16.31 10–4
Mechanics
−1 1
• Consider A =
−8 5
s+1 −1
(sI − A) =
8 s−5
det(sI − A) = (s + 1)(s − 5) + 8 = s2 − 4s + 3 = 0
so the eigenvalues are s1 = 1 and s2 = 3
• Eigenvectors (sI − A)v = 0
s+1 −1
v11
(s1I − A)v1 = =0
8 s−5 v21
s=1
2 −1
v11
=0 2v11 − v21 = 0, ⇒ v21 = 2v11
8 −4 v21
1
v1 =
2
4 −1
v12
(s2I − A)v2 = =0 4v12 − v22 = 0, ⇒ v22 = 4v12
8 −2 v22
1
v2 =
4
• Confirm that Avi = λi vi
Fall 2001 16.31 10–5
Dynamic Interpretation
• Since A = T ΛT −1 , then
λ1 t
| | e − w1T −
eAt = T eΛt T −1 = v1 · · · vn ... ..
.
| | eλn t − wnT −
where we have written
− w1T −
T −1 = ..
.
− wnT −
which is a column of rows.
• Multiply this expression out and we get that
n
• Note that the vi give the relative sizing of the response of each part of the
state vector to the response.
1 −t
v1 (t) = e mode 1
0
0.5
v2(t) = e−3t mode 2
0.5
• Clearly eλi t gives the time modulation
– λi real – growing/decaying exponential response
– λi complex – growing/decaying exponential damped sinusoidal
• Bottom line: The locations of the eigenvalues determine the pole locations
for the system, thus:
– They determine the stability and/or performance & transient behavior
of the system.
• Zero: is a generalized frequency s0 for which the system can have a non-zero
input u(t) = u0es0 t , but exactly zero output y(t) ≡ 0 ∀t
– Note that there is a specific initial condition associated with this response
x0, so the state response is of the form x(t) = x0es0 t
u(t) = u0es0 t ⇒ x(t) = x0es0 t ⇒ y(t) ≡ 0
x0
x0s0 es0 t = Ax0es0 t + Bu0 es0 t ⇒ s0 I − A −B =0
u0
x0
Cx0es0 t + Du0 es0 t = 0 → C D =0
u0
s0 I − A −B x0
=0
C D u0
– This is a generalized eigenvalue problem that can be solved in
MATLAB r using eig.m or tzero.m 2
r
2 MATLAB is a trademark of the Mathworks Inc.
Fall 2001 16.31 10–8
s0 I − A −B
det =0
C D
– Compare with equation on page 9–1
x0
• Key Point: Zeros have both a direction and a frequency s0
u0
– Just as we would associate a direction (eigenvector) with each pole (fre-
quency λi )
s+2
• Example: G(s) = s2 +7s+12
−7 −12
1
A= B= C= 1 2 D=0
1 0 0
s0 + 7 12 −1
s0 I − A −B
det = det −1 s0 0
C D
1 2 0
= (s0 + 7)(0) + 1(2) + 1(s0) = s0 + 2 = 0
so there is clearly a zero at s0 = −2, as we expected. For the directions,
solve:
s0 + 7 12 −1 x01 5 12 −1 x01
−1 s0 0 x02 = −1 −2 0 x02 = 0?
1 2 0 s =−2 u0 1 2 0 u0
0
−2
x0 = and u = 2e−2t
1
Fall 2001 16.31 10–9
s+2 2 2
Y1(s) = · =
s2 + 7s + 12 s + 2 s2 + 7s + 12
Say that s = −2 is a blocking zero or a transmission zero.
• The response Y (s) is clearly non-zero, but it does not contain a component
at the input frequency s = −2. That input has been “blocked”.
• Note that the output response left in Y1 (s) is of a very special form – it
corresponds to the (negative of the) response you would see from the system
T
with u(t) = 0 and x0 = −2 1
Y2 (s) = C(sI − A)−1x0
s + 7 12 −1 −2
= 1 −2
−1 s 1
s −12 −2 1
= 1 −2 2
1 s+7 1 s + 7s + 12
−2
= 2
s + 7s + 12
• So then the total output is Y (s) = Y1 (s) + Y2 (s) showing that Y (s) = 0 →
y(t) = 0, as expected.
Fall 2001 16.31 10–10
• Summary of Zeros: Great feature of solving for zeros using the generalized
eigenvalue matrix condition is that it can be used to find MIMO zeros of
a system with multiple inputs/outputs.
s0 I − A −B
det =0
C D
• Need to be very careful when we find MIMO zeros that have the same fre-
quency as the poles of the system, because it is not obvious that a pole/zero
cancellation will occur (for MIMO systems).
– The zeros have a directionality associated with them, and that must
“agree” as well, or else you do not get cancellation
– More on this topic later.
zI − A −B ζ
=0
C D ũ
• Note that the transfer function matrix (TFM) notion is a MIMO general-
ization of the SISO transfer function
– It is a matrix of transfer functions
g11(s) · · · g1m (s)
G(s) = ...
gp1(s) · · · gpm (s)
– where gij (s) relates the input of actuator j to the output of sensor i.
• Example:
1
0
s+1
G(s) =
1 s−2
s−2 s+2
State-Space Systems
• State-space model features
• Observability
• Controllability
• Minimal Realizations
1
Fall 2001 16.31 11—1
• For this system we say that the dynamics associated with the second
state are unobservable using this sensor (defines the C matrix).
— There could be a lot “motion” associated with x2, but we would
be unware of it using this sensor.
Fall 2001 16.31 11—3
• So now we have
−1
−2 0 ∙ ¸
£ ¤ 2
]
G(s) = 3 0 sI −
0 −1 0
∙ ¸
£ 3 0
¤ 2 6
= s+2 s+1 = !!
0 s+2
• Get same result for the transfer function, but now the dynamics
associated with x2 are both unobservable and uncontrollable.
• Summary:
Dynamics in the state-space model that are uncontrollable, un-
observable, or both do not show up in the transfer function.
• Would like to develop models that only have dynamics that are
both controllable and observable
V called a minimal realization
— It is has the lowest possible order for the given transfer function.
• But first need to develop tests to determine if the models are ob-
servable and/or controllable
Fall 2001 16.31 11—5
Observability
• Definition: An LTI system is observable if the initial state
x(0) can be uniquely deduced from the knowledge of the input u(t)
and output y(t) for all t between 0 and any T > 0.
— If x(0) can be deduced, then we can reconstruct x(t) exactly
because we know u(t) V we can find x(t) ∀ t.
— Thus we need only consider the zero-input (homogeneous) solu-
tion to study observability.
• For the problem we were just looking at, consider Model #2 with
x? = [ 0 1 ]T 6= 0, then
−2 0 ∙ ¸
x̄˙ = x̄ + 2 u
0 −1 1
£ ¤
y = 3 0 x̄
so
∙ −2t ¸∙ ¸
£¤ e 0 0
CeAtx? = 3 0
0 e−t 1
∙ ¸
£ ¤ 0
= 3e−2t 0 =0∀t
1
...
¯
d k ¯
At ? ¯
Ce x ¯ =0 ⇒
dtk t=0
State-Space Systems
• State-space model features
• Controllability
1
Fall 2001 16.31 12—1
Controllability
• Since this identity must hold for all input functions u(t − τ2), this
can only be true if
(x?)T eAtB ≡ 0 ∀ t ≥ 0
Fall 2001 16.31 12—3
• For the problem we were just looking at, consider Model #3 with
x? = [ 0 1 ]T 6= 0, then
−2 0 ∙ ¸
Model # 3 x̄˙ = x̄ + 2 u
0 −1 0
£ ¤
y =
3 2 x̄
so
∙ −2t ¸∙ ¸
£ ¤ e 0 2
(x?)T eAtB = 0 1
0 e−t 0
∙ ¸
£
¤ 2
=
0
e−t =0 ∀t
0
−2 0 ∙ ¸
2
With Model # 3: x̄˙ = x̄ + u
0 −1 0
£¤
y = 3 2 x̄
∙ ¸ ∙ ¸
C 3 2
M0 = =
CA −6 −2
∙ ¸
£ ¤ 2 −4
Mc = B AB =
0 0
— rank M0 = 2 and rank Mc = 1
— So this model of the system is observable, but not controllable.
s + a
1
G(s) =
·
s + 1
s + a
1
s + a
G(s) =
·
s + a
s + 1
Modal Tests
• Earlier examples showed the relative simplicity of testing observ
ability/controllability for system with a decoupled A matrix.
• There is, of course, a very special decoupled form for the state-space
model: the Modal Form (8—5)
| |
T =
v1 · · · vn
| |
based on the eigenvalues of A. Note that we wrote:
− w1T −
T −1 =
...
− wnT −
which is a column of rows.
• But by definition,
w1T
T −1B = ... B
wnT
and £ ¤
CT = C v1 · · · vn
• Also, if
Cvj ≡ 0
then that element of the state vector zj would be unobservable
with this sensor.
Cancelation
• Examples show the close connection between pole-zero cancelation
and loss of observability and controllability. Can be strengthened.
Weaker Conditions
• Often it is too much to assume that we will have full observability
and controllability. Often have to make do with the following:
State-Space Systems
• State-space model features
• Controllability
1
Fall 2001 16.31 12—1
Controllability
• Since this identity must hold for all input functions u(t − τ2), this
can only be true if
(x?)T eAtB ≡ 0 ∀ t ≥ 0
Fall 2001 16.31 12—3
• For the problem we were just looking at, consider Model #3 with
x? = [ 0 1 ]T 6= 0, then
−2 0 ∙ ¸
Model # 3 x̄˙ = x̄ + 2 u
0 −1 0
£ ¤
y =
3 2 x̄
so
∙ −2t ¸∙ ¸
£ ¤ e 0 2
(x?)T eAtB = 0 1
0 e−t 0
∙ ¸
£
¤ 2
=
0
e−t =0 ∀t
0
−2 0 ∙ ¸
2
With Model # 3: x̄˙ = x̄ + u
0 −1 0
£¤
y = 3 2 x̄
∙ ¸ ∙ ¸
C 3 2
M0 = =
CA −6 −2
∙ ¸
£ ¤ 2 −4
Mc = B AB =
0 0
— rank M0 = 2 and rank Mc = 1
— So this model of the system is observable, but not controllable.
s + a
1
G(s) =
·
s + 1
s + a
1
s + a
G(s) =
·
s + a
s + 1
Modal Tests
• Earlier examples showed the relative simplicity of testing observ
ability/controllability for system with a decoupled A matrix.
• There is, of course, a very special decoupled form for the state-space
model: the Modal Form (8—5)
| |
T =
v1 · · · vn
| |
based on the eigenvalues of A. Note that we wrote:
− w1T −
T −1 =
...
− wnT −
which is a column of rows.
• But by definition,
w1T
T −1B = ... B
wnT
and £ ¤
CT = C v1 · · · vn
• Also, if
Cvj ≡ 0
then that element of the state vector zj would be unobservable
with this sensor.
Cancelation
• Examples show the close connection between pole-zero cancelation
and loss of observability and controllability. Can be strengthened.
Weaker Conditions
• Often it is too much to assume that we will have full observability
and controllability. Often have to make do with the following:
State-Space Systems
• State-space model features
• Controllability
1
Fall 2001 16.31 12—1
Controllability
• Since this identity must hold for all input functions u(t − τ2), this
can only be true if
(x?)T eAtB ≡ 0 ∀ t ≥ 0
Fall 2001 16.31 12—3
• For the problem we were just looking at, consider Model #3 with
x? = [ 0 1 ]T 6= 0, then
−2 0 ∙ ¸
Model # 3 x̄˙ = x̄ + 2 u
0 −1 0
£ ¤
y =
3 2 x̄
so
∙ −2t ¸∙ ¸
£ ¤ e 0 2
(x?)T eAtB = 0 1
0 e−t 0
∙ ¸
£
¤ 2
=
0
e−t =0 ∀t
0
−2 0 ∙ ¸
2
With Model # 3: x̄˙ = x̄ + u
0 −1 0
£¤
y = 3 2 x̄
∙ ¸ ∙ ¸
C 3 2
M0 = =
CA −6 −2
∙ ¸
£ ¤ 2 −4
Mc = B AB =
0 0
— rank M0 = 2 and rank Mc = 1
— So this model of the system is observable, but not controllable.
s + a
1
G(s) =
·
s + 1
s + a
1
s + a
G(s) =
·
s + a
s + 1
Modal Tests
• Earlier examples showed the relative simplicity of testing observ
ability/controllability for system with a decoupled A matrix.
• There is, of course, a very special decoupled form for the state-space
model: the Modal Form (8—5)
| |
T =
v1 · · · vn
| |
based on the eigenvalues of A. Note that we wrote:
− w1T −
T −1 =
...
− wnT −
which is a column of rows.
• But by definition,
w1T
T −1B = ... B
wnT
and £ ¤
CT = C v1 · · · vn
• Also, if
Cvj ≡ 0
then that element of the state vector zj would be unobservable
with this sensor.
Cancelation
• Examples show the close connection between pole-zero cancelation
and loss of observability and controllability. Can be strengthened.
Weaker Conditions
• Often it is too much to assume that we will have full observability
and controllability. Often have to make do with the following:
State-Space Systems
• Full-state Feedback Control
• How do we change the poles of the state-space system?
• Or, even if we can change the pole locations.
• Where do we change the pole locations to?
• How well does this approach work?
1
Fall 2001 16.31 13–1
– Then
det(sI − A) = (s − 1)(s − 2) − 1 = s2 − 3s + 1 = 0
so the system is unstable.
– Define u = − k1 k2 x = −Kx, then
1 1 1 1 − k1 1 − k2
Acl = A−BK = − k1 k2 =
1 2 0 1 2
• With this zero in the modal B-matrix, can easily see that the mode
associated with the z2 state is uncontrollable.
– Must assume that the pair (A, B) are controllable.
Fall 2001 16.31 13–5
Ackermann’s Formula
where
– Mc = B AB . . . A B n−1
®
• Automated in Matlab: place.m & acker.m (see polyvalm.m too)
Fall 2001 16.31 13–6
®
MATLAB is a trademark of The MathWorks, Inc.
Topic #13
State-Space Systems
• Full-state Feedback Control
• How do we change the poles of the state-space system?
• Or, even if we can change the pole locations.
• Where do we change the pole locations to?
• How well does this approach work?
1
Fall 2001 16.31 13–1
– Then
det(sI − A) = (s − 1)(s − 2) − 1 = s2 − 3s + 1 = 0
so the system is unstable.
– Define u = − k1 k2 x = −Kx, then
1 1 1 1 − k1 1 − k2
Acl = A−BK = − k1 k2 =
1 2 0 1 2
• With this zero in the modal B-matrix, can easily see that the mode
associated with the z2 state is uncontrollable.
– Must assume that the pair (A, B) are controllable.
Fall 2001 16.31 13–5
Ackermann’s Formula
where
– Mc = B AB . . . A B n−1
®
• Automated in Matlab: place.m & acker.m (see polyvalm.m too)
Fall 2001 16.31 13–6
®
MATLAB is a trademark of The MathWorks, Inc.
Topic #14
State-Space Systems
• Full-state Feedback Control
• How do we change the poles of the state-space system?
• Or, even if we can change the pole locations.
• Where do we change the pole locations to?
• How well does this approach work?
1
Fall 2001 16.31 14–1
Reference Inputs
• So far we have looked at how to pick K to get the dynamics to have
some nice properties (i.e. stabilize A)
• Started with
ẋ = Ax + Bu y = Cx
u = r − Kx
• So, for good performance, the transfer function from R(s) to Y (s)
should be approximately 1 at DC.
Fall 2001 16.31 14–2
– Already designed K = 14 57
• Now we have
ẋ = (A − BK)x + B N̄ r , y = Cx
so that
Y (s)
= C (sI − (A − BK))−1 B N̄
R(s)
• So the steady state step error is now zero, but is this OK?
– See plots – big improvement in the response, but the transient
is a bit weird.
Fall 2001 16.31 14–4
Step Response
0.8 u=r−Kx
u=Nbar r−Kx
0.6
0.4
0.2
Y output
−0.2
−0.4
−0.6
−0.8
−1
0 0.5 1 1.5 2 2.5 3 3.5 4
time (sec)
−0.02
−0.04
−0.06
−0.08
0 0.5 1 1.5 2 2.5 3 3.5 4
time (sec)
0.6
U control
0.4
0.2
−0.2
−0.4
0 0.5 1 1.5 2 2.5 3 3.5 4
time (sec)
Figure 2: Response to step input without the N̄ correction. The steady state x and u values are non-zero but
they are not the values that give the desired yss .
Step Response
1 x
1
x
2
0.5
X state
−0.5
−1
0 0.5 1 1.5 2 2.5 3 3.5 4
time (sec)
0
U control
−5
−10
−15
0 0.5 1 1.5 2 2.5 3 3.5 4
time (sec)
Figure 3: Response to step input with the N̄ correction. Gives the desired steady-state behavior, but note the
higher u(0).
Fall 2001 Examples 16.31 14–8
Step Response
1.2
u=r−Kx
u=Nbar r−Kx
0.8 2.5714
Y output
0.4
0.2
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
time (sec)
Figure 4: Response to step input with and without the N̄ correction. Gives the desired steady-state behavior,
with little difficulty!
Fall 2001 16.31 14–9
−1
10
cl
G
−2
10
−3
10
−1 0 1 2
10 10 10 10
Freq (rad/sec)
Figure 5: Closed-loop frequency response. Clearly shows that the DC gain is unity
Fall 2001 16.31 14–10
Step Response
1.2
u=r−Kx
u=Nbar r−Kx
0.8 0.13298
Y output
0.4
0.2
0
0 5 10 15 20 25 30
time (sec)
Figure 6: Response to step input with and without the N̄ correction. Gives the desired steady-state behavior,
with little difficulty!
Fall 2001 16.31 14–11
−1
10
cl
G
−2
10
−3
10
−1 0 1 2
10 10 10 10
Freq (rad/sec)
Figure 7: Closed-loop frequency response. Clearly shows that the DC gain is unity
Fall 2001 16.31 14–12
Step Response
1.2
u=r−Kx
u=Nbar r−Kx
0.8 2.5714
Y output
0.4
0.2
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
time (sec)
Figure 8: Response to step input with and without the N̄ correction. Gives the desired steady-state behavior,
with little difficulty!
Fall 2001 16.31 14–13
0
10
−1
cl
10
G
−2
10
−3
10
−3 −2 −1 0 1
10 10 10 10 10
Freq (rad/sec)
Figure 9: Closed-loop frequency response. Clearly shows that the DC gain is unity
Fall 2001 16.31 14–14
u=r−Kx
u=Nbar r−Kx
1
0.8 −2
0.6 4 5
0.4
0.2
Y output
−0.2
−0.4
−0.6
−0.8
−1
0 1 2 3 4 5 6 7 8 9 10
time (sec)
Figure 10: Response to step input with and without the N̄ correction. Gives the desired steady-state behavior,
with little difficulty!
Fall 2001 16.31 14–15
0
10
Gcl
−1
10
−2
10
−2 −1 0 1 2
10 10 10 10 10
Freq (rad/sec)
Figure 11: Closed-loop frequency response. Clearly shows that the DC gain is unity
• And to correct the fact that we cannot usually measure the state
→ develop an estimator.
®
MATLAB is a trademark of The MathWorks, Inc.
Topic #14
State-Space Systems
• Full-state Feedback Control
• How do we change the poles of the state-space system?
• Or, even if we can change the pole locations.
• Where do we change the pole locations to?
• How well does this approach work?
1
Fall 2001 16.31 14–1
Reference Inputs
• So far we have looked at how to pick K to get the dynamics to have
some nice properties (i.e. stabilize A)
• Started with
ẋ = Ax + Bu y = Cx
u = r − Kx
• So, for good performance, the transfer function from R(s) to Y (s)
should be approximately 1 at DC.
Fall 2001 16.31 14–2
– Already designed K = 14 57
• Now we have
ẋ = (A − BK)x + B N̄ r , y = Cx
so that
Y (s)
= C (sI − (A − BK))−1 B N̄
R(s)
• So the steady state step error is now zero, but is this OK?
– See plots – big improvement in the response, but the transient
is a bit weird.
Fall 2001 16.31 14–4
Step Response
0.8 u=r−Kx
u=Nbar r−Kx
0.6
0.4
0.2
Y output
−0.2
−0.4
−0.6
−0.8
−1
0 0.5 1 1.5 2 2.5 3 3.5 4
time (sec)
−0.02
−0.04
−0.06
−0.08
0 0.5 1 1.5 2 2.5 3 3.5 4
time (sec)
0.6
U control
0.4
0.2
−0.2
−0.4
0 0.5 1 1.5 2 2.5 3 3.5 4
time (sec)
Figure 2: Response to step input without the N̄ correction. The steady state x and u values are non-zero but
they are not the values that give the desired yss .
Step Response
1 x
1
x
2
0.5
X state
−0.5
−1
0 0.5 1 1.5 2 2.5 3 3.5 4
time (sec)
0
U control
−5
−10
−15
0 0.5 1 1.5 2 2.5 3 3.5 4
time (sec)
Figure 3: Response to step input with the N̄ correction. Gives the desired steady-state behavior, but note the
higher u(0).
Fall 2001 Examples 16.31 14–8
Step Response
1.2
u=r−Kx
u=Nbar r−Kx
0.8 2.5714
Y output
0.4
0.2
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
time (sec)
Figure 4: Response to step input with and without the N̄ correction. Gives the desired steady-state behavior,
with little difficulty!
Fall 2001 16.31 14–9
−1
10
cl
G
−2
10
−3
10
−1 0 1 2
10 10 10 10
Freq (rad/sec)
Figure 5: Closed-loop frequency response. Clearly shows that the DC gain is unity
Fall 2001 16.31 14–10
Step Response
1.2
u=r−Kx
u=Nbar r−Kx
0.8 0.13298
Y output
0.4
0.2
0
0 5 10 15 20 25 30
time (sec)
Figure 6: Response to step input with and without the N̄ correction. Gives the desired steady-state behavior,
with little difficulty!
Fall 2001 16.31 14–11
−1
10
cl
G
−2
10
−3
10
−1 0 1 2
10 10 10 10
Freq (rad/sec)
Figure 7: Closed-loop frequency response. Clearly shows that the DC gain is unity
Fall 2001 16.31 14–12
Step Response
1.2
u=r−Kx
u=Nbar r−Kx
0.8 2.5714
Y output
0.4
0.2
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
time (sec)
Figure 8: Response to step input with and without the N̄ correction. Gives the desired steady-state behavior,
with little difficulty!
Fall 2001 16.31 14–13
0
10
−1
cl
10
G
−2
10
−3
10
−3 −2 −1 0 1
10 10 10 10 10
Freq (rad/sec)
Figure 9: Closed-loop frequency response. Clearly shows that the DC gain is unity
Fall 2001 16.31 14–14
u=r−Kx
u=Nbar r−Kx
1
0.8 −2
0.6 4 5
0.4
0.2
Y output
−0.2
−0.4
−0.6
−0.8
−1
0 1 2 3 4 5 6 7 8 9 10
time (sec)
Figure 10: Response to step input with and without the N̄ correction. Gives the desired steady-state behavior,
with little difficulty!
Fall 2001 16.31 14–15
0
10
Gcl
−1
10
−2
10
−2 −1 0 1 2
10 10 10 10 10
Freq (rad/sec)
Figure 11: Closed-loop frequency response. Clearly shows that the DC gain is unity
• And to correct the fact that we cannot usually measure the state
→ develop an estimator.
®
MATLAB is a trademark of The MathWorks, Inc.
Topic #15
State-Space Systems
• Full-state Feedback Control
• How do we change the poles of the state-space system?
• Or, even if we can change the pole locations.
• Where do we put the poles?
— Linear Quadratic Regulator
— Symmetric Root Locus
• How well does this approach work?
1
Fall 2001 16.31 15—1
Pole Placement
• Then place rest of the poles so they are “much faster” than the
dominant behavior. For example:
— Could keep the same damped frequency wd and then move the
real part to be 2—3 times faster than real part of dominant poles
ζωn
• Just be careful moving the poles too far to the left because it takes
a lot of control effort
Fall 2001 16.31 15—2
• Could also choose the closed-loop poles to mimic a system that has
similar performance to what you would like to achieve:
— Just set pole locations equal to those of the prototype system.
— Various options exist
1
• Bessel Polynomial Systems of order k → Gp (s) = Bk (s)
• All scaled to give settling times of 1 second, which you can change
to ts by dividing the poles by ts.
Fall 2001 16.31 15—3
• Example:
1
G(s) =
s(s + 4)(s + 1)
with
−5 −4 0 1
A= 1 0 0 B=0
0 1 0 0
so that n = k = 3.
— Want ts = 2 sec. So there are 3 poles at:
−5.0093/2 = −2.5047 and
(−3.9668 ± 3.7845i)/2 = −1.9834 ± 1.8922i
— Use these to form Φd(s) and find the gains using acker
• The Bessel approach is fine, but the step response is a bit slow.
Fall 2001 16.31 15—4
φIT
d
AE
= (s + 0.7081)(s + 0.5210 ± 1.068i)
• We will look at the details of this solution procedure later. For now,
let’s just look at the optimal closed-loop pole locations.
Fall 2001 16.31 15—6
• Use this to find the optimal pole locations, and then use
those to find the feedback gains required using acker.
LQR Notes
1. The state cost was written using the output y T y, but that does not
need to be the case.
• We are free to define a new system output z = Cz x that is not
based on a physical sensor measurement.
Z ∞
£ T T 2
¤
⇒ JLQR = x (t)(Cz Cz )x(t) + r u(t) dt
0
• Selection of z used to isolate the system states you are most
concerned about, and thus would like to be regulated to “zero”.
• Note that the poles tending to infinity do so along very specific paths
so that they form a Butterworth Pattern:
— At high frequency we can ignore all but the highest powers of s
in the expression for ∆(s) = 0
lπ n−m−1
± , l = 0, 1, . . . , , (n − m) odd
n−m 2
(l + 1/2)π n−m
± , l = 0, 1, . . . , −1 , (n − m) even
n−m 2
• Examples:
n−m Phase
1 0
2 ±π/4
3 0, ±π/3
4 ±π/8, ±3π/8
• Note: Plot the SRL using the 180o rules (normal) if n − m is even
and the 0o rules if n − m is odd.
Fall 2001 16.31 15—9
8·14·20
Figure 1: Example #1: G(s) = (s+8)(s+14)(s+20)
Symmetric root locus
50
40
30
20
10
Imag Axis
−10
−20
−30
−40
−50
−30 −20 −10 0 10 20 30
Real Axis
Step Response
Closed−loop Freq Response
1.2 0
10
u=r−Kx
u=r−Kx
u=Nbar r−Kx
u=Nbar r−Kx
0.8 3.3166 10
−1
Y output
0.6
−2
0.4 10
0.2
−3
0 10
−1 0 1 2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 10 10 10 10
time (sec) Freq (rad/sec)
Fall 2001 16.31 15—10
0.94
Figure 2: Example #2: G(s) = s2 −0.0297
Symmetric root locus
1
0.8
0.6
0.4
0.2
Imag Axis
−0.2
−0.4
−0.6
−0.8
−1
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
Real Axis
Step Response Closed−loop Freq Response
0
1.2 10
u=r−Kx u=r−Kx
u=Nbar r−Kx u=Nbar r−Kx
−1
0.8 1.4146 10
Y output
Gcl
−2
0.4 10
0.2
−3
0 10
−3 −2 −1 0 1
0 5 10 15 20 25 30 10 10 10 10 10
time (sec) Freq (rad/sec)
Fall 2001 16.31 15—11
8·14·20
Figure 3: Example #3: G(s) = (s−8)(s−14)(s−20)
Symmetric root locus
50
40
30
20
10
Imag Axis
−10
−20
−30
−40
−50
−30 −20 −10 0 10 20 30
Real Axis
Step Response
Closed−loop Freq Response
1.2 0
10
u=r−Kx
u=r−Kx
u=Nbar r−Kx
u=Nbar r−Kx
0.8 3.3166 10
−1
Y output
0.6
−2
0.4 10
0.2
−3
0 10
−1 0 1 2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 10 10 10 10
time (sec) Freq (rad/sec)
Fall 2001 16.31 15—12
(s−1)
Figure 4: Example #4: G(s) = (s+1)(s−3)
Symmetric root locus
1
0.8
0.6
0.4
0.2
Imag Axis
−0.2
−0.4
−0.6
−0.8
−1
−5 −4 −3 −2 −1 0 1 2 3 4 5
Real Axis
Unstable, NMP system Step Response Closed−loop Freq Response
0
10
u=r−Kx u=r−Kx
u=Nbar r−Kx u=Nbar r−Kx
1
0.8 −4.3589
0.6 7.3589 3.6794
0.4
0.2
Y output
−1
Gcl
10
0
−0.2
−0.4
−0.6
−0.8
−2
−1 10
−2 −1 0 1 2
0 1 2 3 4 5 6 7 8 9 10 10 10 10 10 10
time (sec) Freq (rad/sec)
Fall 2001 16.31 15—13
(s−2)(s−4)
Figure 5: Example #5: G(s) = (s−1)(s−3)(s2 +0.8s+4)s2
Symmetric root locus
8
2
Imag Axis
−2
−4
−6
−8
−6 −4 −2 0 2 4 6
Real Axis
Closed−loop Freq Response
0
10
u=r−Kx
u=Nbar r−Kx
Unstable, NMP system Step Response
−1
10
u=r−Kx
u=Nbar r−Kx
1
−2
10
0.8 3.1623
0.6 10.0869 4.64874 8.01734 3.81 10
−3
0.4
−4
Gcl
10
0.2
Y output
0 −5
10
−0.2
−6
10
−0.4
−0.6 −7
10
−0.8
−8
10
−1 −2 −1 0 1 2
0 1 2 3 4 5 6 7 8 9 10 10 10 10 10 10
time (sec) Freq (rad/sec)
Fall 2001 16.31 15—14
1.5
1
0.5
0.5
Imag Axis
Imag Axis
0 0
−0.5
−0.5
−1
−1
−1.5
−2 −1.5
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2
Real Axis Real Axis
Summary
• Dominant second and prototype design approaches (Bessel and ITAE)
place the closed-loop pole locations with no regard to the
amount of control effort required.
— Designer must iterate on the selected bandwidth (ωn ) to ensure
that the control effort is reasonable.
• Nice thing about the LQR approach is that the designer is focused
on system performance issues
— The pole locations are then supplied using the SRL.
Topic #15
State-Space Systems
• Full-state Feedback Control
• How do we change the poles of the state-space system?
• Or, even if we can change the pole locations.
• Where do we put the poles?
— Linear Quadratic Regulator
— Symmetric Root Locus
• How well does this approach work?
1
Fall 2001 16.31 15—1
Pole Placement
• Then place rest of the poles so they are “much faster” than the
dominant behavior. For example:
— Could keep the same damped frequency wd and then move the
real part to be 2—3 times faster than real part of dominant poles
ζωn
• Just be careful moving the poles too far to the left because it takes
a lot of control effort
Fall 2001 16.31 15—2
• Could also choose the closed-loop poles to mimic a system that has
similar performance to what you would like to achieve:
— Just set pole locations equal to those of the prototype system.
— Various options exist
1
• Bessel Polynomial Systems of order k → Gp (s) = Bk (s)
• All scaled to give settling times of 1 second, which you can change
to ts by dividing the poles by ts.
Fall 2001 16.31 15—3
• Example:
1
G(s) =
s(s + 4)(s + 1)
with
−5 −4 0 1
A= 1 0 0 B=0
0 1 0 0
so that n = k = 3.
— Want ts = 2 sec. So there are 3 poles at:
−5.0093/2 = −2.5047 and
(−3.9668 ± 3.7845i)/2 = −1.9834 ± 1.8922i
— Use these to form Φd(s) and find the gains using acker
• The Bessel approach is fine, but the step response is a bit slow.
Fall 2001 16.31 15—4
φIT
d
AE
= (s + 0.7081)(s + 0.5210 ± 1.068i)
• We will look at the details of this solution procedure later. For now,
let’s just look at the optimal closed-loop pole locations.
Fall 2001 16.31 15—6
• Use this to find the optimal pole locations, and then use
those to find the feedback gains required using acker.
LQR Notes
1. The state cost was written using the output y T y, but that does not
need to be the case.
• We are free to define a new system output z = Cz x that is not
based on a physical sensor measurement.
Z ∞
£ T T 2
¤
⇒ JLQR = x (t)(Cz Cz )x(t) + r u(t) dt
0
• Selection of z used to isolate the system states you are most
concerned about, and thus would like to be regulated to “zero”.
• Note that the poles tending to infinity do so along very specific paths
so that they form a Butterworth Pattern:
— At high frequency we can ignore all but the highest powers of s
in the expression for ∆(s) = 0
lπ n−m−1
± , l = 0, 1, . . . , , (n − m) odd
n−m 2
(l + 1/2)π n−m
± , l = 0, 1, . . . , −1 , (n − m) even
n−m 2
• Examples:
n−m Phase
1 0
2 ±π/4
3 0, ±π/3
4 ±π/8, ±3π/8
• Note: Plot the SRL using the 180o rules (normal) if n − m is even
and the 0o rules if n − m is odd.
Fall 2001 16.31 15—9
8·14·20
Figure 1: Example #1: G(s) = (s+8)(s+14)(s+20)
Symmetric root locus
50
40
30
20
10
Imag Axis
−10
−20
−30
−40
−50
−30 −20 −10 0 10 20 30
Real Axis
Step Response
Closed−loop Freq Response
1.2 0
10
u=r−Kx
u=r−Kx
u=Nbar r−Kx
u=Nbar r−Kx
0.8 3.3166 10
−1
Y output
0.6
−2
0.4 10
0.2
−3
0 10
−1 0 1 2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 10 10 10 10
time (sec) Freq (rad/sec)
Fall 2001 16.31 15—10
0.94
Figure 2: Example #2: G(s) = s2 −0.0297
Symmetric root locus
1
0.8
0.6
0.4
0.2
Imag Axis
−0.2
−0.4
−0.6
−0.8
−1
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
Real Axis
Step Response Closed−loop Freq Response
0
1.2 10
u=r−Kx u=r−Kx
u=Nbar r−Kx u=Nbar r−Kx
−1
0.8 1.4146 10
Y output
Gcl
−2
0.4 10
0.2
−3
0 10
−3 −2 −1 0 1
0 5 10 15 20 25 30 10 10 10 10 10
time (sec) Freq (rad/sec)
Fall 2001 16.31 15—11
8·14·20
Figure 3: Example #3: G(s) = (s−8)(s−14)(s−20)
Symmetric root locus
50
40
30
20
10
Imag Axis
−10
−20
−30
−40
−50
−30 −20 −10 0 10 20 30
Real Axis
Step Response
Closed−loop Freq Response
1.2 0
10
u=r−Kx
u=r−Kx
u=Nbar r−Kx
u=Nbar r−Kx
0.8 3.3166 10
−1
Y output
0.6
−2
0.4 10
0.2
−3
0 10
−1 0 1 2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 10 10 10 10
time (sec) Freq (rad/sec)
Fall 2001 16.31 15—12
(s−1)
Figure 4: Example #4: G(s) = (s+1)(s−3)
Symmetric root locus
1
0.8
0.6
0.4
0.2
Imag Axis
−0.2
−0.4
−0.6
−0.8
−1
−5 −4 −3 −2 −1 0 1 2 3 4 5
Real Axis
Unstable, NMP system Step Response Closed−loop Freq Response
0
10
u=r−Kx u=r−Kx
u=Nbar r−Kx u=Nbar r−Kx
1
0.8 −4.3589
0.6 7.3589 3.6794
0.4
0.2
Y output
−1
Gcl
10
0
−0.2
−0.4
−0.6
−0.8
−2
−1 10
−2 −1 0 1 2
0 1 2 3 4 5 6 7 8 9 10 10 10 10 10 10
time (sec) Freq (rad/sec)
Fall 2001 16.31 15—13
(s−2)(s−4)
Figure 5: Example #5: G(s) = (s−1)(s−3)(s2 +0.8s+4)s2
Symmetric root locus
8
2
Imag Axis
−2
−4
−6
−8
−6 −4 −2 0 2 4 6
Real Axis
Closed−loop Freq Response
0
10
u=r−Kx
u=Nbar r−Kx
Unstable, NMP system Step Response
−1
10
u=r−Kx
u=Nbar r−Kx
1
−2
10
0.8 3.1623
0.6 10.0869 4.64874 8.01734 3.81 10
−3
0.4
−4
Gcl
10
0.2
Y output
0 −5
10
−0.2
−6
10
−0.4
−0.6 −7
10
−0.8
−8
10
−1 −2 −1 0 1 2
0 1 2 3 4 5 6 7 8 9 10 10 10 10 10 10
time (sec) Freq (rad/sec)
Fall 2001 16.31 15—14
1.5
1
0.5
0.5
Imag Axis
Imag Axis
0 0
−0.5
−0.5
−1
−1
−1.5
−2 −1.5
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2
Real Axis Real Axis
Summary
• Dominant second and prototype design approaches (Bessel and ITAE)
place the closed-loop pole locations with no regard to the
amount of control effort required.
— Designer must iterate on the selected bandwidth (ωn ) to ensure
that the control effort is reasonable.
• Nice thing about the LQR approach is that the designer is focused
on system performance issues
— The pole locations are then supplied using the SRL.
Topic #15
State-Space Systems
• Full-state Feedback Control
• How do we change the poles of the state-space system?
• Or, even if we can change the pole locations.
• Where do we put the poles?
— Linear Quadratic Regulator
— Symmetric Root Locus
• How well does this approach work?
1
Fall 2001 16.31 15—1
Pole Placement
• Then place rest of the poles so they are “much faster” than the
dominant behavior. For example:
— Could keep the same damped frequency wd and then move the
real part to be 2—3 times faster than real part of dominant poles
ζωn
• Just be careful moving the poles too far to the left because it takes
a lot of control effort
Fall 2001 16.31 15—2
• Could also choose the closed-loop poles to mimic a system that has
similar performance to what you would like to achieve:
— Just set pole locations equal to those of the prototype system.
— Various options exist
1
• Bessel Polynomial Systems of order k → Gp (s) = Bk (s)
• All scaled to give settling times of 1 second, which you can change
to ts by dividing the poles by ts.
Fall 2001 16.31 15—3
• Example:
1
G(s) =
s(s + 4)(s + 1)
with
−5 −4 0 1
A= 1 0 0 B=0
0 1 0 0
so that n = k = 3.
— Want ts = 2 sec. So there are 3 poles at:
−5.0093/2 = −2.5047 and
(−3.9668 ± 3.7845i)/2 = −1.9834 ± 1.8922i
— Use these to form Φd(s) and find the gains using acker
• The Bessel approach is fine, but the step response is a bit slow.
Fall 2001 16.31 15—4
φIT
d
AE
= (s + 0.7081)(s + 0.5210 ± 1.068i)
• We will look at the details of this solution procedure later. For now,
let’s just look at the optimal closed-loop pole locations.
Fall 2001 16.31 15—6
• Use this to find the optimal pole locations, and then use
those to find the feedback gains required using acker.
LQR Notes
1. The state cost was written using the output y T y, but that does not
need to be the case.
• We are free to define a new system output z = Cz x that is not
based on a physical sensor measurement.
Z ∞
£ T T 2
¤
⇒ JLQR = x (t)(Cz Cz )x(t) + r u(t) dt
0
• Selection of z used to isolate the system states you are most
concerned about, and thus would like to be regulated to “zero”.
• Note that the poles tending to infinity do so along very specific paths
so that they form a Butterworth Pattern:
— At high frequency we can ignore all but the highest powers of s
in the expression for ∆(s) = 0
lπ n−m−1
± , l = 0, 1, . . . , , (n − m) odd
n−m 2
(l + 1/2)π n−m
± , l = 0, 1, . . . , −1 , (n − m) even
n−m 2
• Examples:
n−m Phase
1 0
2 ±π/4
3 0, ±π/3
4 ±π/8, ±3π/8
• Note: Plot the SRL using the 180o rules (normal) if n − m is even
and the 0o rules if n − m is odd.
Fall 2001 16.31 15—9
8·14·20
Figure 1: Example #1: G(s) = (s+8)(s+14)(s+20)
Symmetric root locus
50
40
30
20
10
Imag Axis
−10
−20
−30
−40
−50
−30 −20 −10 0 10 20 30
Real Axis
Step Response
Closed−loop Freq Response
1.2 0
10
u=r−Kx
u=r−Kx
u=Nbar r−Kx
u=Nbar r−Kx
0.8 3.3166 10
−1
Y output
0.6
−2
0.4 10
0.2
−3
0 10
−1 0 1 2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 10 10 10 10
time (sec) Freq (rad/sec)
Fall 2001 16.31 15—10
0.94
Figure 2: Example #2: G(s) = s2 −0.0297
Symmetric root locus
1
0.8
0.6
0.4
0.2
Imag Axis
−0.2
−0.4
−0.6
−0.8
−1
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
Real Axis
Step Response Closed−loop Freq Response
0
1.2 10
u=r−Kx u=r−Kx
u=Nbar r−Kx u=Nbar r−Kx
−1
0.8 1.4146 10
Y output
Gcl
−2
0.4 10
0.2
−3
0 10
−3 −2 −1 0 1
0 5 10 15 20 25 30 10 10 10 10 10
time (sec) Freq (rad/sec)
Fall 2001 16.31 15—11
8·14·20
Figure 3: Example #3: G(s) = (s−8)(s−14)(s−20)
Symmetric root locus
50
40
30
20
10
Imag Axis
−10
−20
−30
−40
−50
−30 −20 −10 0 10 20 30
Real Axis
Step Response
Closed−loop Freq Response
1.2 0
10
u=r−Kx
u=r−Kx
u=Nbar r−Kx
u=Nbar r−Kx
0.8 3.3166 10
−1
Y output
0.6
−2
0.4 10
0.2
−3
0 10
−1 0 1 2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 10 10 10 10
time (sec) Freq (rad/sec)
Fall 2001 16.31 15—12
(s−1)
Figure 4: Example #4: G(s) = (s+1)(s−3)
Symmetric root locus
1
0.8
0.6
0.4
0.2
Imag Axis
−0.2
−0.4
−0.6
−0.8
−1
−5 −4 −3 −2 −1 0 1 2 3 4 5
Real Axis
Unstable, NMP system Step Response Closed−loop Freq Response
0
10
u=r−Kx u=r−Kx
u=Nbar r−Kx u=Nbar r−Kx
1
0.8 −4.3589
0.6 7.3589 3.6794
0.4
0.2
Y output
−1
Gcl
10
0
−0.2
−0.4
−0.6
−0.8
−2
−1 10
−2 −1 0 1 2
0 1 2 3 4 5 6 7 8 9 10 10 10 10 10 10
time (sec) Freq (rad/sec)
Fall 2001 16.31 15—13
(s−2)(s−4)
Figure 5: Example #5: G(s) = (s−1)(s−3)(s2 +0.8s+4)s2
Symmetric root locus
8
2
Imag Axis
−2
−4
−6
−8
−6 −4 −2 0 2 4 6
Real Axis
Closed−loop Freq Response
0
10
u=r−Kx
u=Nbar r−Kx
Unstable, NMP system Step Response
−1
10
u=r−Kx
u=Nbar r−Kx
1
−2
10
0.8 3.1623
0.6 10.0869 4.64874 8.01734 3.81 10
−3
0.4
−4
Gcl
10
0.2
Y output
0 −5
10
−0.2
−6
10
−0.4
−0.6 −7
10
−0.8
−8
10
−1 −2 −1 0 1 2
0 1 2 3 4 5 6 7 8 9 10 10 10 10 10 10
time (sec) Freq (rad/sec)
Fall 2001 16.31 15—14
1.5
1
0.5
0.5
Imag Axis
Imag Axis
0 0
−0.5
−0.5
−1
−1
−1.5
−2 −1.5
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2
Real Axis Real Axis
Summary
• Dominant second and prototype design approaches (Bessel and ITAE)
place the closed-loop pole locations with no regard to the
amount of control effort required.
— Designer must iterate on the selected bandwidth (ωn ) to ensure
that the control effort is reasonable.
• Nice thing about the LQR approach is that the designer is focused
on system performance issues
— The pole locations are then supplied using the SRL.
Topic #16
State-Space Systems
• Open-loop Estimators
• Closed-loop Estimators
1
Fall 2001 16.31 16—1
Estimators/Observers
• Problem: So far we have assumed that we have full access to the
state x(t) when we designed our controllers.
— Most often all of this information is not available.
• New plan:
1. Develop estimate of x(t) that will be called x̂(t).
2. Then switch from u = −Kx(t) to u = −K x̂(t).
Estimation Schemes
• Assume that the system model is of the form:
ẋ = Ax + Bu , x(0) unknown
y = Cx
where
1. A, B, and C are known.
2. u(t) is known
3. Measurable outputs are y(t) from C 6= I
Open-loop Estimator
• Given that we know the plant matrices and the inputs, we can just
perform a simulation that runs in parallel with the system
˙ = Ax̂ + Bu(t)
x̂(t)
• Subtract to get:
d ˙ = Ax̃
(x − x̂) = A(x − x̂) ⇒ x̃(t)
dt
which has the solution
x̃(t) = eAt x̃(0)
— Gives the estimation error in terms of the initial error.
Fall 2001 16.31 16—4
Closed-loop Estimator
• Analysis:
x̃˙ = ẋ − x̂˙ = [Ax + Bu] − [Ax̂ + Bu + L(y − ŷ)]
= A(x − x̂) − L(Cx − C x̂) = Ax̃ − LC x̃ = (A − LC)x̃
• These problems are obviously very similar — in fact they are called
dual problems.
Fall 2001 16.31 16—7
• The procedure for selecting L is very similar to that used for the
regulator design process.
• Another approach:
— Note that the poles of (A − LC) and (A − LC)T are identical.
— Also we have that (A − LC)T = AT − C T LT
— So designing LT for this transposed system looks like a standard
regulator problem (A − BK) where
A ⇒ AT
B ⇒ CT
K ⇒ LT
So we can use
Ke = acker(AT , C T , P ) , L ≡ KeT
Estimators Example
• Simple system
∙ ¸ ∙ ¸ ∙ ¸
−1 1.5 1 −0.5
A = , B= , x(0) =
1 −2 0 −1
£ ¤
C = 1 0 , D=0
— Assume that the initial conditions are not well known.
— System stable, but λmax (A) = −0.18
— Test observability:
∙ ¸ ∙ ¸
C 1 0
rank = rank
CA −1 1.5
• Use open and closed-loop estimators
— Since the initial conditions are not well known, use
∙ ¸
0
x̂(0) =
0
• Open-loop estimator:
x̂˙ = Ax̂ + Bu
ŷ = C x̂
• Closed-loop estimator:
x̂˙ = Ax̂ + Bu + Lỹ = Ax̂ + Bu + L(y − ŷ)
= (A − LC)x̂ + Bu + Ly
ŷ = C x̂
— Which is a dynamic system with poles given by λi (A − LC)
and which takes the measured plant outputs as an input and
generates an estimate of x.
Fall 2001 16.31 16—11
• Open-loop case:
ẋ = Ax + Bu
y = Cx
x̂˙ = Ax̂ + Bu
ŷ = C x̂
∙ ¸ ∙ ¸∙ ¸ ∙ ¸ ∙ ¸ −0.5
ẋ A 0 x B x(0) −1
⇒ = + u , =
x̂˙ 0 A x̂ B x̂(0) 0
0
∙ ¸ ∙ ¸∙ ¸
y C 0 x
=
ŷ 0 C x̂
• Closed-loop case:
ẋ = Ax + Bu
x̂˙ = (A − LC)x̂ + Bu + LCx
∙ ¸ ∙ ¸∙ ¸ ∙ ¸
ẋ A 0 x B
⇒ = + u
x̂˙ LC A − LC x̂ B
0.5
states
x1
−0.5 x2
−1
0 0.5 1 1.5 2 2.5 3 3.5 4
time
0.5
estimation error
−0.5
−1
0 0.5 1 1.5 2 2.5 3 3.5 4
time
0.5
states
x1
−0.5 x2
−1
0 0.5 1 1.5 2 2.5 3 3.5 4
time
0.5
estimation error
−0.5
−1
0 0.5 1 1.5 2 2.5 3 3.5 4
time
Fall 2001 16.31 16—13
• Relative size of the noises determine where the poles will be located.
— Similar to role of control cost in LQR problem.
• If you know Rw and Rv , then use them in the SRL, but more
often than not we just use them as “tuning” parameters to
develop low → high bandwidth estimators.
— Typically fix Rw and tune estimator bandwidth using Rv
Fall 2001 16.31 16—16
Final Thoughts
• Note that the feedback gain L in the estimator only stabilizes the
estimation error.
— If the system is unstable, then the state estimates will also go to
∞, with zero error from the actual states.
State-Space Systems
• Open-loop Estimators
• Closed-loop Estimators
1
Fall 2001 16.31 16—1
Estimators/Observers
• Problem: So far we have assumed that we have full access to the
state x(t) when we designed our controllers.
— Most often all of this information is not available.
• New plan:
1. Develop estimate of x(t) that will be called x̂(t).
2. Then switch from u = −Kx(t) to u = −K x̂(t).
Estimation Schemes
• Assume that the system model is of the form:
ẋ = Ax + Bu , x(0) unknown
y = Cx
where
1. A, B, and C are known.
2. u(t) is known
3. Measurable outputs are y(t) from C 6= I
Open-loop Estimator
• Given that we know the plant matrices and the inputs, we can just
perform a simulation that runs in parallel with the system
˙ = Ax̂ + Bu(t)
x̂(t)
• Subtract to get:
d ˙ = Ax̃
(x − x̂) = A(x − x̂) ⇒ x̃(t)
dt
which has the solution
x̃(t) = eAt x̃(0)
— Gives the estimation error in terms of the initial error.
Fall 2001 16.31 16—4
Closed-loop Estimator
• Analysis:
x̃˙ = ẋ − x̂˙ = [Ax + Bu] − [Ax̂ + Bu + L(y − ŷ)]
= A(x − x̂) − L(Cx − C x̂) = Ax̃ − LC x̃ = (A − LC)x̃
• These problems are obviously very similar — in fact they are called
dual problems.
Fall 2001 16.31 16—7
• The procedure for selecting L is very similar to that used for the
regulator design process.
• Another approach:
— Note that the poles of (A − LC) and (A − LC)T are identical.
— Also we have that (A − LC)T = AT − C T LT
— So designing LT for this transposed system looks like a standard
regulator problem (A − BK) where
A ⇒ AT
B ⇒ CT
K ⇒ LT
So we can use
Ke = acker(AT , C T , P ) , L ≡ KeT
Estimators Example
• Simple system
∙ ¸ ∙ ¸ ∙ ¸
−1 1.5 1 −0.5
A = , B= , x(0) =
1 −2 0 −1
£ ¤
C = 1 0 , D=0
— Assume that the initial conditions are not well known.
— System stable, but λmax (A) = −0.18
— Test observability:
∙ ¸ ∙ ¸
C 1 0
rank = rank
CA −1 1.5
• Use open and closed-loop estimators
— Since the initial conditions are not well known, use
∙ ¸
0
x̂(0) =
0
• Open-loop estimator:
x̂˙ = Ax̂ + Bu
ŷ = C x̂
• Closed-loop estimator:
x̂˙ = Ax̂ + Bu + Lỹ = Ax̂ + Bu + L(y − ŷ)
= (A − LC)x̂ + Bu + Ly
ŷ = C x̂
— Which is a dynamic system with poles given by λi (A − LC)
and which takes the measured plant outputs as an input and
generates an estimate of x.
Fall 2001 16.31 16—11
• Open-loop case:
ẋ = Ax + Bu
y = Cx
x̂˙ = Ax̂ + Bu
ŷ = C x̂
∙ ¸ ∙ ¸∙ ¸ ∙ ¸ ∙ ¸ −0.5
ẋ A 0 x B x(0) −1
⇒ = + u , =
x̂˙ 0 A x̂ B x̂(0) 0
0
∙ ¸ ∙ ¸∙ ¸
y C 0 x
=
ŷ 0 C x̂
• Closed-loop case:
ẋ = Ax + Bu
x̂˙ = (A − LC)x̂ + Bu + LCx
∙ ¸ ∙ ¸∙ ¸ ∙ ¸
ẋ A 0 x B
⇒ = + u
x̂˙ LC A − LC x̂ B
0.5
states
x1
−0.5 x2
−1
0 0.5 1 1.5 2 2.5 3 3.5 4
time
0.5
estimation error
−0.5
−1
0 0.5 1 1.5 2 2.5 3 3.5 4
time
0.5
states
x1
−0.5 x2
−1
0 0.5 1 1.5 2 2.5 3 3.5 4
time
0.5
estimation error
−0.5
−1
0 0.5 1 1.5 2 2.5 3 3.5 4
time
Fall 2001 16.31 16—13
• Relative size of the noises determine where the poles will be located.
— Similar to role of control cost in LQR problem.
• If you know Rw and Rv , then use them in the SRL, but more
often than not we just use them as “tuning” parameters to
develop low → high bandwidth estimators.
— Typically fix Rw and tune estimator bandwidth using Rv
Fall 2001 16.31 16—16
Final Thoughts
• Note that the feedback gain L in the estimator only stabilizes the
estimation error.
— If the system is unstable, then the state estimates will also go to
∞, with zero error from the actual states.
Interpretations
• With noise in the system, the model is of the form:
ẋ = Ax + Bu + Bw w , y = Cx + v
– And the estimator is of the form:
x̂˙ = Ax̂ + Bu + L(y − ŷ) , ŷ = C x̂
0
10
|\hat X / Y|
Increasing L
−1
10
−2
10
−1 0 1 2 3 4 5 6
10 10 10 10 10 10 10 10
Freq (rad/sec)
Fall 2001 16.31 16–19
0.5
Imag Axis
−0.5
−1
−1.5
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
Real Axis
Vel sens to Pos state, sen noise r=0.01 Vel sens to Pos state, sen noise r=0.0001
4 4
10 10
2 2
10 10
Mag
Mag
0 0
10 10
−2 −2
10 10
−4 −4
10 10
−3 −2 −1 0 1 2 3 −3 −2 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
200 200
150 150
Phase (deg)
Phase (deg)
100 100
50 50
0 0
−3 −2 −1 0 1 2 3 −3 −2 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
Vel sens to Pos state, sen noise r=1e−006 Vel sens to Pos state, sen noise r=1e−008
4 4
10 10
2 2
10 10
Mag
Mag
0 0
10 10
−2 −2
10 10
−4 −4
10 10
−3 −2 −1 0 1 2 3 −3 −2 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
Vel sens to Pos state, sen noise r=1e−006
200 200
150 150
Phase (deg)
Phase (deg)
100 100
50 50
0 0
−3 −2 −1 0 1 2 3 −3 −2 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
Topic #17
State-Space Systems
• Closed-loop control using estimators and regulators.
• Dynamics output feedback
• “Back to reality”
1
Fall 2001 16.31 17—1
• Then we have that the closed-loop system dynamics are given by:
ẋ(t) = Ax(t) + Bu(t)
˙
x̂(t) = Ax̂(t) + Bu(t) + L(y − ŷ)
y(t) = Cx(t)
ŷ(t) = C x̂(t)
u = −K x̂
• This does not look too good at this point — not even obvious that
the closed-system is stable.
λi (Acl ) =??
Fall 2001 16.31 17—2
The Compensator
• Dynamic Output Feedback Compensator is the combina-
tion of the regulator and estimator using u = −K x̂
˙
x̂(t) = Ax̂(t) + Bu(t) + L(y − ŷ)
= Ax̂(t) − BK x̂ + L(y − C x̂)
˙
⇒ x̂(t) = (A − BK − LC)x̂(t) + Ly
u = −K x̂
⇒ u = Gc(s)e = Gc(s)(r − y)
— So we still have u = −Gc (s)y if r = 0.
— Intuitively appealing because it is the same approach used for
the classical control, but it turns out not to be the best approach.
More on this later.
Fall 2001 16.31 17—6
Mechanics
• Basics:
e = r − y, u = Gce, y = Gu
G(s) : ẋ = Ax + Bu , y = Cx
Simple Example
• Compensator:
Ac = A
∙ − BK¸ −∙LC¸ ∙ ¸
0 1 0 £ ¤ 20 £ ¤
= − 32 8 − 1 0
0 0 1 100
∙ ¸
−20 1
=
−132 −8
∙ ¸
20
Bc = L =
100
£ ¤
Cc = K = 32 8
• Note that the compensator has a low frequency real zero and two
higher frequency poles.
— Thus it looks like a “lead” compensator.
Fall 2001 16.31 17—9
2
10
Plant G
Compensator Gc
1
Mag 10
0
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
50
Plant G
Compensator Gc
0
Phase (deg)
−50
−100
−150
−200
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
Figure 1: Plant is pretty simple and the compensator looks like a lead
2—10 rads/sec.
2
10
Loop L
1
10
Mag
0
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
−120
−140
−160
Phase (deg)
−180
−200
−220
−240
−260
−280
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
Figure 2: Loop transfer function L(s) shows the slope change near
ωc = 5 rad/sec. Note that we have a large PM and GM.
Fall 2001 16.31 17—10
15
10
5
Imag Axis
−5
−10
−15
−15 −10 −5 0 5
Real Axis
Figure 3: Freeze the compensator poles and zeros and look at the root
locus of closed-loop poles versus an additional loop gain α (nominally
α = 1.)
2
10
Plant G
closed−loop Gcl
1
10
Mag
0
10
−1
10
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
8·14·20
Figure 5: Example #1: G(s) = (s+8)(s+14)(s+20)
1 2
10 10
Plant G Plant G
Compensator Gc closed−loop Gcl
0
10
Mag
1
−1
10
10
−2
10
−1 0 1 2 3
10 10 10 10 10 Mag
Freq (rad/sec) 0
10
50
Plant G
Compensator Gc
0
Phase (deg)
−1
−50 10
−100
−150
−2
−200 10
−1 0 1 2 3 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
Bode Diagrams
1
10
Loop L Gm=10.978 dB (at 40.456 rad/sec), Pm=69.724 deg. (at 15.063 rad/sec)
50
0
10
0
Mag
−1
10 −50
Phase (deg); Magnitude (dB)
−100
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) −150
0
0
−50
−50 −100
−150
Phase (deg)
−100
−200
−150 −250
−200 −300
−350
−250
−400
0 1 2 3
10 10 10 10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) Frequency (rad/sec)
Fall 2001 16.31 17—12
8·14·20
Figure 6: Example #1: G(s) = (s+8)(s+14)(s+20)
50
40
30
20
10
Imag Axis
−10
−20
−30
−40
−50
−80 −70 −60 −50 −40 −30 −20 −10 0 10 20
Real Axis
25
20
15
10
5
Imag Axis
−5
−10
−15
−20
−25
−50 −45 −40 −35 −30 −25 −20 −15 −10 −5 0
Real Axis
0.94
Figure 7: Example #2: G(s) = s2 −0.0297
1 2
10 10
Plant G Plant G
Compensator Gc closed−loop Gcl
0
10
Mag
1
−1
10
10
−2
10
−1 0 1 2 3
10 10 10 10 10 Mag
Freq (rad/sec) 0
10
50
Plant G
Compensator Gc
0
Phase (deg)
−1
−50 10
−100
−150
−2
−200 10
−1 0 1 2 3 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
Bode Diagrams
1
10
Loop L
Gm=11.784 dB (at 7.4093 rad/sec), Pm=36.595 deg. (at 2.7612 rad/sec)
50
0
10
Mag
−1
10
Phase (deg); Magnitude (dB)
−50
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) −100
−100
0
−50 −150
Phase (deg)
−100
−200
−150
−200 −250
−250
−300
−2 −1 0 1 2
10 10 10 10 10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) Frequency (rad/sec)
Fall 2001 16.31 17—15
0.94
Figure 8: Example #2: G(s) = s2 −0.0297
6
2
Imag Axis
−2
−4
−6
−8 −6 −4 −2 0 2
Real Axis
1.5
0.5
Imag Axis
−0.5
−1
−1.5
−2
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
Real Axis
• Compensator zero at -1.21 draws the two lower frequency plant poles
further into the LHP.
• Compensator poles are at much higher frequency.
• Looks like a lead compensator.
Fall 2001 16.31 17—17
8·14·20
Figure 9: Example #3: G(s) = (s−8)(s−14)(s−20)
1 2
10 10
Plant G Plant G
Compensator Gc closed−loop Gcl
0
10
Mag
1
−1
10
10
−2
10
−1 0 1 2 3
10 10 10 10 10 Mag
Freq (rad/sec) 0
10
50
Plant G
Compensator Gc
0
Phase (deg)
−1
−50 10
−100
−150
−2
−200 10
−1 0 1 2 3 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
Bode Diagrams
1
10
Loop L Gm=−0.90042 dB (at 24.221 rad/sec), Pm=6.6704 deg. (at 35.813 rad/sec)
50
0
10
Mag
−1
10
Phase (deg); Magnitude (dB)
−50
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) −100
−150
0
−50 −200
Phase (deg)
−100
−250
−150
−200 −300
−250
−350
0 1 2 3
10 10 10 10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) Frequency (rad/sec)
Fall 2001 16.31 17—18
8·14·20
Figure 10: Example #3: G(s) = (s−8)(s−14)(s−20)
100
80
60
40
20
Imag Axis
−20
−40
−60
−80
−100
−140 −120 −100 −80 −60 −40 −20 0 20 40 60
Real Axis
25
20
15
10
5
Imag Axis
−5
−10
−15
−20
−25
−25 −20 −15 −10 −5 0 5 10 15 20 25
Real Axis
(s−1)
Figure 11: Example #4: G(s) = (s+1)(s−3)
1 2
10 10
Plant G Plant G
Compensator Gc closed−loop Gcl
0
10
Mag
1
−1
10
10
−2
10
−1 0 1 2 3
10 10 10 10 10 Mag
Freq (rad/sec) 0
10
50
Plant G
Compensator Gc
0
Phase (deg)
−1
−50 10
−100
−150
−2
−200 10
−1 0 1 2 3 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
Bode Diagrams
1
10
Loop L
Gm=−3.3976 dB (at 4.5695 rad/sec), Pm=−22.448 deg. (at 1.4064 rad/sec)
20
0
10
0
Mag
−20
−1
10
Phase (deg); Magnitude (dB)
−40
−2 −60
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) −80
220
0
210
−50 200
190
Phase (deg)
−100
180
−150
170
−200 160
150
−250
140
−1 0 1 2 3
10 10 10 10 10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) Frequency (rad/sec)
Fall 2001 16.31 17—21
(s−1)
Figure 12: Example #4: G(s) = (s+1)(s−3)
40
30
20
10
Imag Axis
−10
−20
−30
−40
−40 −30 −20 −10 0 10 20
Real Axis
10
2
Imag Axis
−2
−4
−6
−8
−10
−10 −8 −6 −4 −2 0 2 4 6 8 10
Real Axis
• Compensator zero at -1 cancels the plant pole. Note the very un-
stable compensator pole at s = 9!!
— Needed to get the RHP plant pole to branch off the real line and
head into the LHP.
• Other compensator pole is at much higher frequency.
• Note sure what this looks like.
State-Space Systems
• Closed-loop control using estimators and regulators.
• Dynamics output feedback
• “Back to reality”
1
Fall 2001 16.31 17—1
• Then we have that the closed-loop system dynamics are given by:
ẋ(t) = Ax(t) + Bu(t)
˙
x̂(t) = Ax̂(t) + Bu(t) + L(y − ŷ)
y(t) = Cx(t)
ŷ(t) = C x̂(t)
u = −K x̂
• This does not look too good at this point — not even obvious that
the closed-system is stable.
λi (Acl ) =??
Fall 2001 16.31 17—2
The Compensator
• Dynamic Output Feedback Compensator is the combina-
tion of the regulator and estimator using u = −K x̂
˙
x̂(t) = Ax̂(t) + Bu(t) + L(y − ŷ)
= Ax̂(t) − BK x̂ + L(y − C x̂)
˙
⇒ x̂(t) = (A − BK − LC)x̂(t) + Ly
u = −K x̂
⇒ u = Gc(s)e = Gc(s)(r − y)
— So we still have u = −Gc (s)y if r = 0.
— Intuitively appealing because it is the same approach used for
the classical control, but it turns out not to be the best approach.
More on this later.
Fall 2001 16.31 17—6
Mechanics
• Basics:
e = r − y, u = Gce, y = Gu
G(s) : ẋ = Ax + Bu , y = Cx
Simple Example
• Compensator:
Ac = A
∙ − BK¸ −∙LC¸ ∙ ¸
0 1 0 £ ¤ 20 £ ¤
= − 32 8 − 1 0
0 0 1 100
∙ ¸
−20 1
=
−132 −8
∙ ¸
20
Bc = L =
100
£ ¤
Cc = K = 32 8
• Note that the compensator has a low frequency real zero and two
higher frequency poles.
— Thus it looks like a “lead” compensator.
Fall 2001 16.31 17—9
2
10
Plant G
Compensator Gc
1
Mag 10
0
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
50
Plant G
Compensator Gc
0
Phase (deg)
−50
−100
−150
−200
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
Figure 1: Plant is pretty simple and the compensator looks like a lead
2—10 rads/sec.
2
10
Loop L
1
10
Mag
0
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
−120
−140
−160
Phase (deg)
−180
−200
−220
−240
−260
−280
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
Figure 2: Loop transfer function L(s) shows the slope change near
ωc = 5 rad/sec. Note that we have a large PM and GM.
Fall 2001 16.31 17—10
15
10
5
Imag Axis
−5
−10
−15
−15 −10 −5 0 5
Real Axis
Figure 3: Freeze the compensator poles and zeros and look at the root
locus of closed-loop poles versus an additional loop gain α (nominally
α = 1.)
2
10
Plant G
closed−loop Gcl
1
10
Mag
0
10
−1
10
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
8·14·20
Figure 5: Example #1: G(s) = (s+8)(s+14)(s+20)
1 2
10 10
Plant G Plant G
Compensator Gc closed−loop Gcl
0
10
Mag
1
−1
10
10
−2
10
−1 0 1 2 3
10 10 10 10 10 Mag
Freq (rad/sec) 0
10
50
Plant G
Compensator Gc
0
Phase (deg)
−1
−50 10
−100
−150
−2
−200 10
−1 0 1 2 3 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
Bode Diagrams
1
10
Loop L Gm=10.978 dB (at 40.456 rad/sec), Pm=69.724 deg. (at 15.063 rad/sec)
50
0
10
0
Mag
−1
10 −50
Phase (deg); Magnitude (dB)
−100
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) −150
0
0
−50
−50 −100
−150
Phase (deg)
−100
−200
−150 −250
−200 −300
−350
−250
−400
0 1 2 3
10 10 10 10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) Frequency (rad/sec)
Fall 2001 16.31 17—12
8·14·20
Figure 6: Example #1: G(s) = (s+8)(s+14)(s+20)
50
40
30
20
10
Imag Axis
−10
−20
−30
−40
−50
−80 −70 −60 −50 −40 −30 −20 −10 0 10 20
Real Axis
25
20
15
10
5
Imag Axis
−5
−10
−15
−20
−25
−50 −45 −40 −35 −30 −25 −20 −15 −10 −5 0
Real Axis
0.94
Figure 7: Example #2: G(s) = s2 −0.0297
1 2
10 10
Plant G Plant G
Compensator Gc closed−loop Gcl
0
10
Mag
1
−1
10
10
−2
10
−1 0 1 2 3
10 10 10 10 10 Mag
Freq (rad/sec) 0
10
50
Plant G
Compensator Gc
0
Phase (deg)
−1
−50 10
−100
−150
−2
−200 10
−1 0 1 2 3 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
Bode Diagrams
1
10
Loop L
Gm=11.784 dB (at 7.4093 rad/sec), Pm=36.595 deg. (at 2.7612 rad/sec)
50
0
10
Mag
−1
10
Phase (deg); Magnitude (dB)
−50
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) −100
−100
0
−50 −150
Phase (deg)
−100
−200
−150
−200 −250
−250
−300
−2 −1 0 1 2
10 10 10 10 10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) Frequency (rad/sec)
Fall 2001 16.31 17—15
0.94
Figure 8: Example #2: G(s) = s2 −0.0297
6
2
Imag Axis
−2
−4
−6
−8 −6 −4 −2 0 2
Real Axis
1.5
0.5
Imag Axis
−0.5
−1
−1.5
−2
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
Real Axis
• Compensator zero at -1.21 draws the two lower frequency plant poles
further into the LHP.
• Compensator poles are at much higher frequency.
• Looks like a lead compensator.
Fall 2001 16.31 17—17
8·14·20
Figure 9: Example #3: G(s) = (s−8)(s−14)(s−20)
1 2
10 10
Plant G Plant G
Compensator Gc closed−loop Gcl
0
10
Mag
1
−1
10
10
−2
10
−1 0 1 2 3
10 10 10 10 10 Mag
Freq (rad/sec) 0
10
50
Plant G
Compensator Gc
0
Phase (deg)
−1
−50 10
−100
−150
−2
−200 10
−1 0 1 2 3 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
Bode Diagrams
1
10
Loop L Gm=−0.90042 dB (at 24.221 rad/sec), Pm=6.6704 deg. (at 35.813 rad/sec)
50
0
10
Mag
−1
10
Phase (deg); Magnitude (dB)
−50
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) −100
−150
0
−50 −200
Phase (deg)
−100
−250
−150
−200 −300
−250
−350
0 1 2 3
10 10 10 10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) Frequency (rad/sec)
Fall 2001 16.31 17—18
8·14·20
Figure 10: Example #3: G(s) = (s−8)(s−14)(s−20)
100
80
60
40
20
Imag Axis
−20
−40
−60
−80
−100
−140 −120 −100 −80 −60 −40 −20 0 20 40 60
Real Axis
25
20
15
10
5
Imag Axis
−5
−10
−15
−20
−25
−25 −20 −15 −10 −5 0 5 10 15 20 25
Real Axis
(s−1)
Figure 11: Example #4: G(s) = (s+1)(s−3)
1 2
10 10
Plant G Plant G
Compensator Gc closed−loop Gcl
0
10
Mag
1
−1
10
10
−2
10
−1 0 1 2 3
10 10 10 10 10 Mag
Freq (rad/sec) 0
10
50
Plant G
Compensator Gc
0
Phase (deg)
−1
−50 10
−100
−150
−2
−200 10
−1 0 1 2 3 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
Bode Diagrams
1
10
Loop L
Gm=−3.3976 dB (at 4.5695 rad/sec), Pm=−22.448 deg. (at 1.4064 rad/sec)
20
0
10
0
Mag
−20
−1
10
Phase (deg); Magnitude (dB)
−40
−2 −60
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) −80
220
0
210
−50 200
190
Phase (deg)
−100
180
−150
170
−200 160
150
−250
140
−1 0 1 2 3
10 10 10 10 10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) Frequency (rad/sec)
Fall 2001 16.31 17—21
(s−1)
Figure 12: Example #4: G(s) = (s+1)(s−3)
40
30
20
10
Imag Axis
−10
−20
−30
−40
−40 −30 −20 −10 0 10 20
Real Axis
10
2
Imag Axis
−2
−4
−6
−8
−10
−10 −8 −6 −4 −2 0 2 4 6 8 10
Real Axis
• Compensator zero at -1 cancels the plant pole. Note the very un-
stable compensator pole at s = 9!!
— Needed to get the RHP plant pole to branch off the real line and
head into the LHP.
• Other compensator pole is at much higher frequency.
• Note sure what this looks like.
State-Space Systems
• Closed-loop control using estimators and regulators.
• Dynamics output feedback
• “Back to reality”
1
Fall 2001 16.31 17—1
• Then we have that the closed-loop system dynamics are given by:
ẋ(t) = Ax(t) + Bu(t)
˙
x̂(t) = Ax̂(t) + Bu(t) + L(y − ŷ)
y(t) = Cx(t)
ŷ(t) = C x̂(t)
u = −K x̂
• This does not look too good at this point — not even obvious that
the closed-system is stable.
λi (Acl ) =??
Fall 2001 16.31 17—2
The Compensator
• Dynamic Output Feedback Compensator is the combina-
tion of the regulator and estimator using u = −K x̂
˙
x̂(t) = Ax̂(t) + Bu(t) + L(y − ŷ)
= Ax̂(t) − BK x̂ + L(y − C x̂)
˙
⇒ x̂(t) = (A − BK − LC)x̂(t) + Ly
u = −K x̂
⇒ u = Gc(s)e = Gc(s)(r − y)
— So we still have u = −Gc (s)y if r = 0.
— Intuitively appealing because it is the same approach used for
the classical control, but it turns out not to be the best approach.
More on this later.
Fall 2001 16.31 17—6
Mechanics
• Basics:
e = r − y, u = Gce, y = Gu
G(s) : ẋ = Ax + Bu , y = Cx
Simple Example
• Compensator:
Ac = A
∙ − BK¸ −∙LC¸ ∙ ¸
0 1 0 £ ¤ 20 £ ¤
= − 32 8 − 1 0
0 0 1 100
∙ ¸
−20 1
=
−132 −8
∙ ¸
20
Bc = L =
100
£ ¤
Cc = K = 32 8
• Note that the compensator has a low frequency real zero and two
higher frequency poles.
— Thus it looks like a “lead” compensator.
Fall 2001 16.31 17—9
2
10
Plant G
Compensator Gc
1
Mag 10
0
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
50
Plant G
Compensator Gc
0
Phase (deg)
−50
−100
−150
−200
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
Figure 1: Plant is pretty simple and the compensator looks like a lead
2—10 rads/sec.
2
10
Loop L
1
10
Mag
0
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
−120
−140
−160
Phase (deg)
−180
−200
−220
−240
−260
−280
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
Figure 2: Loop transfer function L(s) shows the slope change near
ωc = 5 rad/sec. Note that we have a large PM and GM.
Fall 2001 16.31 17—10
15
10
5
Imag Axis
−5
−10
−15
−15 −10 −5 0 5
Real Axis
Figure 3: Freeze the compensator poles and zeros and look at the root
locus of closed-loop poles versus an additional loop gain α (nominally
α = 1.)
2
10
Plant G
closed−loop Gcl
1
10
Mag
0
10
−1
10
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
8·14·20
Figure 5: Example #1: G(s) = (s+8)(s+14)(s+20)
1 2
10 10
Plant G Plant G
Compensator Gc closed−loop Gcl
0
10
Mag
1
−1
10
10
−2
10
−1 0 1 2 3
10 10 10 10 10 Mag
Freq (rad/sec) 0
10
50
Plant G
Compensator Gc
0
Phase (deg)
−1
−50 10
−100
−150
−2
−200 10
−1 0 1 2 3 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
Bode Diagrams
1
10
Loop L Gm=10.978 dB (at 40.456 rad/sec), Pm=69.724 deg. (at 15.063 rad/sec)
50
0
10
0
Mag
−1
10 −50
Phase (deg); Magnitude (dB)
−100
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) −150
0
0
−50
−50 −100
−150
Phase (deg)
−100
−200
−150 −250
−200 −300
−350
−250
−400
0 1 2 3
10 10 10 10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) Frequency (rad/sec)
Fall 2001 16.31 17—12
8·14·20
Figure 6: Example #1: G(s) = (s+8)(s+14)(s+20)
50
40
30
20
10
Imag Axis
−10
−20
−30
−40
−50
−80 −70 −60 −50 −40 −30 −20 −10 0 10 20
Real Axis
25
20
15
10
5
Imag Axis
−5
−10
−15
−20
−25
−50 −45 −40 −35 −30 −25 −20 −15 −10 −5 0
Real Axis
0.94
Figure 7: Example #2: G(s) = s2 −0.0297
1 2
10 10
Plant G Plant G
Compensator Gc closed−loop Gcl
0
10
Mag
1
−1
10
10
−2
10
−1 0 1 2 3
10 10 10 10 10 Mag
Freq (rad/sec) 0
10
50
Plant G
Compensator Gc
0
Phase (deg)
−1
−50 10
−100
−150
−2
−200 10
−1 0 1 2 3 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
Bode Diagrams
1
10
Loop L
Gm=11.784 dB (at 7.4093 rad/sec), Pm=36.595 deg. (at 2.7612 rad/sec)
50
0
10
Mag
−1
10
Phase (deg); Magnitude (dB)
−50
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) −100
−100
0
−50 −150
Phase (deg)
−100
−200
−150
−200 −250
−250
−300
−2 −1 0 1 2
10 10 10 10 10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) Frequency (rad/sec)
Fall 2001 16.31 17—15
0.94
Figure 8: Example #2: G(s) = s2 −0.0297
6
2
Imag Axis
−2
−4
−6
−8 −6 −4 −2 0 2
Real Axis
1.5
0.5
Imag Axis
−0.5
−1
−1.5
−2
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
Real Axis
• Compensator zero at -1.21 draws the two lower frequency plant poles
further into the LHP.
• Compensator poles are at much higher frequency.
• Looks like a lead compensator.
Fall 2001 16.31 17—17
8·14·20
Figure 9: Example #3: G(s) = (s−8)(s−14)(s−20)
1 2
10 10
Plant G Plant G
Compensator Gc closed−loop Gcl
0
10
Mag
1
−1
10
10
−2
10
−1 0 1 2 3
10 10 10 10 10 Mag
Freq (rad/sec) 0
10
50
Plant G
Compensator Gc
0
Phase (deg)
−1
−50 10
−100
−150
−2
−200 10
−1 0 1 2 3 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
Bode Diagrams
1
10
Loop L Gm=−0.90042 dB (at 24.221 rad/sec), Pm=6.6704 deg. (at 35.813 rad/sec)
50
0
10
Mag
−1
10
Phase (deg); Magnitude (dB)
−50
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) −100
−150
0
−50 −200
Phase (deg)
−100
−250
−150
−200 −300
−250
−350
0 1 2 3
10 10 10 10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) Frequency (rad/sec)
Fall 2001 16.31 17—18
8·14·20
Figure 10: Example #3: G(s) = (s−8)(s−14)(s−20)
100
80
60
40
20
Imag Axis
−20
−40
−60
−80
−100
−140 −120 −100 −80 −60 −40 −20 0 20 40 60
Real Axis
25
20
15
10
5
Imag Axis
−5
−10
−15
−20
−25
−25 −20 −15 −10 −5 0 5 10 15 20 25
Real Axis
(s−1)
Figure 11: Example #4: G(s) = (s+1)(s−3)
1 2
10 10
Plant G Plant G
Compensator Gc closed−loop Gcl
0
10
Mag
1
−1
10
10
−2
10
−1 0 1 2 3
10 10 10 10 10 Mag
Freq (rad/sec) 0
10
50
Plant G
Compensator Gc
0
Phase (deg)
−1
−50 10
−100
−150
−2
−200 10
−1 0 1 2 3 −1 0 1 2 3
10 10 10 10 10 10 10 10 10 10
Freq (rad/sec) Freq (rad/sec)
Bode Diagrams
1
10
Loop L
Gm=−3.3976 dB (at 4.5695 rad/sec), Pm=−22.448 deg. (at 1.4064 rad/sec)
20
0
10
0
Mag
−20
−1
10
Phase (deg); Magnitude (dB)
−40
−2 −60
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) −80
220
0
210
−50 200
190
Phase (deg)
−100
180
−150
170
−200 160
150
−250
140
−1 0 1 2 3
10 10 10 10 10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec) Frequency (rad/sec)
Fall 2001 16.31 17—21
(s−1)
Figure 12: Example #4: G(s) = (s+1)(s−3)
40
30
20
10
Imag Axis
−10
−20
−30
−40
−40 −30 −20 −10 0 10 20
Real Axis
10
2
Imag Axis
−2
−4
−6
−8
−10
−10 −8 −6 −4 −2 0 2 4 6 8 10
Real Axis
• Compensator zero at -1 cancels the plant pole. Note the very un-
stable compensator pole at s = 9!!
— Needed to get the RHP plant pole to branch off the real line and
head into the LHP.
• Other compensator pole is at much higher frequency.
• Note sure what this looks like.
1
Fall 2001 16.31 18—1
• The great news about an LQG design is that stability of the closed-
loop system is guaranteed.
— The designer is freed from having to perform any detailed me-
chanics - the entire process is fast and can be automated.
• The good news is that the state-space techniques will give you a
controller very easily.
— You should use the time saved to verify that the one
you designed is a “good” controller.
• Need to develop tools that will give us some insight on how well a
controller can tolerate modeling errors.
Fall 2001 16.31 18—3
Example
• Consider the “cart on a stick” system, with the dynamics as given
in the notes on the web. Define
∙ ¸ ∙ ¸
θ q
q= , x=
x q̇
Then with y = x
ẋ = Ax + Bu
y = Cx
• For the parameters given in the notes, the system has an unstable
pole at +5.6 and one at s = 0. There are plant zeros at ±5.
• The target locations for the poles were determined using the SRL
for both the regulator and estimator.
— Assumes that the process noise enters through the actuators
Bw ≡ B, which is a useful approximation.
— Regulator and estimator have the same SRL.
— Choose the process/sensor ratio to be r/10 so that the estimator
poles are faster than the regulator ones.
2
Imag Axis
−2
−4
−6
−8
−10
−8 −6 −4 −2 0 2 4 6 8
Real Axis
0
10
−2
10
−4
10
−2 −1 0 1 2
10 10 10 10 10
Freq (rad/sec)
200
Plant G
Compensator Gc
150
Phase (deg)
100
50
0
−2 −1 0 1 2
10 10 10 10 10
Freq (rad/sec)
0
10
Mag
−1
10
−2
10
−2 −1 0 1 2
10 10 10 10 10
Freq (rad/sec)
−100
−150
Phase (deg)
−200
−250
−300
−2 −1 0 1 2
10 10 10 10 10
Freq (rad/sec)
• Looking at both the Loop plots and the root locus, this system is
stable with a gain of 1, but
— Unstable for a gain of 1 ± ² and/or a slight change in the system
phase (possibly due to some unmodeled delays)
— Very limited chance that this would work on the real system.
• Of course, this is an extreme example and not all systems are like
this, but you must analyze to determine what robustness mar-
gins your controller really has.
2
Imag Axis
−2
−4
−6
−8
−10
−10 −8 −6 −4 −2 0 2 4 6 8 10
Real Axis
1.5
0.5
Imag Axis
−0.5
−1
−1.5
−2
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
Real Axis
Fall 2001 16.31 18—7
Analysis Tools to Use?
• Eigenvalues give a definite answer on the stability (or not) of the
closed-loop system.
— Problem is that it is very hard to predict where the closed-loop
poles will go as a function of errors in the plant model.
• If the loop transfer function L(s) has P poles in the RHP s-plane
(and lims→∞ L(s) is a constant), then for closed-loop stability, the
locus of L(jω) for ω ∈ (−∞, ∞) must encircle the critical point
(-1,0) P times in the counterclockwise direction [Ogata 528].
— This provides a binary measure of stability, or not.
Fall 2001 16.31 18—9
• In this case, say that the perturbations can destabilize the system.
1.03
1.02
1.01
Mag
Mag
0
10 1
0.99
0.98
0.97
0.96
−1
10 0.95
−260 −240 −220 −200 −180 −160 −140 −120 −100 −180.5 −180 −179.5 −179 −178.5
Phase (deg) Phase (deg)
Figure 5: Nichols Plot for the cart example which clearly shows the
sensitivity to the overall gain and/or phase lag.
Fall 2001 16.31 18—10
stable OL
1.5
0.5 L (jω)
A
Imag Part
ω2
0
−0.5 ω1 L (jω)
N
−1
−1.5
Real Part
Figure 6: Plot of Loop TF LN (jω) = GN (jω)Gc (jω) and perturbation
(ω1 → ω2) that changes the number of encirclements.
0.5
Imag Part
|d(jω)|
|LN(jω)|
−0.5
−1
Real Part
Figure 7: Geometric interpretation from Nyquist Plot of Loop TF.
2
10
1
10
Mag
0
10
−1
10
−2
10
−2 −1 0 1 2
10 10 10 10 10
Freq (rad/sec)
• Ideally you would want the sensitivity to be much lower than this.
— Same as saying that you want L(jω) to be far from the critical
point.
— Difficulty in this example is that the open-loop system is unsta-
ble, so L(jω) must encircle the critical point ⇒ hard for L(jω)
to get too far away from the critical point.
Fall 2001 16.31 18—13
8·14·20
Figure 9: Sensitivity for Example 1 G(s) = (s+8)(s+14)(s+20) with a low
bandwidth controller Nichols: Stable Open−loop System
Nichols: Stable Open−loop System
1
10 1.5
1
0.95
1.4 1.05
1.3
1.2
1.1
Mag
Mag
0
10 1
0.9
0.8
0.7
0.6
−1
10 0.5
−260 −240 −220 −200 −180 −160 −140 −120 −100 −195 −190 −185 −180 −175 −170 −165
Phase (deg) Phase (deg)
Sensitivity Plot
2
10
|S|
|L|
1
10
Mag
0
10
−1
10
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
Fall 2001 16.31 18—14
8·14·20
Figure 10: Sensitivity for Example 3 G(s) = (s−8)(s−14)(s−20)
Nichols: Unstable Open−loop System Nichols: Unstable Open−loop System
1
10 1.5
1
0.95
1.4 1.05
1.3
1.2
1.1
Mag
Mag
0
10 1
0.9
0.8
0.7
0.6
−1
10 0.5
−260 −240 −220 −200 −180 −160 −140 −120 −100 −195 −190 −185 −180 −175 −170 −165
Phase (deg) Phase (deg)
Sensitivity Plot
2
10
|S|
|L|
1
10
Mag
0
10
−1
10
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
Fall 2001 16.31 18—15
8·14·20
Figure 11: Sensitivity for Example 1 G(s) = (s+8)(s+14)(s+20) with a
high bandwidth controller
Nichols: Stable Open−loop System Nichols: Stable Open−loop System
1
10 1.5
1
0.95
1.4 1.05
1.3
1.2
1.1
Mag
Mag
0
10 1
0.9
0.8
0.7
0.6
−1
10 0.5
−260 −240 −220 −200 −180 −160 −140 −120 −100 −195 −190 −185 −180 −175 −170 −165
Phase (deg) Phase (deg)
Sensitivity Plot
2
10
|S|
|L|
1
10
Mag
0
10
−1
10
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
Shows that as the controller bandwidth increases, can expect L(jω) to get much closer to the critical point.
“Push—pop”
Fall 2001 16.31 18—16
Summary
• LQG gives you a great way to design a controller for the nominal
system.
• Other tools have been developed that allow you to directly shape
the sensitivity plot |S(jω)|
— Called H∞ and µ
®
MATLAB is a trademark of The MathWorks, Inc.
Topic #18
1
Fall 2001 16.31 18—1
• The great news about an LQG design is that stability of the closed-
loop system is guaranteed.
— The designer is freed from having to perform any detailed me-
chanics - the entire process is fast and can be automated.
• The good news is that the state-space techniques will give you a
controller very easily.
— You should use the time saved to verify that the one
you designed is a “good” controller.
• Need to develop tools that will give us some insight on how well a
controller can tolerate modeling errors.
Fall 2001 16.31 18—3
Example
• Consider the “cart on a stick” system, with the dynamics as given
in the notes on the web. Define
∙ ¸ ∙ ¸
θ q
q= , x=
x q̇
Then with y = x
ẋ = Ax + Bu
y = Cx
• For the parameters given in the notes, the system has an unstable
pole at +5.6 and one at s = 0. There are plant zeros at ±5.
• The target locations for the poles were determined using the SRL
for both the regulator and estimator.
— Assumes that the process noise enters through the actuators
Bw ≡ B, which is a useful approximation.
— Regulator and estimator have the same SRL.
— Choose the process/sensor ratio to be r/10 so that the estimator
poles are faster than the regulator ones.
2
Imag Axis
−2
−4
−6
−8
−10
−8 −6 −4 −2 0 2 4 6 8
Real Axis
0
10
−2
10
−4
10
−2 −1 0 1 2
10 10 10 10 10
Freq (rad/sec)
200
Plant G
Compensator Gc
150
Phase (deg)
100
50
0
−2 −1 0 1 2
10 10 10 10 10
Freq (rad/sec)
0
10
Mag
−1
10
−2
10
−2 −1 0 1 2
10 10 10 10 10
Freq (rad/sec)
−100
−150
Phase (deg)
−200
−250
−300
−2 −1 0 1 2
10 10 10 10 10
Freq (rad/sec)
• Looking at both the Loop plots and the root locus, this system is
stable with a gain of 1, but
— Unstable for a gain of 1 ± ² and/or a slight change in the system
phase (possibly due to some unmodeled delays)
— Very limited chance that this would work on the real system.
• Of course, this is an extreme example and not all systems are like
this, but you must analyze to determine what robustness mar-
gins your controller really has.
2
Imag Axis
−2
−4
−6
−8
−10
−10 −8 −6 −4 −2 0 2 4 6 8 10
Real Axis
1.5
0.5
Imag Axis
−0.5
−1
−1.5
−2
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
Real Axis
Fall 2001 16.31 18—7
Analysis Tools to Use?
• Eigenvalues give a definite answer on the stability (or not) of the
closed-loop system.
— Problem is that it is very hard to predict where the closed-loop
poles will go as a function of errors in the plant model.
• If the loop transfer function L(s) has P poles in the RHP s-plane
(and lims→∞ L(s) is a constant), then for closed-loop stability, the
locus of L(jω) for ω ∈ (−∞, ∞) must encircle the critical point
(-1,0) P times in the counterclockwise direction [Ogata 528].
— This provides a binary measure of stability, or not.
Fall 2001 16.31 18—9
• In this case, say that the perturbations can destabilize the system.
1.03
1.02
1.01
Mag
Mag
0
10 1
0.99
0.98
0.97
0.96
−1
10 0.95
−260 −240 −220 −200 −180 −160 −140 −120 −100 −180.5 −180 −179.5 −179 −178.5
Phase (deg) Phase (deg)
Figure 5: Nichols Plot for the cart example which clearly shows the
sensitivity to the overall gain and/or phase lag.
Fall 2001 16.31 18—10
stable OL
1.5
0.5 L (jω)
A
Imag Part
ω2
0
−0.5 ω1 L (jω)
N
−1
−1.5
Real Part
Figure 6: Plot of Loop TF LN (jω) = GN (jω)Gc (jω) and perturbation
(ω1 → ω2) that changes the number of encirclements.
0.5
Imag Part
|d(jω)|
|LN(jω)|
−0.5
−1
Real Part
Figure 7: Geometric interpretation from Nyquist Plot of Loop TF.
2
10
1
10
Mag
0
10
−1
10
−2
10
−2 −1 0 1 2
10 10 10 10 10
Freq (rad/sec)
• Ideally you would want the sensitivity to be much lower than this.
— Same as saying that you want L(jω) to be far from the critical
point.
— Difficulty in this example is that the open-loop system is unsta-
ble, so L(jω) must encircle the critical point ⇒ hard for L(jω)
to get too far away from the critical point.
Fall 2001 16.31 18—13
8·14·20
Figure 9: Sensitivity for Example 1 G(s) = (s+8)(s+14)(s+20) with a low
bandwidth controller Nichols: Stable Open−loop System
Nichols: Stable Open−loop System
1
10 1.5
1
0.95
1.4 1.05
1.3
1.2
1.1
Mag
Mag
0
10 1
0.9
0.8
0.7
0.6
−1
10 0.5
−260 −240 −220 −200 −180 −160 −140 −120 −100 −195 −190 −185 −180 −175 −170 −165
Phase (deg) Phase (deg)
Sensitivity Plot
2
10
|S|
|L|
1
10
Mag
0
10
−1
10
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
Fall 2001 16.31 18—14
8·14·20
Figure 10: Sensitivity for Example 3 G(s) = (s−8)(s−14)(s−20)
Nichols: Unstable Open−loop System Nichols: Unstable Open−loop System
1
10 1.5
1
0.95
1.4 1.05
1.3
1.2
1.1
Mag
Mag
0
10 1
0.9
0.8
0.7
0.6
−1
10 0.5
−260 −240 −220 −200 −180 −160 −140 −120 −100 −195 −190 −185 −180 −175 −170 −165
Phase (deg) Phase (deg)
Sensitivity Plot
2
10
|S|
|L|
1
10
Mag
0
10
−1
10
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
Fall 2001 16.31 18—15
8·14·20
Figure 11: Sensitivity for Example 1 G(s) = (s+8)(s+14)(s+20) with a
high bandwidth controller
Nichols: Stable Open−loop System Nichols: Stable Open−loop System
1
10 1.5
1
0.95
1.4 1.05
1.3
1.2
1.1
Mag
Mag
0
10 1
0.9
0.8
0.7
0.6
−1
10 0.5
−260 −240 −220 −200 −180 −160 −140 −120 −100 −195 −190 −185 −180 −175 −170 −165
Phase (deg) Phase (deg)
Sensitivity Plot
2
10
|S|
|L|
1
10
Mag
0
10
−1
10
−2
10
−1 0 1 2 3
10 10 10 10 10
Freq (rad/sec)
Shows that as the controller bandwidth increases, can expect L(jω) to get much closer to the critical point.
“Push—pop”
Fall 2001 16.31 18—16
Summary
• LQG gives you a great way to design a controller for the nominal
system.
• Other tools have been developed that allow you to directly shape
the sensitivity plot |S(jω)|
— Called H∞ and µ
®
MATLAB is a trademark of The MathWorks, Inc.
Topic #19
1
Fall 2001 16.31 19–1
Bounded Gain
• There exist very easy ways of testing (analytically) whether
|S(jω)| < γ, ∀ω
1. |D| < γ
• Note: The state-space tests can also be used for MIMO systems –
but in that case, we need diffferent Frequency Domain tests.
Fall 2001 16.31 19–3
1
10
M
10
0
ω
b
|1/Ws|
−1
10
−2
10
−2 −1 0 1 2
10 10 10 10 10
Freq (rad/sec)
1
Sensitivity and Inverse of Performance Weight
10
0
10
Magnitude
−1
10 S Ws
1/Ws
−2
10
S γ= 1.0219
−3
10
−2 −1 0 1 2
10 10 10 10 10
Frequency
Figure 2: Want |WsS| < 1, so we just fail the test
Fall 2001 16.31 19–5
Sketch of Proof
• Sufficiency: consider γ = 1, and assume D = 0 for simplicity
r u y y2
G(s) T ✲
✻ G (−s)
+
A B −A T
−C T
G(s) := and G˜(s) = GT (−s) :=
C 0 BT 0
• Note that
u/r = S(s) = [1 − G˜G]−1
T
ẋ1 A BB x1 B
⇒ = + r
ẋ2 −C C −A
T T
x2 0
x1
u = 0 BT +r
x2
⇒ poles of S(s) are contained in the eigenvalues of the matrix H.
Fall 2001 16.31 19–6
• Can use state-space tools to test if a generic system has a gain less
that 1, and can easily re-do this analysis to include the bound γ.
Fall 2001 16.31 19–7
Issues
• Note that it is actually not easy to find Gmax directly using the state
space techniques
– It is easy to check if Gmax < γ
– So we just keep changing γ to find the smallest value for which
we can show that Gmax < γ (called γmin )
Robustness Analysis
• Model Uncertainty
• Robust Stability (RS) tests
• RS visualizations
1
Fall 2001 16.31 20—1
Model Uncertainty
• Prior analysis assumed a perfect model. What if the model is in-
correct ⇒ actual system dynamics GA(s) are in one of the sets
— Multiplicative model Gp(s) = GN (s)(1 + E(s))
— Additive model Gp(s) = GN (s) + E(s)
where
1. GN (s) is the nominal dynamics (known)
−1
10
−2
10
|G|
−3
10
10
−4
multiplicative uncertainty
−5
10
−6
10
−1 0 1 2
10 10 10 10
Freq (rad/sec)
• Can explicitly calculate the error E(s), and it is shown in the plot.
• Can also calculate an LTI overbound E0(s) of the error. Since E(s)
is not normally known, it is the bound E0(s) that is used in our
analysis tests.
3
10
G
A
2 G
10 N
E
E0 E0
1
10
E=G /G −1
0
A N
10
|G|
−1
10 G
N
−2
10
G
−3 A
10
−4
10 −1 0 1
10 10 10
Freq (rad/sec)
Figure 2: Various TF’s for the example system
Fall 2001 16.31 20—3
4
10
GA
GN
2
10 Possible G’s given E0
0
10
|G|
G
N
−2
10
−4
10
−6
10 −1 0 1
10 10 10
Freq (rad/sec)
Figure 3: GN with one partial bound. Can add many others to develop
the overall bound that would completely include GA.
— Could just as easily use the sensor dynamics, and for MIMO
systems, we typically use both.
Gp(s) = GN (s)(1 + E(s))
— E(s) is any stable TF that satisfies the magnitude bound
|E(jω)| ≤ |E0(jω)| ∀ω
- -
E
u
y
? -
G
• Typically use
τ s + r0
E0(s) =
(τ /r∞)s + 1
where
— r0 relative weight at low freq (¿ 1)
— r∞ relative weight at high freq (≥ 2)
— 1/τ approx freq at which relative uncertainty is 100%.
1
10
r∞
0
10 1/τ
|E0|
−1
10
r
0
−2
10 −2 −1 0 1 2
10 10 10 10 10
Freq (rad/sec)
• Note that Lp = LN (1 + E) ⇒ Lp − LN = LN E
• So we have that
|Lp(jω) − LN (jω)| = |LN (jω) E(jω)| ≤ |LN (jω) E0(jω)|
−1
10 .09*[1/.5 1]/[1/2 1]
−2
10 −2 −1 0 1 2 3
10 10 10 10 10 10
Freq
Figure 5: Uncertainty weighting.
0
Imag
−1
−2
−3
−4
−2 −1 0 1 2 3 4
Real
Figure 6: Nominal loop TF and possible multiplicative errors.
Possible Perturbations to the LTF: Multiplicative
2
LN
LN(1+E0)
1 LN(1−E0)
LN(1−jE0)
LN(1+jE0)
0
Imag
−1
−2
−3
−4
−2 −1 0 1 2 3 4
Real
Figure 7: Consider 4 possible multiplicative perturbations.
• But Lp = LN (1 + E)
⇒ Lp − LN = LN E
|E0(jω)|
1
10
1/|E |
0
Robustness
0
10
Boundary
Good Perf
|.|
−1
10
|TN|
−2
10
−3
10
−2 −1 0 1 2
10 10 10 10 10
Freq (rad/sec)
Figure 8: Visualization of the robustness test.
• State space tools for testing this condition are imperative. Can use
the bounded gain theorem to determine if
max |TN (jω)E0(jω)| < 1
ω
• Potential problem with this approach is that the test only considers
the magnitude of the error. All phases are allowed, since we only
restrict |E| < |E0|.
— Actual error could be very large, but with a phase that takes it
away from the critical point.
— Tests exist to add the phase information, but these are harder
to compute.
Topic #21
MIMO Systems
• Singular Value Decomposition
• Multivariable Frequency Response Plots
1
Fall 2001 16.31 21—1
Multivariable Frequency Response
• In the MIMO case, the system G(s) is described by a p × m trans-
fer function matrix (TFM)
— Still have that G(s) = C(sI − A)−1B + D
— But G(s) → A, B, C, D MUCH less obvious than in SISO case.
— Discussion of poles and zeros of MIMO systems also much more
complicated.
• MIMO extension?
— Is the response of the system large or small?
∙ 3 ¸
10 /s 0
G(s) =
0 10−3/s
Fall 2001 16.31 21—2
• For MIMO systems, cannot just plot all of the Gij elements of G
— Ignores the coupling that might exist between them.
— So not enlightening.
p
• Consider zc = G(jω)wc and set kwck2 = wcH wc ≤ 1. What can
we say about the kzck2?
— Answer depends on ω and on the direction of the input wc
— Best found using singular values.
Fall 2001 16.31 21—3
Singular Value Decomposition
• Must perform the SVD of the matrix G(s) at each frequency s = jω
G(jω) ∈ C p×m U ∈ C p×p Σ ∈ Rp×m V ∈ C m×m
G = U ΣV H
— U H U = I, UU H = I, V H V = I, V V H = I, and Σ is diagonal.
— The columns of the matrices U and V (ui and vj ) are the asso-
ciated eigenvectors
GH Gvj = σj2vj
GGH ui = σi2ui
Gvi = σiui
σ ≡ min kzck2
kwc k2 =1
∙ ¸ ∙ ¸∙ ¸ 1 0 0
5 0 0 1 0 5 0 0
Gw = = 0 1 0
0 0.5 0 0 1 0 0.5 0
0 0 1
= U ΣV H
so that σ1 = 5 and σ2 = 0.5
5 0 1 0 0
5 0 ∙ ¸
1 0
G̃w =
0 0.5 =
0 1 0
0 0.5
0 1
0 0 0 0 1
0 0
= U ΣV H
so that σ1 = 5 and σ2 = 0.5 still.
• For MIMO systems, the gains (or σ’s) are only part of the story, as
we must also consider the input direction.
£ ¤ ... v1
..
Gw = U ΣV H = u1 . . . up .
σm H
vm
0
X m
=
σi uiviH
i=1
kwc k2
— Gw is small if σ(Gw ) ¿ 1
• The singular value plot for this state space system is shown below:
2
SV Plots
10
1
10
SV
0
10
−1
10
−2
10
−1 0 1 2
10 10 10 10
Freq (rad/sec)
15
lsim
sin
10
5
Yi
−5
−10
−15
0 1 2 3 4 5 6 7 8 9 10
Time sec)
15
10
5
i
Y
−5
−10
−15
0 1 2 3 4 5 6 7 8 9 10
Time sec)
di do
r
e y
Gc(s) ? G(s) ? -
6
— u n
¾
• Now use input (·)i and output (·)o loops, depending on where we
break the loop.
Li = GcG Lo = GGc
Si = (I + Li)−1 So = (I + Lo)−1
Si + Ti = I So + To = I
σ(So ) = ¿ 1 ⇔ σ(I + Lo ) À 1
σ(I + Lo)
Since σ(I + Lo ) ≥ σ(Lo) − 1, then if σ(Lo) À 1, we have
1
1 useful identities are σ(Lo ) − 1 ≤ σ(I + Lo ) ≤ σ(Lo ) + 1 and σ(G−1 ) = σ(G)
2 σAB ≤ σAσB
Fall 2001 16.31 21—14
• Similar to SISO loop shaping, but we have redefined large and small
to use the singular values of Lo.
Topic #21
MIMO Systems
• Singular Value Decomposition
• Multivariable Frequency Response Plots
1
Fall 2001 16.31 21—1
Multivariable Frequency Response
• In the MIMO case, the system G(s) is described by a p × m trans-
fer function matrix (TFM)
— Still have that G(s) = C(sI − A)−1B + D
— But G(s) → A, B, C, D MUCH less obvious than in SISO case.
— Discussion of poles and zeros of MIMO systems also much more
complicated.
• MIMO extension?
— Is the response of the system large or small?
∙ 3 ¸
10 /s 0
G(s) =
0 10−3/s
Fall 2001 16.31 21—2
• For MIMO systems, cannot just plot all of the Gij elements of G
— Ignores the coupling that might exist between them.
— So not enlightening.
p
• Consider zc = G(jω)wc and set kwck2 = wcH wc ≤ 1. What can
we say about the kzck2?
— Answer depends on ω and on the direction of the input wc
— Best found using singular values.
Fall 2001 16.31 21—3
Singular Value Decomposition
• Must perform the SVD of the matrix G(s) at each frequency s = jω
G(jω) ∈ C p×m U ∈ C p×p Σ ∈ Rp×m V ∈ C m×m
G = U ΣV H
— U H U = I, UU H = I, V H V = I, V V H = I, and Σ is diagonal.
— The columns of the matrices U and V (ui and vj ) are the asso-
ciated eigenvectors
GH Gvj = σj2vj
GGH ui = σi2ui
Gvi = σiui
σ ≡ min kzck2
kwc k2 =1
∙ ¸ ∙ ¸∙ ¸ 1 0 0
5 0 0 1 0 5 0 0
Gw = = 0 1 0
0 0.5 0 0 1 0 0.5 0
0 0 1
= U ΣV H
so that σ1 = 5 and σ2 = 0.5
5 0 1 0 0
5 0 ∙ ¸
1 0
G̃w =
0 0.5 =
0 1 0
0 0.5
0 1
0 0 0 0 1
0 0
= U ΣV H
so that σ1 = 5 and σ2 = 0.5 still.
• For MIMO systems, the gains (or σ’s) are only part of the story, as
we must also consider the input direction.
£ ¤ ... v1
..
Gw = U ΣV H = u1 . . . up .
σm H
vm
0
X m
=
σi uiviH
i=1
kwc k2
— Gw is small if σ(Gw ) ¿ 1
• The singular value plot for this state space system is shown below:
2
SV Plots
10
1
10
SV
0
10
−1
10
−2
10
−1 0 1 2
10 10 10 10
Freq (rad/sec)
15
lsim
sin
10
5
Yi
−5
−10
−15
0 1 2 3 4 5 6 7 8 9 10
Time sec)
15
10
5
i
Y
−5
−10
−15
0 1 2 3 4 5 6 7 8 9 10
Time sec)
di do
r
e y
Gc(s) ? G(s) ? -
6
— u n
¾
• Now use input (·)i and output (·)o loops, depending on where we
break the loop.
Li = GcG Lo = GGc
Si = (I + Li)−1 So = (I + Lo)−1
Si + Ti = I So + To = I
σ(So ) = ¿ 1 ⇔ σ(I + Lo ) À 1
σ(I + Lo)
Since σ(I + Lo ) ≥ σ(Lo) − 1, then if σ(Lo) À 1, we have
1
1 useful identities are σ(Lo ) − 1 ≤ σ(I + Lo ) ≤ σ(Lo ) + 1 and σ(G−1 ) = σ(G)
2 σAB ≤ σAσB
Fall 2001 16.31 21—14
• Similar to SISO loop shaping, but we have redefined large and small
to use the singular values of Lo.
Topic #21
MIMO Systems
• Singular Value Decomposition
• Multivariable Frequency Response Plots
1
Fall 2001 16.31 21—1
Multivariable Frequency Response
• In the MIMO case, the system G(s) is described by a p × m trans-
fer function matrix (TFM)
— Still have that G(s) = C(sI − A)−1B + D
— But G(s) → A, B, C, D MUCH less obvious than in SISO case.
— Discussion of poles and zeros of MIMO systems also much more
complicated.
• MIMO extension?
— Is the response of the system large or small?
∙ 3 ¸
10 /s 0
G(s) =
0 10−3/s
Fall 2001 16.31 21—2
• For MIMO systems, cannot just plot all of the Gij elements of G
— Ignores the coupling that might exist between them.
— So not enlightening.
p
• Consider zc = G(jω)wc and set kwck2 = wcH wc ≤ 1. What can
we say about the kzck2?
— Answer depends on ω and on the direction of the input wc
— Best found using singular values.
Fall 2001 16.31 21—3
Singular Value Decomposition
• Must perform the SVD of the matrix G(s) at each frequency s = jω
G(jω) ∈ C p×m U ∈ C p×p Σ ∈ Rp×m V ∈ C m×m
G = U ΣV H
— U H U = I, UU H = I, V H V = I, V V H = I, and Σ is diagonal.
— The columns of the matrices U and V (ui and vj ) are the asso-
ciated eigenvectors
GH Gvj = σj2vj
GGH ui = σi2ui
Gvi = σiui
σ ≡ min kzck2
kwc k2 =1
∙ ¸ ∙ ¸∙ ¸ 1 0 0
5 0 0 1 0 5 0 0
Gw = = 0 1 0
0 0.5 0 0 1 0 0.5 0
0 0 1
= U ΣV H
so that σ1 = 5 and σ2 = 0.5
5 0 1 0 0
5 0 ∙ ¸
1 0
G̃w =
0 0.5 =
0 1 0
0 0.5
0 1
0 0 0 0 1
0 0
= U ΣV H
so that σ1 = 5 and σ2 = 0.5 still.
• For MIMO systems, the gains (or σ’s) are only part of the story, as
we must also consider the input direction.
£ ¤ ... v1
..
Gw = U ΣV H = u1 . . . up .
σm H
vm
0
X m
=
σi uiviH
i=1
kwc k2
— Gw is small if σ(Gw ) ¿ 1
• The singular value plot for this state space system is shown below:
2
SV Plots
10
1
10
SV
0
10
−1
10
−2
10
−1 0 1 2
10 10 10 10
Freq (rad/sec)
15
lsim
sin
10
5
Yi
−5
−10
−15
0 1 2 3 4 5 6 7 8 9 10
Time sec)
15
10
5
i
Y
−5
−10
−15
0 1 2 3 4 5 6 7 8 9 10
Time sec)
di do
r
e y
Gc(s) ? G(s) ? -
6
— u n
¾
• Now use input (·)i and output (·)o loops, depending on where we
break the loop.
Li = GcG Lo = GGc
Si = (I + Li)−1 So = (I + Lo)−1
Si + Ti = I So + To = I
σ(So ) = ¿ 1 ⇔ σ(I + Lo ) À 1
σ(I + Lo)
Since σ(I + Lo ) ≥ σ(Lo) − 1, then if σ(Lo) À 1, we have
1
1 useful identities are σ(Lo ) − 1 ≤ σ(I + Lo ) ≤ σ(Lo ) + 1 and σ(G−1 ) = σ(G)
2 σAB ≤ σAσB
Fall 2001 16.31 21—14
• Similar to SISO loop shaping, but we have redefined large and small
to use the singular values of Lo.
Topic #22
Deterministic LQR
• Optimal control and the Riccati equation
• Lagrange multipliers
• The Hamiltonian matrix and the symmetric root locus
1
Fall 2001 16.31 22—1
z(t) = Cz (t)x(t)
Cost: Z
tf £ T ¤
T
JLQR = z (t)Rzz (t)z(t) + u (t)Ruu(t)u(t) dt + x(tf )Ptf x(tf )
t0
• Note that this is the most general form of the LQR problem —
we rarely need this level of generality and often suppress the time
dependence of the matrices.
— Aircraft landing problem.
2
4. H2 ≥ 0 (need to check that Ruu ≥ 0)
∂
∂u
Fall 2001 16.31 Optimization-1
1.5
0.5
0
y
−0.5
−1
−1.5
−2
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
x
∂L
= 2x + λ = 0
∂x
∂L
= 2y + λ = 0
∂y
∂L
= x + y + 2 = 0
∂λ
• The key point here is that due to the constraint, the selection of x
and y during the minimization are not independent
— The Lagrange multiplier captures this dependency.
• The LQR optimization follows the same path as this, but it is com-
plicated by the fact that the cost involves an integration over time.
Fall 2001 16.31 22—3
to get:
∙
¸ "
−1 T
#∙ ¸
ẋ(t) A −BuRuu Bu x(t)
=
λ̇(t) −CzT RzzCz −AT λ(t)
which of course is the Hamiltonian Matrix again.
• Note that the dynamics of x(t) and λ(t) are coupled, but x(t) is
known initially and λ(t) is known at the terminal time, since λ(tf ) =
Ptf x(tf )
— This is a two point boundary value problem that is very hard to
solve in general.
• How proceed?
1. For the 2n system
∙ ¸ " −1 T
#∙ ¸
ẋ(t) A −B R B
u uu u x(t)
=
λ̇(t) −CzT Rzz Cz −AT λ(t)
define a transition matrix
" #
F11(t1, t0) F12(t1, t0)
F (t1, t0) =
F21(t1, t0) F22(t1, t0)
and use this to relate x(t) to x(tf ) and λ(tf )
∙ ¸ " #∙ ¸
x(t) F11 (t, t f ) F12 (t, t f ) x(tf )
=
λ(t) F21(t, tf ) F22(t, tf ) λ(tf )
so
x(t) = F11(t, tf )x(tf ) + F12(t, tf )λ(tf )
h i
= F11(t, tf ) + F12(t, tf )Ptf x(tf )
−1 T
= CzT RzzCz x(t) + AT λ(t) + P (t)(Ax(t) − BuRuu Bu λ(t))
−1 T
= (CzT Rzz Cz + P (t)A)x(t) + (AT − P (t)BuRuu Bu )λ(t)
−1 T
= (CzT Rzz Cz + P (t)A)x(t) + (AT − P (t)BuRuu Bu )P (t)x(t)
£ −1 T
¤
=
AT P (t) + P (t)A + CzT RzzCz − P (t)BuRuu Bu P (t) x(t)
• Note that x(t) and λ(t) together define the closed-loop dynamics
for the system (and its adjoint), but we can eliminate λ(t) from the
solution by introducing P (t) which solves a Riccati Equation.
1 3.5
3
0.8
Gains
Gains
2.5
0.6
2
1.5
0.4
0.2
0.5
0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Time (sec) Time (sec)
Dynamic Gains Static Gains
1.4 1.4
x x
1 1
x x
2 2
1.2 1.2
1 1
0.8 0.8
0.6 0.6
States
States
0.4 0.4
0.2 0.2
0 0
−0.2 −0.2
−0.4 −0.4
−0.6 −0.6
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Time (sec) Time (sec)
• As noted, the closed-loop dynamics couple x(t) and λ(t) and are
given by
∙
¸ "
−1 T
#∙ ¸
ẋ(t) A −BuRuu Bu x(t)
=
λ̇(t) −CzT RzzCz −AT λ(t)
with the appropriate boundary conditions.
A −BuRuu Bu
H ,
• When we analyzed this before for a SISO system, we found that the
closed-loop poles could be related to a SRL for the transfer function
b(s)
and, in fact, the closed-loop poles were given by the LHP roots of
Rzz
a(s)a(−s) + b(s)b(−s) = 0
Ruu
where we previously had Rzz/Ruu ≡ 1/r
£ ¤
⇒ det(sI − H) = det(sI − A) det (sI + AT ) − CzT Rzz Cz (sI − A)−1 BuRuu
−1 T
Bu
£ ¤
= det(sI − A) det(sI + AT ) det I − CzT Rzz Cz (sI − A)−1 BuRuu
−1 T
Bu (sI + AT )−1
£ −1 T
¤
det(sI−H) = (−1)n a(s)a(−s) det I + Ruu Bu (−sI − AT )−1 CzT Rzz Cz (sI − A)−1 Bu
n
£ −1 T
¤
det(sI − H) = (−1) a(s)a(−s) det I + Ruu Gzu(−s)RzzGzu(s)
∙ ¸
R zz
= (−1)na(s)a(−s) I + Gzu(−s)Gzu(s)
Ruu
∙ ¸
R zz
= (−1)n a(s)a(−s) + b(s)b(−s) = 0
Ruu
Fall 2001 16.31 22—10
J =
(Rxxx2(t) + Ruuu2(t)) dt
0
p
• Note that as Rxx /Ruu → ∞, Acl ≈ −|b| Rxx /Ruu
Summary
®
• Can find the optimal feedback gains u = −Kx using the Matlab
command
K = lqr(A, B, Rxx, Ruu )
®
MATLAB is a trademark of The MathWorks, Inc.
Fall 2001 16.31 22–12
α12
(x1)2
max
α 2
2
Rxx =
(x2)2max
...
αn2
(xn)2max
β12
(u1)2
max
β22
Ruu =
(u2)2max
...
2
βm
(um)2max
• Third: given this extra freedom, what is the best way to use it?
– One good objective is to select G and N̄ so that the state esti-
mation error is independent of r.
– With this choice, changes in r do not tend to cause such large
transients in x̃
– Note that for this analysis, take x̃ = x − xc since xc ≡ x̂
sI − A BK 0
previous det −LC sI − Ac L = 0
C 0 0
sI − A BK −B N̄
new det −LC sI − Ac −B N̄ = 0
C 0 0
Fall 2001 16.31 17–26
• Hard to see how this helps, but consider the scalar case:
sI − A BK −B N̄
new det −LC sI − Ac −B N̄ = 0
C 0 0
⇒ C(−BKB N̄ + (sI − Ac )B N̄ ) = 0
−CB N̄ (BK − (sI − [A − BK − LC])) = 0
CB N̄ (sI − [A − LC]) = 0
– So that the zero of the y/r path is the root of sI − [A − LC] = 0
which is the pole of the estimator.
– With this selection of G = B N̄ the estimator dynamics are can-
celed out of the response of the system to a reference command.
– No such cancelation occurs with the previous implementation.
8·14·20
Figure 13: Example #1: G(s) = (s+8)(s+14)(s+20) .
Step Response
1.4
meth1
meth2
meth3
1.2
0.8
0.6
0.4
0.2
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Fall 2001 16.31 17–28
0.94
Figure 14: Example #2: G(s) = s2 −0.0297
.
Step Response
1.5
meth1
meth2
meth3
0.5
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Fall 2001 16.31 17–29
8·14·20
Figure 15: Example #3: G(s) = (s−8)(s−14)(s−20) .
Step Response
4
meth1
meth2
meth3
3
−1
−2
−3
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
16.31 Handout #3
Prof. J. P. How September 5, 2001
T.A. TBD Due: September 14, 2001
1. Plot the root locus diagram for positive values of K for the solutions of the equation
s3 + (5 + K)s2 + (6 + K)s + 2K = 0
2. The open loop transfer function of a closed-loop control system with unity negative
gain feedback is
K
G(s) = 2
s(s + 3)(s + 6s + 64)
Plot the root locus for this system, and then determine the closed-loop gain that gives
an effective damping ratio of 0.707.
3. A unity gain negative feedback system has an open-loop transfer function given by
K(1 + 5s)
G(s) =
s(1 + 10s)(1 + s)2
Draw a Bode diagram for this system and determine the loop gain K required for a
phase margin of 20 degs. What is the gain margin?
4. Plot the Nyquist diagram for the plant with the unstable open-loop transfer function
K(s + 0.4)
G(s) =
s(s2 + 2s − 1)
Determine the range of K for which the closed-loop system with unity negative gain
feedback which incorporated this plant would be stable.
16.31 Handout #4
Prof. J. P. How September 14, 2001
T.A. TBD Due: September 21, 2001
3. (Basic Root Locus Plotting) Sketch the root locus for the following systems. As we
did in class, concentrate on the real-axis, and the asymptotes/centroids.
K
(a) Gc G(s) =
s(s2+ 2s + 10)
K(s + 2)
(b) Gc G(s) =
s4
K(s + 1)(s − 0.2)
(c) Gc G(s) =
s(s + 1)(s + 3)(s2 + 5)
(d) Once you have completed the three sketches, verify the results using Matlab. How
closely do your sketches resemble the actual plots?
(a) With KD = 0 (the rate feedback removed), plot the root locus and state the
different types of (nonstable) responses possible (relate the response with the
possible pole locations)
2
Figure 2: Booster control system
(b) Design the compensator shown (which is PD) to place a closed-loop pole at s =
−0.25 + j0.25. Note that the time constant of the pole is 4 sec, which is not
unreasonable for a large space booster.
(c) Plot the root locus of the compensated system, with Kp variable and KD set to
the value found in (b).
(d) Use Matlab to compute the closed-loop response to an impulse for θc .
3
16.31 Handout #5
Prof. J. P. How September 21, 2001
T.A. TBD Due: September 28, 2001
1. Given the plant G(s) = 1/s2 , design a lead compensator so that the dominant poles
are located at −2 ± 2j
• Overshoot ≤ 5%
• 10-90% rise time tr ≤150 msec
Simulate the response of this closed-loop system to a step response. Comment on the
steady-state error. You should find that it is quite large.
Determine what modifications you would need to make to this controller so that the
system also has
• Kp > 6
thereby reducing the steady state error. Simulate the response of this new closed-loop
system and confirm that all the specifications are met.
3. Develop a state space model for the transfer function (not in modal/diagonal form).
Discuss what state vector you chose and why.
(s + 1)(s + 2)
G1 (s) = (1)
(s + 3)(s + 4)
(a) Develop a “modal” state space model for this transfer function as well.
(b) Confirm that both models yield the same transfer function when you compute
ẋ1 = x1 (u − βx2 )
ẋ2 = x2 (−α + βx1 )
16.31 Handout #5
Prof. J. P. How September 28, 2001
T.A. TBD Due: October 5, 2001
(a) Assume that the input vector u(t) is a weighted series of impulse functions applied
to the m system inputs, so that
k1
.
u(t) =
.. δ(t) = Kδ(t)
km
where the ki give the weightings of the various inputs. Use the convolution integral
to show that the output response can be written as:
(b) Repeat the process, but now assume that the inputs are step functions
k1
.
u(t) = ..
us (t) = Kus (t)
km
where us (t) is the unit step function at time zero. In this case show that the
output can be written as:
(c) If A−1 exists, find the steady state value for ystep (t)
(d) Use the functions in (a) and (b) to find an analytic expression for the response of
a system with zero initial conditions to an input
0
t<0
u(t) = 1 0 ≤ t < T
0 t≥T
(e) Confirm the result in (d) using the system dynamics given in question # 2
Find the corresponding transfer function matrix — it will be a row of 2 transfer functions.
4. Prove that:
®
(a) Compute the result by hand, and then confirm using tzero in matlab.
(b) Convert this state-space model to a tranfer function and confirm the result that
way too.
®
MATLAB is a trademark of The MathWorks, Inc.
16.31
Handout #5
Prof. J. P. How
October 5, 2001
T.A. TBD
Due: October 12, 2001
(a) Find the transfer function for the system G(s). Discuss the structure of G(s) for
various values of K.
(b) Form the observability matrix for the system. Is the system observable for all
values of K?
(c) Form the controllability matrix for the system. Is the system controllable for all
values of K?
(d) Compare your observations in (b) and (c) with those in (a).
3. The differential equations for the system with 2 inputs and 2 outputs are:
1
4. Consider the system
ẋ1 19 42 x1 5
= + u
ẋ2 −9 −20 x2 −2
h i x1
y = 3 7
x2
(a) Use the state-space tools to find the zeros (and their right directions) of the
system.
(b) Using these directions and the conditions given in the notes, check the modes of
the system for possible pole/zero cancellation. Form the transfer function of the
system and confirm that the results agree.
®
MATLAB is a trademark of The MathWorks, Inc.
2
16.31 Handout #6
Prof. J. P. How October 12, 2001
T.A. TBD Due: October 19, 2001
1. Describe a physical system that you commonly use that exhibits either a loss of ob
servability and/or controllability.
ẋ =
x +
u
−2 2 1
s2 + 4.4s + 5
G2 (s) =
(s2 + 3s + 4)(s + 2)
(e) Now, for both G1 (s) and G2 (s), find the target pole locations using a symmetric
root locus as r → 0 and as r → ∞.
(f) Find the four sets of full-state feedback controller gains to put the poles of these
two systems in these two sets of locations. Compare the results. Are there any
surprises here?
1
4. The modified Longitudinal Dynamics of an old F-8 Aircraft are given as (see following
discussion):
ẋ = Ax + Bu
y = Cx + Du
−0.80 −0.0344 −12.0 0 −19.0 −2.50
0
−0.0140 −0.2904 −0.5620
−0.0115 −0.0087
A= B=
1.0 −0.0057 −1.50 0 −0.160 −0.60
1.0 0 0 0 0 0
0 0 0 1 0 0
C= D=
0 0 −1 1 0 0
(a) Find the eigenvalues and eigenvectors for these dynamics. Describe the mode
shapes for this system. Clearly discuss to what extent each state participates in
the mode.
®
(b) Use Matlab to check the controllability of the aircraft dynamics using the two
actuators separately.
(c) Using the elevator input δe (t), design a full state-feedback controller that doubles
the magnitude of the real part of each pole (leaving the complex parts the same
as open-loop).
(d) Use the techniques shown in class to modify the reference input so that the control
system would track a change in the perturbed pitch angle from trim with zero
steady-state error.
®
(e) Simulate the response in Matlab to a commanded 2 deg increase in the pitch angle
and discuss the results. Show the actual elevator inputs required.
1 Introduction
We shall present here the dynamics of an aircraft. We shall present a brief discussion of the
aircraft dynamics, and present the nominal differential equations.
The F-8 is an ”old-fashioned” aircraft that has been used by NASA as part of their digital
”fly-by-wire” research program. We have modified the equations of motion by including a
large ”flaperon” on the wing so as to obtain two control variables in the longitudinal dynamics
of the F-8. This flaperon does not exist in the F-8 aircraft. However, such surfaces exist
in other recent aircraft, e.g. the X-29, and provide some additional flexibility for precision
maneuvers.
2 Modeling Discussion
In Figure 1 we show an aircraft with a Cartesian coordinate system fixed to its center of
gravity (cg). This coordinate system, which is the so-called ”stability axes” coordinate frame,
has the x-axis pointed toward the nose of the aircraft, the y-axis out the right side, and the
z-axis pointed down.
We shall assume that the aircraft is flying in the vertical plane with its wings level (i.e.
without banking or turning) so that we can study its motion in the vertical plane, i.e. its
longitudinal dynamics. The important variables that characterize the aircraft in this motion
are the horizontal velocity of the airplane, the pitch angle θ which is the angle of the x-
axis with respect to the horizontal, the pitch rate is the rate of change of the pitch angle,
q = dθ/dt, and the angle of attack α. The angle of attack, α, is the angle of the nose with
respect to the velocity vector of the aircraft. Holding the wings at the angle of attack α with
respect to the incoming wing, which necessitates a tail, is what provides the lift force needed
to fly, i.e. to just balance the force of gravity, but it also produces drag; both lift and drag
are approximately proportional to the angle of attack α for small α. The flight path angle,
γ, defined by
γ =θ−α
is the angle between the aircraft velocity vector and the horizontal. As its name implies, γ
describes the trajectory of the aircraft in the vertical plane.
The longitudinal motion of the aircraft is controlled by two hinged aerodynamic control
surfaces as shown in figure 1: the elevator is located on the horizontal tail, and we shall
use the elevator angle δe (t) as a control variable; the flaperons are located on the wing, and
we shall use the flaperon angle δf (t) as another control variable. Most people are familiar
with elevators; the flaperons are just like the ailerons except that they move in the same
direction. Deflection of either of these two surfaces downward causes the airflow to be
deflected downward; this produces a force that induces a nose-down moment about the cg.
3
put the figure here
As the aircraft rotates, it changes its angle of attack which results in additional forces and
moments (we shall show the equations below.)
The longitudinal motion of the aircraft is also influenced by the thrust generated by the
engines. However, in this problem we shall fix the thrust to be a constant and we shall
not use it as a dynamic control variable. (Actually, the dynamic coordination of the thrust,
elevator, and flaperons becomes important and significant when the aircraft is in its landing
configuration).
In general, the differential equations that model the aircraft longitudinal motions are non-
linear. These nonlinear differential equations can be linearized at a particular equilibrium
(steady-state) flight condition which is characterized by constant airspeed, altitude, cg lo-
cation, ”trimmed” angle of attack α, ”trimmed pitch angle θ so that γ = 0, and ”trimmed”
elevator angle δe to maintain zero pitch rate. One can then obtain a system of linear time-
invariant differential equations that describe the deviations of the relevant quantities from
their constant equilibrium (trimmed) values.
The following four state variables represent perturbations from the equilibrium values:
ẋ = Ax + Bu
y = Cx + Du
−0.80 −0.0344 −12.0 0 −19.0 −2.50
0
−0.0140 −0.2904 −0.5620
−0.0115 −0.0087
A= B=
1.0 −0.0057 −1.50 0 −0.160 −0.60
1.0 0 0 0 0 0
0 0 0 1 0 0
C= D=
0 0 −1 1 0 0
®
MATLAB is a trademark of The MathWorks, Inc.
16.31 Handout #8
Prof. J. P. How October 26, 2001
T.A. TBD Due: November 2, 2001
s2 + 2ζωn s + ωn2 = 0
(d) Use your analytic expressions for k1 and k2 to support the following two claims:
• “The system has to work harder and harder to achieve control as the control-
lability is reduced.”
• “To move the poles a long way takes large gains.”
2. We have talked at length about selecting the feedback gains to change the pole locations
of the system, but we have not mentioned anything about how the open-loop zeros are
changed. Part of the reason for this is that it can be shown that:
When full state feedback is used (u = N¯ r − Kx) to control a system, the zeros remain
unchanged by the feedback.
Confirm that this statement is true by analyzing the zero locations for the closed-loop
system, which are given by the roots of the polynomial:
sI − (A − BK) −N̄B
det
=0
C 0
The best way to proceed is to show that, through a series of column and row operations
that do not change the value of the determinant, you can get the following reduction:
sI − (A − BK) −N̄ B sI − A −B
det =0 ⇒ det =0
C 0 C 0
which, of course, is the same polynomial used to find the open-loop zeros of the system.
3. Consider the stick-on-the-cart problem (dynamics are given on the web page).
(a) Develop a state-space model for the transfer function dynamics given on page 2-8
of that handout.
(b) Confirm that the system is controllable using the force actuator.
(c) The objective is to design a full-state feedback controller for this system using
pole-placement techniques. The overall goals1 are to obtain a settling time of 4—5
sec with a maximum overshoot of ≈ 15%. Generate four controllers using the
placement locations from:
• Dominant second-order (discuss where you put all the poles)
• Bessel
• ITAE (locations will be posted)
• LQR (show the SRL in this case using y = x)
(d) Simulate the response of the system to a 3 unit step change in the position of the
cart x. Use u = N¯ r − Kx to implement the control.
• Discuss any aspects of the response of the system that seem particularly
interesting. Is the system minimum phase or NMP?
• Compute (and plot on the same graph) the control effort required using each
of the four placement methods. Compare the amount of effort required in
each case2 .
4. Consider the simple system
1
G(s) =
s+a
(a) Draw the SRL plot for this system.
(b) The SRL equation is only second order in this case, so use it to explicitly solve
for the closed-loop pole location as a function of r, the control weight.
(c) Use this solution to find the feedback gain u = −Kx as a function of r. Discuss
what happens when r → 0 and r → ∞. Be sure to consider the two separate
cases: a > 0 and a < 0. Any surprises here?
1
Note that these specifications on the closed-loop performance are not very tight, they are given only as
targets for you to use in roughly selecting where to place the dominant poles.
2
Note that this is a dangerous process in general, because we should really only be concerned if a technique
gives the same performance as the rest, but takes a lot more control effort
2
16.31 Handout #9
Prof. J. P. How November 2, 2001
T.A. TBD Due: November 9, 2001
(a) Suppose that we know y(3) = 1, what does this tell us about x(3)? Plot the
region in the x1 (3)–x2 (3) plane consistent with this measurement.
(b) Now suppose that we also know that ẏ(3) = 0, what does this tell us about x(3)?
Plot this region on the same graph and from this combined plot show whether or
not you can determine x(3).
(c) Repeat parts (a) and (b) using the same A matrix but with C = 0 1 . What
happens in this case? What causes the difference?
ẋ1 = w
ẋ2 = −x1 − 2x2 + w (1)
with continuous measurements y(t) = x2 (t)+ v(t). The measurement and process noise
sizes (spectral densities) are Rv and Rw , respectively.
1
(a) Find the transfer function Gyw (s) from w(s) to y(s) and identify the poles and
zeros. Recall that right-half plane zeroes are called non-minimum phase.
(b) Use this transfer function to sketch the symmetric root locus for the estimator
poles versus Rw /Rv .
(c) Use this plot to clearly demonstrate that one of the estimator poles tends to
s = −1 as Rv /Rw → 0, even though there is no zero there (only a reflected one).
(d) Find the gains to place the estimator poles in the locations associated with
Rv /Rw = (pick a small and use acker as in the notes). Simulate the re
sponse of the resulting closed-loop estimator to confirm that this implies that
part of the estimation error will never attenuate faster than e−t , even with noise
free measurements.
(e) Comment on the impact of the nonminimum-phase zero on our ability to do good
estimation for this system.
4. Consider the F-8 problem in HW7, #4. Assume that the process noise disturbance
(size ≈1) enters through the flaperon δf and the sensor is the perturbed flight path
angle
y2 (t) = 0 0 −1 1 x + v
(a) Draw a symmetric root locus for this system to find the closed-loop estimator
poles as function of the size Rv of the sensor noise v. Clearly show the pole
locations associated with the limiting cases Rv → 0, ∞.
(b) Select the estimator pole locations that maximize the decay rate of the highest
frequency set of estimator poles. Find the estimator gains to place the estimator
poles at these locations.
(c) Simulate the combined system/estimator response to determine the estimation
error as a function of time when
1 0
−1 0
x(0) = but x(0)
ˆ =
1 0
−1 0
(a) Design a full-state feedback controller that yields closed-loop poles with ωn = 3
and ζ = 0.5.
(b) Design a state estimator that has estimator error poles with ωn = 15 and ζ = 0.5
(c) Combine these two to obtain the compensator Gc (s).
• Plot the Bode diagram of the compensator.
• Can you give classical interpretation of how this compensator works?
• What are the gain and phase margins of this system?
(d) Plot the closed-loop root locus as a function of the plant gain (nominally 10) —
how sensitive does this controller appear to be?
2. The linearized longitudinal equations of a helicopter near hover can be modeled by the
normalized third order system
q̇ −0.4 0 −0.01 q 6.3
θ̇ = 1 0 0 θ + 0 δ
u̇ −1.4 9.8 −0.02 u 9.8
where q is the pitch rate, θ is the pitch angle of the fuselage, u is the horizontal velocity,
and δ is the rotor tilt angle. Suppose that our sensor measures the horizontal velocity,
so y = u
1
(a) Find the open-loop pole locations.
(b) Sketch out how you would design a classical controller that stabilizes the system
(i.e., Discuss the number of compensator poles and zeros and show roughly where
they need to be.)
(c) Is this system controllable and observable?
(d) Plot the regulator SRL for this system — choose the value of control weighting r
that places the real pole near s = −2. Design the regulator gains K that place
the poles at the resulting locations.
(e) Plot the estimator SRL for this system — choose the value of noise ratio that places
the real pole near s = −8. Design the estimator gains L that place the poles at
the resulting locations.
(f) Compute the compensator transfer function using the K and L gains obtained.
• Plot the Bode diagram of the compensator.
• How does this design compare with yours in part (b)?
(g) Plot the closed-loop root locus as a function of the plant gain (as done in class)
— how sensitive does this controller appear to be?
(h) Compute and plot the sensitivity function S(s) for this closed-loop system — does
this design look feasible for implementation?
3. Consider the classic example
" # " # " #
1 1 0 1
ẋ = x+ u+ w
0 1 1 1
h i
y = 1 0 x+v
h i
z = 1 1 x
(a) Use SRL arguments to show that, as the control weight ρ → 0 the regulator gains
are given by Kr = k[ 1 1 ] (and find an approximate expression for k).
(b) Use similar arguments to show that, as the relative sensor noise θ → 0 the esti-
mator gains are given by L = l[ 1 1 ] (find an approximate expression for l)
(c) Form the compensator using these gains and describe how the compensator sta-
bilizes the system. (Try to do this analytically if possible, but if not, consider
three designs with ρ = θ ∈ {1, 10−2 , 10−4 }).
(d) Compute and plot the Nyquist plot for the system — How large a circle can you
put around the critical point −1 without changing the number of encirclements?
Again consider ρ = θ ∈ {1, 10−2 , 10−4 }.
(e) Compute and plot the sensitivity plot for the system — is this plot consistent with
your findings in the Nyquist diagram?
(f) What can you conclude about the stability margins for this controller as
ρ = θ → 0?
Fall 2001
Topic #6
1
Fall 2001 16.31 3–1
Introduction
• Root locus methods have:
– Advantages:
∗ Good indicator if transient response;
∗ Explicity shows location of all closed-loop poles;
∗ Trade-offs in the design are fairly clear.
– Disadvantages:
∗ Requires a transfer function model (poles and zeros);
∗ Difficult to infer all performance metrics;
∗ Hard to determine response to steady-state (sinusoids)
2. Nichols Plot – |G(jω)| vs. arg G(jω), which is very handy for
systems with lightly damped poles.
3. Bode Plot – Log |G(jω)| and arg G(jω) vs. Log frequency.
– Simplest tool for visualization and synthesis
– Typically plot 20log |G| which is given the symbol dB
Fall 2001 16.31 3–3
Example
• Draw Bode for
s+1
G(s) =
s/10 + 1
|jω + 1|
|G(jω)| =
|jω/10 + 1|
log |G(jω)| = log[1 + (ω/1)2]1/2 − log[1 + (ω/10)2]1/2
• Approximation
0 ω ωi
log[1 + (ω/ωi )2]1/2 ≈
log[ω/ωi ] ω ωi
Two straightline approximations that intersect at ω ≡ ωi
• Error at ωi obvious, but not huge and the straightline approxima-
tions are very easy to work with.
2
10
1
10
|G|
0
10
−2 −1 0 1 2
10 10 10 10 10
Freq
Fall 2001 16.31 3–5
2
10
1
10
|G|
0
10
−1
10
−2 −1 0 1 2 3
10 10 10 10 10 10
Freq
• Draw the components using breakpoints that are at ωi /10 and 10ωi
100
90
80
70
60
Arg G
50
40
30
20
10
−2 −1 0 1 2 3
10 10 10 10 10 10
Freq
• Then add them up starting from zero frequency and changing the
slope as ω → ∞
80
60
40
20
Arg G
−20
−40
−60
−80
−2 −1 0 1 2 3
10 10 10 10 10 10
Freq
Actual
0 LF
10 MF
HF
−1
+1
−1 −2
10 0
Magnitude
−2
10
+1
−2
−3
10
−4 −3 −2 −1 0 1
10 10 10 10 10 10
Freq (Hz)
20
Actual
LF
0 MF
HF
−20
−40
−60
Phase (deg)
−80
−100
−120
−140
−160
−180
−4 −3 −2 −1 0 1 2
10 10 10 10 10 10 10
Freq (Hz)
4.54s
Bode for G(s) = .
s3 + 0.1818s2 − 31.1818s − 4.4545
The poles are at (-0.892, 0.886, -0.0227)
Fall 2001
0
10
MP
|G|
NMP
−1
10
−1 0 1 2
10 10 10 10
Freq
200
MP
NMP
150
Arg G
100
50
0
−1 0 1 2
10 10 10 10
Freq
Figure 4: Magnitude plots are identical, but the phase plots are dramatically different. NMP has a 180 deg
phase loss over this frequency range.
MIT OpenCourseWare | Aeronautics and Astronautics | 16.31 Feedback Control Systems,... Page 1 of 1
http://ocw.mit.edu/OcwWeb/Aeronautics-and-Astronautics/16-31Feedback-Control-Syste... 8/12/2005
Fall 2001
Topic #5