Linear Systems Control and Vibrations

advertisement
Linear Systems Control and Vibrations
for Mechanical Engineers
Dr. Robert L. Williams II
Mechanical Engineering, Ohio University
NotesBook Supplement for
ME 3012 Linear System Analysis, Control, and Vibrations
© 2015 Dr. Bob Productions
williar4@ohio.edu
people.ohio.edu/williar4
These notes supplement the ME 3012 NotesBook by Dr. Bob
This document presents supplemental notes to accompany the ME 3012 NotesBook. The outline
given in the Table of Contents on the next page dovetails with and augments the ME 3012 NotesBook
outline and hence is incomplete here.
2
ME 3012 Supplement Table of Contents
2. LINEAR SYSTEM SIMULATION ................................................................................................... 3
2.1 SOLUTION OF ORDINARY DIFFERENTIAL EQUATIONS ........................................................................ 3
2.1.1 First-Order ODEs ....................................................................................................................... 3
2.1.2 Second-Order ODEs ................................................................................................................... 6
4. TRANSIENT RESPONSE ................................................................................................................ 10
4.5 SYSTEM TYPE .................................................................................................................................. 10
5. CONTROLLER DESIGN ................................................................................................................. 17
5.12 DISTURBANCE EVALUATION AFTER CONTROLLER DESIGN ............................................................ 17
5.13 WHOLE T(S) MATCHING CONTROLLER DESIGN – THE J-METHOD................................................. 19
5.14 TERM EXAMPLE CONTROLLER DESIGN .......................................................................................... 34
5.15 TERM EXAMPLE DISTURBANCES AND STEADY-STATE ERROR ....................................................... 46
6. VIBRATIONAL RESPONSES......................................................................................................... 51
6.1 FREE VIBRATIONAL RESPONSES ...................................................................................................... 51
6.1.1 Undamped Second-Order System Free Responses: Simple Harmonic Motion ....................... 51
6.1.2 Underdamped Second-Order System Free Responses ............................................................. 54
6.2 FORCED VIBRATIONAL RESPONSES .................................................................................................. 56
6.2.2 Damped Second-Order System Harmonically-Forced Responses ........................................... 59
6.2.3 General Forcing Functions ...................................................................................................... 73
7. HARDWARE CONTROL IN THE OHIO UNIVERSITY ROBOTICS LAB ............................ 82
7.1 QUANSER/SIMULINK CONTROLLER ARCHITECTURE ........................................................................ 82
7.2 PROGRAMMABLE LOGIC CONTROLLER (PLC) ARCHITECTURE ........................................................ 88
3
2. Linear System Simulation
2.1 Solution of Ordinary Differential Equations
2.1.1 First-Order ODEs
First-Order System Example 2
Same ck system and initial condition, but f (t )  5sin2t
Solve x(t )  50x(t )  5sin 2t subject to x(0) = 0
Solution
x(t ) 
5
e50t  25sin 2t  cos 2t 

1252
Equivalent alternate solution form
5
x(t ) 
e50t  25.02sin  2t  0.04  

1252
using sin(a  b)  sin a cos b  cos a sin b
-5/1252 cos(2 t)+125/1252 sin(2 t)+5/1252 exp(-50 t)
0.1
0.08
0.06
0.04
x(t) (m)
0.02
0
-0.02
-0.04
-0.06
-0.08
-0.1
0
1
2
3
4
t (sec)
5
6



The response x(t) starts at zero as specified by the initial condition.
The transient solution goes to zero by about t = 0.10 sec.
Steady-state solution is xss (t )  25.02 sin  2t  0.04  m.

 = 2 rad/s
 = 2 f
f = 1/ = 1/T
7
T =  sec
8
4
Alternate form for particular solution (Example 2)
Sum-of-angles formulae
cos( a  b)  cos a cos b  sin a sin b
sin( a  b)  sin a cos b  c cos a sin b
25sin 2t  cos 2t  C sin(2t   )
 C  sin 2t cos   cos 2t sin  
sin 2t  25  C cos 
cos 2t  1  C sin 
C2  cos2   sin2    252 12
C  626  25.02
sin 
1

cos  25
 1 
  0.04 rad
 25 
  tan 1 
25 sin 2t  cos 2t  25.02 sin  2t  0.04 
In general:
C  B12  B22
  B2 

 B1 
  tan 1 
when
xP (t )  B1 sin 2t  B2 cos 2t
 C sin  2t   
5
A Final First-Order ODE example R, C series electrical circuit (voltage v(t) input, current i(t) output)
R
v(t)
Model (from KVL and electrical circuit element table)
 i(t )dt  q(t )
substitute charge q(t)
i (t )  q (t )
Rq (t ) 
Ri(t ) 
+
-
i(t)
C
1
i(t )dt  v(t )
C
1
q(t )  v(t )
C
Given R = 50  and C = 0.2 mF, solve 50q(t)  5000q(t) 1 subject to q(0)  0 and a unit step voltage
input v(t). Solution
1
1
1  e 100t 
q (t ) 
i (t )  q (t )  e 100t

5000
50
2
x 10
-4
q(t)
1.5
1
0.5
0
0
0.01
0.02
0.03
0.04
0.05
0.06
0.01
0.02
0.03
t (sec)
0.04
0.05
0.06
0.02
i(t)
0.015
0.01
0.005
0
0




As expected from the circuit dynamics, the charge q(t) in the capacitor builds up to a constant
given a constant voltage input.
Also as expected, the capacitor current i(t) goes to zero at steady-state.
The steady state charge value is qSS = 1/5000.
The time constant is  = RC = 0.01, so at 3 time constants (t = 0.03 sec) both the q(t) and i(t)
values have approached 95% of their respective final values.
6
2.1.2 Second-Order ODEs
Second-Order System Example 1
m = 1 kg, c = 7 Ns/m, k = 12 N/m
x(t )  7x(t) 12x(t )  f (t )  3u(t)
Solve 
subject to
This system is overdamped
Real distinct roots, relatively slower response, no overshoot
This solution is left to the interested reader.
x (0)  0.10m
x (0)  0.05m / s
7
Second-Order System Example 2
m = 1 kg, c = 6 Ns/m, k = 9 N/m
x(t)  6x(t)  9x(t)  f (t)  3u(t)
Solve 
Subject to
1. Homogeneous Solution
x (0)  0.10m
x (0)  0.05m / s

xH (t )  6 x H (t )  9 xH (t )  0
(s2  6s  9) Aest  0
x H (t )  Ae st
Assume
s2  6s  9  (s  3)2  0
Characteristic polynomial
s1,2   3,  3 Real, repeated roots
Homogeneous solution form x H ( t )  A1e  3 t  A2 te  3 t

xP (t )  6 x P (t )  9 xP (t )  3
2. Particular Solution
xP (t )  B
0  6(0)  9B  3
so xP (t )  B  1/ 3
3. Total Solution
x(t )  xH (t )  xP (t )  A1e3t  A2te3t  1/ 3
x (t )  3 A1e 3t  A2e 3t  3 A2te3t
Now apply initial conditions
x(0)  0.10  A1  A2 (0)  0.33
x(0)  0.05  3A1  A2
A1  0.233
A2  0.65
x (t )   (0.233  0.65t ) e 3 t  0.33
This system is critically-damped
Real, repeated roots – fastest response without overshoot
Check solution
Plug answer x(t) plus its two derivatives into the original ODE. Also check the initial conditions.
Plot – check transient and steady state solutions, plus total solution.
8
Second-Order System Example 2 – Forced m-c-k System
Model
mx(t)  cx(t)  kx(t)  f (t)
x(0)  0.10m
x(0)  0.05m / s

x(t)  6x(t)  9x(t)  3u(t)
s2  6s  9  (s  3)2  0
Solution
x(t )  (0.233  0.65t )e3t 
1
3
Plot of x(t) vs. t
0.4
0.3
0.2
x(t)
0.1
0
-0.1
-0.2
0




1
2
t (sec)
3
The total solution x(t) starts at 0.1 m, x (t ) is non-zero, as specified by the initial conditions.
Transient approaches zero after t = 2.5 sec
Critically damped; –3 root goes to zero slightly faster alone than with t
Steady-state value is xSS = 1/3 m.
4
9
Second-Order System Example 4: Forced m-k System
Model
mx(t)  kx(t)  f (t)

x(t)  9x(t)  3u(t)
(no damping)
x(0)  0.10m
x (0)  0.05m / s
s 2  9  ( s  3i )( s  3i)  0
Solution
x(t)  (7 30)cos3t  (1 60)sin3t  1 3
Plot of x(t) vs. t





x(t) starts at 0.1 m, x (t ) is non-zero, as specified by the initial conditions.
Simple harmonic motion
Undamped; zero viscous damping coefficient
Transient solution oscillates forever about the particular solution 1/3
 = 3 rad/s
 = 2f
f = 3/2 = 1/T
T = 2/3 = 2.09 sec
This system is undamped
Complex-conjugate roots with 0 real part, simple harmonic motion, no damping, theoretically
never stops vibrating.
10
4. Transient Response
4.5 System Type
Analytical ODE Solutions
Since only two of these ODEs are familiar in our previous analytical ODE solutions in ME 3012
(the stable first- and stable underdamped second-order systems), let us perform an analytical solution for
one example: the second-order Type I system from above. Solve
y(t)  y(t)  u(t)
for y(t), given that input u(t) is a unit step function and subject to given zero initial conditions y(0)  0
and y(0)  0 .
For fun let us solve this problem in three ways, two alternate methods using the slow ME Way
and also using the Laplace Transform approach. Since this is a linear ODE, all methods must yield the
one correct answer, stated earlier in the Analytical Unit Step Response Solutions table.
1a. Slow ME Way – second-order solution
1. Homogeneous Solution
yH (t)  yH (t)  0
Assume:
y H ( t )  Ae
st
so that
y H (t )  sAest

