0% found this document useful (0 votes)
77 views45 pages

Control Theory: Germán Andrés Ramos, PHD

Control theory uses frequency domain design which involves analyzing a system's frequency response using bode plots and nyquist plots. The nyquist stability criterion can determine stability by analyzing whether the nyquist plot of the loop transfer function encircles the critical point (-1,0) clockwise the same number of times as the number of open right half plane poles. System robustness is defined by gain and phase margins while system speed and error can be understood from bode plots. Frequency domain techniques allow corrections to be easily made using poles and zeros.
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)
77 views45 pages

Control Theory: Germán Andrés Ramos, PHD

Control theory uses frequency domain design which involves analyzing a system's frequency response using bode plots and nyquist plots. The nyquist stability criterion can determine stability by analyzing whether the nyquist plot of the loop transfer function encircles the critical point (-1,0) clockwise the same number of times as the number of open right half plane poles. System robustness is defined by gain and phase margins while system speed and error can be understood from bode plots. Frequency domain techniques allow corrections to be easily made using poles and zeros.
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/ 45

Control Theory

Frequency domain design

Germán Andrés Ramos, PhD.


Frequency domain design

• Design based on the system frequency response (bode


plot, nyquist plot)

• System robustness can be defined using the gain and


phase margins

• Nyquist stability criterion can be applied also to establish


gain and phase margins

• System error constants can be read directly from the low


frequency asimptote in the magnitude plot

• System speed response is proportional to the crossover


frequency
Frequency domain design

In continuous time

• The bode plots are easily plotted and interpreted (by


hand)
• Corrections to the frequency response can be easily
made using the controller poles and zeros
• Gs(j!) is a rational function of j! then plot bode plots is
simple

In discrete time

• Computer tools
• Gz(ej!) is an irational function of !
Frequency domain design
Principio del argumento
F(s)

From [1]

C1 closed curve in the s-plane


C2 will encircle the
F(s) rational function of s (no pole nor zero on C1) origin of the F-plane
(Z-P) times in the
Z, P numbers of zeros and poles of F(s) encircled by C1
same direction as C1
C2 maping of C1 by F(s) into the F-plane
Hp(z)

ymSP u y ym
Frequency domain
H (z) design
H (z) H (z) c u s

Nyquist stability criterion Making compact


GL(z)
G (s)
l l(z)

R(s)
ym SP u Yym(s)
C(s)
Hc (z) G(s)
Hp (z)

Closed-loop transfer function: MakingGcompact


l (s)
Go (s) =
y mSP 1+yGl (s)
m
Closed-loop characteristic equation: L(s)
Δ(s) = 1+ Gl (s)

Loop transfer function: Gl (s)

Figure 31: Converting an extracted part of the detailed block diagram in Figure 30
into a compact block diagram. L(z) is the loop transfer function.
Frequency domain design
Nyquist plot
Gl (s)

Gl (s)

From [5]
Frequency domain design
Nyquist plot
Gl (s)

From [1]

s +1
Gl (s) = 2 F(s) = 1+ Gl (s)
s (s − 2)
Frequency domain design
Nyquist plot – polar plot
3.5 Frequency R
Gl (s)
Im G(iω )

Ultimate point

−1 ϕ Re G(iω )
a

From [6] Polar plot


Figure 3.8 The Nyquist plot of a transfer function G (iω ).

B A
L( s )
L
that number. What about determining the angular change of the vector
1 + L(z)? Figure 34 shows how the vector (or complex number) 1 + L(z)
appears in a Nyquist diagram for a typical plot of L(z). A Nyquist diagram is

Frequency domain design


simply a Cartesian diagram of the complex plane in which L is plotted.
1 + L(z) is the vector from the point ( 1, 0j), which is denoted the critical
point, to the Nyquist curve of L(z).

Nyquist plot Curve A2


is mapped
Im G
L(z)
l (s) Negative
to here

The Curve B
critical is mapped
point 1 to origo
0
Re L(z)
Gl (s)

1 + L(z)
Gl (s)
Distance of the
Nyquist curve Nyquist
curve of Decreasing
to the critical point
(-1,0): L(z)
Gl (s) Positive
From [7]
Curve A1
1+ Gl (s) is mapped
to here

