Computer Aided Nonlinear Control
Computer Aided Nonlinear Control
Amir Nassirharand
Computer-aided Nonlinear
Control System Design
Using Describing Function Models
123
Amir Nassirharand
Faculty of Engineering
The University of Nottingham
Malaysia Campus
Jalan Broga
43500 Semenyih
Malaysia
vii
viii Preface
®
Many key MATLAB functions are developed and presented to allow easy design
®
of nonlinear feedback systems. The algorithms and the corresponding MATLAB
functions are demonstrated by solving example problems of the sort encountered in
mechatronics and aerospace. A versatile controller design software based on the
®
presented describing function design platform (using MATLAB Graphics User
Interface (GUI)) is under development which will be commercially available by
early 2013.
ix
x Acknowledgments
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 1
1.1 What’s New? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 1
1.2 Design Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 1
1.3 Objectives .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 3
1.4 Software.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 4
1.5 Organization of the Monograph . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 4
2 Frequency Domain Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 5
2.1 Early Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 5
2.1.1 Example: Limiter . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 6
2.2 Modern Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 9
2.2.1 Single-Input Single-Output Case . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 9
2.2.2 Multi-input Multi-output Case . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 13
3 Single-Range Controller Design . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 23
3.1 Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 23
3.2 Example – Single-Variable Case: A Decoupled Liquid
Propellant Engine.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 25
3.3 Example – Multivariable Case: Idle Speed Control Problem . . . . . . . . 34
4 Dual-Range Controller Design . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 43
4.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 43
4.2 Controller Synthesis .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 44
4.3 Software.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 46
4.4 Example 1: A Single-Variable Servo System . . . . .. . . . . . . . . . . . . . . . . . . . 46
4.5 Example 2: Multivariable Bank Angle Control Problem .. . . . . . . . . . . . 48
5 Multirange Nonlinear Controller Design . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 57
5.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 57
5.2 Controller Synthesis .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 57
5.2.1 Describing Function Inversion (Nassirharand 2009a)* .. . . . . 60
5.3 Software.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 66
5.3.1 Software for Step 5 . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 66
xi
xii Contents
Index . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 179
Chapter 1
Introduction
x.t/
P D f .x; u; t / (1.1)
Describing functions are used for frequency domain modeling. Then, depending
on the number of frequency domain models to be considered, a linear controller or
a nonlinear controller design approach is outlined. In summary, the design platform
considers three different cases: (1) single-range linear controller design (SRLCD),
(2) dual-range linear controller design (DRLCD), and (3) multi-range nonlinear
controller design (MRNCD).
When a designer starts designing a controller for a nonlinear system, he or she
is not sure if a linear controller would suffice or a nonlinear controller should be
designed. For this reason, it is recommended that designer should consider SRLCD,
DRLCD, and MRNCD in that order. In other words, at first SRLCD is tried; if
satisfactory results are not obtained, DRLCD should be executed. If DRLCD fails,
MRNCD is tried.
With reference to items noted below (Taylor 1983; Taylor and Strobel 1985;
Taylor and O’Donnell 1990; Nassirharand and Karimi 2006; Teh and Nassirharand
2010a), the following fact may be concluded. Sinusoidal-input describing function
(SIDF) models are the best of the kind of models that characterize the input-output
behavior of a nonlinear plant.
• Small-signal models, in contrast to the nonlinear plant, do not depend on
amplitude level of the excitation signal.
• Random input or other types of describing function models are not able to
characterize the dependency of the nonlinear plant on various frequencies of
interest.
• Design based on one or more SIDF models, which covers the range of excitation
amplitude levels, provides a solid basis for a robust design. This is because the
sensitivity of the plant behavior to the amplitude level of the excitation signal is
an important consideration in design of robust nonlinear feedback systems. The
input-output SIDF models, without sacrificing the performance of the feedback
system, may be utilized to assure robust system stability.
1.3 Objectives 3
1.3 Objectives
Limited efforts in the past have been undertaken to provide a versatile CACSD
setting for nonlinear control system design. This is primarily due to the fact that
a large body of nonlinear control literature considers special classes of nonlinear
systems. For example, geometric approaches assume Jacobian information is
available (Hunt et al. 1987). A good part of sliding mode control literature considers
nonlinear feedback systems that must be in companion form (Utkin et al. 1999).
Quantitative feedback theory (QFT) considers a similar class of nonlinear systems
to that considered in this monograph; however, its original formulation results in
high-order linear controllers (Horowitz 1976). Nonlinear controller design using
QFT approach is still developing.
The main objective of this monograph is to enable control engineering students
and/or practicing engineers to design robust nonlinear feedback systems using
a newly developed CACSD platform. Considering the fact that commercially
® ®
available control engineering software utilities such as MATLAB and MATRIXx
have advanced control engineering education and practice, it is safe to assume
control engineers feel comfortable solving problems using a personal computer.
Another goal of the monograph is to generate interest in advancing the presented
concepts to enable design of controllers for a larger class of systems. For example,
consideration of higher harmonic effects is a good future work.
4 1 Introduction
1.4 Software
The required software for design of robust nonlinear feedback systems (in form of a
MATLAB® Graphics User Interface) is under development. However, the available
software that is used to solve the example problems is outlined throughout the
monograph. The listings for some of the developed functions are also given.
third assumption, assume a sinusoidal input. Then, approximate the output signal,
y.t/, by Fourier series.
1
a0 X
y.t/ D C Œan cos .n!t/ C bn sin .n!t/; (2.2)
2 nD1
where
Z
1
an D y.t/ cos .n!t / d .!t/; (2.3)
Z
1
bn D y.t/ sin .n!t / d .!t/: (2.4)
With reference to the fourth and fifth Assumptions, Eq. 2.2 becomes
By definition, the SIDF model of a nonlinear process is the ratio of the funda-
mental component of the nonlinear process output by that of the input sinusoid.
b1 sin .!t/ b1
N.A/ D D : (2.6)
A sin .!t / A
Therefore, with the basic SIDF assumptions, the SIDF model for static operations
is not a function of frequency.
Consider the limiter nonlinearity shown in Fig. 2.1. The nonlinear element has two
regions. In order to find the describing function model of this nonlinearity, first
assume a sinusoidal input of the form u.t/ D A sin .!t/. Then, evaluate Fourier
integrals. Since the nonlinearity is odd, it is concluded that a0 D 0; a1 D 0.
where
Z
1
b1 D y.t/ sin .!t / d .!t /: (2.8)
2.1 Early Formulation 7
Asin w t u y(t)
d
For A ı;
Z
mA
b1 D mA sin .!t/ sin .!t/ d .!t/ D mA: (2.10)
Z Z2
1 1
b1 D y.t/ sin .!t/ d .!t/ D y.t/ sin .!t/ d .!t /
0
Z!t1 Z=2
4 4
D mAsin .!t / d .!t / C
2
mı sin .!t / d .!t/
0 !t1
8 2 Frequency Domain Modeling
Z!t1
4mA 1 4mı =2
D Œ1 cos .2!t/ d .!t/ cos .!t/ j!t1
2
0
The corresponding describing function plot is shown in Fig. 2.2. In this figure,
the axis labeled by “normalized amplitude” corresponds to A=ı, and the axis labeled
by “normalized gain” corresponds to N.A/=m (Gelb and Vander Velde 1968).
Now, let us interpret the results. The saturation element has a constant gain over
the linear region. This is shown by a horizontal line segment on the describing
function graph (Fig. 2.2). However, inside the saturation nonlinearity, gain decreases
as the amplitude of the excitation increases. Note that since gain multiplied by
input must equal a constant, gain must decrease as the amplitude of the excitation
increases. This behavior is shown in Fig. 2.2 by the curved region.
2.2 Modern Formulation 9
With the modern formulation (Taylor 1983; Taylor and Strobel 1985; Nassirharand
1987), the restrictions of the earlier formulation would be lifted. Also, the usual
SIDF modeling limitations (such as the requirement that the input to each nonlin-
earity must be sinusoidal) do not exist with the modern formulation. The approach
is based on simulation and evaluation of Fourier integrals. In majority of cases, the
mathematical model of a system would be required before the task of controller
design could begin. Even in those cases that a mathematical model is not required
for controller design purposes, a mathematical model would be required to verify
or validate design. However, with the presented design platform, if a mathematical
model is not available, then experimental results may be used (Li and Nassirharand
2010).
In reality, the implemented mathematical models of real-life systems are hardly
represented in an academic form. For example, the model would have if : : : then
: : : type statements that do not usually fall into an academic class. In other words,
most practical models are in terms of a computer code or a simulation model. In
general, most of the models may be represented in the general framework given by
Eqs. 1.1 and 1.2.
The computer models comprised of 5,000 lines of code are not unusual (Karimi
et al. 2003). Once the computer model is developed, one faces a question. This
question is how would one put this model in a form that available elegant controller
design techniques would apply? The first easy way out is to obtain a small-signal
model for the developed nonlinear model. In many cases, a linear model of a real-
life system does not exist (e.g., see the robotic system studied in Sect. 2.2.1.2
(Nassirharand 1987)). This is primarily because real systems include multivalued
and/or discontinuous nonlinearities whose derivatives do not exist; hence, a linear
model (by replacing each nonlinear term with a term whose gain is the slope of the
nonlinearity at the operating point) would not be obtainable.
One successful approach to put the complicated mathematical models (or
nonlinear models whose small-signal models do not exist) in a form suitable for
controller design purposes has been the describing function approach. The problem
statement follows. Given the state variable model of a nonlinear system (see Eqs.
1.1 and 1.2), how would one characterize the input/output behavior of that system
in the frequency domain?
where u is the input to the plant, u0 is the DC value of the input, a is the amplitude
of the excitation, and ! is the frequency of excitation. The equations of motion are
numerically integrated to obtain the output, y.t/. Once the output reaches steady
state, the Fourier integrals for period k are evaluated; these integrals are of the
following form:
ZkT
Im;k D y.t/e j m!t dt; (2.16)
.k1/T
The Fourier integrals are assumed to have converged if the error in magnitude
and phase of the computed pseudo frequency response in two consecutive cycles
are small. The first harmonic SIDF models are given by G1;k . The flow chart for this
procedure is depicted in Fig. 2.3 (Nassirharand 1987).
2.2.1.1 Software
® ®
A MATLAB function is available whose primary inputs are (1) the SIMULINK
file name corresponding to the model of the nonlinear plant, (2) an array of
excitation amplitudes, and (3) an array of excitation frequencies. The primary
outputs are the real and imaginary parts of the describing function models as a
function of excitation amplitudes and frequencies. This software is based on an
earlier work of Nassirharand in 1987.
Consider the servo system shown in Fig. 2.4, which was originally considered by
Taylor and Strobel 1985 and later by Nassirharand et al. 1988. The mathematical
model of the nonlinear plant is given by Eqs. 2.18–2.21.
xP 1 D x2 (2.18)
xP 2 D Tm =J (2.19)
2.2 Modern Formulation 11
K=K+1
(K = Period Index)
8
< Te fv xP 1 fc Sign .xP 1 / if jTe j > fc
Tm D Te fv xP 1 fc Sign .xP 1 / if xP 1 ¤ 0 (2.20)
:
0:0 if jTe j < fc and xP 1 D 0
m1 Vin if jVin j ı
Te D (2.21)
Sign.Vin /: .m1 ı C m2 .jVin j ı// if jVin j > ı;
FOURIER N
INTEGRALS B
CONVERGED?
D C
END
The computer model (Taylor and Strobel 1985) of this process in terms of a
®
FORTRAN subroutine is given by Nassirharand 1987. By executing the MATLAB
function described in the previous section, the generated describing function models
are obtained, and they are depicted in Figs. 2.5 and 2.6. The corresponding three-
dimensional plots are given by Figs. 2.7 and 2.8.
From examination of Figs. 2.7 and 2.8, it is apparent that the gain and phase
surfaces as a function of amplitude are not flat; hence, the system is not linear.
2.2 Modern Formulation 13
Vin Te
Saturation Stiction
Tm
x1 (t)
Nonlinear Plant Load 1/s
Fig. 2.5 The pseudo Bode gain plot (a is the amplitude of excitation)
Fig. 2.6 The pseudo Bode phase plot (a is the amplitude of excitation)
There are two important key points that must be kept in mind when characterizing
the input/output behavior of a multivariable nonlinear process. The first one is that
principle of superposition does not hold here; therefore, one is not able to determine
the effects of each input on the corresponding outputs and then sum the effects.
14 2 Frequency Domain Modeling
Hence, all input channels must all be simultaneously activated. The second key point
is that excitation frequencies of inputs could not be the same because the separate
effects of each input on each output would be indeterminate.
The characterization approach proceeds in the following fashion. The nonlinear
multivariable system given by Eqs. 1.1 and 1.2 is excited by input signals of the
following general form:
2.2 Modern Formulation 15
up .t/ D u0;p C ap cos !p t C p ; p D 1; 2; :::m; (2.22)
ZkT
h;k
Iq;p D yq .t/ exp j h !p t C p dt; (2.23)
.k1/T
where h denotes the harmonic index, k denotes the period index of the Fourier
integral, q is the output channel index, and T is the overall period of the input
1;k
vector. Finally, the pseudo frequency response estimate, denoted by matrix Gq;p is
calculated as follows:
2 1;k
1;k
Gq;p j !q I u0 ; a; D I : (2.24)
ap T q;p
k k k
where Mq;p and q;p represent the log magnitude and phase of Gq;p .j!I u0 ; a; /.
2.2.2.1 Software
®
A MATLAB function similar to the single-variable case is available whose primary
®
inputs are (1) the SIMULINK file name corresponding to the model of the
multivariable nonlinear plant, (2) a matrix of excitation amplitudes, and (3) a matrix
of excitation frequencies. The primary outputs are the matrices of real and imaginary
parts of the describing function models as a function of excitation amplitudes and
®
frequencies. At the nucleus of this software is a MATLAB function that generates
the matrix pseudo frequency response data for one amplitude and one frequency.
This function is given in Fig. 2.9 (Nassirharand and Karimi 2002).
16 2 Frequency Domain Modeling
Fig. 2.9 Listing for the multivariable sinusoidal input describing function generator. Source:
(Nassirharand and Karimi 2002) © Elsevier
2.2 Modern Formulation 17
An idle speed control model used by Bengea et al. 2004 is utilized to demonstrate the
idle speed controller design procedure and the typical results that may be achieved.
This model is given below:
dPm .t/ v Vd
C N.t/Pm .t/ D K10 ˛.t/; (2.27)
dt 4Vm
20 2 Frequency Domain Modeling
Fig. 2.10 Describing function model for the automobile engine – matrix gain plot. Source:
(Teh and Nassirharand 2010a) © Sage
dN.t/
J C N.t/ D k Pm .t / C kı ı.t/ C f .t/; (2.28)
dt
Fig. 2.11 Describing function model for the automobile engine – matrix phase plot. Source:
(Teh and Nassirharand 2010a) © Sage
19; 32; 55; 94; 150rad =s , !2 D Œ0:2; 0:3; 0:4; 0:6; 0:9; 2; 3; 5; 8; 12; 20; 33; 56; 95;
151rad =s , and 1 D 2 D 0 deg are generated. Generally speaking, the user
should avoid frequencies that are simple multiples of one another (e.g., one is
twice as much as the other); however, our experience with various problems in
aerospace, Mechatronics, and automotive has revealed that in those specific cases
no major flaws in the Fourier analysis were present when isolated simple multiples
of frequencies were used. In continuation, the Fourier integrals are evaluated when
the outputs reach steady state; then, the SIDF model of the I.C. engine is generated.
This quasi-linear model along with system identification results is depicted in
Figs. 2.10 and 2.11 (Teh and Nassirharand 2010a). In these figures, the small circles
correspond to SIDF models, and the solid lines correspond to the linear fits obtained
®
using invfreqs function of MATLAB .
Chapter 3
Single-Range Controller Design
3.1 Procedure
state values of the position of the regulator valve control piston by simulation and
by noting those values of the position of the regulator valve control piston that
result in the desired values of the combustion chamber pressure. The expected
frequencies of excitation are usually determined from the knowledge of the natural
frequency of the system. As a rule of thumb, the lower range would be about
two decades below the natural frequency of the system, and the upper frequency
range would be about one decade above the natural frequency of the system.
Alternatively, the user may initially set the lower and upper frequency ranges to
0.1 rad=s and 50 rad=s, respectively. Then, the pseudofrequency response plots are
generated. If the low-frequency response portion is not characterized, then the lower
frequency range may be lowered by one decade and so on until the low-frequency
response portion is characterized. The upper frequency range is also increased if
the high-frequency gain of the pseudofrequency response is substantial. Then the
Fourier-based approach described in the previous chapter would be used to obtain
the describing function models.
Algorithm 3.1
1. Identify the desired reference linear model.
2. Obtain the describing function models of the plant, and select a nominal
model.
3. Identify a linear model of the nominal frequency domain model of the
previous step (optional).
4. Design a controller based on any available linear control theory.
5. Verify design, and use optimization to tune the controller gains as neces-
sary.
6. If the results are satisfactory, then stop; otherwise consider designing a
dual-range linear controller.
In step 3, once the describing function models are obtained, one of these models
is selected as the nominal model. Normally, the nominal model would be the case in
which the excitation signal would correspond to the normal operating conditions of
the plant in the absence of disturbances, in the absence of loss of sensory devices,
or in the absence of any perturbations of the plant. Note that assumption is that one
describing function model of the system adequately describes the dynamic behavior
of the system; otherwise, a dual-range or a multi-range controller design approach
may have to be employed (see Chaps. 4 and 5). In any case, it is recommended
to study the effectiveness of a single-range controller before a more complicated
controller design procedure such as a dual-range or a multi-range nonlinear control
approach is adopted. In applications that nonlinearity effects are not dominant, the
spread in describing function models would not be significant, and therefore, a
single-range linear controller would suffice.
Step 4 requires identification of a linear model whose frequency response data
matches that of the nominal describing function model of the previous step. Since
3.2 Example – Single-Variable Case: A Decoupled Liquid Propellant Engine 25
the describing function models are representation of nonlinear systems, the standard
relation between the two components of the frequency response data that exists for
linear systems does not hold for describing function models. Therefore, care must
be taken when fitting the pseudofrequency response data. The outcome of this step
is a linear model described in terms of a transfer function.
Step 5 is to use the linear model of the previous step, and to interface with any
one of the available linear controller design techniques to design a linear controller.
For example, one may use factorization theory coupled with analytical optimization,
and obtain a controller design equation of the following form (see Appendix B for
details):
A0 X D B (3.1)
where A0 and B are known, and they are in terms of coefficients of coprime factors
of the linear model of the previous step, the coefficients of coprime factors that are
solution to the Bezout identity, the coefficients of the desired linear model of step 1,
and frequency range of interest; vector X contains the coefficients of the function
parameter, r.s/, that must be substituted in the celebrated Youla parameterization
equation (see Eq. B.5) to obtain the desired controller (Youla et al. 1976).
Finally, in step 5, the design is verified; in some cases, the controller parameters
may have to be tuned. In such cases, one may use optimization for this purpose.
4
5 6
8 7
the circuit. Depending on the value of the angular speed of the turbine, controlled
amounts of fuel and oxidizer flow toward the combustion chamber.
The combustion chamber pressure control system is one of the most important
parts of a liquid propellant engine. A class of regulators, which is used to control
the combustion chamber pressure, is composed of complicated hydraulic control
3.2 Example – Single-Variable Case: A Decoupled Liquid Propellant Engine 27
valves. These control valves have many disadvantages (Nassirharand and Karimi
2004a). For example, development of nonlinear and dynamic mathematical model
of such control valves is very time consuming and difficult. When such models are
developed and incorporated with the rest of the engine model, the execution time
of the simulation code is considerably increased. Another disadvantage is that the
control valve may accept only one set point (the set point is the desired pressure
value of the combustion chamber that the control system must maintain).
Therefore, it is desirable to design an alternative pressure control system which
would involve microprocessor-based regulators. Such pressure regulators could
accept various set points by software. The advantages of regulators that could
accept various set points are (1) the final desired pressure value could be reached at
specified stages in order to reduce the effects of water-hammer as well as excessive
overshoot of the pressure inside the combustion chamber and (2) to reduce the
generated impulse after the engine shut down command is issued; again, in this case,
the combustion chamber pressure is reduced from its steady-state value to zero at
specified stages.
The design of the regulator control loop is fully based on dynamic and nonlinear
mathematical model of the engine (Karimi et al. 2003). In order to develop the
mathematical model of the engine, four groups of elements are identified. Those
element groups are (1) valve, (2) turbopump, (3) combustion chamber and gas
generator, and (4) connections (e.g., pipes). In this treatment, the mathematical
model of the engine is put into perspective by selecting one element from each
group, and the mathematical model of that element is developed.
Without loss of generality, an orifice model could be used for valves and
connection pipes. The fuel pump model follows, and the oxidizer pump equations
are similar:
P 5 D fu Q5
m (3.2)
5 H5 Q5
T Q5 D (3.3)
!5 5
H5 D a5 C b5 Q5 c5 Q52 =g (3.4)
a5 D A5 !52 (3.5)
!
H5;p
A5 D 0:97 C 0:8q5;p 2
(3.6)
!5;p
1
q5;p D (3.7)
2H5;p b5;2 tan.ˇ5;2 /
1C Q5;p !5;p K5;z 5;zp
b5 D B5 !5 (3.8)
28 3 Single-Range Controller Design
! 1
H5;p Q5;p
B5 D 0:325 0:8q5p 2
(3.9)
!5;p !5;p
c5 D C5 (3.10)
2
H5;p =!5;p
C5 D 0:296 2 ; (3.11)
Q5;p =!5;p
where
A5 D an intermediate variable for fuel pump head equation
a5 D coefficient of the fuel pump head equation
B5 D an intermediate variable for fuel pump head equation
b5 D a coefficient of the fuel pump head equation
b5;2 D the exit width of fuel pump impeller
C5 D an intermediate variable for fuel pump head equation
c5 D a coefficient of the fuel pump head equation
H5 D the fuel pump head
H5;p D the nominal fuel pump head
K5;z D the effect coefficient of fuel pump blade
mP 5 D the mass flow rate of fuel pump
Q5 D the volumetric flow rate of fuel pump
Q5;p D the nominal volumetric flow rate of fuel pump
q5;p D an intermediate parameter in terms of nominal values of fuel pump
T Q5 D the moment of fuel pump
ˇ5;2 D exit angle of fuel pump blade
5 D f u :g
5 D the efficiency of fuel pump
5;p D the nominal efficiency of fuel pump
5;zp D the hydraulic efficiency of fuel pump
!5 D the turbopump angular speed
!5;p D the nominal angular speed of turbopump
f u D the fuel density.
A simple combustion model is used as below:
dP1
˛ C ˇP1 D m
P 1;f u .t 1 / C m
P 1;ox .t 1 / ; (3.12)
dt
where
P 1;ox D the oxidizer mass flow rate
m
P1 D the combustion chamber pressure
˛; ˇ D functions of pressure and mixture ratio; for a given P1 and mixture ratio,
the values of ˛ and ˇ are computed off-line from energy equations, and
3.2 Example – Single-Variable Case: A Decoupled Liquid Propellant Engine 29
they are incorporated as tables of values into the computer model. Then,
as simulation time marches ahead, the needed mentioned values for a given
P1 and mixture ratio are obtained by linear interpolation.
1 D the combustion delay time.
In this part, a describing function approach coupled with factorization theory is
used for design of the combustion chamber pressure control system. The primary
reason for this selection is that engine model is of the form given by state variable
equations of the form given by Eqs. 1.1 and 1.2, and describing function approach
is inherently capable of handling such nonlinear models.
The problem statement for the pressure controller of the combustion chamber
can be stated as follows – given the computer model of a liquid propellant engine,
how does one design a controller that would control the pressure of the combustion
chamber?
Algorithm 3.1 is applied to this problem. The nonlinear and dynamic computer
model of the liquid propellant engine is utilized to design a controller for the
combustion chamber. The controller design procedure steps are executed as follows.
In step 1, the desired transfer function is identified in terms of a linear second-order
transfer function that exhibits the desired behavior. The identified transfer function
is of the following form:
100
y;u D
hD : (3.13)
s 2 C 36s C 100
In step 2, the describing function models are obtained as outlined in Chap. 2, and
these models are depicted in Fig. 3.2 (Nassirharand and Karimi 2004a). Notice that
spread in these models is not significant, and therefore, it may be concluded that
a single-range linear controller might suffice. The describing function model that
is close to the nominal operating conditions was selected for system identification
®
purposes of the next step. In step 3, the MATLAB function invfreqs is used to
identify a linear model. The identified linear model is of the following form:
138:52
G.s/ D : (3.14)
s 2 C 52:81s C 253:47
The quality of this fit is shown in Fig. 3.3 (Nassirharand and Karimi 2004a).
In step 4, Eq. B.26 is solved with
m D n D 3; !1 D 0:01; !2 D 5:
Fig. 3.2 SIDF models of the liquid propellant engine. Source: (Nassirharand and Karimi 2004a)
© Sharif University of Technology
−10
Gain, db
−20
−30
10−1 100 101 102
Frequency, Rad./Sec.
0
Phase, Degrees
−50
−100
−150
10−1 100 101 102
Frequency, Rad./Sec.
Fig. 3.3 Linear system identification. Source: (Nassirharand and Karimi 2004a) © Sharif Univer-
sity of Technology
3.2 Example – Single-Variable Case: A Decoupled Liquid Propellant Engine 31
0.4
0.2
-0.2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Time
Fig. 3.4 Design verification. Source: (Nassirharand and Karimi 2004a) © Sharif University of
Technology
The verification results are shown in Fig. 3.4 (Nassirharand and Karimi 2004a).
In the beginning, the pressure set point is set to one unit, and later this set point is
arbitrarily changed to 1.177 and 0.935 units in order to verify that regulator could
accept various set points. In Fig. 3.4, there are three curves: (1) the experimental
results of the engine with the present hydraulic regulator, (2) the simulation results
of the engine with the present regulator modeled as an orifice, and (3) the simulation
results of the engine with the new regulator. By comparison of these three curves,
the following important point may be noted. One of the problems associated with
the present pressure control system is that response overshoots. The curve corre-
sponding to the new regulator design with second set point demonstrates that initial
overshoot is not due to the regulator. In fact, the initial overshoot is due to the design
of the starter of the engine. With the new design, one may redesign the starter to
bring the combustion chamber pressure to a lower value, and then the new regulator
would be able to bring the pressure value to its desired value without any significant
amount of overshoot as is demonstrated in Fig. 3.4 (see the behavior corresponding
to the second set point command of the curve entitled “Simulation C New Regula-
tor”). The robustness test is performed by causing a 20% reduction in pumps’ heads;
the results are shown in Fig. 3.5 (Nassirharand and Karimi 2004a). From this figure
it is concluded that design is also robust because describing function models are one
of the most effective models to achieve a robust design.
For comparison purposes, in step 4 a H1 controller is designed (Nassirharand
and Mousavi Firdeh 2009a). The structure of the H1 control feedback system is
32 3 Single-Range Controller Design
Robustness Test
1.4
Simulation (New Regulator)
1.2 Simulation (Orifice Regulator)
1
Normalized Pressure
Experiment(Present Regulator)
0.6
0.4
0.2
−0.2
0 0.2 0.4 0.6 0.8 1
Normalized Time
Fig. 3.5 Response with pumps’ failures. Source: (Nassirharand and Karimi 2004a) © Sharif
University of Technology
Fig. 3.6 Structure of the H1 feedback system. Source: (Nassirharand and Mousavi Firdeh 2009a)
© Elsevier
shown in Fig. 3.6. In this figure, W s are the weights, Z1 is the weighted disturbance
output signal, Z2 is the weighted control signal, Z3 is the weighted error signal, U
is the control signal, and Y is the error signal. The following remarks are in order:
1. In order to achieve a bandwidth of 4 rad/s, a prefilter, Wprfltr D 4.sC250/
250.sC4/
,
is specified; the zero of the prefilter is specified to satisfy the required H1
constraints (Doyle et al. 1989).
3.2 Example – Single-Variable Case: A Decoupled Liquid Propellant Engine 33
Fig. 3.7 Controller frequency response comparison. Source: (Nassirharand and Mousavi Firdeh
2009a) © Elsevier
The performance of the H1 controller and that of the controller obtained using a
factorization approach with the nonlinear plant is compared in Figs. 3.7, 3.8, 3.9, and
3.10 (Nassirharand and Mousavi Firdeh 2009a). From these figures, the following
conclusions may be drawn:
1. The frequency response of the H1 controller (see Fig. 3.7) is more desirable
because it attenuates the high-frequency signals; therefore, it is capable of being
fairly insensitive to high-frequency noise in the system as demonstrated by
Fig. 3.8. It is apparent that control signal of the H1 controller is less noisy than
that of the factorization controller.
2. With reference to Fig. 3.9, the step response of the H1 controller is more
desirable because it does not overshoot. Pressure overshoot could be harmful
for the operation of the combustion chamber. Of course, the overshoot in the
34 3 Single-Range Controller Design
Fig. 3.8 Control signal comparison at the presence of measurement noise. Source: (Nassirharand
and Mousavi Firdeh 2009a) © Elsevier
Fig. 3.9 Normalized step response comparison. Source: (Nassirharand and Mousavi Firdeh
2009a) © Elsevier
Algorithm 3.1 is applied to the idle speed control of uncertain automobile engines
with time delay (Teh and Nassirharand 2010a). It is shown that results compete
with the observer-based design of Bengea et al. (2004). Stability is demonstrated by
successful generation of describing function models of the final nonlinear closed-
loop system.
3.3 Example – Multivariable Case: Idle Speed Control Problem 35
Fig. 3.10 Control signal comparison without measurement noise. Source: (Nassirharand and
Mousavi Firdeh 2009a) © Elsevier
systems considered herein as demonstrated by Eqs. 1.1 and 1.2. The effects of time
delay and distributive nature of the plant are captured in the output time domain
histories mentioned in step 2. Then these output time domain histories are trans-
formed to their frequency domain counterparts by evaluation of the Fourier integrals
as described earlier. Hence, the generated frequency domain model includes the
effects of time delay. This frequency domain model is the basis of controller design
in step 4. Finally, approximations made in obtaining the frequency domain model
(including those related to the time delay approximations) are compensated for by
tuning the gains of the elements of the matrix controller as described in step 5.
Finally, the performance of the final synthesized controller with the actual nonlinear
plant with the time delay is verified.
Algorithm 3.1 is executed as follows:
Step 1 – With reference to the work by Bengea et al. (2004), and the multivariable
design approach outlined in Appendix B, the desired transfer function is selected for
both main control loops:
225
hd .s/ D : (3.17*)
s 2 C 27s C 225
Step 2 – The SIDF models are generated as outlined in Chap. 2, and these results
along with linear system identification task of the following steps are shown in
Figs. 2.10 and 2.11.
®
Step 3 – MATLAB is used, and the following matrix transfer function is identified:
g11 .s/ g12 .s/
G.s/ D ; (3.18*)
g21 .s/ g22 .s/
where
23:6799s C 59:1867
g11 .s/ D (3.19*)
s 2 C 9:4742s C 19:3981
137:0035
g12 .s/ D (3.20*)
s 2 C 1:3259s C 9:0378
10:8771
g21 .s/ D (3.21*)
s 2 C 11:2327s C 34:1192
111:4211
g22 .s/ D : (3.22*)
s C 4:8593
Step 4 – From the application of linear lead-lag controller design approach outlined
in Appendix A (with !1 D 0:01 and !2 D 10), the following compensator is
designed:
Similarly, with hd .s/ as before, another compensator denoted c22 .s/ is designed:
13:64s C 59:886
c22 .s/ D : (3.24*)
6:52s 2 C 176:1s
Now, use Eq. B.2 and obtain the off diagonal terms of the 2 by 2 matrix
compensator transfer function, C.s/, as follows:
Step 5 – Design verification reveals that controller gains must be tuned. To tune the
gains, the following objective function is used:
The idea behind the selection and applicability of the above optimization criterion
is explained next. The first and the third terms of the objective function assure
tracking of the command signals of the two channels (speed and manifold pressure);
the second and fourth terms of the objective function assure decoupling of the speed
and manifold pressure axis. This objective function is also used in engine propulsion
control as demonstrated in Nassirharand and Karimi (2004b).
For this example, C.s/ is of the following form:
K1 c11 .s/ K2 c12 .s/
C.s/ D : (3.28*)
K3 c21 .s/ K4 c22 .s/
Fig. 3.11 Design comparison – speed axis. Source: (Teh and Nassirharand 2010a) © Sage
Fig. 3.12 Design comparison – pressure axis. Source: (Teh and Nassirharand 2010a) © Sage
The gains of the controller are tuned by minimizing objective function (3.27)
with N2 .t/ D Pm2 .t/ D 0. The optimum values of these gains follow:
Finally, the design is verified by a digital simulation of the linear controller and
the nonlinear plant; the results are compared with those obtained by the method of
Bengea et al. (2004), as shown in Figs. 3.11, 3.12, 3.13, and 3.14. It is apparent that
the classical design presented herein competes with the more complicated observer-
based approach. Furthermore, the design is also verified to be robust with respect
to engine parameter uncertainties and torque load disturbances. This is done by
simulating the linear controller and the nonlinear plant with a disturbance load
torque of 10 N m as well as nominal, upper limits, and lower limits of the engine
parameters. These results are shown in Figs. 3.15 and 3.16.
3.3 Example – Multivariable Case: Idle Speed Control Problem 39
Fig. 3.13 Design comparison of control signals – spark timing advance. Source: (Teh and
Nassirharand 2010a) © Sage
Fig. 3.14 Design comparison of control signals – idle bypass valve opening. Source: (Teh and
Nassirharand 2010a) © Sage
Fig. 3.15 Normalized speed as a function of time with disturbance in the presence of parametric
uncertainties. Source: (Teh and Nassirharand 2010a) © Sage
40 3 Single-Range Controller Design
Fig. 3.16 Normalized manifold pressure as a function of time with disturbance in the presence of
parametric uncertainties. Source: (Teh and Nassirharand 2010a) © Sage
Fig. 3.17 Stability test – gain matrix of the closed-loop system (A1 is speed and A2 is manifold
pressure). Source: (Teh and Nassirharand 2010a) © Sage
3.3 Example – Multivariable Case: Idle Speed Control Problem 41
Fig. 3.18 Stability test – phase matrix of the closed-loop system (A1 is speed and A2 is manifold
pressure). Source: (Teh and Nassirharand 2010a) © Sage
4.1 Background
In the early 1980s, the following question was considered. When is it really required
to design a nonlinear controller for a highly nonlinear system? The need for a
reply to this question received some attention (Taylor 1983). With the advancement
of numerous robust control techniques for linear and nonlinear systems, the
need to have a systematic procedure to answer the above question became even
more evident. Taylor (1983) introduced the idea for design of dual-range linear
controllers. In that work, he hypothesized that if one uses two quasi-linear models
for controller design purposes, then controllers with a higher performance than those
of their single-range counterparts may be designed. Consequently, it was suggested
that if a dual-range linear controller did not provide adequate level of robustness,
then a nonlinear controller design procedure should be considered. This hypothesis
was verified for highly nonlinear single-variable systems (Nassirharand et al. 1988;
Nassirharand 1991).
The original proposed approach for design of dual-range linear controllers for
nonlinear systems called for application of the simultaneous stabilization theory of
Vidyasagar and Viswanadham (1982). In that approach, one would parameterize the
class of all stabilizing controllers in terms of a (matrix) transfer function parameter
R.s/ followed by a search for the optimum controller. One iterative procedure for
single-variable systems is proposed in Garvin and Mathew (1996). It has been
discovered that searching for R.s/ results in high-order controllers and a direct
search for the controller results in appreciably lower-order controllers (Nassirharand
et al. 1988; Nassirharand 1991; Teh 2010). For example, when searching for R.s/
for a nonlinear plant with two integrators, a fourth-order controller is designed;
a direct search results in a first-order simultaneously stabilizing controller (see
Sect. 4.4). Furthermore, with this approach there is no guarantee that the controller
that stabilizes two linear approximations of the nonlinear plant would also stabilize
the actual nonlinear system. For this reason, in the new algorithm for design of
dual-range controllers, there is a step that calls for tuning of the simultaneously
F D ˛F0 C .1 ˛/ F1 ; (4.1)
where
X i 2
Fi D ˇ i
ymax d;i
ymax i
C < ymin >2 C yj yjd;i ; (4.2)
j
( i
2 i
i
ymin if ymin <0
< ymin >2 D ; (4.3)
i
0 if ymin 0
4.2 Controller Synthesis 45
Algorithm 4.1
1. Derive the mathematical model of a reference linear model that the final
closed-loop system is to mimic its dynamic and static behavior.
2. Obtain the describing function models of the nonlinear plant at various
operating regimes (see Chap. 2).
3. Select two of the models of the previous step, and obtain linear fits.
4. Arbitrarily select a controller (of a low order, e.g., 0–4) with arbitrary
coefficients that preferably stabilize at least one of the linear fits of the
previous step.
5. Apply optimization, and optimize the coefficients of the dual-range linear
controller for the two linear plants of step 3.
6. Apply optimization and tune the gains of the linear controller when placed
to operate with the actual nonlinear plant.
7. Verify design of the final nonlinear closed-loop system. If satisfactory
results are not obtained, proceed to design a nonlinear controller as
outlined in Chap. 5; otherwise, stop.
In step 6, the controller gains are tuned by the same optimization routine as that
used in the previous step. The experience of the authors in designing controllers
for nonlinear plants based on a fitted transfer function (to the corresponding SIDF
data) reveals that further tuning of the controller gains may be required before the
controller could perform well when connected to the actual nonlinear plant. For this
reason, the controller of the previous step is used as a starting solution, and a similar
objective function to that presented by Eq. 4.1 is minimized in order to tune the
controller parameters. In this case, y would be the normalized discretized closed-
loop step response of the actual nonlinear plant when connected to the controller;
also, index i would refer to the particular operating regime of interest.
Step 7 is to verify design. For stability, the following argument is used. If the
describing function models of the final closed-loop system at various operating
regimes are obtainable, then it may be concluded that Fourier integrals (see Eqs.
2.16 and 2.23) have converged; consequently, this suggests that the outputs must
have been bounded. Hence BIBO (bounded-input bounded-output) stability may be
demonstrated in this fashion. For verification of the performance of the closed-loop
system, normalized step-response plots by exciting the plant with step inputs of
various magnitudes may be obtained.
4.3 Software
A MATLAB® function is available that automates the design in step 5; the primary
inputs to this function are the two linear plants identified in step 3 of Algorithm
4.1 as well as the reference linear model identified in step 1; the primary output
®
is the dual-range controller. Another MATLAB function is available that uses the
Simulink model of the nonlinear plant and tunes the controller parameters obtained
in step 5 (see Teh 2010 for details).
Consider the SISO servo system that was also considered in Sect. 2.2.1.2. It is
desired for the closed-loop system to mimic a second-order system with a damping
ratio of 0.307 and a natural frequency of 43.22; similar performance measures
were also achieved by Taylor and Strobel (1985) when designing a nonlinear PID
controller. Algorithm 4.1 is executed as follows:
1. The reference linear model follows:
!n2
Gr .s/ D ; (4.5)
s 2 C 2&!n s C !n2
2. The describing function models are generated as outlined in Sect. 2.2.1. See Figs.
2.5, 2.6, 2.7 and 2.8 for pseudofrequency response plots.
3. The two linear models corresponding to small and large excitation amplitudes are
selected. It is recommended to use the two linear models whose gain characteris-
tics bound those of all the others in class; this corresponds to describing function
models with excitation amplitudes of 0.25 V and 0.8 V. A linear fit is obtained,
and the two linear models follow (Nassirharand et al. 1988; Nassirharand 1988):
0:003989s C 1:231
G0 .s/ D ; (4.6*)
0:003761s 2 C 0:05475s
0:040314s C 1
G1 .s/ D : (4.7*)
0:23641s 2 C 0:22521s
1 .s C 2/
Cssstart .s/ D : (4.8)
sC4
®
5. The MATLAB function DRLCD, which is outlined in Sect. 4.3, is utilized,
and objective function (4.1) with Eq. 4.2 and setting ˛ D 0:1 and ˇ D 0 is
minimized; the following controller is obtained:
3:1671s C 1:1469
Cssuntuned .s/ D : (4.9)
0:0229s C 0:1089
6. The controller parameters of the previous step are tuned by optimization. The
final synthesized controller is of the following form:
Fig. 4.1 Normalized step-response plots of the final closed-loop system with the dual-range linear
controller
Fig. 4.2 Stability test – the generated describing function models of the final closed-loop system
with the dual-range linear controller
Consider the unmanned aerial vehicle bank angle control problem that is studied in
Colgren 2004; the corresponding schematic block diagram is depicted in Fig. 4.3.
The problem statement is to design a dual-range linear controller for this nonlinear
system that would force the bank angle response of the corresponding nonlinear
feedback system to mimic a second-order system with a damping ratio of 0.9 and
a natural frequency of 1.11 rad=s; these are approximately the same performance
4.5 Example 2: Multivariable Bank Angle Control Problem 49
Fig. 4.3 The schematic diagram of the UAV and the structure of the closed-loop system. Source:
(Teh 2010) © S.H. Teh
function invfreqs is utilized for this purpose. The identified models are given
by the following equations; the quality of fit may be examined by considering
Figs. 4.5 and 4.6.
2 3
70200
6 s 2 C 23:08s C 96:81 7
G0 .s/ D 6
4
7;
5 (4.12*)
70200
2
s .s C 23:08s C 96:81/
Fig. 4.4 UAV open-loop pseudofrequency response plots. Source: (Teh 2010) © S.H. Teh
Fig. 4.5 Linear system identification at a low excitation amplitude. Source: (Teh 2010) ©
S.H. Teh
4.5 Example 2: Multivariable Bank Angle Control Problem 51
Fig. 4.6 Linear system identification at a high excitation amplitude. Source: (Teh 2010) ©
S.H. Teh
2 3
9606
6 s 2 C 22:15s C 92:54 7
G1 .s/ D 6
4
7:
5 (4.13*)
9606
s .s C 22:15s C 92:54/
2
Fig. 4.8 Normalized step-response plots of the synthesized dual-range linear controller and the
nonlinear UAV. Source: (Teh 2010) © S.H. Teh
Fig. 4.9 Normalized roll-rate plots of the synthesized dual-range linear controller and the
nonlinear UAV. Source: (Teh 2010) © S.H. Teh
Fig. 4.10 The normalized step-response plots of the closed-loop system with a single-range linear
controller and the nonlinear UAV. Source: (Teh 2010) © S.H. Teh
Fig. 4.11 The normalized roll-rate plots of the closed-loop system with a single-range linear
controller and the nonlinear UAV. Source: (Teh 2010) © S.H. Teh
995:4 s 2 C 5:8s C 147:3 4:6 s 2 C 16270:9s 474819
C start
.s/ D :
s 2 C 43751:9s C 8:8E6 s 2 C 43751:9s C 8:8E6
(4.14*)
®
5. The MATLAB function described in Section 4.3 is used, and objective function
(4.1) with Eq. 4.2 is minimized to obtain the following simultaneously stabilizing
controller:
Fig. 4.12 The step-response plot of a nonlinear H1 controller and the nonlinear UAV. Source:
(Colgren 2004) © R. Colgren
Fig. 4.13 The roll-rate plot of a nonlinear H1 controller and the nonlinear UAV. Source: (Teh
2010) © S.H. Teh
2 3T
0:48s 2 1:94s C 2:45E 4
6 0:67s 2 C 7:20E 4s 7
6 7
Cssuntuned .s/ D 6 7 : (4.15*)
4 2:86E 4s 2 0:40s C 4:36E 5 5
0:11s 2 C 1:24E 4s
6. The parameters of the controller in Eq. 4.15 are tuned as outlined in Sect. 4.2.
2 3T
1:50 0:72s 2 C 3:0s C 6:61E 4
6 0:26s 2 C 5:5E 4s 7
Csstuned .s/ D 6 7
4 15:53 2:62E 4s 2 C 0:30s C 5:1E 5 5 : (4.16*)
0:21s 2 C 1:01E 4s
5.1 Background
and the actual nonlinear plant at nominal conditions before proceeding to the next
step. The parameters of the linear controller may have to be tuned similar to that
described in step 6 of Algorithm 4.1. Step 4 is self-explanatory. In step 5, in order to
compute Eq. 5.1, one must place the describing function generator software inside
the optimization loop. This will cause the execution time of the simulation code to
unreasonably increase, and design for industrial systems with the usual accessible
computers becomes almost impossible. In order to lift this restriction, to compute
C Gi , one could compute Ci .j!/ :G .j!; ei jCi .j!/j/, where
Ci D the controller at operating regime i
ei D amplitude of the sinusoid at the input to the controller
G D the pseudofrequency domain model of nonlinear plant at a specific operating
regime
p
j D 1
! D frequency, rad=s
To accomplish this, the G .j!; ai / data obtained in step 2 coupled with interpola-
tion is utilized. This computation method considerably increases the execution speed
®
of step 5, and minimizing E .j!/ via the fminsearch function of MATLAB for
complicated industrial systems via standard computers may easily be accomplished.
Step 6 is described in the next subsection, and in step 7, normalized step-response
plots with various step magnitudes of interest are obtained. For demonstration of
stability, the describing function models of the final closed-loop system at various
operating regimes may be generated.
Algorithm 5.1
1. Derive the mathematical model of a reference linear model that the final
closed-loop system is to mimic its dynamic and static behavior.
2. Obtain the describing function models of the nonlinear plant at various
operating regimes (see Chap. 2).
3. Select one of the input-output models of the previous step as the nominal
model, and design a linear controller for this nominal model. The structure
of the linear controller could be a PID, a lead-lag, a H1 controller, or
simply a nth-order transfer function.
4. Place the model of the designed controller of the previous step in series
with the nonlinear plant. Using the technique outlined in Chap. 2, generate
the corresponding open-loop describing function model. This generated
open-loop model is the desired model that the open-loop system is to
mimic at all operating regimes. It should be noted that in this step, the
excitation signal is obtained by dividing the amplitude which corresponds
to the selected nominal model used in step 3 by the gain of the linear
5.2 Controller Synthesis 59
E .j!/ D jC G C Gi j (5.1)
where
C Gi D the pseudofrequency response model of the controller and the
nonlinear plant at operating regime i
C G D the desired pseudofrequency response model obtained in
step 4
E D a measure of the error between the desired open-loop pseud-
ofrequency response model obtained in step 4 and the open-loop
pseudofrequency response model comprised of the controller and the
nonlinear plant at operating condition i
It should be noted that E .j!/ measures the sensitivity (or robust-
ness) of the open-loop system, and minimizing E .j!/ at various op-
erating regimes of interest results in the required amplitude-dependent
behavior of a minimum sensitivity controller. The output of this step is
a set of controller parameters for each ei .
6. Interpret the table of values for each controller parameter as a function of
ei (which was obtained in the previous step) as the describing function
model for that controller parameter; by using the SIDF model inversion
technique described below (Nassirharand 2009a), invert the describing
function model for each controller parameter to identify the desired
nonlinear function for that controller parameter.
7. In this step, a model of the nonlinear controller which incorporates the
synthesized nonlinear functions of the previous step is constructed, and
the design is verified. For verification, the describing function mod-
els of the synthesized nonlinear closed-loop system may be generated
to demonstrate stability; in other words, if the Fourier integrals (see
Eqs. 2.16 and 2.23) converge at all operating regimes, then stability
may be concluded. Furthermore, the normalized step-response plots
with various magnitudes of command signal may also be generated
to verify time-domain behavior. Additionally, in order to quantify the
amount of achieved reduction in sensitivity, the followings are evaluated
numerically:
60 5 Multirange Nonlinear Controller Design
2! 3
X Z ˇˇ ˇ
2
ˇ
0 D 4 ˇ1 Gi .j!; ai / ˇ d! 5 (5.2)
ˇ G .j!; a / ˇ
i !1
2! 3
2ˇ ˇ
X Z ˇ ˇ
1 D 4 ˇ1 i ˇ d! 5 (5.3)
ˇ ˇ
i !1
where
ai D amplitude of the sinusoid at the input to the nonlinear plant at
operating regime i
a D amplitude of the sinusoid at the input to the nonlinear plant at
nominal conditions
i D the pseudofrequency domain model of the open-loop system
comprised of the designed nonlinear controller and the actual nonlinear
plant at operating regime i
D the pseudofrequency domain model of the open-loop system
comprised of the designed linear controller and the actual nonlinear
plant at nominal conditions (see step 3)
0 D measure of sensitivity of the nonlinear plant
1 D measure of sensitivity of the designed open-loop system
The closer k (k D 0; 1) is to zero, the smaller is the level of sensitivity.
The percent amount of reduction in sensitivity would be given by the
followings relation:
0 1
RD 100 (5.4)
0
The inversion procedure starts by guessing the initial values for the independent
variables of an assumed nonlinear function. Then, the describing function model
of the nonlinearity is numerically generated. This is followed by minimizing an
objective function that yields the desired parameters of the nonlinear function.
Identification of linear systems from frequency response data is not a new
subject, and there is considerable literature that covers this subject (e.g., see
Nassirharand 1988 and references therein). Unlike nonlinear systems, this problem
the amplitude of the applied sinusoidal input. The inverse problem considered here
is simply one of being given the describing function and finding the corresponding
nonlinearity. The analytical solution to this problem is given by Gelb and Vander
Velde (1968) and Colgren (2004), and the interested reader is referred to that
literature; the analytical solution will not be repeated here. The analytical solutions
are good only for the class of considered nonlinear functions, and for a complete an-
alytical solution, one should theoretically develop a catalogue of infinite analytical
solutions. As an alternative approach, a numerical technique may be considered.
In this approach, the user assumes the structure of the nonlinear function, and
the model parameters are identified. Therefore, the form of the assumed nonlinear
function may also have memory, and the fact that nonlinear function may have
memory does not limit the application of the procedure.
The inversion process in step 6 of Algorithm 5.1, has received limited attention
(Atherton 1970). At the first sight, it might appear that if a static output versus
input graph consisting of piecewise linear segments is to be inverted, it can be
accomplished readily by reordering the axis without the algorithm developed in this
section. To clarify this matter, assume that in step 6 of Algorithm 5.1, the nonlinear
function describing one of the controller gains as a function of the excitation
amplitude is determined to be given by Fig. 2.2. As was mentioned, the nonlinear
function in Fig. 2.2 is interpreted as the describing function model of an as yet
unknown nonlinear function; this unknown function describes the controller gain
as a function of the error or the excitation signal. This nonlinear function is given
by Fig. 2.1. In other words, Fig. 2.1 is the inversion of describing function model
given by Fig. 2.2. In step 6 of Algorithm 5.1, Fig. 2.1 must be obtained by inversion
of the describing function model given in Fig. 2.2. It is clear that reordering the
axes, without the algorithms developed in this section, would not result in the
desired nonlinear function. Furthermore, unlike inversion of Fig. 2.2, it is generally
not easy to obtain the inverted format as noted in Atherton (1970) and research
in Nassirharand and Mousavi Firdeh (2008, 2009c), Taylor and Strobel (1985),
and Nassirharand and Karimi (2006). In Gelb and Vander Velde (1968), early
need for inversion of describing function models was noted. Then Atherton (1970)
and Colgren (2004) gave directions and procedures for inversion of memoryless
describing function models.
The procedure for inversion of describing function models is computer-aided.
Similar to other available inversion methods, the user must select a model for
the nonlinear function. Previous works demonstrate that a general piecewise linear
function appears to be a good starting point (Taylor 1983; Taylor and Strobel 1985;
Nassirharand and Karimi 2006; Nassirharand and Mousavi Firdeh 2008, 2009c).
This choice has the following features:
1. Allows linear gain at small amplitudes where the plants usually behaves as a
linear system
2. Allows sudden jumps or reduction in controller gain at intermediate operating
regimes
3. Allows gradual increase or reduction of gains at large amplitudes
5.2 Controller Synthesis 63
m2
d
Error, e
The designer may also choose to examine the catalogue of nonlinear functions
given in the “Appendix” of Gelb and Vander Velde (1968), and select the model that
seems to suite his problem. The approach is independent of the selected model.
Once a model is selected, it must be described in terms of its parameters as a
®
MATLAB function. Then, a set of initial values for parameters of this model are
selected, and the describing function model of the assumed nonlinear function is
digitally obtained (Nassirharand and Karimi 2002). Finally, an objective function
measuring the error between the desired describing function model and that of
the actual nonlinear function is minimized. This minimization is done by using
®
fminsearch function of the MATLAB software. The developed algorithm for
describing function inversion is given below.
In step 1, the user must define a model for the nonlinearity. To accomplish
this task, the user could plot the given describing function model. Then, he could
compare this plot with the catalogue of describing function models given in
“Appendix” of Gelb and Vander Velde (1968). Finally, he would select the model
that may exhibit the desired gain/phase-amplitude behavior. The state of art for
controller synthesis applications suggests a nonlinear function similar to those in
Figs. 5.1, 5.2, and 5.3.
Maybe in future, nonlinear gain functions with memory will be needed. In step
2, only a guess is required. Again for controller synthesis applications, by looking at
the desired gain-amplitude plot, one could easily determine an initial guess for the
parameters. In step 3, the MATLAB function that is given in Chap. 2 is modified to
fit SISO models, and this function is used to obtain the describing function model
of the assumed nonlinear function. In step 4, the objective function is evaluated, and
64 5 Multirange Nonlinear Controller Design
m2
d2
m1
d1 d2
d1
Error, e
Algorithm 5.2
1. Assume a model for the desired actual nonlinear function.
2. Determine a set of initial values for the parameters of the model in step 1.
3. Use the getsidfinv2 function developed here, and obtain the describing
function (DF) model of the assumed nonlinear function.
4. Minimize the following objective function:
X
ED jGi;D .j!/ Gi;A .j!/j2 (5.5)
i
5.2 Controller Synthesis 65
m4
f3 (e)
d2
m3
d1
m2
m1 d2 d3
d1
Error, e
Fig. 5.3 A complicated nonlinear function with linear gain at origin for inversion (Nassirharand
and Mousavi Firdeh 2009c)
where
Gi;D .j!/ is the given describing function model at operating regime i ,
Gi;A .j!/
p is the actual describing function model, !is the frequency, and
j D 1.
If the assumed nonlinear function is memoryless, then Ewould be
independent of frequency.
5. Verify the inversion results. If satisfactory results are obtained, then stop;
otherwise, change the initial guess and/or the assumed model of step 1 and
go to step 3.
66 5 Multirange Nonlinear Controller Design
5.3 Software
An example software for optimization of the gains of the controller (i.e., a PID
controller) is presented in Fig. 5.4. The main program reads in the values of the
pseudofrequency responses of the plant and the desired open-loop model; initial
guesses for the controller gains are set, and finally the gains are optimized. Refer to
the comments inside the required functions for details.
An example software to achieve the inversion task is presented in Fig. 5.5. In this
figure, a main program, the function that calculates the Objective Function (5.5)
(i.e., errorinv), the function that generates the describing function model of the
Fig. 5.5 Listing of the software for describing function inversion. Source: (Nassirharand 2009a)
© Elsevier
70 5 Multirange Nonlinear Controller Design
nonlinear function (i.e., getsidfinv2), and the function that calculates the output of
the assumed nonlinear function (i.e., getyinv2) are given.
In the main program, the gain vs. amplitude data is supplied, and then the
®
fminsearch function of the MATLAB is invoked to minimize Objective Function
(5.5). This followed by verification of the results, and the main program ends.
The function errorinv first imposes any penalty functions that may be associated
with the undesirable values for the parameters of the assumed nonlinear function.
Then, the describing function model of the assumed nonlinear function is generated
followed by evaluation of Objective Function (5.5). Function getsidfinv2 calculates
the describing function model of the nonlinear function; the user must supply the
function getyinv2 that calculates the outputof the nonlinear function that is required
5.3 Software 71
Consider the SISO servo system that was also considered in Sect. 2.2.1.2. It is
desired for the closed-loop system to mimic a second-order system with a damping
ratio of 0.307 and a natural frequency of 43.22; this approximately corresponds to a
settling time of 0.3 s and an overshoot of 37%. These performance measures were
originally achieved by Taylor and Strobel (1985) when designing a nonlinear PID
controller. For comparison purposes, the same performance measures are selected.
Algorithm 5.1 is executed as follows. Steps 1 and 2 are similar to that presented in
Sect. 4.4. After execution of steps 3 and 4, the results of step 5 are summarized in
Table 5.1 (Nassirharand and Karimi 2006).
5.4 Example: Single-Variable Case: Servo System 73
With reference to Fig. 5.1, the results of describing function inversion (step 6)
are summarized in Table 5.2 (Nassirharand and Karimi 2006).
74 5 Multirange Nonlinear Controller Design
Fig. 5.6 The normalized step responses with various amplitudes of excitation signal
Finally, the design is verified, and the results of the last step are shown in Figs. 5.6
and 5.7.
As was mentioned before, Eqs. 5.2 and 5.3 may be evaluated for frequencies
between 0 and 150 rad=s to measure the percent reduction in sensitivity; in this
case, 0 D 1924, 1 D 221, and R D 88:5. In other words, 88.5% reduction in
sensitivity is achieved.
5.4 Example: Single-Variable Case: Servo System 75
Fig. 5.8 The SIDF model of the open-loop system comprised of the nominal compensator, C ,
and the nonlinear plant
The problem statement is the same as that given in Sect. 5.4.1 with the difference
that a nonlinear lead-lag controller is required to be designed. Steps 1 and 2 are
identical to those described in Sect. 4.4. In step 3, the middle model (at excitation of
0.325) is selected as the nominal model; a linear model is identified using invfreqs
® ®
function of MATLAB , and the MATLAB function described in Sect. A.1.1 is
used to design a lead compensator. The compensator gain is adjusted to obtain a
satisfactory step response when the resulting nonlinear system is simulated. The
designed lead compensator is of the following form:
excitation. The target model has approximately a 30-degree phase margin and an
approximate gain margin of 3.
In step 5, the set of linear lead compensators at various excitation amplitudes
is obtained by minimizing Objective Function (5.1). The controller parameters are:
A0 D f6.1141, 5.0390, 4.3959, 3.3293, 3.3834, 5.0765, 5.9311, 6.3986, 6.7062,
6.8369g, A1 Df0.6507, 0.6001, 0.5737, 0.5447, 0.7374, 1.0177, 1.1620, 1.2460,
1.3322, 1.1587g, and B1 Df0.0423, 0.0380, 0.0344, 0.0241, 0.0235, 0.0259, 0.0271,
0.0272, 0.0264, 0.0302g. Where, the parameters of the lead compensator are defined
as below:
C D .A1 s C A0 / = .B1 s C 1/ (5.7*)
The constants are nonlinear function of the error signal: (a) for a given value of
the error signal, the nonlinearities (obtained in step 5) are evaluated and this gives
®
a set of constants; (b) in SIMULINK implementation, the values obtained in (a)
are divided by error value; and (c) the values obtained in (b) sit in place of the lead
and/or lag coefficients and the resulting controller is excited by the error signal.
In step 6, the parameters of the synthesized nonlinear functions (see Fig. 5.2) for
compensator parameters are defined in Table 5.3.
The quality of fit is shown in Figs. 5.9, 5.10, and 5.11. These figures show
the results of describing function (DF) inversion process for A0 , A1 , and B1 .
The nonlinearity parameters are optimized in a fashion that DF model of that
nonlinearity mimics the desired amplitude-dependent gains of the compensator
parameters.
Finally, in step 7 the design is verified using numerical simulation. The normal-
ized step-response plots of the closed-loop system at various operating regimes
of interest are depicted in Fig. 5.12. This figure demonstrates the results of
design verification step. The normalized step responses at various amplitudes of
reference signals indicate that closed-loop system behavior is fairly insensitive to
the amplitude level of the command signal.
For stability, the describing function models of the synthesized nonlinear closed-
loop system at various operating regimes are generated. The stability test is shown
Fig. 5.9 The results of describing function inversion process for A0 . Source: (Nassirharand and
Mousav Firdeh 2008) © Springer
Fig. 5.10 The results of describing function inversion process for A1 . Source: (Nassirharand and
Mousav Firdeh 2008) © Springer
in Fig. 5.13. Also, it is apparent that closed-loop system is fairly insensitive to the
amplitudes of excitations. As was mentioned in step 7 of Algorithm 5.1, 0 and
1 may be evaluated to measure the percent reduction in sensitivity; in this case,
0 D 2308, 1 D 322, and R D 86. In other words, 86% reduction in sensitivity is
achieved.
78 5 Multirange Nonlinear Controller Design
Fig. 5.11 The results of describing function inversion process for B1 . Source: (Nassirharand and
Mousav Firdeh 2008) © Springer
Fig. 5.12 Normalized step-response plots of the synthesized nonlinear control system. Source:
(Nassirharand and Mousav Firdeh 2008) © Springer
The problem statement is the same as that given in Sect. 5.4.1 with the difference
that a nonlinear H1 controller is required to be designed. The structure of the
nonlinear H1 controller is shown in Fig. 5.14 (Nassirharand and Mousavi Firdeh
2009c). Steps 1 and 2 are identical to those described in Sect. 5.3.1. In step
3, the model with the highest gain amplification effect (at excitation of 0.8) is
5.4 Example: Single-Variable Case: Servo System 79
Fig. 5.13 Stability test for the nonlinear lead-lag controller. Source: (Nassirharand and Mousav
Firdeh 2008) © Springer
selected as the nominal model; a linear model is identified using invfreqs function of
® ®
MATLAB , and the MATLAB function hinfsyn is used to design a H1 controller.
The controller gain is adjusted to obtain a satisfactory step response when the
resulting nonlinear system is simulated. The designed H1 controller is of the
following form:
1447s C 2:154e4
C D 5:0 (5.8)
270:3s C 1:019e4
1:0537; 0:8967; 1:0580; 1:1145; 1:4041; 1:6809; 1:9423; 1:8791;
A0 D 1e5
2:2523; 3:5026
7:3540; 6:7826; 6:8800; 7:0189; 7:9919; 8:7454; 9:1093; 8:7004;
A1 D 1e3
8:6104; 8:9454
0:6893; 0:6927; 0:8584; 1:0524; 0:8955; 0:8370; 0:8690; 0:8058;
B0 D 1e4
0:9209; 1:3263
383:8594; 367:8280; 385:5476; 266:7148; 172:5880; 155:4505;
B1 D
138:2746; 121:1289; 80:5201; 80:5201
A1 s C A0
C.s/ D (5.9)
B1 s C B0
In step 6, controller parameters are inverted. With reference to Fig. 5.3, the
parameters of the synthesized nonlinear functions for controller parameters are
defined in Table 5.4. The quality of fit is shown in Figs. 5.15, 5.16, 5.17, and 5.18.
Finally, in step 7, the design is verified using numerical simulation. For stability
test, see the sinusoidal-input describing function models of the final synthesized
closed-loop system as depicted in Fig. 5.19. Also, the normalized step-response
plots of the closed-loop system at various operating regimes of interest are depicted
in Fig. 5.20. From examination of this figure, it may be concluded that amplitude
insensitivity objective is satisfied. As was mentioned before, Eqs. 5.2–5.4 may be
evaluated to measure the percent reduction in sensitivity; in this case, 0 2308,
1 350, 1 477, R1 85, and R2 79. In other words, 85% reduction in
sensitivity is achieved when the nonlinear controller is used, and 79% reduction in
sensitivity is achieved with the nominal linear controller, C , utilized.
5.4 Example: Single-Variable Case: Servo System 81
Fig. 5.15 Results of describing function (DF) inversion for controller parameter A0
Fig. 5.16 Results of describing function (DF) inversion for controller parameter A1
82 5 Multirange Nonlinear Controller Design
Fig. 5.17 Results of describing function (DF) inversion for controller parameter B0
Fig. 5.18 Results of describing function (DF) inversion for controller parameter B1
The UAV that is studied in Sect. 4.5 is considered (see Fig. 4.3). It is desired
to design a robust controller for this UAV. As was mentioned in Sect. 4.5, the
effectiveness of a single-range linear controller is investigated by Nassirharand
5.5 Example: Multivariable Case: Bank Angle Control of a UAV 83
Fig. 5.19 Stability test of the closed-loop system with the nonlinear H1 controller
Fig. 5.20 Normalized step responses of the designed nonlinear closed-loop system
and Mousavi Firdeh (2009b). In this case, a linear H1 controller (based on one
operating regime) is also designed; the corresponding step-response plots are shown
in Fig. 4.10. It is apparent that this is not a satisfactory design. The nonlinear
controller synthesis procedure is executed as follows.
In step 1, the desired linear model has a settling time of about 2 s with no over-
shoot. In step 2, the SIDF models for the amplitude set a D f0:75; 1; 2; 4; 8; 16; 32g
and a frequency range from 0.1 to 1,000 rad/s are generated as outlined in the
previous section. The results are depicted in Fig. 4.4. In step 3, arbitrarily, the
model at a D 1 is selected as the nominal model, and a linear proportional
controller is designed. The multivariable gains are Kp D Œ4384; 1912. In
84 5 Multirange Nonlinear Controller Design
Fig. 5.21 Normalized step-response plots of the closed-loop system with a nonlinear controller
and the nonlinear UAV. Source: (Teh 2010) © S.H. Teh
Fig. 5.22 The normalized roll-rate plots of the closed-loop system with a nonlinear controller and
the nonlinear UAV. Source: (Teh 2010) © S.H. Teh
order to characterize the controller gains at small, medium, and large signals, the
following amplitudes are selected: E D f0:05; 0:1; 0:3; 0:5; 0:7; 1; 2g. In step 4, with
E D Œ0:7; 0:7 and the frequency range from 0.1 to 50 rad/s, the desired open-loop
®
DF model is generated. In step 5, the fminsearch function of the MATLAB that
uses a Simplex search technique (Reklaitis et al. 1983) is used, and the Objective
Function (5.5) at various operating regimes is minimized; the data for frequencies
below 4 rad/s are weighted ten times more than the others to improve on the steady-
state conditions. The following controller gains are obtained:
5.5 Example: Multivariable Case: Bank Angle Control of a UAV 85
f5:26; 5:33; 4:84; 4:69; 4:44; 4:40; 4:38g
Kp D 1000
f1:51; 1:55; 1:68; 1:79; 1:94; 2:06; 2:12g
In step 6, the SIDF models of the controller gains obtained in the previous step
are inverted, and nonlinear functions of the type shown in Fig. 5.2 are identified.
The results of inversion follow:
In step 7, the normalized step responses of the closed-loop system with the
synthesized nonlinear multivariable controller are depicted in Figs. 5.21 and 5.22.
The settling time is about 1.5 s with no overshoot. A fourth-order nonlinear H1
controller is designed by Colgren (2004); in that design a settling time of 40 s with
no overshoot is achieved (see Fig. 4.12).
Chapter 6
Experimental Study: Unstable SISO Systems
6.1 Background
The presented methods developed so far are limited to stable nonlinear systems.
This is mainly due to the fact that Fourier integrals are not able to converge if
the outputs are not bounded; hence, the corresponding describing function models
are not obtainable. In this chapter, an approach is outlined that would allow the
techniques developed so far to be applied to unstable systems (Li and Nassirharand
2011). An experimental rig is designed and fabricated to demonstrate the approach.
Fig. 6.2 Servomotor and pendulum assembly. Source: (Li and Nassirharand 2011) © Sage
Fig. 6.3 Coulomb friction adjuster and encoder. Source: (Li and Nassirharand 2011) © Sage
for the experimental setup considered here, it is found that a linear proportional
controller with a gain of ten may be used to stabilize the system.
2. Generate the sinusoidal-input describing function models of the stabilized
closed-loop system around the operating regimes of interest as outlined in
Chap. 2. The user may choose to fit a linear model to each of the identified
closed-loop frequency domain models. For example, for the example problem
90 6 Experimental Study: Unstable SISO Systems
Fig. 6.4 Pulley system to increase the degree of instability. Source: (Li and Nassirharand 2011) ©
Sage
With the known stabilizing controller of step 1, and the closed-loop frequency
domain model of the previous step, use algebra and determine the corresponding
unstable open-loop frequency domain models denoted G .j!I ai /. For the
inverted pendulum problem, the corresponding unstable open-loop frequency
domain model at the nominal condition is determined to be as follows:
0:2055s C 0:7065
Gol D (6.2)
s2 C 1:249s 0:6803
The set of unstable open-loop models are determined using algebra, and they
are depicted in Fig. 6.5. The spread in the pseudo-Bode plots indicate that system
is highly nonlinear. If this were a linear plant, then there would be only one
pseudo-Bode plot for all excitation amplitudes.
3. Select one of the models of the previous step as the nominal model, and design
a PID controller. Then use the MATLAB® function developed in Appendix A
6.3 Nonlinear PID Synthesis 91
Fig. 6.5 Frequency domain models of the unstable plant (a corresponds to the amplitude of the
sinusoid at the input to the plant). Source: (Li and Nassirharand 2011) © Sage
The primary inputs to the cad controller function are the plant given by
Eq. 6.2 and a desired closed-loop transfer function; in this case, a second-order
transfer function with a damping ratio of 0.9 and a settling time of 0.5 s is
specified to be the desired closed-loop transfer function. The output of the above-
mentioned function is the PD controller given by Eq. 6.3.
4. Generate the closed-loop sinusoidal-input describing function model of the
system comprised of the controller of the previous step and the nonlinear plant
similar to what is done in step 2. Then, with the known desired closed-loop SIDF
model and the known controller of step 3, use algebra, and determine the desired
open-loop frequency domain model denoted C G . For the inverted pendulum
problem, this is shown in Fig. 6.6.
5. Design a set of linear PID controllers at various operating regimes of interest
that mimic the desired open-loop behavior obtained in the previous step. This is
accomplished by minimizing the following objective function:
Fig. 6.6 The desired open-loop frequency domain model (e is the amplitude of the sinusoid at the
input to the controller). Source: (Li and Nassirharand 2011) © Sage
Fig. 6.7 The frequency domain models of the open-loop system comprised of the amplitude-
dependent controllers and the unstable nonlinear plant. Source: (Li and Nassirharand 2011)
© Sage
in this step, the SIDF models are known, and the nonlinearity model must be
obtained. In order to determine the parameters of the nonlinearity function shown
in Fig. 5.2, optimization is used, and the fminsearch function of the MATLAB®
software is utilized. The details of this inversion process are (see Chap. 5): (a) use
the describing function generator MATLAB® function from Chap. 2 and generate
the describing function model of the nonlinearity, (b) if satisfactory results are
obtained, then stop; otherwise, use fminsearch function of the MATLAB® in
order to modify the independent variables and go to (a).
With reference to Fig. 5.2, for the inverted pendulum example, the results of
SIDF inversion using the software outlined in Chap. 5 are given by Table 6.2.
The quality of fit is shown in Figs. 6.8 and 6.9.
Finally, the design is verified using experiments. The normalized step-response
plots of the closed-loop system at various operating regimes of interest are depicted
in Fig. 6.10. This figure demonstrates the results of design verification step. The
normalized step responses at various amplitudes of reference signals indicate that
closed-loop system behavior is fairly insensitive to the amplitude level of the
command signal. It is observed that at lower step magnitudes, there exist high-
frequency oscillations. The main cause of this is because at the connection point of
the pendulum to the shaft of the motor, there is a two degrees free play. The stability
94 6 Experimental Study: Unstable SISO Systems
Fig. 6.8 The quality of fit after SIDF inversion for the proportional nonlinear gain. Source:
(Li and Nassirharand 2011) © Sage
Fig. 6.9 The quality of fit after SIDF inversion for the derivative nonlinear gain. Source: (Li and
Nassirharand 2011) © Sage
test is shown in Fig. 6.11. In this figure, the pseudofrequency response plots of the
closed-loop system comprised of the designed nonlinear PD compensator and the
nonlinear process are successfully generated; hence, stability at operating regimes
of interest is demonstrated.
A linear controller based on one frequency domain model is designed for
comparison purposes; the corresponding normalized step-response plots are shown
in Fig. 6.12.
It is apparent that the single-range linear controller design is not satisfactory
(because of sensitivity and large steady-state errors), and the nonlinear PD controller
is preferred. Another linear controller based on two frequency domain models is also
designed (see Chap. 4); the corresponding normalized step-response plots are shown
in Fig. 6.13.
6.4 Conclusions 95
Fig. 6.10 Normalized step-response plots of the synthesized nonlinear closed-loop system.
Source: (Li and Nassirharand 2011) © Sage
Fig. 6.11 Stability test (r corresponds to the amplitude of the sinusoid for the reference signal).
Source: (Li and Nassirharand 2011) © Sage
These results are competitive with the nonlinear PD controller results; these
results are consistent with prior theoretical work in previous chapters.
6.4 Conclusions
Fig. 6.12 The normalized step-response plots with the single-range linear controller. Source:
(Li and Nassirharand 2011) © Sage
Fig. 6.13 The normalized step-response plots with the dual-range linear controller. Source:
(Li and Nassirharand 2011) © Sage
frequency domain model is determined, and a set of linear controllers that force the
open-loop frequency domain models at all operating regimes that mimic that of the
desired is determined by optimization. The amplitude-dependent gains are inverted
to obtain the nonlinear functions describing the nonlinear gains of the controller.
Finally, design is verified by obtaining the normalized step-response plots as well
as the corresponding closed-loop frequency domain models for stability test. An
experimental setup consisting of an AC servomotor and an inverted pendulum is
used to demonstrate the procedure. Based on the results of the experimental work,
the following conclusions are made: (1) the nonlinear PID synthesis procedure is
effective and viable to be applied to highly nonlinear SISO systems, and (2) a stable
robust design may be obtained.
Appendix A
Closed-Form Solution to Linear Classical
Controllers
g1 C g2 j
Gp .j!/ D (A.1*)
g3 C g4 j
a0 C a1 s C a2 s 2
Gc .s/ D ;s D j! (A.2*)
1 C b1 s C b2 s 2
The desired closed-loop system behavior, or the desired reference linear model,
is denoted F :
h1 C h2 j Y1
F .j!/ D D (A.3*)
h3 C h4 j Y2
Gc Gp Z1
Gcl D D (A.4*)
1 C Gc Gp Z2
Z!2 ˇ ˇ
ˇ Z1 Y1 ˇ2
0
J D ˇ ˇ ˇ d! (A.5*)
Z2 Y2 ˇ
!1
Z!2
J D jZ1 Y2 Z2 Y1 j2 d! (A.6*)
!1
where
A D h3 g1 h4 g2 h1 g1 C h2 g2 (A.8*)
B D h3 g2 h4 g1 C h1 g2 C h2 g1 (A.9*)
D D h1 g4 C h2 g3 (A.10*)
E D h1 g3 h2 g4 (A.11*)
Now by taking the derivative of the objective function with respect to the
compensator parameters, and by setting the result equal to zero, a set of linear
where
Z!2
Tk D A2 C B 2 ! k d! (A.13*)
!1
Z!2
Rk D .AD C BE/ ! k d! (A.14*)
!1
Z!2
Sk D .AE BD/ ! k d! (A.15*)
!1
Z!2
2
Qk D D C E 2 ! k d! (A.16*)
!1
Therefore, by supplying the linear plant, the desired closed-loop transfer func-
tion, and the frequency range of interest, one could use Eq. A.12 and directly solve
for the compensator parameters.
A.1.1 Software
®
A MATLAB function is available that automates the above design process. The
®
MATLAB function is of the following form:
The printout of the software is given in Fig. A.2. The function inputs are (1) the
linear plant transfer function, gp, for which a compensator is to be designed; (2) the
desired closed-loop transfer function,f ; (3) the lower bound of the frequency range
of interest, w1; and (4) the upper bound of the frequency range of interest, w2. The
function output is the designed lead-lag compensator, gc.
Consider the example problem studied by Ogata (1990). The linear plant is of the
following form:
Fig. A.2 Listing of the leadlag MATLAB® function. Source: (Nassirharand and Karimi 2004c) ©
Manchester University Press
A.1 Linear Lead-Lag Controller Design 101
4
Gp D (A.17)
s .s C 0:5/
Fig. A.3 Design comparison for linear lead-lag design example. Source: (Nassirharand and
Karimi 2004c) © Manchester University Press
xs C !n2
F D (A.18)
s2 C 2&!n s C !n2
where from the problem statement, !n D 5and & D 0:5. Based on the definition of
velocity error constant, kv , the following relation holds:
!n2
2&!n x D0 ) x D 4:6875 (A.19)
kv
Hence,
4:6875s C 25
F D (A.20)
s 2 C 5s C 25
®
The developed MATLAB function is executed with w1 D 0 and w2 D 5:
gc D leadlag .Gp; F; 0; 5/
3:75s 2 C 21:875s C 10
Gc D :Let"D 0:01: (A.21)
"s 2 C 3:2s C 1
The design given by Ogata 1990 using a classical technique is of the following
form:
10 .2s C 1/ .5s C 1/
Cogata .s/ D (A.22)
.0:1992s C 1/ .80:19s C 1/
With a similar formulation for the linear lead-lag controller design that is presented
in the previous section, the gains of a PID controller may be determined to be as
follows (Nassirharand et al. 2003):
Q
KP D (A.23*)
T2
T0 T2 KI R
D (A.24*)
T2 T4 KD S
where
Z!2
Tl D ! l A2 C B 2 d!; l D 0; 2 (A.25*)
!1
Z!2
RD .AC C BD/ d! (A.26*)
!1
Z!2
SD .AC C BD/ ! 2 d! (A.27*)
!1
Z!2
QD .BC AD/ ! d! (A.28*)
!1
A D g1 h3 g2 h4 g1 h1 C g2 h2 (A.29*)
B D g2 h3 C g1 h4 g2 h1 g1 h2 (A.30*)
C D ! .g4 h1 C g3 h2 / (A.31*)
D D ! .g4 h2 g3 h1 / (A.32*)
Gc D KP C KI =s C KD s (A.33*)
and the rest of the variables are defined as the previous section (see Eqs. A.1
and A.3).
Therefore, by supplying the linear plant, the desired closed-loop transfer func-
tion, and the frequency range of interest, one could use Eqs. A.23 and A.24 and
directly solve for the controller parameters.
A.2.1 Software
®
The above described method is automated via the development of a new MATLAB
®
function. The developed MATLAB function is of the following form:
Where in the above command, Œkp; ki; kd are the controller gains; the inputs
are (1) w1; w2 the frequency range of interest, (2) ss the step size for integration of
Eqs. A.25–A.28, (3) g the transfer function of the process, and (4) hd the transfer
function of the reference linear model. The software listing is shown in Fig. A.4.
Consider the following first-order plus delay model studied by Wang et al. (1995):
e 5s
Gp .s/ D (A.34*)
10s C 1
e 5s
F .s/ D (A.35*)
20s C 1
Notice that the developed procedure must have all transfer functions as rational
functions in s; for this reason, we approximate the e 5s term as below (Kuo 1982):
1
e T s (A.36*)
Œ1 C T s=nn
Consider the feedback system depicted in Fig. A.6. In this Appendix, the for-
mulation for design of proportional plus rate feedback controllers is presented
(Nassirharand 2011). The linear plant is expressed as follows:
Fig. A.4 Listing for PID design function. Source: (Nassirharand et al. 2003) © Elsevier
Fig. A.5 Design comparison for PID controller design example. Source: (Nassirharand et al.
2003) © Elsevier
Table A.1 Comparison of PID gains with different design methods – (1)
Wang et al. (1995), (2) Rivera et al. (1986), (3) Ziegler and Nichols (1942),
and (4) Zhuang and Atherton (1993)
Present (1) (2) (3) (4)
Kp 0.42 0.42 1.00 2.28 1.99
KI 0.04 0.04 0.08 0.26 0.13
KD 0.30 0.17 2.00 4.89 3.84
Kts
Fig. A.6 The structure of the proportional and rate feedback controller. Source: (Nassirharand
2011) © Elsevier
The desired closed-loop system behavior, or the desired reference linear model,
is denoted F :
F .j!/ D C .!/ C jD .!/ (A.38*)
Z!2 ˇ ˇ2
ˇ X1 .j!/ ˇ
0
J D ˇ ˇ C .!/ jD .!/ˇˇ d! (A.40*)
X2 .j!/
!1
X1 .j!/
D C .!/ C jD .!/ ) X1 .j!/ X2 .j!/ C j X2 .j!/ D .!/ D 0
X2 .j!/
Now by taking the derivative of the objective function with respect to the
controller parameters, and by setting the result equal to zero, a set of linear
simultaneous algebraic equations is obtained as follows:
˛1 ˇ1 Kt 1
D (A.43*)
˛2 ˇ2 A2 2
where
Z!2
˛1 D D .!/ ! A2 .!/ C B 2 .!/ d! (A.44*)
!1
Z!2 n
2 h io
ˇ1 D A .!/ C B 2 .!/ .1 C .!//2 C D 2 .!/ d! (A.45*)
!1
Z!2
˛2 D ! 2 A2 .!/ C B 2 .!/ C 2 .!/ C D 2 .!/ d! (A.46*)
!1
ˇ2 D ˛1 (A.47*)
Z!2
1 D A .!/ C 2 .!/ C D 2 .!/ A .!/ C .!/ B .!/ D .!/ d! (A.48*)
!1
Z!2
2 D !B .!/ C 2 .!/ C D 2 .!/ d! (A.49*)
!1
Therefore, by supplying the linear plant, the desired closed-loop transfer func-
tion, and the frequency range of interest, one could use Eq. A.43 and directly solve
for the controller parameters.
A.3.1 Software
®
The design process is automated via development of a new MATLAB function.
®
The MATLAB function is of the following form:
The function inputs are (1) the lower bound of the frequency range of interest,
w1; (2) the upper bound of the frequency range of interest, w2; (3) the integration
step size; (4) the linear plant transfer function, g, for which a compensator is to be
designed; and (5) the desired closed-loop transfer function,f . The function outputs
are the tachometer gain and the amplifier gain. The corresponding software listing
is given in Fig. A.7 (Nassirharand 2011).
®
The design process is automated via development of a new MATLAB function.
®
The MATLAB function is of the following form:
The function inputs are (1) the lower bound of the frequency range of interest,
w1; (2) the upper bound of the frequency range of interest, w2; (3) the integration
step size; (4) the linear plant transfer function, g, for which a compensator is
to be designed; and (5) the desired closed-loop transfer function,f . The function
outputs are the tachometer gain and the amplifier gain. The corresponding software
listing follows.
Fig. A.7 The software listing for proportional and rate feedback design. Source: (Nassirharand
2011) © Elsevier
A.3 Proportional Plus Rate Feedback Controller Design 111
Consider the example problem studied by D’Azzo and Houpis (1966). The linear
plant is of the following form:
0:88
Gp D (A.50*)
s.s C 1/ .0:2s C 1/
In arriving at the above desired transfer function, the following formulas were
utilized:
1
Mm D p (A.52*)
2& 1 & 2
Fig. A.8 Design comparison for the proportional and rate feedback controller example. Source:
(Nassirharand 2011) © Elsevier
p
!m D !n 1 2& 2 (A.53*)
KI / s
Error Gp(s)
Ref.
Kp
Kts
Fig. A.9 Structure of the proportional-integral plus rate feedback controller. Source:
(Nassirharand 2011) © Elsevier
The desired closed-loop system behavior, or the desired reference linear model,
is denoted F :
X1 .j!/
D C .!/ C jD .!/ ) X1 .j!/ X2 .j!/ C j X2 .j!/ D .!/ D 0:
X2 .j!/
Z!2
J D jX1 .j!/ X2 .j!/ C j X2 .j!/ D .!/j2 d! (A.58*)
!1
Now by taking the derivative of the objective function with respect to the
compensator parameters, and by setting the result equal to zero, a set of linear
simultaneous algebraic equations is obtained as follows:
XY D Z (A.60*)
where
2 3
˛1 ˇ1 1
X D 4 ˛2 ˇ2 2 5 (A.61*)
˛3 ˇ3 3
2 3
KI
Y D 4 KP 5 (A.62*)
Kt
2 3
1
Z D 4 2 5 (A.63*)
3
Z!2 n
2 h io
˛1 D A C B 2 .C 1/2 C D 2 d! (A.64*)
!1
ˇ1 D 0 (A.65*)
Z!2
˚ 2 2
1 D ! A C B 2 C 2 C D 2 C d! (A.66*)
!1
Z!2
˚
1 D B! C 2 C D 2 C ! .AD BC / d! (A.67*)
!1
˛2 D 0 (A.68*)
Z!2 n
h io
ˇ2 D ! 2 A2 C B 2 .C 1/2 C D 2 d! (A.69*)
!1
Z!2
˚ 3 2
2 D ! D A C B 2 d! (A.70*)
!1
Z!2
˚ 2 2
Z!2
˚ 2
˛3 D ! C .C 1/ C D 2 A2 C B 2 d! (A.72*)
!1
Z!2
˚ 3 2
ˇ3 D ! D A C B 2 d! (A.73*)
!1
Z!2
˚ 4 2
3 D ! A C B 2 C 2 C D 2 d! (A.74*)
!1
Z!2
˚
3 D ! 3 B C 2 C D 2 d! (A.75*)
!1
Therefore, by supplying the linear plant, the desired closed-loop transfer func-
tion, and the frequency range of interest, one could use Eq. A.60 and directly solve
for the compensator gains.
A.4.1 Software
The function inputs are (1) the lower bound of the frequency range of interest,
w1; (2) the upper bound of the frequency range of interest, w2; (3) the integration
step size, h; (4) the linear plant transfer function, g, for which a compensator is to be
designed; and (5) the desired closed-loop transfer function, f . The function outputs
are the integral, proportional, and tachometer gains. The corresponding software
listing is given in Fig. A.10 (Nassirharand 2011).
Consider the example problem studied by D’Azzo and Houpis (1966). The linear
plant is of the following form:
0:88
Gp D (A.76*)
s .s C 1/ .0:2s C 1/
15
F D (A.77*)
s 2 C 3:464s C 15
Fig. A.10 Software listing for proportional-integral plus rate feedback design. Source:
(Nassirharand 2011) © Elsevier
118 Appendix A Closed-Form Solution to Linear Classical Controllers
®
Remark The MATLAB functions, which are developed in this appendix, are
®
integrated with the cad controller MATLAB function as described in Appendix B.
With the cad controller function, the specific values of w1 and w2 are determined
by optimization; if f requires enhancing (see Appendix B), then that function will
automatically perform enhancing.
A.4 Proportional-Integral Plus Rate Feedback Controller Design 119
Fig. A.11 Design comparison for proportional-integral plus rate feedback controller. Source:
(Nassirharand 2011) © Elsevier
Appendix B
Algebraic Linear Multivariable Controller
Design
B.1 Theory
To achieve tracking, compare Eqs. B.1 and B.2 to obtain the following:
yi ci i ki
D ; i D 1; 2 (B.3*)
ri 1 C ci i ki
where
gij gj i
ki D gi i ; fi D 1; 2I j D 1; 2I i ¤ j g (B.4*)
gjj
r1 e1
c11 g11
y1
c12
g12
c21
g21
r2 e2
c22 g22
y2
P .s/ r.s/D.s/
C.s/ D (B.5*)
Q.s/ C r.s/N.s/
where C.s/ is the stabilizing compensator, N.s/ and D.s/ are stable coprime
N.s/
transfer function factors of the plant satisfying G.s/ D D.s/ , P .s/ and Q.s/ are
stable coprime transfer functions and satisfy the Bezout’s identity: P .s/N.s/ C
Q.s/D.s/ D 1, and r.s/ is an as yet unknown stable transfer function parameter.
A transfer function is said to be coprime if there are no common pole-zero
cancellations. This transfer function parameter must be selected in such a manner
that when substituted in Eq. B.5, the desired compensator would be obtained.
In continuation, define the needed transfer functions as follows:
a0 1 C b 0 1 j
N.j!/ D (B.6*)
a0 2 C b 0 2 j
c1 C d1 j
D.j!/ D (B.7*)
c2 C d2 j
iP
Dm
ai :.j!/i
i D0
r.j!/ D iP
Dn
(B.8*)
1C bi :.j!/ i
i D1
e1 C f1 j
P .j!/ D (B.9*)
e2 C f2 j
N 1 C N2 j Y1
y;u D
hD D (B.10*)
P1 C P2 j Y2
Z!2 ˇ ˇ
ˇ Z1 Y1 ˇ2
J D ˇˇ
0
ˇˇ d! (B.12*)
Z2 Y2
!1
Z!2
J D jZ1 Y2 Z2 Y1 j2 d! (B.13*)
!1
By substituting Eqs. B.11 and B.6–B.10 into Eq. B.13, the following relation is
obtained:
Z!2 " .AA C BA C B C B D/2 C#
1 2 1 2
0
E D d! (B.14*)
2
!
.AA 2 BA 1 C B 1 D C B2 C /
1
where
A1 D a0 a2 ! 2 C a4 ! 4 (B.15*)
A2 D a1 ! a3 ! 3 C a5 ! 5 (B.16*)
B 1 D 1 b 2 ! 2 C b4 ! 4 (B.17*)
A D a0 1 c1 b 0 1 d1 .e2 P1 f2 P2 / a0 1 d1 C b 0 1 c1 .f2 P1 C e2 P2 / (B.18*)
B D a0 1 c1 b 0 1 d1 .f2 P1 C e2 P2 / C a0 1 d1 C b 0 1 c1 .e2 P1 f2 P2 / (B.19*)
C DEG (B.20*)
D DF H (B.21*)
E D a0 1 e1 b 0 1 f1 .c2 P1 d2 P2 / a0 1 f1 C b 0 1 e1 .c2 P2 C P1 d2 / (B.22*)
F D a0 1 e1 b 0 1 f1 .c2 P2 C P1 d2 / C a0 1 f1 C b 0 1 e1 .c2 P1 d2 P2 / (B.23*)
G D a0 2 c2 b 0 2 d2 .e2 N1 f2 N2 / a0 2 d2 C b 0 2 c2 .e2 N2 C f2 N1 / (B.24*)
H D a0 2 c2 b 0 2 d2 .e2 N2 C f2 N1 / C a0 2 d2 C b 0 2 c2 .c2 N1 f2 N2 / (B.25*)
XY D Z (B.26*)
where
2 3
T0 0 T2 R1 S2 R3
6 0 S2 R3 S4 7
6 0 T2 7
6 T2 T4 R3 S4 R5 7
6 0 7
6 :: :: :: :: :: :: :: :: 7
6 7
6 : : : : : : : : 7
X D6 7 (B.27*)
6 R1 S2 R3 Q2 0 Q4 7
6 7
6 S2 R3 S4 0 Q4 0 7
6 7
6 R3 S4 R5 Q4 0 Q8 7
4 5
:: :: :: :: :: :: :: ::
: : : : : : : :
T
Y D a0 a1 a2 b1 b2 b3 (B.28*)
T
Z D R1 S2 R3 0 Q2 0 (B.29*)
Z!2
Tl D ! l .A2 C B 2 / d! (B.30*)
!1
Z!2
Rl D ! l .AD BC / d! (B.31*)
!1
Z!2
Sl D ! l .AC C BD/ d! (B.32*)
!1
Z!2
Ql D ! l .C 2 C D 2 / d! (B.33*)
!1
Therefore, by supplying the linear plant, the desired closed-loop transfer func-
tion, and the frequency range of interest, one could use Eq. B.26 and directly solve
for the unknown function parameter r.s/.
In order to complete the design procedure above, the user must take into account
the remarks made in the above Discussion section. This results in a trial-and-error
scheme by which the determination of the desired frequency range, determination
of the enhancing requirements, and determination of the orders of numerator
and denominator of the transfer function parameter (in case of n-th order linear
controller design) would be possible. This trial-and-error scheme becomes tedious
and time consuming, and at the end the user is not sure if all the possibilities have
been considered.
In order to alleviate this problem, the following algorithm is developed:
Algorithm B.1
1. Let the user set the lower and upper limits of desired frequency range of
interest; the default values are 0 and 10.
2. Solve design equation (e.g., Eq. B.26) for controller parameters.
3. Validate design.
4. If satisfactory results are obtained, then stop; otherwise, vary the lower
and upper limits of the desired frequency range of interest using numerical
optimization.
5. If the variation of lower and upper limits of integration is exhausted with
no solution, then go to Step 6; otherwise go to Step 2.
6. If an n-th order controller is being designed, increase the degrees of
numerator and denominator of the function parameter, and go to Step 2.
If increasing the degrees of numerator and denominator of the function
parameter is exhausted with no solution, then go to Step 7; otherwise stop.
7. Provide plant transfer function enhancing (by introducing high-order
dynamic terms to increase the order of the desired transfer function), and
go to Step 2. If enhancing does not produce the desired result, conclude
that a solution does not exist; consider relaxing the performance measures
or consider a different feedback structure.
B.2 Software
The output is the desired controller parameters. The unified design approach that is
implemented is based on minimizing a mean-squared error type objective function
as given by Eq. B.13. This minimization gives the controller parameters in terms
of a set of linear simultaneous algebraic equations. This solution method requires
the user to input such parameters as the lower and upper limits of frequency
range of interest as well as those discussed in Sect. B.1.1; such parameters could
be automatically determined by the use of numerical optimization as outlined in
Algorithm B.1.
A MATLAB® function is developed that automates the design of classical
controllers. This function is of the following form:
where
gp is the transfer function of the plant that must be controlled
hd is the transfer function of the desired closed-loop system
params is an array of size 6 that controls the execution of the function
params(1): this input is between numbers 1 and 5. A 1 implies design of a lead-
lag compensator, a 2 implies design of a PID compensator, a 3 implies
design of an n-th order compensator using the factorization approach,
a 4 implies design of a proportional and rate-feedback compensator,
and a 5 implies design of a proportional-integral plus rate-feedback
compensator.
params(2): the final time to be used for simulation of the final feedback system;
if set equal to 1, then the final simulation time value is automatically
determined from MATLAB® .
params(3): the desired error between step response of hd and the designed closed-
loop system; if set equal to 1, then a value of 1 is used.
params(4): the integration step size; if set equal to 1, then a value of 0.005 is used.
params(5): the lower limit of the frequency range of interest; if set equal to 1, then
a value of 0.01 rad/s is used.
params(6): the upper limit of the frequency range of interest; if set equal to 1, then
a value of 10 rad/s is used. The maximum allowed value is arbitrarily
set to 20 rad/s.
gc is the output of the function. In case of lead-lag, PID, and nth order compen-
sators, gc is the transfer function of the compensator; in case of proportional plus
rate-feedback design, gc is an array whose first element is the gain of the rate-
feedback term, and its second element is the gain of the proportional term; in case
of proportional-integral plus rate-feedback, gc is an array whose first element is the
gain of the integral action, its second element is the gain of the proportional term,
and its third element is the gain of the rate-feedback term.
Appendix C
Additional Example Problems for Multivariable
Single-Range Controller Design
The above reference linear model is chosen so the closed-loop system would be
decoupled, and the diagonal dynamics correspond to a linear second-order system
whose natural frequency and damping ratio are 25 and 1, respectively. Use of a
higher value for the natural frequency would result in nonlinear system response to
have an overshoot, and the use of a lower value for the damping ratio would result
in nonlinear system response to be very sluggish.
Step 2 – For the nominal operating regime of interest, the input/output behavior
of the process is characterized as outlined in Chap. 2. The nominal value of the
regulator control valve piston position and the nominal value of the stabilizer control
valve piston position (along with their limits) determine the DC part of excitation,
and the maximum travel values of these pistons are used to determine the amplitudes
of excitation. From the knowledge of the physical process, the frequency range
of interest is determined to be between 1 and 150 rad=s; as was mentioned, the
selected frequency pair must not be identical, and they are chosen as nearly equal
and related rationally. Initially, the phase shifts are set equal to zero; if satisfactory
results are not obtained, then effects of phase shift may also be considered. In
continuation, the plant is excited and the outputs (combustion chamber pressure and
the difference in shut-down valve exit pressure and the stabilizer control valve exit
pressure) are determined. Then, Fourier integrals are evaluated when the outputs are
at steady state. Finally, the matrix SIDF model is calculated. The resulting matrix
SIDF model and the fitted linear model of the next step are depicted in Figs. C.1
and C.2.
Step 3 – In this step, by providing the real and imaginary parts of the pseud-
ofrequency response obtained in the previous step as a function of frequency, the
®
invfreqs function of the MATLAB software is used to identify the individual
elements of the matrix linear approximation one at a time. This function allows
C.1 Example Problem: One Combustion Chamber Liquid Propellant Engine 131
Step 3 – The diagonal elements of the controller are determined by solving for
r.s/ using Eq. B.26 followed by application of Eq. B.5. Determination of c11 .s/ is
described, and determination of c22 .s/ is similar. In order to apply Eq. B.26, the co-
prime factor pairs (ŒN.s/;D.s/ and ŒP .s/; Q.s/) must be determined. Since g11 .s/
is stable, one could choose these factors as follows: N.s/ D g11 .s/; D.s/ D 1;
252
P .s/ D 0; and Q.s/ D 1. From Eq. B.1 it is concluded that hD y;u D s 2 C50sC252 .
The only remaining parameters that need to be specified in order to solve for r.s/
are !1 ; !2 in Eqs. B.30–B.33 and m; n in Eq. B.8. Some trial and error must be
employed to determine these parameters; the procedure is computer aided, and
therefore, the cycle time for determination of these parameters is not very long. For
starting point, set m D n D 0 and !1 D 0; !2 D !BW , where !BW is the bandwidth.
To improve on the quality of behavior at high frequencies, increase !2 and/or
increase !1 , and in order to improve the quality of behavior at low frequencies,
decrease !2 . If satisfactory results are not obtained, then increase m; n. Repeat
this cycle until a design is obtained. For this example, !1 D 0; !2 D 10; m D
2; and n D 2. Then Eq. B.26 is applied, and r.s/ is determined. Upon substitution
of r.s/ in Eq. B.5, the desired c11 .s/ is obtained as follows:
44:67s C 250:9
c11 .s/ D (C.3*)
s 2 C 50s
146:9s 824:9
c12 .s/ D 0; c21 .s/ D (C.4*)
s3 C 55:62s 2 C 280:9s
Fig. C.3 Structure of the H1 feedback system. Source: (Nassirharand and Mousavi Firdeh
2009a) © Elsevier
The factor 0.2 is a scalar weight, the zero at 40 is selected so the signals
with frequencies less than the required bandwidth would not be penalized, and
the poles at 200 and 120 are used to severely penalize the control signals
corresponding to the two actuating signals with frequencies higher than 200 and
120 rad=s, respectively.
2. Considering a multiplicative uncertainty, the following disturbance weighting
function is selected to achieve robust stability:
2 0:2 .s C 1/ 3
0
6 s C 20 7
Wdist D 4
0:2 .s C 1/ 5
(C.7*)
0
s C 20
Fig. C.4 Bode plots of the algebraic and H1 controllers. Source: (Nassirharand and Mousavi
Firdeh 2009a) © Elsevier
Fig. C.5 Time history of the combustion chamber pressure. Source: (Nassirharand and Mousavi
Firdeh 2009a) © Elsevier
Fig. C.6 Time history of the stabilizer pressure difference. Source: (Nassirharand and Mousavi
Firdeh 2009a) © Elsevier
From the above observations, it may be concluded that the dynamic behaviors
of the two controllers are similar; however, the algebraic controller is simpler; and
hence, it is easier to implement.
Step 4 – Finally, the design is verified. The combustion chamber pressure and the
difference in input and output stabilizer pressures for the two designs in cascade
with the nonlinear plant along with desired responses are depicted in Figs. C.5 and
C.6. The corresponding time histories of the control signals are shown in Figs. C.7
and C.8. It is apparent that control system behavior is acceptable. To check the
robustness of the designed control system, the pumps’ heads were reduced by 10%.
The corresponding time responses are depicted in Figs. C.9 and C.10. Again, it is
136 Appendix C Additional Example Problems for Multivariable Single-Range...
Fig. C.7 Time history of the regulator control signal. Source: (Nassirharand and Mousavi Firdeh
2009a) © Elsevier
Fig. C.8 Time history of the stabilizer control signal. Source: (Nassirharand and Mousavi Firdeh
2009a) © Elsevier
apparent that system is responding as desired. With reference to Figs. C.5, C.6, C.7,
C.8, C.9, and C.10, the following observations are made:
1. The combustion chamber pressure response with the H1 controller includes
a higher level of undershoot than that of the algebraic controller, which may
not be desirable. Qualitatively, the remaining parts of the two responses may be
considered to be equal.
2. The stabilizer pressure difference response with the H1 controller has a faster
rise time than that of the response with the algebraic controller, and it has a
small amount of overshoot. However, the settling times may be considered to be
identical. There is no overshoot with the algebraic controller.
C.2 Example Problem: Five Combustion Chamber Liquid Propellant Engine 137
Fig. C.9 Robustness test – combustion chamber pressure. Source: (Nassirharand and Mousavi
Firdeh 2009a) © Elsevier
Fig. C.10 Robustness test – stabilizer pressure difference. Source: (Nassirharand and Mousavi
Firdeh 2009a) © Elsevier
3. Control signals of both the regulator and stabilizer axis are smooth and
acceptable.
4. The time histories of the outputs under a drop in pumps’ pressures are
competitive.
The controller design Algorithm 3.1 is applied to the propulsion control of a five
combustion chamber liquid propellant engine (LPE). The schematic drawing of the
considered liquid propellant engine is shown in Fig. C.11. A brief engine operation
138 Appendix C Additional Example Problems for Multivariable Single-Range...
8 7
16
2
OXIDIZER FUEL
14
6 5
4
15
18 3
17
11
10 12
13
Fig. C.11 Schematic diagram of the LPE (see Table C.1 for key)
(21) oxidizer shut-down valve of the thrusters, (22) staged start valve, (23) valve for
simultaneous discharge of the tanks, (24)–(35) orifices, (36)–(49) pipes, and (50)
nonreturn valve.
The LPE operates in the following manner. First, the pressures inside the fuel and
oxidizer tanks reach to specified values. Then, electric commands to starter, fuel, and
oxidizer diaphragm valves (not shown) are issued to start the turbine and allow fuel
and oxidizer to enter the system. As the exit pressurized gas of the starter turns the
turbine, the shaft of the turbopump starts rotating, and the pumps are commissioned.
As a result, fuel and oxidizer would be pumped.
In the fuel path, after liquid modulation, the fuel path is divided into three
branches. In the first branch, some fuel enters the stabilizer of the combustion
chamber. In the second branch, some fuel is guided toward the regulator, and
finally, in the third branch, some fuel heads toward the thrusters. In the first branch,
the combustion chamber stabilizer guides a controlled amount of fuel to the fuel
discharge valve (not shown). Under the condition that fuel discharge valve is not
activated, the fuel that enters this valve travels toward the combustion chamber after
going through appropriate connections. In the second branch, the amount of fuel that
is guided toward the regulator valve passes through appropriate connections, and it
enters the regulator valve. The regulator control valve passes a controlled amount of
fuel to the gas generator. Finally, in the third branch, some fuel enters the thrusters.
In the oxidizer path, the oxidizer exiting the oxidizer pump is divided into two
branches. In one branch, the oxidizer enters the combustion chamber. This amount
of oxidizer and the amount of fuel that enters the combustion chamber from the fuel
path are combined, and due to the resulting combustion, the engine is turned on. The
second branch itself is divided into two other subbranches or parts.
In the first subbranch, some oxidizer enters the gas-generator stabilizer control
valve; this stabilizer sends a controlled amount of oxidizer into the gas generator.
This amount of oxidizer and the amount of fuel that enters the gas generator from
the fuel path are combined, and combustion is resulted. The exit pressurized gas
140 Appendix C Additional Example Problems for Multivariable Single-Range...
of the gas generator keeps the turbine rotating, and the starter gradually leaves the
circuit. In the second subbranch, some oxidizer enters the thrusters. This amount of
oxidizer that enters the thrusters is combined with the amount of fuel that comes
from the fuel path, and combustion takes place.
The nonlinear and dynamic computer model (Karimi and Nassirharand 2006;
Nassirharand and Karimi 2004b) of the liquid propellant engine is utilized to design
a controller for the system. It is desired that the final nonlinear closed-system input–
output behavior would mimic the following reference linear model (Abbassi 2003):
2 9:35s C 28:06 3
0
6 7
D 4 s C 12:15s C 28:06
2
56 5
Gref (C.10)
0
s C 56
Step 4 – In this step, two different feedback structures are considered for controller
design (Abbassi 2003). The first structure is similar to that shown in Fig. B.1
with g21 D 0; the corresponding feedback structure would be given by Fig. C.14.
Substitute appropriate terms into Eq. B.3; then compare the main return ratios for
loops 1 and 2 with the main diagonal terms to obtain c11 .s/ and c22 .s/. Finally,
use Eq. B.2, and solve for c12 .s/ and c21 .s/. The designed controller (with the
feedback structure given by Fig. C.14) is given below:
2 3
s C 3 8:386s 2 C 2970:14s 12305:368
6 7
6 3s s 2 C 1274:44s 7
6
C.s/ D 6 7 (C.12)
7
4 200 5
0
s
With the second structure (see Fig. C.15), the controller matrix would not
be presentable in a standard fashion as in the case with the first structure. With
142 Appendix C Additional Example Problems for Multivariable Single-Range...
u1
c11(s) g11(s)
y1
c12(s)
g12(s)
r2 y2
c22(s) g22(s)
e2 u2
reference to Fig. C.15, c11 and c22 would be as designed in the first structure. By
inspecting the block diagram in Fig. C.15, the following equation is obtained:
Note that
u2 22 1 203
D gref g22 D (C.15)
r2 s C 56
22
where gref is the (2,2) element of matrix Gref given by Eq. C.10. Compare
Eqs. C.15 and C.14, and substitute for known quantities to obtain M as follows:
u1
c11(s) g11(s)
y1
M
g12(s)
y2
c22(s) g22(s)
r2 e2 u2
Fig. C.16 Design verification for the combustion chamber pressure (Abbassi 2003)
As is demonstrated in Figs. C.20 and C.21, the SIDF models of the final closed-
loop system at various operating regimes of interest are successfully obtained;
hence, one may conclude that closed-loop system is stable when operating at the
desired operating regimes.
146 Appendix C Additional Example Problems for Multivariable Single-Range...
It is emphasized that the basic SRLCD procedure that is outlined in Sect. 3.1 is
limited to stable plants. For unstable plants, one approach is to stabilize the plant,
and then apply the outlined procedure to the stabilized plant. This approach is
demonstrated by the following example problem.
A two degree-of-freedom robot arm is considered (see Fig. C.22; Teh and
Nassirharand 2010b). Let Li , Mi , and qi be the length, the lumped mass, and angle
of link i ; for this example problem: M1 D 3Kg, M2 D 1Kg, L1 D 1m, and
L2 D 1m (Utkin et al. 1999). The equations of motion of the robot as given by
Utkin et al. 1999 follow:
1 m11 m12 qR 1 n
D C 1 (C.18)
2 m21 m22 qR2 n2
where
n1 D L1 L2 M2 2qP 1 qP 2 qP 22 sin .q2 / (C.23)
First, velocity feedback is used to stabilize the system. The gains of the
velocity feedback for the first and second links are arbitrarily set to be 50 and 40,
respectively. In continuation, Algorithm 3.1 is executed for the stabilized system as
follows:
Step 1 – The desired reference linear model is a diagonal matrix transfer function
whose (1,1) element is a second-order transfer function with a damping ratio of
0.5 and a natural frequency of 100 rad=s, and its (2,2) element is another second-
order transfer function with a damping ratio of 0.5 and a natural frequency of 150
rad=s.
Step 2 – The stabilized system is simulated in the Simulink environment, and the
outputs as functions of time are obtained. Then, the MATLAB® software outlined
in Chap. 2 is utilized, and the describing function models are generated. These
models along with linear system identification results of the next step are shown
in Figs. C.23 and C.24 (these figures originally appeared in Nassirharand 2008c).
Step 3 – As was mentioned, the invfreqs function of MATLAB® is used, and the
following linear model is identified (Govindan 2011):
2 10:78 37:99 3
6
GD4 s .s C 7:84/ s 2 C 129:8s C 667:9 7
0:003457s C 0:0994 5
(C.24)
38:08
s 2 C 129:7s C 665:6 s
148 Appendix C Additional Example Problems for Multivariable Single-Range...
Fig. C.23 The multivariable gain matrix of the robot. Source: (Nassirharand 2008c) © Emeralds
Step 4 – The design equations developed in Appendix B are used to design the
controller. For the return ratio corresponding to both loops, the following design
parameters are used: m D n D 6I !1 D 0I !2 D 10: The designed controller is
of the following form (Govindan 2011):
2 2:56 3
c12 .s/
6 s 2 C 3:2s C 2:56 7
C D4 5 (C.25)
4
c21 .s/
s 2 C 4s C 4
where
8:526e4s 2 C 5:132e5s
c21 .s/ D (C.27)
s 3 C 664:5s 2 C 4:318e4s C 2:213e5
C.3 Example Problem: An Unstable Multivariable Robot Arm 149
Fig. C.24 The multivariable phase matrix of the robot. Source: (Nassirharand 2008c) © Emeralds
Step 5 – Finally, the design is verified via a nonlinear simulation. The results are
compared with an alternate design (Nassirharand 2008c) in Figs. C.25, C.26,
C.27, C.28, C.29, and C.30. The following remarks are made:
1. There is less coupling (see Figs. C.26 and C.29) with the new design at the
expense of increase in settling time (see Figs. C.25 and C.28).
2. The robustness of both designs is competitive (see Figs. C.25, C.26, C.27, C.28,
C.29, and C.30).
3. The control signals of both designs are acceptable. The new design has less
control effort (see Figs. C.27 and C.30).
150 Appendix C Additional Example Problems for Multivariable Single-Range...
Fig. C.27 Quality of the control signal for the first axis
Fig. C.30 Quality of the control signal for the second axis
Appendix D
Dual-Range Controllers and Simultaneous
Stabilization Theory
Application of the factorization theory of linear systems requires one to solve for
the coprime factors satisfying the Bezout’s identity, i.e.:
PN C QD D I (D.1)
N P C DQ D I (D.2)
where
D D a right coprime factor of the plant G and a transfer function matrix
D D a left coprime factor of the plant G and a transfer function matrix
1
G D the plant transfer function matrix, G D N D 1 D D N
I D the identity matrix
N D a right coprime factor of the plant G and a transfer function matrix
N D a left coprime factor of the plant G and a transfer function matrix
P D a right coprime factor and a transfer function matrix
P D a left coprime factor and a transfer function matrix
Q D a right coprime factor and a transfer function matrix
Q D a left coprime factor and a transfer function matrix
P
x.t/ D Ax.t/ C Bu.t/ (D.3)
where
A D system matrix, 2 Rnn
B D input matrix, 2 Rnp
C D output matrix, 2 Rqn
E D transmission matrix, 2 Rqp
t D time variable
u D vector of inputs of size p
x D vector of state-variables of size n
y D vector of outputs of size q
The coprime factors may be obtained from the following relations (Nett et al.
1984):
1
P D K sI A00 F (D.7)
1
Q D I C K sI A00 .B FE/ (D.8)
1
N D C sI A00 .B FE/ C E (D.9)
1
D D I C sI A00 F (D.10)
where
A0 D A BK (D.13)
D.1 Bézout’s Identity 155
A00 D A F C (D.14)
Matrices F and K are determined such that eigenvalues of A0 and A00 have
negative real parts; if such F and K exist, then the pairs .A; B/ and .A; C / are said
to be stabilizable (i.e., all unstable poles are state controllable) and detectable (i.e.,
all unstable poles are observable), respectively (Skogestad and Postlethwaite 2005).
For single-input single-output systems, it has been shown that the application of the
above relations to obtain the coprime factors results in high-order coprime factors
(Nassirharand and Patwardhan 1988; Patwardhan 1988; Nassirharand 1993, 2003).
Given the plant transfer function, G, a lucid factorization of G is given by (see
Vidyasagar 1985):
8 n0 9
< G D N D 1 ; G 2 R.s/; N 2 H; D 2 H; N D ; >
ˆ =
m
(D.15*)
:̂ n0 2 ; m 2 h ; D D d0 ; d0 2 >
;
m
where
d0 D the denominator polynomial of G
H D a ring; this ring is the set of all rational functions whose poles lie on the left
half of the s-plane
m D Hurwitz polynomial whose poles are in a user-defined algebraic ring H
n0 D the numerator polynomial of G
R.s/ D field of rational functions in s
D the set of all polynomials in s
h D the set of all Hurwitz polynomials in
Now let
p0 .s/
P .s/ D (D.17*)
p1 .s/
q0 .s/
Q.s/ D (D.18*)
q1 .s/
p0 .s/n0 .s/q1 .s/ C q0 .s/d0 .s/p1 .s/ D m.s/q1 .s/p1 .s/ (D.19*)
let p1 .s/ D q1 .s/ D d.s/ with d.s/ 2 h. Then, the Bezout’s identity becomes:
Note that coprime factors P and Q must at most be proper. For this reason we let
ıp0 D ıq0 D ıd , where the symbol ı is used to denote the degree of a polynomial,
and it may be subscripted for clarity. The following relation gives the number of
unknown coefficients on the left-hand side of Eq. D.20, denoted Tl :
Tl D 2ıd C 2 (D.21*)
And the number of unknown coefficients on the right-hand side of Eq. D.20,
denoted Tr , is given by:
Tr D ım C ıd C 1 (D.22*)
T l D Tr ) ı d D ı m 1 l (D.23*)
Let
m.s/ D m0 C m1 s C m2 s 2 C (D.28*)
d.s/ D d 0 C d 1 s C d 2 s 2 C (D.29*)
Select m.s/ 2 h and d.s/ 2 h such that coprime pairs ŒP; Q 2 H and
ŒN; D 2 H ; then, substitute the above polynomials of known degrees into Bezout’s
identity (or Eq. D.20); expand identity terms and equate terms of equal power in
complex frequency. The following equations would be obtained:
D m0 d l C m1 d l1 C C ml d 0 (D.32*)
n0lC1 p00 C nl0 p01 C C n10 p0l C d0lC1 q00 C d0l q01 C C d01 q0l
D m0 d lC1 C m1 d l C C mlC1 d 0 (D.33*)
.l C 2; l C 3; :::; 2l C 1/g, m D 0; k 2
i WD .l C 2; l C 3; :::; 2l C 1/ , and
˚ k
d D 0; k 2 i WD .l C 1; l C 2; :::; 2l C 1/ , the above set of equations in matrix
form follows.
SX D B 0 (D.35*)
where
S11 S12
SD (D.36*)
S21 S22
2 3 2 3
n00 0 0 0 d00 0 0
6 1 : :: :: 7 6 1 : 7
6n
6 0 n00 : : : : 7
7
6d
6 0 d00 : : 0 0 7
7
6 7 6 7
S11 D 6 ::: :
n10 : : 0 07 S12 D 6 ::: :: ::
: : 0 0 7
6 7 6 7
6 : :: : : 7 6 : :: :: 7
4 :: : : n0 0 5
0 4 :: : : d 0 5
0
0
nl0 nl1
0 n10 n00 d0l d0
l1
d01 d00
2 3 2 3
n0lC1 nl0 n10 d0lC1 d0l d01
6 7 6 7
6 0 n0lC1 nl0 : : : n20 7 6 0 d0lC1 : : : ::
: d02 7
6 7 6 7
6 7 6 7
S21 D 6 ::: :
0 :: ::
: ::
: 7 S22 D 6 ::: :
0 :: d0l
::
: 7
6 7 6 7
6 : : : : : lC1 7 6 : :: :: 7
4 :: : : n0 nl0 5 4 :: : : d0lC1 d0l 5
0 0 0 n0lC1 0 0 0 d0lC1
2 3
m0 d 0
6 m0 d 1 C m 1 d 0 7
6 7
6 : 7
6 :: 7
6 7
6 :: 7
6 7
6 : 7
6 0 l l 0 7
6 m d C m 1 l1
d C ::: C m d 7
B0 D 6 7 (D.37*)
6 m1 d l C m2 d l1 C ::: C mlC1 d 0 7
6 7
6 :: 7
6 : 7
6 7
6 :: 7
6 : 7
6 7
6 :: 7
4 : 5
mlC1 d l
Remark 1. In order to obtain the lower-order coprime factors that are solutions to the
Bezout’s identity, we must select m.s/ to enforce either N.s/ 2 H or D.s/ 2 H to
have left-half plane pole/zero cancellations.
D.1.3 Software
®
A MATLAB function for computation of coprime factors given by Eqs. D.5–D.12
is developed in Teh (2010). With reference to the work presented in Nassirharand
®
and Patwardhan (1988), a much simpler software in the MATLAB environment for
single-variable systems is developed in Nassirharand (2003). The m-file listings are
given in Fig. D.1.
®
The corresponding MATLAB function is of the following form:
The original idea for design of dual-range controllers for nonlinear systems (Taylor
1983) calls for the application of simultaneous stabilization theory of Vidyasagar
and Viswanadham (1982). In this section, all controllers that simultaneously
stabilize the closed-loop systems corresponding to the two linear system models
of the nonlinear plant are parameterized. This involves developing a mathematical
expression for all stabilizing controllers in terms of the coprime factors of linear
system models and another as yet unknown stable nth-order transfer function
denoted r.s/.
The term parameterization arises from the fact that the class of all stabilizing
controllers is expressed in terms of the parameter r.s/. Such a parameterization
provides a logical means for obtaining the desired minimum-sensitivity controller.
The following is single-input/single-output version of the simultaneous stabilization
theory.
160 Appendix D Dual-Range Controllers and Simultaneous Stabilization Theory
Fig. D.1 Listing of the m-files for lucid factorization and solution to the Bezout’s identity. Source:
(Nassirharand 2003) © Elsevier
D.2 DRLCD Using Simultaneous Stabilization Theory 161
Theorem 2. The class of all controllers that stabilize a plant G.s/ may be parame-
terized in terms of a stable linear transfer function, r.s/, as follows:
P .s/ C r.s/D.s/
C.s/ D (D.38)
Q.s/ r.s/N.s/
where
C.s/ D the stabilizing controller
r.s/ D any stable transfer function parameter to be selected by the designer; may
be selected to achieve certain performance criteria,
and the rest of the symbols are defined as in Eq. D.1. See Youla et al. (1976) for
proof.
The parameterization of all controllers that stabilize two stable linear system
models is given next. Let the pair ŒNi .s/; Di .s/ correspond to the stable coprime
factors of Gi .s/, i D 0; 1 and designate the corresponding factors that satisfy the
Bezout’s identify by the stable coprime pair ŒPi .s/; Qi .s/.
Theorem 3. The set of all controllers that simultaneously stabilize G0 .s/ and G1 .s/
is given by:
where r.s/ belongs to the set of all stable controllers that stabilize Ga .s/
The set of all controllers that stabilize Ga .s/ is given by Theorem 2; the condition
that r.s/ must itself be stable (it is said that the plant G a must be strongly
stabilizable) must be imposed in addition. See Vidyasagar and Viswanadham (1982)
for proofs.
The following algorithm (Patwardhan 1988; Nassirharand 1991; Ujile and Nas-
sirharand 2010), which is based on the simultaneous stabilization theory presented
above, may be applied to arrive at a dual-range controller.
Algorithm D.2
1. Define the desired performance measures for the final closed-loop system.
For example, one could specify the desired percentage overshoot, rise time,
settling time, undershoot, gain margin, and/or phase margin.
2. Identify a reference linear model whose characteristics are similar to those
of the performance measured defined in the previous step.
164 Appendix D Dual-Range Controllers and Simultaneous Stabilization Theory
3. Set the denominator of the design parameter equal to that of the reference
linear model identified in Step 2. This choice for the design parameter
denominator is based on dominant pole placement ideas.
4. Use the Lucid factor MATLAB® function (see Fig.D.1) and compute the
coprime factors of the plant transfer functions as well as the coprime
factors that are solutions to the Bezout’s identity.
5. Compute the auxiliary plant, Ga .s/, given by Eq. D.40. Then, classify the
set of all controllers that stabilize the auxiliary plant in terms of a function
parameter, Ra .s/, as below (see Theorem 2):
F D ˇF0 C .1 ˇ/ F1 (D.42)
where
h˚
2 i X 2
j j
Fj .x/ D ˛ j
ymax ymax
d
C < ymin >2 C yi yid ; j D 0; 1
i
(D.43)
8
< j 2 j
j ymin if ymin < 0
< ymin > D
2
(D.44)
: 0 if y j > 0
min
D.2 DRLCD Using Simultaneous Stabilization Theory 165
D.2.2 Software
There exist two pieces of software based on Algorithm D.2. One is in the FORmula
TRANslation language whose listing is given in Patwardhan (1988). The other is
in terms of MATLAB® functions developed in Ujile (2010). The flow chart of
the MATLAB® version is given in Figs. D.2 and D.3 (Ujile and Nassirharand
2010).
Consider a linear system with integrity whose dynamic behavior at two different
conditions is given by G0 .s/ and G1 .s/ as follows:
1
G0 .s/ D (D.45)
4 .s C 2/
3:0
G1 .s/ D (D.46)
4 .s 2/
166 Appendix D Dual-Range Controllers and Simultaneous Stabilization Theory
This example problem was originally studied in Nassirharand (1986), and later
in Patwardhan (1988), Nassirharand (1991), Ujile and Nassirharand (2010), Teh
(2010), and Nassirharand (2010b). It is desired to design a dual-range controller
so the closed-loop system comprised of the designed controller and the two linear
models above would mimic a second-order linear system with a percent overshoot
of 37 and a settling time of 0.3 s, i.e.:
1867:9
y;u D
hD (D.47)
s 2 C 26:5s C 1867:9
The plant G0 .s/ is stable. Hence, we choose N0 .s/ D G0 .s/ and D0 .s/ D 1: The
auxiliary plant Ga .s/ is given by the following equation:
sC4
Ga .s/ D (D.48)
2 .s 2 4/
D.2 DRLCD Using Simultaneous Stabilization Theory 167
Since Ga .s/ has the parity interlacing property (PIP), a compensator that strongly
stabilizes Ga .s/ exists (a plant has PIP if the number of poles of the plant between
every pair of real zeros on the right half plane is even). To find the auxiliary
compensator Ca .s/, first the coprime factors of Ga .s/ are formed as given below:
sC4
Na .s/ D (D.49)
s 2 C 4s C 4
2 .s 2/
Da .s/ D (D.50)
.s C 2/
For the above coprime factors, the solution to the Bezout’s identity is obtained
as follows:
Pa .s/ D 2:6667 (D.51)
s C 3:33
Qa .s/ D (D.52)
2 .S C 2/
168 Appendix D Dual-Range Controllers and Simultaneous Stabilization Theory
where
rad D the denominator polynomial of the transfer function parameter Ra .s/ in
Eq. D.41
ran D the numerator polynomial of the transfer function parameter Ra .s/ in Eq. D.41
To maximize the number of the independent design variables for optimization,
we set the degree of the numerator polynomial of the parameter Ra .s/ equal to that
of its denominator. Hence,
The design variable c0 in Eq. D.54 is selected to have a zero steady-state error due
to a step input, i.e., c 0 D 1243:36. Optimization is used to select the design variables
a0 and b0 in the following fashion. The value of ˇ D 0:5 is chosen to give the same
weight to the responses due to both plants. Keeping ˇ fixed at 0.5 with initial values
a0 D b 0 D 1:0, and ˛ D 1000, the two software mentioned in Sect. D.2.2 produce
the following compensators:
where
Css1 D the controller obtained using the FORTRAN software after simplification and
model reduction
Css2 D the controller obtained using the MATLAB® software after simplification
and model reduction
Unlike the FORTRAN solution, in MATLAB® solution the value c 0 is also
determined by optimization; its initial value is set to 1; also, poles of the coprime
factors are set to 2. For comparison purposes, the software based on direct
optimization approach is also applied; the following controller is obtained:
Fig. D.4 Comparison of frequency response of the three simultaneous stabilizing controllers
where
Css3 D the controller obtained using the MATLAB® software using direct optimiza-
tion (Teh 2010) after simplification
The frequency responses of all three controllers may be compared by examining
Fig. D.4. The unit step responses of the closed-loop systems comprised of both
plants (see Eqs. D.45 and D.46) with all three controllers along with that of the
desired are depicted in Figs. D.5 and D.6.
170 Appendix D Dual-Range Controllers and Simultaneous Stabilization Theory
1:231 C 0:003989s
G0 .s/ D (D.58)
s .0:05475 C 0:003761s/
1:000 C 0:04031s
G1 .s/ D (D.59)
s .0:22521 C 0:23641s/
1953
y;u D
hD (D.60)
s2 C 26:67s C 1953
The particular reason for selecting ˇ D 0:1 is because the nonlinear effects (i.e.,
Coulomb friction) are more pronounced at small signals, and hence, it is decided to
pay more attention to the model given by G1 .s/. This value for ˇ is also selected in
Nassirharand (1991).
The controller obtained by direct optimization (Teh 2010) is given as below (see
Chap. 4):
3:1671s C 1:1469
Css5 .s/ D (D.62)
0:0229s C 0:1089
The unit step-response plots of both controllers with both linear approximations
are depicted in Figs. D.7 and D.8.
The unit step-response plots of Css5 .s/ with the nonlinear plant are depicted in
Fig. D.9. In this example, although Css4 .s/ stabilizes both G0 .s/ and G1 .s/, it does
not stabilize the actual nonlinear system (see Fig. D.10). Hence, the original call
to use the simultaneous stabilization theory of linear systems for nonlinear control
system design becomes questionable.
D.2.4 Discussion
The primary objectives of this appendix were to demonstrate the following two
major problems with the application of the simultaneous stabilization theory of
linear systems to nonlinear systems:
172 Appendix D Dual-Range Controllers and Simultaneous Stabilization Theory
Fig. D.8 Step-response comparison of the performance of different controllers with plant G1
(nonlinear system)
Fig. D.9 Normalized step-response plots of the closed-loop system with the nonlinear plant and
the simultaneously stabilizing controller (D.62)
Fig. D.10 Normalized step-response plots of the closed-loop system with the nonlinear plant and
the simultaneously stabilizing controller (D.61) – unstable!
It could certainly be argued that the direct optimization approach (Teh 2010; Nas-
sirharand et al. 1988; Nassirharand 1991; Patwardhan 1988) described in Chap. 4
could also result in controllers that would stabilize the two linear models but not
the actual nonlinear plant. In such cases, one should consider design of a nonlinear
controller as described in Chap. 5. However, application of the direct optimization
approach to various nonlinear problems in aerospace and servomechanism has not
shown such a characteristic (see Teh 2010; Teh and Nassirharand 2010b, c; Chap. 4;
and Sect. D.2.3.1).
References
Abbassi N (2003) Controller design for simultaneous control of combustion chamber pressure and
mixture ratio of a specific liquid propellant engine. M.S. Thesis Department of Electrical and
Computer Engineering, Amir Kabir University, Tehran
Al-Kindi SSA, Nassirharand A (2010) State-variable control of quadrotor helicopter. In: Proceed-
ings of international conference on advances in mechanical engineering, Shah Alam
Atherton DP (1970) Comment on describing function inversion. Electron Lett 6:779–780
Atherton DP (1975) Nonlinear control engineering. van Nostrand Reinhold, London
Atherton DP, Benouarets M, Nanka-Bruce O (1993) Design of nonlinear PID controllers for
nonlinear plants. Proc IFAC World Congr Sydney 3:355–358
Bengea SC, Li X, Decarlo RA (2004) Combined controller-observer design for uncertain time
delay systems with application to engine idle speed control. ASME Trans J Dyn Syst Meas
Control 126:772–780
Besancon-Voda A, Blaha P (2002) Describing function approximation of a two-relay system
configuration to Coulomb friction identification. Control Eng Pract 10:655–668
Bongard JC, Lipson H (2005) Nonlinear system identification using coevolution of models and
tests. IEEE Trans Evol Comput 9:361–384
Chen CT (1984) Linear system theory and design. Holt, Rinehart, and Winston, New York
Chen CF, Shieh LS (1970) An algebraic method for control systems design. Int J Control 1:717–
739
Colgren RD (2004) Applications of robust control to nonlinear systems. American Institute of
Aeronautics and Astronautics, Reston
D’Azzo JJ, Houpis CH (1966) Feedback control system analysis and synthesis, 2nd edn. McGraw-
Hill Book Company, New York
Dhupia JS, Ulsoy AG, Katz R et al (2008) Experimental identification of the nonlinear parameters
of an industrial translational guide for machine performance evaluation. J Vib Control 14:645–
668
Doyle JC, Glover K, Khargonekar PP, Francis BA (1989) State-space solutions to standard H2 and
H1 control problems. IEEE Trans Auto Control 34:831–847
Garvin C, Mathew A (1996) The application of the method of simultaneous stabilization to the
control of a nonlinear servo valve. IEEE Trans Control Syst Technol 4:654–664
Ge HW, Qian F et al (2008) Identification and control of nonlinear systems by a dissimilation
particle swarm optimization-based Elman neural-network. Nonlin Anal Real World Appl
9:1345–1360
Gelb A, Vander Velde WE (1968) Multiple-input describing functions and nonlinear system design.
McGraw-Hill, New York
Govindan P A/L R (2011) Controller design for a 2 degree-of-freedom robot arm. BEng Thesis,
Faculty of Engineering, The University of Nottingham, Semenyih, Selangor
Haber R, Keviczky L (1999) Nonlinear system identification-input–output modeling approach.
Kluwer Acaemic Publishers, Dordrecht
Horowitz IM (1976) Synthesis of feedback systems with nonlinear time-varying uncertain plant to
satisfy quantitative performance specifications. Proc IEEE 64:123–130
Hunt LR, Su R, Meyer G (1987) Global transformation of nonlinear systems. IEEE Trans Auto
Control 28:24–30
John J (2001) Nonlinear continuous system identification by means of multiple integration II. Acta
Polytechnica 41:64–67
Karimi H, Nassirharand A (2006) Application of a simulation algorithm for dynamic and nonlinear
analysis of a liquid propellant engine. J Aerosp Sci Technol 3:23–30
Karimi H, Nassirharand A, Beheshti M (2003) Dynamic and nonlinear simulation of liquid
propellant engines. AIAA J Propuls Power 19:938–944
Kerschen G, Worden K, Vakakis AF et al (2006) Past, present and future of nonlinear system
identification in structural dynamics. Mech Syst Signal Process 20:505–592
Kim MS, Chung SC (2006) Friction identification of ball-screw driven servomechanisms through
the limit cycle analysis. Mechatronics 16:131–140
Kuo BC (1982) Automatic control systems, 4th edn. Prentice-Hall, Inc., Englewood Cliffs
Li SC, Nassirharand A (2010) A single-range controller design procedure for one degree-of-
freedom servo systems with experimental results. In: Proceedings of international conference
on advances in mechanical engineering, Shah Alam
Li SC, Nassirharand A (2011) Non-linear proportional-integral-derivative synthesis for unstable
non-linear systems using describing function inversion with experimental verification. Proc
Inst Mech Eng Part I J Systems and Control Eng (in press)
Li L, Yang Y, Peng H (2010) Fuzzy system identification via chaotic ant swarm. Chaos Solitons
Fractiles 41:401–409
Lyashevskiy S, Chen Y (1997) Identification of nonlinear system parameters using describing
function approach. Proc Am Control Conf 3:1944–1945
Mousavi Firdeh SR, Nassirharand A, Abbassi N et al (2006) A systematic single-range controller
synthesis procedure for nonlinear and multivariable liquid propellant engines. Aerosp Sci
Technol 10:392–401
Nanka-Bruce O, Atherton DP (1990) Design of nonlinear controllers for nonlinear plants. Proc
IFAC Congr Tallinn 6:75–80
Nassirharand A (1986) Controller design for nonlinear systems based on simultaneous stabilization
theory and describing function models. PhD Thesis, School of Mechanical and Aerospace
Engineering, Oklahoma State University, Stillwater, Oklahoma
Nassirharand A (1987) Input/output characterization of highly nonlinear systems. Adv Eng Softw
9:129–133
Nassirharand A (1988) Identification of frequency domain models for nonlinear systems. Adv Eng
Softw 10:195–201
Nassirharand A (1991) Design of dual-range linear controllers for nonlinear systems. ASME Trans
J Dyn Syst Meas Control 113:590–596
Nassirharand A (1993) Factorization approach to control system synthesis. AIAA J Guid Control
Dyn 16:402–405
Nassirharand A (2003) Computation of lucid factors for Bezout identity. Adv Eng Softw 34:527–
531
Nassirharand A (2008a) A new software tool for design of linear compensators. Adv Eng Softw
39:132–136
Nassirharand A (2008b) Controller synthesis procedure for linear unstable plants. Int J Automat
Control 2:137–149
Nassirharand A (2008c) Control system design of multivariable non-linear space robots. Aircr Eng
Aerosp Technol 80:27–34
References 177
Nassirharand A (2009a) MATLAB software for inversion of describing functions. Adv Eng Softw
40:600–606
Nassirharand A (2009b) Computer-aided design of classical linear compensators with application
to aerospace. J Syst Eng Electron 20:1373–1377
Nassirharand A (2010a) Nonlinear controller synthesis for SIMO systems with application to cruise
missile. ASCE J Aerosp Eng 23:105–110
Nassirharand A (2010b) Controller design for nonlinear systems. LAP Lambert Academic
Publishing, Saarbrucken
Nassirharand A (2011) Computer-aided design of P or PI plus rate feedback compensators for
linear systems. Adv Eng Software 42:1035–1040
Nassirharand A, Housseini SA (2009) Tracking and decoupling of multivariable nonlinear systems.
Int J Model Identif Control 6:341–348
Nassirharand A, Karimi H (2002) Input/output characterization of highly nonlinear multivariable
systems. Adv Eng Softw 33:825–830
Nassirharand A, Karimi H (2004a) Design of a single-range controller for the pressure control of
a combustion chamber. Scientia Iranica 11:153–158
Nassirharand A, Karimi H (2004b) Controller synthesis methodology for multivariable nonlinear
systems with application to aerospace. ASME Trans J Dyn Syst Meas Control 126:598–607
Nassirharand A, Karimi H (2004c) Closed-form solution for design of lead-lag compensators. Int
J Elect Eng Educ 41:172–180
Nassirharand A, Karimi H (2006) Nonlinear controller synthesis based on inverse describing
function technique in the MATLAB environment. Adv Eng Softw 37:370–374
Nassirharand A, Mousavi Firdeh SR (2008) Design of nonlinear lead and/or lag compensators. Int
J Control Automat Syst 6:394–400
Nassirharand A, Mousavi Firdeh SR (2009a) Combustion chamber pressure control based on
mixed H1 -describing function approach. Acta Astronaut 64:206–211
Nassirharand A, Mousavi Firdeh SR (2009b) Single-range controller design for a cruise missile.
Aircr Eng Aerosp Technol 81:283–287
Nassirharand A, Mousavi Firdeh SR (2009c) Design of nonlinear H1 controllers using describing
functions with application to servomechanism. Asian J Control 11:446–450
Nassirharand A, Patwardhan A (1988) A fast algorithm for obtaining low-order coprime fractional
representations of SISO systems. Control Theory Adv Technol 4:277–281
Nassirharand A, Taylor JH (1990) Synthesis of linear PID controllers for nonlinear multivariable
systems. In: Proceedings of the American control conference, San Diego, California, pp 2223–
2228
Nassirharand A, Taylor JH (1991) Frequency domain modeling of nonlinear multivariable systems.
Control Theory Adv Technol 7:201–214
Nassirharand A, Taylor JH, Reid KN (1988) Controller design for nonlinear systems based on
simultaneous stabilization theory and describing function models. ASME Trans J Dyn Syst
Meas Control 110:277–281
Nassirharand A, Karimi H, Dadfarnia M (2003) A new software tool for synthesis of linear PID
controllers. Adv Eng Softw 34:551–557
Nelder JA, Mead R (1965) A simplex method for function minimization. J Comput 7:308–313
Nett CN, Jacobson CA, Balas MJ (1984) A connection between state-space and doubly coprime
fractional representations. IEEE Trans Automat Control 29:268–280
Ogata K (1990) Modern control engineering, 2nd edn. Prentice Hall, Englewood Cliffs
Ozer MB, Ozguven HN, Royston TJ (2009) Identification of structural non-linearities using
describing functions and the Sherman-Morrison method. Mech Syst Signal Process 23:30–34
Patwardhan A (1988) Compensator synthesis using factorization approach. Masters Thesis,
Department of Mechanical Engineering, University of Kentucky, Lexington, Kentucky
Petrovic I, Baotic M, Perik N (2000) Model structure selection for nonlinear system identification
using feedforward neural networks. In: Proceedings of IEEE-INNS-ENNS international joint
conference on neural networks, Como, 1:1053
178 References
Prazenica RJ, Brenner MJ, Kurdila AJ et al. Nonlinear system identification for aero-elastic
systems. Research and Engineering Education Facility, University of Florida, Shalimar Florida.
http://www.reef.ufl.edu/nonlinear%20System%20Id%20fo..ro-ElasticB.htm
Pujara LR (1988) Computer-aided control systems design technique with applications to aircraft
flying qualities. AIAA J Guid Contr Dynam 11:250–255
Reklaitis GV, Ravindran A, Ragsdell KM (1983) Engineering optimization. Wiley, New York
Rivera DE, Morari M, Skogestad S (1986) Internal mode control. PID Controller design. Ind Eng
Chem Process Des 25:252–265
Rowland JR (1986) Linear control systems. Wiley, New York
Safonov MG, Limebeer DJN, Chiang RY (1989) Simplifying the H1 theory via loop-shaping,
matrix-pencil and descriptor concepts. Int J Control 50:2467–2488
Shi J, Sun HH (1990) Nonlinear system identification for cascaded block model: an application to
electrode polarization impedance. IEEE Trans Biomed Eng 37:574–587
Skogestad S, Postlethwaite I (2005) Multivariable feedback control. Wiley, West Sussex
Slotine JJ, Li W (1991) Applied nonlinear control. Prentice Hall, Englewood Cliffs
Suzuki A, Hedrick JK (1985) Nonlinear controller design by an inverse random-input describing
function methods. In: Proceedings of American control conference, Boston, MA, pp 1236–
1241
Taylor JH (1983) A systematic nonlinear controller design approach based on quasilinear system
models. In: Proceedings of American control conference, San Francisco, CA, pp 141–145
Taylor JH, O’Donnell JR (1990) Synthesis of nonlinear controllers with rate feedback via
sinusoidal input describing function methods. American control conference, San Diego, pp
2217–2222
Taylor JH, Strobel KL (1985) Nonlinear control system design based on quasilinear system models.
In: Proceedings of American control conference, Boston, MA, pp 1242–1247
Teh SH (2010) Design of multivariable dual-range linear controllers for nonlinear systems. BEng
Thesis, Faculty of Engineering, The University of Nottingham, Semenyih, Selangor
Teh SH, Nassirharand A (2010a) Idle speed control using a describing function approach. Proc Inst
Mech Eng Part D J Automob Eng 224:533–545
Teh SH, Nassirharand A (2010b) Software for design of linear controllers for nonlinear systems.
In: Proceedings of international conference on advances in mechanical engineering, Shah Alam
Teh SH, Nassirharand A (2010c) Multivariable temperature control of a reactor. Proceedings of
international conference on advances in mechanical engineering, Shah Alam
Ujile A (2010) MATLAB® software for the design of dual-range linear controllers with application
to robotics. BEng Thesis, School of Electrical and Electronics Engineering, The University of
Nottingham – Malaysia Campus, Semenyih, Selangor
Ujile A, Nassirharand A (2010) MATLAB software for design of SISO dual-range linear
controllers. Int J Syst Control 1:149–155
Utkin V, Guldner J, Shi J (1999) Sliding mode control in electromechanical systems. CRC Press,
Boca Raton
Vaerenbergh SV, Via J, Santamaria I (2007) Nonlinear system identification using a new sliding-
window kernel RLS algorithm. J Commun 2:1–8
Vidyasagar M (1985) Control system synthesis: a factorization approach. MIT Press, Cambridge
Vidyasagar M, Viswanadham N (1982) Algebraic design techniques for reliable stabilization. IEEE
Trans Automat Control 27:1085–1095
Wang L, Barnes TJD, Cluett WR (1995) New frequency-domain design method for PID con-
trollers. IEE Proc: Control Theory Appl 142:265–271
Youla DC, Bongiorno JJ, Jabr HA (1976) Modern Wiener-Hopf design of optimal controllers – pt.
1: the single-input case. IEEE Trans Automat Control AC-21:3–14
Zhuang M, Atherton DP (1993) Automatic tuning of optimum PID controllers. IEE Proc Part D
140:216–224
Ziegler JG, Nichols NB (1942) Optimum settings for automatic controllers. ASME Trans J Dyn
Syst Meas Control 62:759–768
Index
A E
Algebraic design Experimental study, 4, 87–119
algorithm, 127
software, 127–128
F
Feedback structure, 126, 127, 132, 141,
B 143
Bezout identity, 153–159
software, 159
H
H1 design, 31– 34, 55, 57, 58, 78–81, 84, 97,
132, 134, 136
C linear, 57, 58
CACSD. See Computer-aided control system nonlinear-example, 57, 78–81, 84
design
cad controller, 57, 91, 118, 128
Case studies I
idle speed control, 34–41 Inversion
liquid propellant engine, 24–35, 127–143 algorithm, 64–65
robotics, 146–152 software, 69–72
servo, 10–14, 46–48, 72–85, 167–170
UAV, 81–85
Computer-aided control system design L
(CACSD), 1, 3 Lead-lag
linear
example, 100–102
D software, 99
Design platform, 1–3, 9 nonlinear-example, 75–78
Dual-range linear controller design (DRLCD)
algorithm, 45
example, 46–55 M
experiment, 44–46 Multi-range nonlinear controller design
simultaneous stabilization (MRNCD)
algorithm, 159–165 algorithm, 58–60, 64, 65
examples, 165–171 experiment, 60–65
software, 46, 159 software, 66–72
S U
SIDF. See Sinusoidal-input describing function Unstable systems, 87, 88