yH (t )  s 2 Aest
yH (t )  yH (t )  s2 Aest  sAest  A(s2  s)est  0
The system characteristic polynomial is s2  s , leading to a system characteristic equation
s2  s  s(s 1)  0 , whose two roots are s1  0 and s2  1 . The general homogeneous solution form is
then:
y H ( t )  A1 e s1t  A2 e s 2 t  A1 e ( 0 ) t  A2 e (  1) t  A1  A2 e  t
We must leave the homogeneous coefficients Ai unknown for now.
11
2. Particular Solution
yP (t)  yP (t)  u(t) 1
Our standard particular solution assumption of yP (t)  B will not work in this case so we immediately
try:
yP (t)  B
where B is an unknown constant, which must be determined in this step. Clearly yP (t)  0 and so:
yP (t)  yP (t)  0  B 1
And so the particular solution for velocity is yP (t)  B 1. However, we need the particular solution for
y(t), not its first derivative, and so we must integrate:
t
t
0
0
yP (t)   yP (t)dt   dt  t  c
where c is a constant of integration, in this case left unknown until Step 3.
3. Total Solution
y ( t )  y H ( t )  y P ( t )  A1  A2 e  t  t  c
An alert student may ask, how can we solve for three constants A1, A2, and c with only two initial
conditions? The solution to this little dilemma is quite easy, recognizing that A1  c is simply a single
constant, call it A3  A1  c . Then the total solution is expressed by:
y ( t )  A3  A2 e  t  t
to which we apply the two given initial conditions y(0)  0 and y(0)  0 in order to solve for the
unknown constants A1 and A3.
y (0)  0
y(0)  0
0  A3  A2e(0)  (0)
y ( t )   A2 e  t  1
A2  A3  0
0   A2e(0) 1
1  A2  0
A2  1
And since A2  A3  0 , we then have
A3   A2  1
12
and the total solution is:
y (t )  e  t  t  1
The transient part of this solution is e  t and the steady-state part of this solution is t 1 .
To demonstrate the transient and steady-state components of this solution better, it is instructive
to plot this response, both its components and the total solution (which was shown previously, the center
Type I case).
Detailed Plot for Center Type I System Example Unit Step Response
Transient, Steady-State, and Total Responses
13
In order to check this solution, we can first check the resulting initial conditions. From the
solution y (t )  e  t  t  1 we clearly see that y (0)  e0  0  1  1  0  1  0 as required. Also, for the
first derivative of the solution y (t )  e  t  1 , we have y (0)  e0  1  1  1  0 as required.
A more complete solution check involves substituting the solution y(t) and its two time
derivatives into the original ODE and prove than an equality results.
y (t )  et  t  1
y(t)  y(t) ? u(t) 1
y (t )  et  1

y (t )  et
et et 11
Since an equality results, 1 = 1, this proves that the solution is the correct one.
14
1b. Slow ME Way – first-order solution
A clever alternate solution method arises (either the Slow ME Way or using Laplace Transforms)
when we use the equivalence v(t)  y(t) in the original ODE to be solved. Solve
v(t)  v(t)  u(t)
for v(t), given that input u(t) is a unit step function and subject to given zero initial condition
v(0)  y(0)  0 . Then find y(t) by integration, using the second given initial condition y(0)  0 .
1. Homogeneous Solution
vH (t)  vH (t)  0
Assume:
v H ( t )  Ae st
so that
vH (t )  sAe st
vH (t )  vH (t)  sAest  Aest  A(s 1)est  0
The system characteristic polynomial is s1, leading to a system characteristic equation s1 0, whose
one root is s1  1 . The homogeneous solution form is then:
v H ( t )  A1 e s1t  A1 e  t
We must leave the homogeneous coefficient A1 unknown for now.
2. Particular Solution
vP (t)  vP (t)  u(t)  1
Assume vP (t)  B , where B is an unknown constant which must be determined in this step. Clearly
vP (t)  0 and so:
vP (t)  vP (t)  0  B 1
And so the particular solution for velocity is vP (t)  B 1.
3. Total Solution
v ( t )  v H ( t )  v P ( t )  A1e  t  1
Applying the given initial condition v(0)  y(0)  0 in order to solve for the unknown constant A1:
15
v(0)  0
(0)
1
0  Ae
1
A1  1
the total solution for v(t) is then:
v (t )  1  e  t
However, we need the total solution for y(t), not its first derivative v(t), and so we must integrate:
t
t
0
0
y(t)   v(t)dt   (1 et )dt  t  et  c
where c is a constant of integration, that is found by applying the remaining initial condition y(0)  0 .
y(0)  0  (0)  e(0)  c 1 c
c  1
and so the total solution is:
y (t )  e  t  t  1
which agrees with the Slow ME Way second-order solution.
16
2. Laplace Transforms solution
Take the Laplace transform of both sides, with initial conditions.
 
y(t )  y (t )  u(t )
1
2
 s Y (s)  s(0)  (0)    sY (s)  (0)  s
Combine Y(s) terms on the left.
( s 2  s )Y ( s )  s ( s  1)Y ( s ) 
1
s
Solve for the variable of interest, Y(s) – the Laplace transform of the answer, y(t).
1
Y (s)  2
s ( s  1)
The partial fraction expansion for this Y(s) is given below, where the constants C1,2,3 are the residues.
C
C sC
1
 1 2 2 3
Y (s)  2
s ( s  1)
s
s 1
Express the partial fraction form over a common denominator.
C
(C s  C 2 )( s  1)  C3 s 2 (C1  C3 ) s 2  (C1  C 2 ) s  C 2
1
C sC
Y (s)  2
 1 2 2 3  1

s ( s  1)
s
s 1
s 2 ( s  1)
s 2 ( s  1)
Equate like powers of s in the numerator to get 3 equations to solve for the residues C1,2,3.
C1  1
s 2  0  C1  C3
s1  0  C1  C2

C2  1
C3  1
s 0  1  C2
Solution by inverse Laplace transform
C 
C s  C
 1 
1
 1 
y (t )  1 Y ( s )  1  1 2 2  3   1    1  2   1 

s  1
s 
s 
 s  1
 s
y (t )  1  t  e  t
which agrees with the solutions we previously derived, but as expected is a more-direct one-stage
process and faster to obtain.
17
5. Controller Design
5.12 Disturbance Evaluation after Controller Design
General disturbance diagrams (open- and closed-loop)
D(s)
UD (s)
U(s)
Y(s)
G(s)
D(s)
UD (s)
U(s)
E(s)
R(s)
GC (s)
Y(s)
G(s)
YSENS (s)
Y(s)
H(s)
Disturbance diagram with zero reference input
This is called a regulator, where the desired output (reference input) is R(s) = 0.
D(s)
U(s)
E(s)
UD (s)
GC (s)
Y(s)
G(s)
-1
YSENS (s)
H(s)
Y(s)
Change this into a diagram that looks more similar to the standard closed-loop feedback diagram.
D(s)
Y(s)
UD (s)
+
G(s)
+
U(s)
E(s)
GC (s)
-1
YSENS (s)
H(s)
Y(s)
18
The closed loop transfer function between the disturbance input D(s) and Y(s) output is:
TD ( s ) 
Y (s)
G (s)

D ( s ) 1  GC ( s ) G ( s ) H ( s )
This is for MATLAB implementation, to simulate the effects of the disturbance input separately.
Then use linear superposition in MATLAB to find the total solution as the sum of the reference input
response (with zero disturbance) plus the disturbance input (with zero reference input).
19
5.13 Whole T(s) Matching Controller Design – The J-Method
Standard negative feedback closed-loop block diagram
U(s)
E(s)
R(s)
Y(s)
G(s)
GC (s)
YSENS (s)
H(s)
Y(s)
Summary of controller design via parameter matching
 Step 1. Analyze the as-given open-loop system behavior.
 Step 2. Specify and evaluate the desired behavior for the closed-loop system. This step
yields a numerical desired characteristic polynomial for the T(s) denominator, called DES(s).
 Step 3. Specify the form for the controller transfer function. Assume a standard form for
your controller GC(s).
 Step 4. State the controller design problem to be solved.
 Step 5. Solve for the unknown gains to achieve the desired behavior for the closed-loop
system. Derive closed-loop transfer function as a function of controller gains and parameters:
GC ( s )G ( s )
T (s) 
1  GC ( s )G ( s ) H ( s )
 Match the symbolic parameters in the denominator of T(s) with your numerical desired
characteristic polynomial – term-by-term according to s powers (make sure both
polynomials have the same leading coefficient for the highest s power).
 Solve for the controller unknowns, determine the correction factor (if necessary),
determine the pre-filter transfer function GP(s) (if necessary), and simulate the resulting
performance.
 Step 6. Evaluate the controller performance in simulation.
 Step 7. Include an output attenuation correction factor if necessary.
 Step 8. Include a pre-filter transfer function GP(s) if necessary.
 Repeat Step 6.
 Step 9. Re-design and re-evaluate the controller if necessary, if the performance specs are
not met.
There are possible drawbacks with this method, the biggest being: the order of the closed-loop system
must match the number of controller unknowns. If the number of unknowns is less, there is no solution
(overconstrained) and if the number of unknowns is greater, there are infinite solutions
(underconstrained). In either of the mismatch cases we can use trial-and-error controller design. This
can be frustrating and ineffective since there are  n solutions, where n is the number of controller
unknowns. See Section 5.10 in this ME 3012 NotesBook.
Further drawbacks include the need for most standard controllers to add a correction factor for
output attenuation and a pre-filter transfer function GP(s) to cancel the unwanted introduced zero(s).
There is a potentially better method, here called the whole T(s) Matching Controller Design, or
simply the J-Method. This is named after ME student Jason Denhart who, in Spring 2008, posed the
question “Why can’t we just specify the entire numerical T(s) and solve for the exact GC(s) necessary to
provide that T(s)?”
20
The J-Method
 Step 1. Analyze the as-given open-loop system behavior.
 Step 2. Specify and evaluate the desired behavior for the closed-loop system. This step
yields a numerical desired characteristic polynomial for the T(s) denominator (see Note 1 below),
plus the desired T(s) numerator.
 Step 3. State the controller design problem to be solved. The former Step 3 is skipped, i.e.
the J-Method determines the controller form in the solution procedure so there is no need to
assume a standard controller form for GC(s).
Given
Find

The plant and sensor transfer functions G(s) and H(s) in the context of our
standard closed-loop negative feedback diagram.
The desired closed-loop behavior, expressed by a whole numerical T(s) (as
opposed to the desired closed-loop characteristic polynomial only as before).
The form and the unknowns (gains) of the controller transfer function GC(s).
Step 4. Solve for the unknown controller form including the unknown gains. Use the
standard equation
GC ( s )G ( s )
T (s) 
1  GC ( s )G ( s ) H ( s )
Substitute your whole numerical desired T(s), plus the known numerical plant and sensor transfer
functions G(s) and H(s), and solve for the unknown controller transfer function GC(s), without
the need to assume a certain controller form.
T (s)
GC ( s ) 
G ( s )(1  H ( s )T ( s ))


