CA2153054C - Parameterized neurocontrollers - Google Patents
Parameterized neurocontrollers Download PDFInfo
- Publication number
- CA2153054C CA2153054C CA002153054A CA2153054A CA2153054C CA 2153054 C CA2153054 C CA 2153054C CA 002153054 A CA002153054 A CA 002153054A CA 2153054 A CA2153054 A CA 2153054A CA 2153054 C CA2153054 C CA 2153054C
- Authority
- CA
- Canada
- Prior art keywords
- controller
- parameters
- inputs
- neural network
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
Abstract
Any parameters are selected to be input into a neurocontroller to generate output where that neucocontroller is trained on those parameters. Training systems for accomplishing this, as well as various closed-loop applications, are taught
Description
WO 94/17457 ~~ PCT/LTS94/00753 ' -1-PARAMETERIZED NEUROCONTROLLERS
This application relates to controllers that supply signals to controlled processes enclosed with control systems and, more particularly, to those controllers that are responsive to process variation, to changing objectives on the part of the user of the controlled system or process, and to disturbance features of the process (such as noise), as well as to how the process is controlled.
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 15 provide compact, efficient implementations with high degrees of generalization and robustness, and are high~s~ suitable for hardware implementation at the present time.
However, except for the applicant's NeuroPID Controller (the subject of International Patent Application PCT/LJS93/01089 filed 27 January 1993), no neural net controller implementation comes close to achieving these potential advantages, and its 2o 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 25 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 3o 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.
SUBSTITUTE SHEET
i 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 to 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. ~! 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, pc, Process Parameters, pp, and Disturbance Parameters, pd. 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.
2o 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 3o 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.
SUBSTITUTE SHEET
WO 94117457 . ~ ~ ~ PCT/US94100753 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, pd, 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.
1o This invention teaches a controller based on a neural network whose output is responsive to input signals that represent user defined, or designer defined, parameters which may include parameters from all or some of the parameter types; process parameters (pp), control parameters (pc), and disturbance parameters (p~. When referred to together these are called control system parameters P. There may be any number (from zero to whatever number runs out the controller capacity or designer patience) of parameters selected from any one, two, or all three of the P
groups of parameters.
In the preferred embodiment, the neural network is a dynamic or algebraic (e.g., feed forward) network. Examples include multila,~nercentron networks described by 2o David E. Rumelhart, Geoffrey E. Hinton and Ronald J. Williams (Learning internal representations by error propagation. In "Parallel Distributed Processing:
Explorations in the Microstructure of Cognition, Vol. 1 ", D.E. Rumelhart and J.L.
McClelland (Eds.), Cambridge, Mass.: MIT Press, 1986), and radial-basis function networks by John Moody and Christian J. Darken (Fast learning in networks of locally-tuned processing units. "Neural Computation", 1, pp. 281-294, 1989), which are well known algebraic forms.
Barak A. Perlmutter (Learning state space trajectories in recurrent neural networks. "Neural Computation", 1, pp. 263-269, 1989) describes a _d3rnamic.
continuous time tune network which could be used. Jeffrey L. Elman ("Finding 3o Structure in Time", Technical Report 8801, Center for Research in Language, University of California, San Diego, La Jolla, CA 92093, 1988), describes a dynamic.
SUBSTITUTE SHEET
discrete time type network which could also be used. In fact, nearly any type of neural network can be used.
However, we have some concerns about the typical Hopfield variety which is constrained in that it accepts one and only one input to each node from outside the network and each node communicates with every other node, and where any two nodes (i,j) share weight values (such that wig=w~i). Such networks are likely to be unsatisfactory.
In general, the network produces output that is some function of the P parameters used, the weights in the network, and error feedback inputs. Error feedback inputs may include the process output, the setpoint or reference model output, the error between the setpoint and the actual output, integrals and/or derivatives of this error, process state variable estimates, and so forth.
Such a neural network can be trained to mimic an extant controller, in one preferred embodiment, by the addition of a processor for running the learning algorithm which receives output from the parameterized neurocontroller (hereinafter "PNC") and the extant controller. Either before or in the learning algorithm processor, a comparison of the two is done until an appropriate level of proficiency is demonstrated by the neural network controller. The extant controller output is taken on-line in the closed loop. The training can be done on-line, or later with collected data.
Training can also be done off-line over a variety of process models. A development system for creating PNC's is also described.
Training of the neural network is generally based on determining values of network weights that optimize some -4a-criterion of interest. A number of specific stochastic and deterministic algorithms can be used, including genetic algorithms, "chemotaxis", back propagation, counter propagation, conjugate gradient, and other first and second order methods known to those of skill in the art. Network "training" may also actually involve configuring or determining the structure of the nodes and their relations using genetic algorithms or other methods known to those of skill in the art. The criteria are selected by the user or customer for the controller.
In accordance with one aspect of this invention, there is provided a controller of a process which accepts modification of its behavior through input signals representative of parameters that are members of a set of parameters including: control parameters p~, process parameters pP, and disturbance parameters pd (which may collectively be called P) wherein said controller comprises a neural network; wherein there is training of the neural network to mimic an existing controller which receives inputs from the set of all P inputs or any subset thereof (except only the subset including only P, I and D inputs), and xp, y, yr, a and all algebraic, differential and integral operators of these xP, y, yr and a inputs, and has an output in a closed loop use, said training occurring by: collecting P parameters, said xp, y, yr, a and any other of said inputs as collected data, and using said collected data as training data in a learning program which modifies the neural network in a training phase at least until an output from said neural network is similar or identical to the acceptable output generated by said existing controller; wherein: xp is dynamic state variables of the process, y is a process output signal, yr is a reference input signal, and a is a control adjustment signal and, coupling said modified neural -4b-network to a second process similar to a first process previously controlled by the existing controller; and applying said neural network to the second process using inputs that the existing controller would have used to control the first process so that the neural network controls the second process.
In accordance with another aspect of this invention, there is provided a controller of a process which accepts modification of its behavior through input signals representative of parameters that are members of a set of parameters including: control parameters p~, process parameters pp, and disturbance parameters pd (which may collectively be called P) wherein said controller comprises a neural network; wherein said inputs received by said controller are from the set of inputs including all P inputs or any subset thereof (except only P, I, D inputs), and xP, y, yr, a and all algebraic, differential and integral operators of these xP, y, yr and a inputs; wherein training is done off-line over a variety of process modules, and further comprising: an input controller processor means for passing data to other controllers and wherein said input controller processor means further comprises an output controller processor that reviews the outputs of other controllers and determines which of those is used as input to the process, wherein: xp is dynamic state variables of the process, y is a process output signal, yr is a reference input signal, and a is a control adjustment signal; and, wherein the output controller processor provides an output signal that is used as input to the process as determined by said output controller processor.
In accordance with a further aspect of this invention, there is provided a controller of a process which accepts modification of its behavior through input signals -4c-representative of parameters that are members of a set of parameters including: control parameters p~, process parameters pp, and disturbance parameters pd (which may collectively be called P) wherein said controller comprises a neural network; wherein said inputs received by said controller are from the set of inputs including all P inputs or any subset thereof (except only P, I, D inputs), and xp, y, yr, a and all algebraic, differential and integral operators of these xP, y, yr and a inputs; wherein said controller comprises an input controller processor and a plurality of other controllers, at least one of which other controllers is a neural network; and wherein: xP is dynamic state variables of the process, y is a process output signal, yr is a reference input signal, and a is a control adjustment signal; and wherein said controller provides a control signal to at least one actuator associated with the process so that a detectable physical change occurs in the characteristics of the process.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a block diagram of a parameterized neurocontroller (PNC) in a closed loop system where it provides signals representing control moves to the process.
WO 94117457 ~~ ~ PCTIUS94100753 - -S-Fig. 2 is a graph of time vs. the process output y, indicating various control curves achievable using different control strategies.
Fig. 3 is a block diagram illustrating a preferred embodiment configuration for training a PNC based on an extant controller.
Fig. 4 is a heuristic block diagram illustrating closed loop simulation training of a PNC.
Fig. Sa is a block diagram of a potential control system in which this invention can be employed.
Figs. Sc and Sb are also block diagrams of other configurations of a control 1 o system to which this invention can be applied.
DETAILED DESCRIPTION OF THE DRAWINGS
Fig. 1 describes a generalized control system 10 having a process (P) 12 (which could include an environment, a processing plant of various kinds, existing control systems or some other kind of system), which receives control adjustment signals as 15 input (u) 13 which are the output of the controller 11 (here, the controller is a parameterized neurocontroller (PNC)). A measure of the output of the process y is produced as a signal on line 14 which is fed back to the PNC on line 18 to input 15.
The PNC continues its control moves based on whatever is appropriate vis-a-vis the reference input yr on line 17 to input 16. In the example of the parameterized 2o neurocontroller, the user or some automatic system could feed inputs representing the desired pc, pp, and/or pd parameter values (19). There may be any number (from zero to whatever number runs out the controller capacity or designer patience) of parameters selected from any one, two, or all three of the P groups of parameters. As in any real-world process, the process 12 can be disturbed by disturbances, D.
25 The process itself may be characterized by certain parameters, here, f~~
example, in dotted line K, T and O (these are of the pp variety).
If desired, these process parameters may be identified by a process identifier which receives the inputs to the process (u on line 23) and the outputs from the process (y on line 22). The identifier can produce a representation of the parameters which are 3o used in the process identification K, i, and O. If desired, the identifier 20 could be constructed as part of the controller 11. The identified process parameters could be input to the PNC, thus supplying some or all of the pp.
SUBSTITUTE SHEET
-6- _ In general, processes can be defined by the following algebro-differential system:
dxP (t) dt = f(xP(t), xp(t-T,), . . ., xP(t-T~), u(t), u(t-i~),...,u(t-im), p, t), x(0) = xo 0 = g(xp(t), xp(t-T1),...,xp(t-Tn), u(t), u(t-i~),...,u(t-im), p, t) y(t) = h(xp(t), xp(t-T~),...,xp(t-Tn), u(t), u(t-T~),...,u(t-Tm), p, t).
For many processes, a simplified form of this system suffices in which the set of to algebraic equations, 0=g(.), is not needed.
In these equations, xp represents the dynamic state variables of the process, a represents process inputs, y represents process outputs, and p represents parameters that characterize the system. The Ti and Ti are state and input time delays, and, along with p, constitute the process parameters pp. In the general case, u, xp, p and y are all vectors 1 s of appropriate sizes. The process parameters determine the dynamic behavior of the process. In a room temperature control application, for example, the volume (size) of the room, the heat conductances of the walls and floors, etc., would be process parameters. The process parameters can vary over time. Thus, if a door to an adjoining room was opened, the effective volume for heating or cooling purposes would be 2o increased.
Any kind of process parameter is acceptable for use with a Parameterized Neurocontroller. It should be noted that while process state variables or estimates thereof can be inputs to the neural network (e.g., the neural network could be a state feedback controller), at least one process, control or disturbance parameter must also be 2s an input.
State variables have been input to neurocontrollers as shown in; T. Troudet, S.
Garg and W. Merrill, Design and Evaluation of a Robust Dynamic Neurocontroller for a Multivariable Aircraft Control Problem. Proc. International Joint Conference on Neural Networks, Vol. 1, Baltimore, pp. 308-314, 1992. However, they do not teach input of 3o the process, control or disturbance parameter(s).
SUBSTITUTE SHEET
tW0 94/17457 ~V~ PCTJUS94/00753 _'7_ Another configuration would be to have a plurality of neural network PNC's with a rule-based processor up front, selecting the one best trained based on the value of the P input.
The description of the parameters (P) which may be fed to the PNC has already been made in the background section of this application.
There has also been discussion concerning the various forms the individual neural network for the PNC's could take, in the summary above. To further generalize, a set of equations could be used to define the controller output a from the neural network. Neural networks may be defined by their function. The algebraic types can be t o defined generally by the following functions:
u(t) = g (P, w, e(t),t), or u(t) = g (P, w, y(t), yr(t),t), or u(t) = g (P, w, e(t), e(t-Te, l )~...,e(t-Te,k), or u(t) = g~P~ w~ xp(t-Txp~ 1 )~...,xp(t-Txp,k)~ Yr(t-Tyr~ 1 )~..., yr(t-Tyr~m)~t)~ or u(t) = g (P, w~ Y(t)~ y(t-Ty~l)~...xy(t-Ty,k)~ y(t-Tyr~l)~...~Y(t-Tyr~m)~ or t u(t) = g (P, w, e(t), Je(t)dt, e(t)) where w represents the weights of the network and xp represents the process state variables (or estimates thereof), r e ---- yr - y, ~ e(t)dt is the integral of the error from to to t, 2o a (t) is the rate of change of error at time t, and Te,i, Ty,i, Tyr.,i and Txp,i are time delays (not necessarily non-zero) in values or e, y, yr and xp, respectively.
The dynamic, continuous time type neural networks intended for use with these inventions have their output defined by the following dynamical system:
x (t) = f (x(t), Pc~ Pp~ Pd~ ~'~ e(t)) u(t) = g (x(t), Pc~ Pp~ Pd~ ~'~ e(t)) x(o) = xo, where x is the state vector for the neural network.
The dynamic, discrete time type neural networks may be defined by the following dynamical system:
x(t) = f (x(t-8t), Pa Pp~ Pd~ ~'~ e(t)) 3o u(t) = g (x(t-8t), pa Pp~ Pd~ ~'~ e(t)) SUBSTITUTE SHEET
_g_ x(o) = xo None of the above defining equations is intended to be limiting and it will be noted by one of ordinary skill that weights and errors and y, xp and yr parameters and time, and time-delayed values, may be added to or removed while still being capable of defining useable neural networks. These may also be used with this invention.
It should also be recognized that this invention is not limited to Single-Input Single-Output controller applications. Multiple sets ofy, yr and xp inputs and multiple a outputs may readily be accepted and trained into either Multiple-Input Single-Output or Multiple-Input Multiple-Output versions of one of the varieties of neural networks 1 o used for this invention. No restriction is implied that y, yr, xp and a are scalar quantities. They may be vectors of arbitrary dimension.
Referring now to Fig. 2 (an example for illustration only--other types of references and curves are easily imaginable by those of ordinary skill in the art), three distinct curves are shown, C1, C2 and C3 for achieving the desired process output at a level represented by yr. For illustrative purposes only, the curve C 1 indicates the kind of response a process is likely to give if pushed very hard and very fast to achieve the desired setpoint or reference value as quickly as possible. The likelihood is that there will be substantial overshoot and perhaps also oscillation until setpoint is achieved.
Curve C2 has very little overshoot but achieves setpoint somewhat later, and curve C3 2o achieves setpoint later still. Note that the rise time does not begin until some time after to, indicating that there is some delay between the time a control signal can be sent and the time that the process responds for this example. A change in an element of pc, e.g., the proportional controller gain, could accomplish similar changes in the response characteristics as shown in Fig. 2. For example, if the proportional gain is turned up, the curve would look more like C 1, and if the proportional gain is turned down, the curve would look more like C3. The characteristics of the response curves would also be varied if there were changes in the process disturbances, or measurement noise. For example, if the controller is controlling the amount of chemicals that is being added to a reaction chamber and the speed of the reaction changes tremendously when a certain 3o concentration of one of the chemicals is reached vis-a-vis the rest of the chemicals in the chamber, a process parameter could be incorporated into the inputs received by the PNC
in order to account for this expected result. Thus, for example, if the output of the SUBSTITUTE SHEET
WO 94/17457 ~ ~~ ~ PCTIUS94/00753 _ _9_ sensor indicated the degree of acidity (or some other measurable quantity) had passed or was approaching a certain point at which the reaction speed would increase dramatically, the failure of the controller to close down the valve releasing the more acid chemical could cause a response curve more similar to C 1 or, in fact, allow for a runaway reaction.
As another example, a noise or disturbance parameter change might be appropriately fed into the controller where, for example, it is controlling the heating of a building space. In such a case where the day is unusually bright and sunny and the outside temperature is very warm, the heat load on the building and its ability to 1 o dissipate heat into the atmosphere would be reduced. Accordingly, if the operator of a controller desires a response curve similar to C2, different control moves than would ordinarily be required to achieve such a curve need to be output (u) by the PNC to accommodate the disturbances.
Referring now to Fig. 3 in which a controlled system 30 is shown having an ~ 5 extant controller 31 (C), a controlled process (P) 32, wherein the control signal output (u) is forwarded to the process (P) on line 34 and the output y from the process is output on line 35. The outputy is also fed on line 36 back into the extant controller 31 and the PNC 33. Both produce their control signals in response to the output y and the desired outputyr received from the input line 37. In this instance, the extant controller 31 2o produces satisfactory output a for controlling the process 32. The PNC in this case is used either to eventually replace the extant controller 31 or to act as a redundancy system, a back-up, or a system trained in environment of a process 32 which is replicated in many instances. In the last case, the PNC, once trained, can be removed from this one particular instance of process 32 and used in other similar processes.
25 Parameters pc, pp, pd 43 are normally input in this situation on line 42 into both the PNC and the extant controller 31. ' Iowever, in many instances, the controller C 31 may have a different set of parameters input to it.
A processor 39 takes the difference of the outputs from line 34a(upNC) and 38(u). This difference figure is fed to the learning algorithm 40 contained within the 3o processor 39. The learning algorithm may be of various different types discussed ad nauseam in the literature. These include, for example, the well known methods of SUBSTITUTE SHEET
WO 94/17457 PCTlUS94/00753 back-propagation, conjugate gradient algorithms and genetic algorithms, as well as numerous other possible training methods.
The result of the learning algorithm processing is a signal (line 41 ) to the PNC
33 to adjust the internal weights or, in fact, its configuration, if that is desired.
It should be noted that if an existing controller is available that provides satisfactory, robust performance, a neural network can be trained to mimic it, as shown here. That is, given the same input, if it is desired that the neural network and the existing controller provide the same output, this is possible. It is also possible to adjust the output so that it still mimics the existing controller based on input parameters 43 that may or may not be input to the extant controller 31. If the existing controller currently requires some parameters that are difficult to supply (e.g., their computation may be involved), the PNC can be provided some more readily available parameters instead.
The PNC will then attempt to duplicate the extant controller behavior as accurately as possible given the new parameters. The neural network controller cannot be trained to outperform the existing controller in the set up. However, there are other advantages that still remain for this situation. It is likely that execution will be faster, code size and implementation will be reduced, the training can be done on-line without removing the extant controller 31 from the closed-loop, and different input parameters may be used.
We next describe an alternative approach to PNC development that does not 2o require an existing controller to be available. This approach can result in nonlinear controllers which are substantially more powerful than existing controllers.
This approach can also be used for processes that are difficult to control with conventional technology.
For example, the network can be trained so that the controller reduces, minimizes or optimizes criteria such as control energy, servo-response (including response time, maximum percent overshoot, bandwidth), disturbance rejection (including time to return to setpoint and maximum deviation from setpoint) and stability, to name a few. The trained neural network PNC using control parameters pc can allow on-line trade-offs between competing objectives. An example of a criterion 3o would be a weighted sum of control energy and response error over some time interval, T. In this case, pc consists of two matricies, R and Q, SUBSTITUTE SHEET
~(u~y~yrp~ ° Ja ~uTRu + (y-y~)TQ(y-yOdr.
The parameterized neurocontroller would be trained over a range of R and Q
parameters (as well as over some simulated process world). Once trained, a user could adjust the controller parameters (pc) in accordance with whatever his current control objectives are.
Optimal PNC development requires the specification of the following information (although suboptimal development may ignore some of this):
- One or more process models representative of the application or applications for which the PNC is intended. (For example, these models could be algebraic and/or dynamic; linear and/or nonlinear, lumped or distributed, as chosen by the user.) - A disturbance model (optional).
- The control criterion, which may itself be parameterized (e.g., relative weightings on control action vs. servo response).
- The inputs to the PNC. These include feedback inputs such as the error, the integrated error, the derivatives of the error, the setpoint, the process output, etc., as well as the controller parameters, including control, process and disturbance parameters.
At least one control system parameter P must be included. Disturbance parameters can only be included if a disturbance model is specified.
- Ranges should be specified for all process model parameters, including those that are not used as PNC input.
- If the disturbance model is parameterized, ranges should be specified for all disturbance parameters, including those that are not used as PNC input.
- Ranges for all control parameters must be specified.
- The class of input signals to be used for PNC development must be specified. In most cases, it is expected that this will be step inputs (e.g., setpoint changes) of magnitudes within a specified interval.
It should be noted that ranges for all parameters need not be independent. In fact, in many cases it is expected that there will be significant dependencies. Thus, 3o appropriate or reasonable values for control parameters could depend on process parameter values. Ranges can also be points--the corresponding parameter would be ~11R~TITI )TE SHEET
WO 94/17457 ~ PCTIUS94/00753 held constant. (To accomplish this in training, a module such as module 71 of Fig. 4 may be used.) PNC development can be initiated once this information is specified. The development process is schematically depicted in Fig. 4. A parameterized neurocontroller 53 is placed in a simulated control loop with a generalized process model 54 in a closed-loop simulation system 52 which interacts with the PNC
training algorithm 60. Input signals for the closed-loop, and parameter values for the process model 56 and for the PNC (SS) are generated by a Consistent Parameter and Input Generation module (see infra). The closed-loop simulation system has the capability to 1 o evaluate the control criterion on the basis of the results of closed-loop simulations. It also has the ability to calculate gradients of the control criterion relative to the weights of the neural network when this information is needed. The criterion value is passed to the PNC Training Algorithm on line 62 and the gradients are passed to the PNC
Training Algorithm (when needed) on line 63.
The function of the PNC Training Algorithm is essentially to configure the PNC
to minimize the control criterion. This is done by determining the values of PNC
weights but could also involve configuring the network itself, depending on the kind of training used. The PNC Training Algorithm 60 solves this problem in an iterative fashion, successively refining the network and/or its weight values until a minimum is reached. Many specific algorithms can be used for this purpose. Some of these require gradient computation while others do not. In a preferred embodiment a genetic algorithm is used. Genetic algorithms are powerful optimization algorithms.
They allow an arbitrarily complex criterion and do not require gradient computation.
Referring again to Fig. 4, a parameterized neurocontroller 53 is placed into a simulated control loop with the process 54 in a closed loop simulation system 52 which interacts with the PNC training algorithm 60 and receives simulated parameter input 55s, while the process receives simulated parameter input on line 56s. The complete set of process model parameters is referred to as pP, the full set of disturbance model parameters are referred to as pa . These Parameters pP and pd are input into the process 3o in simulation. A disturbance D is input to the process from box 71 through line 56a.
These are a superset of parameters available in pp and pd to the PNC in simulation.
These originate from the Consistent Parameter and Input Generator processor 71.
SUBSTITUTE SHEET
WO 94117457 ~PCTlUS94/00753 The output y and all the other signals relevant to evaluation by criterion set by the user are entered into the criteria evaluation unit 58 and the gradient computation unit 59. These units produce signal output representing J and ~~,~,J, respectively, where J is the control criterion and ~~,~,J, represents the gradients (partial derivatives) of J with respect to each weight in w.
Examples of how the PNC training algorithm 60 may work follow. In both cases, an initial set of weights wo is generated and then iteratively adjusted. Both of these examples assume network configuration is fixed. These examples are only that and not to be taken as limiting, since for various criterion and situations different to methods may be preferred. (The best algorithm to use for a given situation may not be one of the two which follow.) A simple Gradient-Based Training Algorithm:
wo randomly generated Repeat w = w + rl pwJ(w) until ~wJ(w) < E
(Where rl is a constant (learning rate parameter) and E is a small number (e.g., 0.001). When OwJ(w) < E, J is effectively minimized.) 2o A simple Non-Gradient-Based Training Algorithm:
wo randomly generated 1 while J(w) < E2 2 generate w' in neighborhood of w 3 if J(w') < J(w) then w = w' 4 else goto 1 5 end while (where E2 is a small number).
3o This training simulator system 50 may be built as some combination of hardware and software, or all software, if desired. Lines 55 and 56 can provide either simulated or SUBSTITUTE SHEET
user adjusted parameter inputs. The setpoint or desired response input signal 61 (yr) may also be user defined or be provided in simulation.
The Consistent Parameter and Input Generator for processor or module 71 can include user specified classes of input signals, user specified ranges for parameters, and any dependencies among these ranges. This processor 71 may be a separate piece of hardware, or software, or integrated within the simulation processor. This information may be stored in box 71 preferably. This information is used to provide appropriate parameters and input signals to the closed loop simulation.
Numerous ways to connect the parameterized neurocontroller into the controlled 1o system may be contemplated that are within the scope of this invention. See for example Figs. Sa, Sb and Sc. In Fig. Sa an algorithm in the chooser may select the preferred output between the PNC output and that of, in this example, a PID
controller.
In Fig. 5b the PNC output is molded with the output of another controller, "Controller X" to produce u. Depending on the application and on the type of controller used, the closed-loop simulator training or extant-controller-based training may also comprehend the controller identified as "Controller X".
See also Fig. Sc, where an input controller, IC1, decides which of a series of differently trained (or having different P inputs) PNC's is appropriate for the error or the current operating point of the process. It (IC 1 ) informs the process of its decision either 2o by turning on one of the PNC's (PNC 1 ... PNCn) with an input on one of the lines 81 or by only allowing the signal output of the appropriate PNC to reach the process using a multiplexer type arrangement at the output. The latter arrangement would allow for simultaneous processing, giving IC 1 more time to decide which PNC output to use. An alternate form IC2 (in dotted (an output controller)) is also shown in this figure. In this alternative, the suggested control moves are reviewed by IC2 and only the appropriate one is chosen. (It should be noted that one or more of the PNC's could be substituted with a more conventional controller in this figure.) All the forms suggested by these figures do not describe all the applications to which this PNC controller may be put, but are set out as examples to teach that what is claimed may be applied very broadly.
3o In general, it should be recognized that the use of references to xp, y, yr and a refers to these as vectors of arbitrary dimension (which also includes the scalar case of SUBSTITUTE SHEET
dimension = 1 ). As multidimensional vectors, they may comprehend a single series or multiple series of values, thus including both SISO and MISO/MIMO
configurations.
SUBSTITUTE SHEET
This application relates to controllers that supply signals to controlled processes enclosed with control systems and, more particularly, to those controllers that are responsive to process variation, to changing objectives on the part of the user of the controlled system or process, and to disturbance features of the process (such as noise), as well as to how the process is controlled.
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 15 provide compact, efficient implementations with high degrees of generalization and robustness, and are high~s~ suitable for hardware implementation at the present time.
However, except for the applicant's NeuroPID Controller (the subject of International Patent Application PCT/LJS93/01089 filed 27 January 1993), no neural net controller implementation comes close to achieving these potential advantages, and its 2o 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 25 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 3o 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.
SUBSTITUTE SHEET
i 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 to 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. ~! 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, pc, Process Parameters, pp, and Disturbance Parameters, pd. 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.
2o 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 3o 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.
SUBSTITUTE SHEET
WO 94117457 . ~ ~ ~ PCT/US94100753 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, pd, 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.
1o This invention teaches a controller based on a neural network whose output is responsive to input signals that represent user defined, or designer defined, parameters which may include parameters from all or some of the parameter types; process parameters (pp), control parameters (pc), and disturbance parameters (p~. When referred to together these are called control system parameters P. There may be any number (from zero to whatever number runs out the controller capacity or designer patience) of parameters selected from any one, two, or all three of the P
groups of parameters.
In the preferred embodiment, the neural network is a dynamic or algebraic (e.g., feed forward) network. Examples include multila,~nercentron networks described by 2o David E. Rumelhart, Geoffrey E. Hinton and Ronald J. Williams (Learning internal representations by error propagation. In "Parallel Distributed Processing:
Explorations in the Microstructure of Cognition, Vol. 1 ", D.E. Rumelhart and J.L.
McClelland (Eds.), Cambridge, Mass.: MIT Press, 1986), and radial-basis function networks by John Moody and Christian J. Darken (Fast learning in networks of locally-tuned processing units. "Neural Computation", 1, pp. 281-294, 1989), which are well known algebraic forms.
Barak A. Perlmutter (Learning state space trajectories in recurrent neural networks. "Neural Computation", 1, pp. 263-269, 1989) describes a _d3rnamic.
continuous time tune network which could be used. Jeffrey L. Elman ("Finding 3o Structure in Time", Technical Report 8801, Center for Research in Language, University of California, San Diego, La Jolla, CA 92093, 1988), describes a dynamic.
SUBSTITUTE SHEET
discrete time type network which could also be used. In fact, nearly any type of neural network can be used.
However, we have some concerns about the typical Hopfield variety which is constrained in that it accepts one and only one input to each node from outside the network and each node communicates with every other node, and where any two nodes (i,j) share weight values (such that wig=w~i). Such networks are likely to be unsatisfactory.
In general, the network produces output that is some function of the P parameters used, the weights in the network, and error feedback inputs. Error feedback inputs may include the process output, the setpoint or reference model output, the error between the setpoint and the actual output, integrals and/or derivatives of this error, process state variable estimates, and so forth.
Such a neural network can be trained to mimic an extant controller, in one preferred embodiment, by the addition of a processor for running the learning algorithm which receives output from the parameterized neurocontroller (hereinafter "PNC") and the extant controller. Either before or in the learning algorithm processor, a comparison of the two is done until an appropriate level of proficiency is demonstrated by the neural network controller. The extant controller output is taken on-line in the closed loop. The training can be done on-line, or later with collected data.
Training can also be done off-line over a variety of process models. A development system for creating PNC's is also described.
Training of the neural network is generally based on determining values of network weights that optimize some -4a-criterion of interest. A number of specific stochastic and deterministic algorithms can be used, including genetic algorithms, "chemotaxis", back propagation, counter propagation, conjugate gradient, and other first and second order methods known to those of skill in the art. Network "training" may also actually involve configuring or determining the structure of the nodes and their relations using genetic algorithms or other methods known to those of skill in the art. The criteria are selected by the user or customer for the controller.
In accordance with one aspect of this invention, there is provided a controller of a process which accepts modification of its behavior through input signals representative of parameters that are members of a set of parameters including: control parameters p~, process parameters pP, and disturbance parameters pd (which may collectively be called P) wherein said controller comprises a neural network; wherein there is training of the neural network to mimic an existing controller which receives inputs from the set of all P inputs or any subset thereof (except only the subset including only P, I and D inputs), and xp, y, yr, a and all algebraic, differential and integral operators of these xP, y, yr and a inputs, and has an output in a closed loop use, said training occurring by: collecting P parameters, said xp, y, yr, a and any other of said inputs as collected data, and using said collected data as training data in a learning program which modifies the neural network in a training phase at least until an output from said neural network is similar or identical to the acceptable output generated by said existing controller; wherein: xp is dynamic state variables of the process, y is a process output signal, yr is a reference input signal, and a is a control adjustment signal and, coupling said modified neural -4b-network to a second process similar to a first process previously controlled by the existing controller; and applying said neural network to the second process using inputs that the existing controller would have used to control the first process so that the neural network controls the second process.
In accordance with another aspect of this invention, there is provided a controller of a process which accepts modification of its behavior through input signals representative of parameters that are members of a set of parameters including: control parameters p~, process parameters pp, and disturbance parameters pd (which may collectively be called P) wherein said controller comprises a neural network; wherein said inputs received by said controller are from the set of inputs including all P inputs or any subset thereof (except only P, I, D inputs), and xP, y, yr, a and all algebraic, differential and integral operators of these xP, y, yr and a inputs; wherein training is done off-line over a variety of process modules, and further comprising: an input controller processor means for passing data to other controllers and wherein said input controller processor means further comprises an output controller processor that reviews the outputs of other controllers and determines which of those is used as input to the process, wherein: xp is dynamic state variables of the process, y is a process output signal, yr is a reference input signal, and a is a control adjustment signal; and, wherein the output controller processor provides an output signal that is used as input to the process as determined by said output controller processor.
In accordance with a further aspect of this invention, there is provided a controller of a process which accepts modification of its behavior through input signals -4c-representative of parameters that are members of a set of parameters including: control parameters p~, process parameters pp, and disturbance parameters pd (which may collectively be called P) wherein said controller comprises a neural network; wherein said inputs received by said controller are from the set of inputs including all P inputs or any subset thereof (except only P, I, D inputs), and xp, y, yr, a and all algebraic, differential and integral operators of these xP, y, yr and a inputs; wherein said controller comprises an input controller processor and a plurality of other controllers, at least one of which other controllers is a neural network; and wherein: xP is dynamic state variables of the process, y is a process output signal, yr is a reference input signal, and a is a control adjustment signal; and wherein said controller provides a control signal to at least one actuator associated with the process so that a detectable physical change occurs in the characteristics of the process.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a block diagram of a parameterized neurocontroller (PNC) in a closed loop system where it provides signals representing control moves to the process.
WO 94117457 ~~ ~ PCTIUS94100753 - -S-Fig. 2 is a graph of time vs. the process output y, indicating various control curves achievable using different control strategies.
Fig. 3 is a block diagram illustrating a preferred embodiment configuration for training a PNC based on an extant controller.
Fig. 4 is a heuristic block diagram illustrating closed loop simulation training of a PNC.
Fig. Sa is a block diagram of a potential control system in which this invention can be employed.
Figs. Sc and Sb are also block diagrams of other configurations of a control 1 o system to which this invention can be applied.
DETAILED DESCRIPTION OF THE DRAWINGS
Fig. 1 describes a generalized control system 10 having a process (P) 12 (which could include an environment, a processing plant of various kinds, existing control systems or some other kind of system), which receives control adjustment signals as 15 input (u) 13 which are the output of the controller 11 (here, the controller is a parameterized neurocontroller (PNC)). A measure of the output of the process y is produced as a signal on line 14 which is fed back to the PNC on line 18 to input 15.
The PNC continues its control moves based on whatever is appropriate vis-a-vis the reference input yr on line 17 to input 16. In the example of the parameterized 2o neurocontroller, the user or some automatic system could feed inputs representing the desired pc, pp, and/or pd parameter values (19). There may be any number (from zero to whatever number runs out the controller capacity or designer patience) of parameters selected from any one, two, or all three of the P groups of parameters. As in any real-world process, the process 12 can be disturbed by disturbances, D.
25 The process itself may be characterized by certain parameters, here, f~~
example, in dotted line K, T and O (these are of the pp variety).
If desired, these process parameters may be identified by a process identifier which receives the inputs to the process (u on line 23) and the outputs from the process (y on line 22). The identifier can produce a representation of the parameters which are 3o used in the process identification K, i, and O. If desired, the identifier 20 could be constructed as part of the controller 11. The identified process parameters could be input to the PNC, thus supplying some or all of the pp.
SUBSTITUTE SHEET
-6- _ In general, processes can be defined by the following algebro-differential system:
dxP (t) dt = f(xP(t), xp(t-T,), . . ., xP(t-T~), u(t), u(t-i~),...,u(t-im), p, t), x(0) = xo 0 = g(xp(t), xp(t-T1),...,xp(t-Tn), u(t), u(t-i~),...,u(t-im), p, t) y(t) = h(xp(t), xp(t-T~),...,xp(t-Tn), u(t), u(t-T~),...,u(t-Tm), p, t).
For many processes, a simplified form of this system suffices in which the set of to algebraic equations, 0=g(.), is not needed.
In these equations, xp represents the dynamic state variables of the process, a represents process inputs, y represents process outputs, and p represents parameters that characterize the system. The Ti and Ti are state and input time delays, and, along with p, constitute the process parameters pp. In the general case, u, xp, p and y are all vectors 1 s of appropriate sizes. The process parameters determine the dynamic behavior of the process. In a room temperature control application, for example, the volume (size) of the room, the heat conductances of the walls and floors, etc., would be process parameters. The process parameters can vary over time. Thus, if a door to an adjoining room was opened, the effective volume for heating or cooling purposes would be 2o increased.
Any kind of process parameter is acceptable for use with a Parameterized Neurocontroller. It should be noted that while process state variables or estimates thereof can be inputs to the neural network (e.g., the neural network could be a state feedback controller), at least one process, control or disturbance parameter must also be 2s an input.
State variables have been input to neurocontrollers as shown in; T. Troudet, S.
Garg and W. Merrill, Design and Evaluation of a Robust Dynamic Neurocontroller for a Multivariable Aircraft Control Problem. Proc. International Joint Conference on Neural Networks, Vol. 1, Baltimore, pp. 308-314, 1992. However, they do not teach input of 3o the process, control or disturbance parameter(s).
SUBSTITUTE SHEET
tW0 94/17457 ~V~ PCTJUS94/00753 _'7_ Another configuration would be to have a plurality of neural network PNC's with a rule-based processor up front, selecting the one best trained based on the value of the P input.
The description of the parameters (P) which may be fed to the PNC has already been made in the background section of this application.
There has also been discussion concerning the various forms the individual neural network for the PNC's could take, in the summary above. To further generalize, a set of equations could be used to define the controller output a from the neural network. Neural networks may be defined by their function. The algebraic types can be t o defined generally by the following functions:
u(t) = g (P, w, e(t),t), or u(t) = g (P, w, y(t), yr(t),t), or u(t) = g (P, w, e(t), e(t-Te, l )~...,e(t-Te,k), or u(t) = g~P~ w~ xp(t-Txp~ 1 )~...,xp(t-Txp,k)~ Yr(t-Tyr~ 1 )~..., yr(t-Tyr~m)~t)~ or u(t) = g (P, w~ Y(t)~ y(t-Ty~l)~...xy(t-Ty,k)~ y(t-Tyr~l)~...~Y(t-Tyr~m)~ or t u(t) = g (P, w, e(t), Je(t)dt, e(t)) where w represents the weights of the network and xp represents the process state variables (or estimates thereof), r e ---- yr - y, ~ e(t)dt is the integral of the error from to to t, 2o a (t) is the rate of change of error at time t, and Te,i, Ty,i, Tyr.,i and Txp,i are time delays (not necessarily non-zero) in values or e, y, yr and xp, respectively.
The dynamic, continuous time type neural networks intended for use with these inventions have their output defined by the following dynamical system:
x (t) = f (x(t), Pc~ Pp~ Pd~ ~'~ e(t)) u(t) = g (x(t), Pc~ Pp~ Pd~ ~'~ e(t)) x(o) = xo, where x is the state vector for the neural network.
The dynamic, discrete time type neural networks may be defined by the following dynamical system:
x(t) = f (x(t-8t), Pa Pp~ Pd~ ~'~ e(t)) 3o u(t) = g (x(t-8t), pa Pp~ Pd~ ~'~ e(t)) SUBSTITUTE SHEET
_g_ x(o) = xo None of the above defining equations is intended to be limiting and it will be noted by one of ordinary skill that weights and errors and y, xp and yr parameters and time, and time-delayed values, may be added to or removed while still being capable of defining useable neural networks. These may also be used with this invention.
It should also be recognized that this invention is not limited to Single-Input Single-Output controller applications. Multiple sets ofy, yr and xp inputs and multiple a outputs may readily be accepted and trained into either Multiple-Input Single-Output or Multiple-Input Multiple-Output versions of one of the varieties of neural networks 1 o used for this invention. No restriction is implied that y, yr, xp and a are scalar quantities. They may be vectors of arbitrary dimension.
Referring now to Fig. 2 (an example for illustration only--other types of references and curves are easily imaginable by those of ordinary skill in the art), three distinct curves are shown, C1, C2 and C3 for achieving the desired process output at a level represented by yr. For illustrative purposes only, the curve C 1 indicates the kind of response a process is likely to give if pushed very hard and very fast to achieve the desired setpoint or reference value as quickly as possible. The likelihood is that there will be substantial overshoot and perhaps also oscillation until setpoint is achieved.
Curve C2 has very little overshoot but achieves setpoint somewhat later, and curve C3 2o achieves setpoint later still. Note that the rise time does not begin until some time after to, indicating that there is some delay between the time a control signal can be sent and the time that the process responds for this example. A change in an element of pc, e.g., the proportional controller gain, could accomplish similar changes in the response characteristics as shown in Fig. 2. For example, if the proportional gain is turned up, the curve would look more like C 1, and if the proportional gain is turned down, the curve would look more like C3. The characteristics of the response curves would also be varied if there were changes in the process disturbances, or measurement noise. For example, if the controller is controlling the amount of chemicals that is being added to a reaction chamber and the speed of the reaction changes tremendously when a certain 3o concentration of one of the chemicals is reached vis-a-vis the rest of the chemicals in the chamber, a process parameter could be incorporated into the inputs received by the PNC
in order to account for this expected result. Thus, for example, if the output of the SUBSTITUTE SHEET
WO 94/17457 ~ ~~ ~ PCTIUS94/00753 _ _9_ sensor indicated the degree of acidity (or some other measurable quantity) had passed or was approaching a certain point at which the reaction speed would increase dramatically, the failure of the controller to close down the valve releasing the more acid chemical could cause a response curve more similar to C 1 or, in fact, allow for a runaway reaction.
As another example, a noise or disturbance parameter change might be appropriately fed into the controller where, for example, it is controlling the heating of a building space. In such a case where the day is unusually bright and sunny and the outside temperature is very warm, the heat load on the building and its ability to 1 o dissipate heat into the atmosphere would be reduced. Accordingly, if the operator of a controller desires a response curve similar to C2, different control moves than would ordinarily be required to achieve such a curve need to be output (u) by the PNC to accommodate the disturbances.
Referring now to Fig. 3 in which a controlled system 30 is shown having an ~ 5 extant controller 31 (C), a controlled process (P) 32, wherein the control signal output (u) is forwarded to the process (P) on line 34 and the output y from the process is output on line 35. The outputy is also fed on line 36 back into the extant controller 31 and the PNC 33. Both produce their control signals in response to the output y and the desired outputyr received from the input line 37. In this instance, the extant controller 31 2o produces satisfactory output a for controlling the process 32. The PNC in this case is used either to eventually replace the extant controller 31 or to act as a redundancy system, a back-up, or a system trained in environment of a process 32 which is replicated in many instances. In the last case, the PNC, once trained, can be removed from this one particular instance of process 32 and used in other similar processes.
25 Parameters pc, pp, pd 43 are normally input in this situation on line 42 into both the PNC and the extant controller 31. ' Iowever, in many instances, the controller C 31 may have a different set of parameters input to it.
A processor 39 takes the difference of the outputs from line 34a(upNC) and 38(u). This difference figure is fed to the learning algorithm 40 contained within the 3o processor 39. The learning algorithm may be of various different types discussed ad nauseam in the literature. These include, for example, the well known methods of SUBSTITUTE SHEET
WO 94/17457 PCTlUS94/00753 back-propagation, conjugate gradient algorithms and genetic algorithms, as well as numerous other possible training methods.
The result of the learning algorithm processing is a signal (line 41 ) to the PNC
33 to adjust the internal weights or, in fact, its configuration, if that is desired.
It should be noted that if an existing controller is available that provides satisfactory, robust performance, a neural network can be trained to mimic it, as shown here. That is, given the same input, if it is desired that the neural network and the existing controller provide the same output, this is possible. It is also possible to adjust the output so that it still mimics the existing controller based on input parameters 43 that may or may not be input to the extant controller 31. If the existing controller currently requires some parameters that are difficult to supply (e.g., their computation may be involved), the PNC can be provided some more readily available parameters instead.
The PNC will then attempt to duplicate the extant controller behavior as accurately as possible given the new parameters. The neural network controller cannot be trained to outperform the existing controller in the set up. However, there are other advantages that still remain for this situation. It is likely that execution will be faster, code size and implementation will be reduced, the training can be done on-line without removing the extant controller 31 from the closed-loop, and different input parameters may be used.
We next describe an alternative approach to PNC development that does not 2o require an existing controller to be available. This approach can result in nonlinear controllers which are substantially more powerful than existing controllers.
This approach can also be used for processes that are difficult to control with conventional technology.
For example, the network can be trained so that the controller reduces, minimizes or optimizes criteria such as control energy, servo-response (including response time, maximum percent overshoot, bandwidth), disturbance rejection (including time to return to setpoint and maximum deviation from setpoint) and stability, to name a few. The trained neural network PNC using control parameters pc can allow on-line trade-offs between competing objectives. An example of a criterion 3o would be a weighted sum of control energy and response error over some time interval, T. In this case, pc consists of two matricies, R and Q, SUBSTITUTE SHEET
~(u~y~yrp~ ° Ja ~uTRu + (y-y~)TQ(y-yOdr.
The parameterized neurocontroller would be trained over a range of R and Q
parameters (as well as over some simulated process world). Once trained, a user could adjust the controller parameters (pc) in accordance with whatever his current control objectives are.
Optimal PNC development requires the specification of the following information (although suboptimal development may ignore some of this):
- One or more process models representative of the application or applications for which the PNC is intended. (For example, these models could be algebraic and/or dynamic; linear and/or nonlinear, lumped or distributed, as chosen by the user.) - A disturbance model (optional).
- The control criterion, which may itself be parameterized (e.g., relative weightings on control action vs. servo response).
- The inputs to the PNC. These include feedback inputs such as the error, the integrated error, the derivatives of the error, the setpoint, the process output, etc., as well as the controller parameters, including control, process and disturbance parameters.
At least one control system parameter P must be included. Disturbance parameters can only be included if a disturbance model is specified.
- Ranges should be specified for all process model parameters, including those that are not used as PNC input.
- If the disturbance model is parameterized, ranges should be specified for all disturbance parameters, including those that are not used as PNC input.
- Ranges for all control parameters must be specified.
- The class of input signals to be used for PNC development must be specified. In most cases, it is expected that this will be step inputs (e.g., setpoint changes) of magnitudes within a specified interval.
It should be noted that ranges for all parameters need not be independent. In fact, in many cases it is expected that there will be significant dependencies. Thus, 3o appropriate or reasonable values for control parameters could depend on process parameter values. Ranges can also be points--the corresponding parameter would be ~11R~TITI )TE SHEET
WO 94/17457 ~ PCTIUS94/00753 held constant. (To accomplish this in training, a module such as module 71 of Fig. 4 may be used.) PNC development can be initiated once this information is specified. The development process is schematically depicted in Fig. 4. A parameterized neurocontroller 53 is placed in a simulated control loop with a generalized process model 54 in a closed-loop simulation system 52 which interacts with the PNC
training algorithm 60. Input signals for the closed-loop, and parameter values for the process model 56 and for the PNC (SS) are generated by a Consistent Parameter and Input Generation module (see infra). The closed-loop simulation system has the capability to 1 o evaluate the control criterion on the basis of the results of closed-loop simulations. It also has the ability to calculate gradients of the control criterion relative to the weights of the neural network when this information is needed. The criterion value is passed to the PNC Training Algorithm on line 62 and the gradients are passed to the PNC
Training Algorithm (when needed) on line 63.
The function of the PNC Training Algorithm is essentially to configure the PNC
to minimize the control criterion. This is done by determining the values of PNC
weights but could also involve configuring the network itself, depending on the kind of training used. The PNC Training Algorithm 60 solves this problem in an iterative fashion, successively refining the network and/or its weight values until a minimum is reached. Many specific algorithms can be used for this purpose. Some of these require gradient computation while others do not. In a preferred embodiment a genetic algorithm is used. Genetic algorithms are powerful optimization algorithms.
They allow an arbitrarily complex criterion and do not require gradient computation.
Referring again to Fig. 4, a parameterized neurocontroller 53 is placed into a simulated control loop with the process 54 in a closed loop simulation system 52 which interacts with the PNC training algorithm 60 and receives simulated parameter input 55s, while the process receives simulated parameter input on line 56s. The complete set of process model parameters is referred to as pP, the full set of disturbance model parameters are referred to as pa . These Parameters pP and pd are input into the process 3o in simulation. A disturbance D is input to the process from box 71 through line 56a.
These are a superset of parameters available in pp and pd to the PNC in simulation.
These originate from the Consistent Parameter and Input Generator processor 71.
SUBSTITUTE SHEET
WO 94117457 ~PCTlUS94/00753 The output y and all the other signals relevant to evaluation by criterion set by the user are entered into the criteria evaluation unit 58 and the gradient computation unit 59. These units produce signal output representing J and ~~,~,J, respectively, where J is the control criterion and ~~,~,J, represents the gradients (partial derivatives) of J with respect to each weight in w.
Examples of how the PNC training algorithm 60 may work follow. In both cases, an initial set of weights wo is generated and then iteratively adjusted. Both of these examples assume network configuration is fixed. These examples are only that and not to be taken as limiting, since for various criterion and situations different to methods may be preferred. (The best algorithm to use for a given situation may not be one of the two which follow.) A simple Gradient-Based Training Algorithm:
wo randomly generated Repeat w = w + rl pwJ(w) until ~wJ(w) < E
(Where rl is a constant (learning rate parameter) and E is a small number (e.g., 0.001). When OwJ(w) < E, J is effectively minimized.) 2o A simple Non-Gradient-Based Training Algorithm:
wo randomly generated 1 while J(w) < E2 2 generate w' in neighborhood of w 3 if J(w') < J(w) then w = w' 4 else goto 1 5 end while (where E2 is a small number).
3o This training simulator system 50 may be built as some combination of hardware and software, or all software, if desired. Lines 55 and 56 can provide either simulated or SUBSTITUTE SHEET
user adjusted parameter inputs. The setpoint or desired response input signal 61 (yr) may also be user defined or be provided in simulation.
The Consistent Parameter and Input Generator for processor or module 71 can include user specified classes of input signals, user specified ranges for parameters, and any dependencies among these ranges. This processor 71 may be a separate piece of hardware, or software, or integrated within the simulation processor. This information may be stored in box 71 preferably. This information is used to provide appropriate parameters and input signals to the closed loop simulation.
Numerous ways to connect the parameterized neurocontroller into the controlled 1o system may be contemplated that are within the scope of this invention. See for example Figs. Sa, Sb and Sc. In Fig. Sa an algorithm in the chooser may select the preferred output between the PNC output and that of, in this example, a PID
controller.
In Fig. 5b the PNC output is molded with the output of another controller, "Controller X" to produce u. Depending on the application and on the type of controller used, the closed-loop simulator training or extant-controller-based training may also comprehend the controller identified as "Controller X".
See also Fig. Sc, where an input controller, IC1, decides which of a series of differently trained (or having different P inputs) PNC's is appropriate for the error or the current operating point of the process. It (IC 1 ) informs the process of its decision either 2o by turning on one of the PNC's (PNC 1 ... PNCn) with an input on one of the lines 81 or by only allowing the signal output of the appropriate PNC to reach the process using a multiplexer type arrangement at the output. The latter arrangement would allow for simultaneous processing, giving IC 1 more time to decide which PNC output to use. An alternate form IC2 (in dotted (an output controller)) is also shown in this figure. In this alternative, the suggested control moves are reviewed by IC2 and only the appropriate one is chosen. (It should be noted that one or more of the PNC's could be substituted with a more conventional controller in this figure.) All the forms suggested by these figures do not describe all the applications to which this PNC controller may be put, but are set out as examples to teach that what is claimed may be applied very broadly.
3o In general, it should be recognized that the use of references to xp, y, yr and a refers to these as vectors of arbitrary dimension (which also includes the scalar case of SUBSTITUTE SHEET
dimension = 1 ). As multidimensional vectors, they may comprehend a single series or multiple series of values, thus including both SISO and MISO/MIMO
configurations.
SUBSTITUTE SHEET
Claims (9)
1. A controller of a process which accepts modification of its behavior through input signals representative of parameters that are members of a set of parameters including: control parameters p c, process parameters p p, and disturbance parameters p d (which may collectively be called P) wherein said controller comprises a neural network;
wherein there is training of the neural network to mimic an existing controller which receives inputs from the set of all P inputs or any subset thereof (except only the subset including only P, I and D inputs), and x p, y, y r, u and all algebraic, differential and integral operators of these x p, y, y r and a inputs, and has an output in a closed loop use, said training occurring by:
collecting P parameters, said x p, y, y r, u and any other of said inputs as collected data, and using said collected data as training data in a learning program which modifies the neural network in a training phase at least until an output from said neural network is similar or identical to the acceptable output generated by said existing controller; wherein:
x p is dynamic state variables of the process, y is a process output signal, y r is a reference input signal, and a is a control adjustment signal and, coupling said modified neural network to a second process similar to a first process previously controlled by the existing controller; and applying said neural network to the second process using inputs that the existing controller would have used to control the first process so that the neural network controls the second process.
wherein there is training of the neural network to mimic an existing controller which receives inputs from the set of all P inputs or any subset thereof (except only the subset including only P, I and D inputs), and x p, y, y r, u and all algebraic, differential and integral operators of these x p, y, y r and a inputs, and has an output in a closed loop use, said training occurring by:
collecting P parameters, said x p, y, y r, u and any other of said inputs as collected data, and using said collected data as training data in a learning program which modifies the neural network in a training phase at least until an output from said neural network is similar or identical to the acceptable output generated by said existing controller; wherein:
x p is dynamic state variables of the process, y is a process output signal, y r is a reference input signal, and a is a control adjustment signal and, coupling said modified neural network to a second process similar to a first process previously controlled by the existing controller; and applying said neural network to the second process using inputs that the existing controller would have used to control the first process so that the neural network controls the second process.
2. A controller as set forth in claim 1 wherein said controller comprises an input controller processor and a plurality of other controllers, at least one of which other controllers is a neural network.
3. A controller as set forth in claim 2, wherein said input controller processor passes data to inputs of the plurality of other controllers and wherein at least one of said plurality of other controllers further comprises an output controller processor that reviews outputs of said input controller processor and said plurality of other controllers and determines which of those outputs is used as input to the process.
4. A controller as set forth in claim 1 wherein the neural network is trained to extremize criteria using any training method from the set of training methods:
stochastic, non-gradient based, nonlinear; genetic; steepest descent; and second order methods.
stochastic, non-gradient based, nonlinear; genetic; steepest descent; and second order methods.
5. A controller as set forth in claim 1 wherein training is done off-line over a specified space of process models.
6. A controller as set forth in claim 1, wherein the neural network is trained to mimic an existing controller which receives inputs from the set of all P inputs or any subset thereof (except only the subset including P, I and D
inputs), and x p, y, y r, a and all algebraic, differential and integral operators of these x p, y, y r and a inputs; with an output in a closed loop use, said training occurring by:
placing said neural network into the closed control loop so as to receive said P parameters, said x p, y, y r, u and any other of said inputs and also input from a learning program which modifies the network in a training phase at least until the u output from said neural network is similar or identical to the output generated by said existing controller, allowing said existing controller to run in said closed-loop use until said training phase is accomplished;
and, placing the trained neural network in the closed loop so as to run the process in said closed-loop use.
inputs), and x p, y, y r, a and all algebraic, differential and integral operators of these x p, y, y r and a inputs; with an output in a closed loop use, said training occurring by:
placing said neural network into the closed control loop so as to receive said P parameters, said x p, y, y r, u and any other of said inputs and also input from a learning program which modifies the network in a training phase at least until the u output from said neural network is similar or identical to the output generated by said existing controller, allowing said existing controller to run in said closed-loop use until said training phase is accomplished;
and, placing the trained neural network in the closed loop so as to run the process in said closed-loop use.
7. A controller as set forth in claim 6 wherein said neural network, after said training phase, is employed to run said closed-loop use.
8. A controller of a process which accepts modification of its behavior through input signals representative of parameters that are members of a set of parameters including: control parameters p c, process parameters p p, and disturbance parameters p d (which may collectively be called P) wherein said controller comprises a neural network;
wherein said inputs received by said controller are from the set of inputs including all P inputs or any subset thereof (except only P, I, D inputs) , and x p, y, y r, u and all algebraic, differential and integral operators of these x p, y, y r and u inputs;
wherein training is done off-line over a variety of process modules, and further comprising:
an input controller processor means for passing data to other controllers and wherein said input controller processor means further comprises an output controller processor that reviews the outputs of other controllers and determines which of those is used as input to the process, wherein:
x p is dynamic state variables of the process, y is a process output signal, yr is a reference input signal, and a is a control adjustment signal; and, wherein the output controller processor provides an output signal that is used as input to the process as determined by said output controller processor.
wherein said inputs received by said controller are from the set of inputs including all P inputs or any subset thereof (except only P, I, D inputs) , and x p, y, y r, u and all algebraic, differential and integral operators of these x p, y, y r and u inputs;
wherein training is done off-line over a variety of process modules, and further comprising:
an input controller processor means for passing data to other controllers and wherein said input controller processor means further comprises an output controller processor that reviews the outputs of other controllers and determines which of those is used as input to the process, wherein:
x p is dynamic state variables of the process, y is a process output signal, yr is a reference input signal, and a is a control adjustment signal; and, wherein the output controller processor provides an output signal that is used as input to the process as determined by said output controller processor.
9. A controller of a process which accepts modification of its behavior through input signals representative of parameters that are members of a set of parameters including: control parameters P c, process parameters P P, and disturbance parameters P d (which may collectively be called P) wherein said controller comprises a neural network;
wherein said inputs received by said controller are from the set of inputs including all P inputs or any subset thereof (except only P, I, D inputs), and x p, y, y r, a and all algebraic, differential and integral operators of these x p, y, y r and a inputs;
wherein said controller comprises an input controller processor and a plurality of other controllers, at least one of which other controllers is a neural network;
and wherein:
x p is dynamic state variables of the process, y is a process output signal, yr is a reference input signal, and u is a control adjustment signal; and wherein said controller provides a control signal to at least one actuator associated with the process so that a detectable physical change occurs in the characteristics of the process.
wherein said inputs received by said controller are from the set of inputs including all P inputs or any subset thereof (except only P, I, D inputs), and x p, y, y r, a and all algebraic, differential and integral operators of these x p, y, y r and a inputs;
wherein said controller comprises an input controller processor and a plurality of other controllers, at least one of which other controllers is a neural network;
and wherein:
x p is dynamic state variables of the process, y is a process output signal, yr is a reference input signal, and u is a control adjustment signal; and wherein said controller provides a control signal to at least one actuator associated with the process so that a detectable physical change occurs in the characteristics of the process.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/008,963 US5486996A (en) | 1993-01-22 | 1993-01-22 | Parameterized neurocontrollers |
US08/008,963 | 1993-01-22 | ||
PCT/US1994/000753 WO1994017457A1 (en) | 1993-01-22 | 1994-01-21 | Parameterized neurocontrollers |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2153054A1 CA2153054A1 (en) | 1994-08-04 |
CA2153054C true CA2153054C (en) | 2004-11-02 |
Family
ID=21734728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002153054A Expired - Fee Related CA2153054C (en) | 1993-01-22 | 1994-01-21 | Parameterized neurocontrollers |
Country Status (7)
Country | Link |
---|---|
US (1) | US5486996A (en) |
EP (1) | EP0680630B1 (en) |
JP (1) | JPH08505972A (en) |
AU (1) | AU6032194A (en) |
CA (1) | CA2153054C (en) |
DE (1) | DE69420545T2 (en) |
WO (1) | WO1994017457A1 (en) |
Families Citing this family (143)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745385A (en) * | 1994-04-25 | 1998-04-28 | International Business Machines Corproation | Method for stochastic and deterministic timebase control in stochastic simulations |
DE19510009C2 (en) * | 1995-03-23 | 2000-05-11 | Siemens Ag | Process and device for process control of a paper machine |
US6745169B1 (en) * | 1995-07-27 | 2004-06-01 | Siemens Aktiengesellschaft | Learning process for a neural network |
US6092919A (en) * | 1995-08-01 | 2000-07-25 | Guided Systems Technologies, Inc. | System and method for adaptive control of uncertain nonlinear processes |
DE19530049B4 (en) * | 1995-08-16 | 2004-12-23 | Thomas Froese | Method for recognizing incorrect predictions in a neuromodel-based or neuronal control |
US6654697B1 (en) | 1996-03-28 | 2003-11-25 | Rosemount Inc. | Flow measurement with diagnostics |
US7949495B2 (en) * | 1996-03-28 | 2011-05-24 | Rosemount, Inc. | Process variable transmitter with diagnostics |
US7254518B2 (en) * | 1996-03-28 | 2007-08-07 | Rosemount Inc. | Pressure transmitter with diagnostics |
US7630861B2 (en) * | 1996-03-28 | 2009-12-08 | Rosemount Inc. | Dedicated process diagnostic device |
US6017143A (en) * | 1996-03-28 | 2000-01-25 | Rosemount Inc. | Device in a process system for detecting events |
US6539267B1 (en) | 1996-03-28 | 2003-03-25 | Rosemount Inc. | Device in a process system for determining statistical parameter |
US8290721B2 (en) * | 1996-03-28 | 2012-10-16 | Rosemount Inc. | Flow measurement diagnostics |
US6493596B1 (en) * | 1996-05-06 | 2002-12-10 | Pavilion Technologies, Inc. | Method and apparatus for controlling a non-linear mill |
US7610108B2 (en) * | 1996-05-06 | 2009-10-27 | Rockwell Automation Technologies, Inc. | Method and apparatus for attenuating error in dynamic and steady-state processes for prediction, control, and optimization |
US7418301B2 (en) * | 1996-05-06 | 2008-08-26 | Pavilion Technologies, Inc. | Method and apparatus for approximating gains in dynamic and steady-state processes for prediction, control, and optimization |
US7149590B2 (en) | 1996-05-06 | 2006-12-12 | Pavilion Technologies, Inc. | Kiln control and upset recovery using a model predictive control in series with forward chaining |
US8311673B2 (en) * | 1996-05-06 | 2012-11-13 | Rockwell Automation Technologies, Inc. | Method and apparatus for minimizing error in dynamic and steady-state processes for prediction, control, and optimization |
US6438430B1 (en) * | 1996-05-06 | 2002-08-20 | Pavilion Technologies, Inc. | Kiln thermal and combustion control |
DE19642443C2 (en) * | 1996-10-15 | 2001-12-13 | Telefunken Microelectron | Process for controlling a controlled variable |
US5828567A (en) * | 1996-11-07 | 1998-10-27 | Rosemount Inc. | Diagnostics for resistance based transmitter |
US5956663A (en) * | 1996-11-07 | 1999-09-21 | Rosemount, Inc. | Signal processing technique which separates signal components in a sensor for sensor diagnostics |
US6519546B1 (en) | 1996-11-07 | 2003-02-11 | Rosemount Inc. | Auto correcting temperature transmitter with resistance based sensor |
US6754601B1 (en) | 1996-11-07 | 2004-06-22 | Rosemount Inc. | Diagnostics for resistive elements of process devices |
US6434504B1 (en) | 1996-11-07 | 2002-08-13 | Rosemount Inc. | Resistance based process control device diagnostics |
US6601005B1 (en) | 1996-11-07 | 2003-07-29 | Rosemount Inc. | Process device diagnostics using process variable sensor signal |
US6449574B1 (en) | 1996-11-07 | 2002-09-10 | Micro Motion, Inc. | Resistance based process control device diagnostics |
EP0948759B1 (en) * | 1996-12-31 | 2002-08-07 | Rosemount Inc. | Device in a process system for validating a control signal from a field device |
US5826065A (en) * | 1997-01-13 | 1998-10-20 | International Business Machines Corporation | Software architecture for stochastic simulation of non-homogeneous systems |
US6078843A (en) * | 1997-01-24 | 2000-06-20 | Honeywell Inc. | Neural network including input normalization for use in a closed loop control system |
DE19727795C1 (en) * | 1997-06-30 | 1998-12-17 | Siemens Ag | Process modelling method for neural network |
DE69818494T2 (en) | 1997-10-13 | 2004-07-01 | Rosemount Inc., Eden Prairie | Transmission method for field devices in industrial processes |
US6556980B1 (en) * | 1998-08-28 | 2003-04-29 | General Cyberation Group, Inc. | Model-free adaptive control for industrial processes |
US6615149B1 (en) | 1998-12-10 | 2003-09-02 | Rosemount Inc. | Spectral diagnostics in a magnetic flow meter |
US6611775B1 (en) | 1998-12-10 | 2003-08-26 | Rosemount Inc. | Electrode leakage diagnostics in a magnetic flow meter |
US6230062B1 (en) | 1999-01-08 | 2001-05-08 | Voyan Technology | Adaptation to unmeasured variables |
US6975219B2 (en) * | 2001-03-01 | 2005-12-13 | Fisher-Rosemount Systems, Inc. | Enhanced hart device alerts in a process control system |
US6633782B1 (en) | 1999-02-22 | 2003-10-14 | Fisher-Rosemount Systems, Inc. | Diagnostic expert in a process control system |
US8044793B2 (en) * | 2001-03-01 | 2011-10-25 | Fisher-Rosemount Systems, Inc. | Integrated device alerts in a process control system |
US6298454B1 (en) | 1999-02-22 | 2001-10-02 | Fisher-Rosemount Systems, Inc. | Diagnostics in a process control system |
US6278898B1 (en) * | 1999-04-07 | 2001-08-21 | Voyan Technology | Model error bounds for identification of stochastic models for control design |
US6356191B1 (en) | 1999-06-17 | 2002-03-12 | Rosemount Inc. | Error compensation for a process fluid temperature transmitter |
US7010459B2 (en) * | 1999-06-25 | 2006-03-07 | Rosemount Inc. | Process device diagnostics using process variable sensor signal |
EP1247268B2 (en) | 1999-07-01 | 2009-08-05 | Rosemount Inc. | Low power two-wire self validating temperature transmitter |
US6505517B1 (en) | 1999-07-23 | 2003-01-14 | Rosemount Inc. | High accuracy signal processing for magnetic flowmeter |
US6701274B1 (en) | 1999-08-27 | 2004-03-02 | Rosemount Inc. | Prediction of error magnitude in a pressure transmitter |
US6556145B1 (en) | 1999-09-24 | 2003-04-29 | Rosemount Inc. | Two-wire fluid temperature transmitter with thermocouple diagnostics |
US6684112B1 (en) * | 2000-04-11 | 2004-01-27 | George Shu-Xing Cheng | Robust model-free adaptive control |
US6684115B1 (en) * | 2000-04-11 | 2004-01-27 | George Shu-Xing Cheng | Model-free adaptive control of quality variables |
US6735484B1 (en) | 2000-09-20 | 2004-05-11 | Fargo Electronics, Inc. | Printer with a process diagnostics system for detecting events |
WO2002031764A2 (en) * | 2000-10-13 | 2002-04-18 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | A method for supervised teaching of a recurrent artificial neural network |
US6795798B2 (en) | 2001-03-01 | 2004-09-21 | Fisher-Rosemount Systems, Inc. | Remote analysis of process control plant data |
JP4160399B2 (en) * | 2001-03-01 | 2008-10-01 | フィッシャー−ローズマウント システムズ, インコーポレイテッド | Creating and displaying indicators in the process plant |
US7389204B2 (en) * | 2001-03-01 | 2008-06-17 | Fisher-Rosemount Systems, Inc. | Data presentation system for abnormal situation prevention in a process plant |
US6954713B2 (en) * | 2001-03-01 | 2005-10-11 | Fisher-Rosemount Systems, Inc. | Cavitation detection in a process plant |
US7720727B2 (en) * | 2001-03-01 | 2010-05-18 | Fisher-Rosemount Systems, Inc. | Economic calculations in process control system |
US8073967B2 (en) | 2002-04-15 | 2011-12-06 | Fisher-Rosemount Systems, Inc. | Web services-based communications for use with process control systems |
US6629059B2 (en) | 2001-05-14 | 2003-09-30 | Fisher-Rosemount Systems, Inc. | Hand held diagnostic and communication device with automatic bus detection |
US20020191102A1 (en) * | 2001-05-31 | 2002-12-19 | Casio Computer Co., Ltd. | Light emitting device, camera with light emitting device, and image pickup method |
US7162534B2 (en) * | 2001-07-10 | 2007-01-09 | Fisher-Rosemount Systems, Inc. | Transactional data communications for process control systems |
US6772036B2 (en) | 2001-08-30 | 2004-08-03 | Fisher-Rosemount Systems, Inc. | Control system using process model |
US20050137995A1 (en) * | 2002-08-16 | 2005-06-23 | Powitec Intelligent Technologies Gmbh | Method for regulating a thermodynamic process by means of neural networks |
US7600234B2 (en) * | 2002-12-10 | 2009-10-06 | Fisher-Rosemount Systems, Inc. | Method for launching applications |
US7493310B2 (en) | 2002-12-30 | 2009-02-17 | Fisher-Rosemount Systems, Inc. | Data visualization within an integrated asset data system for a process plant |
US8935298B2 (en) | 2002-12-30 | 2015-01-13 | Fisher-Rosemount Systems, Inc. | Integrated navigational tree importation and generation in a process plant |
US7152072B2 (en) | 2003-01-08 | 2006-12-19 | Fisher-Rosemount Systems Inc. | Methods and apparatus for importing device data into a database system used in a process plant |
US20040158474A1 (en) * | 2003-02-06 | 2004-08-12 | Karschnia Robert J. | Service facility for providing remote diagnostic and maintenance services to a process plant |
US7953842B2 (en) | 2003-02-19 | 2011-05-31 | Fisher-Rosemount Systems, Inc. | Open network-based data acquisition, aggregation and optimization for use with process control systems |
US7103427B2 (en) | 2003-02-28 | 2006-09-05 | Fisher-Rosemont Systems, Inc. | Delivery of process plant notifications |
US6915235B2 (en) * | 2003-03-13 | 2005-07-05 | Csi Technology, Inc. | Generation of data indicative of machine operational condition |
US7634384B2 (en) * | 2003-03-18 | 2009-12-15 | Fisher-Rosemount Systems, Inc. | Asset optimization reporting in a process plant |
US20040230328A1 (en) * | 2003-03-21 | 2004-11-18 | Steve Armstrong | Remote data visualization within an asset data system for a process plant |
US7299415B2 (en) * | 2003-06-16 | 2007-11-20 | Fisher-Rosemount Systems, Inc. | Method and apparatus for providing help information in multiple formats |
DE10327663A1 (en) * | 2003-06-20 | 2005-01-05 | Abb Patent Gmbh | System and method for optimizing control of the thickness quality in a rolling process |
US7290450B2 (en) * | 2003-07-18 | 2007-11-06 | Rosemount Inc. | Process diagnostics |
US7018800B2 (en) * | 2003-08-07 | 2006-03-28 | Rosemount Inc. | Process device with quiescent current diagnostics |
US7627441B2 (en) * | 2003-09-30 | 2009-12-01 | Rosemount Inc. | Process device with vibration based diagnostics |
US7415446B2 (en) * | 2003-10-20 | 2008-08-19 | General Cybernation Group, Inc. | Model-free adaptive (MFA) optimization |
JP4722461B2 (en) * | 2003-12-03 | 2011-07-13 | フィッシャー−ローズマウント システムズ, インコーポレイテッド | An adaptive multivariable process controller using model switching and attribute interpolation. |
US7523667B2 (en) * | 2003-12-23 | 2009-04-28 | Rosemount Inc. | Diagnostics of impulse piping in an industrial process |
US7030747B2 (en) * | 2004-02-26 | 2006-04-18 | Fisher-Rosemount Systems, Inc. | Method and system for integrated alarms in a process control system |
US7079984B2 (en) * | 2004-03-03 | 2006-07-18 | Fisher-Rosemount Systems, Inc. | Abnormal situation prevention in a process plant |
US7676287B2 (en) * | 2004-03-03 | 2010-03-09 | Fisher-Rosemount Systems, Inc. | Configuration system and method for abnormal situation prevention in a process plant |
TWI231481B (en) * | 2004-03-11 | 2005-04-21 | Quanta Comp Inc | Electronic apparatus |
US7515977B2 (en) * | 2004-03-30 | 2009-04-07 | Fisher-Rosemount Systems, Inc. | Integrated configuration system for use in a process plant |
US7536274B2 (en) * | 2004-05-28 | 2009-05-19 | Fisher-Rosemount Systems, Inc. | System and method for detecting an abnormal situation associated with a heater |
US20050267709A1 (en) * | 2004-05-28 | 2005-12-01 | Fisher-Rosemount Systems, Inc. | System and method for detecting an abnormal situation associated with a heater |
WO2005124491A1 (en) | 2004-06-12 | 2005-12-29 | Fisher-Rosemount Systems, Inc. | System and method for detecting an abnormal situation associated with a process gain of a control loop |
US7181654B2 (en) * | 2004-09-17 | 2007-02-20 | Fisher-Rosemount Systems, Inc. | System and method for detecting an abnormal situation associated with a reactor |
US7668795B2 (en) * | 2004-11-02 | 2010-02-23 | Fuji Xerox Co., Ltd. | Data analyzer utilizing the spreading activation theory for stemming processing |
US9201420B2 (en) | 2005-04-08 | 2015-12-01 | Rosemount, Inc. | Method and apparatus for performing a function in a process plant using monitoring data with criticality evaluation data |
US8005647B2 (en) | 2005-04-08 | 2011-08-23 | Rosemount, Inc. | Method and apparatus for monitoring and performing corrective measures in a process plant using monitoring data with corrective measures data |
US8112565B2 (en) * | 2005-06-08 | 2012-02-07 | Fisher-Rosemount Systems, Inc. | Multi-protocol field device interface with automatic bus detection |
US20080201284A1 (en) * | 2005-08-15 | 2008-08-21 | Massaquoi Steven G | Computer-Implemented Model of the Central Nervous System |
WO2007127376A2 (en) * | 2006-04-27 | 2007-11-08 | Massachusetts Institute Of Technology | Computer-implemented model of the central nervous system |
US7272531B2 (en) * | 2005-09-20 | 2007-09-18 | Fisher-Rosemount Systems, Inc. | Aggregation of asset use indices within a process plant |
US20070068225A1 (en) * | 2005-09-29 | 2007-03-29 | Brown Gregory C | Leak detector for process valve |
US7363094B2 (en) * | 2006-01-09 | 2008-04-22 | General Electric Company | Multivariable controller design method for multiple input/outputs systems with multiple input/output constraints |
EP1850069B1 (en) * | 2006-04-25 | 2008-08-13 | Powitec Intelligent Technologies GmbH | Method and Control Loop for Controlling a Combustion Process |
US8145358B2 (en) * | 2006-07-25 | 2012-03-27 | Fisher-Rosemount Systems, Inc. | Method and system for detecting abnormal operation of a level regulatory control loop |
US7912676B2 (en) * | 2006-07-25 | 2011-03-22 | Fisher-Rosemount Systems, Inc. | Method and system for detecting abnormal operation in a process plant |
US7657399B2 (en) * | 2006-07-25 | 2010-02-02 | Fisher-Rosemount Systems, Inc. | Methods and systems for detecting deviation of a process variable from expected values |
US8606544B2 (en) | 2006-07-25 | 2013-12-10 | Fisher-Rosemount Systems, Inc. | Methods and systems for detecting deviation of a process variable from expected values |
US7496414B2 (en) * | 2006-09-13 | 2009-02-24 | Rockwell Automation Technologies, Inc. | Dynamic controller utilizing a hybrid model |
US7953501B2 (en) | 2006-09-25 | 2011-05-31 | Fisher-Rosemount Systems, Inc. | Industrial process control loop monitor |
US8788070B2 (en) * | 2006-09-26 | 2014-07-22 | Rosemount Inc. | Automatic field device service adviser |
CN102789226B (en) * | 2006-09-28 | 2015-07-01 | 费舍-柔斯芒特系统股份有限公司 | Abnormal situation prevention in a heat exchanger |
WO2008042290A2 (en) | 2006-09-29 | 2008-04-10 | Rosemount Inc. | Magnetic flowmeter with verification |
US8014880B2 (en) * | 2006-09-29 | 2011-09-06 | Fisher-Rosemount Systems, Inc. | On-line multivariate analysis in a distributed process control system |
US20080188972A1 (en) * | 2006-10-11 | 2008-08-07 | Fisher-Rosemount Systems, Inc. | Method and System for Detecting Faults in a Process Plant |
US8032341B2 (en) * | 2007-01-04 | 2011-10-04 | Fisher-Rosemount Systems, Inc. | Modeling a process using a composite model comprising a plurality of regression models |
US8032340B2 (en) | 2007-01-04 | 2011-10-04 | Fisher-Rosemount Systems, Inc. | Method and system for modeling a process variable in a process plant |
US7827006B2 (en) * | 2007-01-31 | 2010-11-02 | Fisher-Rosemount Systems, Inc. | Heat exchanger fouling detection |
US10410145B2 (en) * | 2007-05-15 | 2019-09-10 | Fisher-Rosemount Systems, Inc. | Automatic maintenance estimation in a plant environment |
US8898036B2 (en) * | 2007-08-06 | 2014-11-25 | Rosemount Inc. | Process variable transmitter with acceleration sensor |
US8301676B2 (en) * | 2007-08-23 | 2012-10-30 | Fisher-Rosemount Systems, Inc. | Field device with capability of calculating digital filter coefficients |
US7702401B2 (en) | 2007-09-05 | 2010-04-20 | Fisher-Rosemount Systems, Inc. | System for preserving and displaying process control data associated with an abnormal situation |
US9323247B2 (en) | 2007-09-14 | 2016-04-26 | Fisher-Rosemount Systems, Inc. | Personalized plant asset data representation and search system |
US7590511B2 (en) * | 2007-09-25 | 2009-09-15 | Rosemount Inc. | Field device for digital process control loop diagnostics |
US8055479B2 (en) | 2007-10-10 | 2011-11-08 | Fisher-Rosemount Systems, Inc. | Simplified algorithm for abnormal situation prevention in load following applications including plugged line diagnostics in a dynamic process |
US7921734B2 (en) * | 2009-05-12 | 2011-04-12 | Rosemount Inc. | System to detect poor process ground connections |
US9207670B2 (en) | 2011-03-21 | 2015-12-08 | Rosemount Inc. | Degrading sensor detection implemented within a transmitter |
US9110453B2 (en) * | 2011-04-08 | 2015-08-18 | General Cybernation Group Inc. | Model-free adaptive control of advanced power plants |
US9927788B2 (en) | 2011-05-19 | 2018-03-27 | Fisher-Rosemount Systems, Inc. | Software lockout coordination between a process control system and an asset management system |
US9529348B2 (en) | 2012-01-24 | 2016-12-27 | Emerson Process Management Power & Water Solutions, Inc. | Method and apparatus for deploying industrial plant simulators using cloud computing technologies |
US9052240B2 (en) | 2012-06-29 | 2015-06-09 | Rosemount Inc. | Industrial process temperature transmitter with sensor stress diagnostics |
US9207129B2 (en) | 2012-09-27 | 2015-12-08 | Rosemount Inc. | Process variable transmitter with EMF detection and correction |
US9602122B2 (en) | 2012-09-28 | 2017-03-21 | Rosemount Inc. | Process variable measurement noise diagnostic |
DE102013205356B4 (en) * | 2013-03-26 | 2016-07-07 | Siemens Aktiengesellschaft | Method for computer-aided control and / or regulation of a technical system |
CN105334732B (en) * | 2015-05-26 | 2019-04-05 | 河海大学常州校区 | A kind of double feedback recurrence neural networks sliding mode control methods of microthrust test |
US11544545B2 (en) | 2017-04-04 | 2023-01-03 | Hailo Technologies Ltd. | Structured activation based sparsity in an artificial neural network |
US11551028B2 (en) | 2017-04-04 | 2023-01-10 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network |
US11615297B2 (en) | 2017-04-04 | 2023-03-28 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network compiler |
US11238334B2 (en) | 2017-04-04 | 2022-02-01 | Hailo Technologies Ltd. | System and method of input alignment for efficient vector operations in an artificial neural network |
US10387298B2 (en) | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
US20190005377A1 (en) * | 2017-06-30 | 2019-01-03 | Advanced Micro Devices, Inc. | Artificial neural network reduction to reduce inference computation time |
EP3428746B1 (en) * | 2017-07-14 | 2021-06-02 | Siemens Aktiengesellschaft | A method and apparatus for providing an adaptive self-learning control program for deployment on a target field device |
DE202018003585U1 (en) * | 2018-08-01 | 2019-11-06 | Leybold Gmbh | vacuum pump |
US11874900B2 (en) | 2020-09-29 | 2024-01-16 | Hailo Technologies Ltd. | Cluster interlayer safety mechanism in an artificial neural network processor |
US11811421B2 (en) | 2020-09-29 | 2023-11-07 | Hailo Technologies Ltd. | Weights safety mechanism in an artificial neural network processor |
US11263077B1 (en) | 2020-09-29 | 2022-03-01 | Hailo Technologies Ltd. | Neural network intermediate results safety mechanism in an artificial neural network processor |
US11221929B1 (en) | 2020-09-29 | 2022-01-11 | Hailo Technologies Ltd. | Data stream fault detection mechanism in an artificial neural network processor |
US11237894B1 (en) | 2020-09-29 | 2022-02-01 | Hailo Technologies Ltd. | Layer control unit instruction addressing safety mechanism in an artificial neural network processor |
CN113505525A (en) * | 2021-06-22 | 2021-10-15 | 清华大学 | Power system dynamic element modeling method and device based on differential neural network |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02308303A (en) * | 1989-05-23 | 1990-12-21 | Toshiba Corp | Automatic adjustment controller |
US5111531A (en) * | 1990-01-08 | 1992-05-05 | Automation Technology, Inc. | Process control using neural network |
JP2775968B2 (en) * | 1990-03-15 | 1998-07-16 | 横河電機株式会社 | Process control equipment |
JP3059192B2 (en) * | 1990-05-31 | 2000-07-04 | 富士通株式会社 | Adaptive control system |
US5142612A (en) * | 1990-08-03 | 1992-08-25 | E. I. Du Pont De Nemours & Co. (Inc.) | Computer neural network supervisory process control system and method |
US5159660A (en) * | 1990-08-09 | 1992-10-27 | Western Thunder | Universal process control using artificial neural networks |
JPH04302304A (en) * | 1991-03-29 | 1992-10-26 | Toshiba Corp | Nonlinear process controller |
JP3221497B2 (en) * | 1991-06-20 | 2001-10-22 | 三菱電機株式会社 | Control method and power system voltage-reactive power control device using the control method |
JPH0641423A (en) * | 1991-06-21 | 1994-02-15 | Nisshinbo Ind Inc | Pulplike composite and production thereof |
US5268834A (en) * | 1991-06-24 | 1993-12-07 | Massachusetts Institute Of Technology | Stable adaptive neural network controller |
-
1993
- 1993-01-22 US US08/008,963 patent/US5486996A/en not_active Expired - Lifetime
-
1994
- 1994-01-21 WO PCT/US1994/000753 patent/WO1994017457A1/en active IP Right Grant
- 1994-01-21 AU AU60321/94A patent/AU6032194A/en not_active Abandoned
- 1994-01-21 EP EP94906703A patent/EP0680630B1/en not_active Expired - Lifetime
- 1994-01-21 CA CA002153054A patent/CA2153054C/en not_active Expired - Fee Related
- 1994-01-21 JP JP6517201A patent/JPH08505972A/en active Pending
- 1994-01-21 DE DE69420545T patent/DE69420545T2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08505972A (en) | 1996-06-25 |
CA2153054A1 (en) | 1994-08-04 |
AU6032194A (en) | 1994-08-15 |
DE69420545D1 (en) | 1999-10-14 |
WO1994017457A1 (en) | 1994-08-04 |
EP0680630B1 (en) | 1999-09-08 |
US5486996A (en) | 1996-01-23 |
EP0680630A1 (en) | 1995-11-08 |
DE69420545T2 (en) | 1999-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2153054C (en) | Parameterized neurocontrollers | |
Lewis et al. | Neural network control of robot manipulators and non-linear systems | |
US5796920A (en) | Multiprocessor system and method for identification and adaptive control of dynamic systems | |
Coban | A context layered locally recurrent neural network for dynamic system identification | |
Curtiss et al. | Adaptive control of HVAC processes using predictive neural networks. | |
Bertsekas | A counterexample to temporal differences learning | |
CA2252428A1 (en) | Nonlinear-approximator-based automatic tuner | |
Ishida et al. | Active noise control by an immune algorithm: adaptation in immune system as an evolution | |
Widrow et al. | Adaptive inverse control based on linear and nonlinear adaptive filtering | |
Perrusquía | A complementary learning approach for expertise transference of human-optimized controllers | |
Yazdizadeh et al. | Identification of a two-link flexible manipulator using adaptive time delay neural networks | |
Mohammadzadeh et al. | Modern Adaptive Fuzzy Control Systems | |
Takahashi | Adaptive predictive control of nonlinear time-varying systems using neural networks | |
Rabelo et al. | Integrating scheduling and control functions in computer integrated manufacturing using artificial intelligence | |
AU717178B2 (en) | Parameterized neurocontrollers | |
Fourati | Multiple neural control and stabilization | |
Yesil et al. | Self-tuning pi controllers via fuzzy cognitive maps | |
Mathia et al. | Solving nonlinear equations using recurrent neural networks | |
Damle et al. | Multivariable neural network based controllers for smart structures | |
Baruch et al. | A multimodel recurrent neural network for systems identification and control | |
Gupta et al. | Learning and adaptive neural controller | |
Oliveira et al. | Grey Wolf, gravitational search and particle swarm optimizers: a comparison for PID controller design | |
Kissock | Modeling commercial building energy use with artificial neural networks | |
Curtiss | Neural network modeling and control applications in building mechanical systems | |
Foslien et al. | Fuzzy controller synthesis with neural network process models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |