0% found this document useful (0 votes)
32 views

Control Systems I: Lecture 14: Robustness and Implementation Readings: Notes

1. The document discusses robustness in control systems and implementing dynamic compensators on computers. 2. It introduces multiplicative uncertainty models to represent uncertainty between a nominal system model and the true system. The uncertainty is modeled as a stable transfer function multiplied by a frequency-dependent weight. 3. As an example, it shows how gain uncertainty in a system can be modeled using multiplicative uncertainty, with the weight determining how much the true and nominal transfer functions can differ.

Uploaded by

Alex Mar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

Control Systems I: Lecture 14: Robustness and Implementation Readings: Notes

1. The document discusses robustness in control systems and implementing dynamic compensators on computers. 2. It introduces multiplicative uncertainty models to represent uncertainty between a nominal system model and the true system. The uncertainty is modeled as a stable transfer function multiplied by a frequency-dependent weight. 3. As an example, it shows how gain uncertainty in a system can be modeled using multiplicative uncertainty, with the weight determining how much the true and nominal transfer functions can differ.

Uploaded by

Alex Mar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Control Systems I

Lecture 14: Robustness and Implementation

Readings: notes

Emilio Frazzoli

Institute for Dynamic Systems and Control


D-MAVT
ETH Zürich

December 22, 2017

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 1 / 24


Schedule

# Date Topic
1 Sept. 22 Introduction, Signals and Systems
2 Sept. 29 Modeling, Linearization
3 Oct. 6 Analysis 1: Time response, Stability
4 Oct. 13 Analysis 2: Diagonalization, Modal coordi-
nates.
5 Oct. 20 Transfer functions 1: Definition and properties
6 Oct. 27 Transfer functions 2: Poles and Zeros
7 Nov. 3 Analysis of feedback systems: internal stability,
root locus
8 Nov. 10 Frequency response
9 Nov. 17 Analysis of feedback systems 2: the Nyquist
condition
10 Nov. 24 Specifications for feedback systems
11 Dec. 1 PID Control
12 Dec. 8 Loop Shaping
13 Dec. 15 Implementation issues
14 Dec. 22 Robustness

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 2 / 24


Outline

1 Robust stability

2 Computer implementation of a dynamic compensator

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 3 / 24


Motivation 1/2

All analytical methods for control design are based on a “model” of the
system to be controlled.

Such a model does not necessarily represent a perfect description of the


system, for several reasons, for example:

The complexity of a real physical system can not be handled well by


mathematical models.

Even in the case in which a perfect model can be designed for a given system,
in general the same model is not a perfect description under all operating
conditions.

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 4 / 24


Motivation 2/2

Such a model does not necessarily represent a perfect description of the


system, for several reasons, for example (continued):

The experimental identification of a system’s model (including validation of a


mathematical model) is very difficult for open-loop unstable plants, for obvious
reasons. Even for stable plants, an accurate experimental measurement of
high-frequency behavior is very hard to get.

Certain characteristics of the model may not be amenable to “easy” control


design (e.g., nonlinearities, or very high order or fast dynamics). In these
cases, it may be preferable to formulate a simple linear model of the system,
that can be used as the basis for control design.

Still, even though a perfect model of the system is not available, it is desired
to design an automatic control system that performs according to some
specifications not only for the given “model,” but also for the “real” system.

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 5 / 24


System uncertainty and uncertainty models
Uncertainty model


"real" system

P
nominal system

System uncertainty

In order to take such uncertainty into account, we will first come up with an
uncertainty model, consisting of
1 A nominal model;
2 A set of models that is guaranteed to contain the system uncertainty, and is
easier to handle.
and then design a control system that meets the stability and performance
specifications not only for P, but also for all other possible models in the
uncertainty model.

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 6 / 24


Uncertainty models for SISO linear systems 1/2

In the rest of this lecture, we will look at a common uncertainty model that
isapplicable to SISO linear systems.

In general, all such methods will aim at writing the transfer function of the
“real” system in terms of the transfer function of a “nominal” system, and of
an unknown transfer function ∆, representing the uncertainty as a
perturbation on the nominal system.

