Algorithmic controllers need to be extraordinarily complex to provide the features provided by a neural network controller as described in this patent. Accordingly, a tremendous amount of development time is avoidable by using the teachings of this invention.
Artificial neural networks have the potential to provide revolutionary capabilities to control systems, including the ability to accurately model, based on input/output data, highly nonlinear and multidimensional functions and dynamical systems. They can provide compact, efficient implementations with high degrees of generalization and robustness, and are highly suitable for hardware implementation at the present time.
However, except for the applicant's NeuroPID Controller (the subject of U.S. patent application Ser. No. 07/829,996, filed Jan. 31, 1992), now U.S. Pat. No. 5,396,415 issued Mar. 7, 1995 no neural net controller implementation comes close to achieving these potential advantages, and its application is limited as will be discussed later. In the NeuroPID, the controller is application independent, an important feature. Controller behavior can be adjusted for different applications through a specific set of controller parameters, i.e., the Proportional, the Integral, and the Derivative gains. These are the same parameters that are employed by conventional linear PID controllers. The NeuroPID implements an optimized nonlinear controller with a PID interface.
The NeuroPID can be contrasted with the prior art teachings for developing neural network controllers. In prior neural network controllers, neural networks are developed for specific process models and no explicit allowance is made for different processes, for process variation, for disturbances or for changing requirements (due to user demand) for the control system.
Other examples of the use of neural networks in control applications includes system identification, both structural and parameter identification and automatic tuning. In these cases (and unlike the NeuroPID controller and Parameterized Neurocontrollers), the neural network is not itself a controller, but provides information that is useful to improve the performance of a separate, non-neural controller.
Although the NeuroPID controller is a significant advance over the prior art, the restriction to the three PID parameters renders it of limited utility to many applications--in particular, to multivariable processes, highly nonlinear processes, and processes with significant time delays.
It has been discovered that the concepts described in the NeuroPID Controller can be generalized to comprehend significantly broader applications. This generalization is achieved by allowing a greater variety of parameters as input to the controller. The generalized parameters allow the behavior of the neural net controller to be modified by a user, a software, or a hardware system that are linked to the controller in some appropriate way. Any parameters or sets thereof may be used with this invention. No previous neural network controllers could do that.
There are three different kinds of parameters which may be allowed as input to the neural net controller. These are: Control Parameters, p.sub.c, Process Parameters, p.sub.p, and Disturbance Parameters, p.sub.d. Control parameters are generally the kind of parameters that allow modification of controller behavior for any given process. Examples of control parameters are: relative weightings for servo-response accuracy vs. control energy; time to reach set point; time to return to set point after a disturbance; rise time; settling time; the horizon (over which the future is judged in making determinations about whether a series of control moves is satisfactory or not); the maximum allowable rate of actuator movement; proportional, integral and derivative (PID) gain parameters; and reference model parameters, future reference responses, etc.
Process parameters relate to distinguishing aspects of the particular processes the controller is developed for. These include: dead time or delay; the process time constant; the process gain; process damping coefficient; process dynamic order; relative amounts of various nonlinear characteristics (e.g., exponential, quadratic, logarithmic, hysteretic); and other parameters which may be used to encode a broad range of nonlinearities in the process; among others.
Disturbance parameters relate to factors external to the process but which affect its behavior. These are commonly thought of in many control situations as noise. Examples include (in a building temperature control application): people entering or leaving; changes in environmental conditions, including overcast weather vs. sunny days; ambient external temperature; and so forth. In order for these types of parameters, p.sub.d, to be used as inputs to a neural network controller (and perhaps to any controller), the disturbance parameters must be either measurable, modelable or predictable.
In any specific parameterized neurocontroller, any one or two, or even all three of these parameter types may be used. Each one of these parameter types may consist of any number of individual parameters depending on the desired result.