In the survey of chapter 1 a superficial description of
several methods has been given.
Here we will try to introduce them somewhat further by
means of the crucial formulas
and representative figures. In order to show how real
life problems are translated into the
various concepts we use an example throughout all introductions.
This example has been
chosen such that it encompasses all features that are
usually met in control design without
running into the distracting complexity of a practical
plant. Indeed, it is again a kind of
a toy system but it has nevertheless strong links to
practice: the well known `inverted
pendulum'. But principally the same problem, embedded
in a larger and more complex,
complete process, can be found in the stabilization of
vertically launched rockets, the
horizontal balance of guided missiles and airplanes and
the control of the rolling movement
of VSTOL (Vertical or Short Take-Off and Landing) Harrier
aircrafts. So the example
remains a simple toy but it has its counterpart in practice
as well.
Fig. 4.1 illustrates the simple,
cheap and traditional laboratory setup. The inverted
pendulum is driven by a servomotor and its angle is
measured by an angle sensor.
The limited accuracy and resolution of the sensor and
the connected AD-converter are
responsible for the sensor noise n additive in the final
measurement signal y. The controller
is implemented in the small, dedicated computer and sends
its control signal via the DA-
converter to the servo-amplifier. Both the DA-converter
and the servo-amplifier put their
bounds on the allowed range for the control signal u.
The servomotor is supposed to
transduce the potential u into the torque T in an ideal
linear transfer:
T = Ku
(4.1)
The friction of the shaft is neglected and the inertial
moment of the rotor, the pendulum
and the angle sensor together is represented by J. The
gravity force can be decomposed
into a radial component that is compensated by the bearing
and into a tangential force
mg sin _ where m is the total mass of both the pendulum,
the bottle-like cage mounted
on top of it and the little mouse in there. As this force
is perpendicular to the pendulum
the torque equals l times the force where l is the gravity
point of pendulum, cage and
mouse. The complete set of describing equations is now
evident:
The signal h represents the disturbing torques that the
mouse effects by jumping horizon-
tally. But it will also jump vertically thereby changing
the mass center of the system from
l0 to l0 + v and it will influence
the inertial moment J. Its nominal value is indicated by
J0. In a simulation we have taken a nervous
type of a stochastic, white mouse where h
and v are zero mean, white noises with standard deviations
respectively h and v. Note
that we could also have taken a smart, worst case mouse
that would try to escape by
unbalancing the system by enforcing the swing movements.
Numerically the various parameters have been given the
values:
E g = 10m/s2 (gravity
acceleration)
E m = 1kg (pendulum .5, cage
.3, mouse .2)
E l0 = .15m (distance
mass center to shaft center line) mgl0 = 1.5Nm
E J0 = 4/3ml02
= .03kgm2 (nominal inertial moment)
E K = 1Nm/rad (gain)
E umax = 2rad =
- umin (input range bound Tmax=2 !)
E h = 2Nm (standard
deviation of mouse torques: very strong supermouse !)
E v = .02m (standard
deviation of vertical mouse position)
E n = /120rad
1.5 (standard deviation measurement noise)
The dimension of u has been chosen as radians to make
the transfer of the controller
dimensionless. Note that the range of u is not sufficient
to cancel the disturbance h com-
pletely as Ku = h. On the other hand the motor torque
can compensate the maximum
gravity torque because:
max mgl0 sin= 1.5 Kumax = 2
(4.6)
The complete nonlinear equations including the model
perturbations by the vertical move-
ments of the mouse have been simulated in `Simulink',
a simulation toolbox in MATLAB.
See the appendix for detailed block diagrams. The various
controllers can thus be tested on
this `real' process.
The control goal simply put
in words: Keep the pendulum upwards with minimal de-
viating angledespite of the movements of the mouse
and within the constraints of the
actuator.
For control design we strongly
prefer a linear plant as this facilitates the theory sub-
stantially due to the superposition principle. If we
assume that the angle remains small
we can linearize the plant equations because sinƁ:
We notice that the variations in the linear transfer
are substantially and the variations
are far from `slow' because of the white mouse noise.
So it might be that linearization is not
the proper approach here. As an alternative we analyze
the linearization by feedback.
In Fig.4.2 the principle is illustrated in a blockscheme.
In general the derivation of block
H and even the analysis of its very existence is rather
complicated (see [3],[5]). For this
simple system the solution is very straightforward. We
can compensate for the nonlinear
term containing the sine function and simultaneously
shift both poles to the origin that is
advantageous considering the unstable pole. Block H can
be realized as:
- mgl sin
u = ------------ + u*
(4.11)
K
so that the composed transfer is linear:
and we just deal with a double integrator in the ideal
situation. It is then easy with
conventional tools to design a controller C. Unfortunately
the situation is far from ideal.
Block H cannot be realized exactly because:
E l is not exactly known, we
just have a nominal value l0
E is only available in the
measurement y polluted by n
The question thus is whether the partial compensation
of the nonlinearity based on a
nominal model outweights the misfit in the compensation
and the extra introduction of
the measurement noise. Only simulations can tell. This
can well be done in Simulink,
a simulation tool box in MATLAB. In the appendix the
various blockschemes are given.
We actually simulated the linearizing feedback and indeed
the vertical jumping of the
mouse (so the changes in the dynamics) made this approach
inadequate compared to the
straightforward approach of linearizing in an equilibrium
point. This last approach we will
illustrate in the next sections for the various design
methods.
In order to facilitate comparisons,
the results for the various methods will be presented
in a comparable format. First the method will be shortly
described followed by a descrip-
tion of the found controller and the resulting closed
loop system in the linearized form. If
dealing with a linear controller its Bode plots will
be given together with the closed loop
transfer functions Tij of the linearized system defined
by:
Next some time domain responses
will be shown for the real nonlinear system (so
including the nonlinear dynamics and the actuator saturation),
starting with the effects
of the white noise mouse movements as plotted in the
next Fig. 4.3.
Finally we can imagine that
we deal with a very smart mouse that does not jump in a
blind random way but that perceives most effect is resorted
by bouncing back and forth
against the side walls. In that case it is much more
difficult for a controller to keep the
the pendulum upwards and we can thus study the robustness
of the controllers for this
`worst' case mouse. The horizontal disturbance is therefor
changed into a so called Pseudo
Random Binary Noise Sequence (PBRNS) which is simply
a binary signal that changes
randomly at each clocktime. The maximum and minimum values
are chosen here at }2
kgm with a clock time of .01 s. The applied PBRNS is
shown in Fig. 4.4. Realize that this
smart, worst case mouse is really powerful (2 Nm!) so
that we can speak of a supermouse.
4.1 Classic design
The design problem can be stated as the stabilization
of a second order process with
no zeros and two real poles mirrored with respect to
the origin. A simple proportional
feedback always results in poles on the real or imaginary
axis again mirrored with respect
to the origin as a rootlocus plot would reveal immediately.
The real reason behind this
is that in no way the rotation speed is fed back so that
there cannot be any damping as
there is no dissipation.
Consequently, we have to build
some phase shift into the controller. Let us try the
simplest first order controller:
s - z
C = k ------
(4.14)
s - p
where the pole p is certainly stable in order not to
destabilize more. If we put the zero
closer to the imaginary axis than the pole, the rootlocus
started from the original mirrored
poles will be gpulled" over the imaginary axis by the
gattraction force" of the zero before it
experiences the gexpelling force" of the controller
pole and flees in two opposite directions
parallel to the imaginary axis. Such a rootlocus is shown
in Fig. 4.5. Certainly if the
controller gain k is large enough the system will be stable
for this phase lead controller
(PL) with p < z < 0. There is no general procedure
though how to choose the variables
k,p and z such that
E the actuator is not saturated: umin
< u < umax
E the system is robust against the jumping mouse
effects : h and v
E not too much sensor noise is introduced by
too high a feedback : n
Only `trial and error' can help here by means of simulations
and locally extrapolating the
tendencies that are observed. An acceptable solution
appears after some iterations. The
transfer function of this controller in the s-domain
is given by:
s+ 5
C(s) = -17:2583 --------
s + 10
The pole-zero locations of the linearized closed-loop
system then are:
poles : -2.6252 + 22.2137i
zeros : -5
-2.6252 - 22:2137i
-4.7495
In the closed loop Bode plots it is important to watch
the 0 dB lines. If the transfer
is above this line the implication is that the respective
inputs are amplified towards the
output and vice versa. Certainly the noise h is reduced
effectively in the output as T11
shows. But then we have to allow that the measurement
noise n is amplified in a low
pass band till 30 rad/s as read from T12.
This is quite an acceptable solution because the
variance of n is substantially less than the variance
of h. Finally T11 teaches that we also
have to pay for this disturbance reduction by an amplification
of the noise towards the
control signal u which is trivial because for disturbance
reduction in the output we need a
high feedback gain up to 30. However, the question is
whether the actuator can deal with
such a high feedback gain. The next time responses ,
for the actual, nonlinear system,
show that this is not the case as u exceeds its bounds.
Also for the worst case mouse the
system is not robust as the mouse turns the swinging
into half a rotation :becomes }
! (so the mouse can escape)
4.2 LQG
The name stands for Linear Quadratic Gaussian control.
gLinear" refers to the control
signal u that is a linear function of the states x:
u = - Lx
(4.15)
where L is a constant matrix of proper dimensions. gQuadratic"
refers that the criteria
contain quadratic terms in the states and the control
inputs. Finally gGaussian" charac-
terizes the disturbances and the measurement noise. In
Fig. 4.8 once again the principle
is shown in the variables defined for the inverted pendulum.
The process is disturbed by a
white, Gaussian, zero mean noise h while the measurement
noise n is also white, Gaussian
and zero mean. The first step is assuming that the state
is available from a noiseless
measurement.The static control matrix L is then computed
from the minimization of the
following criterion in the form of an expectation E because
of the stochastic setting:
L = arg min E{xTQx + uTRu}|u=- Lx
(4.16)
L
In this setting the state is excited by the disturbance
h and the goal is to reduce the effect
on x as much as possible within the constraint of a control
signal u that should not saturate
the actuator. Therefore both x and u are penalized in
the criterion with relative weights Q
and R respectively. These positive definite weighting
matrices are tuned until acceptable
control actions result. The higher the quality of the
actuator (more expensive) the smaller
the penalty on u (R smaller) can be and the better the
disturbance reduction will be.
Next an observer is designed
to reconstruct estimated states ^x from the actual mea-
surements y because the real state is not available .
Therefor a model of the process is
driven by the same input control u so that the estimated
state ^x follows the real state x as
far as it concerns the effect of u. Then the effect of
the disturbance h is not incorporated.
Only the output y contains information about this disturbance.
When we subtract the
simulated ^y from y we get a component e not yet represented
in the model and we thus
fed it back to the model by a constant observer matrix
K as a kind of an estimate of the
real disturbance h. It appears that increasing the matrix
K would give better results if
there was not any measurement noise n. This noise disrupts
the reliability of the mea-
surement y so that increase of observer matrix K introduces
the measurement noise into
the estimated state ^x. So here again we have to come
to a compromise depending on the
relative variances of h and n. An optimal observer matrix
K, the so called Kalman gain,
is obtained from:
K = arg min E{(x - ^x)T (x - ^x)}
(4.17)
K
The better the quality of the sensor, i.e. the smaller
the measurement noise n, the greater
the Kalman gain can be and the better the estimates ^x
will be.
As a final step the control
is based upon ^x:
u = -L^x
(4.18)
If h and n are independent, it can then be proved that
the independent designs of con-
troller and observer keep their optimality in the total
design according to the `separation
principle'. The complete closed loop system is stable
and optimal according to the above
two criteria.
For the example of the inverted
pendulum the following weights appeared to yield an
acceptable controller:
Contrary to the classic phase lead controller design,
we now have explicit design variables
(h, n, Q, R yielding K and
L) to deal explicitly with the measurement noise (sensor)
and the actuator saturation. Consequently the trial and
error method is now replaced by
a straightforward design that can handle these constraints.
The following state-space description of the controller
In the closed loop Bode plots we observe similar effects
as for the phase lead controller,
although the noise reduction in the output is substantially
less. And the time responses
(for the actual, nonlinear system) show that the noise
at the output is indeed larger than
for the classic phase lead controller but the control
effort is therefore less. Also this
controller cannot deal with the smart , worst-case mouse.
So it is not robust.
4.3 Robust control
The main goal of robust control is to design a controller
that keeps a minimum level of
performance and certainly stability in the face of modelling
errors. On top of that it
has created a framework that easily compares and balances
the many control aims and
constraints that one wishes to impose on the control
design. This can be illustrated by
means of the inverted pendulum in a block scheme in Fig.
4.11. We notice two exogenous
inputs viz. the disturbance h and the measurement noise
n. If we know their spectra we
can characterize them by means of their power and their
frequency bands. This is done by
representing them as bounded noise sequencesh
and n filtered by corresponding filters
Vh and Vn. The bounding of the
root noises i will be done by norms. In a somewhat
restructured form we have represented the block scheme
once again in Fig. 4.12. The
exogenous root inputs have now been combined as w in
a set of two entering the so called
augmented plant from the left. The augmentation refers
to the extra characterizing filters.
The actual output to be minimized is in this case the
pendulum angle . But we may not
expect to control this angle for frequencies in the MHz
range. We would be quite satisfied
if it were well controlled in a proper low pass band.
This is represented by the filter W.
Furthermore we wish to keep the control signal u within
the range of the actuator to
prevent saturation. So also u will be minimized as an
output in a proper frequency band
represented by filter Wu. The gains of the
filters Wand Wu are then chosen so as to
respond to the necessary relative importance of both
the control ofand the saturation
claim on u. Finally the outputs to be minimized in some
norm are combined in z and
indicated as ~and ~u.
For the robustness it is important
to remember that (according to the baby small gain
theorem) stability can be maintained in the presence
of a multiplicative model error if
we keep the complementary sensitivity small enough. But
the complementary sensitivity
is the transfer between n and in the scheme of the
pendulum. So, if we can keep the
transfer between n and ~ sufficiently small, the
controlled system will be robust. The
filters Vn and W then also function as characterizing
filters for the allowable model error
. So in addition to the LQG-control we also define
the constraint of robustness explicitly.
It can be derived that not only the stability but also
the performance is robust against
model errors.
Finally the proper controller
C is sought in the set of stabilizing controllers such that
the augmented plant transfer is minimized according to:
||z||s
C = arg min
sup ----- = arg min
|| M(C) ||0
(4.20)
Cstabilising w ||w||s
Cstabilising
The index s refers to a norm in signal space and the
index o to the operator norm, induced
by the chosen signal norm s. The operation sup stands
for `supremum' and it indicates
that the `worst case' (i.e. maximum) output is sought
for whatever input is possible. It
appears that by doing so we `induce' a norm on the total
transfer. We will discuss two
choices in the subsequent subsections. The transfer M(C)
is the closed loop transfer of
the augmented plant.
4.3.1 H
In H control design one wishes to consider
the energy (or power) of input w and output
z:
(If power is taken the integral has to be normalized
by 1=T without effecting the final
outcome.) The allowable inputs are restricted by:
||w ||2 1
(4.22)
If also for the output z the 2-norm is taken, the induced
norm appears to be the -norm,
which is the maximum amplification over the frequency
axis, so that finally:
C = arg min
||M(C) ||
(4.23)
Cstabilising
Concluding we might say that the H-controller
minimizes the energy (or power) transfer
of the augmented plant and it is a design completely
in the frequency domain. The various
filters are used to translate our particular wishes properly.
For the linearized plant under
study we found the following controller after some iterations
in searching for the proper
design variables i.e. the filters Vi and Wi.
The state-space description of the controller is
given by:
Cc = [ 1.6521e-02 -4.9917e-03 1.9679e-03
-6.7059e-01 ], Dc = 0
The pole-zero locations of the linearized closed-loop
system are:
poles : -6.6396e + 04
zeros : -5.9020e + 00
-3.6035e + 01 + 3.5334e + 01I
-4.1982e + 00
-3.6035e + 01 - 3.5334e + 01I
-5.0000e + 03
-9:2779e + 00
-4.6227e + 00 + 6.1809e + 00i
-4.6227e + 00 - 6.1809e + 00i
The order of the controller equals the sum of the orders
of the plant and the design filters.
In this case two first order filters appeared to be sufficient
so that the controller order
amounts to four. So compared to the phase-lead controller
and the LQG-controller the
H-controller can better be tailored to the special
needs. As a consequence of this
increased detailing in the design we then observe from
the time responses of the real
nonlinear plant that a disturbance reduction is obtained
comparable to the phase-lead-
controller but now with control signals well within the
actuator range. Unfortunately
it appears that robustness for the worst case mouse is
not obtained so that we have to
reconsider the design filters. In doing so we necessarily
have to deteriorate the disturbance
reduction.
4.3.2 l1
If the disturbances and the consequent control signals
contain peaks and one wishes to
eliminate these in particular, the energy (or power)
is not a good measure. The -norm
is then a better one:
||w ||s=|| w ||= max |w(t)|
(4.24)
t
The root input is restricted by
|| w || 1
(4.25)
If the output z is considered in the same norm the induced
norm appears to be the 1-norm,
which is the integral over the absolute impulse response
of the augmented plant, so that
we get:
C = arg min || M(C) ||1
(4.26)
Cstabilising
This design is completely in time-domain and rather cumbersome
because of the inevitable
convolutions. So effectively the l1 control
design keeps the peaks at the output as small as
possible for whatever worst case peaks at the input.
The following state-space description
represents a second order l1-controller:
and was obtained by a direct minimization of the objective
500
min max
wi,j | ti,j(k) |
Cstabilising
i,j k=0
where C is the controller and ti,j(k) are Markov
parameters (i.e. the impulse response
samples) of the closed loop-system for the sampling time
Ts = 0.01 and w1,1 = w1,2 = 2
and w2,1 = w2,2 = 0.5 are chosen
weights.
The pole-zero locations of the
linearized closed-loop system are:
poles : -15.1903 + 15.4630i
zeros : -7.5208
-15.1903 - 15.4630i
-34.8807
-6.0104 + 2.7701i
-6.0104 - 2.7701i
The resultant Bode-plots clearly display phase-lead characteristics.
The disturbance
reduction is somewhat worse than the phase-lead-controller
could obtain but the control
signal is well within the range of the actuator. For
the worst case mouse though, the same
remarks are applicable as for the H-controller.
4.3.3 -analysis/synthesis
-analysis/synthesis is a refinement of H-control
where the model errors are more pre-
cisely defined so that less conservative designs result.
In Fig. 4.17 we have schematically
introduced the effects of changes in the effective length
(l) and the inertial moment (J)
of the pendulum on the transfer function. In many cases
these effects can be represented
as small, particular transfers bounded in the -norm.
These inaccuracy blocks l and
J bring about extra incoming and outgoing lines to
the augmented plant to be taken as
extra exogenous inputs and augmented plant outputs to
be minimized. These extra lines
are in fact in a closed loop with the inaccuracy blocks.
Completely imaginary we can also
close the existing inputs and outputs via a fancy block
p. With proper normalization the
wanted performance can then be guaranteed if the transfers
in M(C) are sufficiently small
in the -norm. If we bound the fancy block p
in a similar manner, the performance
claim can be made equivalent to a robust stability condition
on the closed loop as in Fig.
4.18. The small gain theorem can be applied to this total
loop and if the transfer of M(C)
can be kept less than one according to:
min || M(C) ||
1
(4.27)
Cstabilising
then the performance and stability are guaranteed irrespective
of the model perturbations.
In that way H is certainly robust but nevertheless
rather conservative as it does not
account for the structural zeros in the error block.
In the -block we clearly distinguish a
diagonal structure and it is-analysis that can handle
this particular structure. It appears
that, if a properly adapted-norm (which is less than
the -norm) is less than 1, the
closed loop is robustly stable and thus the complete
design is robust. Consequently in the
synthesis phase, i.e. the design, we have to minimize
:
C = min
|| M(C) || 1
(4.28)
Cstabilising
So again like H the -analysis/synthesis
is in the frequency domain and it considers
the energy of signals. The design is more complicated
and computationally intricate but
less conservative as it uses more specific information.
The state-space description
of the controller is not included here as it is of such a high
order, viz. 8. The pole-zero locations of the linearized
closed-loop system are:
poles : -8.0861e + 03
zeros : -1.0000e + 02
-5.4094e + 01 + 5.3076e + 01i
-6.6162e + 01
-5.4094e + 01 - 5.3076e + 01i
-5.3527e + 01
-6.5342e + 01
-7.0990e + 00
-5.4610e + 01
-4.8382e + 00
-6.9702e + 00
-1.6727e + 00
-5.7392e + 00
-1.5700e - 01
-2.2694e + 00
-5.2474e - 02
-1.1137e + 00
-2.5937e - 02
-3.8952e - 01
-1.0335e - 01
-2.6613e - 02
It is clear that-controller design offers even more possibilities for detailed tuning so
that the `suit to measure'-controller is rather complicated.
But the result is accordingly
as the time responses for the actual nonlinear system
show. The disturbance reduction
is the best till now and even robustness against the
worst case mouse has been obtained:
the mouse does not rotate but just keeps swinging.