Essentials of Control Techniques and Theory:
Simulation, Sensing and Computer Control
by John Billingsley
Contents
1. Introduction: Control in a nutshell, history,
theory,
art and practice.
There are two faces of automatic control. First there is the
theory that is required to support the art of designing a working
controller. Then there is further and to some extent
different
theory that is required to convince a client, employer or examiner
of
ones expertise.
Both are covered here, carefully arranged to separate the essential
from the ornamental. But perhaps that is too dismissive of
concepts that help us to understand the processes that underpin the
controller's effects.
1.1. The origins of
control
1.2. Early days of feedback.
1.3. The origins of simulation.
1.4. Discrete time.
2. Modelling time.
Describing time-variation
with simple
differential equations, simulation both digital and analogue.
Before designing any but the simplest control system, we must
understand the dynamic behaviour of the system. When an input
is
changed, it causes changes that can affect the future values of an
output. 'States' within the system 'remember' the effects of
the
past values of inputs that have been applied. A set of
differential equations can express the rates-of-change of the state
variables that determine exactly what is going on at any
moment.
In years gone by, the equations have been solved with mechanical and
electronic systems, but today by far the most convenient way is to
use
software. Methods of solving the differential equations are
introduced.
2.1. Introduction.
2.2. A simple system.
2.3. Simulation.
2.4. Choosing a computing platform
2.5. An alternative platform.
2.6. Solving the first-order equation.
2.7. A second order problem.
2.8. Matrix state equations
2.9. Analogue simulation.
2.10. Closed loop equations
If you have tried the simulations before, finding that some did not
work, it was because later browser versions deprecated the use of
embedded Java applets. Now HTML5 has introduced the 'canvas' graphic
method and all the examples have now been updated. (2021)
Simulation links for Chapter 2
3. Simulation with JavaScript 'Jollies'.
Three examples are explained. First a Java applet serves as a
'whiteboard' on which simulation results are plotted. The
simulation code can be edited inside a simple text box shown on a
web
page. The method requires no software environment beyond the
use
of a simple browser.
The second example uses similar code to move images around the
screen,
to make a picture of the dynamic system. The third example is
similar to the first, except that the state equations are
represented
in a standard matrix form.
3.1. Introduction.
3.2. How a Jollies simulation is made up
3.3. Moving images without an applet
3.4. A generic simulation
Simulation links for Chapter 3
4. Practical control systems.
Control is all about manipulating the inputs to make the system do
what
we want it to, whether it is an aircraft or a simple domestic
oven. Anything that we want to control, we must be able to
measure or estimate. Having decided what input to apply to
the
system, we must have some means of applying it. The process
of
making the inputs depend on the measured output is given the term
'feedback'.
The concepts of accuracy and precision are explored, while outlining
methods of measuring many useful variables.
An on-line position control experiment is outlined and an
inverted-pendulum experiment is promised for later. The
simulation allows feedback strategies to be explored.
4.1. Introduction.
4.2. The nature of sensors.
4.3. Velocity and acceleration
4.4. Output transducers
4.5. A control experiment.
Simulation links for Chapter 4
5. Adding control.
When we have some equations for a linear system, we can add further
equations to represent a controller. We see that the
closed-loop
system is just another linear system. We can use heavyweight
matrix methods to analyse such a system.
5.1. Introduction.
5.2. Vector state equations.
5.3. Feedback.
5.4. Another approach.
5.5. A change of variables
5.6. Systems with time delay and the PID
controller.
5.7. Simulating the water heater experiment.
Simulation links for Chapter 5
6. Systems with real components and saturating signals -
use
of
the phase-plane.
So far, it looks as if we can choose feedback values to obtain any
response that we want. A motor with a saturating drive changes
the
picture. But even if the system and its controller are highly
non-linear, we can investigate the controlled performance with the
aid
of simulation. Alternatively we can try some
back-of-an-envelope
graphical methods.
6.1. An early glimpse of pole
assignment
6.2. The effect of saturation
6.3. Meet the phase plane.
6.4. Phase plane for saturating drive
6.5. Bang-bang control and sliding mode.
Simulation links for Chapter 6
7. Frequency domain methods.
Testing a system with sinusoidal signals, the frequency response,
gain
and phase, the effect of gain on stability of feedback, poles and
zeros.
Why is "classical control theory" packed out with frequency domain
methods? We see historical reasons and meet straightforward
analytical methods, useful 'rules of thumb' such as 'gain margin',
'phase margin' and 'roll-off'.
7.1. Introduction
7.2. Sine-wave fundamentals
7.3. Complex amplitudes.
7.4. More complex still - complex frequencies.
7 5. Eigenfunctions and gain.
7.6 A surfeit of feedback
7.7. Poles and polynomials.
7.8. Complex manipulations
7.9. Decibels and octaves.
7.10. Frequency plots and compensators.
7.11. Second order responses.
7.12. Excited poles.
Links for Chapter 7
8. Discrete time systems and computer control.
Discrete time control is revealed to be at least as easy as
continuous
time. Discrete time equations are introduced with the state
transition matrix. It is shown that a line or two of software
can
be used to estimate velocity.
8.1. Introduction
8.2. State transition.
8.3. Discrete-time state equations and feedback.
8.4. Solving discrete time equations
8.5. Matrices and eigenvectors.
8.6. Eigenvalues and continuous time equations.
8.7. Simulation of a discrete-time system.
8.8. A practical example of discrete time
control.
8.9. And there's more.
8.10. Controllers with added dynamics.
Links for Chapter 8
9. Controlling an inverted pendulum.
A simulation is progressively built up to include drive limitation,
friction, sensor errors, estimation of velocities by software and
drive
limitation.
9.1. Deriving the state
equations.
9.2. Simulating the pendulum
9.3. Adding reality
9.4. A better choice of poles
9.5. Increasing the realism.
9.6. Tuning the feedback pragmatically.
9.7. Constrained demand
9.8. In conclusion
Links for Chapter 9
10. More frequency domain background theory
10.1. Introduction
10.2. Complex planes and mappings.
10.3. The Cauchy-Riemann equations
10.4. Complex integration.
10.5. Differential equations and the Laplace
Transform
10.6. The Fourier Transform
Links for Chapter 10
11. More Frequency Domain Methods
11.1.
Introduction.
11.2. The Nyquist plot.
11.3. Nyquist with M-circles
11.4. Software for computing the diagrams.
11.5. The 'curly-squares' plot.
11.6. Completing the mapping.
11.7. Nyquist summary.
11.8. The Nichols chart.
11.9. The Inverse Nyquist diagram.
11.10. Summary of Experimental Methods.
Links for Chapter 11
12. The Root Locus.
12.1.
Introduction.
12.2. Root locus and mappings.
12.3. A root locus plot.
12.4. Plotting with poles and zeroes.
12.5. Poles and polynomials.
12.6. Compensators and other examples.
12.7. Conclusions.
Links for Chapter 12
13. Fashionable topics in control
13.1.
Introduction.
13.2. Adaptive Control.
13.3. Optimal control
13.4. Bang-bang and fuzzy control
13.5. Neural nets
13.6. Heuristic and genetic algorithms.
13.7. Conclusion.
14. Linking the time and frequency
domains
14.1. Introduction
14.2. State space and transfer functions.
14.3. Deriving the transfer function matrix.
14.4. Transfer functions and time responses.
14.5. Filters in software.
14.6. Software filters for data.
14.7. State equations in the companion form
Links for Chapter 14
15. Time, frequency and convolution
15.1. Delays and the unit
impulse.
15.2. The convolution integral.
15.3. Finite impulse response filters.
15.4. Correlation
15.5. Conclusion.
Links for Chapter 15
16. More about time and state equations.
16.1. Introduction
16.2. Juggling the matrices.
16.3. Eigenvectors and eigenvalues revisited.
16.4. Splitting a system into independent
subsystems.
16.5. Repeated roots.
16.6. Controllability and observability.
17. Practical observers, feedback with
dynamics.
17.1. Introduction
17.2. The Kalman Filter.
17.3. Reduced-state observers.
17.4. Control with added dynamics.
17.5. Conclusion
18. Digital control in more detail.
18.1.
Introduction.
18.2. Finite differences - the beta operator.
18.3. Meet the z-transform.
18.4. Trains of impulses.
18.5. Some properties of the z-transform.
18.6. Initial and final value theorems.
18.7. Dead-beat response.
18.8. Discrete-time observers.
Links for Chapter 18
19. Relationship between z- and other
transforms.
19.1.
Introduction.
19.2. The impulse modulator.
19.3. Cascading transforms.
19.4. Tables of transforms
19.5. The beta and w transforms.
20. Design methods for computer control.
20.1.
Introduction.
20.2. The digital-to analogue convertor as zero order
hold.
20.3. Quantisation.
20.4. A position control example, discrete time root
locus.
20.5. Discrete time dynamic control - assessing
performance.
Links for Chapter 20
21. Errors and noise.
21.1.
Disturbances.
21.2. Practical design considerations.
21.3. Delays and sample rates.
21.4. Conclusion.
22. Optimal control - nothing but the best.
22.1. Introduction: the end point
problem.
22.2. Dynamic programming.
22.3. Optimal control of a linear system.
22.4. Time optimal control of a second-order
system.
22.5. Optimal or suboptimal?
22.6. Quadratic cost functions.
22.5. In conclusion
Links for Chapter 22 - predictive
control
Simulation example links for
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Chapter 12
Chapter 14
Chapter 15
Chapter 18
Chapter 20
Chapter 22