The perturbation ∆ is assumed to be a stable, minimum-phase transfer


function, such that it does not cancel unstable poles of the nominal system.

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 7 / 24


Uncertainty models for SISO linear systems 2/2

For convenience, we will also scale the perturbation ∆ in such a way that

|∆(jω)| < 1, for allω

(i.e., in such a way that its Bode magnitude plot lies below the 0db line).

We can recover arbitrary magnitude/frequency models using another (known)


transfer function W2 . In other words, the uncertainty will take the form

W2 (s)∆(s).

In general, we will allow the weight to be a function of the frequency (in fact,
this is called a frequency weight), and write it as a function of the frequency
or even the Laplace variable, e.g., as W2 (s)—but we will only consider its
magnitude.

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 8 / 24


Multiplicative uncertainty
Multiplicative uncertainty models are of the form
P̃(s) = (1 + W2 (s)∆(s))P(s).
Note that since !
1 P̃(s)
−1 = ∆(s),
W2 (s) P(s)
and k∆k∞ ≤ 1, it must also be true that
!
1 P̃(jω)
−1 <1

W2 (jω) P(jω)


for all frequencies ω, i.e., that

P̃(jω)
− 1 < |W2 (jω)|, ∀ω ∈ R.

P(jω)


So the multiplicative uncertainty model is a description of how much the
ratio of the “real” and “nominal” transfer function is away from being equal
to one.

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 9 / 24


Multiplicative uncertainty

Among other things, multiplicative uncertainty is useful when the gain of P̃ is


uncertain. For example, consider the uncertain system

P̃(jω) = γ(ω)G (jω), γ(ω) ∈ [γ− (ω), γ+ (ω)], for everyω

where G (s) is a known transfer function. We can represent the same set of
systems using a multiplicative uncertainty model with

γ− (ω) + γ+ (ω)
P(jω) = γ0 (ω)G (jω), γ0 (ω) = ,
2
and
γ( ω) + −γ− (ω)
W2 (jω) = .
γ+ (ω) + γ− (ω)

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 10 / 24


Quick Check 8.4.2: Find the simplest possible transfer function Σ(s) that
has a similar frequency response to the “measured” frequency response of an
Example
unknown system shown in Figure 8.9. !

dB m(ω) 1 10 deg ϕ(ω) 1 10

ω (rad/s) ω (rad/s)
-20
-10

-40
-20

-60

-30
-80

Figure 8.9. Measured frequency response.

8.5 Nonparametric Uncertainty


E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 11 / 24
SISO System with Multiplicative Uncertainty
q
∆(s) W2 (s) v

r y
C (s) P(s)
-

The (true, but unknown) loop transfer function is

L̃(s) = (1 + W2 (s)∆(s))P(s)C (s).

The nominal loop transfer function (for ∆ = 0)

L(s) = P(s)C (s)

is such that the closed-loop system is stable.

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 12 / 24


A Nyquist condition for robust stability

Note that
L̃(jω) = L(jω) + W2 (jω)∆(jω)L(jω);

while we do not know what ∆(jω) is, we know that its magnitude is bounded
by 1:
|L̃(jω) − L(jω)| = |W2 (jω)∆(jω)L(jω)| ≤ |W2 (jω)L(jω)|.

So in order for the Nyquist plot of the (true, but unknown) loop transfer
function L̃ not to encircle the -1 point, the Nyquist plot of the nominal loop
transfer function L should never get closer than |W2 (jω)L(jω)| from the -1
point.
|L(jω) + 1| > |W2 (jω)L(jω)|.

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 13 / 24


A Nyquist condition for robust stability
Im

