Experiment No.
03
STABILITY AND STEADY-STATE ERROR ANALYSIS AND DESIGN OF SYSTEMS
1. Objective(s):
This activity aims to
1. demonstrate the use of computer aided tools in analyzing the stability and steady-state error of
linear systems; and
2. equip the students with the skills and knowledge in designing systems with the aid of tools to
achieve transient response and steady-state error requirements of systems while ensuring stability.
2. Intended Learning Outcomes (ILOs):
At the end of this activity, the students shall be able to
1. analyze the stability and steady-state error of dynamic systems described by transfer functions;
2. design component values of systems to meet steady-state error requirements while ensuring
stability.
3. Discussion
Stability is the most important requirement of any control system. If the system is unstable, it cannot be
designed for transient response and steady-state error. It also poses threat to life and property, as
instability can mean a motor that has uncontrollable speed, or too much heat produced by a heater. In the
discussion, two definitions of stability are offered:
A system is stable if the natural response approaches zero as time approaches infinity.
A system is stable if every bounded input yields a bounded output (the bounded-input bounded-
output or BIBO requirement).
It was also discussed that stability is also related to the location of the closed-loop poles. In the discussion,
the following were concluded:
A system is stable if all of its closed-loop poles are in the left-half of the complex s-plane.
A system is marginally stable if it has poles of multiplicity one at the jω -axis.
A system is unstable if it has at least one pole on the right-half of the complex s-plane or has
multiple poles on a single location at the jω-axis.
To find how the poles are distributed on the complex s-plane, the Routh-Hurwitz criterion is being used,
although tools such as MATLAB and LabVIEW can compute the exact location of closed-loop poles of a
higher-ordered system.
Steady-state error is the difference of the actual output to the desired output of the system. It can be
evaluated using the closed-loop transfer function or an equivalent unity feedback system. In the discussion,
the latter approach was preferred, since it also provides perspective on the static error constants which
relates to the error of the system.
In this activity, the analysis and design of systems related to stability and steady-state error using MATLAB
and LabVIEW will be explored.
4. Resources:
To perform this activity, a computer workstation with MATLAB R2012a or higher and LabVIEW 8.6 or
higher installed is required. For MATLAB, the control systems toolbox is required and for LabVIEW, the
control design and simulation module.
5. Procedure:
Activity 3.1 – Stability via pole location
1. Use the Routh-Hurwitz criterion to determine the pole location distribution of the system whose
configuration is shown below. Complete the table.
Closed-loop pole distribution
System (via Routh-Hurwitz criterion)
Left-half plane Right-half plane jω-axis
Q1.1(a) What can be said about the stability of the system?
2. MATLAB. The pole-zero map of the closed-loop transfer function can be plotted and from there, the
number of poles on the left-half, right-half and the jω-axis of the complex s-plane. The command
roots()computes the roots of a polynomial whose coefficients are written as a row matrix. If the
polynomial has the form
P ( s )=a n sn + an−1 sn−1 +⋯ +a1 s +a0
then the command is entered in the following manner
>> roots([an an-1 ... a1 a0])
Q1.2(a) Using MATLAB, complete the table below. Sketch the pole-zero plot of the closed-loop transfer
function. Indicate the number of poles, as well as the exact location of the poles under each region of the s-
plane.
Q1.2(b) Does the results returned by MATLAB agree with the results generated by the Routh table. Is the
conclusion about the stability of system the same when the results generated by MATLAB were
interpreted?
3. LabVIEW. Build the act03-01.vi VI as shown below. The VI analyzes the stability of the system whose
configuration is shown in the front panel.
Q1.3(a) Using the VI, complete the table below. Sketch the pole-zero plot of the closed-loop transfer
function. Indicate the number of closed-loop poles, as well as the exact location of these poles under each
region of the s-plane.
Q1.3(b) Will you reach the same conclusions about the stability of the system when the LabVIEW virtual
instrument is used?
Q1.3(c) Use MATLAB and LabVIEW to complete the table below. Indicate the number of closed-loop poles,
as well as their exact location under each region of the complex s-plane. Under “Remarks”, tell whether the
system is stable, unstable or marginally stable. On separate sheets of paper, sketch the closed-loop pole-
zero map of each of the systems. Verify the results using Routh table.
Activity 3.2 – Analysis of steady-state error.
1. The steady-state error will be evaluated using the configuration below. Refer to the lecture on the
formulas to be used in evaluating the static error constants and the error for step, ramp and parabolic
test inputs.
Remember that the system must be tested first for stability before analyzing it for transient response or
steady-state error. Thus, the techniques learned in Activity 3.1 can be applied first before proceeding.
2. MATLAB. To use MATLAB, the object representing G ( s ) must be converted first to a symbolic object. If
G contains the transfer function object, use the following commands to convert G into a symbolic object
Gsym.
>> [num den] = tfdata(G);
>> syms s
>> Gsym = poly2sym(cell2mat(num),s)/poly2sym(cell2mat(den),s)
Gsym is now a symbolic math object. The function limit()can now be used to evaluate the static
error constants, which will be then used to evaluate the error for various test inputs. As an example, if
Gsym is the symbolic object representing the open-loop transfer function of the unity feedback system
as shown in step one of this sub-activity, then the static error constant K p and the error due to the step
input e step ( ∞ ) are evaluated as
>> Kp = limit(Gsym,0)
>> estep = 1/(1+Kp)
Q2.1(a) What does the following functions in MATLAB do: tfdata(), syms, poly2sym(),
cell2mat(). Discuss the syntax and the required arguments of each function.
Q2.2(b) Use MATLAB to evaluate the static error constants and steady-state errors of the systems shown
below. Complete the table. Verify the values obtained using manual calculations. For the last system,
assume that the input and output are the same quantity.
3. LabVIEW. Build the act03-02.vi as shown below. The Array of Polynomial Coefficients to Formula
String.vi can be obtained from your instructor or from this link: https://decibel.ni.com/content/docs/DOC-
22590 if you have an available internet connection.
Q2.3(a) Use the VI above to evaluate the static error constants and steady-state errors of the systems
shown below. Complete the table. For the last system, assume that the input and output are the same
quantity.
Course: Experiment No.:
Group No.: Section:
Group Members: Date Performed:
Date Submitted:
Instructor:
6. Data and Results:
Q1.1(a) What can be said about the stability of the system?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
Q1.2(a) Using MATLAB, complete the table below. Sketch the pole-zero plot of the closed-loop transfer
function. Indicate the number of poles, as well as the exact location of the poles under each region of the s-
plane.
Closed-loop pole distribution
System (via MATLAB)
Left-half plane Right-half plane jω-axis
Pole-zero Map
Q1.2(b) Does the results returned by MATLAB agree with the results generated by the Routh table. Is the
conclusion about the stability of system the same when the results generated by MATLAB were
interpreted?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
Q1.3(a) Using the VI, complete the table below. Sketch the pole-zero plot of the closed-loop transfer
function. Indicate the number of closed-loop poles, as well as the exact location of these poles under each
region of the s-plane.
Closed-loop pole distribution
System (via LabVIEW)
Left-half plane Right-half plane jω-axis
Pole-zero Map
Q1.3(b) Will you reach the same conclusions about the stability of the system when the LabVIEW virtual
instrument is used?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
Q1.3(c) Use MATLAB and LabVIEW to complete the table below. Indicate the number of closed-loop poles,
as well as their exact location under each region of the complex s-plane. Under “Remarks”, tell whether the
system is stable, unstable or marginally stable. On separate sheets of paper, sketch the closed-loop pole-
zero map of each of the systems. Verify the results using Routh table.
Closed-loop pole distribution
System and location Remarks
LHP RHP jω-axis
34
T ( s) =
s +10 s + 35 s 2+50 s+34
4 3
with
Q2.1(a) What does the following functions in MATLAB do: tfdata(), syms, poly2sym(),
cell2mat(). Discuss the syntax and the required arguments of each function.
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
Q2.2(b) Use MATLAB to evaluate the static error constants and steady-state errors of the systems shown
below. Complete the table. Verify the values obtained using manual calculations. For the last system,
assume that the input and output are the same quantity.
Static error constants Steady-state errors
System (check if stable) Kp Kv Ka e step (∞ ) e ramp ( ∞) e para ( ∞)
Q2.3(a) Use the VI above to evaluate the static error constants and steady-state errors of the systems
shown below. Complete the table. For the last system, assume that the input and output are the same
quantity.
Static error constants Steady-state errors
System (check if stable) Kp Kv Ka e step (∞ ) e ramp ( ∞) e para ( ∞)
7. Conclusion:
8. Assessment:
1. For the system shown below, do the following:
(a) At K=10, is the system stable? Find the system type, the static error constant and the error of the
system at this gain, then plot and determine the time response parameters if possible.
(b) Repeat part (a) at K=106.
(c) Plot the value of the static error constant and the steady-state error as a function of the gain K for
the range at which the system is stable. What conclusions can be drawn from the plot?
2. The open-loop transfer function of a swivel controller and plant for an industrial robot is given as
ω (s ) K
G e ( s )= o =
V i ( s ) ( s+10 ) ( s2 + 4 s+10 )
where ω o ( s ) is the Laplace transform of the robot’s angular swivel velocity and V i ( s ) is the input
voltage to the controller. Assume G e ( s ) is the forward transfer function of a velocity control loop with an
input transducer and a sensor, each represented by a constant gain of 3 (Schneider, 1992), do the
following:
(a) Plot the value of the error of the system as a function of the gain K at the range of K for which the
system is stable.
(b) Design the value of the gain K to minimize the steady-state error between the input commanded
angular swivel velocity and the output actual angular swivel velocity. Show that the system is still
stable at the design point.
(c) For the chosen value of the gain at part (b), determine the system type, steady-state error and the
transient response of the system.
Assessment rubric for the activity’s intended learning outcomes
INTENDED
LEARNING 1 2 3 Points
OUTCOMES
The student was able
Analyze the stability to analyze the stability
The student was not The student was able
and steady-state error of the system but not
able to analyze the to analyze the stability
of dynamic systems the steady-state error,
stability and steady- and steady-state error
described by transfer or was able to obtain
state error of the of the system
functions. the steady-state error
system. properly.
(MP 1) but did not check for
stability.
The student was able
The student was able
Design component to correctly design
to design component
values of systems to component values of
The student was not values but does not
meet steady-state the system that meets
able to design the fully meet the steady-
error requirements stability and steady-
component values of state error
while ensuring state error
the systems. requirements or that
stability. requirements and the
the design was not
(MP 2) design is correctly
verified.
verified.
Total Score
Mean Score = (Total Score /2)
Percentage Score = (Total Score / 6) x 100%
Assessment rubric for the conduct of laboratory experiments
Performance Indicators 1 2 3 Points
Members follow good Members follow good
Members do not follow
Conduct experiments in and safe laboratory and safe laboratory
good and safe
accordance with good and safe practice most of the time practice at all times in
laboratory practice in the
laboratory practice. in the conduct of the conduct of
conduct of experiments.
experiments. experiments.
Members are able to
Members are able to
Members are unable to operate the equipment
Operate equipment and operate equipment and
operate the equipment and instruments with
instruments with ease instrument with
and instruments. ease and with minimum
supervision.
supervision.
The group has complete
Analyze data, validate
data, validates
experimental values against The group has complete
The group has experimental values
theoretical values to determine data but has no analysis
incomplete data. against theoretical
possible experimental errors, and valid conclusion.
values, and provides
and provide valid conclusions.
valid conclusion.
Total Score
Performance Indicators 1 2 3 Points
Mean Score = (Total Score /3)
Percentage Score = (Total Score / 9) x 100%