Step 5. Simulate the resulting closed-loop system performance.
Step 6. Re-design and re-evaluate if necessary, if the performance specs are not met.
Notes
1. The order of the denominator of your desired T(s) must be equal or greater than the order of the
denominator of G(s). If the G(s) denominator is of higher order than the T(s) denominator, your
resulting GC(s) will have a higher order in the numerator than the denominator, which is impossible to
implement in MATLAB or Simulink, unless it happens to boil down to a PID form.
2. You do not need a correction factor – this is loaded into your desired T(s).
3. You do not need a pre-filter transfer function GP(s) since we are matching the entire desired T(s).
4. The resulting controller GC(s) will not necessarily be of any recognizable classical controller form.
5. MATLAB was used to help with the algebra (either symbolically or numerically). This should work;
however, problems were encountered with large integers and excessive controller numerator and
denominator orders.
6. If you follow the requirement for T(s) denominator order and make no algebra mistakes, the
performance you obtain will be theoretically identical to a good classical controller with appropriate prefilter and correction factor.
7. There are three major drawbacks of the J-Method
 The J-Method does not handle disturbances well, as most other controllers do (presented later).
 The J-Method requires perfect knowledge of the open-loop plant, which is impossible. Thus, it
is less robust to modeling uncertainties than other controllers.
 The J-Method cannot handle unstable open-loop plants (this is no problem for other controllers).
21
Controller Design Example 1 – The J-Method
Step 1. Analyze the as-given open-loop system behavior.
This step is the same as in Controller Example 1, with G ( s ) 
10
.
s  s  10
2
Step 2. Specify and evaluate the desired behavior for the closed-loop system, to achieve 5%
overshoot and 1.5 sec settling time. We have used these performance specifications before; the
associated desired whole closed-loop transfer function is (assuming a final value of 1 is desired from a
unit step input):
14.93
T ( s)  2
s  5.33s  14.93
Step 3. State the controller design problem to be solved.
10
14.93
Given G ( s )  2
, H(s) = 1, and T (s)  2
s  s  10
s  5.33s  14.93
Solve for GC(s) via whole T(s) matching.
Step 4. Solve for the unknown controller form including the unknown gains.
The result is
GC ( s ) 
1.493( s 2  s  10)
s ( s  5.33)
What type of controller is this?
How does the J-Method controller work?
22
Step 5. Simulate the resulting closed-loop system performance.
Simulink Evaluation for the J-Method Controller Design Example 1
10
s2 +s+10
Step
Plant1
Step1
1.493*[1 1 10]
s2 +5.33s
10
s2 +s+10
Gc
Plant2
Scope
Simulink simulation results
Open-Loop
Closed-Loop J-Method
There is no need for a correction factor or pre-filter.
23
Examples
To rigorously test the J-Method, the following three open-loop transfer functions G(s) and the
following three desired whole closed-loop transfer functions T(s) were chosen, to be mixed-and-matched
for a total of 9 examples.
G(s)
T(s)
1
2
1.
a.
s 1
s2
10
15
2. 2
b. 2
s  s  10
s  6 s  15
10
450
3.
c. 3
2
2
( s  1)( s  s  10)
s  36 s  195s  450


The whole desired T(s) in a. is based on a time constant of  = 0.5 sec.
The whole desired T(s) in b. started from our familiar specification of 5% overshoot and 1.5 sec
settling time (leading to a dominant second-order desired denominator of s 2  5.33s  14.93 ). But
I wanted nice integers for the multiple example combinations, so this one corresponds to 2.13%
overshoot and 1.38 sec settling time ( = 0.78, n = 3.87 rad/s, and s1,2   3  2.45i ).

The whole desired T(s) in c. started from b., augmenting the denominator with a third pole
s3  30 , so approximately the same dominant second-order behavior will result (2.13%
overshoot and 1.38 sec settling time).
All whole desired T(s) in a., b., and c. artificially obtain a steady state value of 1 give a unit step
input function, with selection of the numerator constant to match the denominator ‘spring’.

Let’s do a few of these examples now. Assume unity negative feedback for all examples.
Example 1a
Given open-loop plant G ( s ) 
T ( s) 
1
, ideal sensor transfer function H(s) = 1, and desired whole
s 1
2
, determine GC(s) via whole T(s) matching:
s2
Answer
GC ( s ) 
2( s  1)
s
(what kind of controller is this?)
24
Simulink simulation results
Open-Loop
Closed-Loop J-Method
The open-loop time constant of  = 1 sec is halved to the closed-loop time constant of  = 0.5 sec, which
doubles the speed of the closed-loop system to reach 95% of the final value of 1.
25
Example 1b
Given open-loop plant G ( s ) 
T ( s) 
1
, ideal sensor transfer function H(s) = 1, and desired whole
s 1
15
, determine GC(s) via whole T(s) matching:
s  6s  15
Answer
2
GC ( s) 
15( s  1)
s( s  6)
(what kind of controller is this?)
26
Simulink simulation results
Open-Loop
Closed-Loop J-Method
The open-loop time constant was  = 1 sec and the desired closed-loop performance specs of 2.13%
overshoot and 1.38 sec settling time are met in simulation.
27
Example 2a
Given open-loop plant G ( s ) 
T ( s) 
10
, ideal sensor transfer function H(s) = 1, and desired whole
s  s  10
2
2
, determine GC(s) via whole T(s) matching.
s2
s 2  s  10
(what kind of controller is this?)
5s
This is an exception to the rule that the T(s) denominator must of order equal or greater than the order of
the G(s) denominator, since it is a PID controller.
Answer
GC ( s) 
28
Simulink simulation results
Open-Loop
Closed-Loop J-Method
The open-loop behavior is the familiar stable underdamped system and the closed-loop time constant is
 = 0.5 sec which allows closed-loop system to reach 95% of the final value of 1 in 1.5 sec, thus meeting
the design goals in simulation.
29
Examples Summary Table
For the combinations of examples considered, the table below summarizes the numerator and
denominator orders using the J-Method. Also given is the resulting form of the controller transfer
function GC(s) (n.r.f. stands for ‘no recognizable form’).
1st
G(s)
2nd
3rd
T(s)
b. 2nd-order
1st
, Lead/I
2nd
2nd
, n.r.f.
2nd
3rd
, n.r.f. 2
2nd
a. 1st-order
1st
, PI
1st
2nd
, PID 1
st
1
3rd
, n.r.f. 2
1st
c. 3rd-order
1st
, n.r.f.
3rd
2nd
, n.r.f.
3rd
3rd
, n.r.f.
3rd
Examples GC(s) Summary
For the nine example combinations considered, the table below summarizes the resulting
controller transfer functions GC(s) using the J-Method.
a. 1 -order
T(s)
b. 2nd-order
c. 3rd-order
2( s  1)
s
15( s  1)
s ( s  6)
450( s  1)
s ( s  36s  195)
1.5( s 2  s  10)
s ( s  6)
45( s 2  s  10)
s ( s 2  36s  195)
st
1st
G(s)
nd
s 2  s  10
5s
rd
s 3  2s 2  11s  10
5s
2
3
1
1
2
1.5( s 3  2 s 2  11s  10)
s ( s  6)
2
2
45( s 3  2 s 2  11s  10)
s ( s 2  36 s  195)
Exception to the rule that the order of the denominator of your desired T(s) must be equal or greater
than the order of the denominator of G(s).
2
Impossible to implement.
30
In addition to this set of nine examples, the J-Method has been successfully tested with the following
(where the a-c cases represent the same desired closed-loop transfer functions as above).

Integrating open-loop transfer function G(s) (an s can be factored out in the denominator, i.e.
there is no ‘spring’). This is called a Type I system since there is one integrator in the
denominator of G(s), as explained in Section 4.5 of the ME 3012 NotesBook.
10
10
G(s)  2

s  s s ( s  1)
a. GC ( s ) 
PD

1.5( s  1)
( s  6)
Lead
c. GC ( s) 
for G ( s ) 
45( s  1)
s  36s  195
n.r.f.
2
1
s 1
2( s 2  5s  4)
15( s 2  5s  4)
450( s 2  5s  4)
G
(
s
)

G
(
s
)

b.
c.
C
C
s 2  6s  6
s 3  10s 2  39 s  45
s 4  40 s 3  339 s 2  1230 s  1350
Open-loop transfer function G(s) with a zero
10( s  1)
G(s)  2
s  s  10
a. GC ( s ) 

b. GC ( s ) 
Non-ideal sensor transfer function H ( s)  1
1
H ( s) 
s4
a. GC ( s ) 

s 1
5
s 2  s  10
1.5( s 2  s  10)
45( s 2  s  10)
b. GC ( s ) 
c.
G
(
s
)

C
5s ( s  1)
s ( s 2  7 s  6)
s ( s 3  37 s 2  231s  195)
Unstable open-loop transfer function G(s), e.g. Controller Design Example 2
10
G(s)  2
s  s  10
a. GC ( s) 
s 2  s  10
45( s 2  s  10)
1.5( s 2  s  10)
b. GC ( s ) 
c. GC ( s ) 
5s
s ( s 2  36 s  195)
s ( s  6)
Try all of these in Simulink simulation to evaluate their performance.
All examples work as desired – except for the unstable cases which all have numerical instability
problems, with the negative KP gains – the unstable poles cannot be cancelled perfectly. So we
CANNOT use the J-Method for unstable open-loop systems.
31
Note that the full-T(s)-matching J-Method does not experience any problems with handling
open-loop G(s) models with zeroes or higher-order systems. The J-Method controller includes its own
internal pre-filter, identical to the one presented in Section 5.9.
Also, problems of denominator parameter matching with higher-order and lower-order systems
as exposed in Section 5.10 of the ME 3012 NotesBook are not a problem for the J-Method.
J-Method Controller Input Effort
For Controller Design Example 1, we first present the output unit step response, followed by the
input effort plot, both in comparison to the open-loop case.
Output Unit Step Responses
Open-loop, J-Method Controller
32
J-Controller Input Effort
Open-loop (1), J-Method Controller (1.5)
The J-Method requires no pre-filter – its maximum input effort requirement is 1.5 actuator input
units. The J-Method controller does not require a steep rate of change for the actuator input effort.
33
J-Method Controller Disturbance Evaluation
Again for Controller Design Example 1, we now present how well the J-Method rejects
disturbances.
J-Method, disturbed J-Method
A unit step disturbance was turned on at t = 1 sec. Clearly the J-Method controller is very poor
at rejecting the disturbance in this example. The disturbed J-Method controller overshoots relatively
high, with poor transient dynamics. This disturbed response is heading towards zero steady-state error,
however, given enough time.
The PID controller disturbance rejection presented in Section 5.12 of the ME 3012 NotesBook is
much better than that of the Lead or J-Method controllers in this example. The PID controller was not
designed for disturbance rejection, it just handles the disturbances better.
34
5.14 Term Example Controller Design
Open-loop system physical diagram
L
n
R
cL
v A (t)
+
+
v B (t)
-
-
J L (t)
cM
 L (t)
 L (t)
 L (t)
