Method and apparatus for designing model-based control having temporally robust stability and performance for multiple-array cross-direction (CD) web manufacturing or processing systems or other systems
10678197 ยท 2020-06-09
Assignee
Inventors
- Ning He (Edmonton, CA)
- Michael Forbes (North Vancouver, CA)
- Johan U. Backstrom (North Vancouver, CA)
- Tongwen Chen (Edmonton, CA)
Cpc classification
Y02P90/02
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G05B19/41885
PHYSICS
Y02P90/30
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G05B13/042
PHYSICS
International classification
G06Q10/06
PHYSICS
Abstract
A method includes obtaining a model associated with a model-based controller in an industrial process having multiple actuator arrays and performing temporal tuning of the controller. The temporal tuning includes adjusting one or more parameters of a multivariable filter used to smooth reference trajectories of actuator profiles of the actuator arrays. The temporal tuning could also include obtaining one or more uncertainty specifications for one or more temporal parameters of the model, obtaining one or more overshoot limits for the actuator profiles, identifying a minimum bound for profile trajectory tuning parameters, and identifying one or more of the profile trajectory tuning parameters that minimize one or more measurement settling times without exceeding the one or more overshoot limits. The controller could be configured to use the adjusted parameter(s) during control of the industrial process such that the adjusting of the parameter(s) alters operation of the controller and the industrial process.
Claims
1. A method comprising: obtaining a model associated with a model-based controller in an industrial process having multiple actuator arrays; and performing temporal tuning of the controller, wherein the temporal tuning comprises adjusting one or more parameters of a multivariable filter used to smooth reference trajectories of actuator profiles of the actuator arrays, wherein the temporal tuning further comprises: obtaining one or more uncertainty specifications for one or more temporal parameters of the model; obtaining one or more overshoot limits for the actuator profiles; identifying a minimum bound for profile trajectory tuning parameters; and identifying one or more of the profile trajectory tuning parameters that minimize one or more measurement settling times without exceeding the one or more overshoot limits.
2. The method of claim 1, further comprising: performing spatial tuning of the controller.
3. The method of claim 1, wherein the model is represented in a two-dimensional frequency-domain.
4. The method of claim 1, wherein adjusting the one or more parameters of the multivariable filter comprises: adjusting the one or more parameters of the multivariable filter to achieve a user-specified temporal performance.
5. The method of claim 4, wherein the one or more parameters of the multivariable filter are adjusted under a pre-specified parametric uncertainty.
6. The method of claim 1, wherein identifying the one or more profile trajectory tuning parameters comprises: performing frequency-domain tuning to identify temporal filter parameters that satisfy the minimum bound; and performing time-domain tuning to fine-tune the temporal filter parameters and identify an optimal multivariable temporal filter parameter that provides a smallest settling time for each output profile while still satisfying the one or more overshoot limits.
7. The method of claim 1, wherein the temporal tuning further comprises: providing the one or more parameters to the model-based controller, the model-based controller configured to use the one or more parameters during control of the industrial process such that the adjusting of the one or more parameters alters operation of the model-based controller and the industrial process.
8. An apparatus comprising: at least one memory configured to store a model associated with a model-based controller in an industrial process having multiple actuator arrays; and at least one processing device configured to perform temporal tuning of the controller; wherein, to perform the temporal tuning, the at least one processing device is configured to adjust one or more parameters of a multivariable filter used to smooth reference trajectories of actuator profiles of the actuator arrays, wherein, to perform the temporal tuning, the at least one processing device is further configured to: obtain one or more uncertainty specifications for one or more temporal parameters of the model; obtain one or more overshoot limits for the actuator profiles; identify a minimum bound for profile trajectory tuning parameters; and identify one or more of the profile trajectory tuning parameters that minimize one or more measurement settling times without exceeding the one or more overshoot limits.
9. The apparatus of claim 8, wherein the at least one processing device is further configured to perform spatial tuning of the controller.
10. The apparatus of claim 8, wherein, to adjust the one or more parameters of the multivariable filter, the at least one processing device is configured to adjust the one or more parameters of the multivariable filter to achieve a user-specified temporal performance.
11. The apparatus of claim 8, wherein, to identify the one or more profile trajectory tuning parameters, the at least one processing device is configured to: perform frequency-domain tuning to identify temporal filter parameters that satisfy the minimum bound; and perform time-domain tuning to fine-tune the temporal filter parameters and identify an optimal multivariable temporal filter parameter that provides a smallest settling time for each output profile while still satisfying the one or more overshoot limits.
12. The apparatus of claim 8, wherein the at least one processing device is further configured to provide the one or more parameters to the model-based controller, the model-based controller configured to use the one or more parameters during control of the industrial process such that the adjusting of the one or more parameters alters operation of the model-based controller and the industrial process.
13. A non-transitory computer readable medium containing instructions that when executed cause at least one processing device to: obtain a model associated with a model-based controller in an industrial process having multiple actuator arrays; and perform temporal tuning of the controller, wherein the temporal tuning comprises adjusting one or more parameters of a multivariable filter used to smooth reference trajectories of actuator profiles of the actuator arrays, wherein the instructions that when executed cause the at least one processing device to perform the temporal tuning comprise: instructions that when executed cause the at least one processing device to: obtain one or more uncertainty specifications for one or more temporal parameters of the model; obtain one or more overshoot limits for the actuator profiles; identify a minimum bound for profile trajectory tuning parameters; and identify one or more of the profile trajectory tuning parameters that minimize one or more measurement settling times without exceeding the one or more overshoot limits.
14. The non-transitory computer readable medium of claim 13, further containing instructions that when executed cause the at least one processing device to perform spatial tuning of the controller.
15. The non-transitory computer readable medium of claim 13, wherein the instructions that when executed cause the at least one processing device to adjust the one or more parameters of the multivariable filter comprise: instructions that when executed cause the at least one processing device to adjust the one or more parameters of the multivariable filter to achieve a user-specified temporal performance.
16. The non-transitory computer readable medium of claim 13, wherein the instructions that when executed cause the at least one processing device to identify the one or more profile trajectory tuning parameters comprise: instructions that when executed cause the at least one processing device to: perform frequency-domain tuning to identify temporal filter parameters that satisfy the minimum bound; and perform time-domain tuning to fine-tune the temporal filter parameters and identify an optimal multivariable temporal filter parameter that provides a smallest settling time for each output profile while still satisfying the one or more overshoot limits.
17. The non-transitory computer readable medium of claim 13, further containing instructions that when executed cause the at least one processing device to: provide the one or more parameters to the model-based controller, the model-based controller configured to use the one or more parameters during control of the industrial process such that the adjusting of the one or more parameters alters operation of the model-based controller and the industrial process.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) For a more complete understanding of this disclosure, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION
(10)
(11) As noted above, cross-direction (CD) control of a web of material is a difficult control problem when there are multiple actuator beams and multiple measurements in a web manufacturing or processing system. Model predictive control (MPC) or other model-based control could be used to address this problem, but there are various issues with tuning an MPC or other model-based controller.
(12) There are multiple aspects to a CD tuning problem, including spatial tuning and temporal tuning. Spatial tuning involves tuning a controller to reduce the steady-state variability of a web's CD profile without considering how the profile will move from a current profile to a final profile. Temporal tuning involves choosing parameters so that the controller makes actuator movements that bring actuator and measurement profiles from their initial values to their final values quickly and smoothly, regardless of the specific profiles.
(13) This disclosure describes automated tuning techniques that provide improved or optimal controller tuning parameters for MPC or other model-based controllers. The automated tuning techniques involve separate spatial tuning and temporal tuning for an MPC or other model-based controller. The controller tuning parameters can be generated using intuitive information about the quality of a process model and the desired temporal control performance. As a result, a non-expert in control theory can provide a small amount of information to a tuning algorithm, and the tuning algorithm can operate to tune a controller.
(14)
(15) In this example, the paper machine 102 includes at least one headbox 112, which distributes a pulp suspension uniformly across the machine onto a continuous moving wire screen or mesh 113. The pulp suspension entering the headbox 112 may contain, for example, 0.2-3% wood fibers, fillers, and/or other materials, with the remainder of the suspension being water.
(16) Arrays of drainage elements 114, such as vacuum boxes, remove as much water as possible to initiate the formation of the web 108. An array of steam actuators 116 produces hot steam that penetrates the paper web 108 and releases the latent heat of the steam into the paper web 108. An array of rewet shower actuators 118 adds small droplets of water (which may be air atomized) onto the surface of the paper web 108. The paper web 108 is then often passed through a calender having several nips of counter-rotating rolls. Arrays of induction heating actuators 120 heat the shell surfaces of various ones of these rolls.
(17) Two additional actuators 122-124 are shown in
(18) This represents a brief description of one type of paper machine 102 that may be used to produce a paper product. Additional details regarding this type of paper machine 102 are well-known in the art and are not needed for an understanding of this disclosure.
(19) In order to control the paper-making process, one or more properties of the paper web 108 may be continuously or repeatedly measured. The web properties can be measured at one or various stages in the manufacturing process. This information may then be used to adjust the paper machine 102, such as by adjusting various actuators within the paper machine 102. This may help to compensate for any variations of the web properties from desired targets, which may help to ensure the quality of the web 108.
(20) As shown in
(21) Each scanner 126-128 includes any suitable structure or structures for measuring or detecting one or more characteristics of the paper web 108, such as one or more sets of sensors. The use of scanners represents one particular embodiment for measuring web properties. Other embodiments could be used, such as those including one or more stationary sets or arrays of sensors, deployed in one or a few locations across the web or deployed in a plurality of locations across the whole width of the web such that substantially the entire web width is measured.
(22) The controller 104 receives measurement data from the scanners 126-128 and uses the data to control the paper machine 102. For example, the controller 104 may use the measurement data to adjust any of the actuators or other components of the paper machine 102. The controller 104 includes any suitable structure for controlling the operation of at least part of the paper machine 102, such as a computing device. Note that while a single controller 104 is shown here, multiple controllers 104 could be used, such as different controllers that control different variables of the web.
(23) The network 106 is coupled to the controller 104 and various components of the paper machine 102 (such as the actuators and scanners). The network 106 facilitates communication between components of the system 100. The network 106 represents any suitable network or combination of networks facilitating communication between components in the system 100. The network 106 could, for example, represent a wired or wireless Ethernet network, an electrical signal network (such as a HART or FOUNDATION FIELDBUS network), a pneumatic control signal network, or any other or additional network(s).
(24) The controller(s) 104 can operate to control one or more aspects of the paper machine 102 using one or more models. For example, each model could associate one or more manipulated variables with one or more controlled variables. A controlled variable generally represents a variable that can be measured or inferred and that is ideally controlled to be at or near a desired setpoint or within a desired range of values. A manipulated variable generally represents a variable that can be adjusted in order to alter one or more controlled variables.
(25) In order to tune a controller 104, at least one operator station 130 can communicate with the controller 104 over a network 132. The operator station 130 generally represents a computing device that supports one or more techniques for tuning of MPC and other model-based controllers.
(26) The techniques for tuning of model-based controllers are described in more detail below. In general, these techniques involve performing spatial tuning of a controller and temporal tuning of the controller. Spatial tuning generally involves attempting to tune weighting matrices used by the controller so that a steady-state property across a web is consistent. In some embodiments, the spatial tuning generally includes identifying weighting matrices that suppress one or more frequency components (such as one or more high-frequency components) in actuator profiles of certain actuators. Temporal tuning generally involves attempting to satisfy time-domain performance indices, such as settling times and overshoots (which are more intuitive to technician-level operators, maintenance personnel, or other non-expert personnel who may not be intimately familiar with control theory). In some embodiments, the temporal tuning generally includes adjusting one or more parameters of a multivariable temporal filter that is used to smooth reference trajectories of the actuator profiles. A tuning algorithm for model-based controllers could use one or both of the spatial tuning and the temporal tuning techniques described in this patent document.
(27) In particular embodiments, the spatial tuning involves the following steps. For each process input, the worst-case cutoff frequency over all output channels considering all process models is found, given parametric uncertainty. Based on the process models and the worst-case cutoff frequencies, a set of weighting matrices is designed to penalize high-frequency actuator variability. A multiplier for a spatial frequency weighted actuator variability term in an MPC cost function is found that guarantees robust spatial stability.
(28) In particular embodiments, the temporal tuning involves the following steps. Uncertainty specifications are provided for temporal parameters of the process models, and overshoot limits (such as 2 or 2 sigma overshoot limits) are specified for the CD actuator profiles. Robust stability theory is used to find a minimum bound for profile trajectory tuning parameters, and a frequency-domain technique is used to help reduce the search range for the profile trajectory tuning parameters. An intelligent search is performed for the tuning parameters that minimize measurement 2 settling times without exceeding the overshoot limits.
(29) Note that the mathematics involved in these types of tuning operations are more complicated when there are multiple actuator beams compared to a single actuator beam. The concept of making a simplifying approximation (using the robust control theoretic idea of characterizing a group of uncertain systems by the polytopic system) can be used to control the computational difficulty of finding the spatial frequency weighted actuator variability term multiplier in the last step of the spatial tuning. Also, the concept of using process domain knowledge to choose dominant input-output pairings can be used to help reduce the computational difficulty of the temporal tuning. In addition, the temporal tuning algorithm may rely on a process simulation, which can take more and more time as the size of the process (defined by the number of actuator beams and measurements profiles) increases. In some embodiments, an event-trigger simulation method is used to reduce simulation time without reducing accuracy. Additional details regarding example implementations of these types of spatial and temporal tuning techniques are provided in the description below. Note that these details relate to specific implementations of the tuning techniques and that other implementations could be used in any given system.
(30) Each operator station 130 denotes any suitable computing device that can execute logic (such as one or more software applications) to perform controller tuning. Each operator station 130 could, for example, denote a desktop computer, laptop computer, or tablet computer. The network 132 represents any suitable network or combination of networks that can transport information, such as an Ethernet network. Note that while the operator station 130 is described as implementing the technique(s) for tuning of model-based controllers, other types of devices could also be used. For instance, the operator station 130 could interact with a server 134 via a network 136, and the server 134 could execute the algorithms used to implement one or more techniques for tuning of model-based controllers. In this case, the operator station 130 could present a graphical user interface and interact with a user. This may allow, for example, an operator of the server 134 to provide the controller tuning as a service. The network 136 could denote any suitable network or combination of networks, such as the Internet.
(31) In some embodiments, the tuning algorithm could be implemented using one or more software routines that are executed by one or more processors of one or more computing devices. As a particular example, the tuning algorithm could be implemented using the MATLAB software package. Also, the software could support a user interface that allows a user to enter the problem information in a simple manner and to obtain tuning results of the algorithm.
(32) Although
(33)
(34) As shown in
(35) The memory 210 and a persistent storage 212 are examples of storage devices 204, which represent any structure(s) capable of storing and facilitating retrieval of information (such as data, program code, and/or other suitable information on a temporary or permanent basis). The memory 210 may represent a random access memory or any other suitable volatile or non-volatile storage device(s). The persistent storage 212 may contain one or more components or devices supporting longer-term storage of data, such as a read only memory, hard drive, Flash memory, or optical disc.
(36) The communications unit 206 supports communications with other systems or devices. For example, the communications unit 206 could include at least one network interface card or wireless transceiver facilitating communications over at least one wired or wireless network. The communications unit 206 may support communications through any suitable physical or wireless communication link(s).
(37) The I/O unit 208 allows for input and output of data. For example, the I/O unit 208 may provide a connection for user input through a keyboard, mouse, keypad, touchscreen, or other suitable input device. The I/O unit 208 may also send output to a display, printer, or other suitable output device.
(38) Although
(39) The following description provides details of specific implementations of the spatial and temporal tuning techniques mentioned above. More specifically, the following description discusses the robust tuning problem of multiple-array cross-direction model predictive control (CD-MPC) for uncertain paper-making processes, although the same or similar approaches could be used with other processes. An automated controller tuning algorithm is described that enables (i) the spatial variability of measurement profiles to be reduced and (ii) the desired temporal performance to be achieved under user-specified parametric uncertainties. Based on the decoupling feature of the spatial and temporal frequency elements, CD-MPC tuning and design can be realized separately. In the spatial tuning portion of the algorithm, CD-MPC weighting matrices S.sub.b,j are appropriately designed so that harmful high-frequency elements in each actuator profile are suppressed. In the temporal tuning portion of the algorithm, a multivariable temporal filter is employed to smooth reference trajectories for all outputs, and an automated tuning algorithm is used to adjust the filter parameters to achieve pre-specified performance indices.
(40) Note that there is often unavoidable model-plant mismatch between the modeled behavior of an industrial process and its actual behavior, which makes spatial and temporal tuning more difficult. For example, the model parameters of CD processes may be identified via bump test experiments and are normally subject to model uncertainties. Moreover, geometric misalignment between CD actuators and measurement sensors (which could be caused by web wandering and shrinkage) also results in some nonlinear uncertainties to system models utilized in CD model-based controllers. The spatial and temporal tuning algorithms described below are therefore designed to be robust against model parameter uncertainties. As described in more detail below, given a system model and user-specified parametric uncertainties, the weighting matrices S.sub.b,j and the corresponding weights can be automatically designed so that robust stability is guaranteed and improved performance is achieved.
Example Problem Statement
(41)
(42) Various signals are shown in
(43) In some embodiments, the nominal model 304 can be expressed as:
(44)
N.sub.y and N.sub.u are the numbers of controlled CD web properties and CD actuator beams, respectively, and m.sub.i and n.sub.j indicate the dimensions of the subsystem from the j.sup.th actuator beam u.sub.j to the i.sup.th measurement profile y.sub.i. Also, G.sub.ij represents the subsystem's spatial interaction matrix from u.sub.j to y.sub.i, and h.sub.ij represents the subsystem's temporal responses from u.sub.j to y.sub.i. In addition, a.sub.ij and T.sub.d.sub.
(45) The spatial interaction matrix G.sub.ij can have the following parameterized structure:
(46)
Here, .sub.ij, .sub.ij, .sub.ij and .sub.ij are gain, attenuation, width, and divergence parameters, respectively, and are employed to characterize a spatial response of each specific actuator. Given the k.sup.th actuator, c.sub.kij is an alignment parameter that locates the center of the corresponding spatial response.
(47) As noted above, mismatch often exists between the behavior of the actual process 302 and the modeled behavior defined by the model 304. Here, it is assumed that the actual process 302 can be characterized by a parametric perturbation of the nominal model 304 in Equation (1). At the same time, parametric uncertainties are often easy to understand and specify by end users, such as users in the pulp and paper industry. The actual process G.sub.p can then be described as follows.
(48)
The values r.sub.ij.sup.[r.sub.ij.sup.,
(49)
characterize the parametric uncertainties. These trust ranges are also denoted as .sub.ij.sup.p[.sub.ij,
(50) An optimal control problem to be used by the controller 306 could therefore be defined as:
min.sub.U(k){.sub.i=1.sup.H.sup.
which is subject to system dynamics and the following constraint:
U(k)bU(k1)(19)
where:
U(k)=U(k)U(k1)(20)
(51)
represents the output prediction,
(52)
are the setpoints for the controlled properties, and H.sub.p is the prediction horizon.
(53)
is the diagonal penalty matrix for controlled variables,
(54)
is the diagonal penalty matrix for changes in manipulated variables, and
(55)
is the penalty matrix for differences between the manipulated variables and their references. More specifically, Q.sub.1, Q.sub.2, and Q.sub.3 can have the following form.
(56)
where diag(X.sub.1, X.sub.2, . . . , X.sub.N) denotes a block diagonal matrix with diagonal elements X.sub.1, X.sub.2, . . . , X.sub.NI.sub.m is the m-by-m identity matrix, and q.sub.1i (where i=1, . . . , N.sub.y) and q.sub.kj (where k=2, 3 and j=1, . . . , N.sub.u) are the scalar weights. Q4 is a weighting matrix on actuator bending/picketing and can have the following form:
(57)
Here, q.sub.4j (where j=1, . . . , N.sub.u) are scalar weights and S.sub.b,jR.sup.n.sup.
(58) For a single-array CD-MPC controller, a temporal filter 308 (such as one designed in accordance with U.S. patent application Ser. No. 15/273,702, which is hereby incorporated by reference in its entirety) can be utilized to smooth the reference trajectory. However, in a multiple-array CD control systems, there is more than one web property, and each property can have its own importance and satisfaction level. Thus, a specific temporal filter 308 can be introduced for each measurement profile. For measurement profile y.sub.i(k), the filtered trajectory can be expressed as:
Y.sub.sp,i(k)=F.sub..sub.
Here, y.sub.tgt,i(k) is the output target, and d.sub.i(k)=y.sub.p,i(k).sub.i(k) is the disturbance estimated based on the process output Y.sub.p(k) and predicted output (k). F.sub..sub.
(59)
where
(60)
and T is the sampling time. Note that the parameters .sub.i and T.sub.d.sub.
(61) In actual practice, when there are fluctuations in the measurement profiles, it may be necessary or desirable for the CD control system to respond quickly in order to minimize the fluctuations. At the same time, it may be necessary or desirable for the control actuators to not be moved aggressively. This can be realized by appropriately adjusting the parameter(s) a.sub.i in each temporal filter with the value of Q.sub.2 fixed.
(62) In the actual implementation of a multiple-array CD-MPC control system, the optimal control signal could be obtained by solving a constrained quadratic programming (QP) optimization problem for which no explicit solution usually exists. To facilitate theoretical analysis, it is possible to exploit the unconstrained QP problem as in Fan et al., Two-dimensional frequency analysis for unconstrained model predictive control of cross-direction processes, Automatica, vol. 40, no. 11, November 2004, pp. 1891-1903 (which is hereby incorporated by reference in its entirety) to provide a tuning guide for the parameters.
(63) To this end, the representation 300 shown in
G.sub.p(z)=G(z)+(z)(28)
in which (z) denotes the model uncertainty.
(64) Similar to the single-array CD-MPC form, robust stability of the multiple-array case can also be analyzed using the small gain theorem. Specifically, given the parametric uncertainties specified in Equations (10)-(17), the closed-loop system in
T.sub.ud(z)(z).sub.<1.fwdarw.
T.sub.ud(z)=K.sub.a(z)[IG(z)K.sub.a(z)].sup.1(30)
Here,
(65)
is the sensitivity function from the disturbance profile D(z) to the input profile U(z) at the nominal case.
(66) In addition to the basic requirement that the closed-loop system be stable, the multiple-array CD-MPC controller that is designed here aims to optimize performance in terms of reduced fluctuations of measurement profiles, suppressed high-frequency picketing of actuators, and avoidance of aggressive behavior of the actuators. These performances can be reflected in the closed-loop transfer functions T.sub.ud(z) in Equation (29) and T.sub.yd(z) as follows:
T.sub.yd(z)=[IG(z)K.sub.a(z)].sup.1(31)
where
(67)
In the following discussion, the transfer functions T.sub.ud(z) and T.sub.yd(z) are used extensively in the design and tuning procedure of the controller parameters.
(68) Given the multiple-array CD-MPC system shown in
Two-Dimensional Frequency-Domain Analysis
(69) Given a multiple-array CD system G(z), if all subsystems G.sub.ij(z) are rectangular circulant matrices (RCMs), the nominal plant G(z) itself is a block rectangular circulant matrix. This can be transformed into the two-dimensional frequency-domain via:
{g(v.sub.0Z), . . . , g(v.sub.k.sub.
Here, g(v.sub.k,Z)C.sup.N.sup.
(70)
(71)
are unitary permutation matrices. Also, F.sub.y and F.sub.u are block diagonal matrices as follows:
(72)
where F.sub.m.sub.
(73) Given the block rectangular circulant property of G(z), the sensitivity functions T.sub.yd(z) and T.sub.ud(z) in Equations (29) and (31) are also block rectangular circulant matrices. Therefore, the transfer functions T.sub.yd(z) and T.sub.ud(z) can be transformed into the two-dimensional frequency-domain via:
{t.sub.yd(v.sub.0, Z), . . . , t.sub.yd(v.sub.k.sub.
{t.sub.ud(v.sub.0, Z), . . . , t.sub.ud(v.sub.k.sub.
where t.sub.yd(v.sub.k, Z)C.sup.N.sup.
(74)
The analysis of the closed-loop CD system properties can be performed in the two-dimensional frequency-domain through t.sub.yd(v.sub.k, z) and t.sub.ud(v.sub.k, z). As a result, controller tuning can be split into (i) spatial tuning (at z=1) with Q.sub.3 and Q.sub.4 and (ii) temporal tuning (at v=0) with a.sub.i (where i=1,. . . , N.sub.y).
Spatial Tuning for Multiple-Array CD-MPC
(75) In the spatial tuning portion of the multiple-array CD-MPC tuning algorithm, the target is to adjust weights:
(76)
to achieve robust stability and to reduce the spatial variability of the measurement profiles. The penalty matrices S.sub.b,j (where j=1, . . . , N.sub.u) are first tuned based on the spatial frequency properties of the process 302, and then a systematic tuning algorithm is used to adjust the scalar weights q.sub.3j and q.sub.4j (where j=1, . . . , N.sub.u).
(77) In conventional multiple-array CD-MPC systems, all S.sub.b,j may be fixed to the same constant matrix shown in Equation (25), without taking the specific characteristics of the CD process into consideration. Here, two systematic approaches are described to design the matrices S.sub.b,j (where j=1, . . . , N.sub.u) so that the spatial spectrum of all actuator profiles can be shaped according to the frequency response of the given CD system. Note that the Discrete Fourier Transform (DFT) is utilized here to obtain the spatial frequency representation of a spatial signal, although other transforms could be used. More specifically, the spatial frequency representation of a signal yC.sup.m can be calculated by:
y=F.sub.m.Math.y(41)
where F.sub.m is the Fourier matrix. Based on this, the following (Lemma 1) can be proved. Given spatial signals yC.sup.m and uC.sup.n and assuming NC.sup.mn is an RCM, if y=N.Math.u, then:
y=N.Math.(42)
where N=F.sub.mNF.sub.n. It is worth noting that if N is a constant RCM, N in Equation (42) indicates the spatial frequency-domain representation of N.
(78) In the multiple-array CD-MPC cost function, the Q.sub.4 penalty term can be expressed as:
(79)
Based on this, it can be seen that each S.sub.b,j only affects a specific actuator profile u.sub.j. Since each u.sub.j may relate to several measurement profiles, it may be desirable that the design of S.sub.b,j take the spatial frequency properties of all corresponding subsystems G.sub.ij (where i=1, . . . , N.sub.y) into consideration. To characterize each of the subsystems G.sub.ij, assume the maximum gain of the spatial frequency response of a single-array CD process is g.sub.max. The cutoff frequency v.sub.c of a process is the spatial frequency at which the following holds:
g.sub.v.sub.
In some embodiments, r=0.1. It is known that actuation beyond the cutoff frequency can be harmful to a single-array CD process.
(80) Since each subsystem G.sub.ij in the plant G can be viewed as a single-array process, it is ideal that the matrices S.sub.b,j can penalize the frequency components in u.sub.j that are within the union of the undesired frequency regions of all subsystems G.sub.ij. In order to achieve this, the matrices S.sub.b,j can be designed as a high-pass spatial filter with a passband v.sub.b,j equal to:
v.sub.b,j=min(v.sub.c(G.sub.1j), . . . , v.sub.c(G.sub.N.sub.
where v.sub.c(G.sub.1j) indicates the cutoff frequency of G.sub.1j. Based on the results above, such a S.sub.b,j can put almost zero weights below v.sub.b,j and large weights above v.sub.b,j so that actuation beyond the cutoff frequency can be reduced or eliminated through the MPC optimization. In this approach, the weighting matrices S.sub.b,j can be identified as follows.
(81) TABLE-US-00001 Algorithm 1 Design S.sub.b, j, j = 1, . . . , N.sub.u as high pass FIR filters with the stop bands that equal v.sub.b, j, j = 1, . . . , N.sub.u. 1: Input spatial gain matrices G.sub.ij,i = 1,...,N.sub.y,j = 1,...,N.sub.u; 2: for j = 1 : N.sub.u do 3: Calculate v.sub.b,j = min(v.sub.c(G.sub.1j),...,v.sub.c(G.sub.Nvj)); 4: Design a low pass filter based on the sinc function and the window function with the stop band that equals v.sub.b,j; 5: Conduct the inverse Fourier transform to obtain the filter in the spatial domain; 6: Construct the desired high pass filter S.sub.b,j via spectral inversion of the filter obtained in line 4; 7: end for 8: Output S.sub.b,j,j = 1,...,N.sub.u;
(82) Alternatively, the filter length of S.sub.b,j is limited by the number of actuators in the j.sup.th beam, so a transition band exists in the frequency response of the filter and can be optimized. Given a specific actuator beam, the subsystem with the smallest cutoff frequency is the hardest to control and is referred to as the worst subsystem below. Given this, it may be desirable that the spatial frequency response of the designed S.sub.b filter is the mirror of the spatial gains of the worst subsystem. To achieve this, the real valued Fourier matrix F.sub.n.sup.rR.sup.nn can be utilized and defined as:
(83)
where q=(n+1)/2 if n is odd and q=n/2 if n is even. Here, v.sub.j=2(j1)/n is the spatial frequency.
(84) To achieve the desired S.sub.b filters, the mirrored frequency response is calculated (such as by using a numerical method), and the inverse Fourier transform is implemented with the real valued Fourier matrix introduced above. To guarantee that the obtained S.sub.b,j matrices have the RCM structure, the mirrored frequency response can satisfy the following property (Lemma 2). Define k.sub.m(x) (where x=1, . . . , n.sub.j) as the pre-specified spatial frequency response gain of S.sub.b,j. If k.sub.m(x)R, x and k.sub.m(x)=k.sub.m(n.sub.jx+2) (where x=2, . . . , (n.sub.j+1)/2 if n.sub.j is odd or x=2, . . . , n.sub.j/2 if n.sub.j is even), the S.sub.b,j matrices obtained via the inverse real valued Fourier transform is a symmetric real valued circulant matrix. In this approach, the weighting matrices S.sub.b,j can be identified as follows.
(85) TABLE-US-00002 Algorithm 2 Design S.sub.b, j, j = 1, . . . , N.sub.u based on the mirror of the process spatial spectrum 1: Input spatial gain matrices G.sub.ij,i = 1,...,N.sub.y,j = 1,...,N.sub.u; 2: Input actuator spacings X.sub.uj,j = 1,...,N.sub.u; 3: for j = 1 : N.sub.u do 4: v.sub.b = 1/2X.sub.uj; 5: for i = 1 : N.sub.y do 6: Calculate the cut-off frequency v.sub.cij of G.sub.ij, i.e., v.sub.cij = v.sub.c(G.sub.ij); 7: if v.sub.cij < v.sub.b then 8: Set G.sub.b = G.sub.ij and v.sub.b = v.sub.cij; 9: end if 10: end for 11: Obtain the desired mirrored spectrum of G.sub.b by numerical methods; 12: Process the obtained spectrum content based on Lemma 2; 13: Conduct the inverse Fourier transform with (46) to obtain the weighting matrix S.sub.b,j in the spatial domain; 14: end for 15: Output S.sub.b,j,j = 1,...,N.sub.u;
(86)
(87) Using Algorithms 1 and 2, the weighting matrices S.sub.b,j are designed based on the nominal model 304, which works well for cases where there is no model-plant mismatch. For cases with model parameter uncertainties, these algorithms can be modified to develop weighting matrices S.sub.b,j that are robust over pre-specified parametric uncertainties. In order to ensure robust performance of the proposed S.sub.b matrices, the passband v.sub.b,j can be designed based on the smallest cutoff frequency of all possible corresponding subsystems given the pre-specified parametric uncertainties. Thus, given a specific subsystem G.sub.ij, denote v.sub.w as the smallest cutoff frequency of all possible perturbed models G.sub.ij.sup.p defined in Equation (10). The cutoff frequency v.sub.c of a single-array process changes monotonically with respect to all spatial parameters (such as when v.sub.c increases as decreases), so v.sub.w of G.sub.ij can be calculated by:
min.sub..sub.
s.t. .sub.ij.sup.p{.sub.ij,
.sub.ij.sup.p{.sub.ij,
.sub.ij.sup.p{.sub.ij,
i=1, . . . , N.sub.y, j=1, . . . , N.sub.u(47)
The weighting matrices S.sub.b,j can be designed based on Equation (47) and:
v.sub.b,j=min(v.sub.w(G.sub.1j), . . . , v.sub.w(G.sub.N.sub.
Note that the obtained S.sub.b matrices consider the worst-case situation that may occur given the pre-specified model parameter uncertainties. They are therefore robust against possible model-plant mismatch that can exist in practice.
(88) Once the spectrum-based matrices S.sub.b,j are developed (in whatever manner), automated tuning can be performed to tune the weights q.sub.3j and q.sub.4j (where j=1, . . . , N.sub.u). To perform this automated tuning, a general weight q.sub.f (also referred to as a multiplier) is defined, and the original weights Q.sub.3 and Q.sub.4 can be expressed as:
(89)
Here, r.sub.3j.sup.t and r.sub.4j.sup.t (where j=1, . . . , N.sub.u) indicate the relative weights for each CD actuator beam, which could be pre-specified by end users. Given the modified weighting matrices Q.sub.3 and Q.sub.4 in Equations (49) and (50), the tuning objective here is to adjust the scalar weight q.sub.f to ensure robust stability in the spatial domain with z=1.
(90) To aid analysis, steady-state sensitivity functions can be expressed as:
(91)
(92) Based on the small gain theorem, the robust stability condition at z=1 can be represented as:
where (1)) is the additive uncertainty at z=1. Given the pre-specified parametric uncertainties, the singular values of (1) may be difficult to calculate, so an analysis of the uncertainty term can be performed first. Based on the parametric uncertainties in Equations (10)-(17), the uncertain term can be represented as:
(93)
where .sub.ij(1)=G.sub.ij.sup.p(1)G.sub.ij(1), i=1, . . . , N.sub.y, and j=1, . . . , N.sub.u. Since parametric uncertainties are employed, G.sub.p(1) is also a block diagonal RCM based on the formula used to create the spatial interaction matrix. Thus, .sub.ij(1) (where i=1, . . . , N.sub.y and j=1, . . . , N.sub.u) are all RCMs based on the property that RCM is closed on the summation operation. It can therefore be transformed into the two-dimensional frequency-domain with:
{(v.sub.0, 1), . . . , (v.sub.k.sub.
where P.sub.y and P.sub.u are the unitary permutation matrices and F.sub.y and F.sub.u are block diagonal Fourier matrices as in Equation (34). Also:
(94)
where .sub.ij(v.sub.k, 1) is the spatial frequency representation of .sub.ij(1) at spatial frequency v.sub.k, i=1, . . . , N.sub.y, and j=1, . . . , N.sub.u.
(95) Since multiplying a matrix with unitary matrices does not change its singular values, the singular values of (1) can be represented as:
h.sub.2=[((v.sub.0, 1), . . . , ((v.sub.k.sub.
where (A)=[
(96)
the following relationship holds:
h.sub.1=P.Math.h.sub.2(63)
where P is a permutation matrix. Based on the above analysis, the singular values of (1) calculated by h.sub.2 are sorted according to the spatial frequencies.
(97) On the other hand, it is also possible to perform a two-dimensional frequency transformation on the sensitivity function T.sub.ud(1) with:
{t.sub.ud(v.sub.0, 1), . . . , t.sub.ud(v.sub.k.sub.
The robust stability condition in the two-dimensional frequency-domain can then be represented as:
max.sub.k(
where k=0, . . . , k.sub.max. Note that the robust stability condition constructed based on the two-dimensional frequency approach may be less conservative than the traditional one because it allows a larger peak of
(98) To utilize the condition in Equation (65), the relationship between the tuning parameter (general weight q.sub.f) and the sensitivity functions can be analyzed to provide some tuning guidelines.
(99)
(100) Since the spatial gain matrices G.sub.ij(1) and G.sub.ij.sup.p(1) can be generated in a highly nonlinear way, it may be very difficult to obtain the analytical expression of
(101) To overcome this issue, define the spatial parameters of a multiple-array CD process in matrix format as follows:
(102)
where b represents , , , , or . Therefore, similar to characterizing a group of uncertain systems with a polytopic system described by a number of vertex systems, the maximum singular values of (1) given the parametric uncertainty can be calculated approximately based on:
(103)
Then, the optimization problem in Equation (66) can be solved by:
max.sub.,,,,
s.t. {,
{,
Note that in the optimization problem of Equation (69), the number of extreme case systems considered is the same as that of the single-array case, which simplifies the problem at hand.
(104) Although the optimality of the approximation in Equation (69) cannot be rigorously proved, it is intuitive in that the maximum singular values
(105) Note that Equation (14) above defines alignment uncertainty as c.sub.kij.sup.p=c.sub.kij+.sub.ij, where .sub.ij[.sub.ij,
c.sub.kij.sup.p=c.sub.kij+s.sub.kij(70)
where s.sub.kij is the shrinkage for the k.sup.th alignment. Denote s.sub.ij=[s.sub.1ij, . . . , s.sub.n.sub.
Temporal Tuning for Multiple-Array CD-MPC
(106) In the temporal tuning portion of the multiple-array CD-MPC tuning algorithm, the objective is to determine the parameters .sub.i (where i=1, . . . , N.sub.y) (also denoted as [.sub.1, . . . , .sub.N.sub.
where t.sub.ud(0, e.sup.i)C.sup.N.sup.
(107) Since extreme closed-loop system behavior normally occurs at the extreme model parameters, the maximum of
(108)
Here, a.sup.p and T.sub.d.sup.p represent the temporal parameter matrices that include a.sub.ij.sup.p and T.sub.d.sub.
(109) For robust stability analysis, a general weight .sup.b can be adopted such that .sup.1= . . . =.sup.Ny=.sup.b, and a search can be conducted to identify the smallest .sup.b that satisfies Equation (71). This can be achieved efficiently, such as by using a bisection search, since increasing values of .sup.b lead to decreasing values of
(110) After robust stability is achieved, the objective of the temporal tuning is to adjust .sub.i (where i=1, . . . , N.sub.y) for user-specified temporal performance. Considering the requirements of the end users in pulp and paper industry as an example, the overshoot and settling time of the 2 (two times the standard deviation) spread of an input/output profile could be utilized as performance indices. Detailed definitions of the 2 indices are as follows. The overshoot of the 2 spread refers to the overshoot of a stable 2 spread and is defined as its maximum value minus its final value divided by the final value. The settling time of the 2 spread refers to the settling time of a stable 2 spread and is defined as the time required for the spread to reach and stay at its final value.
(111) Since the uncertainties considered on the parameters a and T.sub.d end up with a set of perturbed systems, it may be necessary or desirable to develop a visualization technique to characterize all possible 2 spreads for all input/output profiles. A visualization technique can be used to achieve the 2 spread envelope for a set of single-array CD processes with parametric uncertainty:
a.sup.p[a, ], T.sub.d.sup.p[T.sub.d,
via four extreme case systems:
a.sup.p{a, }, T.sub.d.sup.p{T.sub.d,
The temporal transfer function of each subsystem of G(z) has the same structure as that of a single-array system, and the extreme closed-loop system behavior happens when all extreme parameters are reached simultaneously. Thus, the above method can be extended by only considering a.sup.p{a, }, T.sub.d.sup.p{T.sub.d,
(112) TABLE-US-00003 Algorithm 3 Calculation of the 2 spread envelopes 1: Input the uncertainty level [a,] and [T.sub.d,
Note that while Algorithm 3 only shows the calculation for measurement 2 envelopes, it can also be utilized directly to obtain the envelopes of the 2 spreads for actuator profiles. The performance of Algorithm 3 can be verified, such as by using the extensive simulation-based method on different types of CD processes.
(113) Based on this, the objective of the temporal tuning can be formulated as follows:
min.sub.T.sub.s(y.sub.1.sup.2, . . . , y.sub.N.sub.
s.t. OS(u.sub.j.sup.2)OS*, j=1, . . . , N.sub.u(75)
Here, T.sub.s(y.sub.1.sup.2, . . . , y.sub.N.sub.
(114) In the frequency-domain tuning, the parameter vector =[.sub.1, . . . , .sub.Ny] is adjusted based on the sensitivity analysis. Considering the two-dimensional frequency property of the system, a modified sensitivity function t.sub.yd.sup.f(0, z) can be defined based on t.sub.yd(0, z) in Equation (37) as follows:
(115)
in which all channels for each output have been summed with the 2-norm. To achieve the desired performance, upper limits on the channels of the combined sensitivity function can be selected, and the tuning parameters can be adjusted to satisfy the requirements. Define .sub.i as the upper limit for t.sub.yd.sup.f(0, z), and the objective becomes tuning such that:
t.sub.yd,i.sup.f(0, z)<.sub.i, i(77)
(116) Given the structure of the CD-MPC system, as f.sub..sub.
.sub.i.sup.f=max.sub.k=0, . . . , k.sub.
.sub.i,.sub.
s.t. .sub.i,.sub.
where .sub.k (where k=0, . . . , k.sub.max) are the temporal frequency points located from 0 to the Nyquist frequency. It is known that .sub.i (where i=1, . . . , N.sub.y) can be selected based on the OS* and the model parameters of the dominant subsystem for the i.sup.th output and, in some embodiments, is normally between k.sub.l=1.2 and k.sub.u=1.8 from industrial experience. Note that the tuning in the frequency-domain may result in a value of that is not able to guarantee the specification OS* for all channels. Thus, the tuning in the time-domain is performed to fine tune .
(117) In the time-domain tuning, the parameter vector is fine-tuned to find the optimal (denoted as .sup.t) that provides the smallest 2 settling time for each output profile while still satisfying the requirement on overshoot OS. Based on the analysis above, the i.sup.th output profile is dominated by .sub.i, so .sub.i can be utilized to minimize T.sub.s(y.sub.i.sup.2) under the constraints on the 2 overshoot. Since T.sub.s(y.sub.i.sup.2) is approximately a unimodel function of .sub.i, a golden search or other search can be utilized to find the .sub.i.sup.t based on a closed-loop simulation with the following procedure. If the maximum overshoot (OS) with .sup.f is larger than the specification, the search is implemented in the region .sub.i[.sub.i.sup.f, .sub.u,i], where .sub.u,i is the upper bound for .sub.i obtained by solving Equation (78) with .sub.i=1.2 and .sub.i.sup.f is obtained in the frequency tuning. Otherwise, the search can be implemented in the region .sub.i[.sub.l,i, .sub.i.sup.f], where .sub.l,i is the lower bound for .sub.i obtained by solving Equation (78) with .sub.i=1.8.
(118) Algorithm 4 below represents an example of how to perform the temporal tuning portion of the CD-MPC tuning algorithm, including both the frequency-domain tuning and the spatial-domain tuning.
(119) TABLE-US-00004 Algorithm 4 Temporal tuning 1: Input OS* and parametric uncertainties on a.sub.ij and T.sub.d.sub.
(120) In order to speed up Algorithm 4, the time-domain tuning in lines 5-10 can be implemented based on a counter-line search method, such as that proposed in He et al., Automated two-degree-of-freedom model predictive control tuning, Industrial & Engineering Chemistry Research, vol. 54, no. 43, October 2015, pp. 10811-10824 (which is hereby incorporated by reference in its entirety). More specifically, the search for .sub.i can end once the 2 a overshoot of the dominant subsystem equals OS*.
(121) Note that in the time-domain tuning portion described above, the 2 indices are calculated based on 2 spreads obtained with a constrained CD-MPC. This may require a lot of computational time because a constrained QP is solved repeatedly. The following describes a computationally efficient approach to obtain the 2 spreads such that the tuning time can be significantly reduced.
(122) In order to calculate the 2 spreads, the constrained QP of CD-MPC needs to be solved at every sampling instant to simulate the output and input profiles. If the QP is solved at selective sampling instants (rather than every sampling instant) while still providing similar 2 spreads, the computational efficiency can be improved. The so-called event-based sampling/control strategy is a promising solution for this issue. Different from traditional control strategy in which a control input is updated at every sampling instant, event-based control only triggers a control update when a pre-specified condition is no longer satisfied. According to existing results for event-based control, an almost identical control performance can be achieved with a significantly-reduced sampling/control update rate.
(123) Based on this idea, the following condition can be specified to determine the control input update:
2.sub.y(i)2.sub.y.sup.e.sub.<, i>1(79)
where 2.sub.y(i)R.sup.N.sup.
(124) Algorithm 5 below represents an example of how to perform this event-based processing.
(125) TABLE-US-00005 Algorithm 5 Event-triggered simulation of the CD-MPC 1: Input the model parameters and controller parameters; 2: SolveQP 1; 3:
(126) The above description has described an automated robust tuning algorithm for multiple-array CD model-based control with user-specified parametric uncertainties. Based on the RCM property of the CD processes, the system model can be represented in the two-dimensional frequency-domain. As a result, the tuning algorithm can be divided into two separated portions: (i) spatial tuning and (ii) temporal tuning. In the spatial tuning, the weighting matrices S.sub.b,j (where j=1, . . . , N.sub.u) are designed to shape the spatial spectrum of each actuator profile based on the frequency property of the system, and an automated tuning algorithm is used to adjust the weights based on the amount of the parametric uncertainties. In the temporal tuning, a systematic algorithm is used to tune the parameter for the user-specified time-domain performance requirement under the parametric uncertainties.
(127) Although
(128)
(129) As shown in
(130) Spatial tuning for the controller is performed at step 906. This could include, for example, the processor 202 of the device 200 analyzing data in order to identify weighting matrices for the controller 104. The weighting matrices are used by the controller 104 to suppress one or more frequency components in actuator profiles of the actuators in the industrial process. The weighting matrices are also used to shape a spatial spectrum of each actuator profile.
(131) In the example shown in
(132) Temporal tuning for the controller is performed at step 914. This could include, for example, the processor 202 of the device 200 analyzing data in order to identify one or more parameters of a multivariable filter, such as the temporal filter 308. The filter is used to smooth at least one reference trajectory of at least one actuator profile of the actuators. This is done in order to achieve a user-specified temporal performance while operating under the parametric uncertainty provided by the user.
(133) In the example shown in
(134) The tuning parameters are provided to the model-based controller so that the controller is able to use the tuning parameters to control or adjust the industrial process at step 922. This could include, for example, the processor 202 of the device 200 outputting the Q.sub.3, Q.sub.4, and .sub.i tuning parameters to the controller 104. The controller 104 is able to use these tuning parameters during its execution of control logic when controlling one or more actuators or actuator arrays in the industrial process (the paper machine 102). Thus, modification of the tuning parameters helps to increase or maximize the effectiveness of the controller 104 in controlling the industrial process. As a result, one or more physical characteristics of the web 108 can be more effectively controlled in order to increase the quality of the web 108.
(135) Although
(136) In some embodiments, various functions described in this patent document are implemented or supported by a computer program that is formed from computer readable program code and that is embodied in a computer readable medium. The phrase computer readable program code includes any type of computer code, including source code, object code, and executable code. The phrase computer readable medium includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory. A non-transitory computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals. A non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable storage device.
(137) It may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The terms application and program refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer code (including source code, object code, or executable code). The term communicate, as well as derivatives thereof, encompasses both direct and indirect communication. The terms include and comprise, as well as derivatives thereof, mean inclusion without limitation. The term or is inclusive, meaning and/or. The phrase associated with, as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, have a relationship to or with, or the like. The phrase at least one of, when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. For example, at least one of: A, B, and C includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C.
(138) The description in the present application should not be read as implying that any particular element, step, or function is an essential or critical element that must be included in the claim scope. The scope of patented subject matter is defined only by the allowed claims. Moreover, none of the claims invokes 35 U.S.C. 112(f) with respect to any of the appended claims or claim elements unless the exact words means for or step for are explicitly used in the particular claim, followed by a participle phrase identifying a function. Use of terms such as (but not limited to) mechanism, module, device, unit, component, element, member, apparatus, machine, system, processor, or controller within a claim is understood and intended to refer to structures known to those skilled in the relevant art, as further modified or enhanced by the features of the claims themselves, and is not intended to invoke 35 U.S.C. 112(f).
(139) While this disclosure has described certain embodiments and generally associated methods, alterations and permutations of these embodiments and methods will be apparent to those skilled in the art. Accordingly, the above description of example embodiments does not define or constrain this disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of this disclosure, as defined by the following claims.