Figure 34: Typical Nyquist curve of L(z). The vector 1 + L(z) is drawn.
arg [1 + L(z)]
PCL = + POL (306)
360
If PCL = 0, the closed loop system is asymptotically stable.

Frequency domain design Let us take a closer look at the terms on the right side of (306): POL are the
number of the roots of dL (z), and there should not be any problem calculating
that number. What about determining the angular change of the vector
1 + L(z)? Figure 34 shows how the vector (or complex number) 1 + L(z)
appears in a Nyquist diagram for a typical plot of L(z). A Nyquist diagram is

Nyquist stability criterion


simply a Cartesian diagram of the complex plane in which L is plotted.
1 + L(z) is the vector from the point ( 1, 0j), which is denoted the critical
point, to the Nyquist curve of L(z).

Curve A2
Theorem: is mapped
Im G
L(z)
l (s) Negative
to here
Go(s) is stable if and only if the
The Curve B
Nyquist plot of Gl(s) does not pass critical is mapped
through critical point (-1,0) and the point 1 to origo
number of counterclockwise 0
Re L(z)
Gl (s)
encirclements of (-1,0) equals the
number of open right-half-plane 1 + L(z)
Gl (s)
poles of Gl(s) Nyquist
curve of Decreasing
L(z)
Gl (s) Positive
Curve A1
is mapped From [7]
to here

Figure 34: Typical Nyquist curve of L(z). The vector 1 + L(z) is drawn.

More about the Nyquist curve of L(z) Let us take a more detailed look
arg [1 + L(z)]
PCL = + POL (306)
360
If PCL = 0, the closed loop system is asymptotically stable.

Frequency domain design Let us take a closer look at the terms on the right side of (306): POL are the
number of the roots of dL (z), and there should not be any problem calculating
that number. What about determining the angular change of the vector
1 + L(z)? Figure 34 shows how the vector (or complex number) 1 + L(z)
appears in a Nyquist diagram for a typical plot of L(z). A Nyquist diagram is

Nyquist stability criterion


simply a Cartesian diagram of the complex plane in which L is plotted.
1 + L(z) is the vector from the point ( 1, 0j), which is denoted the critical
point, to the Nyquist curve of L(z).

Curve A2
Corollary: is mapped
Im G
L(z)
l (s) Negative
to here
If Gl(s) has no open right-half-plane
The Curve B
poles, then Go(s) is stable if and only critical is mapped
if the Nyquist plot of Gl(s) does not point 1 to origo
encircle nor pass through critical 0
Re L(z)
Gl (s)
point (-1,0)
1 + L(z)
Gl (s)
Nyquist
curve of Decreasing
L(z)
Gl (s) Positive
Curve A1
is mapped
to here From [7]

Figure 34: Typical Nyquist curve of L(z). The vector 1 + L(z) is drawn.

More about the Nyquist curve of L(z) Let us take a more detailed look
Frequency domain design
Design criteria
• Gain and phase margins:

From [1]
Frequency domain design
Design criteria
• Gain and phase margins:

From [6]
Frequency domain design
Design criteria
• Gain and phase margins:

From [6]
Frequency domain design
Design criteria
• Gain and phase margins:

From [1]
Frequency domain design
• Gain and phase margins (OL) – transient response (CL)
For a second order continuous time system: ω2
Go (s) = 2
s + 2ζω s + ω 2

Go ( jω )

cutoff frequency
ωc

bandwidth

From [5]
Resonant peak

overshoot # 1
− πζ % ζ < 0.707
1−ζ 2
M r = $ 2ζ 1− ζ 2
Mp = e %
& 1 ζ ≥ 0.707
Frequency domain design
• Gain and phase margins (OL) – transient response (CL)
For a second order continuous time system: ω2
Go (s) = 2
s + 2ζω s + ω 2

Resonant peak From [1]


From [5]
overshoot #
− πζ 1
1−ζ 2 % ζ < 0.707
Mp = e M r = $ 2ζ 1− ζ 2
%
& 1 ζ ≥ 0.707
Frequency domain design

• Gain and phase margins (OL) – transient response (CL)

For a second order continuous time system:


ω2
Go (s) = 2
s + 2ζω s + ω 2

Gain margin > 10 dB, Phase margin > 45° Mr ≈ 1.3