JM
 M (t)
 M (t)
 M (t)
i A (t)
We will design a controller to control the load angular velocity L(t). Assume a perfect
tachometer sensor, H(s) = Kt = 1, so there is negative unity feedback. Note that G2(s) = KT, the motor
torque constant, is different from H(s) = Kt, the feedback sensor (tachometer) constant. Here are the
open- and closed-loop feedback control system diagrams.
VA (s)
G1 (s)
I A(s)
TM (s)
G2 (s)
 M (s)
G3 (s)
 L (s)
1/n
KB
Term Example Open-Loop Diagram
 LDES (s)
VA (s)
-
G1 (s)
I A(s)
G2 (s)
TM (s)
 M (s)
G3 (s)
 L (s)
1/n
KB
Kt
Term Example Closed-Loop Diagram
where
G1 ( s ) 
1
Ls  R
G2 ( s )  K T
G3 ( s ) 
1
J E s  cE
H(s) = Kt = 1
35
Step 1. Analyze the as-given open-loop system behavior.
Earlier the open-loop transfer function was derived and the real-world parameters for the NASA
ARMII robot shoulder joint were substituted.
KT
 L (s)
5
n
G ( s ) 

 2
V A ( s )  Ls  R  J E s  cE   K T K B s  11s  1010
 OL  s   s 2  2 n s   n2  s 2  11s  1010
 n  1010  31.8 rad/sec
tR = 0.04 sec

11
11

 0.173
2 n 2 1010
tP = 0.10 sec
PO = 57.6%
s1,2   5.5  31.3i
tS = 0.71 sec
This open-loop system has a different time scale than Controller Design Example 1; its output
L(t) rises much faster in response to a unit step input vA(t). Also, the steady-state value is 5/1010,
whereas it was 1.0 for Controller Design Example 1.
36
First, take a look at the root-locus plots and unit step responses, for the proportional controller GC(s) =
K, first for angular velocity output.

Root Locus
L
50
40
30
20
Im
10
0
-10
-20
-30
-40
-50
-50
0
Re
Step Response
1.6
1.6
1.4
1.4
1.4
1.2
1.2
1.2
1
1
1
Amplitude
0.8
0.8
0.8
0.6
0.6
0.6
0.4
0.4
0.4
0.2
0.2
0.2
0
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
0.1
0.2
0.3
0.4
Time (sec)
0.5
0.6
0.7
0.8
0.9
0
1
1.4
1.4
1.2
1.2
1.2
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.4
0.2
0.2
0.2
0
0
0.5
0.6
0.7
0.8
0.9
Time (sec)
1
0.5
0.6
0.7
0.8
0.9
1
0.7
0.8
0.9
1
0.8
0.6
0.4
0.4
1
Amplitude
Amplitude
1.4
0.3
0.3
Step Response
1.6
0.2
0.2
Step Response
1.6
0.1
0.1
Time (sec)
1.6
0
0
Time (sec)
Step Response
Amplitude
Step Response
1.6
Amplitude
Amplitude
Step Response
50
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
0
0.1
Time (sec)
0.2
0.3
0.4
0.5
Time (sec)
Term Example, L(t) control, unit step responses as K increases from 0.
K values legend
0
52
96
179
334
622
0.6
37
Here are the root-locus plot and unit step responses, for the proportional controller GC(s) = K, for angle.

L
Root Locus
50
40
30
20
Im
10
0
-10
-20
-30
-40
-50
-50
0
Re
Step Response
Step Response
Amplitude
0.5
0
Step Response
0.1
0.5
0.08
0.4
0.06
0.3
Amplitude
1
Amplitude
50
0.04
0.2
-0.5
0.02
-1
0
0.2
0.4
0.6
0.8
0
1
0.1
0
0.2
Time (sec)
0.4
0.6
0.8
0
1
0
0.2
Time (sec)
Step Response
0.6
0.8
1
0.8
1
0.8
1
Time (sec)
Step Response
1
0.4
Step Response
2
10
1.5
5
0.4
1
0.5
0.2
0
Amplitude
0.6
Amplitude
Amplitude
0.8
0
0.2
0.4
0.6
0.8
0
1
-5
0
0.2
Time (sec)
4
1
0.4
0.6
0.8
-10
1
0
0.2
Time (sec)
11
Step Response
x 10
0
2
0.6
Time (sec)
Step Response
x 10
0.4
1
x 10
20
Step Response
1.5
0.5
1
0.5
0
-0.5
Amplitude
Amplitude
Amplitude
0.5
0
-0.5
-1
0
-0.5
-1.5
-1
0
0.2
0.4
0.6
Time (sec)
0.8
1
-2
0
0.2
0.4
0.6
Time (sec)
0.8
1
-1
0
0.2
0.4
0.6
Time (sec)
Term Example, L(t) control, unit step responses as K increases from 0.
K values legend
0
20
117
681
2220
3955
9529
55309
220190
The closed-loop system becomes unstable for K  2222 ! Clearly the simple proportional controller will
not work, since the angular velocity root-locus plot shows that the closed-loop dimensionless damping
ratio must decrease as K increases.
38
Step 2. Specify and evaluate the desired behavior for the closed-loop system.
To determine the numerical desired characteristic polynomial, let’s try something different:
ITAE third-order. Arbitrarily let n = 5.
 DES ( s )  s 3  1.75 n s 2  2.15 n2 s   n3  s 3  8.75 s 2  53.75 s  125
The associated desired closed-loop poles from third-order ITAE are  2.60  5.34i ,  3.54 .
Step 3. Specify the form for the controller transfer function.
K
K s2  KP s  KI
PID Controller
GC ( s )  K P  I  K D s  D
s
s
Step 4. State the controller design problem to be solved.
5
 CLDES ( s )  s 3  8.75 s 2  53.75 s  125 , and
G (s)  2
Given
, H(s) = 1,
s  11s  1010
K
GC ( s )  K P  I  K D s , Solve for the PID controller gains KP, KI, and KD. Then evaluate the PID
s
controller performance.
Step 5. Solve for the unknown gains to achieve the desired behavior for the closed-loop system.
Derive the closed-loop transfer function as a function of the PID controller gains.
5  KD s2  KP s  KI 
5  KD s2  KP s  KI 
T ( s) 
T ( s) 
T ( s) 
GC ( s )G ( s )

1  GC ( s )G ( s )
s  s 2  11s  1010 
1
5  KD s2  KP s  KI 

s  s 2  11s  1010 
s  s 2  11s  1010 
s  s 2  11s  1010   5  K D s 2  K P s  K I 
s  s 2  11s  1010 
5  KD s2  KP s  KI 
s  s 2  11s  1010   5  K D s 2  K P s  K I 
5  KD s2  K P s  K I 
s 3  11  5 K D  s 2  1010  5 K P  s   5 K I 
Match the symbolic form (function of KP, KI, KD) with the numerical ITAE desired characteristic
polynomial.
Denominator parameter matching (fully-decoupled solution)
s3  1  1
K D  0.45
s 2  11  5 K D  8.75
K P  191.25
s1  1010  5 K P  53.75
K I  25
s 0  5 K I  125
KP and KD are negative!
39
4
0.02
2
0.01
0
0
-2
-0.01
-4
-0.02
 L(t)
 L(t)
Step 6. Evaluate the PID controller performance in simulation.
Open- vs. Closed-Loop unit step responses
-0.03
-6
-8
-0.04
-10
-0.05
-12
-0.06
-14
-0.07
-16
0
0.5
1
1.5
t (sec)
2
2.5
3
-0.08
0
Open-Loop
Closed-Loop PID
0.5
1
1.5
t (sec)
2
2.5
3
Open-Loop
Closed-Loop PID, corrected
Step 7. Include an output attenuation correction factor if necessary.
Here the KI term forces the steady-state output to 1.0 (zero steady-state error for unit step input);
however, the original system output was not 1.0 (it was 5/1010, we can’t even see it on the graph), so we
need a correction factor to drive the closed-loop system to the same steady-state value (right plot).
Rcorr ( s )  R ( s )( corr )  R ( s )
Corrected closed-loop PID transfer function
y sso
5 1010
 R(s)
 0.00495 R ( s )
y ssc
1
T (s) 
5  2.25 s 2   956.25 s  125 


1010  s 3  8.75 s 2  53.75 s  125 
Again: Controller design can easily make matters worse, if not done properly! With negative KP,
the closed-loop step response initially goes down while open-loop goes up. The is a huge (negative)
overshoot, and the transient response is slower than the open-loop case.
Step 9. Re-design and re-evaluate the controller.
Perform design iteration until the closed-loop performance specifications are met in simulation.
We have no pre-filter yet (Step 8), but we have a bigger problem in the negative KP and KD.
Step 2. Specify and evaluate the desired behavior for the closed-loop system.
So let’s choose a higher n in the third-order ITAE desired closed-loop numerical characteristic
polynomial for faster response and positive KP, KD. KP is the limiting case, i.e. if we force it to be
positive, KD will be positive also.
11  5K D  1.75n
@ KD = 0, n = 6.29, but then KP will still be negative (KP = –185); therefore let us instead set n so
that KP will be positive.
@ KP = 0, n = 21.7
1010  5 K P  2.15 n2
So try n = 30
 DES ( s )  s 3  52.5 s 2  1935 s  27000
40
The new associated desired closed-loop poles from third-order ITAE are  15.63  32.04 i ,  21.24
Step 5. Solve for the unknown gains to achieve the desired behavior for the closed-loop system.
Denominator parameter matching (fully-decoupled)
3
s 1 1
K D  8.3
s 2  11  5K D  52.5
K P  185
KP and KD are both positive as planned!
s1  1010  5 K P  1935
K I  5400
s 0  5 K I  27000
Step 6. Evaluate the PID controller performance in simulation.
Open- vs. Closed-Loop unit step responses
Open- vs. PID Closed-Loop 
-3
8
x 10
L
Response, Corrected
7
6
 L(t)
