TRACKING AND DISTURBANCE REJECTION FOR NONLINEAR SYSTEMS
WITH APPLICATIONS TO ROBOTIC MANIPULATORS
By
MICHAEL L. WHITEHEAD
A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN
PARTIAL FULFILLMENT OF THE REQUIREMENTS
FOR THE DEGREE OF DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
1986
ACKNOWLEDGEMENTS
I would like to express my deep appreciation to Dr. Edward W. Kamen
for the suggestions and encouragement he provided over the duration of
my graduate studies. It is safe to say that without his continuous
support, this research would not have been completed. I would also like
to thank Dr. Thomas E. Bullock for his valuable comments concerning this
work. These comments were needed, and the time he spent reviewing the
paper is greatly appreciated. Special thanks also go to Dr. Irena
Lasiecka, Dr. Peyton Z. Peebles, and Dr. George N. Sandor for serving on
my Supervisory Committee; all three are professors under whom I have had
the pleasure of taking courses.
TABLE OF CONTENTS
ACKNOWLEDGEMENTS................................................. ii
ABSTRACT......................................................... v
CHAPTERS
ONE INTRODUCTION.............. .............................. 1
TWO TRACKING AND DISTURBANCE REJECTION FOR
NONLINEAR SYSTEMS ..................................... 8
Notation .............................................. 8
Main Results for the Nonlinear Servomechanism Problem... 9
Stability of the ClosedLoop Transient System........... 26
The Relation Between the Dimension of the Internal
Model System and the Input/Output Dimensions.......... 29
Summary... ............................................. 34
THREE APPLICATION TO LINEAR SYSTEMS........................... 37
Review of Linear Servomechanism Results.................. 37
Solution to the Linear Problem via the
Nonlinear Formulation................................. 39
FOUR FEEDBACK CONTROL.............. .... ................... 47
Stabilization Using the Linearized Equation............. 47
Optimal Feedback for the Linear Servomechanism Problem.. 66
Increased Degree of Stability Using the Optimal
Control Approach...................................... 71
FIVE PRACTICAL CONSIDERATIONS................................ 74
Controller Based on the Nominal Trajectories............ 74
Feedback Gain Selection................................ 80
Robustness with Respect to Generation of the
Nominal Signals...................................... 84
Digital Implementation .................. ............... 86
SIX APPLICATION TO THE ROBOTIC MANIPULATOR.................. 94
Manipulator Dynamics. ....... .................. ........ 94
Actuator Driving Torques................................ 96
Feedback Control System for Tracking and Disturbance
Rejection............................................. 97
Determining the Dynamics of the Internal Model System... 98
Feedback Gain Calculation........................ ...... 101
Compensation for Flexibilities in the Manipulator's
Links................................................ 106
SEVEN SIMULATION RESULTS..................................... 109
The Simulated System................................... 109
Control about a Stationary Configuration................ 112
Control over a Timevarying Nominal Trajectory.......... 124
Correcting for Flexibilities............................ 147
EIGHT CONCLUSIONS AND OPEN PROBLEMS........................... 153
REFERENCES....................... .............................. 155
BIOGRAPHICAL SKETCH ................ ............................ 158
Abstract of Dissertation Presented to the Graduate School
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Doctor of Philosophy
TRACKING AND DISTURBANCE REJECTION FOR NONLINEAR SYSTEMS
WITH APPLICATIONS TO ROBOTIC MANIPULATORS
By
MICHAEL L. WHITEHEAD
December 1986
Chairman: Dr. Edward W. Kamen
Major Department: Electrical Engineering
The servomechanism problem (i.e., output tracking in the presence
of disturbances) is considered for a class of nonlinear systems.
Conditions are given which guarantee the existence of a solution to the
problem. The resulting controller requires an internal model system in
the feedback loop; however, due to the nonlinearity of the system, the
internal model must contain dynamics other than those found in the
reference and disturbance signals.
A robotic manipulator system has been considered as one possible
application for the proposed control scheme and various hypotheses are
tested with respect to this system. Simulations are provided which
demonstrate the performance of the control scheme when applied to a 2
link manipulator.
CHAPTER ONE
INTRODUCTION
One of the most important problems in applications of feedback
control is to provide output tracking in the presence of external
disturbances. This is commonly referred to as the servomechanism
problem. More precisely, given a certain system, the servomechanism
problem involves the design of a controller which enables the output to
asymptotically track a reference signal r(t), in the presence of a
disturbance w(t), where r(t) and w(t) belong to a certain class of
functions. The class of functions might be, for example, combinations
of step, ramp and sinusoidal signals. The frequency of the signals is
usually assumed to be known. Typically, enough freedom is allowed,
however, so that it is not necessary to have apriori knowledge of the
amplitude or phase of either the disturbance or the reference.
The assumption of known frequency but unknown amplitude and phase
provides a realistic model for many reference and disturbance signals
encountered in practice. For example, an imbalance in a piece of
rotating machinery might cause a sinusoidal disturbance force to act on
a certain system. Although the frequency of this force might be easy to
predict, it is doubtful that the exact amplitude could be determined.
Even if the amplitude was known exactly, modeling errors in the plant
would make such schemes as openloop compensation unreliable. This
leads to an important feature of a controller design to solve the
servomechanism problem. Namely, there should be a certain amount of
robustness with respect to plant variations and with respect to
variations in signal level.
The servomechanism problem has been successfully dealt with for
linear, timeinvariant systems. Many results are available [111] and
an excellent summary is provided by Desoer and Wang [2]. A more
abstract discussion is give by Wonham [11]. It has been shown that an
essential ingredient in a controller designed to solve the servo
mechanism problem is an internal model system. This internal model
system is a system which replicates the dynamics of the exogenous
signals (i.e., reference and disturbance) in the feedback loop.
Because any real system is seldom linear, it is important to
consider the servomechanism problem for nonlinear systems. Some results
exist for the nonlinear problem [1215]; but for the most part, the
results apply only when the reference and disturbance signals are
constant.
Desoer and Wang [12] have approached the problem using inputoutput
techniques. They have considered a linear system with nonlinearities
both proceeding it (input channel nonlinearities) and following it
(output channel nonlinearities). They first treat the case of input
channel nonlinearities (such as a sensor nonlinearity). Conditions are
given as to when tracking (disturbance rejection is not considered) will
occur. Although conditions are given, no method is provided which will
enable one to construct a suitable controller nor is discussion given as
to ways of testing the conditions. The main results derived by Desoer
and Wang, however, are for memoryless nonlinearities (both input and
output channel). These results are valid only for reference and
disturbance signals which tend to constants. The conditions given for a
solution to the problem are precise, however, it appears that the
algorithm recommended for selecting the control law is useful only for
singleinput singleoutput systems. As expected, the resulting
controller requires integrators in the feedback loop.
Solomon and Davison [13] have used statespace techniques to treat
the servomechanism problem for a certain class on nonlinear systems.
They too have considered only constant reference and disturbance
signals. In addition, the nature of the disturbance is such that it
affects the output directly without affecting the dynamics of the
nonlinear system. It can be shown that such a disturbance can be
regarded as simply a change in the level of the reference signal.
Various assumptions are made and conditions are given stating when it is
possible to solve this servomechanism problem. The resulting control
law employs integrators in the feedback loop and nonlinear feedback is
used to give global stability. Although global stability is obtained,
the range in amplitude of the reference and disturbance signals which
can be applied is limited.
Some appealing results, again only for the case of constant
reference and disturbance signals, are derived in Desoer ad Lin [14] and
in Anantharam and Desoer [15]. Desoer and Lin have shown that if the
nonlinear plant has been prestabilized so that it is exponentially
stable and if the stabilized plant has a strictly increasing, dc,
steadystate, inputoutput map then the servomechanism can be solved
with a simple proportional plus integral controller. Using such a
control scheme, it is necessary that the gains of the integrators be
sufficiently small and that the proportional gain be chosen
appropriately. Anantharam and Desoer have derived results virtually
identical to those found in Desoer and Lin. In their paper, however,
the proof is somewhat different and a nonlinear discretetime system is
treated where proportional plus sum (discretetime integral) control is
employed.
Other than the case of constant reference and disturbance signals,
it appears that there were no satisfactory results for the nonlinear
servomechanism problem. One could attempt to linearize the nonlinear
system and design a controller based on linear servomechanism theory.
However, such an approach will usually lead to steadystate tracking
error.
In this dissertation, the servomechanism problem is solved for a
class of multiinput, multioutput, nonlinear systems. Here the results
are valid for reference and disturbance signals which belong to a much
wider class of signals than simply those which tend to constants.
The major contributions of this research are:
1. Conditions are given for a solution to the nonlinear servomechanism
problem. When these conditions are not satisfied exactly,
employing the type of controller developed here still makes
intuitive sense.
2. The problem is solved in the timedomain using a completely new
approach. A timedomain approach is necessary because standard
techniques (i.e., frequency domain analysis) used for solving the
linear problem are not applicable to nonlinear systems.
3. It becomes apparent that the idea of an internal model system which
contains the dynamics of only the reference and disturbance signals
is not complete. It is shown that actually, the internal model
system should include the dynamics found in both the input and in
the state which must be present during successful tracking.
4. The controller is rather simple to implement. The internal model
system is linear and stabilization is accomplished by the use of
well known linearization techniques.
The main results of this paper are contained in Chapter Two. Here
the servomechanism problem is solved for a nonlinear system having the
same number of inputs as outputs. Later, a method is introduced so that
the results can be extended to a nonlinear system having more inputs
than outputs.
The assumptions needed in the derivations are that a solution to
the problem does indeed exist and that when tracking does occur, both
the state and input will satisfy a linear differential equation.
Although the latter assumption is restrictive, when it does not hold, a
design based on such an approximation may still result in very small
tracking error.
After the assumptions are stated, an internal model system is
introduced. This internal model system replicates the dynamics found in
the state and input signals which are necessary to achieve tracking.
The concept of including the dynamics of the state and input rather than
the common practice of including the dynamics of the reference and
disturbance is believed to be new.
The next step in the design involves the use of constant gain
feedback with the internal model system incorporated into the feedback
loop. It is shown that observability of the internal model system,
through its associated feedback gain, insures that zero tracking error
will occur for all time provided the initial state of the combined plant
and controller has the correct value. Since such an initial state is
unlikely to occur in practice, it is next shown that certain stability
conditions will allow the true state trajectory to asymptotically
converge to the trajectory which gives zero tracking error. These
stability conditions are easily checked using Liapunov's indirect
method. It is noted, however, that with Liapunov's approach, the
tracking error may only asymptotically converge to zero for a limited
range of initial states. Roughly speaking, this can be considered
equivalent to requiring that the disturbance and reference signals
remain small.
In Chapter Three, using the approach developed for the nonlinear
problem, we rederive the well known conditions imposed for a solution to
the linear servomechanism problem.
In Chapter Four, selection of locally stabilizing feedback based on
linearization techniques is discussed in detail. Due to the complexity
of the stability problem, the control law derived here is for time
invariant systems which are acted upon by small reference and distur
bance signals. Simulations of a nonlinear system are provided which
verify the design technique. Also discussed in Chapter Four is the
interpretation of using optimal control techniques to arrive at the
feedback law required for the linear servomechanism problem. In a
nonlinear system, however, a certain degree of stability is often
desired. Consequently, in order to achieve this stability using optimal
control theory, a well known technique due to Anderson and Moore [16] is
presented.
In Chapter Five, we develop a controller designed to solve the
nonlinear servomechanism problem when a nominal input and state
trajectory are supplied as openloop commands. Here essentially no new
theory is needed since the control problem can actually be treated using
previously developed ideas. Designing the controller about a nominal
trajectory is a standard technique often used in dealing with nonlinear
systems. This technique usually reduces the stability requirements of
the feedback law since it is assumed that the state trajectory will
never deviate far from a prescribed nominal trajectory.
Another topic discussed in Chapter Five is that of using a
discretetime control law to approximate the already developed
continuoustime control law.
In Chapter Six we consider the robotic manipulator as a system for
which to apply the results derived in this paper. The dynamic equations
modeling the manipulator are analyzed in view of the servomechanism
problem. It is shown that the requirements needed for a solution to the
servomechanism problem are satisfied for the robotic system. Also
considered for the manipulator is an application of tracking where the
signals being tracked are used to compensate for errors in endeffector
location due to link flexibilities.
Chapter Seven shows results, obtained using simulations, of
applying the control scheme to a 2link manipulator. These results
verify that the method will improve, or sometimes eliminate, steady
state tracking error.
CHAPTER TWO
TRACKING AND DISTURBANCE REJECTION FOR NONLINEAR SYSTEMS
In this chapter we derive a method to achieve tracking and
disturbance rejection for certain nonlinear multiinput, multioutput
systems. Conditions are given which reveal when the problem can be
solved. An internal model system is used as a basis for the design,
however, unlike the case of the linear system, the internal model
contains dynamics which may not appear in either the reference or
disturbance signals.
Notation
Given a positive integer n, let Rn denote the set of ndimensional
vectors with elements in the reals and let Rmxn be the set of matrices
of dimension mxn with elements in the reals. The symbol II II shall
denote the Euclidian norm of a given vector. For a matrix A, the symbol
lAi will be the induced norm defined as
1
1/2
IlAII := sup nAxl = C[max (A'A)] (21)
II X1=1
The symbol := will mean equality by definition and the notation A'
signifies the transpose of the matrix A.
When referring to square matrices, the notation A > 0, A > 0 A <
0 will mean that A is positive definite, positive semidefinite, and
negative definite respectively.
Usually, capital letters (e.g., A, B, F) will denote matrices,
while lower case letters (e.g., x, y, z) shall denote vectors. Both
standard lower case letters and Greek lower case letters shall indicate
a scalar. Any deviations made from the notation for matrices, vectors,
and scalars will be clear from context.
Main Results for the Nonlinear Servomechanism Problem
Consider the nonlinear system
N: x(t) = f(x(t), u(t), w(t))
y(t) = Hx(t)
e(t) = r(t) y(t) (22)
where x(t) e Rn is the state of the system, u(t) e RP is the control
input to the system, w(t) e Rd is a disturbance signal, y(t) e RP is the
output of the system, and e(t) e RP is the error which occurs when
tracking the reference signal r(t) e RP. Note that the output is
assumed to be a linear function of the state and the dimension of the
input is the same as that of the output.
It is our objective to design a closedloop controller which will
asymptotically regulate against disturbances and also asymptotically
track a reference signal. In particular, we desire e(t) = r(t) y(t)
+ 0 as t + where r(t) is a specified output chosen from a given
class of functions.
The primary concern here will be tracking and disturbance rejection
when the disturbance w(t) and the reference r(t) are comprised of
components which are either constant or sinusoidal in nature. To
simplify the development, we shall consider a particular disturbance
signal, say w*(t), and a particular reference signal, say r*(t), to be
representative signals from a given class of functions. Once the
controller is derived with respect to these signals, the results can be
generalized to cover a class of functions for which r*(t) and w*(t) are
assumed to belong.
We now make the following assumptions:
(A.1) For some chosen reference signal r*(t) and a particular
disturbance w*(t) there exists an openloop control u*(t) and an
initial state x*(0) = x such that
S*(t) = f(x*(t), u*(t), w*(t))
y*(t) = Hx*(t) = r*(t) (23)
e(t) = r*(t) y*(t) = 0 for all t > 0
(A.2) The elements of both x*(t) and u*(t) satisfy the scalar, linear
differential equation
)(r) + ar (r1) + ... + a1.(1) + ao() = 0 (24)
where the characteristic roots of (24) are all in the closed right
halfplane.
The first assumption is merely a way of stating that it is possible
to provide output tracking. A typical example where (A.1) would not
hold is for a system having more outputs than inputs. This particular
problem is avoided here, however, since we consider systems which have
the same number of inputs as outputs.
The second assumption is perhaps the most restrictive. It is
different from the assumption commonly made in the linear servomechanism
problem; namely, that the disturbance w*(t) and the reference r*(t) both
satisfy a linear differential equation of the form given by (24). Here
we are concerned with this class of disturbance and reference signals;
however, in the nonlinear case it is important to work also with the
acutal state and input trajectories which arise during tracking.
If we assume that r*(t) satisfies a differential equation of the
form given by (24), it is actually not unreasonable to assume that
x*(t) will satisfy the same equation. This is because the output y*(t),
which must be identically equal to r*(t) during tracking, is taken to be
a linear combination of the state x*(t). Consequently, if all elements
of the state are reflected in the output, these elements must satisfy
(24). The assumption on the input signal u*(t) is then the assumption
which needs further discussion. In the nonlinear servomechanism
problem, it is often the case that u*(t) will contain terms (e.g.,
sinusoids) not present in either w*(t) or r*(t). To help clarify this
point, consider the following proposition.
Proposition 2.1: Given the autonomous system
x(t) = f(x(t), u(t), w(t)) (25)
assume there exists an input u(t) such that x(t) = Xp(t) is the solution
to (25) with initial state xp(O) and with disturbance w(t) = Wp(t).
Furthermore, assume that Xp(t) and Wp(t) are periodic with a common
period of T. Under these conditions, for the same initial state xp(O)
and disturbance Wp(t), there exists a periodic input Up(t) having a
period of T which results in the state trajectory xp(t).
Proof: Make the definition
uT(t) := u
1
0 < t< T
otherwise
(26)
Then let
u (t) = E uT(tnT)
n=O
Since xp(O) = Xp(T) = Xp(2T) =
interval T, the result is obvious.
(27)
. and Wp(t) repeats itself over every
Let Xp(t), Up(t), and Wp(t) be periodic with a common period T and
assume that the following differential equation is satisfied.
(28)
In Proposition 2.1 we have already asserted that a periodic Up(t) will
exist whenever Xp(t) and Wp(t) are periodic with a common period.
Assuming Up(t) is integrable over any period, let the Fourier series
expansion of Up(t) be
00
Up(t) = a + E ckcos(kwt + k) (29)
k=1
Xp(t) = f(xp(t), Up(t), Wp(t))
where w is the fundamental frequency.
Given a positive integer K, let uK(t) denote the truncation
K
uK(t) = o + E kcos(kwt + k) (210)
k=1
The truncation uK(t) satisfies a differential equation of the form given
by (24). Example 2.1 will show how to obtain the specific differential
equation using Laplace transform theory.
Now let xK(t) denote the solution to
XK(t) = f(xK(t), uK(t), Wp(t)) (211)
(assuming the solution xK(t) exists)
If Ilx (t) xK(t)i is suitably small for t > 0, the assumption
that the input satisfies (24) is reasonable. Often, either by using
simulations or actual tests, it is possible to determine apriori how
small lx (t) xK(t)l is for a given value of K. Also note that in
practice there is always some error, so that demanding
lx (t) xK(t)li = 0 is not reasonable.
We now mention an important practical point which was overlooked in
the proceeding discussion. For Ilx (t) xK(t)il to be suitably small,
the nonlinear system N must be stable in the sense that bounded inputs
give bounded outputs. If this is not the case, it would be necessary to
use a prestabilizing feedback so that the unstable portion of xK(t)
could be eliminated. This allows one to make the most meaningful
assessment of how "good" the input uK(t) acutally is. The use of such a
stabilizing feedback would be needed only in simulations and testing
since later, a stabilizing feedback law will be developed for the actual
implementation.
The following example shows how a differential equation of the form
given by (24) is derived from a truncated Fourier series
Example 2.1
Suppose
UK(t)= M o + E akcos(kit + k)
k=1
(212)
Taking Laplace transforms of both sides we get
UK(s) =
N(s)
s[ I (s2 + K2w)]
(213)
where N(s) is a polynomial in s. Equation (213) can be expressed as
K
K 2 22
s[ II (s + k 2W)]UK(s) = N(s)
k=1
(214)
Next, by writing
K J
s[ (s+ k2)] = E as3 J = 2K + 1
k=1 j=0
SE a.s3] UK(S) = N(s)
j=0
(215)
(217)
Now taking inverse Laplace transforms and noting that since N(s) is a
polynomial in s and hence has an inverse Laplace transform consisting of
we have
impulse type terms we have
J dj
Sa.  uK(t) = 0 t > 0 (218)
j=0 dt
This is exactly of the form given by (24).
We now give further motivation for the assumption that u*(t)
satisfies equation (24) by showing an example of a nonlinear system
where this is indeed the case.
Example 2.2
Consider the system
x(t) = 3x(t) + x2(t) + (2x2(t) + 4)w(t) + u(t)
y(t) = x(t) (219)
where we desire y*(t) = r*(t) = alsinwt and the disturbance is
constant. Thus
x (t) = alsinwt
w*(t) = M2 (220)
where al and a2 are constants. Substituting (220) into (219) yields
the following
12 2 *
al cost = 3ausinwt + 1 (1cos2wt) + [a (lcos2wt) + 4]a2 + u (t)
(221)
Solving for u*(t) gives
u*(t) = aloCOSmt 3alsinwt + a,2( + a2)cos2wt a12( + 2) 4a2
(222)
The characteristic polynomial for U*(s) is
(s2 + 4w2)(s2+w2)(s) = s5 + 5w2s3 + 4w4s (223)
Hence, both u (t) and x*(t) satisfy
5 2 d3 4 d
(.) + 5w 3 (.) + 4wm (.) = 0 (224)
dt dt
Now that assumptions (A.1) and (A.2) have been justified, we
proceed by introducing an internal model system. In the literature, an
internal model system is usually taken as a system which replicates the
dynamics of the reference and disturbance signals. Here it will take on
a slightly different meaning which is made more precise by the following
definitions. Let C e Rrxr and T e Rr be defined as follows
0 1 0 0 0
0 0 1 0 0
C := T := (225)
0 0 0 .. 1 0
aO al a2 ar 1
with the coefficients aj, j = 0,1, ..., r1 defined by (24).
Definition: Given the system N described by (22), suppose that for a
particular r*(t) and a particular w*(t) assumptions (A.1) and (A.2) both
hold. Then an internal model system of r*(t) and w*(t) with respect to
N is a system of the following form:
*(t) = An(t) + Be(t)
*
e(t) = r (t) y(t) = H[x (t) x(t)] (226)
where
A = T1 block diag. [C, C, ..., C] T (227)
p blocks
B = T1 block diag. [T, T, ..., r] (228)
p blocks
where the state n(t) E Rpr, T is an arbitrary nonsingular matrix,
B e Rprxp, and the pair (A,B) is completely controllable. In
practice, T is usually taken as the identity matrix.
Roughly speaking, the above internal model system is seen to
contain p copies of the dynamics of the state and input signals which
must occur during tracking. This is different from the internal model
system used in the linear servomechanism problem where only the dynamics
of the reference and disturbance signals are included. The dynamics of
the reference and disturbance will inevitably be included in (226);
however, the nonlinear structure of N may necessitate the introduction
of additional dynamics.
The closedloop control scheme proposed to solve the nonlinear
servomechanism problem has, incorporated into the feedback, the internal
model system of the disturbance and reference signals with respect to
the nonlinear system N. The implementation of this closedloop
controller is shown in Figure 21. The equations modeling the closed
loop system are the following:
NC: x(t) = f(x(t), u(t), w*(t))
A(t) = An(t) + BH[x*(t) x(t)]
(229)
u(t) = Klx(t) K2n(t)
e(t) = H[x*(t) x(t)]
where K1 e Rpxn and K2 Rpxpr are constant feedback matrices. It is
assumed that the state x(t) is available for feedback.
We will show in Theorem 2.1 that there exists an initial state for
the closedloop system NC such that tracking occurs with e(t) = 0 for
t > 0. The following proposition shall be required in the proof of
this theorem.
Proposition 2.2 Let z(t) e RP be any vector with elements satisfying
the linear differential equation
(.)(r) + arl (r1) + ... + a(.(1) + ao(.) = 0 (230)
and let C e Rrxr be a matrix whose eigenvalues, including
multiplicities, exactly match the characteristic roots of (230). If in
addition, the pair (A, K2) is observable with the constant matrix K2
e RPxpr and A e RPrxpr defined by
w (t)
Figure 21. Closedloop control system NC
A = T1 block diag. [C, C, ..., C] T (231)
p blocks
then for some no E Rpr, z(t) can be generated as follows
z(t) = K2 (t)
S(t) = An (t) n (0) = no (232)
Furthermore, the initial state no is unique for any given z(t).
Proof: By the conditions given in Proposition 2.2 each of the p
components of z(t) must satisfy (230) and hence the entire vector z(t)
can be expressed uniquely in terms of a pr dimensional initial condition
vector. By assumption, this vector can lie anywhere in pr dimensional
space. From the definition of the A matrix, each element of the vector
K2n (t) must also satisfy (230). Hence, if we show the initial
condition vector representing K2n (t) can be made to lie anywhere in
pr dimensional space by appropriate choice of the initial state no,
the proof will be complete. Such an initial state can be shown to exist
by noting that any state no can be observed through the output
K2n (t). Consequently, a linearly independent set of initial states
must result in a linearly independent set of outputs K2n (t). Thus,
since no spans pr dimensional space, the initial condition vector
defining K2n (t) will span pr dimensional space.
1
To prove uniqueness, let no be another initial state such that
z(t) = K2n(t) (t) = An (t) n (0) = no (233)
This gives
1 At 1 *
K2[n (t) n (t)] = K2e no n] = 0 (234)
1 .
and the vector [n n ] is not observable which is a contradiction.
Theorem 2.1 Given the pinput, poutput system N suppose that for a
particular reference r*(t) and a particular disturbance w*(t)
assumptions (A.1) and (A.2) both hold. In addition, suppose that the
pair (A,B) defines an internal model system of r*(t) and w*(t) with
respect to N. Furthermore, assume K2 of the system NC is such that the
pair (A,K2) is observable and let K1 be arbitrary. Under these
*
conditions, there exist initial states x(0) = xo and n(0) = no such
that in the closedloop system NC, e(t) = Er*(t) y(t)] = 0 for all
t > 0 when the exogenous signals r*(t) and w*(t) are present.
Proof: To prove Theorem 2.1 it is necessary to show that there exists
an initial state* for the system NC such that perfect tracking occurs.
Let [xo, n ] denote this initial state and let [x*(t), n*(t)] be the
corresponding state trajectory. The following relationship must then
hold for the system NC
x (t) = f(x*(t), u*(t), w*(t))
n*(t) = An*(t) (235)
u* (t) = Klx*(t) K2n*(t)
e(t) = r*(t) Hx*(t) = 0
Henceforth, the initial state of the combined plant and
controller will be grouped in a pair as [x n]. The state trajectory
which results from this initial state will Be grouped as [x(t), n(t)].
In order to verify (235) we first note that by assumption (A.1)
there is an initial state x*(0) = xo and an input u*(t) such that e(t)
= 0 for all t > 0. Hence, it must be shown that for some initial
state n*(0) = no of the internal model system, the input u (t) can be
produced by feedback of the form
u*(t) = Klx*(t) K2n*(t) (236)
From assumption (A.2) we know that the elements of u (t) and x*(t) will
satisfy the differential equation (24) (or equivalently, equation
(230)). Also observe that because e(t) = 0 in (235), the internal
model system is completely decoupled from the original system. This
decoupling allows us to apply Proposition 2.2. Specifically, we may
verify (236) by letting z(t) = u*(t) Klx*(t) in Proposition 2.2.
This completes the proof.
We have shown that if certain conditions have been met, then when
the exogenous signals r (t) and w*(t) are acting on the closedloop
*
system NC, there exists an initial state [x no] such that perfect
tracking occurs. However, if the initial state [x(0), n(O)] differs
*
from [x no], the resulting state trajectory [x(t), n(t)] may not
*
converge to [x (t), n (t)] as t + m. To achieve (asymptotic)
tracking, we want [x(t), n(t)] to converge to [x*(t), n*(t)] for some
range of initial states [x(0), n(0)]. This leads to the following
notation.
Definition: If the state trajectory for the closedloop system NC
converges to [x (t), n (t)] for a set of initial states in the
neighborhood of [xo, no] then we say there is local tracking of r (t)
with disturbance w (t). If this convergence occurs for all initial
states then we say there is global tracking of r*(t) with disturbance
w*(t).
To give conditions under which global or local tracking will occur,
we first define a new set of state vectors as follows
'(t) = x(t) x*(t)
(237)
W(t) = n(t) n *(t) (237)
where [x(t), n(t)] is the state trajectory of NC resulting from an
arbitrary initial state and [x (t), n (t)] is the trajectory which
*
gives e(t) = 0, t > 0 and results from the initial state [x n ].
Since it is our goal to have the trajectory [x(t), n(t)] converge,
*
eventually, to the trajectory [x (t), n (t)] we may think of
['(t), "(t)] as the transient trajectory. Using (229) and (235), it
is then possible to write a dynamic equation modeling the transient
response of the closedloop system. This will be referred to as the
closedloop transient system NCT. The system NCT is given by
NCT:
x(t) = f(x*(t)+x(t), u*(t)+u(t), w*(t)) f(x*(t), u*(t), w*(t))
f(t) = Ai(t) BHx(t) (238)
u(t) = Kl^(t) K2"(t)
It is seen that the system NCT has an equilibrium point at
W(t) = '(t) = 0
Theorem 2.2: Suppose that the hypotheses of Theorem 2.1 are satisfied
and that for some choice of K1 and K2 the system NCT is locally
asymptotically stable. Then, with the control scheme defined by system
NC, local tracking of r*(t) with disturbance w (t) will occur. If in
addition, system NCT is globally asymptotically stable then global
tracking of r*(t) with disturbance w*(t) will occur.
Proof: Obvious since '(t) + 0 as t + and e(t) = r*(t) Hx(t) =
H[x*(t) x(t)] = Hx(t).
Since global stability is often difficult to obtain in many
practical systems using constantgain feedback, the local stability
result of Theorem 2.2 will most often apply. Consequently, success of
the control scheme will depend on the initial state of the original
system and of the internal model system. This will usually mean that
tracking and disturbance rejection can be achieved only if the reference
signal and the disturbance signal are not excessively large.
Stability of the system NCT will be a major topic of the next
section as well as subsequent chapters. At this point, however, it is
appropriate to generalize the results obtained so far. This is
important since previous results have been developed with the assumption
that only one particular reference signal r*(t) and one particular
disturbance signal w*(t) will be applied to the system. The
generalization is rather obvious. If tracking and disturbance rejection
is to hold for a certain class of signals r(t) and w(t), two conditions
are required: 1) the internal model system must contain the necessary
dynamics to cover the entire class of signals, and 2) the closedloop
tranasient system NCT must remain locally (or globally) asymptotically
stable over this class of signals.
Often in practice, the precise reference and disturbance signals
acting on the system are not known in advance and hence neither are
x*(t) and u (t). In order to determine the dynamics which must be
included in the internal model system it is necessary to have some
apriori knowledge of the state and input signals which will occur during
tracking. Usually, knowledge of the frequencies of the anticipated
disturbance and reference signals is available. Generally, the
frequencies of the reference r*(t) and the disturbance w*(t) will
directly affect the frequencies of the corresponding state x*(t) and
input u*(t). Assuming this to be true, the mathematical model
describing the nonlinear system can be used to determine x*(t) and u*(t)
for various combinations of r*(t) and w*(t). Fourier analysis can then
be used to determine the dominant frequencies in the signals comprising
the various x (t) and u*(t) and the internal model system can be
designed accordingly. Even when the mathematical is not used, an
educated guess or perhaps trial and error can enable one to design an
internal model system with the appropriate dynamics. For example, if
sinusoidal disturbance and reference signals are expected, it might be
advisable to design the internal model system to accommodate for various
harmonics and subharmonics of the anticipated sinusoidal signals.
Stability of the ClosedLoop Transient System
In this section we investigate the stability of the system NCT.
First, the previously defined condition of controllability for the pair
(A,B) and the required observability of the pair (A, K2) are related to
the stability of NCT. Next, a method for checking local stability of
NCT using Liapunov's indirect method is presented.
Now consider controllability of the pair (A,B) which has already
been insured by the chosen structure for the internal model system.
Suppose, for the sake of example, that the pair (A,B) is not
controllable. This implies that the pair (A, BH) is not controllable.
Consequently, there exists a linear transformation matrix P such that
P1AP = 1 p1BH = (239)
Since the eigenvalues of A are in the closed right halfplane, the
eigenvalues of A3 are in the closed right halfplane. It is apparent
that the modes* associated with A3 are not affected by any control
law. Thus, we can conclude that when (A,B) is not controllable, the
system NCT can not be made asymptotically stable. This points out one
of the reasons behind the structure chosen for the internal model
system.
Now consider the situation which arises when the pair (A, K2) is
not observable. Since the eigenvalues of A are in the closed right
*Modes are components of the form tket which appear in the
solutions to linear differential equations. For example, given the
system x(t) = Fx(t), x(O) = xo with solution x(t) = 0(t,O)xo; the
elements of the state transition matrix D(t,O) are made up of modes of
the form t e Here x, which is generally complex valued, represents
an eigenvalue of the matrix F.
halfplane, all modes associated with A must be forced to zero or NCT
will not be asymptotically stable. From (238) we see that 'x(t) is the
only signal which can accomplish this task. Consequently, x(t) should
be a function of the modes in 'n(t) induced by the eigenvalues of A.
Since '(t) depends on '(t) only through the feedback coupling from the
gain K2 and (A, K2) is not observable, it is impossible for 'x(t) to
depend on the unobservable modes. Thus, we can conclude that
observability of the pair (A, K2) is necessary for asymptotic stability
of the system NCT. We therefore have the following result.
Proposition 2.3: Controllability of (A, B) and observability of (A, K2)
are necessary conditions for asymptotic stability (either local or
global) of NCT.
Although the above result is important, it is even more important
that a practical method is available which allows one to ascertain
directly whether or not NCT is asymptotically stable. It has already
been indicated that the local stability results of Theorem 2.2 will most
often apply. One convenient method for showing local stability is
Liapunov's indirect method which can be found in standard texts on
nonlinear systems (e.g., see [17]). The required linearization of the
closedloop transient system NCT about the equilibrium point 2'(t) = 0,
?(t) = 0 is
(t) F*(t) G*(t)K1 G*(t)K2 (t)240)
S(240)
t BH A ?(t)
where
F*(t) f(x,u,w)
Fx x= x (t)
(241)
u u (t) (241)
w = w(t)
and
G(t) = af(x,u,w)
Gu x = x (t)
u u*(t) (242)
w w (t)
Notice that the Jacobian matrices F*(t) and G (t) are evaluated along
the trajectory which gives tracking of r*(t) with disturbance w*(t).
Often this trajectory is not known in advance, however, we shall defer a
more detailed discussion of this problem until a later chapter.
Let us make the following definitions:
"X(t)
xA(t) (243)
SF*(t) G* (t)K1 G*(t)K2
FA(t) := B A (244)
BH A
f(x (t)+x, u (t)+u, w*(t)) f(x*(t), u*(t), w*(t))
A? BH'
(245)
fA(t, XA) := fA(t, XA) FA(t)xA (246)
We now present a theorem based on Liapunov's indirect method which can
be used to show local tracking. In order to apply Liapunov's indirect
method, the following two technical conditions are required
lim sup fA(t, x A)l
11m sup ) = 0 (247)
IlxAI+O t>0 IlxA
FA() is bounded (248)
It is mentioned that the above conditions are almost always satisfied in
practical systems.
Theorem 2.3: Suppose that the hypotheses of Theorem 2.1 are satisfied
and also assume that conditions (247) and (248) hold true. If in
addition, the system (240) is asymptotically stable then, with the
control scheme defined by system NC, local tracking of r*(t) with
disturbance w (t) will occur.
Extensive use will be made of Theorem 2.3 in later chapters.
The Relation Between the Dimension of the
Internal Model System and the Input/Output Dimensions
In the previous sections, the servomechanism problem was treated
where it was assumed that the number of inputs to the plant was the same
as the number of outputs. In this section, further insight into this
assumption is presented by showing its relation to the chosen controller
structure. In addition, sufficient conditions will be given to allow
one to consider a system with more inputs than outputs. The case where
the input dimension is less than that of the output shall not be
considered since, in this circumstance, a solution to the servo
mechansism problem does not generally exist. The intuitive reason for
this is that it requires at least p independent inputs to control p
degrees of freedom independently.
Let us now consider a nonlinear system with input u(t) e Rm and
output y(t) e RP, where m > p. Assume that the controller is im
plemented in essentially the same way as the previously discussed
controller except now consider changing the dimension of the internal
model system. It is assumed that the matrix A of the internal model
system has q blocks on the diagonal rather than p blocks as before.
Consequently, we now have A e Rqrxqr, B e Rqrxp and K2 e Rmxqr. The
exact change in the A matrix is shown by the following equation
A = T1 block diag. [C, C, ..., C] T (249)
q blocks
where C is again defined by (225). The corresponding change in the B
matrix does not need to be considered in this analysis.
Proposition 2.4: Given the triple (A, B, K2) with A e Rqrxqr defined by
(249), B e Rqrxp arbitrary, and K2 e Rmxqr arbitrary. The following
properties are true.
If p < q the pair (A, B) is not controllable
If m < q the pair (A, K2) is not observable
Proof: The proofs to properties (1) and (2) are similar so we only
prove (1). This will be accomplished by showing the existence of a row
vector v' such that
v'[XI A B] = 0
(250)
for some x which is an eigenvalue of
From the structure of A, it is
C and hence there is a row vector w'
A.
apparent that X is an eigenvalue of
such that
w'[EI C] = 0
Now define a matrix Q e Rqxqr to be the following
wQ
WI
Q 0
. O]
0.
It can be readily seen that
Q [XI A] = 0
Now let D e Rqxp be the matrix product of Q and B. That is
(251)
(252)
(253)
D = QB (254)
By the assumption p < q there exists a row vector z' e Rq which is
orthogonal to the range D. Hence
z'D = 0 (255)
Consequently, by letting v' = z'Q it is evident that (250) holds.
In the previous sections, it was shown that stability of the
closedloop transient system NCT is a key requirement in the solution of
the nonlinear servomechansim problem. To achieve such stability, the
conditions that the pair (A, B) be controllable and the pair (A, K2) be
observable were shown to be crucial. Hence, from Proposition 2.4 we can
conclude that the number of blocks q in the internal model system must
be such that q < min(m,p).
Now recall a major earlier assumption; namely, the openloop input
u*(t) which forces the nonlinear system N to track r*(t) satisfies the
differential equation (24). Ultimately, such an input is generated by
the internal model system as can be seen from Theorem 2.1 or equation
(235). If u*(t) e Rm is arbitrary (aside from satisfying (24)) then
it is not difficult to see that the internal model system must have at
least m blocks. In otherwords, we must have the condition q > m.
Because of earlier condition that q < min(m,p) and because of the
assumption that m > p we are forced to consider systems with m = p.
The modes of the various elements of u*(t) have a one to one
correspondence with the eigenvalues of the C matrices which make up the
block diagonal A matrix. Since we assume all m elements of u (t) are
independent of one another then m separate blocks will be needed in A to
insure this independence. For further insight, see the proof of
Proposition 2.2.
The above restriction is actually somewhat misleading.
Specifically, consider a system having more inputs than outputs (i.e.,
m > p). It is quite possible that when only p out of the m inputs are
used, all conditions for solving the servomechanism problem will be
satisfied. In this case, we can define a new system NP which is nothing
more than the original system N operating with only p inputs. This is
shown by the following equations:
NP:
x(t) = f(x(t), u(t), w(t)) = fp(x(t), up(t), w(t))
y(t) = Hx(t) (256)
u(t) = MUp(t)
where M e Rmxp is of full rank. If there exists an M such that the
system NP with input up(t) meets all conditions given in the previous
sections, then the problem can be solved. Working with the input up(t),
let the feedback law which stabilizes the closedloop transient system
be
up(t) = Kp,1x(t) Kp,2n(t) (257)
In terms of the original system N, the feedback law will then be
u(t) = Klx(t) K2n(t) (258)
where
K1 = MKp,1 K2 = MKp,2
(259)
Summary
In this chapter, a nonlinear system was considered with the number
of inputs equal to the number of outputs and with the output taken as a
linear combination of the system's state. In the last part of the
chapter, conditions were given so that a nonlinear system with more
inputs than outputs could be treated.
Prior to developing the theory for the nonlinear servomechanism
problem, two major assumptions were made. The first of these, assump
tion (A.1), was absolutely necessary since without it, the
servomechanism problem could not be solved under any circumstance. This
being the case, the primary attention was focused on the second assump
tion, assumption (A.2). Here, the requirement was made that the input
and state trajectories which occurred during tracking were to satisfy a
linear differential equation. It was noted that in practice, such an
assumption may only be approximate, however, a design based on the
approximation could be perfectly adequate. Typically, truncated Fourier
series expansions approximating the true signals would be used for
design purposes.
In the first part of the controller design we dealt with the
development of an internal model system. It was indicated that this
internal model system would have to contain dynamics which matched the
dynamics of the state and input which are necessary for tracking. The
importance of such an internal model system becomes evident when it is
compared to a standard alternative. A typical approach to solving the
nonlinear servomechanism problem is to first linearize the nonlinear
system and then design a controller using linear servomechanism
theory. This leads to an internal model system containing dynamics
corresponding only to the modes present in the reference and disturbance
signals. From the results derived here, it is obvious that this type of
approach may not be adequate. In fact, tracking error will always occur
when modes which are required to be present in the input for tracking
are not incorporated into the dynamics of the internal model system.
Hence, our idea is to incorporate enough modes into the internal model
system's dynamics to insure that the tracking error is indeed small.
These modes, if sinusoidal, could actually be sinusoids at frequencies
which are harmonics or subharmonics of the frequencies found in the
reference and disturbance signals.
Once the formulation for the internal model system was complete,
the controller design was given. In this design, state feedback was
used and the internal model system was incorporated into the feedback
loop. It was shown that a necessary condition for a solution to the
servomechanism problem (for arbitrary K1) was observability of the
internal model system's state through its feedback gain matrix. This
was a key requirement which has not been postulated for the linear
servomechamism problem, but was needed here due to the different
approach used in solving the nonlinear servomechansim problem. Later it
was indicated that the observability condition would also be required
for stability of the closedloop system. Consequently, it is enough to
consider only the stability problem since the observability condition is
satisfied automatically whenever stability is achieved.
The stability requirement for the nonlinear servomechanism problem
was imposed upon a dynamic system which modeled the difference between
the actual state trajectory and the desired state trajectory of the
closedloop system. Thus, the dynamical model was referred to as the
closedloop transient system. Again, the approach taken here is seen to
be drastically different from the approach taken in the well known
linear servomechanism problem. Asymptotic stability of the closedloop
transient system was allowed to be either global or local; however, with
local stability it was indicated that tracking and disturbance rejection
would occur only for certain initial states. These initial states were
restricted to the neighborhood of the particular initial state which
defined the equilibrium point of the closedloop transient system.
The dynamic equations modeling the closedloop transient system
were seen to be nonlinear and somewhat complicated. In order to apply
Liaponov's indirect method, a much simpler dynamic system was derived
through linearizations. Although the linearized model is much more
suitable for feedback gain selection, stability of the linearized model
only insures local stability of the true system.
In this chapter, no discussion was given as to possible means of
determining the stabilizing feedback gains. This topic is the subject
of Chapters Four and Five.
CHAPTER THREE
APPLICATION TO LINEAR SYSTEMS
In this chapter the linear servomechanism problem is considered.
Since the linear problem can be regarded as a special case of the
nonlinear problem, the methods developed in the previous chapter apply
here as well.
When using the methods of the previous chapter, specific conditions
must be met in order to guarantee a solution to the servomechanism
problem. Here, it will be shown that these conditions are satisfied
whenever the well established conditions [17] imposed for the linear
problem are satisfied. Of course this is obvious; however, the insight
obtained by approaching the problem from a different point of view will
prove beneficial. In fact, many of the results obtained in this chapter
will be used in subsequent chapters where feedback gains are selected
for the nonlinear problem via a linearized model.
Review of Linear Servomechanism Results
In this section we give a brief review of the well known results
for the linear servomechanism problem. A more general discussion of
this topic can be found in [2] or [3].
Consider the linear timeinvariant system
L: x(t) = Fx(t) + Gu(t) + Ew(t)
y(t) = Hx(t) (31)
e(t) = r(t) y(t)
where x(t) e Rn is the state, u(t) e Rm is the input, w(t) e Rd is a
disturbance, y(t) e RP is the output, and e(t) e RP is the error which
arises in tracking the reference signal r(t) e RP. Conditions shall be
given as to when it is possible to design a controller such that
e(t) + 0 as t + . It is assumed that the elements of the reference
r(t) as well as the disturbance w(t) satisfy the linear differential
equation
(.)(r) + r (r1) + **. + y(.)(1) + yO() = 0 (32)
where the characteristic roots of (32) are assumed to be in the closed
right halfplane. We shall let Xi, i = 1, 2, ..., F denote the
distinct characteristic roots of (32) where F < r due to multi
plicities. The following well known result gives conditions under which
the linear servomechanism problem can be solved.
Theorem 3.1: Assume the state x(t) is available for feedback. A
necessary and sufficient condition that there exists a linear time
invariant controller for (31) such that e(t) + 0 as t + for all
r(t) and w(t) with elements satisfying (32) is that the following two
conditions both hold.
(B.1) (F, G) is stabilizable
(B.2) rank = n + p i=1,2,...,F
H 0
Conditions (B.1) and (B.2) are essential for a solution to the
linear servomechanism problem. Therefore, when the linear problem is
solved using the framework developed for the nonlinear problem,
conditions (B.1) and (B.2) should play important roles.
Solution to the Linear Problem via
the Nonlinear Formulation
We now proceed to show that when conditions (B.1) and (B.2) are
satisfied, the conditions given in Chapter Two for the nonlinear
formulation are also satisfied.
First consider assumptions (A.1) and (A.2) when applied to a linear
system. The following theorem will relate these assumptions to
conditions (B.1) and (B.2).
Theorem 3.2: Consider the linear system L and assume both the reference
r (t) and the disturbance w*(t) satisfy the linear differential equation
(32). Then, if conditions (B.1) and (B.2) are both satisfied, there
exists an input u*(t) and an initial state x*(O) = x such that
tracking occurs. Furthermore, u*(t) and x can be chosen so that the
resulting state trajectory x*(t) and the input u*(t) satisfy the linear
differential equation (32) (i.e., assumptions (A.1) and (A.2) are
satisfied).
Proof: We shall show the existence of u*(t) and x*(t).
Let
u*(t) = Kx*(t) + U(t) (33)
where K Rmxn and u(t) e Rm are still to be defined. Also let the
Laplace transforms of r*(t), w*(t), x*(t), and U(t) be denoted as
R*(s), W*(s), X*(s), and U(s) respectively. Then, if tracking is to
occur, it can be verified using (31) that the following relationships
must hold.
1* 1
X*(s) = [sIF] x + [sIF]U(s) + [sIF] EW (s) (34)
and
R*(s) = H[sIF]Ix + H[sIFI GU(s) + H[sIFJ EW*(s) (35)
where
F:= F GK (36)
Now consider the following conditions
(1) m > p
(2) rank [ xiIF] = n for all xi i = 1,2, ...,
(3) rank H[AiIF]G = p for all i i = 1,2, ...,
where xi, i = 1,2, ..., r are the characteristic roots of the linear
differential equation (32).
When (1), (2), and (3) are satisfied then both (34) and (35) will
hold true (i.e., tracking will occur). Furthermore, when these three
conditions are met, x*(t), U(t) and hence u*(t) can be chosen to
satisfy the differential equation (32).
The proof to the above statement is quite tedious and will be
omitted; however, an example shall be given later which will make the
statement obvious.
Now it is only necessary to show that when (B.1) and (B.2) hold,
conditions (1), (2), and (3) are satisfied. It immediately follows from
condition (B.2) that (1) must be true. Also, by condition (B.1) we can
select K so that Xi, i = 1,2, ..., F is not an eigenvalue of [F GK]
and hence (2) holds. Assuming that such a K has been chosen, it is easy
to show that
irn F G a Xi F + GK G
rank = rank (37)
H 0 0 H[Eil F + GK]1G
This is accomplished by premultiplying and postmultiplying the lefthand
side of (37) by
nxn and by xn 0
H[XI F + GK]1 Ipxp nd K Imxm
respectively. Here Inxn denotes the identity matrix of dimension nxn.
From condition (B.2) and equation (37) the matrix H[Xil F + GK]G must
have rank p for all xi, i = 1,2, ..., F. This gives (3) and the proof
is complete.
The following example helps to verify the statement given in
Theorem 3.2.
Example 3.1:
Let us take
R s)1 a + 1 b + 1 c (38)
(sx1) 2 c (38)
where a, b, c e RP are constant vectors. Also, for simplicity of this
example let
W*(s) = 0 (39)
We now show that when conditions (1), (2), and (3) used in Theorem 3.2
hold true, tracking will occur for some initial state xo and input
U(s). The input U(s) can be chosen as
1 1 1
(s) w + 2 v + r (310)
1 (sX1) s2
where w, v, r e Rm are vectors given by
v = {H[1 IF1G} b
w = {H[X1IF]1G} {a + H[X1I]2Gv} (311)
r = {H[X2IFTG}1c
The initial state xo should be taken as
x= { [FxllI Gw + [FXll] Gv + [Fx21] Gr } (312)
012
Note that for the matrix inverses given in (311) to exist, conditions
(1), (2), and (3) are needed. In addition, if H[EI F]1 is not
square, any right inverse can be used.
We shall make use of the following formula which can be obtained
using a partial fraction expansion
sIF1 N = { (1)jl[cIlj 1
(sX) j=1 (sX) 
+ { [sIF]1 [I]N } (313)
where it is assumed that x is not an eigenvalue of F. Using (313) and
(310) it is then possible to write (35) as
R*(s) = H[sIF 1 { x* + [TXlI'Gw + [FXlI2 Gv + [FX21]Gr }
1 1 1
+ HEX1 IrF]Gws1 + HCx IIF]Gv 1 2 H[Xl IF]2Gv 1
S1(sx1)
+ HE IF]" Gr 1 (314)
2 (sX2)
When (311) and (312) are substituted into (314) we obtain the desired
R (s).
It also follows from (34), (310), and (312) that the X*(s) which
occurs during tracking can be expressed as
X*(s) = [xIIF1 GwT + X1IGv 1
Xl11 ll' (sx1r
(SX)2 (315)
2 1 [ 2 1 1
[Ax1F] Gv1 1 + 2IF] Gr1s
1 (sX1j) 2 X2
Consequently, x*(t), u(t) and u*(t) all satisfy the differential
equation
(3) + [x22~] ()(2) + [21X2 + X2 () (1) + [ X2] () =0
(316)
This completes the example. Although a disturbance was not considered,
the inclusion of a disturbance would have led to similar results.
Next we consider another requirement which was needed to solve the
nonlinear servomechanism problem and relate it to the linear problem.
This requirement is that the closedloop transient system NCT given by
(238) must be asymptotically stable. When the linear system is
considered, (238) takes the following form
LCT:
F(t) F 0 o (t) G1
+ G(t)
SBH A (t)
W(t) = K1 (t) K2 (t) (317)
Now if conditions (B.1) and (B.2) both hold then it is possible to
select K1 and K2 such that (317) is asymptotically stable. This is a
consequence of the following well known theorem (see [2] or [3]).
Theorem 3.3: If (B.1) and (B.2) both hold and the eigenvalues of A
correspond exactly to i., i = 1, 2, ..., F given by condition (B.2)
then the pair
F 0 G
(318)
BH A O
is stabilizable. If in addition, the word "stabilizable" in (B.1) is
replaced by "controllable" then the pair of (318) is controllable.
The next theorem shows that when K1 and K2 are selected to
stabilize (317) the pair (A, K2) is observable. This is the precise
condition needed for Theorem 2.1 and the final condition required for
our discussion.
Theorem 3.4: If all eigenvalues of A are in the closed right halfplane
and the system LCT described by (317) is asymptotically stable then
the pair (A, K2) is observable.
Proof: We use contradiction. Suppose that the system LCT is
asymptotically stable but (A, K2) is not observable. This implies that
there exists a vector v such that
xIA
v = 0 (319)
K2
for some x which is an eigenvalue of A. Consequently, we can write
XI F + GK1 GK2 0 (320)
= 0 (320)
BH XI A v
This means that x is also an eigenvalue of the matrix
F GK1 GK2
BH A
Since the system LCT can be written as
x(t F GK1 GK2 (t)
1 2(321)
(t) BH A _Jn(t)
and x is, by assumption, in the closed right halfplane then LCT is not
asymptotically stable. This is a contradiction to the assertion that
LCT is asymptotically stable and the proof is complete.
Theorems 3.2, 3.3, and 3.4 show that when conditions (B.1) and
(B.2) are true, then all requirements for a solution to the linear
servomechanism problem are satisfied. Furthermore, this has been
accomplished in the framework developed for the nonlinear servomechanism
problem. In the next chapter, we shall apply some of these results to
obtaining the stability required for the nonlinear servomechansim
problem using the linearization approach.
CHAPTER FOUR
FEEDBACK CONTROL
In this chapter various concepts related to selecting the feedback
gains for the servomechanism problem are discussed. The beginning of
the chapter deals primarily with the nonlinear servomechanism problem
while some results for the linear servomechanism problem are given in
later sections.
Since it is often difficult to show global stability in nonlinear
systems, here the emphasis is placed on achieving only local
stability. Conditions are given showing when it is possible to obtain a
timeinvariant feedback control law which stabilizes the system NCT.
These conditions apply mainly to the case when the reference and
disturbance signals are small. An example is provided to demonstrate
the method.
Also discussed in this chapter is the interpretation of using
optimal control techniques in the selection of the feedback gains for
the linear servomechanism problem. The optimal control approach can be
applied to the nonlinear servomechanism problem when the linearized
equations are used; however, the interpretation is less precise.
Stabilization Using the Linearized Equation
To solve the tracking and disturbance rejection problem it is
necessary to have asymptotic stability of the system NCT. Furthermore,
only state feedback with constant gain matrices can be used to achieve
this stability. The system NCT is given again here for convenience.
NCT:
X(t) = f(x*(t)+(t), u*(t)+Z(t), w*(t)) f(x*(t), u*(t), w*(t))
n(t) = A (t) BHx(t)
'i(t) = Kl (t) K2r(t) (41)
Two forms of asymptotic stability are actually considered in the
solution to the servomechanism problem: global stability and local
stability. It was indicated that local stability allows tracking and
disturbance rejection to occur only for certain initial states whereas
global stability allows tracking and disturbance rejection for all
initial states. Global stability is thus the most desirable form of
stability, however, due to the diversity which can occur in the system
NCT, we shall limit our concern to the local stability problem. In
addition, the original nonlinear plant will be taken as timeinvariant
(i.e., the function f(x,u,w) is independent of time). These
restrictions will allow us to obtain a timeinvariant feedback law which
gives local tracking and disturbance rejection for small reference and
disturbance signals.
For convenience, when discussing the system NCT, the following
definition shall be used
t x:(t)
XA(t) := (42)
XA M (t
Adhering to this more compact notation, we may write the linearized
approximation to NCT as
XA(t) FA(t)xA(t) (43)
where
FAt) F*(t) G*(t)K1 G*(t)K2
FA(t) := (44)
BH A
and
F*(t = af(x,u,w) *G(t)= f(xuw)
F(t ax x = x (t) u x = x (t)
u = (t) u = u(t) (45
w =w (t) w w (t)
Note that (43) is the linearized system needed in conjunction with
Liapunov's indirect method (Theorem 2.3) and was originally given as
equation (240).
Although by applying Liapunov's indirect method we reduce the
problem from stabilizing a nonlinear system to stabilizing a linear
system, the timedependency of this linear system can create compli
cations. Equations (44) and (45) show how this timedependency enters
into the linearized system due to the timevarying signals x*(t), u*(t),
and w*(t). To further complicate the stability problem, it is very
likely that the matrices F*(t) and G*(t) will not even be known. This
is because both F*(t) and G*(t) are implicitly dependent on the
reference and disturbance signals and these signals (especially the
disturbance) are usually not known in advance.
At this point we consider one method of dealing with the stability
problem which will be applicable when the reference and disturbance
signals are small. This assumption, although restrictive, is necessary
to show stability of the system NCT when the feedback gains are kept
constant. We first give what is known as the PoincareLiapunov theorem
[18].
Theorem 4.1: Consider the system
S= Fl(t)x + fl(t,x) x(to) = xo (46)
where
fl(t, 0) = 0 (47)
Assume that the following conditions are also satisfied
(1) Fl(t) is such that the system
S= Fl(t)x (48)
is exponentially asymptotically stable for the equilibrium point x =
0. In otherwords, the state transition matrix D(t, to) associated with
(48) is such that
lla(t, t )ll < mea(tto) (49)
for some positive constants m and a.
(2) fl(t, x) satisfies the criterion
sup lifl(t,x)l < LIIxIl L > 0
t>t
0
(410)
Then if we have L suitably small so that
(mL a) < 0,
(411)
the system (46) is exponentially asymptotically stable for the
equilibrium point x = 0.
Proof: Let (t,t ) be the state transition matrix for the system
(48). Consequently, we can write the solution to (46) as
x(t) = t(t,t )xo + fJ (t, T)fl(T, x(T))dT
t
(412)
By taking the norm of both sides of (412) and using (49) it easily
follows that
Ilx(t) i < mea(tto)l1x o + mea(t)L Ilx(T) idT
(413)
Multiplying through by eat gives
at t
eatllx(t)ll < me llx ll + mL f eaT lIx(T)IldT
t
0
(414)
We may now apply the BellmanGronwall inequality (see [17]) to obtain
eat ix(t) II
< me
nx(t)n < m 1:
ato mL(tt )
(mLa)(tt )
xo lie
If L is sufficiently small so that
(mLa) < 0
then we have the desired result.
Consider again the linearization of NCT given by (43).
be written as
RA(t) F (xA(t) + [FA(t) FA]XA(t)
(415)
(416)
(417)
This can
(418)
The matrix
is defined as follows
where
Fo af(x,u,w)
ax
x = 0
u =0
w= 0
FA :
F GK1
BH
GoK2
A
(419)
GO = af(x,u,w)
au
x= 0
u= 0
w= 0
(420)
We see that FA is simply the matrix resulting from a linearization of
the system NCT about the origin. In addition, because the original
system is timeinvariant Fo, Go, and FA are constant matrices.
Let us investigate the stability of NCT using the PoincareLiapunov
theorem. To do this we give the following result.
Theorem 4.2: Suppose that for a particular timeinvariant system
assumptions (A.1) and (A.2) are satisfied and that the conditions needed
to apply Liaponov's indirect method to the system NCT (see eq. (247)
and (248)) hold true. In addition, assume that the following
conditions are satisfied.
(i) sup IF*(t) Fni =
t>O
(ii) sup iG (t) GI = 2
t>O
where e1 and e2 are positive constants.
(iii) The pair [Fo, Go] is stabilizable
(iv) rank Fo = n + p
H 0
for all xi which are characteristic roots of the differential
equation given in assumption (A.2).
Then, provided e1 and E2 are suitably small, there exist feedback
gains K1 and K2 so that with the controller given as system NC,
(eq. (229)) local tracking of r*(t) with disturbance w (t) will occur.
Proof: Our main concern here will be to show asymptotic stability of
the system NCT and observability of the pair (A,K2). With these
conditions verified, the remainder of the proof is immediate from the
results obtained in Chapter Two.
First let us compare (418) to (46) letting FA take the role of
Fl(t) and [FA(t) FA]XA(t) take the role of fl(t,x). Condition (1)
of the PoincareLiapunov theorem then requires exponential stability of
the system
XA = FAxA (421)
In order to meet this stability requirement, the pair
Fo 0 Go
S ) (422)
BH A 0
must be at least stabilizable. Since the matrices given in (422) are
constant, Theorem 3.3 can be employed. More specifically, conditions
(iii) and (iv) imply that the pair given in equation (422) is
stabilizable and hence, proper selection of the feedback K1 and K2 will
give exponential stability to the system (421).
Assuming that suitable feedback gains have been selected, the state
transition matrix o(t,t ) associated with (421) will satisfy the
inequality
llo(t,to )li < mea(tt) (423)
for some positive constants m and a. Hence, to show condition (2) of the
PoincareLiapunov theorem and also to conclude stability we must have
sup IFA(t) Flli < L (424)
t>0
where L is small enough to insure that
(mL a) < 0 (425)
Equation (424) can be verified by using the definitions for
FA(t) and FA to obtain the relationship
** *0 *
llFA(t) FIli < IF (t) Fol + llG(t) Go .l[K1, K2]li (426)
Using (i) and (ii) then gives
sup llFA(t) FAl< + 211[K1, K2]li (427)
t>~
If el and e2 are small enough, then condition (2) of the Poincare
Liapunov theorem is satisfied and the system NCT is asymptotically
stable.
The final condition which needs to be verified for a solution to
the servomechanism problem is the observability of the pair (A, K2).
This condition presents no problem, however, since it immediately
follows from Theorem 3.4 that (A, K2) is observable whenever the system
given by (421) is exponentially stable. This completes the proof.
In order to interpret Theorem 4.2 we need certain continuity
conditions to hold. That is, F*(t) and G*(t) should be continuous
functions of the reference r (t) and the disturbance w (t). Then
assumptions (i) and (ii) are realistic since both iF (t) Fon and
nG (t) Golli will be small whenever IIr (t)I and ilw (t)I are
small. Furthermore, because F*(t) and G*(t) are often periodic due to
the periodicity of x*(t), u*(t), and w (t), CI and 62 will be,
respectively, the maximum values that IIF (t) Foll. and
o
IIG (t) G ll assume over one period.
As a final point, note that if in condition (iii) of Theorem 4.2
the word "stabilizable" is replaced by "controllable" then the feedback
gains K1 and K2 can be selected to arbitrarily assign the eigenvalues of
the system (421). This may, in turn, make it possible to obtain a
large ratio of a/m with suitably chosen feedback gains. Then, provided
that IK1, K2 1]i does not become too large, L will increase and hence
larger reference and disturbance signals will be allowed. Note also
that if the input enters into the nonlinear system by a linear time
invariant mapping, e2 will be zero so that increasing the ratio a/m will
always increase L.
We now give a rather lengthy example which makes use of many of the
results obtained so far for the nonlinear servomechanism problem. In
this example, simulated test results are provided to show the per
formance of the control algorithm. Also, simulations are provided which
show the consequence of using a controller based on linear servo
mechanism theory.
Example 4.1
Consider again the system of Example 2.2
i(t) = 3x(t) + x2(t) + (2x2(t) + 4)w(t) + u(t)
y(t) = x(t)
(428)
Assume that the disturbance is a constant with a value of a2 and
that the reference is a sinusoid with amplitude ia and frequency w =
1. Thus
r* (t) = alsint
w (t) = a2 (429)
It was found in Example 2.2 that the input u (t) and state x (t) satisfy
the differential equation
d5 d3 d
5() () ) + 4t (.) = 0
dt dt
(430)
The internal model system is thus
0
0
(t = 0
0
0
0 0
0 0
1 0 n(t)
0 1
5 0
0
0
+ 0 e(t)
0
1
For the nonlinear system (428) we have
(431)
f(x,u,w) = 3x + x2 + (2x2 + 4)w + u
so that
F (t) =
x=alsint
G *(t) af(x,u,w)
G(t) = au
= (3+2x+4wx)
x=alsint
w=a:2
= 3+(2a1+4ala2)sint
(433)
x=alsint
w= a2
(434)
The linearization of NCT may be written as
xA(t)
[F (t)K1] [
0 (
0 (
0 (
0 (
1 (
1
0
0
0
4
* K2
0
1
0
0
0
0
0
1
0
5
xA(t)
(435)
x(t)
where xA(t) := (436)
It is not difficult to show that all conditions needed to apply Theorem
4.2 are satisfied. Evaluation of the linearized system about the origin
gives
F = 3 Go = 1
(432)
(437)
Using (433) and (434) it readily follows that
sup IIF(t) FIi = (2a1 + 4a 12) =1 (438)
t>0
and
sup IG (t) GI = 0 = e2 (439)
t>0
In order to show stability by the PoincareLiapunov theorem we must then
have
em a < 0 (440)
where a corresponds to the real part of the rightmost eigenvalue of
the matrix given in equation (435) when F (t) is replaced by Fo. The
constant m depends on the eigenvectors of this matrix.
In order to meet the stability requirement, the feedback gains K1
and K2 are selected using a standard technique for eigenvalue assign
ment. (Note: it can be shown that the linearized system is control
lable and hence arbitrary eigenvalue assignment can be made). The
closedloop eigenvalues are chosen to be:
4.0
5.0
5.0 j3.0
4.0 j2.0
This gives a = 4, however, we shall not concern ourselves with the
calculation of m. Just as an example, let us assume m = 1, c1 =1/2
and a2 = 1. Then, from (438), we get e1 = 3 so that elma = 1 < 0
and the system NCT is locally asymptotically stable.
Various simulations have been obtained using a RungeKutta
algorithm [19] to numerically integrate the closedloop nonlinear
system. In some of these simulations, an internal model system has been
used which does not contain dynamics corresponding to the second
harmonic of the reference signal. Such a design results when the
internal model system is chosen in accordance with linear servomechanism
theory. To give a fair comparison between the two control schemes, the
closedloop eigenvalues of the design based on linear theory are identi
cal to those given above, except that the eigenvalues at 4 t j2 are no
longer needed due to a reduction in system order.
Figure 41 shows the responses obtained for both design approaches
when only a reference signal is applied. The proposed control design
works well (see Fig. 41(a)) and the tracking error is completely
eliminated in steadystate. The design based on linear servomechanism
theory, however, results in a steadystate tracking error which is
sinusoidal with a frequency twice that of the reference signal.
Figure 42 again shows the responses obtained using both design
approaches. Here, however, a constant disturbance has been introduced
in addition to the sinusoidal reference signal.
In Figure 4.3 the amplitude of the disturbance has been increased
and as a result, the transient response in the system designed by linear
theory is very poor. Note that in order to show the complete response,
the scaling of the plot in Figure 43(b) is different from the scaling
used in previous figures.
61
As a final test of the control scheme, a sinusoidal reference at a
frequency slightly different from the intended frequency is applied to
the system. Figure 44 depicts the resulting responses. Although we
have not considered this particular situation from a theoretical
standpoint, it is seen that the controller which contains a second
harmonic works considerably better than the controller designed
according to linear servomechanism results.
0 002000   0
0 I
i I I
Si i
Cu I
i i i I
n nn nn U i i nn 1i
nil U t~in if Rn' f ii I U mI
TIME (SECONDS)
(a) Design based on nonlinear servomechanism theory
(b) Design based on linear servomechanism theory
Figure 41. Tracking error: reference = 2sin(t), no disturbance
i.D
.l U
.I
".
.
t.
."
AL
4 4I4I S
i i i
1 .0 2 i i i
0 I I I
0.0D 2.00 ,.00 6.00 8.00 LD.0D 120.0 14.00 1C
TIME (SECONDS)
(a) Design based on nonlinear servomechanism theory
(b) Design
6.00 8.00 L. 00 12.00
TIME (SECONDS)
based on linear servomechanism theory
16.00
Figure 42. Tracking error: reference = 2sin(t), disturbance = 1.0
W
CI
I
i.00
. . ;  
C i I I
(1
0 ilI
2. 00
4.00
6.00 8.00
TIME (SECONDS)
LO. 00
12.00
1Q.oo
(a) Design based on nonlinear servomechanism theory
(b) Design based on linear servomechanism theory
Tracking error: reference = 2sin(t), disturbance = 2.0
.00
16.00
Figure 43.
C. UU
4. UU
(a) Design based
8I
tI i i i ,
o, ii.... .i. ._i. i 
.uu 0.00 LD.DO 12.00 La
TIME (SECONDS)
on nonlinear servomechanism theory
(b) Design based on linear servomechanism theory
Figure 44. Tracking error: reference = 2sin(t), disturbance = 1.0
cr:
0
C)
,J
Qc
IU
ii
(
. uu
qU.0
16.00

Optimal Feedback for the Linear Servomechanism Problem
In this section we discuss the consequences of using optimal
control theory as a means of determining the stabilizing feedback gains
for the linear servomechanism problem. Only the linear problem shall be
treated since the interpretation of the results for the nonlinear
problem is not clear. It is true, however, that the actual method of
feedback gain selection discussed in both this and the succeeding
section can be applied to the nonlinear problem when linearization
techniques are used.
Now consider the well known linear optimal control problem [16],
[20]. That is, given the linear timeinvariant system
x(t) = Fx(t) + Gu(t) (441)
select the control u(t) to minimize the quadratic performance index
J = f [x'(t)Qx(t) + u'(t)Ru(t)]dt (442)
0
Where Q > 0 and R > 0 are symmetric matrices of appropriate
dimension. The optimal control law is found to be of the form
u(t) = Kx(t) (443)
where K is a timeinvariant feedback gain determined by solving an
algebraic Riccati equation.
The question answered here concerns the interpretation of applying
such a control to the linear servomechanism system. The reason that an
interpretation is considered necessary is that the optimal control is
derived assuming u(t) is the only external input to the system and no
consideration is made for uncontrollable inputs such as a disturbance or
reference signal.
In the linear servomechanism problem, the dynamics of the plant and
the controller can be modeled by the following equation
LC:
(t 0 x(t) G E
= + u(t) + w(t) + r(t)
n(t) BH A n(t) 00
u(t) = K1x(t) K2n(t) (444)
y(t) = Hx(t)
where x(t) e Rn is the state of the plant, n(t) e Rpr is the state of
the internal model system, u(t) e Rm is the input, y(t) e RP is the
output, w(t) s Rd is a disturbance, and r(t) e RP is the reference. The
system LC is essentially the linear version of the system NC given in
equation (229) for the nonlinear servomechanism problem. Note that for
the linear system, it is not necessary for the dimension of the input
and the dimension of the output to be the same.
As already discussed, if the internal model system is chosen
appropriately and the feedback gives asymptotic stability to the system
LC without the exogenous inputs w(t) and r(t); then tracking and
disturbance rejection will occur when w(t) and r(t) are applied. The
precise conditions as to when it is possible to obtain a stabilizing
feedback are conditions (B.1) and (B.2).
Suppose that the conditions for a solution to the linear servo
mechanism problem have been satisfied and the closedloop system LC has
been constructed in agreement with equation (444). Since asymptotic
tracking and disturbance rejection will occur, there must be a steady
state solution to (444). Consequently, if both w(t) and r(t) are
applied to the system at the time t = 0 then there exist initial states
x(0) = xo and n(0) = no such that no transients appear in the state
trajectory and the tracking error is zero. We denote this trajectory by
the pair x ss(t), nss(t)]. In terms of this notation, (444) becomes
 (t F 0 x (t) G oE 0
= + ss(t) + w(t) + r(t)
L (t) BH A ns(t) 0 0
uss(t) = K1Xss(t) K2nss(t) (445)
yss(t) = r(t) = Hxss(t)
If (445) is subtracted from (444) the following equation results:
[(t) F 0 F(t) G
i = H' + (t) (446)
(t) BH A LE(t) 0
where
x(t) = x(t) xss(t)
(t) = n(t) nss(t) (447)
i(t) = u(t) uss(t) = Kl1(t) K2,(t)
Equation (446) is a linear dynamic equation modeling the transient part
of the state trajectory of the system LC. Figure 45, shows a typical
illustration of the actual, steadystate, and transient trajectories
which might result when a sinusoidal signal is being tracked. It is
important to note that neither w(t) nor r(t) appear in (446) so that
these exogenous signals play no role in the transient trajectory or, in
otherwords, how fast tracking occurs. In addition, without the exo
genous signals, (446) is of a form which makes possible the interpre
tation of using optimal control techniques for the selection of the
feedback gains.
Now let us assume that the stabilizing gain K := [K1, K2] is found
by solving the algebraic Riccati equation for optimal control. That is,
the positive semidefinite P satisfying
Q + PFA + FAP PGAR1G P = 0 (448)
is obtained and K is selected as
K = R1GP (449)
Here, Q > 0 is a symmetric matrix of dimension n+pr x n+pr, R > 0 is a
symmetric matrix of dimension m x m, and
F 0 G
FA H GA = (450)
If the reference signal r(t) and the disturbance w(t) are applied at
time t=0 then the following quadratic performance index is minimized
x(t)
Figure 45. Actual and steadystate trajectories
J = I [A(t)Q A(t) + u'(t)Ru(t)]dt (451)
0
where
x(t) x (t)
XA(t) := ss (452)
and n(t) n(t)
u(t) = [u(t) uss(t)] = [u(t) + Klxss(t) + K2nss(t)] (453)
The above observation simply points out that the transients behave in
some optimal fashion.
Now consider the state trajectory [xss(t), nss(t)] which is unique
for a specific feedback gain K = [K1, K2]. By assumption, this gain has
been selected by optimal control techniques. If this is not the case,
it is quite possible that the steadystate trajectory [Xss(t), nss(t)]
as well as the input uss(t) might be improved in some respect. For
example, a different choice of gains might actually lessen the average
power required to maintain tracking of a certain reference signal.
Increased Degree of Stability Using the
Optimal Control Approach
In the previous section we discussed using the optimal control
approach to obtain stabilizing feedback gains for the linear servo
mechanism problem. The method can also be employed in the nonlinear
servomechanism problem when the linearized equations are used; however,
the control can no longer be considered optimal. It is sometimes
advantageous to make a slight modification on the performance index to
give a higher degree of stability to the linearized model. It was
previously indicated that when the linearization of NCT about the origin
is exponentially stable, tracking and disturbance rejection will occur
for small reference and disturbance signals. It is also true that in
certain cases, increasing the degree of stability of this system will
allow for a larger range of reference and disturbance signals. To meet
this condition using optimal control theory, a well known technique due
to Anderson and Moore [16] can be used.
Consider the linear system
x(t) = Fx(t) + Gu(t) (454)
where the pair (F,G) is completely controllable. Equation (454) could
model the linearized servomechanism equations.
Consider also the exponentially weighted performance index
0
J = e2tCx'(t)Qx(t) + u'(t)Ru(t)]dt (455)
where Q > 0 and R > 0 are symmetric matrices with (F',Q)
stabilizable. It can be shown that minimizing (455) with respect to
the system (454) results in a feedback law u(t) = Kx(t). Furthermore,
the degree of stability of the closedloop system is increased relative
to using a performance index without exponential weighting.
The problem is actually easier to solve by defining a new system
given as
x(t) = f^(t) + GQ(t) (456)
where
F = F + ca G = G
(457)
A new performance index is taken as
00
J= f [' (t)Q (t) + '(t)Rt(t)]dt (458)
0
The standard algebraic Riccati equation may be solved yielding an
optimal feedback gain K for the system (456). It just so happens that
if this same feedback gain is used for the original system then the
integrand of (455) is minimized with respect to the original system.
In addition, the eigenvalues of the closedloop system will all have
real parts less than a. This is the desired result. A similar
technique can be used in discretetime control [21].
CHAPTER FIVE
PRACTICAL CONSIDERATIONS
In this chapter practical aspects dealing with implementing the
control algorithm for the nonlinear servomechanism problem are treated.
First discussed is a modification of the already proposed control
algorithm which is specifically tailored for tracking and disturbance
rejection with respect to a nominal trajectory. The modified design is
based on deviations from the nominal trajectory and since these devia
tions are generally small, the demand on the stabilizing capabilities of
the controller is minimized. Another benefit of the design is that
tracking of a wide class of reference signals is made possible by sup
plementing the closedloop feedback with openloop control inputs.
The final section of this chapter deals with discretetime
techniques so that the control algorithm can be implemented using a
digital computer.
Controller Based on the Nominal Trajectories
In this section we develop a controller for the servomechanism
problem which operates relative to nominal reference and disturbance
signals. The design presented here employs not only feedback control
but also feedforward control to achieve the desired trajectory.
Although feedforward control is introduced, the control scheme is
formulated in essentially the same way as was done in previous treatment
of the nonlinear servomechanism problem.
Consider again the nonlinear system N
N: k(t) = f(x(t), u(t), w*(t))
y(t) = Hx(t)
e(t) = r*(t) y(t) (51)
Here r*(t) and w*(t) indicate a particular reference and disturbance out
of the class of signals r(t) and w(t).
Now assume that for a certain nominal reference r (t) and a nominal
(anticipated) disturbance w (t) tracking can be achieved. In
otherwords, assumption (A.1) holds for the nominal signals so that the
following solution for (51) exists
x (t) = f(x (t), u (t), w (t))
y*(t) = Hx (t) (52)
S= (t) y (t)
where x (t) and u (t) are nominal state and input trajectories which
are necessary for tracking. We shall not require x (t) and u (t) to
satisfy a linear differential equation such as the one given in assump
tion (A.2). Instead, it shall be assumed that both x (t) and u (t) can
be generated by external means so that they are readily available. In
practice, an exact generation of these signals may not always be
possible, however, discussion of this circumstance is deferred until a
later section on robustness.
In certain applications it may be desirable to change the reference
signal to a value other than r*(t). (One such application for the
robotic manipulator is discussed in Chapter Six.) The true reference
signal shall be denoted r*(t). Also, it is likely that the actual
disturbance, denoted w*(t), will not be the same as the nominal
disturbance w (t). When r*(t) and w*(t) are applied to the system then,
if assumption (A.1) holds, tracking will occur provided that a certain
state and input trajectory are present. Denoting this state and input
as x (t) and u*(t) respectively, the following definitions can be made
r*(t) := r*(t) F*(t)
(t) := w*(t) (t)
S*(t) := x*(t) *(t) (53)
u(t) := u*(t) u(t)
where ?*(t, t, )*(t),(t), and ^*(t) denote the deviations of the true
signals from the nominal signals. Note that because the system under
consideration is nonlinear, x (t) and u (t) are not necessarily the
state and input trajectories which give tracking of r (t) with the
disturbance w (t).
Now as before, the objective of the control will be to cause the
actual state trajectory x(t) to asymptotically approach the state
trajectory x (t). In addition, this will be accomplished with an input
u(t) which asymptotically approaches u*(t).
Consider the control scheme given in Figure 51. In relation to
this scheme we have used the following definitions
x(t) := x(t) x*(t)
(54)
(t) :t ) Ut) u (t)
w (t)
Closedloop control system
Figure 51.
It is apparent that '(t) and %(t) are simply the deviations of the true
state and input from the nominal state and input.
As indicated, the tracking error will be zero whenever the state
and input of the plant are x*(t) and u*(t) respectively. Assuming there
exists a state trajectory n (t) for the internal model system which
allows this to happen, we must then have
K2(t)n*(t) = Kl(t)R*(t) *(t) (55)
The above equation is a mere consequence of definition (53) and the
structure of the controller.
Although Kl(t) and K2(t) are shown to be functions of time, for the
present, assume that they are constant. Also, assume that 2 (t) and
d*(t) satisfy a linear differential equation of the form given in
assumption (A.2). It then readily follows (see Chapter Two) that if the
internal model system is chosen to contain the modes of x (t) and u (t)
and if the pair (A, K2(t)) is observable, tracking will occur for some
initial state [x*(O), n (0)]. Consequently, we shall require that
W*(t) and u*(t) satisfy the differential equation given in (A.2). The
internal model system is designed accordingly.
One advantage of the new requirement is that, effectively, the
class of signals for which x*(t) and u*(t) are allowed to belong is
increased. For example, Figure 52 shows a state trajectory x*(t) which
consists of a sinusoidal trajectory C*(t) superimposed on some nominal
trajectory x (t). The trajectory x (t) is not restricted by assumption
(A.2).
79
/ I
Sx (t)
x (t)
t
Figure 52. Nominal and desired state trajectories
We have indicated that tracking occurs provided the initial state
is correct. It is also necessary to show asymptotic stability of the
system which models the transient dynamics. Since the formulation used
here is roughly the same as in previous derivations, the system NCT
given in Chapter Two is still a valid model.
Feedback Gain Selection
In this section feedback gain calculation for the control scheme of
Figure 51 shall be discussed. Again, as in the previous chapter,
linearization procedures shall be employed so that Liapunov's indirect
method can be used to determine stability.
Before proceeding, it is necessary to discuss the timevarying
feedback law which has been chosen for the control scheme of Figure
51. Timevarying feedback is in contradiction with the requirements
imposed to solve the servomechanism problem; however, it may be true
that the timevarying gains vary slowly enough to treat them as constant
for all practical purposes (the quasistatic approach). Here we assume
this to be the case. Later is will become apparent that selecting time
varying feedback provides better compensation over the nominal
trajectory. If the signals comprising the nominal trajectory vary
slowly enough then it is likely that the feedback gains K1(t) and K2(t)
can be chosen to vary slowly.
Now consider the stabilization problem. Let us assume that all
conditions for tracking and disturbance rejection have been met and the
internal model system for the scheme of Figure 51 has been chosen in
accordance with the theory of Chapter Two (using *x(t) and u (t) in
(A.2)). The linearization of the transient system NCT has been given
previously but is repeated here for convenience.
XA(t) FA(t)xA(t) (56)
where
[x(t) x*(t)
xA(t) n(t) n(t) (57)
and
FA) F*(t) G*(t)Kl(t) G*(t)K2(t (58)
FA(t) := (58)
BH A
The Jacobian matrices F*(t) and G*(t) are evaluated at the signals
x*(t), u*(t), and w*(t). More precisely, we may write
F(t) = f(x,u,w) G (t) = af(x,u,w) *
ax x = x (t) au x = x (t)
u u (t) u = u(t) (59)
w = w(t) w = w (t)
Usually these Jacobian matrices cannot be evaluated apriori since x*(t),
u (t), and w*(t) are not known. Consequently, to show stability of the
linearized system we shall use a technique already presented in Chapter
Four; namely, the PoincareLiapunov theorem. Let us write the
linearized equation given by (56) as
XA(t) FA(t)xA(t) + [FA(t) FA(t)]xA(t) (510)
where
F*( (t) (t)Kl(t) G(t)K2(t)
FA(t) := (511)
SBH A
and
F*(t) Df(x,u,w) *(t) af(x,u,w)
ax x = (t) au x = (t)
(t * (512)
u = *(t) u = u*(t)
w = w (t) w (t)
Now (see Theorem 4.1) if the system
*
xA(t) = FA(t)xA(t) (513)
is the exponentially asymptotically stable and sup ilF*(t) FA(t)ii. is
t>O
suitably small then (510) is exponentially asymptotically stable as
desired.
First consider conditions under which the quantity
sup llFA(t) FA(t)ii is sufficiently small. When the true reference
t>0
and disturbance signals are precisely equal to the nominal reference and
disturbance signals then obviously this quantity is zero. If the true
signals deviate from the nominal signals then sup IIFA(t) FA(t)i. is
t>0
not zero, however, it is generally small (assuming FA(t) depends
continuously on the reference and disturbance) whenever the deviations
from the nominal signals are small. Hence, the control law developed
here will be effective when the true reference and disturbance signals
are close to the nominal reference and disturbance signals.
Now consider the exponential stability of the system (513). In
order to achieve this condition with timevarying feedback, it is
necessary that the pair
F (t) 0 G*(t)
L BH A 0 (514)
be stabilizable. The feedback gains could then be selected, for
example, by optimal control techniques [20]. Recall, however, that the
rate of variation of the gains Kl(t) and K2(t) must be slow if the
quasistatic approach is to remain justifiable. Such a condition is
** *
likely when the nominal signals r (t) and w (t) are themselves, slowly
varying.
Another method for obtaining the needed stability is to choose the
feedback gains K1(t) and K2(t) in such a way that the eigenvalues of
FA(t) lie in the left halfplane for all t. This approach is valid
[17] under the assumption of a slowly timevarying system (i.e.,
d *
lII rF(t)II should be suitably small). Obviously, the slowly time
varying condition is only likely to occur when the nominal signals are
slowly timevarying. Assuming this to be true, the resulting feedback
gains will also be slowly timevarying as required previously.
As a final point, note that if the nominal signals r (t) and w(t)
are constant and if the original system is autonomous, then the matrices
given in (514) will be constant. In this circumstance, constant
feedback gains can be employed, thus eliminating any concern that the
slowlyvarying feedback gain assumption may not be justified.
Robustness with Respect to Generation of the Nominal Signals
It was previously indicated that, in practice, the nominal signals
x (t) and u (t) used as openloop commands may not be generated
correctly. This could be due to modeling errors in the nonlinear system
or even to imperfections in the actual generating mechanism.
First consider the case when only the input is not generated
correctly. This is the more important case since often the nominal
state trajectory is known exactly while the corresponding nominal input
is only approximate due to modeling errors. Suppose that the nominal
a
input actually supplied to the system is ua(t) while, as before, the
input needed to obtain the nominal trajectory is U (t). Now make the
definition
udt) = a(*(t) (t) (515)
where ud(t) will be referred to as an input disturbance.
In terms of the definition given by equation (515) we may look at
the problem from a different point of view. That is, assume the input
u (t) is being generated correctly, however, also assume that there is a
disturbance ud(t) acting in the input channel so that, effectively,
G (t) ud(t) = a(t) is the true signal supplied to the system. This
is shown in Figure 53. By looking at the problem from the new perspec
tive it is evident that the method described in the previous section can
d
still be applied by simply modeling u (t) as part of the
disturbance. It can readily be deduced from Figure 53 that this
translates into Td(t) satisfying a linear differential equation of the
form given in assumption (A.2). Consequently, the dynamics associated
a(t)
a (t)
dt)
. (t
(t)ud(t)=Tia(t)
Modeling incorrect nominal inputs
Figure 53.
with d (t) must be included in the internal model system (assuming
they have not already been included). For example, if the nominal input
supplied to the system differs from the required nominal input by a
constant, the internal model system must contain integrators.
Now consider the case when the nominal state is not generated
correctly. Let us write
_d a (516)
x (t) = x (t) x(t) (516)
a
where a (t) is the nominal state which is actually supplied to the
system, x (t) is the correct nominal state which should have been
supplied, and 3d(t) is the disturbance representing the difference
between the correct and actual signals. Since the nominal state is fed
through to the input via a linear feedback gain matrix (see Figure 5.1)
d
it is apparent that d (t) can be modeled as an input disturbance.
d
Hence, we may conclude that the dynamics associated with x (t) must
also be included in the internal model system.
To summarize, we have shown that robustness with respect to the
_* 
openloop signals x (t) and u (t) is obtained provided that any
deviations from these signals are successfully modeled in the dynamics of
the internal model system.
Digital Implementation
In the previous treatment of the servomechanism problem there has
been an underlying assumption that the control will be implemented via
continuoustime methods. Often it is desirable to implement the control
using a digital computer and hence a discretetime control law is
necessary. In this section we give a brief discussion as to how to
devise a satisfactory discretetime algorithm. It is assumed that the
discretetime control algorithm will closely approximate the performance
of the already developed continuoustime algorithm. Consequently,
essentially no new theory will be needed. In addition, since discrete
time control is a well known subject area [22], [23] much unnecessary
detail shall be omitted from this discussion.
Discretetime control requires sampling of the various outputs (or
states) of the plant and if T denotes the spacing between samples, then
sampling occurs at the times t = kT, k = 0,1,2... It is necessary
that the sample rate (1/T) be chosen high enough so that, for all
practical purposes, the resulting control algorithm will behave as a
continuoustime control law. For example, if the state x*(t) and the
input u (t) consist of sinusoidal signals then obviously the sample rate
should be higher than the highest frequency in the sinusoidal signals.
With the above comments in mind we give a typical digital
implementation of the control scheme shown in Figure 51. This is shown
in Figure 54. Notice that the needed continuoustime signals from the
plant are converted into discretetime signals by sampling so that they
may be processed digitally. Additionally, the control u(t) to the plant
is produced by converting the discretetime signal u(k) into an analog
signal. This is accomplished by means of a zeroorder hold (z.o.h.)
which can be thought of simply as a digitaltoanalog convertor
providing a piecewise constant version of u(k).
The remainder of Figure 54 is basically selfexplanatory, however,
we shall discuss two issues in more detail; namely, construction of the
internal model system and selection of the feedback gains.
Figure 54. Discretetime control algorithm
u (k)
w (t)
First consider the internal model system. Since it is to be
implemented digitally a discretetime model is required. Rather than
discretizing the continuoustime internal model system it is convenient
to reformulate the problem in terms of discretetime signals. If
assumption (A.2) holds then the elements of both the sampled state x*(k)
and the input u (k) will satisfy the difference equation
s(k+r) + drls(k+r1) + ... + dls(k+l) + d0s(k) = 0 (517)
where s(j), j = k, k+1, ..., k+r denotes either an element of x*(j) or
an element of u (j). This result is readily obtained using ztransform
theory and later an example will be given demonstrating how to obtain
the scalars dj, j = 0,1,..., r1 using ztransforms.
The internal model system then takes the form
n(k+l) = Adn(k) + Bde(k)
(518)
e(k) = r(k) y(k)
The matrices Ad and Bd are defined as
Ad = T1 block diag. [Cd, Cd, ..., Cd] T (519)
Bd = T1 block diag. [T, T, ...,] (520)
where
90
0 1 0 ... 0 0
0 0 1 ... 0 0
Cd T"[ ] (521)
Cd = : : : : ,T= : (521)
0 0 0 ... 1 06
do dl do ... dr1 1

and T is arbitrary but nonsingular.
It is not difficult to show that the eigenvalues of the matrix Ad
will be identical to the eigenvalues obtained by discretizing the
continuoustime internal model system given by equations (225) through
(228). Consequently, the performance obtained using either the system
of (518) or the direct discretization will be roughly the same. The
system of (518) is, however, often easier to obtain and implement.
The following example shows how to calculate the coefficients of
the difference equation used to define the discretetime internal model
system.
Example 5.1
Suppose x*(t) = a1
u*(t) = a2sinwt (522)
where ca and a2 are constants. The sampled signals are
x (k) = al
u*(k) = a2sinwkT (523)
where sampling occurs at every t = kT seconds. Letting X*(z) denote the
ztransform of x (k) and U*(z) denote the ztransform of u*(k) we have
X*(z) 1
z 1
(524)
U*(z) = 2 2
z 2zcoswT + 1
The minimum polynomial having roots corresponding to the poles of both
X*(z) and U*(z) determines the difference equation (517). In our
example, this polynomial is obtained by multiplying together the
denominator polynomials of X (z) and U*(z). The result is the following
(z1)(z2 2zcoswT + 1) =
(525)
z3 [l+2coswT]z2 + [l+2coswT]z 1
Hence, the difference equation is
s(k+3) [1+2coswT]s(k+2) + [1+2coswT]s(k+1) s(k) = 0 (526)
s(j) = x*(j) or u (j)
and the matrix Cd is
1
0
(1+2coswT)
0
1
(1+2coswT)
We now consider selection of the feedback gains. Notice in Figure
54 that the feedback control law is
0C =
Cd = 0
1
(527)
i(k) = Kl(k)'(k) K2(k)n(k) (528)
To be consistent with the timevarying feedback law required for the
quasistate approach, the gains are shown to be functions of the sample
integer k. From (528) and the assumption that a zeroorder hold will
be employed, the actual control input to the plant can be expressed as
u(t) = Kl(k)^(k) K2(k)n(k) kT < t < (k+l)T (529)
A necessary requirement for the discretetime control scheme to be
satisfactory is that the control law of (529) must result in asymptotic
stability of the closedloop transient system.
One possible method [24], [25] of selecting the feedback is based
on a discretized model for the nominal linearized system. This nominal
linearized system is given in continuoustime form by equation (513).
Since the internal model system has already been given in discretetime
form, only the part of the linearized system corresponding to the plant
must be discretized. Assuming that the continuoustime system (513) is
slowly timevarying, we may write the discretetime equation
approximating the dynamics of (513) as
xA(k+l) FA,d(k)xA(k) (530)
where _
whe Fd(k) Gd(k)K1(k) Gd(k)K2(k)
FA,d(k) = (531)
BdH Ad
* *
The discretetime matrices Fd(k) and Gd(k) corresponding to the plant
are obtained [26] by the relationships
*
* F (kT)T
Fd(k) = e(k (532)
T *
Gd(k) = [ fe (kT)tdt]G*(kT) (533)
d 0
Where T is again the sample period. By defining Fd(k) and Gd(k) in
this manner it is implicitly assumed that the dynamics of the linearized
timevarying system (513) do not change over any given sample period.
Thus, excluding the case when the reference and disturbance signals are
constant, equation (530) is indeed only an approximation.
Assuming that our discretetime model is reasonably accurate, the
feedback gains Kl(k) and K2(k) are selected to give stability of the
discretetime system (530). The actual mechanism for selecting the
feedback gains shall not be discussed, however, solving an algebraic
Riccati equation would be one approach [24]. In any event there is a
stabilizability (controllability) requirement for the discretized system
which must be met. In general, the controllability requirement will be
met whenever the continuoustime system is controllable [27] so that
controllability of the pair given in equation (514) is often
sufficient.
CHAPTER SIX
APPLICATION TO THE ROBOTIC MANIPULATOR
Several key ideas concerning the solution of the servomechanism
problem for the robotic manipulator system are presented in this
chapter.
The first of the chapter contains a brief summary of the dynamic
equations modeling the robotic manipulator. Next the overall structure
for the control system is given. In order to effectively treat the
manipulator problem, discussion is given in regards to determining the
dynamics which must be included in the internal model system as well as
finding a stabilizing feedback law. The controller design is based
primarily on the results of Chapter Five
The final portion of this chapter deals with compensating for
structural flexibilities in the manipulator system. It is shown that
the proposed control algorithm can correct for endeffector deviations
caused by slowlyvarying external forces provided that the forces can be
measured.
Manipulator Dynamics
In this section we discuss the dynamic equations modeling a rigid
link serial manipulator having revolute joints. A more thorough
treatment of this topic can be found in Thomas and Tesar [28].
Using Lagrange's equation of motion, it is possible to obtain the
following dynamic representation for the manipulator.
J(6)'' + Tv(o,) = TA(t) + Tg(e) + Td(w(t),e) (61)
For a manipulator having N links, e(t), 6(t) and *'(t) are the vectors of
length N defining angular positions, velocities, and accelerations of
the actuator joints. The matrix J(e) RNxN is the inertia matrix which
depends on the manipulator's configuration (i.e., the joint angles
e(t)). It can be shown that J(e) is positive definite for all e (see
[24]) and is thus always invertible. The inertia torque vector
TV (,6) e RN corresponds to dynamic torques caused by the velocities
of the manipulator's links. Denoting the jth component of the intertia
torque vector as TV(e,6)j we have the following
TV(e,6), = 9'PJ(e)9 (62)
where PJ(e) e RNxN is a purely configuration dependent matrix referred
to in [28] as the intertia power modeling matrix. The term TA(t) e RN
is the control torque vector which is typically supplied to the actuator
joints by electric motors. The torques resulting from gravitational
loading are designated by Tg (e) e RN which is a configuration
dependent vector. Finally, Td(w(t),O) e RN is a torque vector resulting
from external uncontrollable forces. It is possible to write Td(w(t),
e) in the following form
Td(w(t),e) = D(0)w(t) (63)
where D(e) e RNxd depends only on the manipulator's configuration and
w(t) e Rd denotes the disturbance force vector.