Gain margin > 12 dB, Phase margin > 60° Mr ≈ 1.0


Frequency domain design
Gain and phase margins (OL) – transient response (CL)

• For the second order continuous time system:


ω2 G(s)
G(s) = 2 closed-loop Go (s) =
s + 2ζω s 1+ G(s)
• Phase margin (G(s)) and Mp (Go(s)) are directly related:
" %
−1
$ 2ζ '
φ m = tan $ 1 '
$
# ( 4
4ζ +1 − 2ζ )
2 2'
&

• Which is usually approximated by: φ m = 100ζ


Frequency domain design
Gain and phase margins (OL) – transient response (CL)

• φ m = 100ζ

Discrete proportional
feedback of

1
G(s) = 2
s +s
Open loop
phase margin and
closed-loop damping
ratio as the feedback
gain was varied

From [6]
Frequency domain design
Gain and phase margins (OL) – transient response (CL)

• The resonant peak (CL) increases as the frequency


response (OL) appoaches the point -1

Larger resonance small stability margins


time domain frequency domain
CL CL
Frequency domain design
Gain and phase margins (OL) – transient response (CL)

• Sensitivity to parameter variation: is in general reduced


increasing the open loop gain

• Disturbance rejection can be improved using hign loop


gain, provided that this gain is not in the direct path
between the disturbance input and system output

• Control effort: constraints on the control action need to


be considered. High loop gain can cause system
saturation
Frequency domain design

Low frequency gains (OL) – steady state error (CL)

• Position error constant:

K p = lim C(s)G(s)
s→0

• Velocity error constant:

K v = lim sC(z)G(z)
s→0
Frequency domain design
1
Given the closed loop transfer function: E(s) = R(s)
1+ G(s)C(s)
• Position error constant:
1
- For a step reference: R(s) =
s
1 1
E(z) =
1+ G(s)C(s) s
1 1 1
ess = lim sE(s) = lim s = lim
s→0 s→0 1+ G(s)C(s) s s→0 1+ G(s)C(s)

Obtaining
1 where K p = lim C(s)G(s)
ep = s→0
1+ K p
Frequency domain design
1
Given the closed loop transfer function: E(s) = R(s)
1+ G(s)C(s)
• Position error constant:
1
- For a step reference: R(s) =
s2
1 1
E(z) =
1+ G(s)C(s) s 2
1 1 1
ess = lim sE(s) = lim s 2
= lim
s→0 s→0 1+ G(s)C(s) s s→0 s + sG(s)C(s)

Obtaining
1 where K v = lim sC(z)G(z)
ev = s→0
Kv
Frequency domain design
Syteady state error vs system type
System Kp Kv Ka
Type \ Error
constant
0 K 0 0
I ∞ K 0
II ∞ ∞ K

System ep ev ea
Type \ Error

0 k ∞ ∞
I 0 k ∞
II 0 0 k
Frequency domain design
Syteady state error in bode plot

From [1]
Frequency domain design
Specifications of control systems
Frequency domain design

• Lag phase network

1+ aT1s
C(s) =
1+ T1s

0 < a <1

From [1]
Frequency domain design

Design procedure:

• Compute the error constant from steady state error


specification
• Plot bode plot gain and phase margins
• Determine the frequency at which the bode plot has the
required phase margin plus 6°. This is the new gain
crossover frequency !g'
• Measure the attenuation α needed to bring the gain plot
down to !g'
α = −20 log(a)
• Compute T1 from:
1 ω !g
=
aT1 10
Frequency domain design

• Lead phase network

1+ bT2 s
C2 (s) =
1+ T2 s

b >1

1+ sin φ m
b=
1− sin φ m

From [1]
Frequency domain design
Design procedure:

• Compute the error constant from steady state error


specification
• Plot bode plot gain margin, phase margin ɸ1,
gain crossover frequency !g and phase crossover frequency !p

• Calculate Ψ = φrequired − φ1 + θ

• Compute 1+ sin Ψ
b=
1− sin Ψ
• Draw a horizontal line with gain −10 log(b)
• The intersection with the bode plot will be the new gain
crossover frequency !g'
• Measure the resulting phase margin
Frequency domain design
1
• Ejemplo: G(s) =
s(s + 2)