5
4
3
2
1
0
0
0.1
0.2
0.3
0.4
0.5
t (sec)
0.6
0.7
0.8
0.9
1
Open-Loop
Closed-Loop PID
Closed-loop transfer function
T (s) 

5 
42 s 2  925 s  27000
 3

2
1010  s  52.5 s  1935 s  27000 
Step 7. Include an output attenuation correction factor if necessary.
We include the same correction factor as above.
The controller response is much better with the positive KP and KD, but the third-order bend in
the closed-loop response is not as desired. The desired ITAE response is different, i.e. it doesn’t look
like this closed-loop response. Therefore, we need a pre-filter.
41
Step 8. Include a pre-filter transfer function if necessary.
Two unwanted zeroes were introduced by the PID controller; these can be cancelled by a prefilter.
GP ( s ) 
Pre-filter transfer function
27000
42 s  925 s  27000
2
Note we specify the 27000 pre-filter transfer function numerator since the pre-filter shouldn’t attenuate
the output. When we plot the resulting unit step responses we see in the left plot below that the
controller design is now successful.
Open-, PID Closed-, and Pre-filtered 
-3
8
x 10
L
Response
Open-, PID Closed-, and Pre-filtered 
-3
5
7
x 10
L
Response
4.5
4
6
3.5
5
 L(t)
 L(t)
3
4
2.5
2
3
1.5
2
1
1
0
0
0.5
0.1
0.2
0.3
0.4
0.5
t (sec)
0.6
0.7
0.8
0.9
1
0
0
0.1
0.2
0.3
0.4
0.5
t (sec)
0.6
0.7
0.8
0.9
1
Open-Loop
Closed-Loop PID
Closed-Loop PID with Pre-Filter
The pre-filtered closed-loop transfer function is:
T (s) 
5 
27000

 3

2
1010  s  52.5s  1935s  27000 
The final closed-loop unit step response is now theoretically identical to the specified third-order
ITAE behavior. Note with the ITAE specification we didn’t need to specify percent overshoot, settling
time, or peak time.
For this controller, the angle L(t) unit step response in time is given in the right plot above (note
the steady-state error since the closed-loop PID lags the open-loop and the closed-loop PID with prefilter lags even further). We just integrated the L(t) response to get these results, i.e. we included
another s factor in the closed-loop system denominator.
42
Step 6. Evaluate the PID controller performance in simulation.
Simulink Model
1
s
V
Integrator2
Plant
OmegaL
-KReference
OmegaL
Corr
27000
PID Controller
Pre-filter
ThetaL
1
s
PID
42s2 +925s+27000
Integrator
Plant
The Plant blocks above are Simulink masks for the (identical) open-loop plant shown below.
tau dist
1
1
1
100
s+10
in_1
RL Circuit
-K-
1
0.1s+0.1
Km
1/n
Jc rotational dynamics
1
Kb
out_1
43
J-Method Controller
Alternate design method for Term Example L(t) controller design.
Step 2. Specify the desired behavior for the closed-loop system We specify the entire desired closedloop T(s), not just the denominator. To determine the numerical desired entire closed-loop T(s) transfer
function, let’s try something different: ITAE second-order.
 DES ( s)  s 2  1.4n s  n2
n = 30 (from successful PID controller design)
 DES ( s)  s 2  42s  900
The associated desired closed-loop poles from third-order ITAE are  2 1  2 1 .4 i .
5(900)
T ( s )  2 1010
s  42 s  900
Step 4. Solve for the unknown controller form including the unknown gains.
GC ( s ) 
with
G (s) 
T (s)
G ( s ) 1  H ( s )T ( s ) 
5
s  11s  1010
2
and
H(s) = 1
5(900)
1010
2
s

42 s  900
GC ( s ) 
5(900)



5


1010

 2
 1  (1) 2
s  42 s  900 
 s  11s  1010  


450



  s 2  11s  1010 
101
 2


5

 s  42 s  900  


GC ( s ) 
450 
 2
 s  42s  900  101 


s 2  42 s  900 



90 2
 s  11s  1010 
101
GC ( s ) 
1 

s 2  42 s  450  2 

 101 
J-Method
44
Step 5. Simulate the resulting closed-loop system performance.
Simulink Evaluation for the J-Method Term Example Controller Design, Angular Velocity
5
s2 +11s+1010
Plant
Step
Open-Loop
90/101*[1 11 1010]
5
s2 +42s+450*(2-1/101)
s2 +11s+1010
Gc
Plant
Closed-Loop J-Method
Scope
45
Open-Loop
Closed-Loop J-Method
Disturbed Closed-Loop J-Method
There is no need for a correction factor or a pre-filter transfer function.
This J-Method controller for the Term Example load shaft angular velocity L(t) control was
successful as shown in the left plot above. But how does this controller handle disturbances?
As we have seen before, the J-Method controller is very poor at handling disturbances, in this
case a unit step disturbance in voltage, subtracted at t = 1 sec. The disturbed J-Method controller output
response, shown in the right figure above, has unacceptable transient response and unacceptable steadystate error.
46
5.15 Term Example Disturbances and Steady-State Error
L
n
R
cL
v A (t)
+
+
v B (t)
-
-
J L (t)
cM
JM
 M (t)
 M (t)
 M (t)
i A (t)
 L (t)
 L (t)
 L (t)
Though we have not presented it, it is possible to design controllers specifically to reject
disturbances. This last example, the conclusion of the Term Example, discusses controller design to
reject disturbances, specifically for achieving lower steady-state error.
Term Example open-loop diagram with disturbance
D(s)
VA (s)
G1 (s)
I A(s)
G2 (s)
 M (s)
TM (s)
G3 (s)
 L (s)
1/n
KB
where VA(s) is the armature voltage input, L(s) is the load shaft angular velocity output, and D(s) is the
disturbance modeled at the actuator input level (disturbance in torque, Nm).
where G1 ( s ) 
1
Ls  R
G2 (s)  KT
G3 ( s ) 
1
J E s  cE
Let VA(s) = 0 and monitor changes in L(s) given a disturbance input. Since VA(s) = 0, any L(s)
is the steady-state error, that is, we wish as low an output as possible for the open-loop system.
Derive the open-loop disturbance transfer function GD ( s ) 
 L (s)
.
D(s)
 M (s)
1

TM ( s )  D ( s ) J E s  cE
47
TM ( s )
KT

 K B  M ( s ) Ls  R
Since V(s) = 0
nL (s)
1

KT KB nL (s)
 D(s) J E s  cE
Ls  R
 M ( s)  n L ( s )
n L ( s )  J E s  cE  
 KT K B n L ( s )   Ls  R  D ( s )
Ls  R
n  J E s  cE  Ls  R   nKT K B  L (s)    Ls  R  D(s)
GD ( s) 
  Ls  R 
L (s)

D( s) n  J E s  cE  Ls  R   KT K B 
Open-loop steady-state error for a step disturbance of magnitude D, D( s) 
EOL ( s)   LDES ( s)   L ( s)   L ( s) 
D
s
 Ls  R 
D( s )
n  J E s  cE  Ls  R   KT K B 
 Ls  R 
D
essOL  lim eOL (t )  lim sEOL ( s)  lim s
t 
s0
s0 n  J E s  cE  Ls  R   KT K B  s
essOL 
RD
n  RCE  KT K B 
Closed-loop diagram with disturbance, tachometer, and P controller
D(s)
 LDES (s)
VA (s)
-
G1 (s)
I A(s)
G2 (s)
TM (s)
 M (s)
G3 (s)
 L (s)
1/n
KB
Kt
where LDES(s) is the desired load shaft angular velocity output, and the other terms have been
previously defined.
48
Let LDES(s) = 0 and check changes in L(s) given a disturbance input. Since LDES(s) = 0, any
L(s) is the steady-state error, that is, we wish as low an output as possible for the closed-loop system.
Derive the closed-loop disturbance transfer function TD ( s ) 
 M (s)
1

TM ( s )  TD ( s ) J E s  cE
 L ( s)
.
 LDES ( s )
TM ( s)
KT

A( s) Ls  R
 M ( s)  n L ( s )
A(s)  VA (s)  K B M (s)
VA (s)  KECL (s)  K  LDES ( s)  Kt  L ( s)    KKt L (s)
A(s)   KKt L (s)  nK B L ( s)    KKt  nK B   L (s)
TM ( s) 
 KT  KKt  nK B  L (s)
Ls  R
n L ( s )
1

 K T  KK t  nK B   L ( s )
J E s  cE
 D(s)
Ls  R
n L ( s)  J E s  cE  
 KT  KKt  nK B   L ( s)   Ls  R  D( s )
Ls  R
 n  J E s  cE  Ls  R   KT  KKt  nK B   L (s)    Ls  R  D(s)
TD ( s) 
  Ls  R 
 L ( s)

LDES ( s)  n  J E s  cE  Ls  R   KT  KKt  nK B  
Closed-loop steady-state error for a step disturbance of magnitude D, D( s) 
ECL ( s)   LDES ( s)   L ( s )   L ( s )
ECL ( s) 
 Ls  R 
D( s )
 n  J E s  cE  Ls  R   KT  KKt  nK B  
essCL  lim eCL (t )  lim sECL ( s)
t 
s0
 Ls  R 
D
essCL  lim s
s0  n  J E s  cE  Ls  R   KT  KKt  nK B   s
D
s
49
essCL 
RD
nRcE  K T  KK t  nK B 
For disturbance-rejecting controller design, ensure the closed-loop steady-state error is less than the
open-loop steady-state error.
n  RcE  KT K B 
essCL
RD

essOL nRcE  KT  KK t  nK B 
RD
n  RcE  KT K B 
essCL

essOL nRcE  KT  KK t  nK B 
Design so
essCL
 1
essOL
50
Numerical example from Term Example
essOL 
RD
n  RcE  KT K B 
essCL 

10 D
200 1  100

10 D
200  100  KK t  200 

10 D
20200

10 D
20200  100 KK t
essCL
10 D
20200

essOL 20200  100 KK t 10 D

RD
nRcE  KT  KK t  nK B 
essCL
20200

