|
Claims  |
|
|
I claim:
1. An electronic model predictive control apparatus for controlling a plant
having a plant input signal and a plant output signal dependent on said
plant input signal, comprising:
a first memory containing a vector of data elements derived from a
pseudo-inverse of an impulse response matrix model of said plant;
a second memory containing data indicative of future plant input signal
changes calculated during prior control cycles;
a third memory containing a vector of past plant input signal changes;
a fourth memory containing data elements by way of which a future plant
output signal change due to past plant input signal changes may be derived
from said vector of past plant input signal changes;
an electronic processor adapted to:
receive a plant output signal sample;
calculate an expected future plant output signal from said data indicative
of future plant input signal changes calculated during prior control
cycles, said plant's steady-state gain, said future plant output signal
change due to past plant input signal changes, and said plant output
signal sample;
calculate an error signal from a setpoint signal and said expected future
plant output signal; and
calculate a plant input signal change from said error signal, said vector
of data elements derived from said pseudo-inverse, and said data
indicative of future plant input signal changes calculated during prior
control cycles;
where said plant input signal change is applied to said plant input signal
for controlling said plant output signal.
2. The control apparatus of claim 1, wherein said first, second, third and
fourth electronic memories are embodied in a single memory device.
3. The control apparatus of claim 2, wherein said memory device is a RAM.
4. The control apparatus of claim 1, wherein said processor is under
program control.
5. The control apparatus of claim 1, wherein said processor is implemented
by direct electrical connection.
6. The control apparatus of claim 1, wherein said plant input signal change
is further processed prior to being applied to said plant input signal in
order to clip said plant input signal change to restrict said plant input
signal to a threshold level, where said further processing includes:
determining when said plant input signal added to said plant input signal
change exceeds said threshold level and computing a clip value equal to an
amount by which said threshold level is exceeded;
subtracting said clip value from said plant input signal change;
adding twice said clip value to a plant input signal change calculated for
the next control cycle;
subtracting said clip value from a plant input signal change calculated for
two control cycles in the future.
7. The control apparatus of claim 1, wherein said plant input signal change
is further processed prior to being applied to said plant input signal in
order to clip said plant input signal change to restrict said plant input
signal to a threshold level, where said further processing includes:
determining when said plant input signal added to said plant input signal
change exceeds said threshold level; and modifying the calculated plant
input signals over a plurality of control cycles so that the sum of said
modifications equals zero.
8. The control apparatus of claim 1, wherein said error signal is
multiplied by a dampening factor.
9. The control apparatus of claim 1, wherein a partitioning factor is used
to apportion the contribution to said plant input signal change due to
said vector of data elements derived from said pseudo-inverse and at least
one other vector derived from said pseudo-inverse.
10. The control apparatus of claim 9, wherein said at least one other
vector derived from said pseudo-inverse is a single element vector
comprising the inverse of said plant's steady-state gain.
11. The control apparatus of claim 1, wherein said vector of data elements
derived from said pseudo-inverse is a vector comprising the elements of an
optimal column of said pseudo-inverse.
12. The control apparatus of claim 11, wherein said optimal column of said
pseudo-inverse is at least partially determined by multiplying said
impulse response matrix model by said pseudo-inverse, subtracting an
identity matrix, and computing the least squares error.
13. The control apparatus of claim 12, wherein said optimal column of said
pseudo-inverse is further determined by selecting the best left-most
column in order to provide an early plant output signal response.
14. The control apparatus of claim 1, wherein said vector of data elements
derived from said pseudo-inverse is a vector comprising a weighted average
of at least two columns of said pseudo-inverse.
15. The control apparatus of claim 1, wherein said vector of data elements
derived from said pseudo-inverse is a vector comprising an interpolation
between two columns of said pseudo-inverse.
16. The control apparatus of claim 1, wherein said second and third
memories comprise shift registers.
17. The control apparatus of claim 1, wherein said data elements contained
in said fourth memory comprise a vector where each element corresponds to
the sum of an A.sup.o column, where A.sup.o is the integral form of said
impulse response matrix.
18. The control apparatus of claim 1, wherein said data elements contained
in said fourth memory comprise a matrix where elements correspond to
elements in a A.sup.o matrix, where A.sup.o is the integral form of said
impulse response matrix.
19. The control apparatus of claim 1, wherein said plant comprises a fluid
flow system having a flow measuring transducer and a flow control valve,
where said plant output signal is derived from said flow measuring
transducer, and said plant input signal is applied to said flow control
valve.
20. The control apparatus of claim 1, wherein said plant comprises a
chemical reactor system having a quality measure transducer and an
actuator having an effect on said quality measure, where said plant output
signal is derived from said quality measure transducer, and said plant
input signal is applied to said actuator.
21. The control apparatus of claim 1, wherein said plant comprises a
chemical reactor system having a flow controller, wherein said plant input
signal is applied to a setpoint of said flow controller.
22. The control apparatus of claim 1, wherein said plant comprises a
storage device having a read and/or write head, a head actuator, and
rotating storage media, where said plant output signal is related to the
position of said head over said storage media, and said plant input signal
is applied to said head actuator to control the position of said head over
said storage media.
23. The control apparatus of claim 1, wherein said vector of data elements
derived from said pseudo-inverse has three data elements.
24. The control apparatus of claim 1, wherein said vector of data elements
derived from said pseudo-inverse has a number of data elements equal to
the order of the dynamics of a model of said plant plus one.
25. The control apparatus of claim 1, wherein said pseudo-inverse is
calculated by singular value decomposition.
26. The control apparatus of claim 1, wherein said impulse response matrix
is derived from an impulse response vector having about twenty elements.
27. The control apparatus of claim 1, wherein new modeling information is
obtained during a setpoint change, and said new modeling information is
used for obtaining a new model, thereby implementing adaptive control.
28. The control apparatus of claim 1, further comprising a CRT and keyboard
for providing said setpoint signal to said processor.
29. The control apparatus of claim 1, wherein said impulse response matrix
is derived from an impulse response vector determined by linear
regression.
30. A model predictive control method for controlling a process having a
process input signal and a process output signal dependent on said process
input signal, comprising the steps of:
sampling said process output signal;
calculating an expected future process output signal from data indicative
of future process input signal changes calculated during prior control
cycles, said process' steady-state gain, a future process output signal
change due to past process input signal changes, and said process output
signal sample;
calculating an error signal from a setpoint signal and said expected future
process output signal;
calculating a process input signal change from said error signal, a vector
of data elements derived from a pseudo-inverse of an impulse response
matrix model of said process, and said data indicative of future process
input signal changes calculated during prior control cycles; and
applying said process input signal change to said process input signal for
controlling said process output signal.
31. The control method of claim 30, wherein said process input signal
change is further processed prior to being applied to said process input
signal in order to clip said process input signal change to restrict said
process input signal to a threshold level; where said further processing
includes the steps of:
determining when said process input signal added to said process input
signal change exceeds said threshold level and computing a clip value
equal to an amount by which said threshold level is exceeded;
subtracting said clip value from said process input signal change;
adding twice said clip value to a process input signal change calculated
for the next control cycle;
subtracting said clip value from a process input signal change calculated
for two control cycles in the future.
32. The control method of claim 30, wherein said plant input signal change
is further processed prior to being applied to said plant input signal in
order to clip said plant input signal change to restrict said plant input
signal to a threshold level, where said further processing includes:
determining when said plant input signal added to said plant input signal
change exceeds said threshold level; and modifying the calculated plant
input signals over a plurality of control cycles so that the sum of said
modifications equals zero.
33. The control method of claim 30, further comprising the step of
multiplying said error signal by a dampening factor.
34. The control method of claim 30, further comprising the step of
apportioning, by way of a partitioning factor, the contribution to said
process input signal change due to said vector of data elements derived
from said pseudo-inverse and at least one other vector derived from said
pseudo-inverse.
35. The control method of claim 34, wherein said at least one other vector
derived from said pseudo-inverse is a single element vector comprising the
inverse of said process' steady-state gain.
36. The control method of claim 30, wherein said vector of data elements
derived from said pseudo-inverse is a vector comprising the elements of an
optimal column of said pseudo-inverse.
37. The control method of claim 36, wherein said optimal column of said
pseudo-inverse is at least partially determined by multiplying said
impulse response matrix model by said pseudo-inverse, subtracting an
identity matrix, and computing the least squares error.
38. The control method of claim 37, wherein said optimal column of said
pseudo-inverse is further determined by selecting the left-most column
having an acceptable least squares error in order to provide an early
process output signal response.
39. The control method of claim 30, wherein said vector of data elements
derived from said pseudo-inverse is a vector comprising a weighted average
of at least two columns of said pseudo-inverse.
40. The control method of claim 30, wherein said vector of data elements
derived from said pseudo-inverse is a vector comprising an interpolation
between two columns of said pseudo-inverse.
41. The control method of claim 30, further comprising the step of deriving
said future process output signal change due to past process input signal
changes by multiplying a vector of past process input signal changes by a
vector where each element corresponds to the sum of an A.sup.o column,
where A.sup.o is the integral form of said impulse response matrix.
42. The control method of claim 30, further comprising the step of deriving
said future process output signal change due to past process input signal
changes by multiplying a vector of past process input signal changes by a
matrix where elements correspond to elements in a A.sup.o matrix, where
A.sup.o is the integral form of said impulse response matrix; and summing
the resulting vector.
43. The control method of claim 30, wherein said process comprises a fluid
flow system having a flow measuring transducer and a flow control valve,
further comprising the steps of deriving said process output signal from
said flow measuring transducer, and applying said process input signal to
said flow control valve.
44. The control method of claim 30, wherein said process comprises a
chemical reactor system having a quality measure transducer and an
actuator having an effect on said quality measure, further comprising the
steps of deriving said process output signal from said quality measure
transducer, and applying said process input signal to said actuator.
45. The control method of claim 30, wherein said process comprises a
chemical reactor system having a flow controller, wherein said process
input signal is applied to a setpoint of said flow controller.
46. The control method of claim 30, wherein said process comprises a data
storage access system having a read and/or write head, a head actuator,
and rotating storage media, further comprising the steps of deriving said
process output signal from the position of said head over said storage
media, and applying said process input signal to said head actuator to
control said head.
47. The control method of claim 30, further comprising the steps of
obtaining new modeling information during a setpoint change, and using
said new modeling information for generating a new model, thereby
implementing adaptive control.
48. The control method of claim 30, further comprising the step of
determining an impulse response vector by linear regression; and deriving
said impulse response matrix from said impulse response vector.
49. The control method of claim 30, further comprising the steps of:
determining, according to said impulse response matrix model, optimum
tuning constants for PI and/or PID controllers, and storing said constants
for selective control of said process by alternate control techniques.
50. A method for controlling the operation of a process having a process
input signal and a process output signal dependent upon said process input
signal, said method comprising the steps of:
acquiring a sample of said process output signal;
determining a predicted process output signal at a future steady state
condition according to a process model and said sample of said process
output signal;
determining a steady state error signal according to the difference between
said predicted process output signal and a desired setpoint signal;
determining a set of future process input signal changes calculated so that
if applied to said process input signal said estimated steady state error
would be substantially cancelled by causing at least one approximate step
response in said process output signal at a future time; and
applying a first member of said set of future process input signal changes
to said process input signal for controlling the operation of said
process.
51. The method according to claim 50, wherein said step of determining a
set of future process input signal changes includes the step of:
scaling a predetermined vector of data elements by said steady state error
signal, said data elements representing an optimal column of a
pseudo-inverse of a matrix of said process model.
52. The method of claim 51, wherein said set of future process input signal
changes, if applied to said process input signal, would cause a single
approximate step response in said process output signal at a future time.
53. The method according to claim 50, wherein said step of determining a
set of future process input signal changes includes the step of:
scaling a predetermined vector of data elements by said steady state error
signal, said data elements representing a weighted average of at least two
columns of a pseudo-inverse of a matrix of said process model.
54. The method of claim 53, wherein said set of future process input signal
changes, if applied to said process input signal, would cause a single
approximate step response in said process output signal at a future time.
55. The method of claim 50, wherein said step of determining a set of
future process input signal changes includes the step of:
scaling a predetermined vector of data elements by said steady state error
signal, said data elements representing an interpolation between two
columns of a pseudo-inverse of a matrix of said process model.
56. The method of claim 55, wherein said set of future process input signal
changes, if applied to said process input signal, would cause a single
approximate step response in said process output signal at a future time.
57. The method of claim 50, wherein said process is a fluid flow process,
where said process input signal controls flow rate and where said process
output signal provides an indication of flow rate.
58. The method of claim 50, wherein said process is a chemical reactor
process, where said process input signal effects a quality measure, and
where said process output signal provides an indication of said quality
measure.
59. The method of claim 50, wherein said process is a data access process
for a data storage device, where said process output signal is related to
the movement of a data head, and where said plant input signal controls
the movement of said data head.
60. An electronic model predictive control apparatus for controlling a
process having a process input signal and a process output signal
dependent on said process input signal, comprising:
electronic memory means for storing a vector of data elements derived from
one or more columns of a pseudo-inverse of an impulse response matrix
model of said process;
means for receiving a process output signal sample;
electronic processor means for calculating an expected future process
output signal, for calculating an error signal from a setpoint signal and
said expected future process output signal, and for calculating a process
input signal change from said error signal, said vector of data elements
derived from one or more columns of said pseudo-inverse, and data
indicative of future process input signal changes calculated during prior
control cycles; and
means for applying said process input signal change to said process input
signal for controlling said process output signal.
61. The control apparatus of claim 60, wherein said vector of data elements
represents an optimal column of said pseudo-inverse of said impulse
response matrix model of said process.
62. The control apparatus of claim 61, wherein said optimal column is
selected by determining the column which when used as a set of input
signal changes to said process would produce the best approximate step
response output according to a predetermined criteria.
63. The control apparatus of claim 62, wherein said criteria includes least
squares error.
64. The control apparatus of claim 60, further comprising data entry means
for providing said setpoint signal to said processor means.
65. A method for controlling the operation of a process having a plurality
of process input signals and one process output signal dependent upon at
least one of said process input signals, said method comprising the steps
of:
acquiring a sample of said process output signal;
determining a predicted process output signal at a future steady state
condition according to a process model and said sample of said output
signal;
determining a steady state error signal according to the difference between
said predicted process output signal and a desired setpoint signal;
determining, for each process input signal, a set of future process input
signal changes calculated so that if applied to said plurality of process
input signals said estimated steady state error would be substantially
cancelled by causing at least one approximate step response in said
process output signal at a future time; and
applying a first member from each said set of future process input signal
changes to a corresponding one of said process input signals for
controlling the operation of said process.
66. The method of claim 65, wherein said set of future process input signal
changes for each process input signal, if applied to said plurality of
process input signals, would cause a single approximate step response.
67. A method for controlling the operation of a process having a plurality
of process input signals and a plurality of process output signals each
process output signal dependent upon at least one of said process input
signals, said method comprising the steps of:
acquiring a corresponding sample of each of said plurality of process
output signals;
determining, for each of said plurality of process output signals, a
corresponding predicted process output signal at a future steady state
condition according to a process model and said corresponding sample;
determining, for each of said plurality of process output signals, a
corresponding steady state error signal according to the difference
between said corresponding predicted process output signal and a
corresponding setpoint signal;
determining, for each process output signal, a plurality of sets of future
process input signal changes, each set corresponding to one of said
plurality of process input signals, calculated so that if applied to said
plurality of process input signals said corresponding estimated steady
state error would be substantially cancelled by causing at least one
approximate step response in a corresponding one of said plurality of
process output signals at a future time; and
applying, to each one of said plurality of process input signals, a sum of
first members from corresponding sets of future process input signal
changes for controlling the operation of said process.
68. The method of claim 67, wherein said plurality of sets of future
process input signal changes, if applied to said plurality of process
input signals, would cause a single approximate step response.
69. A model predictive control method for controlling a process having a
process input signal and a process output signal dependent on said process
input signal, comprising the steps of:
sampling said process output signal;
calculating an expected future process output signal from a future process
output signal change due to past process input signal changes and said
process output signal sample;
calculating an error signal from a setpoint signal and said expected future
process output signal;
calculating a process input signal change from said error signal multiplied
by the inverse of said process' steady-state gain, said steady-state
process gain determined according to an impulse response model of said
process; and
applying said process input signal change to said process input signal for
controlling said process output signal. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
FIELD OF THE INVENTION
The present invention relates to a model predictive control apparatus and
method adapted for predicting the future process response of a dynamic
model of a controlled system and for calculating a controller output
taking such a prediction into consideration. In particular, a suitable
column of the pseudo-inverse of the dynamic model is used to provide a
process control regulator that minimizes the least squared error.
BACKGROUND OF THE INVENTION
The control apparatus of the present invention is a new type of Model
Predictive Control (MPC) controller. MPC technologies, in general, use a
process model to predict the future state of a process variable to be
controlled, and then manipulate one or more process inputs (controller
outputs) to minimize expected error between the prediction and the set
points. MPC variations include model predictive heuristic control (MPHC)
(Richalet et al., 1978), model algorithmic control (MAC) (Mahra et al,
1979), dynamic matrix control (DMC) (Cutler and Ramaker, 1980; Prett and
Gillete, 1979), and linear dynamic matrix control (LDMC) (Garcia and
Morshedi, 1986). In all of these methods, the model is an intrinsic part
of the control algorithm and is used both for prediction and for computing
the controller response.
The basic idea behind MPC is to model a process with the step or impulse
response vector of the process. These models predict one or more process
outputs from process inputs, and the optimum controller response is
computed by means of linear optimization of a series of controller inputs.
In existing methods, the optimization problem is solved in real-time, at
each step of the controller. Quadratic programming (QP) and linear
quadratic regulator (LQ) methods are used for this minimization.
Several problems in prior MPC techniques have limited their use. Most
formulations of MPC require the engineer to specify many adjustable
parameters to describe the desired closed loop response. An expert on both
the process and the controller must make these adjustments, because making
the desired response too sharp can lead to unstable performance in some
cases, even when the model is a good fit to the process. Furthermore, MPC
techniques are not inherently better than classic control, because in
theory, there is an equivalent classic controller for every MPC
controller.
All MPC controllers that perform QP or LQ optimization on every update
interval incur substantial computational overhead. Applications of MPC
control are limited to those where a single computer is dedicated to
controlling a small number of process variables, typically at intervals of
at least several seconds. Most current applications of MPC are performed
as supervisory control, where the MPC controller manipulates setpoints of
conventional controllers to achieve some overall optimum process
performance.
Also, some MPC controllers, particularly those not using QP methods, can
become unstable in the presence of constraints found on all real-world
processes. The QP-MPC controllers have less difficulty dealing with
constraints, but are more computationally complex. In addition, most MPC
controllers require either prior knowledge of the process dynamics, or
off-line tuning procedures.
In all cases, mismatch between the process and the process model can
produce unstable performance. This is often the case when the process
response is non-linear. With the high degree of complexity of existing MPC
controllers, it is often a difficult task for the engineer using these
systems to establish optimum tuning parameters that will provide high
control performance over the entire desired operating range.
To solve these problems, fuzzy logic and neural network approaches to
continuous process control have been developed recently. Fuzzy logic makes
it easier to incorporate heuristic rules into the behavior of a particular
controller. This can make it easier to adapt continuous process
controllers to specific applications. Neural networks use a generic
non-linear modeling method to describe process behavior. The generic
modeling of neural networks can be used to automatically develop a process
dynamic model to be incorporated into an MPC controller in order to
improve performance. However, a neural network model is a black box that
yields little information from which to predict optimum control response.
SUMMARY OF THE INVENTION
The controller of the present invention builds on the concepts of MPC
control with the goal of creating a general purpose process controller
than can replace, for example, Proportional Integral Derivative (PID)
control in a high speed, multi-loop, microcomputer-based control system.
The advantages sought by this controller are ease of application,
automatic tuning, improved control performance, and low computational
overhead.
A feature of this invention is automatic model acquisition and tuning
without prior knowledge of the process.
Another feature of this invention is performance that is superior to
optimally tuned PID, and that approximates theoretically perfect response
for sampled process control.
Another feature of this invention is that the computational requirements
are very small and well suited to modem CPU architectures.
Another feature of this invention is that complex process dynamics can be
handled effectively.
Another feature of this invention is that constraints on process inputs and
outputs do not cause instability.
Another feature of this invention is that adaptive control is possible.
Another feature of this invention is that it is fully compatible with and
can be used to tune PI and PID controllers.
Another feature of this invention is that it can be made to compensate for
non-linear process response.
Another feature of this invention is that it can compensate for signals
correlated with process load (feed-forward).
Another feature of this invention is that it can be easily adjusted to
achieve any desired process response by the use of dampening and
partitioning parameters.
According to one aspect of the invention, these features and advantages are
provided by an apparatus and method for controlling the operation of a
process having a process input signal and a process output signal, which
includes determining a predicted process output signal at a future steady
state condition according to a process model, determining a steady state
error signal according to the difference between the predicted process
output signal and a desired set point signal, and determining a set of
future process input change signals required to correct for the estimated
steady state error by providing at least one step response in the process
output at a future time. The next net process input change is then applied
according to the sum of the currently determined first element of the set
of future process input change signals summed with any future process
input change signals that were previously calculated for the next process
input change signal according to this method. The model is preferably
expressed in velocity form. In addition, process tuning parameters are
available to dampen the net process input change as well as the currently
determined first element of the process input change with respect to a
process input change signal according to the steady state error divided by
the steady state process gain. Further, a clipping filter is provided in
order for the controller to account for limitations in the process i | | |