• Velocity error ep<10 %

• Phase margin > 60

• Gain margin > 12dB


Frequency domain design
1
• Ejemplo: G(s) =
s(s + 2)

• Velocity error ep<10 %

• Phase margin > 60

• Gain margin > 12dB


Hp(z)

ymSP u y ym
Hc (z) Hu(z) Hs(z)
Frequency domain design
Sensitivity function: Making compact
E(s)
GL(z)
G (s)
l l(z)

R(s)
ym SP u Yym(s)
C(s)
Hc (z) G(s)
Hp (z)

The error is given by Making compact


y mSP 1 1
E(s) = R(s)y=m R(s)
L(s)
1+ C(s)G(s) 1+ Gl (s)
The sensitivity function is defined as
1
S(s) =
Figure 31: Converting an extracted part1+
of G
thel (s)
detailed block diagram in Figure 30
into a compact block diagram. L(z) is the loop transfer function.

where nL (z) and dL (z) are the numerator and denominator polynomials of
Frequency domain design
Sensitivity function:
In the frequency domain The following can be defined

1
S( jω ) = S5.4
∞ = S(s) = max S( jω
Disturbance

)
Attenuation
1+ Gl ( jω ) ω

1
10

S∞
0
! S(iω )!

10

−1
10

−2
10
−2 −1 0 1
10 10 10 10
ω sc ω ms
ω ω From [2]
Frequency domain design
Feedback Fundamentals
Sensitivity function:
Distance of the Nyquist curve
to the critical point (-1,0):
1
1+ Gl (s) =
S(s)
1+ Gl (s) Minimum distance:
−1

1/ S
Ms ω ms 1

S(s) ∞

For a larger S∞ the


All points inside the ω sc Nyquist plot comes
dashed circle have closer to the point of
sensitivities greater instability
than 1

From [2]

11 Nyquist curve of loop transfer function showing graphical interpre-


Frequency domain design
Sensitivity function:
Distance of the Nyquist curve
From [6] Im Gl (s) to the critical point (-1,0):
1
1+ Gl (s) =
S(s)
Minimum distance:
1+ Gl (s)
1
S(s) ∞
ReGl (s)
For a larger S∞the
Nyquist plot comes
closer to the point of
instability

Vector gain margin (VGM): S∞


VGM =
S∞ −1
Frequency domain design
Sensitivity function – plant variations
dback Fundamentals
From [2]
If the process is changed from G(s) to G(s)+∆G(s)
−1
the loop transfer function changes from
C(s)G(s) to C(s)G(s)+C(s) ∆G(s)

The Nyquist curve will not reach the


1+
1+ Gl L
(s)
critical point −1 provided that

C(s)ΔG(s)
CΔ P C(s)ΔG(s) < 1+ Gl (s)
This condition can be re-written as

ΔG( jω ) 1
Gl (s) <
T (s) = = Go (s) G( jω ) T ( jω )
1+ Gl (s)
yquist curve of a nominal loop transfer function and its uncertainty
ss variations Δ P.
Frequency domain design
Sensitivity function – plant variations
dback Fundamentals

−1 the variations can be large for those frequencies


where T is small and that smaller variations are
allowed for frequencies where T is large. A
conservative estimate of permissible process
variations that will not cause instability is given by

1+
1+ Gl L
(s) ΔG( jω ) 1
<
G( jω ) T∞
C(s)ΔG(s)
CΔ P
where T∞ = T (s) ∞ = max T ( jω )
ω

If T∞ = 2 gain variations of 50% and phase


variations of 30o are permitted without making
the closed loop system unstable
From [2]
yquist curve of a nominal loop transfer function and its uncertainty
ss variations Δ P.
Frequency domain design
Sensitivity function – plant variations

We have also seen from Equations (5.6) and (5.13) that it is advantageous to
have a small value of the sensitivity function and it follows from (5.10) that a
small value of the complementary sensitivity allows large process uncertainty.

since Gl (s) 1
T (s) = S(s) =
1+ Gl (s) 1+ Gl (s)

then T (s) + S(s) = 1

This means that S and T cannot be made small simultaneously. The