1
essOL 20200  100 KK t
20200
20200  100 KK t
20200  100 KKt  20200
100 KKt  0
KKt  0
Kt
K
tachometer selection
proportional controller gain
Assume the tachometer gain is fixed. Then the only way to reduce the closed-loop steady-state
error is to increase proportional controller gain K as much as possible.
Now, this proportional controller for disturbance rejection is not very satisfying – we know from
the root-locus plot that the higher we make K, the worse the transient response will be (stable but more
highly underdamped as K increases). So this demonstrates another tradeoff in controller design – to
ensure lower steady-state errors due to unknown, unwanted disturbances, we must accept worse
transient response performance.
51
6. Vibrational Responses
6.1 Free Vibrational Responses
6.1.1 Undamped Second-Order System Free Responses: Simple Harmonic Motion
6.1.1.1 Analytical Undamped Second-Order System Free ODE Solutions
Analytical Solution via the Laplace Transform Method
Let us solve the same general unforced Harmonic Oscillator second-order IVP ODE using an
alternative method: Laplace Transforms. Since we are solving a linear ODE, there is a unique solution,
which we have found using the Slow ME Way and validated by direct substitution.
The Problem Statement is the same:
x(t )  a0 x(t )  0 for x(t) given a2, a0, and values for the initial conditions:
Solve a2 
x(0)  x0
x(0)  v0
In contrast to the Slow ME Way, ODE solution via Laplace Transforms is accomplished
algebraically in the Laplace frequency domain, in a single step, including the initial conditions.
The first step is to take the Laplace Transform of both sides of the ODE, including the initial
conditions, and solving algebraically for the unknown in the Laplace domain, X (s)  L{x(t)}.
L a2 
x(t )  a0 x(t )  0 
a2 ( s 2 X ( s )  sx(0)  x (0))  a0 X ( s )  0
(a2 s 2  a0 ) X ( s )  a2 ( x0 s  v0 )
X (s) 
a2 ( x0 s  v0 )
a2 s 2  a0
Note that the system characteristic polynomial a2 s 2  a0 appears when using the Laplace
Transform method. To find the solution in the time domain, x(t), we must take the inverse Laplace
Transform of X(s).
52
x(t )  L1  X ( s)



 a ( x s  v0 )  1  x0 s  v0 
x(t )  L1  2 02
L 

 a2 s  a0 
 s 2  a0 
a2 









 x s 
 v 
 s 
 1 
1
x(t )  L1  0   L1  0   x0 L1 
  v0 L 

a
a
a
 s2  0 
 s2  0 
 s2  0 
 s 2  a0 
a2 
a2 
a2 
a2 




Consulting a table of Laplace Transforms, such as in Appendix B, we find two applicable entries.