−1 Re

)
|W2 (jω)L(jω)| L(j ω

Note that the radius of the circle giving the minimum distance of L(jω) from
the -1 point depends on ω, so you may want to think of the envelope of these
circles as ω varies as well; the envelope should not touch the -1 point in order
to ensure robust stability.

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 14 / 24


Outline

1 Robust stability

2 Computer implementation of a dynamic compensator

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 15 / 24


How to implement a compensator

After a semester of hard work, you have learned how to design a dynamic
compensator for controlling a SISO LTI system.

This compensator usually takes the form of a transfer function, which we can
write as
cn−1 s n−1 + cn−2 s n−2 + . . . + c0
C (s) = k + n
s + an−1 s n−1 + an−2 s n−2 + . . . + a0

How can we implement this mathematical object into a physical device?


In the past, and today for some specialized applications, this is implemented
using custom analog electronics;
In typical applications today, this is implemented on a digital microcontroller,
running a program implementing the desired compensator.

How?

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 16 / 24


State space realization

Recall that a realization of a transfer function


cn−1 s n−1 + cn−2 s n−2 + . . . + c0
C (s) = k +
sn + an−1 s n−1 + an−2 s n−2 + . . . + a0

is the following set of (A, B, C , D) matrices:


   
0 1 0 0 ... 0 0
 0
 0 1 0 ... 0

0
 
A= . . , B =  ...  ,
   
 .   
 0 0 0 0 ... 1 0
−a0 −a1 . . . − an−1 1
 
C = c0 c1 ... cn−1 , D = [k]

Note: the “input” to this system is the error signal e = r − y , the output is
the control input u.

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 17 / 24


Pseudo-code (Euler approximation)

Once we have a state-space realization, the implementation of a dynamic


compensator is relatively straightforward, in functions that look like the
following:

Initialize the state to, e.g., x ← 0.


Let dt be some small time interval.
loop
Read the reference value r .
Read the measured output value y .
Compute the error e.
Update the state as x ← x + (Ax + Be) ∗ dt.
Compute the output as u = Cx + De.
Send the command u to the actuators.

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 18 / 24


Examples

Proportional control: C (s) = K

kI
PI control: C (s) = KP + s

Lead-lag: C (s) = k s+p


s+z

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 19 / 24


Non-proper transfer functions?

What if we have a non-proper transfer function, e.g., including a derivative


term KD s.

We need to change the code to approximate derivatives, e.g.:


Initialize the state to, e.g., x ← 0.
Initialize the error to, e.g., eold ← 0;
Let dt be some small time interval.
loop
Read the reference value r .
Read the measured output value y .
Compute the error e.
Update the state as x ← x + (Ax + Be) ∗ dt.
Compute the output as u = Cx + De + KD ∗ (e − eold )/dt.
Send the command u to the actuators.
Store the error: eold ← e.

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 20 / 24


Choosing the sampling time dt

In common implementations the commanded value for the input is


maintained over the sampling period dt (“Zero-Order Hold”);

The effect is similar to that of a time delay by dt/2.

So if 2/dt is much higher than the bandwidth of the system (roughly, the
crossover frequency), we expect the digital implementation to work well.

On the other hand, if our computer is not fast enough wrt the system, we
may expect large decreases in phase margin, and possibly instability.

In those cases, if buying a faster computer is not an option, one can benefit
from specialized discrete-time control design techniques, which are outside of
the scope of this class.

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 21 / 24


Example
C(s) = 1 + 1/s, P(s) = 1/(10s +1)
1.8
continuous-time
dt = 0.1
1.6 dt=0.5
dt=1
dt=2
1.4

1.2
Amplitude

0.8

0.6

0.4

0.2

0
0 20 40 60 80 100 120
Time (seconds)

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 22 / 24


Summary of the class

1 State-space models of physical systems; equilibria and linearization.


2 Response in the time domain.
3 Stability of a system (open loop)
4 Closed-loop stability analysis and the root locus
5 Transfer functions and frequency response
6 The Nyquist stability condition
7 Specifications for feedback systems
8 Loop shaping using the Bode plot; poles/zeros, lead/lag, PID control
9 Some of the ”real-world nuisances”: time delays, nonlinearities, anti-windup.
10 Robustness, implementation.

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 23 / 24


Next steps

Laboratory Practice

Control Systems II

Optimal Control

Stochastic Systems

System Modeling

Recursive Estimation

Model Predictive Control

E. Frazzoli (ETH) Lecture 14: Control Systems I 22/12/2017 24 / 24

You might also like