loop transfer function L is typically large for small values of s and it goes
to zero as s goes to infinity. This means that S is typically small for small
s and close to 1 for large. The complementary sensitivity function is
close to 1 for small s and it goes to 0 as s goes to infinity.
tivity can be made arbitrary small for any finite frequency by making k
sufficiently large.
The system in Example 5.6 is unfortunately an exception. The key feature
Frequency domain design
of the system is that the Nyquist curve of the process lies in the fourth
quadrant. Systems whose Nyquist curves are in the first and fourth quad-
rant are called positive real. For such systems the Nyquist curve never
Sensitivity
enters the function
region shown– plant variations
in Figure 5.11 where the sensitivity is greater
than one.
For typical control systems there are unfortunately severe constraints
Bodeonhas theshown that iffunction.
sensitivity the loop transfer
Bode has has polesthat
shown pk inif the
the right
loop half planehas
transfer
and ifpoles
it goes
pk to
in zero fasterhalf
the right thanplane
1/s for
andlarge
if its goes
the sensitivity
to zero fasterfunction
than 1/ s for
satisfies
largethe following
s the integral
sensitivity function satisfies the following integral
! ! "
∞ ∞
1
log ! S(iω )! dω = log dω = π Re pk (5.18)
0 0 !1 + L(iω )!

This This equation


equation shows
shows thatthat if the
if the sensitivity
sensitivity function
function is made
is made smallerfor
smaller for
somesome frequencies
frequencies it must
it must increaseatatother
increase otherfrequencies.
frequencies. This
Thismeans
meansthat
if disturbance attenuation is improved in one frequency range it will be
that ifworse
disturbance attenuation is improved in one frequency range it
in other. This has been been called the water bed effect.
will be worse
Equationin other. This has
(5.18) implies been
that been
there called the water
are fundamental bed effect.
limitations to what
can be achieved by control and that control design can be viewed as a
redistribution of disturbance attenuation over different frequencies.
For a loop transfer function without poles in the right half plane (5.18)
reduces to ! ∞
log ! S(iω )!dω = 0
0

This formula can be given a nice geometric interpretation as shown in


0 0 !1 + L(iω )!

This equation shows that if the sensitivity function is made smaller for
some frequencies it must increase at other frequencies. This means that
Frequency domain design
if disturbance attenuation is improved in one frequency range it will be
worse in other. This has been been called the water bed effect.
Equation (5.18) implies that there are fundamental limitations to what
can beSensitivity
achieved byfunction
control and– plant variations
that control design can be viewed as a
redistribution of disturbance attenuation over different frequencies.
For For a loop
a loop transfer
transfer functionwithout
function without poles
polesininthe right
the halfhalf
right plane (5.18)
plane (5.18)
reduces to
reduces to ! ∞
log ! S(iω )!dω = 0
0

This formula can be


This formula cangiven a nice
be given a nicegeometric
geometric interpretation
interpretation as as shown
shown in in
Figure Figure
5.17 which shows
5.17 which log ! Slog|S(jω)|
shows (iω )! as as
a function
a functionof
ofωω. .The
The area over the
area over
theChapter
horizontal horizontal
5. axis
axis must be must
equal
Feedback betoequal
the to
Fundamentals the under
area area under the axis.
the axis.
1
Derivation of Bode’s Formula*
This is a technical
0
section which requires some knowledge of the theory
log ! S(iω )!

of complex variables,
−1
in particular contour integration. Assume that the
loop transfer function has distinct poles at s = pk in the right half plane
and that L(s) −2
goes to zero faster than 1/ s for large values of s. Consider
the integral of−3 the logarithm of the sensitivity function S(s) = 1/(1 From + [2]
L(s)) over the contour
0
shown in
0.5 1
Figure ω 5.18. The contour encloses the
1.5 2 2.5 3

right half plane except the points s = pk where the loop transfer function
has poles
L(s) = P(s) C (s)Figure and the
5.17 Geometric sensitivity
interpretation function
of Bode’s has
S(s)(5.18
integral formula ). zeros. The
A Bode Integral Interpretation 10
red as a per- ademic control designer with more
I like abstract
to think tools such
of Bode’s integrals as
as conservation laws. They
state precisely that a certain quantity—the integrated value
matic Control linear quadratic Gaussian (LQG), H , convex optimization,
of the log∞of the magnitude of the sensitivity function—is
and the like, at his disposal. This designer
under guides a of
powerful