s
sin  t 
cost  2
2
2
s 
s  2
The left term in x(t) above is ready to go and will yield a cosine term; the right term must be
a
a0
) and rearranging.
manipulated algebraically, multiplying by a ‘1’ ( 0
a2 a2

 s
x(t )  x0 L1 
 s 2  a0
a2


 a0
 v
 a
1 
0
2
L

 a

2
0

 s  a0
a2
 a2






Now let us use our earlier definition for natural frequency:
n 
a0
a2
to yield
 s  v0 1  n2 
 2L  2
x(t )  x0 L  2
2
2
 s  n  n
 s  n 
1
With one more algebraic manipulation (distributing the product  n2   n n )
 s  v0n 1  n 
 2 L  2
x(t )  x0 L1  2
2
2

n

s
n 

 s  n 
 s  v0 1  n 
 L  2
x(t )  x0 L1  2
2
2
 s  n  n
 s  n 
We can finally take the two inverse Laplace Transforms to yield the solution x(t)
53
x (t )  x0 cos n t 
v0
n
sin n t
As predicted, this solution agrees with the solution derived via the Slow ME Way – we have validated
this solution, presented some equivalent alternative solution forms, and presented a numerical example
so we needn’t repeat this work since it is the same.
54
6.1.2 Underdamped Second-Order System Free Responses
6.1.2.4 Damped Second-Order System Free Response Numerical ODE Solutions
Numerical Plots with All Three Derivatives
For a more complete graphical result in this numerical example, we next separately plot on the
next four graphs, the same displacements x(t) as above, along with two derivatives. The first one, for
undamped free SHM using MATLAB file SHM.m, has been presented previously.
x (t )  0.0100 cos  t  0.0095sin  t
x (t )  0.0314 sin  t  0.0300 cos  t

x (t )  0.0987 cos  t  0.0942 sin  t
Undamped SHM Numerical Example x(t) and Time Derivatives Time Response
55
Underdamped SHM Numerical Example x(t) and Time Derivatives Time Response
Critically-damped SHM Numerical Example x(t) and Time Derivatives Time Response
Overdamped SHM Numerical Example x(t) and Time Derivatives Time Response
Note that if n > 1 then the magnitude of the acceleration is greater than the magnitude of the velocity,
which is greater than the magnitude of the position, in all four cases.
The previous three plots were generated by MATLAB file DO.m.
56
6.2 Forced Vibrational Responses
Analytical Solution via the Laplace Transform Method
Let us solve the same general harmonically-forced undamped second-order IVP ODE using an
alternative method: Laplace Transforms. Since we are solving a linear ODE, there is a unique solution,
which we have found using the Slow ME Way and validated by direct substitution.
The Problem Statement is the same:
Solve a2 
x (t )  a0 x (t )  u (t ) for x(t) given a2, a0, u(t)  U sint , and zero initial conditions
x(0)  x0  0
x(0)  v0  0
In contrast to the Slow ME Way, ODE solution via Laplace Transforms is accomplished
algebraically in the Laplace frequency domain, in a single step, including the forcing function and initial
conditions.
The first step is to take the Laplace Transform of both sides of the ODE, including the initial
conditions and forcing function, and solving algebraically for the unknown in the Laplace domain,
X (s)  L{x(t)}.
L a2 
x(t )  a0 x(t )  U sin t 

s  2

(a2 s 2  a0 ) X ( s )  U 2
s  2
a2 ( s 2 X ( s )  sx(0)  x (0))  a0 X ( s )  U
X ( s) 
2
U
(a2 s  a0 )( s 2   2 )
2
Note that the system characteristic polynomial a2s2  a0 appears when using the Laplace
Transform method. To find the solution in the time domain, x(t), we must take the inverse Laplace
Transform of X(s).
x(t )  L1  X ( s)


U
x(t )  L1 
2
2
2 
 (a2 s  a0 )( s   ) 
We find no Laplace Transform entries matching this X(s), so we must first perform the Heaviside Partial
Fraction Expansion on X(s) to break it into manageable pieces that are found in the Laplace Transform
Table.
57
X (s) 
C1s  C2 C3s  C4
U


(a2s2  a0 )(s2  2 ) (a2s2  a0 ) (s2  2 )
Where the Heaviside Partial Fraction unknown constants C1, C2, C3, C4 are called the residues. Note
that we break X(s) into a sum of terms each with a single denominator factor from the original. Also
note that the order of each numerator polynomial in s must be one less that the order of its denominator.
If you can factor a denominator into real factors, do so – if they are imaginary, do not factor.
Immediately upon breaking apart X(s) into the partial fraction expansion, we express it again over a
common denominator, and equate it to the original X(s).
(C1s  C2 )(s2  2 )  (a2s2  a0 )(C3s  C4 )
U
X (s) 

2
2
2
2
(a2s  a0 )(s   )
(a2s  a0 )(s2  2 )
Equating the numerators we have:
(C1s  C2 )(s 2   2 )  (a2 s 2  a0 )(C3 s  C4 )  U
(C1s3  C2 s 2 )  (C1 2 s  C2 2 )  (a2C3 s3  a0C3 s)  (a2C4 s 2  a0C4 )  U
(C1  a2C3 )s3  (C2  a2C4 )s 2  (C1 2  a0C3 )s  (C2 2  a0C4 )  U
Balancing the powers of s coefficients on the left- and right-hand-sides of the above equation yields four
linear equations in four unknowns.
s3  C1  a2C3  0
s 2  C2  a2C4
0
1
 2

s1  C1 2  a0C3  0
a2  C1  0
  
a0  C3  0
 1 a2  C2   0 
 2 a  C   U  
 
0 4

s 0  C2 2  a0C4  U
The solution to the Heaviside Partial Fraction unknown constants C1, C2, C3 (the residues) is:
C1  0
C2  
And substituting into X(s) yields
a2U
a0  a22
C3  0
C4 
U
a0  a22
58
X ( s) 
C s  C4
C1s  C2
 32
2
(a2 s  a0 ) (s   2 )
X ( s) 
C2
C
a U
1
1
U
 2 4 2  2

2
2
2
2
2
(a2 s  a0 ) (s   )
a0  a2 (a2 s  a0 ) a0  a2 (s   2 )




 
1
U
U



X ( s) 
2
2
2
a0  a2   2 a0  (s   )  a0  a2 2
 s  

a2 
 



a0


a2
 
 

 a0  2 a0  (s 2   2 ) 


s  
a2 

 a2 
Consulting a table of Laplace Transforms, such as in Appendix B, we find an applicable entry.
sin t 

s  2
2

a0

a2
U
 
x (t )  L1  X ( s ) 
L1  
2
a0  a2
a0  2 a0

s 

a2
a2 
 

U
 sin n t  sin  t 
x (t ) 
2 
a0  a2  n





 2
2 
 (s   ) 



where n 
a0
a2
As predicted, this solution agrees with the solution derived via the Slow ME Way – we have validated
this solution and presented a numerical example so we needn’t repeat this work since it is the same.
59
6.2.2 Damped Second-Order System Harmonically-Forced Responses
6.2.2.2 Damped Second-Order System Harmonically-Forced Numerical Examples
a. Critically-damped Solution   1
characteristic polynomial s2  2 s  2

c
62.83

1
2 km 2 100 2
roots
 , 
x(t )  (0.0000192  0.002t )e  t  0.0000779sin(8 t  2.89)
T
2


2 1

sec
8 4
As seen in the time response plot below for the total x(t), one steady-state mode of vibration is
superimposed onto the non-oscillatory critically-damped transient response. We see that the transient
response disappears (the total solution approaches the steady-state solution) by around 3 sec. The
particular solution remains for as long as the input harmonic forcing function is applied. At t = 0, the
initial value is 0 m and the slope is also zero, as specified by the zero initial conditions.
Harmonically-Forced Critically-Damped Numerical Example x(t) Time Response
60
Below we plot the same x(t) response for the same example as the above plot, along with its first
and second derivatives. These three are arranged separately on a subplot since their magnitudes are
greatly different; the acceleration is the largest, then the velocity, and the position magnitudes are the
smallest. We see that the acceleration reaches steady-state before the velocity, which reaches steadystate before the position. We see both initial conditions, i.e. zero initial position and velocity. It also
turns out that the initial acceleration is zero, though this is not specified since it is only a second-order
problem. What are the relationships amongst these plots, from Calculus?
Same Critically-Damped Numerical Example with Position Velocity, and Acceleration
61
Now we plot the same response for the same example as the above two plots, this time showing
the x(t) vs. x(t) phase plot. To emphasize the steady-state behavior (vibratory response to the harmonic
forcing function), the plot below includes time up to 20 sec, instead of 6 sec as before. How do we
interpret this complicated graph? Where is time on this graph?
Same Critically-Damped Numerical Example, Phase Plot
62
Let us repeat the above critically-damped numerical example, only changing the driving
frequency , with associated driven time period T 16x longer.

2 2
f (t )  F sin t  0.5sin t

 4 sec
T

2

2
The new time response is plotted below.
Harmonically-Forced Critically-Damped Example x(t) Time Response with Lower 
The natural frequency n is unchanged and the new second-order response x(t) is:
n 
10 2
rad

10
sec

x(t )  (0.0032  0.0064t )e t  0.0041sin( t  0.93)
2
Again in the total time response x(t), one steady-state mode of vibration is superimposed onto the
non-oscillatory critically-damped transient response. We see that the transient response again
disappears (the total solution approaches the steady-state solution) by around 3 sec. The particular
solution remains for as long as the input harmonic forcing function is applied. At t = 0, the initial value
is 0 m and the slope is also zero, as specified by the zero initial conditions.
The two plots below show the same second critically-damped system harmonically-forced
example, first the position, velocity, and acceleration and second the phase plot.
63
Second Critically-Damped Numerical Example with Position Velocity, and Acceleration
Second Critically-Damped Numerical Example, Phase Plot (t = 40 sec)
64
b. Overdamped Solution   1
characteristic polynomial s2 12.57s  2

c
125.66

2
2 km 2 100 2
roots –0.84, –11.73
x(t )  0.000183e 0.84t  0.000150e 11.72t  0.000072sin(8 t  2.67)
T
2


2 1

sec
8 4
As seen in the time response plot below for the total x(t), one steady-state mode of vibration is
superimposed onto the non-oscillatory overdamped transient response. We see that the transient
response disappears (the total solution approaches the steady-state solution) by around 6 sec, slower than
the critically-damped case. The particular solution remains for as long as the input harmonic forcing
function is applied. At t = 0, the initial value is 0 m and the slope is also zero, as specified by the zero
initial conditions.
Harmonically-Forced Overdamped Numerical Example x(t) Time Response
65
Below we plot the same x(t) response for the same example as the above plot, along with its first
and second derivatives. These three are arranged separately on a subplot since their magnitudes are
greatly different; the acceleration is the largest, then the velocity, and the position magnitudes are the
smallest. We see that the acceleration reaches steady-state before the velocity, which reaches steadystate before the position. We see both initial conditions, i.e. zero initial position and velocity. What are
the relationships amongst these plots, from Calculus?
Same Overdamped Numerical Example with Position Velocity, and Acceleration
66
Now we plot the same response for the same example as the above two plots, this time showing
the x(t) vs. x(t) phase plot. To emphasize the steady-state behavior (vibratory response to the harmonic
forcing function), the plot below includes time up to 20 sec, instead of 6 sec as before. How do we
interpret this complicated graph? Where is time on this graph?
Same Overdamped Numerical Example, Phase Plot
67
Let us repeat the above critically-damped numerical example, only changing the driving
frequency , with associated driven time period T 16x longer.

2 2
f (t )  F sin t  0.5sin t

 4 sec
T

2

2
The new time response is plotted below.
Harmonically-Forced Overdamped Example x(t) Time Response with Lower 
The natural frequency n is unchanged and the new second-order response x(t) is:
n 
10 2

10
rad
sec
x (t )  0.000183e 0.84 t  0.000150e 11.72 t  0.000072sin(8 t  2.67)
Again in the total time response x(t), one steady-state mode of vibration is superimposed onto the
non-oscillatory critically-damped transient response. We see that the transient response again
disappears (the total solution approaches the steady-state solution) by around 7 sec. The particular
solution remains for as long as the input harmonic forcing function is applied. At t = 0, the initial value
is 0 m and the slope is also zero, as specified by the zero initial conditions.
The two plots below show the same second critically-damped system harmonically-forced
example, first the position, velocity, and acceleration and second the phase plot.
68
Second Overdamped Numerical Example with Position Velocity, and Acceleration
Second Overdamped Numerical Example, Phase Plot (t = 40 sec)
69
6.2.2.5 Transmissibility
An important topic in vibrations and machine design is vibration isolation. For a given
machine, designers specify the mountings (combinations of springs and dashpots) to reduce the shaking
forces and moments on the ground as much as possible. Passive vibration isolation indicates using fixed
components for isolation. Active vibration isolation requires sensors, a processor, actuation, and control
theory, which is much more complicated, but with potential improvements in vibration isolation
compared to the passive case.
Transmissibility is defined as the ratio of the maximum force transmitted to the base over the
maximum input force magnitude and is thus unitless or can be expressed as a percentage. In a good
vibration isolation system, the transmissibility should be low, much less than 1.
Consider the standard forced m-c-k system. Recall from the ME 3012 NotesBook section on
resonance that the maximum normalized amplitude M is:
M
A
1

Fk
(1  r 2 )2  (2 r)2
r

n
where A is the amplitude of vibration, F is the input sinusoidal force magnitude, and k is the spring
constant. In this system the ground force is transmitted through the spring and dashpot elements. Recall
that the spring and dashpot forces are f S  kx(t ) and f D  cx (t ) . Further recall that the velocity x (t )
always leads the position x(t) by 90 . Therefore the total maximum transmitted force Ft is:
2
 2 
2
 c 
Ft  (kA)  (cA)  kA 1     kA 1  
  kA 1   2 r 
 k 
 n 
2
2
2
And the transmissibility TR is the ratio of Ft over F.
kA 1   2 r 
F
TR  t 
F kA (1  r 2 )2  (2 r )2
2
TR 
1  (2 r )2
(1  r 2 )2  (2 r )2
Note that this TR result has the same denominator as the M ratio from the resonance discussion, but a
different numerator. Below we plot TR vs. frequency ratio r, for various  values.
70
Transmissibility vs. r
We see all  curves pass through the same ratio point of 1 at r = 0 and r  2 . From these
graphical results we see that the designer must keep the frequency ratio r as large as possible and the
damping as small as possible to achieve low transmissibility TR  1 .
MATLAB file Transmiss.m was used to generate the above curves.
The vibrational model for a second-order m-c-k system with input displacement u(t) instead of
input external force f(t) is:
m 
x ( t )  cx ( t )  kx ( t )  cu ( t )  ku ( t )
Due to the similarity of these models, the transmissibility TR 
X
is identical to the transmissibility
U
Ft
and so the above plot covers the displacement input case also, with the same design
F
conclusions.
TR 
71
6.2.2.6 Rotating Imbalance
The model for a machine with a rotating imbalance is shown below.
m1
x(t)
e
t
m2 
x(t )  cx(t )  kx(t )  m1e 2 sin t
m2
k
c
where the unbalanced mass is m1, the total machine mass is m2, e is the effective offset length of the
imbalance, and the equivalent spring and damping coefficients connecting the machine to ground are k
and c, respectively. Following the same method we used for deriving the resonance plots we obtain the
dimensionless ratio E expressing the machine motion relative to the unbalanced motion.
mA
r2
E 2 
m1e
(1  r 2 )2  (2 r )2
This E relationship is plotted below vs. frequency ratio r, for various  values.
Unbalanced motion ratio vs. r
72
At first this series of plots resembles the resonance plots from before. Two main differences are that the
peaks in E ratios for the various  values are to the right of r = 1, rather than to the left, and the final
value asymptote is 1 rather than 0. This means that the machine vibration approaches that of the rotating
imbalance as r increases. Again, r values near resonance are to be avoided due to high output motion.
The transmissibility results for this rotating imbalance case are different than for the two cases
presented previously in the last section. The transmissibility in this case is defined as the force
transmitted to ground through the springs and dashpots, relative to the normalized unbalanced mass.
r 2 1  (2 r )2
Ft k
TRU 

m1e m2
(1  r 2 ) 2  (2 r )2
This TRU relationship is plotted below vs. frequency ratio r, for various  values.
Unbalanced transmissibility TRU vs. r
We see all  curves pass through the same transmissibility point of 2 at r  2 . Again, we
desire very low values of transmissibility in the rotating unbalance case, that is we want TRU  1 . In
the TRU plots above we see that all cases will yield T RU  1 , some even yield TRU  1 . For all r
values greater than 1, (and for many r values less than 1), higher damping causes higher transmissibility,
which is undesirable. The best way to limit transmissibility in this case is to minimize the rotating
imbalance m 1 e by balancing the rotating shaft.
MATLAB file Transmiss.m was used to generate the above two plots.
73
6.2.3 General Forcing Functions
In forced vibrations analysis we considered only periodic harmonic input forcing of the form
f (t)  F sint
We could have equally considered periodic harmonic input forcing of the form f (t)  F cost . All
derived results would be very similar so we needn’t repeat our derivations for the cosine input function.
This section discusses more general input functions for forced vibrations of dynamic systems.
We consider both periodic and non-periodic general input forcing functions. These topics used to be
central in learning classical vibrations, but, with the advent of MATLAB/Simulink, these types of
general input functions are easy to represent using computer simulation. These simulations are much
more accurate and far easier to perform than earlier in history.
6.2.3.1 Periodic Forcing Functions
Periodic forcing functions used as external inputs to vibratory systems have classically been
represented by the Fourier series. Any periodic forcing function f(t) with a time period of T  2  can
be represented by an infinite Fourier series.
f (t ) 

a0 
  a p cos p t   b p sin p t
2 p 1
p 1
where
ap 
2 T
f (t )cos ptdt
T 0
p  0,1,2,
bp 
2 T
f (t )sin ptdt
T 0
p 1,2,
It is up to the engineer to decide how many p terms to include in the series to obtain the desired fidelity
and accuracy.
An alternate form for the Fourier series, suitable for the frequency response, is obtained by using
a familiar transformation (sine sum-of-angles formula); the result is:

f (t )  A0   Ap sin  p t   p 
p 1
where
A0 
a0
2
Ap  a2p  bp2
 ap 

 b p 
 p  tan 1 
74
Fourier Series Examples
1. Square Wave. Represent the f(t) square wave below by using a Fourier series. The time period
in this example is T  2  sec (thus   2 T  1 rad/sec) and this input repeats periodically as
long as desired. The discontinuous square wave function f(t) is:
f (t) 1
0t 
f (t)  1
  t  2
Solution.
Evaluating the Fourier series coefficients for this given square-wave and given time period T, we
find the following coefficients.
p  0,1,2,
ap  0
bp 
4
p
p  1,3,5,
p  2,4,6,
bp  0
Therefore, the square-wave solution is:
f (t ) 
4  sin t sin 3t sin 5t





3
5
 1

The fundamental frequency of a periodic function such as this result is:

2 2
rad

1
T 2
sec
and the harmonic frequencies of a periodic function, the components contributing to the Fourier series,
are:
p 
p2 p2
rad

p
2
sec
T
p 1,3,5,
Any guitar player knows that harmonic frequencies are integer multiples of the fundamental
frequency for each string.
As shown above, only the odd sine terms are non-zero in the Fourier series for the square wave.
The subplots below show the Fourier series approximation for the given square wave, for p = 1, 7, 13,
19.
75
Fourier Series Approximation of a Square Wave
We see that higher p values represent the discontinuous square wave more faithfully. However,
the harmonic frequencies increase, though with relatively low amplitude, as p increases. Also, the
amount of overshoot shown for p = 19 is no longer decreasing for higher p.
It is pretty cool to animate this in MATLAB – demonstrate this using MATLAB file
FourierSeries.m.
2. Saw-Tooth Wave. Represent the f(t) saw-tooth wave below by using a Fourier series. The time
period in this example is again T  2 sec (thus   2 T  1 rad/sec) and this input repeats
periodically as long as desired. The discontinuous saw-tooth wave function f(t) is:
f (t)  t
0t 
f (t)  t  2
  t  2
Solution
Evaluating the Fourier series coefficients for this given saw-tooth wave and given time period T,
we find the following coefficients.
76
p  0,1,2,
ap  0
bp 
2( 1) p 1
p
p  1,2,3,4,
Therefore, the saw-tooth wave solution is:
 sin t sin 2t sin 3t sin 4t

f (t )  2 



 
2
3
4
 1

The fundamental and harmonic frequencies for this example are:

2 2
rad

1
T 2
sec
p 
p2 p2
rad

p
T
2
sec
p  1,2,3,4,
As shown above, only the sine terms are non-zero in the Fourier series for the saw-tooth wave, in
this case, all p terms (not just the odds as in the square wave). The subplots below show the Fourier
series approximation for the given saw-tooth wave, for p = 1, 4, 7, 10.
Fourier Series Approximation of a Saw-Tooth Wave
77
We see again that higher p values represent the discontinuous saw-tooth wave more faithfully.
However, the harmonic frequencies increase as p increases. Also, the amount of overshoot increases for
increasing p. These plots were generated using MATLAB file FourierSeriesSaw.m.
Fourier Series Frequency Spectrum
We can also represent Fourier Series example results using a frequency spectrum. That is, we
can plot the amplitude A of each Fourier Series component vs. p, the frequency counter for each term.
Remember p = 1 is associated with the fundamental frequency , and p > 1 are the harmonic
frequencies, where p is always an integer. The frequency spectrum plots are given below for the squareand saw-tooth wave examples from before.
Amplitude A(p) vs. Frequency Counter p for the Square Wave
Remember for the square wave that only the odd sine terms were active. The plot above shows the
Fourier Series amplitude for each component in the square wave approximation, up to p = 19. The curve
gives the amplitude formula, 4 p , but it is only in effect for the odd integer p values.
78
Amplitude A(p) vs. Frequency Counter p for the Saw-Tooth Wave
Remember for the saw-tooth wave that only the sine terms were active, this time odds and evens for p.
The plot above shows the Fourier Series amplitude for each component in the saw-tooth wave
approximation, up to p = 10. The curve gives the amplitude formula, 2 p , but it is only in effect for the
integer p values. Note that the amplitudes A(p) above are shown to be positive only; in the saw-tooth
Fourier Series approximation, all the even terms are negative.
These two plots were generated using MATLAB files FourierSeries.m. and
FourierSeriesSaw.m, respectively.
The 3D plot below shows a diagram to better explain the relationships amongst amplitude, time,
and frequency in sinusoidal functions.
Amplitude A vs. time t vs. frequency  diagram
79
Fourier Series Forcing Function
The model for a standard m-c-k system with a general input periodic forcing function is:
mx(t )  cx (t )  kx (t )  f (t ) 

a0 
  a p cos p t   b p sin p t
2 p 1
p 1
Classically, this problem can be solved by utilizing linear superposition, i.e. solving this linear secondorder ODE separately for each of the three forcing terms above, and then adding the three solutions to
obtain the overall solution. In this section, instead, we will use MATLAB/Simulink to solve some
example numerical problems with periodic forcing functions.
Example 1
Solve the following ODEs given that u(t) is a periodic square pulse wave of time period 4 sec,
with a value of 1 for half the cycle and a value of zero for the second half of the cycle (see the yellow
curve below).
b. x(t)  x(t)  u(t)
a. x(t)  5x(t)  5u(t)
As presented earlier, to communicate a system to MATLAB’s Simulink, we must use state space
matrices. For a first order system, all state-space matrices are scalars:
a.  A   5
 B  5
C  1
 D  0
b.  A   1
 B  1
C  1
 D  0
The Simulink model SquareInput.mdl to simulate the time responses of these two systems
to the given square wave pulse is shown below. The Simulink time response plots are shown next.
Simulink model for first-order systems square pulse time responses
80
Input Square Wave
First-order Response a. First-order Response b.
For case a. the time constant is  = 0.2 sec and we see the square wave pulse response does have
time to reach its steady-state value of 1 before the pulse magnitude switches. For case b. the time
constant is  = 1 sec and we see the square wave pulse response does not have sufficient time to reach its
steady-state value of 1 before the pulse magnitude switches.
Example 2
Re-solve the case a. ODE from Example 1, given that u(t) is a periodic triangular saw wave of
time period 4 sec, with a value of u(t) = t for the cycle and a discontinuity leading to the next cycle (see
the yellow curve below).
The Simulink model SawInput.mdl to simulate the time responses of this first-order system
a. to the given saw-tooth wave is shown below. The Simulink time response plots are shown next.
Simulink model for first-order system saw-tooth wave time response
81
Input Saw Wave
First-order Response a.
We see that now case a. cannot keep up with the input triangular wave. There is time lag in the response
and the magnitudes do not reach the desired values either at the maximum or minimum saw-tooth
points.
6.2.3.2 Non-periodic Forcing Functions
Non-periodic (aperiodic) input forcing function inputs can readily be handled in
MATLAB/Simulink simulation and hence are not covered here. Standard aperiodic input functions such
as the unit impulse (Dirac delta), unit step, and unit ramp inputs are a major focus of the Controls we
presented in the first part of this semester.
82
7. Hardware Control in the Ohio University Robotics Lab
7.1 Quanser/Simulink Controller Architecture
Quanser/Simulink Controller Diagram
Quanser/Simulink Controller Hardware
External I/O Board
Power Supply
83
Controlled via Quanser/Simulink
Inverted Pendulum
84
Controlled via Quanser/Simulink (continued)
8-axis NASA ARMII (Advanced Research Manipulator II)
SPAM (SPherically-Actuated platform Manipulator)
85
Controlled via Quanser/Simulink (continued)
4-dof GPS/IMU Calibration Platform
3-dof Planar 3-RPR Parallel Robot
86
Controlled via Quanser/Simulink (continued)
6-dof Spatial 6-PSU Platform
RoboCup Player
Cable-Suspended Haptic Interface
87
Controlled via Quanser/Simulink (concluded)
7-Cable Robot with Amplifiers
Quanser/Simulink Split Diagram
Here the Simulink closed-loop feedback diagram for the 7-cable robot appears to be open (split)
and incomplete; the plant is missing. However, the real-world machine under control serves as the plant
and no model of this plant is required since the real-world behaves as it will, much better than any model
we can construct. So the gap (split) in this diagram is where the real-world plant is (motors outputs to
and sensors readings (stringpots in this example) from the real-world).
The seventh motor is controlled in a different way for tensioning the cables and entire endeffector.
88
7.2 Programmable Logic Controller (PLC) Architecture
PLC Controller Diagrams
Desired Position
+
Error
Robot
Controller Chassis
Software Routine
PLC Analog
Output Module
P
DC Motor
Axis 1
PWM
Servo Amp.
-
PLC Analog
Input Module
20-80 cm Calibration
Function
Actual Position
1-10 VDC
IR Sensor
Closed-Loop Position Control of Axis 1
L1
L2
GND
115 VAC
On
Off
E-Stop
Fuse
MCR1
MCR1
MCR2
Suppresser
Suppresser
Fuse
PLC
MCR1
PWM
Servo Amp.
Axis 1-5
+ 24 VDC
MCR2
Fuse
DC Power Supply
Unregulated
+
40VDC
-
DC Power Supply
Regulated
Outputs To
Sensors
Switches and
Indicators
Outputs To
Digital
Encoders
+5 VDC
MCR2
COM
Schematic of Controller Layout and Power Distribution
89
PC Programming Terminal
Power Supply
+
24 VDC
5 VDC
+
Serial Port
Interface
PLC
PLC
Power
Supply
0
1
2
3
4
5
6
Space
For
Expansion
(Slot) Module Type
(0) Processor
(1) Servo Card Axis 2 & 3
(2) Servo Card Axis 4 & 5
(3) Analog Output
(4) Analog Input
(5) Digital Output
(6) Digital Input
Limit &
Control
Switches
LED
Indicators
Ultrasonic
Sensors
(0-10 V)
(1-10 V)
IR
Sensor
(+/- 10 VDC)
PWM
Servo
Amp.
DC Motor
PWM
Servo
Amp.
DC Motor
& Encoder
Axis 2
Axis 1
(+/- 10 VDC)
Encoder Feedback
(+/- 10 VDC)
PWM
Servo
Amp.
DC Motor
& Encoder
Axis 5
Encoder Feedback
PLC Control System Hardware: Ladder Logic
-
+
-
90
Controlled via PLC
Stewart-Glapat Pallet Handling Device (PHD)
PLC Cabinet
PLC Interface
Download