WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Model predictive control apparatus and method    

Get related patents on CD
United States Patent5519605   
Link to this pagehttp://www.wikipatents.com/5519605.html
Inventor(s)Cawlfield; David W. (Cleveland, TN)
AbstractA model predictive control 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 that is calculated according to this method. The model is expressed in velocity form. 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 that is calculated according to the steady state error divided by the steady state process gain.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History Custom Search
Drawing from US Patent 5519605
Model predictive control apparatus and method - US Patent 5519605 Drawing
Model predictive control apparatus and method
Inventor     Cawlfield; David W. (Cleveland, TN)
Owner/Assignee     Olin Corporation (Stamford, CT)
Patent assignment
All assignments
Company News
Publication Date     May 21, 1996
Application Number     08/328,100
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     October 24, 1994
US Classification     700/31 700/45
Int'l Classification     G05B 013/04
Examiner     Ruggiero; Joseph
Assistant Examiner    
Attorney/Law Firm     Morgan & Finnegan
Address
Parent Case    
Priority Data    
USPTO Field of Search     364/164 364/165 364/148 364/149 364/150 364/151 364/152 364/157 364/158 364/176 364/178 318/561
Patent Tags     model predictive control
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5446648
Abramovitch
700/53
Aug,1995

[0 after 0 votes]
5347446
Iino
700/29
Sep,1994

[0 after 0 votes]
5343209
Sennott
342/357.02
Aug,1994

[0 after 0 votes]
5301101
MacArthur
700/36
Apr,1994

[0 after 0 votes]
5293553
Dudek
701/102
Mar,1994

[0 after 0 votes]
5144549
Youcef-Toumi
700/52
Sep,1992

[0 after 0 votes]
5091843
Peczkowski
700/30
Feb,1992

[0 after 0 votes]
5010473
Jacobs
700/30
Apr,1991

[0 after 0 votes]
4998051
Ito
318/632
Mar,1991

[0 after 0 votes]
4928484
Peczkowski
60/240
May,1990

[0 after 0 votes]
4791548
Yoshikawa
700/29
Dec,1988

[0 after 0 votes]
4663703
Axelby
700/29
May,1987

[0 after 0 votes]
4616308
Morshedi
700/39
Oct,1986

[0 after 0 votes]
4577270
Sugano
700/31
Mar,1986

[0 after 0 votes]
4349869
Prett
700/39
Sep,1982

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B

[0 market size comments]
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 market share comments]
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 reasonable royalty comments]
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

[0 Guesstimation of Royalty Value Comments]
License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 license availability comments]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 owner/assignee comments]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

[0 competitive advantage comments]
Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

[0 commercial alternatives comments]
 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


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.
 Description Submit all comments and votes
 


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