Log Magnitude
conserved the action feedback. The total amount
ntil 1983, in a ditch-digging machine by remote control from the safety
of this quantity is always the same. It is of
equal to zero for sta-

Frequency domain design


1.0
ble plant/compensator pairs, and it is equal to some fixed
on Decision his workstation (Figure 4). Hepositive
sets parameters (weights) at
amount for unstable ones.
es, someone his station to adjust the contours Sinceof
wethe machine’s
are talking about thedigging
log of sensitivity magnitude,
a version of it follows that negative values
blades to get just the right shape for the sensitivity function. are good (i.e., sensitivities less
than unity, better than open loop) and positive values are bad
s for a long He then lets the machine dig(i.e., down as fargreater
sensitivities as it than
can,unity,
andworse
he than open loop). 0.1
0.0 0.5 1.0 1.5 2.0
the value of saves the resulting compensator. Next, hestablefiressystems,
up histhe auto-
Sensitivity functions
So for open-loop average sensitivity im-
Frequency
provement a feedback loop achieves over frequency is ex-
t should not matic code generator to write the implementation code for
actly offset by its average sensitivity deterioration. For Figure 3. Sensitivity reduction at low frequency unavoidably
out the diffi- the compensator, ready to runopen-loop
on his target
unstablemicroprocessor.
systems, things are worse because the leads to sensitivity increase at higher frequencies.
average deterioration is always larger than the
improvement. This applies to every controller,
no matter
Serious Designhow it was designed. Sensitivity
s.g im-
10 provements in one frequency range must be paid
Formal Design
n laws. They for with sensitivity deteriorations in another fre-
s.g
quency range, and the price is higher if the plant
grated value is open-loop unstable.
function—is It is curious, somehow, that our field has not Formal Synthesis
Log Magnitude

otal amount adopted a name for this quantity being con- Machine
served (i.e., the integrated log of sensitivity
zero for sta-
1.0 magnitude), to put it on a par with some of the

Log Magnitude
o some fixed great quantities of physics such as mass, mo-
1.0
mentum, or energy. But since it has not, we are
free to choose a name right now. Let me propose
y magnitude,
that we simply call it dirt. It is stuff we would
sitivities less rather not have around; the less we have, the
alues are bad better. I want to choose this name because it
open loop). lets me liken the job of a serious control de-
0.1
0.0 0.5 signer
1.0to that of a ditch
1.5 digger, as illustrated
2.0 in 0.1
ensitivity im- Figure 3. He moves dirt from one place to an- 0.0 0.5 1.0 1.5 2.0
Frequency Frequency
uency is ex- other, using appropriate tools, but he never gets
oration. For rid of any of it. For every ditch dug somewhere, Figure 4. Sensitivity shaping automated by modern control tools.
Figure 3. Sensitivity reduction at low frequency unavoidably
because the leads to sensitivity increase at higher frequencies.
August 2003 IEEE Control Systems Magazine 15
e
, Form: Stein, G., "Respect the unstable," Control Systems, IEEE , vol.23, no.4, pp.
12,25, Aug. 2003
Formal Design
s.g
Bibliography
[1] ANALOG AND DIGITAL CONTROL SYSTEM DESIGN. Chi-Tsong
Chen, Saunders College Publishing

[2] CONTROL SYSTEM DESIGN LECTURE NOTES FOR ME 155A.


Karl Johan Åström. University of California. 2002.

[3] FEEDBACK SYSTEMS. AN INTRODUCTION FOR SCIENTISTS


AND ENGINEERS. Karl Johan Åström and Richard M. Murray.
Princeton University Press 2008.

[4] FEEDBACK CONTROL OF DYNAMIC SYSTEMS. Gene F.


Franklin, J. David Powell. Abbas Emani-Naieini. Addison –Wesley

[5] DIGITAL CONTROL SYSTEM ANALYSIS AND DESIGN. C. L.


Phillips and H. T. Nagle, Second Edition, Prentice Hall, 1990

[6] DIGITAL CONTROL OF DYNAMIC SYSTEMS. Franklin, Gene F.,


J. David Powell, and Michael L. Workman. 3rd ed. Upper Saddle
River, NJ: Prentice Hall, 1997

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy