WO2024006919A1 - Modules de lois d'estimation pour moteur adaptatif - Google Patents

Modules de lois d'estimation pour moteur adaptatif Download PDF

Info

Publication number
WO2024006919A1
WO2024006919A1 PCT/US2023/069393 US2023069393W WO2024006919A1 WO 2024006919 A1 WO2024006919 A1 WO 2024006919A1 US 2023069393 W US2023069393 W US 2023069393W WO 2024006919 A1 WO2024006919 A1 WO 2024006919A1
Authority
WO
WIPO (PCT)
Prior art keywords
control
estimation
estimated
law
nonlinear
Prior art date
Application number
PCT/US2023/069393
Other languages
English (en)
Inventor
Chad S. Samuels
Original Assignee
Advanced Energy Industries, Inc.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US17/855,683 external-priority patent/US20240006151A1/en
Priority claimed from US17/855,698 external-priority patent/US20240004353A1/en
Priority claimed from US17/855,566 external-priority patent/US20240006169A1/en
Priority claimed from US17/855,587 external-priority patent/US20240019819A1/en
Priority claimed from US17/855,542 external-priority patent/US20240019818A1/en
Priority claimed from US17/855,577 external-priority patent/US20240012370A1/en
Priority claimed from US17/855,600 external-priority patent/US20240012371A1/en
Priority claimed from US17/855,714 external-priority patent/US20240004354A1/en
Priority claimed from US17/855,663 external-priority patent/US20240014017A1/en
Priority claimed from US17/855,644 external-priority patent/US20240012372A1/en
Application filed by Advanced Energy Industries, Inc. filed Critical Advanced Energy Industries, Inc.
Publication of WO2024006919A1 publication Critical patent/WO2024006919A1/fr

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1401Introducing closed-loop corrections characterised by the control or regulation method
    • F02D41/1402Adaptive control
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1401Introducing closed-loop corrections characterised by the control or regulation method
    • F02D41/1406Introducing closed-loop corrections characterised by the control or regulation method with use of a optimisation method, e.g. iteration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1401Introducing closed-loop corrections characterised by the control or regulation method
    • F02D41/1404Fuzzy logic control
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1401Introducing closed-loop corrections characterised by the control or regulation method
    • F02D41/1405Neural network control

Definitions

  • the present disclosure relates generally to controller design.
  • the present disclosure relates to systems, methods and apparatuses for designing an adaptive controller.
  • DESCRIPTION OF RELATED ART Control systems have important applications in many technology areas, includ ing plasma applications, semiconductor processing and other materials processing, robotics, vehicle control systems for automobiles, aircraft, and spacecraft, and other electronic, manufacturing, and industrial systems.
  • Semiconductor processing and other advanced materials processing rely on increasingly sophisticated plasma processes. Such plasma processes, in turn, require increasingly sophisticated power systems and control systems, to subject inherently unstable and nonlinear plasmas to increasing precision and consistency.
  • Such plasmas are used for processes such as plasma etch processes, plasma-enhanced chemical vapor deposition (CEPVD) processes, plasma-enhanced atomic layer deposition (PEALD) processes, plasma- assisted atomic-layer deposition (PA-ALD), RF sputtering deposition, and other plasma processing applications.
  • plasma processing recipes it is desirable to provide a pulsed waveform having multiple states (or power levels) as exemplified by the illustrative waveform in FIG. 2.
  • Each recipe includes a number of pulse cycles (PC), number of pulses per pulse cycle, and a number of states per pulse. Each state has a different target power level.
  • actuators may include, without limitation, higher- level constructs such as generators, match networks, remote plasma sources, and bias supplies.
  • actuators may include, without limitation, lower-level constructs such as DC rail supplies, RF amplifiers, variable capacitors, and power supplies within bias supplies and remote plasma source.
  • control e.g., for precision and consistency
  • an RF generator for providing the pulsed waveform in FIG. 2 may have actuators that include a DC section and a power amplifier where the DC section provides a rail voltage to the power amplifier and the power amplifier provides the desired pulsed waveform (e.g., FIG.2) using the rail voltage.
  • the power amplifier is relatively fast (e.g., ⁇ 250ns) compared to changes in the target voltage, but the DC section or the rail, is relatively slow (e.g., ⁇ 1ms).
  • existing control systems tend to hold the rail at a high level for much of a pulse cycle (e.g., at a highest level needed for a given pulse cycle).
  • this can lead to overheating of components and premature system failure and maintenance needs as well as inefficiency since the rail is often far above the level needed at any moment in time (i.e., for a given state within a pulse of a pulse cycle).
  • Current adaptive controllers do not have inherent stability or the guarantee that they will converge.
  • existing adaptive controllers utilize transfer functions, and are thus difficult to scale to arbitrary waveforms and coupled inputs and outputs (MIMO). They also tend to be limited to a single control law and thus luck adaptability to various situations that may arise even within a given recipe. Further, existing adaptive engines struggle with unstable systems as well as unbounded computed control values as well as modeling uncertainties and input and output bounded disturbances that can be arbitrary. Lastly, they struggle with handling different modeling / parameterizations of the process to be controlled.
  • the techniques described herein relate to an adaptive engine configured to receive a series of reference signals and in response provide a control to one or more actuators controlling parameters of a power system, the adaptive engine including: a nonlinear model of the one or more actuators and/or the power system controlled by the one or more actuators; a plurality of estimation law modules each configured to estimate an estimated model parameter tensor, ⁇ , for the nonlinear model, by seeking to minimize an estimation error, ⁇ , or cost function, J, calculated from two or more of (1) measured system output, (2) estimated system output, and (3) a reference signal; a plurality of control law sub-engines each configured to apply one of a plurality of control laws to the estimated parameter tensors, ⁇ , to generate a possible control signal, u se , for each of the estimated parameter tensors, ⁇ ; the plurality of estimation law modules or the plurality of control law sub-engines configured to apply the nonlinear model to
  • the techniques described herein relate to an adaptive engine, wherein each of the estimation law modules applies an estimation law to an input regressor and the estimation error, , or cost function, J, to estimate the estimated model parameter tensor, ⁇ .
  • the techniques described herein relate to an adaptive engine, wherein at least two estimation law modules apply two different estimation laws, and wherein one of the at least two estimation laws is a function of an adaptation gain and one of the at least two estimation laws is independent from the adaptation gain.
  • the techniques described herein relate to an adaptive engine, wherein the estimated model parameter tensor, ⁇ , is part of A, B, and C matrices of a time-varying linear system that is part of the nonlinear model.
  • the techniques described herein relate to an adaptive engine, wherein the time-varying linear system is a strictly positive real matrix derived from Lyapunov equations.
  • the techniques described herein relate to an adaptive engine, wherein repeated estimations of the estimated model parameter tensor, ⁇ , by each of the estimation law modules causes the nonlinear model to better approximate nonlinear behavior of the power system, while structures of the A, B, and C matrices of the time-varying linear system remain constant. [0012] In some aspects, the techniques described herein relate to an adaptive engine , wherein structures of matrices of the time-varying linear system remain constant for all control samples of a frame.
  • the techniques described herein relate to an adaptive engine, wherein repeated estimations of the estimated model parameter tensor, ⁇ , by each of the estimation law modules causes the nonlinear model to better approximate nonlinear behavior of the power system.
  • the techniques described herein relate to an adaptive engine, wherein the power system is a plasma processing power system.
  • the techniques described herein relate to an adaptive engine, wherein the one or more actuators are a power and/or frequency of the plasma processing power system and/or components of a match network arranged between the plasma processing power system and a plasma load.
  • the techniques described herein relate to an adaptive engine configured to receive a series of reference signals and in response provide a control to one or more actuators controlling parameters of a power system
  • the adaptive engine including: a plurality of estimation law modules each configured to apply estimation laws to an input regressor, ⁇ , to produce estimated parameter tensors, ⁇ ; a plurality of control law sub-engines each configured to apply one of a plurality of control laws to the estimated parameter tensors, ⁇ , to generate possible control signals, u se ; a nonlinear model of the one or more actuators and/or the power system controlled by the one or more actuators, the nonlinear model including a time-varying linear system, and wherein the nonlinear model is configured to calculate an estimated system output, y est_se , as a function of the possible control signals, u se , from this or a previous iteration, and the estimated parameter tensors, ⁇ ; and a selector module configured to select a
  • the techniques described herein relate to an adaptive engine, wherein each of the estimation law modules applies an estimation law to an input regressor and the estimation error, or cost function, J, to estimate the estimated model parameter tensor, ⁇ .
  • the techniques described herein relate to an adaptive engine, wherein at least two estimation law modules apply two different estimation laws, and wherein one of the at least two estimation laws is a function of an adaptation gain and one of the at least two estimation laws is independent from the adaptation gain.
  • the techniques described herein relate to an adaptive engine, wherein the estimated model parameter tensor, ⁇ , is part of A, B, and C matrices of a time-varying linear system that is part of the nonlinear model.
  • the techniques described herein relate to an adaptive engine, wherein the time-varying linear system is a strictly positive real matrix derived from Lyapunov equations.
  • the techniques described herein relate to an adaptive engine, wherein repeated estimations of the estimated model parameter tensor, ⁇ , by each of the estimation law modules causes the nonlinear model to better approximate nonlinear behavior of the power system, while structures of the A, B, and C matrices of the time-varying linear system remain constant. [0022] In some aspects, the techniques described herein relate to an adaptive engine, wherein structures of matrices of the time-varying linear system remain constant for all control samples of a frame.
  • the techniques described herein relate to an adaptive engine, wherein repeated estimations of the estimated model parameter tensor, ⁇ , by each of the estimation law modules causes the nonlinear model to better approximate nonlinear behavior of the power system.
  • the techniques described herein relate to an adaptive engine, wherein the power system is a plasma processing power system.
  • the techniques described herein relate to an adaptive engine, wherein the one or more actuators are a power and/or frequency of the plasma processing power system and/or components of a match network arranged between the plasma processing power system and a plasma load.
  • the techniques described herein relate to an adaptive engine, wherein the selector module finds an estimated system error, out, for each of the possible control signals, u se , and uses the estimated system error, out, to select the control, u out .
  • the techniques described herein relate to a method of adaptive control including: receiving an input regressor; receiving an estimated model parameter tensor for a nonlinear model of one or more actuators and/or a power system controlled by the one or more actuators, the nonlinear model including a time- varying linear system dependent on the estimated model parameter tensor; accessing a structure of the time-varying linear system and applying it to the nonlinear model; applying a control portion of the nonlinear model involving tensor multiplication of the estimated model parameter tensor and the input regressor, or a modified input regressor including at least one filtered sub-component of the input regressor, to generate a possible control signal; applying an estimation portion of the nonlinear model involving using the possible control signal from the control portion as an input to the time-varying linear system operator to estimate an estimated system output; selecting an influence that the possible control signal has on a control output based on the estimated system output; and controlling the one or more actuator
  • the techniques described herein relate to a method, wherein the filtered sub-component of the input regressor is a measured system output. [0029] In some aspects, the techniques described herein relate to a method, wherein another filtered sub-component in the modified input regressor is a control output from a previous control sample. [0030] In some aspects, the techniques described herein relate to a method, wherein the modified input regressor includes, a reference signal, a measured system output from the previous control sample, a filtered version of the measured system output from the previous control sample, and a filtered version of the control output from the previous control sample.
  • the techniques described herein relate to a method, wherein the modified input regressor includes, a reference signal, a measured system output from the previous control sample, a filtered version of the measured system output from the previous control sample, and a filtered version of the control output from the previous control sample.
  • the techniques described herein relate to a method, further including updating the estimated model parameter tensor at every control sample, and thereby also updating the time-varying linear system every control sample.
  • the techniques described herein relate to a method, further including updating the structure of the time-varying linear system at every frame.
  • the techniques described herein relate to a method, further including, selecting the possible control signal as the control output. [0035] In some aspects, the techniques described herein relate to a method, wherein the influence is a weight applied to the possible control signal when blending the possible control signal with one or more other possible control signals to give the control.
  • the techniques described herein relate to a Lyapunov-based controller configured to control to one or more actuators controlling parameters of a power system
  • the Lyapunov-based controller including: a control portion of a nonlinear model of the one or more actuators and/or the power system controlled by the one or more actuators, the control portion being a function of (1) a first tensor including at least a reference signal, a measurement of an output of the power system, and the control for a previous control sample, and (2) a second tensor including an estimated model parameter tensor; an estimation portion of the nonlinear model being a function of a time-varying linear system, which is a function of the possible control signal, wherein the control portion is configured to calculate a possible control signal by tensor multiplying the first and second tensors, wherein the estimation portion is configured to estimate an estimated system output for the power system based on the time-varying linear system and the possible control signal; and an output configured to provide the possible control signal and
  • the techniques described herein relate to a Lyapunov-based controller, being a sub-engine of an adaptive controller, wherein the possible control signal is selected from other possible control signals provided by other sub-engines in the adaptive controller, as the control.
  • the techniques described herein relate to a Lyapunov-based controller, being a sub-engine of an adaptive controller, wherein the possible control signal is blended with other possible control signals from other sub-engines in the adaptive controller to form the control.
  • the techniques described herein relate to a Lyapunov-based controller, wherein the sub-engine is configured to use a Lyapunov framework.
  • the techniques described herein relate to a Lyapunov-based controller, wherein the sub-engine is configured to optimally operate in stable zero- dynamics regimes. [0041] In some aspects, the techniques described herein relate to a Lyapunov-based controller, wherein the sub-engine is configured for stable adaptation at the sacrifice of convergence speed. [0042] In some aspects, the techniques described herein relate to a Lyapunov-based controller, further including a selector module configured to perform the selecting based on (1) a set of possible control signals that includes the possible control signal and (2) a set of estimated system outputs that includes the estimated system output.
  • the techniques described herein relate to a Lyapunov-based controller, wherein the second tensor further includes a derivative of the estimated model parameter tensor.
  • the techniques described herein relate to a method of adaptive control including: accessing an input regressor; accessing a nonlinear model of one or more actuators and/or a power system controlled by the one or more actuators, the nonlinear model including a control portion and an estimation portion; at each control sample, estimating an estimated model parameter tensor for the nonlinear model; applying the control portion of the nonlinear model by multiplying the estimated model parameter tensor and the input regressor, or a modified input regressor, to give a possible control signal; applying the estimation portion of the nonlinear model with the possible control signal and the estimated model parameter tensor as inputs, to give an estimated system output; and generating a control configured for provision to the one or more actuators based on the possible control signal and the estimated
  • the techniques described herein relate to a method, wherein the modified input regressor includes at least one filtered sub-component of the input regressor. [0046] In some aspects, the techniques described herein relate to a method, wherein the at least one filtered sub-component of the input regressor is a measured output of the power system. [0047] In some aspects, the techniques described herein relate to the method of Claim, 19, wherein the at least one filtered sub-component of the input regressor is a control output from a previous iteration.
  • the techniques described herein relate to a method, wherein the estimation portion includes a time-varying linear system that is a function of the estimated model parameter tensor and the possible control signal. [0049] In some aspects, the techniques described herein relate to a method, further including grouping the control samples into frames and updating a structure of the time-varying linear system once per frame to approximate large changes in nonlinear behavior of the one or more actuators and/or the power system controlled by the one or more actuators.
  • the techniques described herein relate to a control system including: a user interface configured to receive a reference signal defining target values for a controlled parameter that is provided to a controlled output of the system; at least one sensor to obtain a measure of the controlled parameter that is controlled at the controlled output; an estimation law module configured to produce an estimated model parameter tensor, ⁇ a fuzzy controller configured to provide a control signal to adjust at least one actuator based at least upon the reference signal and the measure of the controlled parameter; a dynamic modification module configured, while controlling the controlled parameter, based at least upon the reference signal, an estimate of the controlled parameter, the measure of the controlled parameter, and the control signal to: adapt output membership functions of the fuzzy controller; adapt input membership functions of the fuzzy controller; and adapt a rule base of the fuzzy controller.
  • the techniques described herein relate to a control system wherein the output membership functions, the input membership function and the rule base are adapted simultaneously during each sample. [0052] In some aspects, the techniques described herein relate to a control system wherein the output membership functions, the input membership function and the rule base are adapted asynchronously. [0053] In some aspects, the techniques described herein relate to a system, wherein the controlled output is an output coupled to a plasma processing chamber. [0054] In some aspects, the techniques described herein relate to a system, wherein the controlled output is an output of an actuator within the system.
  • the techniques described herein relate to a system, wherein the user interface is configured to at least one of enable an operator of the system to set the target values and enable a controller to set the target values.
  • the techniques described herein relate to a system, wherein the at least one actuator includes a DC section configured to apply a DC rail voltage to a power amplifier.
  • the techniques described herein relate to a system, wherein the parameter that is controlled is one of forward power, reflected power, or reflection coefficient.
  • the techniques described herein relate to a method for controlling a plasma processing system including: receiving a reference signal defining target values for a parameter that is controlled at an output of the plasma processing system; obtaining a measure of the parameter that is controlled at the output; producing an estimated model parameter tensor, ⁇ ; using a fuzzy controller to provide a control signal to adjust at least one actuator based at least upon the reference signal and the measure of the controlled parameter; adapting output membership functions of the fuzzy controller, input membership functions of the fuzzy controller, and a rule base of the fuzzy controller while controlling the controlled parameter, based at least upon the based at least upon the estimated model parameter tensor, ⁇ , the reference signal, an estimate of the controlled parameter, the measure of the controlled parameter, and the control signal.
  • the techniques described herein relate to a method, wherein the output is an output coupled to a plasma processing chamber.
  • the techniques described herein relate to a method, wherein adjusting the at least one actuator includes adjusting a DC section configured to apply a DC rail voltage to a power amplifier.
  • the techniques described herein relate to a method, wherein the parameter that is controlled is one of forward power, reflected power, or reflection coefficient.
  • the techniques described herein relate to a method, wherein the output is an actuator output of the at least one actuator.
  • the techniques described herein relate to a non-transitory medium encoded with instructions that are executable by a processor and/or used to program a field programmable gate array, the instructions including instructions to: receive a reference signal defining target values for a parameter that is controlled at an output of a plasma processing system; obtain a measure of the parameter that is controlled at the output; produce an estimated model parameter tensor, ⁇ ; use a fuzzy controller to provide a control signal to adjust at least one actuator based at least upon the reference signal and the measure of the controlled parameter; adapt output membership functions of the fuzzy controller, input membership functions of the fuzzy controller, and a rule base of the fuzzy controller while controlling the controlled parameter, based at least upon the based at least upon the estimated model parameter tensor, ⁇ , the reference signal, an estimate of the controlled parameter, the measure of the controlled parameter, and the control signal.
  • the techniques described herein relate to a non-transitory medium, wherein the instructions include instructions to provide the control signal to an output coupled to a plasma processing chamber.
  • the techniques described herein relate to a non-transitory medium, wherein the instructions to adjust the at least one actuator include instructions to adjust a DC section configured to apply a DC rail voltage to a power amplifier.
  • the techniques described herein relate to a non-transitory medium, wherein the parameter that is controlled is one of forward power, reflected power, or reflection coefficient.
  • the techniques described herein relate to a non-transitory medium, wherein the output is an actuator output of the at least one actuator.
  • the techniques described herein relate to adaptive engine configured to receive a reference signal and provide a control to one or more actuators
  • the adaptive engine including: an estimation law module, the estimation law module configured to receive a plurality of error signals and an input regressor, the input regressor including: a reference signal, r, a system output measurement, ymeas, a control output, uout_k-1, from a previous iteration, one or more estimated system outputs, wherein the one or more estimated system outputs include one or more of an estimated system output for a current iteration, yest_SE, and an estimated system output for a previous iteration, yest_out, the estimation law module configured to: apply one or more estimation laws to the error signals and the input regressor to produce an estimated model parameter tensor, ⁇ , for a nonlinear model of the one or more actuators or a power system controlled by the one or more actuators, wherein the estimated model parameter tensor, ⁇ , includes
  • the techniques described herein relate to an adaptive engine, wherein each of the plurality of subcomponents of the estimated model parameter tensor, ⁇ , corresponds to an estimated model parameter tensor coefficient.
  • the techniques described herein relate to an adaptive engine, where the estimation law module is configured to pass a plurality of estimated model parameter tensor coefficients to a first mapping module of the plurality of mapping modules, and wherein the first mapping module is configured to: approximate, using one or more of the plurality of estimated model parameter tensor coefficients, a noise and disturbance component, und_approx, in one or more of a possible control signal, uSE_k-1, from a previous iteration and the control output, uout_k-1, from the previous iteration; and determine, using a first estimated model parameter tensor coefficient, a measured noise and disturbance component, und_k.
  • the techniques described herein relate to an adaptive engine, wherein the control law sub-engine is configured to: determine, using a second estimated model parameter tensor coefficient, noise and disturbance effects, ⁇ y_nd, in the system output measurement, ymeas; and wherein determining the measured noise and disturbance component, und_k, includes: mapping, using the first estimated model parameter tensor coefficient, the noise and disturbance effects, ⁇ y_nd, to the measured noise and disturbance component, und_k.
  • the techniques described herein relate to an adaptive engine, wherein the estimation law module is configured to adapt the plurality of estimated parameter tensor coefficients to minimize an error, und_error, corresponding to a difference between und_k and und_approx.
  • the techniques described herein relate to an adaptive engine, wherein the estimation law module is configured to: pass a first estimated model parameter tensor coefficient, ⁇ , and a second estimated model parameter tensor coefficient, ⁇ , to a stabilization mechanism module of the control law sub-engine; pass the second estimated model parameter tensor coefficient, ⁇ , to a stability hypothesis tester of the stabilization mechanism module; and wherein the stability hypothesis tester is configured to map, using the second estimated model parameter tensor coefficient, ⁇ , an input control signal component, ⁇ u_in, to a predicted system output.
  • the techniques described herein relate to an adaptive engine, wherein the stability hypothesis tester is configured to: determine if the predicted system output is stable or unstable; and one of: upon determining that the predicted system output is unstable, stabilize the input control signal component, ⁇ u_in; or upon determining that the predicted system output is stable, pass the input control signal component, ⁇ u_in, to a non-linearities compensation module of the adaptive engine.
  • the techniques described herein relate to an adaptive engine, wherein, the estimation law module is configured to adapt the first estimated model parameter tensor coefficient, ⁇ , and pass the adapted first estimated model parameter tensor coefficient, ⁇ , to the stabilization mechanism module, and wherein the input control signal component, ⁇ u_in, is stabilized using the adapted first estimated model parameter tensor coefficient, ⁇ .
  • the techniques described herein relate to an adaptive engine, wherein, upon determining that the predicted system output is unstable, the stabilization mechanism module passes a stabilized input control signal component, ⁇ u_in_stabilized, to the non-linearities compensation module.
  • the techniques described herein relate to an adaptive engine, wherein the non-linearities compensation module produces the possible control signal, uSE, using one of the input control signal component, ⁇ u_in, and the stabilized input control signal component, ⁇ u_in_stabilized.
  • the techniques described herein relate to an adaptive engine, wherein the plurality of subcomponents of the estimated model parameter tensor, ⁇ , include a plurality of estimated model parameter tensor coefficients for mapping control signals to estimated or predicted system output measurements.
  • the techniques described herein relate to an adaptive engine, wherein at least one subcomponent of the plurality of subcomponents of the estimated model parameter tensor, ⁇ , includes an estimated model parameter tensor coefficient for mapping the reference signal, r, to a desired control signal, ur_des_k. [0080] In some aspects, the techniques described herein relate to an adaptive engine, wherein at least one subcomponent of the plurality of subcomponents of the estimated model parameter tensor, ⁇ , corresponds to an estimated delay increment or an estimated delay decrement, and wherein the estimated delay increment or decrement enables control of unstable zero dynamics.
  • the techniques described herein relate to an adaptive engine, wherein the adaptation and estimation law module is optimized for unstable zero dynamics situations seen in nonlinear systems. [0082] In some aspects, the techniques described herein relate to an adaptive engine, wherein the adaptation and estimation law module is configured to achieve rapid convergence during stable and unstable zero-dynamics.
  • the techniques described herein relate to an adaptive engine, wherein, the selector module is configured to receive one or more other possible control signals from one or more other control law sub-engines, the selector module further includes a tensor synchronization and coherency module configured to receive an exogenous signal, and the exogenous signal is applied to the possible control signal, uSE_k, and the one or more other possible control signals to smooth transitions between possible control signals input to the selector module.
  • the techniques described herein relate to a method for adaptive control, the method including: receiving a plurality of error signals and an input regressor, the input regressor including: a reference signal, r, a system output measurement, ymeas, a control output, uout_k-1, from a previous iteration, one or more estimated system outputs, wherein the one or more estimated system outputs include one or more of an estimated system output for a current iteration, yest_ SE, and an estimated system output for a previous iteration, yest_out; applying one or more estimation laws to the error signals and the input regressor to produce an estimated model parameter tensor, ⁇ , for a nonlinear model of one or more actuators or a power system controlled by the one or more actuators, wherein the estimated model parameter tensor, ⁇ , includes a plurality of subcomponents; generating a plurality of subcomponents of a possible control signal, wherein each subcomponent
  • the techniques described herein relate to a non-transient computer- readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to perform a method for adaptive control, the method including: receiving a plurality of error signals and an input regressor, the input regressor including: a reference signal, r, a system output measurement, ymeas, a control output, uout_k-1, from a previous iteration, one or more estimated system outputs, wherein the one or more estimated system outputs include one or more of an estimated system output for a current iteration, yest_SE, and an estimated system output for a previous iteration, yest_out; applying one or more estimation laws to the error signals and the input regressor to produce an estimated model parameter tensor, ⁇ , for a nonlinear model of one or more actuators or a power system controlled by the one or more actuators, wherein the estimated model parameter tensor, ⁇ , includes
  • the techniques described herein relate to an adaptive engine configured to receive a series of reference signals and in response provide a control to one or more actuators controlling parameters of a power system
  • the adaptive engine including: control law sub-engines each configured to implement at least one control law; a plurality of estimation law modules each configured to implement at least one estimation law, and each configured to estimate estimated model parameter tensors, ⁇ , for a nonlinear model of the one or more actuators and/or the power system controlled by the one or more actuators, based at least on an estimation error, , o r cost function, J, calculated from two or more of (1) measured system outputs, (2) estimated system outputs, and (3) a reference signal; the control law sub-engines configured to apply respective ones of the estimated model parameter tensors, ⁇ , to control laws to generate possible control signals, use; and a selector module configured to generate a control, uout, and provide the control, uout, to the one or more actuators, wherein the generating is
  • the techniques described herein relate to an adaptive engine, wherein the power system is a plasma processing power system.
  • the techniques described herein relate to an adaptive engine, wherein the one or more actuators are a power and/or frequency of the plasma processing power system and/or components of a match network arranged between the plasma processing power system and a plasma load.
  • the techniques described herein relate to an adaptive engine configured to receive a series of reference signals and in response provide a control to one or more actuators controlling parameters of a power system
  • the adaptive engine including: storage including a nonlinear model of the one or more actuators and/or the power system controlled by the one or more actuators, wherein the nonlinear model is a function of an estimated model parameter tensor, ⁇ , including estimates of parameters of the nonlinear model; a first set of estimation law modules each configured to implement a different estimation law, where the estimation laws each estimate the estimated model parameter tensor, ⁇ , based on different functions of at least an estimation error, , or cost function, J, derived from two or more of (1) measured system outputs, (2) estimated system outputs, and (3) a reference signal; a first control law module configured to implement a control law that generates a first possible control signal, use, for each of the estimated model parameter tensors, ⁇ ; one or more additional control law modules configured to generate one or more additional
  • the techniques described herein relate to an adaptive engine, wherein the power system is a plasma processing power system.
  • the techniques described herein relate to an adaptive engine, wherein the one or more actuators are a power and/or frequency of the plasma processing power system and/or components of a match network arranged between the plasma processing power system and a plasma load.
  • the techniques described herein relate to an adaptive engine, wherein the nonlinear model has a control portion for generating the first possible control signal, use, and an estimation portion for generating an estimated system output, yest_se, wherein the estimation portion is a function of a time-varying linear system that is a function of the first possible control signal, use, and the estimated model parameter tensor, ⁇ .
  • the techniques described herein relate to an adaptive engine, wherein a structure of the time-varying linear system changes from frame to frame to approximate large nonlinear behaviors in the power system, but remains constant within each frame, such that adaptation of the estimated model parameter tensor, ⁇ , is based on a linear system within each frame.
  • the techniques described herein relate to a method of adaptive control including: estimating an estimated model parameter tensor, ⁇ , for every control sample, wherein the estimating is based at least on an estimation law that is a function of an estimation error, , or cost function, J, wherein the estimated model parameter tensor, ⁇ , includes estimated parameters of a nonlinear model; generating a possible control signal, use, using a control portion of a nonlinear model; generating an estimated system output, yest_se, using an estimation portion of the nonlinear model; wherein both portions of the nonlinear model are functions of at least the estimated model parameter tensor, ⁇ ; and selecting (1) a best possible control signal, use, from a set including the possible control signal, use, and additional possible control signals, or (2) a best combination of possible control signals, use, blended from two or more of the set.
  • the techniques described herein relate to a method, wherein the estimation portion is also a function of a structure of a time-varying linear system, Wm.
  • the techniques described herein relate to a method, wherein the structure of the time-varying linear system, Wm, is calculated by a frame resynthesizer for each frame, or access from an empirically derived lookup table, and wherein the estimated model parameter tensors, ⁇ , are estimated for each iteration of the generating.
  • the techniques described herein relate to a method, wherein the time- varying linear system, Wm, is a strictly positive real matrix derived from Lyapunov equations.
  • the techniques described herein relate to a method, wherein the estimation portion of the nonlinear model is a function of the possible control signal, use, generated by the control portion of the nonlinear model. [0099] In some aspects, the techniques described herein relate to a method, wherein the nonlinear model includes linear portions approximating nonlinear behavior for each of multiple frames, where each frame includes multiple iterations of the generating. [00100] In some aspects, the techniques described herein relate to a method, wherein the estimation error, , or the cost function, J, are calculated from two or more of (1) measured system outputs, (2) estimated system outputs, and (3) a reference signal.
  • the techniques described herein relate to a method of operating an adaptive controller, the method including: accessing a system model with a control portion and an estimation portion, wherein the estimation portion includes a time-varying linear system, Wm, that is a function of the control portion and an estimated model parameter tensor, ⁇ , for parameters of the system model; splitting control samples of the adaptive controller into frames, adjusting a matrix structure of the time-varying linear system, Wm, at a start of each frame to approximate large changes in nonlinear system behavior; adapting the estimated model parameter tensor, ⁇ , at each control sample within a given frame to minimize an error related to the controller output, to approximate small changes in nonlinear system behavior; calculating a possible control signal for each control sample using the control portion of the system model with at least the estimated model parameter tensor, ⁇ , as an input; calculating an estimated system output for each control sample using the estimation portion of the system model with at least the possible control signal as an input to the time-varying linear system; selecting or
  • the techniques described herein relate to a method, wherein the adapting includes applying an estimation law to (1) an input regressor, ⁇ , including at least a reference signal, r, and (2) an estimation error, , or cost function, J, to estimate the estimated model parameter tensor, ⁇ , wherein the estimation error, , or cost function, J, compare two or more of (1) measured system outputs from a previous iteration, (2) estimated system output from a previous iteration, and (3) the reference signal, r.
  • the techniques described herein relate to a method, wherein the time-varying linear system, Wm, is a strictly positive real matrix derived from Lyapunov equations.
  • the techniques described herein relate to a method of adaptive control, the method including: analyzing a reference signal, r, to determine frame lengths for each of multiple frames; accessing a model of a power system's nonlinear behavior including a control portion and an estimation portion, the estimation portion including a time-varying linear system approximation, Wm, including a system of equations having matrix coefficients, the time-varying linear system approximation, Wm, being a function of: an output of the control portion; and an estimated model parameter tensor, ⁇ , of the model; for each of the multiple frames, providing a matrix structure for the matrix coefficients; and for control samples of each of the multiple frames: estimating the estimated model parameter tensor, ⁇ ; determining a possible control signal, use, by applying the control portion of the model to the estimated model parameter tensor, ⁇ ; determining an estimated system output, yest_se, by applying the possible control signal, use, and the estimated model parameter tensor,
  • the techniques described herein relate to a method, wherein the time-varying linear system, Wm, is a strictly positive real matrix derived from Lyapunov equations.
  • the techniques described herein relate to an adaptive engine configured to receive a reference waveform and provide a control to one or more actuators, the adaptive engine including: an estimation law module configured to receive an input regressor, the input regressor including: a reference signal, r, or a reference signal stream, a system output measurement, ymeas, a control output, uout_k-1, from a previous iteration; the estimation law module configured to apply one or more estimation laws to the input regressor to produce an estimated model parameter tensor, ⁇ , for a nonlinear model, wherein the nonlinear model is a function of the estimated model parameter tensor, ⁇ , and wherein the estimated model parameter tensor, ⁇ , includes estimated parameters of the nonlinear model; a control law sub
  • the techniques described herein relate to an adaptive engine, wherein the initial LTV system, Wm, corresponding to the reference signal, r, is used as an initial model for adaptation at a start of each frame, each frame including a plurality of samples, and wherein the sliding mode predictor is further configured to: adapt the initial LTV system, Wm, wherein Wm is adapted at one or more samples of the plurality of samples of a corresponding frame.
  • the techniques described herein relate to an adaptive engine, further including: a delay filter coupled at the output of the control law module; a nonlinearities compensation module configured to receive one or more of the internal possible control signal, uSE_desired, from the delay filter, the estimated system output, yest_SE, and the predicted system output, yest_ideal, from the sliding mode predictor; wherein the nonlinearities compensation module is further configured to provide the possible control signal, uSE_k, and the estimated system output, yest_SE, after compensating for or removing undesired nonlinear effects from (1) uSE_k and yest_SE OR (2) uSE_desired and yest_ideal, respectively.
  • the techniques described herein relate to an adaptive engine, further including: a first filter configured to smooth the system output measurement, ymeas, and provide a smoothed and filtered system output measurement, yd, to the control law module and the estimation law module.
  • the techniques described herein relate to an adaptive engine, wherein the input regressor further includes: an estimation error, , or cost function, J, wherein the estimation error, , or cost function, J, is based upon the smoothed and filtered system output measurement, yd, and one of (1) the predicted system output, yest_ideal, or (2) a total estimated system output, yest_out, the total estimated system output, yest_out, computed based on the control output, uout_k -1, from the previous iteration; and wherein the estimated model parameter tensor, ⁇ , is based at least in part on the estimation error, , or cost function, J.
  • the techniques described herein relate to an adaptive engine, wherein the estimation error, , or cost function, J, corresponds to a difference between (1) the total estimated system output, yest_out, and the smoothed and filtered system output measurement, yd.
  • the techniques described herein relate to an adaptive engine, wherein the sliding mode predictor includes the nonlinear model, and wherein the sliding mode predictor is configured to: predict a nonlinear response of the one or more actuators, or a power system controlled by the one or more actuators based at least in part on receiving (1) the initial LTV system, Wm, and (2) adapting the initial LTV system, Wm.
  • the techniques described herein relate to an adaptive engine, wherein, the selector module is configured to receive one or more other possible control signals, uSE, from one or more other control law sub-engines; the adaptive engine further including: a tensor synchronization and coherency module configured to receive an exogenous signal, wherein the exogenous signal is applied to the possible control signal, uSE_k, and the one or more other possible control signals, uSE, to smooth transitions between possible control signals input to the selector module.
  • a tensor synchronization and coherency module configured to receive an exogenous signal, wherein the exogenous signal is applied to the possible control signal, uSE_k, and the one or more other possible control signals, uSE, to smooth transitions between possible control signals input to the selector module.
  • the techniques described herein relate to an adaptive engine, wherein the control law sub-engine is optimized for unstable zero dynamic estimations and stable zero dynamics situations seen in nonlinear systems, and wherein the estimation law module is configured to achieve rapid convergence during stable zero dynamics and unstable zero dynamic estimations.
  • the techniques described herein relate to an adaptive engine, wherein, the sliding mode predictor is configured to provide robust predictions that are impervious to one or more of small and non-linear variations, imprecisions, modeling uncertainties, and perturbations, and wherein the sliding mode predictor is configured to achieve rapid convergence while performing nonlinear predictions, based at least in part on reducing or minimizing chattering.
  • the techniques described herein relate to a method of adaptive control, including: receiving an input regressor, the input regressor including: a reference signal, r, a system output measurement, ymeas, and a control output, uout_k-1, from a previous iteration; applying one or more estimation laws to the input regressor to estimate an estimated model parameter tensor, ⁇ , for a nonlinear model, wherein the nonlinear model is a function of the estimated model parameter tensor, ⁇ , and wherein the estimated model parameter tensor, ⁇ , includes estimated parameters of the nonlinear model; generate a possible control signal, uSE, or an internal possible control signal, uSE_desired, using a control portion of the nonlinear model; receive (1) a linear time varying (LTV) system, Wm, corresponding to the reference signal, r, and (2) the possible control signal, uSE_k, or the internal possible control signal, uSE_des
  • LTV linear time
  • the techniques described herein relate to a method, wherein the estimation portion is also a function of a structure of the LTV system, Wm. [00118] In some aspects, the techniques described herein relate to a method, wherein generating the predicted system output, yest_ideal, is further based on applying the internal possible control signal, uSE_desired, to the estimation portion of the nonlinear model. [00119] In some aspects, the techniques described herein relate to a method, wherein generating the estimated system output, yest_SE, is further based on applying the possible control signal, uSE_k, to the estimation portion of the nonlinear model.
  • the techniques described herein relate to a method, wherein the initial LTV system, Wm, corresponding to the reference signal, r, is used as an initial model for adaptation at a start of each frame, each frame including a plurality of samples, the method further including: adapting the LTV system, Wm, wherein Wm is adapted at one or more samples of the plurality of samples of a corresponding frame.
  • the techniques described herein relate to a method, wherein the LTV system, Wm, includes a strictly positive real matrix.
  • the techniques described herein relate to a method, further including: selecting (1) a best possible control signal, uSE, from a set including the possible control signal, uSE_k, and additional possible control signals, or (2) a best combination of possible control signals, uSE, blended from two or more of the set.
  • the techniques described herein relate to a method, wherein the input regressor further includes: an estimation error, , or cost function, J, wherein the estimation error, , or cost function, J, is calculated from a smoothed and filtered system output measurement, yd, and one of (1) the predicted system output, yest_ideal, (2) a total estimated system output, yest_out, the total estimated system output, yest_out, computed based on the control output, uout_k-1, from the previous iteration, or (3) the estimated system output, yest_SE.
  • the estimation error, , or cost function, J is calculated from a smoothed and filtered system output measurement, yd, and one of (1) the predicted system output, yest_ideal, (2) a total estimated system output, yest_out, the total estimated system output, yest_out, computed based on the control output, uout_k-1, from the previous iteration, or (3) the estimated system output, yest_SE.
  • the techniques described herein relate to a method, wherein the estimated model parameter tensor, ⁇ , is based at least in part on an estimation error, , or a cost function, J, and wherein the estimation error, , or the cost function, J, are calculated from two or more of (1) the system output measurement, ymeas, (2) estimated system output, yest_SE, and (3) the reference signal, r.
  • the techniques described herein relate to a non-transient computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to perform a method for adaptive control, the method including: applying one or more estimation laws to an input regressor to estimate an estimated model parameter tensor, ⁇ , for a nonlinear model, wherein the nonlinear model is a function of the estimated model parameter tensor, ⁇ , and wherein the estimated model parameter tensor, ⁇ , includes estimated parameters of the nonlinear model; generate a possible control signal, uSE, or an internal possible control signal, uSE_desired, using a control portion of the nonlinear model; receive (1) a linear time varying (LTV) system, Wm, corresponding to a reference signal, r, of the input regressor, and (2) the possible control signal, uSE_k, or the internal possible control signal, uSE_desired; generating one or more of (1) a predicted system
  • LTV linear time
  • the techniques described herein relate to an adaptive engine configured to receive a series of reference signals and in response provide a control to one or more actuators controlling parameters of a power system
  • the adaptive engine including : an adaptation law generator taking an input regressor, ⁇ , and generating a plurality of possible control signals, use, as a function of the input regressor, ⁇ , applied to various combinations of estimation laws and control laws; at least one nonlinear model producing an estimated system output, yest_se, for each of the combinations; and a selector module configured to select a best one, or best combination, of the possible control signals, use, based on at least one of the estimated system outputs, yest_se.
  • the techniques described herein relate to an adaptive engine, wherein the power system is configured to ignite and/or sustain a plasma.
  • the techniques described herein relate to an adaptive engine, wherein the adaptation law generator produces an estimated model parameter tensor for each of the estimation laws, and wherein each of the plurality of possible control signals, use, is based on one of the estimated model parameter tensors.
  • the techniques described herein relate to an adaptive engine, wherein each of the estimated model parameter tensors is based on an estimation error, , or cost function, J, that is a function of a total estimated system output, yest_out.
  • the techniques described herein relate to an adaptive engine, wherein the total estimated system output, yest_out, is based on a combination of the estimated system outputs, yest_se.
  • the techniques described herein relate to an adaptive engine, wherein the combination of the estimated system outputs, yest_se, is a weighted average of the estimated system outputs, yest_se.
  • the techniques described herein relate to an adaptive engine, wherein the selector module is configured to select a best one of the possible control signals, use, by calculating an estimated system error, , or system cost function, Jout, for each of the possible control signals, use, based on
  • the techniques described herein relate to an adaptive engine, wherein the selector module is configured to select a best combination of the possible control signals, use, by calculating an estimated system error, , or system cost function, Jout, for each combination, based on
  • the techniques described herein relate to an adaptive engine, wherein the best combination is a topology of two or more of the possible control signals, use, selected from an average, weighted average, or summation or the two or more of the possible control signals, use.
  • the techniques described herein relate to an adaptive engine including : an adaptation law generator taking an input regressor, ⁇ , and generating a plurality of possible control signals, use, as a function of the input regressor, ⁇ , applied to various combinations of estimation laws and control laws; at least one nonlinear model producing an estimated system output, yest_se, for each of the combinations; and a selector module configured to select one of the possible control signals, use, that minimizes an estimated system error, , as a control, uout.
  • the techniques described herein relate to an adaptive engine, further including one or more actuators of a power system controlled by the control, uout.
  • the techniques described herein relate to an adaptive engine, wherein the power system is configured to ignite and/or sustain a plasma.
  • the techniques described herein relate to an adaptive engine, wherein the estimated system error, , is calculated from two or more of (1) measured system outputs, (2) the estimated system output, yest_se, and (3) a reference signal from the input regressor, ⁇ .
  • the techniques described herein relate to an adaptive engine, wherein the adaptation law generator includes a plurality of combinations of estimation laws and control laws, each combination producing one of the possible control signals, use.
  • the techniques described herein relate to an adaptive engine, wherein the control laws are configured to implement a control portion of the nonlinear model to produce the estimated system output, yest_se, for each of the combinations, based on a time-varying linear system.
  • the techniques described herein relate to an adaptive engine including : an adaptation law generator taking an input regressor, ⁇ , and generating a plurality of possible control signals, use, as a function of the input regressor, ⁇ , applied to various combinations of estimation laws and control laws; at least one nonlinear model producing an estimated system output, yest_se, for each of the combinations; and a selector module configured to select as a control, uout, a combination of two or more of the possible control signals, use, the combination being one that minimizes an error or cost function based on two or more of: a reference signal, r, from the input regressor, ⁇ , measured system output, ymeas, from the input regressor, ⁇ , and the estimated system output yest_se.
  • the techniques described herein relate to an adaptive engine, further including one or more actuators of a power system controlled by the control, uout. [00143] In some aspects, the techniques described herein relate to an adaptive engine, wherein the power system is configured to ignite and/or sustain a plasma. [00144] In some aspects, the techniques described herein relate to an adaptive engine, wherein the combination is an average, weighted average, multiplication, or difference. [00145] In some aspects, the techniques described herein relate to an adaptive engine, wherein the input regressor, ⁇ , includes the reference signal, r, a measured system output, ymeas, from a previous iteration, and a control, uout, from a previous iteration.
  • the techniques described herein relate to an adaptive engine configured to receive a reference waveform and provide a control to one or more actuators
  • the adaptive engine including: an estimation law module configured to receive an input regressor, the input regressor including: a reference signal, r, a system output measurement, ymeas, an estimated system output, yest_out_k-1, for a previous iteration, an estimated delay, and a control output, uout_k-1, from a previous iteration; the estimation law module configured to: apply one or more estimation laws to the input regressor to produce a plurality of estimated model parameter tensors, ⁇ , for a nonlinear model; compute an estimation error, , or a cost function, J, using the system output measurement, ymeas, and the estimated system output for the previous iteration, yest_out_k-1; determine a model order based at least in part on the estimation error, , or the cost function, J, and the estimated delay;
  • the techniques described herein relate to an adaptive engine, wherein the possible control signal, uSE_k, from each of the first and second control law modules is based on a feed-forward control signal, uFF_k, and a control signal, uPID_k, corresponding to a Proportional-Integral-Derivative (PID) tuning control law.
  • PID Proportional-Integral-Derivative
  • the techniques described herein relate to an adaptive engine, wherein the first control law module is configured to: determine a plurality of controller parameters, map one or more of: a first estimated model parameter tensor, ⁇ , from the plurality of estimated model parameter tensors to the plurality of controller parameters, and the plurality of controller parameters to a plurality of coefficients for the nonlinear model; and estimate the plurality of coefficients for the nonlinear model based at least in part on determining the plurality of controller parameters and the mapping.
  • the first control law module is configured to: determine a plurality of controller parameters, map one or more of: a first estimated model parameter tensor, ⁇ , from the plurality of estimated model parameter tensors to the plurality of controller parameters, and the plurality of controller parameters to a plurality of coefficients for the nonlinear model; and estimate the plurality of coefficients for the nonlinear model based at least in part on determining the plurality of controller parameters and the mapping.
  • the techniques described herein relate to an adaptive engine, wherein the first control law module is configured to: determine an estimated process model based on the first estimated model parameter tensor, ⁇ , the plurality of controller parameters, and the input regressor, wherein the estimated process model includes the plurality of coefficients for the nonlinear model and the model order; and use the estimated process model to produce the possible estimated system output, yest_SE, based upon the plurality of coefficients for the nonlinear model and the estimated delay.
  • the techniques described herein relate to an adaptive engine, wherein the second control law module is configured to: determine if the model order corresponds to a lowest estimation error, , or a lowest cost function, J; upon determining that the model order corresponds to the lowest estimation error, , or a lowest cost function, J, determine an estimated model parameter tensor, ⁇ , from the plurality of estimated model parameter tensors based on the model order and the estimation error, , or the cost function, J; and produce the estimated system output, yest_SE, based upon the model order and the estimated model parameter tensor, ⁇ , from the plurality of estimated model parameter tensors.
  • the techniques described herein relate to an adaptive engine, wherein the second control law module is further configured to: map the estimated model parameter tensor, ⁇ , to a plurality of coefficients for the nonlinear model; map, based at least in part on the model order, a plurality of controller parameters to the plurality of coefficients for the nonlinear model; and use the plurality of coefficients for the nonlinear model, the plurality of controller parameters, and the estimated delay to produce the possible control signal uSE_k.
  • the techniques described herein relate to an adaptive engine, wherein the first control law module includes a Control Then Output Estimation (CTOE) module and the second control law module includes an Output Estimation Then Control (OETC) module.
  • CTOE Control Then Output Estimation
  • OETC Output Estimation Then Control
  • the techniques described herein relate to an adaptive engine, wherein the estimated system output, yest_SE, for the first control law module is based on applying a previous iteration of the possible control signal, uSE_k -1, to the nonlinear model.
  • the techniques described herein relate to an adaptive engine, wherein the possible control signal, uSE_k, from the second control law module is based at least in part on the estimated system output, yest_SE, for a current iteration.
  • the techniques described herein relate to an adaptive engine, further including: a non-linear compensator coupled between the control law sub-engine and the CSC, wherein the non-linear compensator is configured to compensate for non-linearities in one or more of the possible control signals, uSE, and the estimated system outputs, yest_SE, corresponding to each of the first and second control law modules.
  • the techniques described herein relate to an adaptive engine, wherein the nonlinear model includes a control portion and an estimation portion, and wherein each of the control portion and the estimation portion is a function of the plurality of estimated parameter tensors, ⁇ .
  • the techniques described herein relate to an adaptive engine, wherein the estimation portion is also a function of a structure of a time varying linear system, Wm.
  • the techniques described herein relate to an adaptive engine, wherein the one or more estimation laws are a function of the estimation error, , or the cost function, J.
  • the techniques described herein relate to an adaptive engine, wherein, the selector module is configured to receive one or more other possible control signals, uSE, from one or more other control law sub-engines, the selector module further includes a tensor synchronization and coherency module configured to receive an exogenous signal, and the exogenous signal is applied to the two or more possible control signals, uSE_k, and the one or more other possible control signals, uSE, to smooth transitions between possible control signals, uSE, input to the selector module.
  • the selector module is configured to receive one or more other possible control signals, uSE, from one or more other control law sub-engines
  • the selector module further includes a tensor synchronization and coherency module configured to receive an exogenous signal, and the exogenous signal is applied to the two or more possible control signals, uSE_k, and the one or more other possible control signals, uSE, to smooth transitions between possible control signals, uSE, input to the selector module.
  • the techniques described herein relate to a method of adaptive control, including: receiving an input regressor, the input regressor including: a reference signal, r, a system output measurement, ymeas, an estimated system output, yest_out_k-1, for a previous iteration, an estimated delay, and a control output, uout_k-1, from a previous iteration; applying one or more estimation laws to the input regressor to estimate a plurality of estimated model parameter tensors, ⁇ , for a nonlinear model, wherein the nonlinear model is a function of the plurality of estimated model parameter tensors, ⁇ , and wherein each estimated model parameter tensor, ⁇ , includes estimated parameters of the nonlinear model; computing an estimation error, , or a cost function, J, using the system output measurement, ymeas, and the estimated system output for the previous iteration, yest_out_k-1; determining a model order based at
  • the techniques described herein relate to a method, wherein the selecting is based at least in part on a predicted error derived from each of the possible estimated system outputs, yest_SE.
  • the techniques described herein relate to a method, wherein each estimation portion is also a function of a structure of a time varying linear system, Wm, and wherein each of the one or more estimation laws is a function of the estimation error, , or the cost function, J.
  • each possible control signal, uSE_k is based on a feed-forward control signal, uFF_k, and a control signal, uPID_k, corresponding to a Proportional-Integral- Derivative (PID) tuning control law.
  • PID Proportional-Integral- Derivative
  • the techniques described herein relate to a non-transient computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to perform a method for adaptive control, the method including: receiving an input regressor, the input regressor including: a reference signal, r, a system output measurement, ymeas, an estimated system output, yest_out_k-1, for a previous iteration, an estimated delay, and a control output, uout_k-1, from a previous iteration; applying one or more estimation laws to the input regressor to estimate a plurality of estimated model parameter tensors, ⁇ , for a nonlinear model, wherein the nonlinear model is a function of the plurality of estimated model parameter tensors, ⁇ , and wherein each estimated model parameter tensor, ⁇ , includes estimated parameters of the nonlinear model; computing an estimation error, , or a cost function, J, using the system output measurement,
  • each possible control signal, uSE_k is based on a feed-forward control signal, uFF_k, and a control signal, uPID_k, corresponding to a Proportional-Integral-Derivative (PID) tuning control law.
  • PID Proportional-Integral-Derivative
  • the techniques described herein relate to an adaptive engine configured to receive a reference waveform and provide a control to one or more actuators
  • the adaptive engine including: an estimation law module configured to receive an input regressor, the input regressor including: a reference signal, r, a system output measurement, ymeas, and a control output, uout_k-1, from a previous iteration; the estimation law module configured to apply one or more estimation laws to the input regressor to produce two or more estimated model parameter tensors, ⁇ , for a nonlinear model of the one or more actuators or a power system controlled by the one or more actuators; a control law sub-engine including a first control law module and a second control law module; a control law selector and combiner (CSC) coupled to outputs of the first and second control law modules and configured to receive a possible control signal, uSE_k from each of the first and second control law modules; wherein a non-linear model is configured to
  • the techniques described herein relate to an adaptive engine, wherein the control law sub-engine further includes a third control law module.
  • the techniques described herein relate to an adaptive engine, wherein: the first control law module includes an adaptive inverse control law (AIL) module configured to receive a first estimated model parameter tensor from the estimation law module, the second control law module includes an eigen control law (EL) module configured to receive a second estimated model parameter tensor from the estimation law module, and the third control law module includes a penalty law (PL) module configured to receive a third estimated model parameter tensor from the estimation law module.
  • AIL adaptive inverse control law
  • EL eigen control law
  • PL penalty law
  • the techniques described herein relate to an adaptive engine, wherein applying the AIL control law module includes: computing one or more of a measurement error, e, and a cost function, J, wherein the measurement error, e, is
  • the techniques described herein relate to an adaptive engine, wherein applying the AIL control law module further includes: producing the possible control signal, uSE_k, corresponding to the AIL control law module based at least in part on a linear system representation of the reference signal, r, an internal model representing a desired or reference plasma process performance, Qm, the control output from the previous iteration, uout_k-1, and one or more of the measurement error, e, and the cost function, J.
  • the techniques described herein relate to an adaptive engine, wherein the possible control signal, uSE_k, corresponding to the AIL control law module is applied to the nonlinear model to calculate the possible estimated system output, yest_SE, corresponding to the AIL control law module.
  • applying the EL module includes: computing an estimated output error; computing the possible control signal, uSE_k, corresponding to the EL module based at least in part on an internal model representing a desired or reference plasma process performance, Qm, a linear time varying (LTV) signal corresponding to the reference signal, r, the estimated output error, and the second estimated model parameter tensor, ⁇ .
  • the techniques described herein relate to an adaptive engine, wherein applying the PL module includes: computing an estimated output error; computing the possible control signal, uSE_k, based at least in part on a penalty tensor, R, the estimated output error, the third estimated model parameter tensor, ⁇ , and an internal model representing a desired or reference plasma process performance, Qm.
  • the techniques described herein relate to an adaptive engine, wherein the possible control signal, uSE_k, corresponding to the PL module is applied to the nonlinear model to calculate a possible estimated system output, yest_SE, corresponding to the PL module.
  • the techniques described herein relate to an adaptive engine, wherein the penalty and eigen control law modules are used in parallel. [00176] In some aspects, the techniques described herein relate to an adaptive engine, wherein the CSC selects one of, or a combination of the possible control signals, uSE_k, output from each of the EL, PL, and AIL modules predicted to minimize error.
  • the techniques described herein relate to an adaptive engine, wherein, the selector module is configured to receive one or more other possible control signals from one or more other control law sub-engines, the selector module further includes a tensor synchronization and coherency module configured to receive an exogenous signal, and the exogenous signal is applied to the possible control signals, uSE_k, and the one or more other possible control signals to smooth transitions between possible control signals input to the selector module.
  • the techniques described herein relate to an adaptive engine, wherein the tensor synchronization and coherency module computes an estimated output error based at least in part on the exogenous signal.
  • the techniques described herein relate to an adaptive engine, wherein the estimation law module is optimized for unstable zero dynamic situations seen in nonlinear systems. [00180] In some aspects, the techniques described herein relate to an adaptive engine, wherein the estimation law module is configured to achieve rapid convergence during stable and unstable zero-dynamics.
  • the techniques described herein relate to a method of adaptive control, including: receiving an input regressor, the input regressor including: a reference signal, r, a system output measurement, ymeas, and a control output, uout_k-1, from a previous iteration; applying one or more estimation laws to the input regressor to estimate two or more estimated model parameter tensors, ⁇ , for a nonlinear model, wherein the nonlinear model is a function of the two or more estimated model parameter tensors, ⁇ , and wherein each of the two or more estimated model parameter tensors, ⁇ , includes estimated parameters of the nonlinear model; receiving two or more possible control signals, uSE_k, each using a corresponding control portion of the nonlinear model, and wherein each control portion is a function of one of the two or more estimated model parameter tensors, ⁇ , of the nonlinear model; generating two or more estimated system outputs, yest
  • the techniques described herein relate to a method, wherein each estimation portion is also a function of a structure of a time varying linear system, Wm, and wherein each of the one or more estimation laws is a function of an estimation error, , or a cost function, J. [00183] In some aspects, the techniques described herein relate to a method, wherein generating each of the two or more possible estimated system outputs, yest_SE, is further based upon applying the nonlinear model to (1) a previous iteration of the possible control signal, uSE_k-1, from one of the two or more control portions, or (2) the possible control signal uSE_k, from one of the two or more control portions.
  • the techniques described herein relate to a non-transient computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to perform a method for adaptive control, the method including: receiving an input regressor, the input regressor including: a reference signal, r, a system output measurement, ymeas, and a control output, uout_k-1, from a previous iteration; applying one or more estimation laws to the input regressor to estimate two or more estimated model parameter tensors, ⁇ , for a nonlinear model, wherein the nonlinear model is a function of the two or more estimated model parameter tensors, ⁇ , and wherein each of the two or more estimated model parameter tensors, ⁇ , includes estimated parameters of the nonlinear model; receiving two or more possible control signals, uSE_k, each using a corresponding control portion of the nonlinear model, and wherein each control portion is a function of one of the
  • each estimation portion is also a function of a structure of the time varying linear system, Wm, and wherein each of the one or more estimation laws is a function of an estimation error or a cost function, J.
  • FIG.1 illustrates a plasma processing system
  • FIG.2 illustrates a pulse waveform for the system of FIG.1
  • FIG.3 illustrates a method of controlling the system of FIG.1
  • FIG 4 Illustrates a plasma processing system having an adaptive engine configured to control one or more actuators; [00191] FIG.
  • FIG. 5A shows an embodiment of an adaptive engine such as the one shown in FIG.4; [00192] FIG.5B shows an embodiment of an adaptive engine where an estimation portion of the nonlinear model is processed in the estimation law modules; [00193] FIG. 5C shows an embodiment of an adaptive engine where multiple estimation law modules provide outputs to a single control law module; [00194] FIG.6 illustrates an alternative adaptive engine that splits control samples, and certain aspects of the nonlinear model, into frames; [00195] FIG.7 illustrates a method of adaptive control; [00196] FIG.8A illustrates further detail of certain embodiments of the estimation law modules and the corresponding estimation laws; [00197] FIG.8B illustrates further detail of certain embodiments of the estimation law modules and the corresponding estimation laws; [00198] FIG.
  • FIG. 9 illustrates a method of operating the herein disclosed adaptive engine having a bifurcated nonlinear model
  • FIG.10A shows an embodiment of an adaptive engine focusing on details of a Lyapunov control law module or sub-engine
  • FIG. 10B shows a variation on FIG. 10A, where a derivative of the estimated model parameter tensor is also calculated and used
  • FIG.11A depicts an example of an adaptive engine implementing a TARC control law sub-engine, according to various aspects of the disclosure
  • FIG. 11B illustrates a detailed view of an Adaptive Inverse Laws (AIL) control law module of the TARC control law sub-engine in FIG.11A, according to various aspects of the disclosure
  • FIG.11C illustrates an alternate view of an Adaptive Inverse Laws (AIL) control law module of the TARC control law sub-engine in FIG.11A, according to various aspects of the disclosure
  • FIG. 11C illustrates an alternate view of an Adaptive Inverse Laws (AIL) control law module of the TARC control law sub-engine in FIG.11A, according to various aspects of the disclosure.
  • FIG. 12 illustrates an example of a method for controlling a nonlinear system using the TAC control law sub-engine, according to various aspects of the disclosure
  • FIG.13A illustrates a pre-computation block of the ATML module of the TARC control law sub-engine, in accordance with one or more implementations
  • FIG.13B illustrates a block diagram of the Eigen control laws module of the TARC control law sub-engine, in accordance with one or more implementations
  • FIG.13A illustrates a pre-computation block of the ATML module of the TARC control law sub-engine, in accordance with one or more implementations
  • FIG.13B illustrates a block diagram of the Eigen control laws module of the TARC control law sub-engine, in accordance with one or more implementations
  • FIG.13A illustrates a pre-computation block of the ATML module of the TARC control law sub-engine, in accordance with one or more implementations
  • FIG.13B illustrates a block diagram of the Eigen control laws module of the TARC control law sub-engine
  • FIG. 13C illustrates a block diagram showing the penalty control laws module of the TARC control law sub-engine, in accordance with one or more implementations;
  • FIG.14 depicts a block diagram of an adaptive engine showing the details of the TFPA control law sub-engine, in accordance with one or more implementations;
  • FIG. 15 illustrates an example of a method for controlling a nonlinear system using the TFPA control law sub-engine, in accordance with one or more implementations;
  • FIG.16 illustrates a block diagram of an adaptive PID control system, in accordance with one or more implementations; [00211] FIG.
  • FIG. 17A illustrates an example of a method for controlling a nonlinear system using the adaptive PID control system in FIG.16, in accordance with one or more implementations;
  • FIG. 17B illustrates another example of a method for controlling a nonlinear system using the adaptive PID control system in FIG. 16, in accordance with one or more implementations;
  • FIG.18 illustrates a block diagram of an adaptive engine implementing an adaptive PID control law sub-engine, in accordance with one or more implementations; [00214] FIG.
  • FIG. 19 illustrates a block diagram of an adaptive engine showing the details of the CTOE control law module in FIG.18, in accordance with one or more implementations;
  • FIG.20 depicts a block diagram showing an example of how a control law is implemented in the CTOE control law module in FIG. 18, according to various aspects of the disclosure;
  • FIG.21 depicts a block diagram of an adaptive engine showing a detailed view of the OETC control law module in FIG.18, according to various aspects of the disclosure;
  • FIG. 22 illustrates an example of a method 2200 for controlling a nonlinear system using an ATIMC control law sub-engine, in accordance with one or more implementations; [00218] FIG.
  • FIG. 23 illustrates an example of an adaptive engine implementing an ATIMC control law sub-engine, in accordance with one or more implementations; [00219] FIG.24 illustrates another example of an adaptive engine implementing an ATIMC control law sub-engine, in accordance with one or more implementations; [00220] FIG. 25 illustrates a detailed view of a first mapping module of the ATIMC control law sub-engine in FIG. 24, in accordance with one or more implementations; [00221] FIG.26 illustrates a detailed view of a first mechanism implemented in the ATIMC control law sub-engine in FIG. 24, in accordance with one or more implementations; [00222] FIG. 27 illustrates a detailed view of a second mapping module of the ATIMC control law sub-engine in FIG.
  • FIG. 28 illustrates a detailed view of a third mapping module of the ATIMC control law sub-engine in FIG. 24, in accordance with one or more implementations;
  • FIG. 29 illustrates a detailed view of a second mechanism implemented in the ATIMC control law sub-engine in FIG. 24, in accordance with one or more implementations;
  • FIG. 30 illustrates a detailed view of a fourth mapping module of the ATIMC control law sub-engine in FIG. 24, in accordance with one or more implementations;
  • FIG.31 is a block diagram depicting an adaptive fuzzy controller; [00227] FIG.
  • FIG. 32 is a flowchart depicting a method for controlling a plasma processing system with the adaptive fuzzy controller depicted in FIG.31;
  • FIG.33 is a graphical representation of generic membership functions that may be used in the adaptive fuzzy controller depicted in FIG.31;
  • FIG.34 is a graphical representation of a specific example of membership functions that may be used in the adaptive fuzzy controller depicted in FIG.31;
  • FIG.35 is a graphical representation of an example of fuzzification of a rule;
  • FIG. 36 is a graphical representation of an example of fuzzification of another rule; [00232] FIG.
  • FIG. 42 is a block diagram depicting an example zooming and shifting module that may be used to realize the zooming and shifting module depicted in FIG. 39; [00238] FIG. 43 shows a plot illustrating the concept of the bifurcated model for the estimation portion; [00239] FIG.44A shows a graph of the desired reference signal in FIG.45, where a control parameter is closer to the desired reference signal during pulse 2; [00240] FIG.44B shows a graph of the desired reference signal of FIG.45, where the controlled parameter achieves the controlled output; [00241] FIG.44C shows a graph of the desired reference signal of FIG.45, where the controlled parameter achieving the controlled output; [00242] FIG.
  • FIG. 45 shows an example of an actuator output that is produced in response to a desired reference signal where the desired reference signal;
  • FIG.46 shows an illustrative example of operation of an adaptive engine according to embodiments of this disclosure;
  • FIG. 47 illustrates a method of operating a sub-engine such as the Lyapunov sub-engine [00245]
  • FIG.48 shows a block diagram depicting physical components that may be utilized to realize the adaptive engine according to an exemplary embodiment;
  • FIG. 49 illustrates a method of adaptive control where mappings of the control laws are empirically derived; [00247] FIG.
  • FIG. 50 shows another alternative where the mapping function also determines the estimated system output, yest_se;
  • FIG.51 shows a mapping function as used during a boot up phase of an alternative adaptive engine;
  • FIG.52 shows a mapping function as used during an adaptation phase of an alternative adaptive engine ;
  • FIG.53 shows a mapping function as used during an adaptation phase of an alternative adaptive engine.
  • a tensor is a multi-dimensional array with a uniform type. In other words, a tensor is an algebraic object that describes a multilinear relationship between sets of algebraic objects related to a vector space.
  • Objects that tensors may map between include vectors and scalars, and even other tensors.
  • An example of a zero-order tensor is a fixed power setpoint, while a first-order tensor is a vector, such as phasor representing the phase shift between two waveforms (e.g., voltage and current).
  • a second-order tensors is a matrix, where two matrices might be used to represent estimated future values of reflected power and load impedance at two future times, and where multiplying those matrices together may be used as a simplified mathematical operation to predict a trajectory of reflected power and load impedance into the future.
  • tensors provide a way to simplify complex sets of data and mathematical operations, which not only helps simplify complex MIMO applications in this disclosure, but also allows for parallel processing and more efficient use of limited processing resources for predicting nonlinear dynamics in power and plasma systems.
  • the index “k” will be used to specify an iteration, such that a timing of a generalized variable can be described with the addition of k. For instance, the control for a previous iteration may be denoted uout_k-1 and uout_k for a current iteration.
  • an estimation error, and an estimated system output error can each be replaced by a cost function, J or Jout, respectively. Accordingly, this disclosure will often only discuss an estimation error and a system output error and these references should be understood to also include cost function variations of these errors. It should be noted that the hat symbol over the “e” represents an estimation.
  • Model Reference Adaptive Control consists of a reference model which produces the desired output, and the difference between the plant output and the reference output is then used to adjust the control parameters and the control input directly.
  • MRAC is often in continuous-time domain, and for deterministic plants.
  • Self -Tuning Control estimates system parameters and then computes the control input from the estimated parameters. STC is often in discrete-time and for stochastic plants.
  • STC often has a separate identification procedure for estimation of the system parameters, and is referred to as indirect adaptive control, while MRAC adapts to the changes in the controller parameters, and is referred to as direct adaptive control.
  • MRAC adapts to the changes in the controller parameters, and is referred to as direct adaptive control.
  • This disclosure presents an updated adaptive engine that can combine influences from multiple estimation laws in a manner that addresses certain challenges of an input waveform and/or system to be controlled, such as nonlinear systems, nonlinear systems with uncertainty, linear systems with uncertainty, and systems with unknown variations in plant parameters.
  • FIG.4 shown is a block diagram depicting aspects of a predictive and tensorial control approach that may be utilized in connection within a plasma processing system 400 (though systems other than a plasma load can also be controlled by the actuator(s) 408). Shown in FIG.4 is an adaptive engine 420, which is coupled to a user interface 108, one or more actuator(s) 408, and sensors 410. Also coupled to the adaptive engine 420 is a delay/amplitude estimator 404.
  • the delay/amplitude estimator 404 may be further separated into functional subcomponents or consolidated, and the functionality of the delay/amplitude estimator 404 may be carried out in pipelining-type approaches or may be serially effectuated, which one of ordinary skill in the art, in view of this disclosure, will understand.
  • FIG.3 is a flow chart depicting steps that may be traversed in connection with embodiments of the disclosure herein.
  • the user interface 108 is configured to receive (Block 302) a reference signal, r, defining target values (or reference signals) for one or more controlled parameters that is applied to one or more controlled outputs within the system.
  • the reference signal, r can be an n-dimensional entity where n > 0.
  • a one-dimensional reference signal, r is more typically referred to as a reference signal.
  • r can also refer to a series of setpoints or a setpoint stream.
  • the target values may represent multi-level pulsed waveforms or any arbitrary waveform.
  • the controlled outputs within the system 400 may include a load output 430, which is a node that is coupled to the nonlinear and/or chaotic load 104, and/or the controlled outputs may include one or more actuator(s) outputs 432.
  • the adaptive engine 420 may be used to control one or more controlled parameters at the load output 430 that may include power-related parameters including, for example and without limitation, DC power, forward power, reflected power, reflection coefficient, frequency, and current.
  • the adaptive engine 420 may be used to control controlled parameters that are applied at the actuator(s) outputs 432.
  • the controlled parameters applied to actuator(s) outputs 432 may include the power-related parameters listed above (in connection with the output 430 (load output)) and control-related parameters such as a phase-control signal, frequency control signal, and voltage-control signals.
  • one or more particular actuator outputs 432 may feed as an input 434 to one or more other actuators 408.
  • the actuator outputs 432 need not have similar response times, for instance, but not limited to, where one actuator drives a fast power source and a second actuator drives a slower rail voltage.
  • at least one sensor 410 is configured to obtain a measure (Block 304) of the parameters such as the power-related parameters and the control-related parameters listed above.
  • the at least one sensor 410 may include, for example and without limitation, directional couplers, VI sensors, current transducers, and simple voltage sensors. Those of ordinary skill in the art will appreciate that the signals from the at least one sensor 410 may be sampled and converted into digital format for use by the adaptive engine 420.
  • a delay/amplitude estimator 404 is configured to calculate a delay (Block 306) between the target values of the reference signal 405 and corresponding actual parameter values achieved at the controlled output (i.e., measured system outputs).
  • the delay/amplitude estimator 404 is also configured to provide, based upon the delay, a time-shifted amplitude error 452 indicative of an error between the target values and the actual parameter values (Block 308).
  • the adaptive engine 420 is beneficially configured to adjust at least one of the actuators 408 (based upon the delay 450 (at Block 306) and the time-shifted amplitude error 452 (at Block 308)) in advance of when an actual parameter value is needed (at an actuator output of the at least one actuator 408) while maintaining the controlled parameter at the controlled output within a threshold range (Block 301).
  • an actuator output 4534 e.g., rail voltage, V rail
  • the desired reference signal comprises three pulses and each pulse includes three target values (desired at the controlled output for a controlled parameter): state 1, state 2, and state 3.
  • Each state of the desired reference signal corresponds to a target value of a controlled parameter at the output 430 (e.g., forward power).
  • a controlled parameter at the output 430 e.g., forward power.
  • the actuator output 4534 is adjusted, at t 1 , in very close connection with a time when it is needed--at the change in the reference signal from state 1 to state 2. But during pulse 2, the actuator output is adjusted, at t 2 , in advance of when the actuator output 4534 needs to be increased to produce the target value of state 2 at the output 430.
  • the controlled parameter e.g., forward power
  • the controlled output e.g., load output 430
  • the desired reference signal faster than prior control methodologies that attempt to minimize energy dissipation (using actuator output 4562), and faster than prior methods that attempt to maximize a speed of response (using actuator output 4564).
  • the predictive functionality of the delay/amplitude estimator 404 enables the adaptive engine 420 to adjust the actuator (e.g., rail voltage) in advance of when it is needed by predicting the effects of adjusting the actuator in advance of when it is needed so that adverse consequences (e.g., reference signal errors or over voltage conditions) are avoided.
  • FIGS.44A, 44B, 44C shown are three graphs, and each of the three graphs depicts the same desired reference signal that is shown in FIG. 45 with the same three desired states per pulse.
  • FIGS. 44A depicts the controlled parameter actually achieved at the controlled output using the predictively produced actuator output 4534
  • FIG.44B depicts the controlled parameter actually achieved at the controlled output using the actuator output 4562
  • FIG.44C depicts the controlled parameter actually achieved at the controlled output using the actuator output 4564.
  • the controlled parameter is closer to the desired reference signal during pulse 2 when the controlled actuator is controlled (in advance of when it is needed) to produce the actuator output 4534 as compared to both the controlled parameter values in FIGS. 44B and 44C.
  • the delay/amplitude estimator 404 may be implemented with different levels of complexity, but in general, the delay/amplitude estimator 404 is configured to detect a delay 450 between a desired reference signal (from the user interface 108) and the time when the actual output of one or more actuators 408 reaches the reference signal.
  • the reference may be a time varying streaming reference signal (e.g., a reference signal that mirrors the pulses and states in FIG.2) and, as discussed further herein, the delay 450 may be determined based upon a cross correlation between the streaming reference signal and the actual time-varying output of one or more actuators 408 in the system.
  • the delay 450 may be a simple delay (e.g., between a reference signal and an output when the reference signal is achieved) or the delay 450 based on several constituent delay components including delays within an actuator 408 and/or external delays outside of the actuator 408.
  • the delay/amplitude estimator 404 may determine a time-shifted amplitude error 452, which is generally indicative of an error value based upon a difference between the streaming reference signal and the output that is determined after the streaming input waveform and an output waveform are relatively time-shifted (based upon the delay 450) so that, on an ongoing basis, a portion of the output waveform is aligned with the corresponding portion of the reference signal that effectuated the portion of the output waveform.
  • an error value represented as the time-shifted amplitude error 452 may be calculated.
  • the adaptive engine 420 utilizes the delay 450 and the time-shifted amplitude error 452 to predict how the control signal(s) and or actuator output(s) will react to potential control signal changes--in advance of actually changing the control signals. By predicting how the actuator outputs will be affected (in advance of actually changing the control signals to the actuators 408) the adaptive engine 420 may adjust the control signals to achieve desired results.
  • the adaptive engine 420 may adjust the control outputs to: reduce a time it takes to achieve a desired output of the actuator(s); to reduce energy dissipation; to prevent damaging over voltage and/or over current conditions; and/or to achieve any desired balance between speed, accuracy, and energy.
  • FIG. 4 is a simplified depiction of what may be implemented on a tensorial level with many reference signals, many control signals, and many actuators 408.
  • the actuators may be higher-level actuators (such as generators, match networks, RF sources, and bias supplies) and lower-level constructs within the higher-level actuators.
  • a DC section and the power amplifier are examples of actuators within a generator that may be controlled (as discussed further herein as a non-limiting example).
  • the voltage of the DC section may be controlled, and a frequency of the power amplifier may be controlled using the adaptive engine 420.
  • the match network 116 is an example of an actuator 408, which also comprises actuators such as variable capacitors that may be controlled using of the delay estimation and predictive control aspects of the delay/amplitude estimator 404 and the adaptive engine 420, respectively.
  • variable capacitors of the match network 116 may be controlled in isolation (e.g., based upon reflected power) or in connection with a variable frequency drive of the generator 102 using the of the delay/amplitude estimator 404 and adaptive engine 420.
  • the bias supply 120 is an actuator 408, and the bias supply 120 comprises actuators 408 such as a power supply (e.g., to establish a rail voltage) and a switching-section to establish timing of a periodic asymmetrical voltage waveform. These actuators 408 of a bias supply may be controlled (using the estimation and prediction techniques of the delay/amplitude estimator 404 and adaptive engine, respectively) to control the bias supply 120.
  • actuators of the bias supply may be controlled in view of other actuators such as the RF source 118 and/or generator 102 to synchronize the bias supply 120, the RF source 118, and/or the generator 102 to achieve desired plasma processing recipe results and/or to prevent undesired plasma modulation (e.g., due to intermodulation frequencies).
  • various aspects of the delay estimation and predictive control, and/or adaptive control may enable direct, unhindered (or without response delay) control of a parallel multi-actuator or multi-knob nonlinear control system (such as the plasma processing systems 100, 400).
  • a controller utilizing the delay estimation, prediction, and/or adaptation may enable more responsiveness (e.g., maximize dynamic range in real time) and adaptability of a parallel multi-actuator nonlinear and/or chaotic control system.
  • the delay estimation and predictive aspects, as well as the adaptation aspects of this disclosure may enable improved controls (e.g., to maximize the speed of the response and achieve the shortest response time to reach a desired reference signal value, while also enabling stability and robustness) of a parallel multi-actuator nonlinear and/or chaotic control system.
  • the delay estimation and predictive aspects and adaptation aspects may also enable all of the above functions and advantages to be achieved even when some of the actuators of the control system are arbitrarily slower than other actuators of the control system.
  • Another aspect of the delay estimation and predictive and/or adaptive control of this disclosure may enable all of the above functions and advantages to be achieved even when multi-level pulsing with a number of states (going up to an arbitrary number) is desired, and/or arbitrary waveform tracking is required on a nonlinear and/or chaotic dynamic load. Yet another aspect may also enable all of the above functions and advantages to be achieved even while minimizing the control energy expended in the system. As discussed further herein, the delay estimation and predictive control aspects and/or adaptation aspects may also enable all of the above functions and advantages to be achieved while protecting hardware from faults relating to high dissipation, high currents, and/or high voltages.
  • Adaptive Engine At a high level, the adaptive engine splits, or bifurcates, adaptive control for highly nonlinear and/or chaotic systems, such as power supplies for plasma processing.
  • the adaptive engine starts with a nonlinear model of one or more actuators and/or a power system controlled by the one or more actuators, and defines two outputs of this nonlinear model: one for control, u se , and one for an estimated system output, y est_se , based on that control, u se .
  • Two parts of the nonlinear model that achieve these outputs can be referred to as a control portion and an estimation portion.
  • control and estimation portions of the nonlinear model can be written as: [00271] (Control Portion of Nonlinear Model) [00272] (Estimation Portion of Nonlinear Model) [00273]
  • the control portion is a function of estimated parameter values for the nonlinear model, referred to as an estimated model parameter tensor, ⁇ , as well as an input regressor, ⁇ , that can include elements such as a reference waveform, r.
  • the estimation portion is dependent on the answer to the control portion as well as a time-varying linear system, W m .
  • the time-varying linear system, W m is composed of the following system of equations: [00274] (Time-Varying Linear System, W m ) [00275] Where x is an internal state and where A, B, and C are matrices whose structure defines characteristics of the nonlinear model, and whose elements can include 1, 0, ⁇ , and fixed coefficients. In some cases, the structure may include changing an element from ⁇ to a fixed coefficient, where it is known that adaptation of this element of the estimated model parameter tensor, ⁇ , is not needed or doesn’t provide significant improvement.
  • the nonlinear portion is unknown, and this disclosure’s adaptive control seeks to minimize this unknown nonlinear portion via adaptation of the linear portion.
  • Adaptation of the linear portion can also be bifurcated via the use of frames.
  • the reference signal, r can be split into frames, each potentially having a different number of control samples or iterations, such that each frame allows a time-varying linear approximation of the nonlinear system behavior resulting from the reference signal, r, for that frame.
  • each frame s length is selected so as to optimize the linear approximation.
  • the time-varying linear approximation, or W m has a structure as noted above, that is selected for each frame.
  • This structure, or the structure of the A, B, and C matrices, determines large scale changes or shapes of the model.
  • the time-varying linear system, W m is also a function of the estimated model parameter tensor, ⁇ , which is modified, or adapted, at each control sample or iteration of the adaptive engine. So, while the structure of the time-varying linear system, W m , remains constant through a frame, ⁇ changes, and thus W m changes. These changes resulting from adaptation of ⁇ tend to be small compared to the changes resulting from the structure changing.
  • adaptation of the estimation model parameter tensor, ⁇ allows small nonlinear variations in system behavior to be modeled and processed in real-time, while larger variations in system behavior are modeled by changes in the W m structure, which change every frame. Because the structure only changes frame-by-frame, these values can be pre-processed and can use a processing resource with less power than one needed to process the estimated model parameter tensor, ⁇ , adaptation.
  • the structure of the time-varying linear system, W m can be processed on a CPU, while the adaptation of the estimated model parameter tensor, ⁇ , can be processed in real-time on an FPGA.
  • the estimated model parameter tensor, ⁇ begins with a set of initial conditions, and thus, the time-varying linear system, W m , and hence the nonlinear model, may form a very rough approximation of the nonlinear system behavior (i.e., outputs of the model may see some error from actual system behavior).
  • the adaptive engine guesses and tests values for the estimated parameter tensor, ⁇ , or adapts them, during a plurality of control samples or iterations, and as this occurs, the time-varying linear system, W m , becomes a better and better approximation of the nonlinear system behavior until the error (or the unknown nonlinear portion of W m ) fall below a threshold at which W m is considered to have converged and no further adaptation is needed (i.e., no further changes to ⁇ are performed).
  • the adaptive engine pre-processes a different nonlinear approximation (dependent on ⁇ ) of the system’s nonlinear behavior for each frame, and then within each frame, the adaptive engine adjusts the nonlinear approximation via adaptation of the estimated model parameter tensor, ⁇ , to bring the linear approximation into even closer alignment with the system’s nonlinear behavior.
  • the model output is power, and this can be estimated using an estimation portion of the model, which depends on W m and u se , though other outputs can also be handled by the models of this disclosure.
  • the time-varying linear system, W m can be bifurcated into a linear (dashed lines) and a nonlinear part (solid lines).
  • the linear part can be referred to as and depends on the estimated model parameter tensor, ⁇ , and the possible control signal, u se , both of which vary per control sample or iteration, and where the structure of this linear part changes with each new frame.
  • the unknown nonlinear part can be referred to as W m_non-linear (k), and oscillates with every control sample or iteration due to adaptation of the estimated model parameter tensor, ⁇ , but whose oscillation becomes smaller as the linear portion is adapted and the nonlinear model becomes a better and better approximation of the actual nonlinear system behavior.
  • W m_non-linear (k) of the time-varying linear system, W m becomes small enough to be ignored.
  • the nonlinear portion is likely large, but as the linear portion is adapted (as the estimated model parameter tensor, ⁇ , is adapted), the linear portion, becomes a better approximation of actual behavior and the unknown nonlinear portion or error is reduced until it falls below a threshold and the adaption is considered complete for that frame (i.e., convergence).
  • the adaptive engine adapts the linear portion of the time-varying linear system, W m , to be a very good approximation of W m , and the unknown nonlinear portion W m_non-linear (k) is small enough to ignore.
  • FIG.9 illustrates a method of operating the herein disclosed adaptive engine having a bifurcated nonlinear model.
  • the method 900 can include providing a system model (or “nonlinear model”) with a control portion, for generating possible control signals, u se , and an estimation portion for estimating estimated system outputs, y est_se (Block 902).
  • the time-varying linear system, W m can be bifurcated or split into a sum of a linear and a nonlinear portion and the control timeline can be split into frames of differing lengths (or number of control samples or adaptation iterations) (Block 904) with some processing of the nonlinear model occurring on a CPU or other slower resource and real-time aspects of the nonlinear model occurring on an FPGA or other faster resource.
  • a current frame can be supplied with a structure of the time-varying linear system, W m (Block 906).
  • time-varying linear system, W m the nonlinear portion of the time-varying linear system, W m , is effectively an unknown error and thus not used or considered in the processing (other than in attempt to minimize this error).
  • time-varying linear system, W m and the linear portion thereof, will be used interchangeably, with this simplification becoming more accurate as convergence occurs in each frame.
  • the structure of the time-varying linear system, W m can be pre-processed, for instance on a CPU, though it can also be accessed from an empirically-derived lookup table.
  • the structure of the time-varying linear system, W m remains constant through the current frame.
  • the estimation portion of the nonlinear model adapts within a frame as ⁇ changes (as the adaptive engine modifies ⁇ to minimize an error relative to measured system behavior) (Block 908).
  • This can involve calculating an estimation error, , or cost function, J, based on two or more of (1) measured system outputs, y meas , from a previous iteration, (2) estimated system outputs, y est_se , from a previous iteration, and (3) reference signal, r (Block 912).
  • Adaption can then involve applying an estimation law to at least the reference signal, r, and the estimation error, or cost function, J, to estimate an estimated model parameter tensor, ⁇ (Block 914).
  • This adaption (Blocks 912, 914, and 918 and Decision 916) continues through the entirety of the frame, and in turn, W m , is adapted throughout the frame (or until convergence is achieved).
  • the method 900 selects a next frame (Block 910), and a new structure of the time-varying linear system, W m , is provided into the model (Block 906), and adaptation of the estimated model parameter tensor, ⁇ , (Block 908) is carried out through this next frame until convergence.
  • FIG.5 shows an embodiment of an adaptive engine such as the one shown in FIG.4.
  • the adaptive engine 500 is configured to provide an adapted control signal, u out , to one or more actuators (e.g., actuator(s) 408 in FIG. 4), where the adapted control signal, u out , is configured to converge on a target parameter more quickly, such as a reference signal waveform, than is possible via known controllers.
  • actuators e.g., actuator(s) 408 in FIG. 4
  • control signal may have multiple components in a MIMO system (i.e., may be a tensor or may be tensorized), for simplicity it will be referenced in the singular throughout this disclosure, and those of skill in the art will be able to apply the adapted control signal, u out , to situations where one or more control signals are implemented (i.e., to a tensorial adapted control signs, u out ). Further, where the system being controlled presents nonlinearities and instabilities, such as found in a plasma control system, the adaptive engine 500 is able to adjust the amount and means of adaptation to avoid instability, even for instance, at the cost of slower convergence.
  • adaptive gain This will be referred to as “adaptation gain”.
  • different ones, numbers, and combinations of control laws can be applied to optimize the control signal, u out , for different signals and situations.
  • different estimation laws can be used to estimate parameters of a nonlinear model of the actuators and/or system controlled by the actuators.
  • the nonlinear model can be a function of an input regressor, including values such as a reference signal, and can also be a function of the estimated model parameters. Both the input regressor and the estimated model parameters are updated for each iteration, such that the nonlinear model is “adapted” for each iteration.
  • processing of the nonlinear model can be improved by creating frames of control samples or iterations, providing a different structure for the nonlinear model for each frame, and adapting the estimated model parameters for each iteration within a given frame.
  • a linear approximation of the nonlinear model can be used for each frame, thereby easing the resource usage of adapting the nonlinear model at each iteration.
  • the estimated model parameters can be used in the control laws, each control law applying the nonlinear model in a different way, to determine possible control signals, u se , and predict estimated system outputs, y est_se .
  • the nonlinear model can include a control portion, or calculation for a possible control signal, u se , and a prediction portion, or prediction of the system output, y est_se .
  • the nonlinear model can take the estimated model parameter tensor, ⁇ , as one of its inputs.
  • the first output, the possible control signal, u se can be passed from the control portion of the nonlinear model to the prediction portion of the nonlinear model to be used in the prediction of y est_se (the second output of the nonlinear model).
  • the possible control signal, u se , and the estimated system output, y est_se are then passed to the selector module and used to identify the different ones, numbers, and combinations of control laws (i.e., the possible control signals generated therefrom) to apply to generate the control signal, u out .
  • control laws i.e., the possible control signals generated therefrom
  • a nonlinear model, and two derivations thereof, seven estimation laws, and eight control laws will be used as examples, but these are in no way limiting of the vast numbers of models, estimation laws, and control laws that can be implemented. More important, is how the models, estimation laws, and control laws work together to generate a control signal, u out , from inputs such as reference signal, system output measurements, and previous control signals, to name a few non-limiting examples.
  • the adaptive engine 500 may use more aggressive means of adapting the control signal such that speed of convergence is prioritized over stability (i.e., some combinations of estimation laws and control laws may be given greater weight). As the measured signal approaches the reference signal, the adaptive engine 500 may decrease the priority given to rapid convergence, and instead turn more to control that favors stability (i.e., different estimation laws and control laws may be given greater weight). Eventually, those aspects of the adaptive engine 500 that focus on rapid convergence may be almost entirely (or entirely) turned off, such that influence on the control, u out, is almost entirely (or entirely) stability oriented.
  • adaptation engine 500 can adapt to nonlinear and dynamic system behavior.
  • the adaptive engine 500 is a system that receives or accesses from memory, a reference signal, r (or stream of reference signal signals), a measurement, y meas (or stream of measurements) of an output of the system being controlled (e.g., the nonlinear plasma load 104 in FIG.4), a control signal, u out , from a previous iteration, and produces a control signal (or “control”), u out , that is most likely to achieve a desired system response correlating to the reference signal, r, rapidly and/or in a robust manner (i.e., without instability).
  • the adaptive engine 500 could be used to control a plasma processing system 100, where the reference signal is a desired power being delivered to the plasma, such as 1000W, and the measurements are measures of power being delivered.
  • the control, u out may control power of a power supply, or in a MIMO situation, may include the power and frequency of the power supply as well as variable capacitor positions within a match network configured to match impedance of the power supply to a nonlinear plasma load.
  • each of the reference signal, r, measurement, y meas , and control signal, u out can be a vector or tensor in embodiments with more than one input and output, though for simplicity they will be discussed in the singular throughout this disclosure.
  • the present disclosure illustrated at a high level in FIGs.5A-C, provides an adaptive engine 500 (or adaptation engine) including an adaptation law selector 502 and a selector module 508.
  • the adaptation law selector 502 effectively selects a set of adaptation laws, each comprising a different combination of an estimation law and a control law.
  • Estimation Law Modules [00290] The estimation laws are embodied in and implemented by estimation law modules 504 and the control laws are embodied in and implemented by control law modules 506 (or sub-engines).
  • the estimation law modules 504 take an input regressor ⁇ and apply an estimation law to the input regressor ⁇ to produce an estimated model parameter tensor, ⁇ , for a nonlinear model of the actuators and/or system (e.g., a plasma processing system).
  • the estimated model parameter tensor, ⁇ is determined for most estimation laws using at least a portion of the input regressor, ⁇ , and an estimation error, , or cost function, J, either of which can be written in various forms, but typically comprise some combination of two or more of the measured system output, y meas , an estimated system output for a given control law module, y est_se , and a reference signal, r.
  • each estimation law module estimates an estimated model parameter tensor, ⁇ , that minimizes an estimation error, or cost function, J. This estimation is then used by the nonlinear model in a corresponding control law module to generate a possible control signal, u se , and to estimate an estimated system output, y est_se , both of which are then used by the selector module to select a best one or combination of possible control signals as the control, u out .
  • the estimated model parameter tensor, ⁇ is described generally, but will include values that are consistent between the estimation law modules 504 and the control law modules 506. In other words, the values of ⁇ at the control law modules 506 will match those values in ⁇ . For instance, a first control law may use r and y meas , so the incident ⁇ is [r,y meas ] and the incoming ⁇ is [ ⁇ r , ⁇ y_meas ].
  • is [r, y meas , y d ] and the incoming ⁇ is [ ⁇ r , ⁇ y_meas , ⁇ y_d ].
  • is a tensor, it can take the form of a 2-dimensional matrix such as the following: [00292] [00293] Or multi-dimensional matrices (not shown).
  • the controlled system can be the ones shown in FIGs.1 and 4 or any other system where the adaptive engine 500 provides a control signal, u out , (e.g., 454 in FIG.4 or output of the control section 112 in FIG.1) to one or more actuators.
  • the input regressor ⁇ can include, for instance, a reference signal, r, a measurement of system output, y meas , an estimated system output for a control law module, y est_se , and a control signal u out from a previous iteration (e.g., u out (k-1)).
  • control law modules 506 may be filtered at times, and the filtered version of ⁇ can be referred to as ⁇ — though both are an input regressor. Filtering may be advantageous when a control law module (control law) is sensitive to small perturbations, such that a filtered or smoothed input regressor leads to more robust operation.
  • the estimation law modules 504 for a given control law module 506 pass the estimated model parameter tensors, ⁇ , to the corresponding control law module 506, which then applies the estimated model parameter tensors, ⁇ , to a control law to generate a possible control signal, u se , or sub-engine control signal, for each estimation law (i.e., for each estimation law module 504).
  • estimation law modules 504 are implemented for each of six control law modules 506, then at least forty-two possible control signals, u se , are generated and passed to the selector module 508.
  • more than one control law can be implemented (e.g., see the TARC and Adaptive PID control law modules described later).
  • a possible control signal, u se can be generated for each estimation law (i.e., for each estimation law module 504).
  • the possible control signals, u se from the one or more control law modules 506 are passed to a selector module 508 that provides a total system control, or control, u out , as a best of the possible control signals, u se , or a best combination or blending of two or more of the possible control signals, u se (e.g., a weighted average, multiplication, or summation). This selection can be based on an estimated system error, or estimated system cost function, J out .
  • the control, u out is also the output of the adaptive engine 500.
  • the control, u out is typically a tensor for MIMO systems, although a single signal is possible, and in certain embodiments, can be implemented as the control signal(s) 454 seen in FIG.4.
  • the estimation error, ⁇ which is used by the estimation law modules 504 to calculate the estimated model parameter tensor, ⁇ , can be calculated from two or more of: (1) measured system output, y meas , (2) estimated system output, y est_se , and (3) a reference signal, r. More specifically, the estimation error, and hence ⁇ , can be based on a difference between two or more of these values.
  • Each combination of an estimation law module 504 and a control law module 506 is associated with an estimated system output, y est_se , and the estimated system output, y est_se , is calculated from the nonlinear model with the corresponding possible control signal, u se , and estimated model parameter tensor, ⁇ , as inputs.
  • each combination of estimation law module 504 and control law module 506 can produce distinct estimation errors, ⁇ , and hence a distinct estimated model parameter tensor, ⁇ .
  • the estimated system output, y est_se calculated for each adaption law, can be passed to the corresponding estimation law module 504 and used to calculate the estimation error,
  • the estimated system output, y est_se could be an estimate of a measured power delivery to a nonlinear plasma load such as 104 (e.g., estimate of signals measured by sensors 410).
  • the estimated system output, y est_se is not limited to power parameters of a plasma processing system, and in other non-limiting examples, could include estimates of noise and disturbance.
  • the adaptive engine 500 takes an input regressor, ⁇ , and produces a control, u out , that is tailored to a given operating region (e.g., fast convergence v. stability; stable v. unstable zero-dynamics) based on selection of a best combination of estimation and control laws—this combination being referred to as an adaptation law.
  • a given operating region e.g., fast convergence v. stability; stable v. unstable zero-dynamics
  • the adaptive engine 500 provides a plurality of combinations of estimation law modules 504 and control law modules 506 (i.e., a plurality of adaptation laws) that provide a plurality of possible control signals, u se , where each of these possible control signals, u se , are tailored for different control scenarios, and the selector module 508 then selects a one, or a combination, of the possible control signals, u se , based on an estimated system error, as the control, u out .
  • estimation law modules 504 and control law modules 506 i.e., a plurality of adaptation laws
  • the selector module 508 selects a one, or a combination, of the possible control signals, u se , based on an estimated system error, as the control, u out .
  • the estimation error is calculated from two or more of (1) measured system output, y meas , (2) estimated system output, y est_se , and (3) a reference signal, r, and where the estimated system output, y est_se is used, the estimation portion of the nonlinear model is used to estimate this value.
  • the nonlinear model is not shown in FIG.5A, it is a sub-component of each of the control law modules 506. The location of the nonlinear model is not limiting however, though the location may influence timing and resource usage as well as the iteration of the estimated system output, y est_se , used.
  • the estimation portion of the nonlinear model estimates system output, y est_se , in the control law modules, as shown in FIG. 5A
  • the possible control signals, u se (k) (where k represents a value of the iteration)
  • the possible control signals, u se(k) for a current iteration are fed into the estimation portion of the nonlinear model to estimate y est_se .
  • the estimation portion of the nonlinear model estimated system outputs, y est_se in the estimation law modules, as shown in FIG.5B
  • the possible control signals, u se(k-1) for a previous iteration is fed back to the estimation portion of the nonlinear model to estimate y est_se .
  • the estimated system outputs, y est_se are used in the estimation law modules 504 to determine the estimation error, ⁇ , and also passed to the selector module 508 to aid in determining which possible control signal, u se , to select, or which combination of possible control signals, u se , to combine and how to combine them (e.g., weighted average, multiplication, summation, etc.).
  • the only differences between FIGs.5A and 5B are the locations and directions of the estimated system output, y est_se , arrows and the possible control signal, u se , arrows.
  • the possible control signals, u se are passed from the control law modules 506 to the estimation law modules 504 in FIG.5B so that they can be used in in the estimation portion of the nonlinear models to calculate the estimated system outputs, y est_se .
  • the possible control signals, u se are internally provided to the estimation portion of the nonlinear model in the control law modules 506.
  • FIGs.8A and 8B will provide further details to help illustrate operation of the nonlinear models with 8A showing use of the current iteration’s u se (k) and the nonlinear model in the control law module, and 8B showing the previous iterations’ u se (k-1) and the nonlinear in the estimation law module.
  • the estimation portion of the nonlinear model can execute in either the control law modules, the estimation law modules, or elsewhere, the control portion of the nonlinear model is part of the control law modules.
  • the operation of the estimation portion of the nonlinear model can occur somewhere within the adaptation law selector 502, but outside either of the estimation law modules 504 and the control law modules 506.
  • FIGs.5A and 5B there is one estimation law module 504 for each control law module 506.
  • multiple estimation law modules 504 can provide outputs (e.g., ⁇ ) to a given control law module 506.
  • Each estimation law module 504 takes in input regressor, ⁇ , or a subset thereof, including values such as the reference signal, r, and the measured system output, y meas , and an estimated error, ⁇ , and processes these through an estimation law to produce an estimated model parameter tensor, ⁇ , for each estimation law module 504.
  • Each of the estimated model parameter tensors, ⁇ is passed to one of a plurality of control law modules 506, where two or more estimation law modules 504 can feed a single control law module 506.
  • Each estimation law module 504 applies an estimation law
  • each control law module 506 applies a control law, such that every combination of an estimation law module 504 and a control law module 506 effectively implements an “adaptation law” and generates a distinct possible control signal, u se .
  • multiple estimation law modules 504 can feed a single control law module 506 as seen in FIG. 5C, for simplicity, the remainder of this disclosure will extend the description of FIGs.5A and 5B, where one estimation law module 504 feeds one control law module 506. In light of FIG. 5C and its description, those of skill in the art will also be able to implement the remainder of this disclosure as extensions of FIG.5C. [00303] Referring to any of FIGs.
  • a control law module 506 receives an estimated model parameter tensor, ⁇ , from each of one or more estimation law modules 504, along with the input regressor, ⁇ , or a subset thereof. It then applies these inputs to a control law to calculate a possible control signal, u se , for each of the estimated model parameter tensors, ⁇ (i.e., for each of its corresponding estimation law modules 504).
  • the control law takes the form of a control portion of the nonlinear model where each control law uses a different variation of the same basic control law portion of the nonlinear model. For instance, the Control Laws 1 – 4 described later in this disclosure are all variations of the Model 1.
  • Control Laws can be modified/transformed to operate with other models, such as, but not limited to, Model 2.
  • the possible control signals, u se are then passed to the selector module 508.
  • the input regressor, ⁇ , and subsets thereof are described generally relative to FIGs. 5A-5C since the estimation law module 504 or the control law module 506, where the input regressor, ⁇ , or a subset thereof, is provided, may dictate the values in the input regressor, ⁇ , or a subset thereof.
  • the estimation law modules 504 often use two or more of the following, r, y est_se , and y meas_out , to determine the estimation error, , which is then used, along with other values depending on the estimation law implemented in a given estimation law module 504, to determine estimation model parameter tensors, ⁇ .
  • can be [r, y est_se , y meas ] when provided to the estimation law modules 504 in some embodiments, but [u out_k-1 , r, y meas_out ] when provided to the control law modules 506.
  • functionality is roughly the same whether ⁇ or a subset thereof is provided to the estimation law modules 504 and the control law modules 506.
  • the time-varying linear system can be denoted by W m , and represents the solution to the system of equations for and y est_se shown earlier.
  • the structure of the time-varying linear system, W m , or the structure of the A, B, and C matrices used in the system of equations for and y est_se can be updated every frame—meaning that the structure is constant within each frame.
  • W m can be written as: [00306] [00307] See a similar form of this system written as Equations 12 and 13 in the TARC control law module discussion.
  • the C matrix is the identity matrix, that three controls are implemented (since the B matrix is of size 3), and that the A matrix includes two components of the estimated model parameter tensor, ⁇ .
  • Changing the structure of W m means that the locations of 1, 0, ⁇ , and fixed coefficients (none are seen in the example above) in matrices A and B and optionally C (where the identity matrix is not used) are altered.
  • changing the structure in a second frame could mean that the W m structure is as follows: [00308] [00309] As yet another example of changing the structure of W m , the adaptive engine may determine that further adaptation of ⁇ 2 does not lead to significant improvement, and thus ⁇ 2 can be replaced with a fixed coefficient (e.g., .88 in the below example)—meaning that it will no longer be adapted. [00310] . [00311] One will appreciate that since ⁇ 1 and ⁇ 2 are adapted or adjusted at each control sample or iteration, the overall effect of W m sees small adjustments in time. One also can see that when the structure changes, a large change in W m is seen.
  • the nonlinear model depends on the time-varying linear system, W m , structural changes to W m at each frame allow large changes in nonlinear behavior to be approximated by the nonlinear model while sample-by-sample changes to the estimated model parameter tensor, ⁇ , allow smaller nonlinearities to be approximated by the nonlinear model.
  • the time-varying linear system, W m can be calculated in a frame resynthesizer (see FIG 6) or looked up in a table pre-populated by the controller designer. The time-varying linear system can then be passed to the nonlinear model at the control law modules 506 (FIGs.
  • different time-varying linear systems, W m can be used for different control law modules 506, where the differences involve expansions of a fundamental or most general form of the time-varying linear system, W m .
  • W m the time-varying linear system
  • different combinations of estimation law modules and control law modules can use different forms of the time-varying linear system, W m , allowing different combinations of estimation and control law modules to achieve differing goals in the linear approximations of the system’s nonlinear behavior.
  • the selector module 508 receives one or more possible control signals, u se , from the control law modules 506 and selects one or a combination of these possible control signals, u se , for output as the control, u out .
  • the selector module 508 can use the possible control signals, u se , the estimated system outputs, y est_se , and at least parts of the input regressor ⁇ including the reference signal, r, and the system output measurement, y meas , in an estimated system error, or estimated system cost function, J out , to select the possible control signal, u se , or to select a combination of possible control signals, u se , (e.g., a weighted average thereof) that minimizes the error or cost function.
  • Equation 4 discussed later will present a detailed example of an estimated system cost function, J out , that can be used to select the best possible control signal, u se , or best combination of possible control signals, u se .
  • the selector module 508 may select a best possible control signal, u se , rather than a combination of multiple possible control signals, u se . Where additional processing resources are available, the selector module 508 may select a best combination of possible control signals, u se which may include selecting not only different combinations but different ways to combine the possible control signals, u se . [00316] Where a single possible control signal, u se , is selected, this signal is selected as the control, u out . However, where two or more possible control signals, u se , are selected, the control, u out , is formed by a blending of the possible control signals, u se .
  • multiple possible control signals, u se can be combined or blended via a “topology” such as, but not limited to, a weighted average, other averages, multiplication, summations, differences, divisions, integrals, derivatives, exponentials, complex functions, logarithms, series, statistical distributions, matrices, tensors, neural networks, nonlinear functions, graphs, maps, transformations, trees, to name a few non-limiting examples, or combinations thereof.
  • Equation 5 presents a detailed example of a means to combine possible control signals, u se , via a complex weighted average.
  • control, u out is then passed to the one or more actuators (e.g., 308) and fed back to the adaptation law selector 502 as an input to the estimation law modules 504 and the control law modules 506 to determine a next iteration of the u out .
  • the control, u out is used as feedback for the next iteration, when input to the estimation law modules 504 and the control law modules 506, it may sometimes be referred to as u out (k-1).
  • the selector module 508 can also calculate a total estimated system output, y est_out , in the same way that the control, u out , was calculated (e.g., using Equation 7, which is structurally similar to Equation 5).
  • the total estimated system output, y est_out can be the estimated system output, y est_se , corresponding to the selected one of the possible control signals, u se (or selected adaptation law). Or where two or more possible control signals, u se , are combined, the corresponding estimated system outputs, y est_se , can be combined in the same fashion to produce the total estimated system output, y est_out .
  • one or more memory components can be arranged between the control law modules 506 and the selector module 508, such that possible control signals, u se , and estimated system outputs, y est_se , can be temporarily stored, which either assists in parallelization in the selector module 508 or allows the selector module 508 to pull from previous outputs of the control law modules 506 when the adaptive engine 500 sees repeated input iterations (e.g., the same reference signal waveform repeats).
  • the selector module 508 may implement an optional control selector and combiner 516 (“CSC”) and an optional topology selector and designer 518 (“TSD”).
  • the TSD 518 can look at previous controls (e.g., u out_k-1 , u out_k-2, u out_k-3 , etc.) and a total estimated system output, y est_out , for various possible topologies, and select a best topology, or the one most likely to, when applied in the selector module 508, lead to a control, u out , that causes a measured system output, y meas , that is close to the total estimated system output, y est_out , or the reference signal, r.
  • previous controls e.g., u out_k-1 , u out_k-2, u out_k-3 , etc.
  • the TSD 518 may analyze a cost function, such as Equation 4, to select an optimal possible control signal, u se , or combination of possible control signals, u se (in the form of a topology for combining the possible control signals). The TSD 518 may provide this selection to the CSC 516, which then applies this topology to generate the control, u out , based on the topology and the possible control signals, u se .
  • a cost function such as Equation 4
  • the topology may be embodied as a set of weights to be provided to the CSC 516, where the weights determine how possible control signals, u se , are combined or blended.
  • the topology can include averaging, multiplication, summations, differences, divisions, integrals, derivatives, exponentials, complex functions, logarithms, series, statistical distributions, matrices, tensors, neural networks, nonlinear functions, graphs, maps, transformations, trees, to name a few non-limiting examples, or combinations thereof.
  • the selector module 508 predicts an output of the system that will result from different control signals generated by different topologies, and then selects the topology corresponding to a predicted output that minimizes an error or cost function.
  • the CSC 516 can use the estimated system outputs, y est_se , for each possible control signal, u se , (i.e., for each adaptation law) to determine an estimated system error, based on a measured system output, y meas_out , and use the estimated system error, to identify the best of the possible control signals, u se , for selection as the control, u out .
  • a total estimated system output, y est_out can be found for each of various combinations of possible control signals, u se , and the combination providing a total estimated system output, y est_out , with the smallest error from the measured system output, y meas , or the combination providing a smallest error between the reference signal, r, and the measured system output, y meas , can be selected as the topology that the CSC 516 uses to generate the control, u out .
  • the possible system outputs, y est_se and/or the total estimated system output y est_out can be provided to the TSD 518, which can determine a possible control signal, u se , or combination of possible control signals, u se , that minimizes a cost function relative to the measured system output, y meas , or the reference signal, r. If the TSD 518 selects the best possible control signal, u se , or combination thereof, the TSD 518 can send this selection back to the CSC 516 as a topology or set of weights.
  • the CSC 516 can return weight-tuning values (w-tuning) to the TSD 518 that can be used to adjust weights in a next iteration of topology selection.
  • Weight tuning can increase the speed of the adaptive engine 500 and/or be used to smooth transitions between control laws. Weight tuning can also be used to smooth transitions between u se .
  • the measured system output, y meas_out can be n- dimensional and is not limited to a power output from a power supply or match network, or power delivered to a plasma load.
  • adaptation or adaptation gain, or the influence of the adaptive engine 500 can be selected based on the measured system output, y meas , approaching a target value(s) (e.g., reference signal, r, or total estimated system output, y est_out ).
  • a target value(s) e.g., reference signal, r, or total estimated system output, y est_out
  • the adaptation or adaptation gain, or the influence of the adaptive engine 500 can be selected based on an actual system error, e out .
  • some, but not all estimation laws can include an adaptation gain, ⁇ , that influences the adaptation from a given estimation law.
  • the adaptation gain, ⁇ can be large (or increased) and thus the estimation laws in the estimation law modules 504 have a strong influence on the control signal, u out .
  • the adaptation gain, ⁇ can be decreased, similar to how one pulls back on a boat’s throttle when approaching a dock. Said another way, when the actual system error, e out , is greater than a threshold, the adaptation gain, ⁇ , can be increased, and when the actual system error, is less than the threshold, then the adaptation gain, ⁇ , can remain unchanged.
  • an optional adaptation influence control 510 can look at the actual system error , or difference between a reference signal (e.g., r) or reference signal stream and a measured system output (e.g., y meas ) and generate the adaptation gain, ⁇ , based on the actual system error.
  • the optional adaptation influence control 510 can look at an error or difference between the reference signal, r, and a total estimated system output, y est_out (see Equation 4 for instance).
  • the error or difference can be based on the estimated system output, y est , and the measured system output, y meas .
  • the adaptation influence control 510 can look at two or more of these errors (e.g., Equation 4 is a cost function that considers two of these errors).
  • the adaptation gain, ⁇ can be passed to the estimation law modules 504 and used in certain ones of the estimation laws to determine the estimated parameter tensors, ⁇ .
  • the adaptation gain, ⁇ can be positive values ⁇ 1.
  • Optional initialization 512 can store previous values such as a control, u out , total estimated system output, y est_out , and the adaptation gain, ⁇ , to name three non- limiting examples. These can be accessed as initial conditions for a subsequent frame when the adaptation law selector 502 returns to the same operating conditions.
  • the initialization 512 can store these initial conditions in a TSP-RAM.
  • the initialization 512 can pass these values to the adaptation law selector 502 and/or the selector module 508, and more specifically to the control law modules 506.
  • the control, u out can be fed back to the adaptation law selector 502, for instance, as part of the input regressor, ⁇ , to aid in generating a next iteration of the estimated model parameter tensors, ⁇ .
  • the estimation portion of the nonlinear model can pass an estimated system output, y est_se , based on the possible control signals, u se , back to the corresponding estimation law modules 504.
  • the estimated system outputs, y est_se can be used in the estimation law modules 504 to generate the next iteration of estimated model parameters, ⁇ .
  • the estimated system output, y est_se can also be passed forward to the selector module 508.
  • An additional optional feedback loop may provide the control, u out , to the optional adaption influence control 510, along with inputs such as r, y meas , and y est_out .
  • each estimation law module can also pass derivatives, ⁇ ’, of the estimation parameters, ⁇ .
  • the derivatives, ⁇ ’ can be used to increase an accuracy and speed of convergence to a target system behavior.
  • FIG.6 illustrates an alternative adaptive engine that splits control samples, and certain aspects of the nonlinear model, into frames.
  • the adaptive engine 600 can include details as shown and described, for instance, in any of FIGs.5A-C.
  • a frame resynthesizer 650 can be arranged to precede the adaptive engine 600 and create synthesized frames from the input regressor, such as, but not limited to including, the reference signal, r, and the measured system output, y meas .
  • Synthesized frames can include blocks of input data that may or may not be repeated in time.
  • a synthesized frame might capture the rising and falling edges of the triangle wave and might apply filters, such as smoothing filters to make the synthesized frame easier to work with (e.g., smoother or more linearized).
  • each frame can correspond to a number of control samples or samples of the reference signal, r.
  • certain operations of the adaptive engine 600 can be preprocessed or only processed once per frame.
  • a time-varying linear system, W m of the nonlinear model can be pre- determined or set by a controller designer and stored in a lookup table, such that during operation, the adaptive engine 600 can access a time-varying linear system, W m , for every frame that is processed in the adaptive engine 600.
  • the frame resynthesizer 650 can calculate the time-varying linear system, W m , of the nonlinear model for each frame and the adaptive engine 600 can then use the frame- specific time-varying linear system, W m , for the lifetime of a frame, and then switch to a new time-varying linear system, W m , when a new frame begins.
  • This time-varying linear system, W m can also be thought of as the linear approximation of the nonlinear model, and it stays constant throughout a frame, while a nonlinear portion of the model, as represented by the estimated model parameter tensor, ⁇ , adapts throughout a frame.
  • the model has a linear and nonlinear portion, and starts each frame with the linear portion known, but adapting the nonlinear portion toward convergence.
  • adaptation is limited to the small unknown nonlinear portion, and does not need to also adapt to the linear portion.
  • adaptation is kept smaller than in a non-bifurcated model, and as a result achieves convergence faster and/or with use of loess processing resources.
  • a memory 652 can be used in combination with the frame resynthesizer 650 such that when a waveform returns to a previously synthesized frame, the adaptive engine 600 can draw from the synthesized frame in memory rather than requiring the frame resynthesizer 650 to resynthesize the inputs. This not only reduces processing resources, but can also decrease latency since less input processing occurs when frames are accessed from the memory 652.
  • FIG.6 helps to illustrate that any of the input regressors, ⁇ , in FIGs.5A-C, or anywhere later in this disclosure, can also be implemented by those of skill in the art as synthesized frames.
  • Finding the time-varying linear system, W m not only involves determining a best linear model to approximate a region of the nonlinear model, but also finding a frame (or frame size) that leads to a best linear approximation. More specifically, the frame resynthesizer 650 finds the largest frames that still allow accurate linear approximations of the nonlinear behavior of the system. In other words, the frame resynthesizer 650 approximates the nonlinear system using a set of linear models, but each frame and its linearization, may map to different numbers of control samples .
  • the frame resynthesizer 650 carries out an optimization procedure to find the best coefficients that describe the reference signal, r, and system output measurements, y meas , for instance, by Equation 1A: [00332] (Equation 1A) [00333] For the largest number of samples n new in a frame.
  • Equation 1B [00342] (Equation 1B) [00343]
  • y is the measured system output (y meas elsewhere in this disclosure);
  • x is the internal mathematically constructed state to represent a second order linear system;
  • ⁇ n is a natural frequency in [rad/s] for the measured system output linear approximation and is different than the filter input regressor ⁇ used elsewhere in this disclosure;
  • [00347] is the damping ratio [unitless] of the measured system output linear approximation; [00348] ⁇ n and are determined through the reference signal shape and/or desired user-specified waveform; and [00349] is the input
  • Outputs of the frame synthesizer 650 can also include tensors W m (and its filtered variation Q m ), and the L, A, B, and C matrices.
  • the matrices A, B, and C can be used whenever the system is parametrized by the state equations given by and [00351]
  • the new resynthesized frames will consist of the coefficients in Equation 1A or 1B whose duration is n new in addition for the reference signal, r, system output measurements, y meas , and controls, u out , over that length of time. This ensures that each frame is a linear region of the process.
  • Adaptation in a frame means that the time-varying linear system starts each frame from this linear approximation and adapts toward an approximation of the true nonlinear process model via adaptation of the model parameter tensor, ⁇ .
  • the parameters resulting after adaptation converges within a frame and ⁇ becomes virtually constant, can be stored in a memory, such as memory 652, to be used whenever the reference signal, r, returns to these resynthesized frames during the reference signal sequence.
  • the estimated parameter tensor, ⁇ once convergence is achieved, along with the corresponding structure of the time-varying linear system, can be reused if a similar or identical frame of the reference signal, r, is seen again. Said another way, once adaptation of a frame is complete or converges, the knowledge gained from that adaptation can be used again in subsequent similar frames, thus avoiding the need to perform adaptation again when similar frames are seen.
  • this disclosure often discusses a reference signal, r, it is also feasible for a user to specify more abstract or general desires of the system output. In these cases, the adaptive engine can synthesize the user’s specifications into a desired reference waveform, y est_se , and this can replace or be used alongside the reference signals, r.
  • the desired reference waveform, y ref can be written as: [00353] _ ( ) (Equation 2) [00354] Where
  • the adaptive engine can provide at every collocation time or every control sample, a linear model that makes / forms the closest linear model of y est_se . Said another way, the adaptive engine provides models that are time- varying stable and strictly proper rational linear sample time invariant.
  • one or more of a setpoint streaming module, a precomputing engine e.g., used to determine the A(t), B(t), C(t), K(t), L(t), F(t) matrices/tensors
  • a frame synthesizer may be implemented on a Central Processing Unit (CPU).
  • CPU Central Processing Unit
  • FPGA Field Programmable Gate Array
  • the FPGA is better suited for performing simpler calculations in a very rapid manner (e.g., real-time or substantially real-time).
  • the precomputing engine on the CPU sends the A(t), B(t), C(t), K(t), L(t), and/or F(t) matrices/tensors to the adaptive engine running on the FPGA.
  • the CPU also stores these matrices/tensors at a frame processor of the FPGA, for instance, in a TSP RAM of the frame processor. This allows the adaptive engine and/or the control law module/sub-engine to access the precomputed matrices in real time or substantially real time.
  • the precomputing engine on the CPU generates the structure of the A, B, and C matrices, and hence the time-varying linear system, W m , for every frame. [00356] FIG.
  • the method 700 can start with selection of a new frame and a best linear approximation of the system behavior over the new frame (Block 701). In other words, a structure of W m is selected. This structure can be calculated in a frame resynthesizer or accessed from an empirically derived lookup table.
  • the method 700 can include estimating an estimated model parameter tensor, ⁇ , for every control sample of a nonlinear model (Block 702).
  • the estimating can be based on an estimation law that is a function of an estimated error, ⁇ , or cost function, J, and can be implemented in an estimation law module.
  • the estimated model parameter tensor, ⁇ comprises estimated parameters of a nonlinear model such as, but not limited to, r, y meas , y est_se , and u out .
  • the method 700 can further generate a possible control signal, u se , using a control portion of the nonlinear model (Block 704) and generate an estimated system output, y est_se , using an estimation portion of the nonlinear model (Block 706). These two values can be calculated from a control portion and an estimation portion of the nonlinear model, respectively.
  • Both portions of the nonlinear model are functions of at least the estimated model parameter tensor, and the estimation portion can also be a function of the possible control signal, u se , from the control portion.
  • the control portion can also take the input regressor, ⁇ , as one of its inputs.
  • the control portion of the nonlinear model can be implemented in a control law and more specifically in a control law module.
  • the estimation portion of the nonlinear model can also be implemented in the control law and the control law module, though it can also be implemented in the estimation law module or outside of both the control law module and the estimation law module.
  • the method 700 can then select (1) a best possible control signal, u se , from a set including the possible control signal, u se , and additional possible control signals, u se , or (2) a best combination of possible control signals, u se , blended from two or more of the set (Block 708).
  • the blending can be based on a topology that can include averaging, multiplication, summations, differences, divisions, integrals, derivatives, exponentials, complex functions, logarithms, series, statistical distributions, matrices, tensors, neural networks, nonlinear functions, graphs, maps, transformations, trees, to name a few non-limiting examples, or combinations thereof .
  • the topology can be selected based on total estimated system output, y est_out , for each of multiple possible topologies, and then comparing this estimate, y est_out , to the reference signal, r, the measured system output, y meas , or a combination of these (referred to as estimated system error ). For instance, a specific example using all three of these values is shown in Equation 4, where a cost function, J out of two errors is used. [00357]
  • FIGs.8A and 8B can be used to provide further detail of certain embodiments of the estimation law modules and the corresponding estimation laws.
  • an estimation law is a means of estimating parameters for a nonlinear portion of a nonlinear model of the system (this model having a linear and a nonlinear portion).
  • Control laws take these estimated parameters and generate possible control signals therefrom, predicted to achieve a desired outcome from the system (e.g., minimize an error between a reference signal and a measured output of the system).
  • the estimated parameters along with the possible control signals can also be used in an estimation portion of the nonlinear model to estimate one or more system outputs predicted to result from the possible control signals.
  • Both modules 804, 806 can operate and be described similarly to the corresponding components in FIGs.5A-C. Although only one estimation law module 804 and one control law module 806 are shown, multiple estimation law modules 804 and control law modules 806 would be found in a typical adaptation law selector. One or more estimation law modules 804 can be paired with each of the control law modules 806. Using different combinations of estimation law modules 804 and control law modules 806, the adaptive engine 500 effectively enables handling a wide variety of controller needs and the ability to quickly switch between combinations of estimation laws and control laws—the combinations being referred to as adaptation laws as shown via brackets in FIGs.8A and 8B.
  • the estimation law module 804 can include an optional smoothing filter bank 810, one or more estimation law banks 812, and optionally one or more estimation laws filtering banks 814.
  • the optional filters 810, 814 can provide filtering of the input and outputs from the one or more estimation law banks 812.
  • the optional smoothing filter bank 810 can apply H ⁇ and to the input signals / regressors such that derivative terms are not noisy and do not have instantaneous spikes.
  • H is a filtering operator and is designed by the user to achieve the fastest response possible for a given process time constant. For different control entities (e.g., rail, drive, frequency, match network, etc.), H ⁇ ⁇ will generate different filter parameters. It can be implemented as a zero-phase lag filter.
  • This filter can be as simple as a biquad, or a first order time constant, though these two examples are not limiting. However, in other filters, adaptive time constant filters can be used based on a cost function. Each filter is designed to be best suited for the corresponding estimation portion 808 in FIG.8A or FIG.8B.
  • the one or more estimation law banks 812 can take the input regressor, ⁇ , or an unfiltered version thereof (e.g., , and apply it to an estimation law to estimate model parameter tensors, ⁇ , of the nonlinear model.
  • the estimation law bank 812 may also receive the adaptive gain, ⁇ , and use this in the estimation of the estimated model parameter tensors, ⁇ .
  • the input regressor, ⁇ may include components such as r, y est_se , and y meas , and from these an estimation error, can be determined.
  • the estimation error can be determined from various differences between two of these three values, for instance, the four estimation errors 1-4 described below relative to the Estimation Law 1.
  • three estimation law modules 804 each having one of three nonlinear models can feed a single control law module 806.
  • Seven estimation laws can be distributed amongst these three estimation law modules 804 in one example, such that one or more estimation laws are applied to each of the nonlinear models, and the three estimation law modules 804 produce seven estimated model parameter tensors, ⁇ .
  • One or more estimation laws filtering banks(s) 814, one for each of the one or more estimation law banks 812, can be included at an output of the one or more estimation law banks 812.
  • These optional filters 814 can smooth the resulting estimated model parameter tensors, ⁇ , or create persistent excitations such that the estimated model parameter tensors, ⁇ , converge to their actual values, and/or pass them through a projection operator to make their values bounded and avoid drift.
  • an estimated model parameter tensor, ⁇ can be another input to the nonlinear model.
  • An optional and non-illustrated feature is to select a law combination in the optional one or more estimation law filtering banks 814 that differs from iteration to iteration so as to minimize a cost function, such as a cost function that includes multiple summation operation at least one of which is a function of .
  • the control law module 806 passes the possible control signal, u se , to the selector module (e.g., 508), which determines which possible control signal, u se , or which combination of possible control signals, u se , is used to generate the control, u out .
  • Each estimation law module 804 also passes its estimation model parameter tensor, ⁇ , back to its input, either in real-time or via memory (not shown). This feedback allows the value to used in the next adaptation iteration.
  • the memory can be a pipeline register, such as a TSP-RAM block.
  • the nonlinear model can be split into a control portion 805 and an estimation portion 808.
  • the control portion 805 can be found in the control law 818 and the estimation portion 808 can be found in the control law module 806 (in FIG.8A) or in the estimation law module 804 (in FIG.8B).
  • the estimation portion 808 can be used to generate an estimated system output, y est_se , for each combination of estimation law module 804 and control law module 806 (i.e., for each adaption law).
  • the result can be passed forward to the selector module (not shown) and back as an input to a next iteration of the estimation law module 804, for instance, as part of the input regressor, ⁇ .
  • FIGs.8A and 8B provide but two examples of where the estimation portion 808 can be used to estimate the estimated system output, y est_se (in the control law module 806 in FIG.8A and in the estimation law module 804 in FIG. 8B). However, this estimation could also take place outside either of these modules.
  • FIGs.8A and 8B One distinction between FIGs.8A and 8B, is that different iterations of the possible control signal (u se_k versus u se_k-1 ) are used in the estimation, depending on where it takes place. In FIG.8B, where the estimation using the estimation portion 808 occurs in the estimation law module 804, the possible control signal, u se_k-1 , for a previous iteration can be used, whereas in FIG.
  • the possible control signal, u se_k for the current iteration can be used.
  • the possible control signal, u se_k or u se_k-1 can be generated by the control law 818 in the control law module 806 and can be fed back to the estimation portion 808 in real time or via memory.
  • a linear portion of the model, W m may be used in the estimation, and this linear portion, W m , may be pre-calculated in a frame resynthesizer or access from an empirically derived lookup table.
  • the same linear portion of the model, W m is used for all iterations of a given frame, and then changed for a next frame.
  • Lower latency may be possible, and fewer memory resources used, if the estimation portion 808 is applied to generate the estimated system output, y est_se , in the control law module 806 as shown in FIG.8A.
  • the estimation portion 808 can take the possible control signal, u se_k , for the current iteration and estimate a possible system output, y est_se . In some instances, this may be faster than the variation shown in FIG.8B.
  • each estimation law module can also pass derivatives, ⁇ , of the estimated model parameter tensors, ⁇ .
  • the derivatives, ⁇ can be used to increase an accuracy and speed of convergence to the system behavior.
  • this tensor can be replaced by the more effective tensor [ ⁇ , ⁇ ] ⁇ in some implementations.
  • Exemplary estimation laws 1-6 below show some non-limiting examples of estimation laws that can each be implemented in the estimation law module(s) 804 or 504.
  • estimation laws are generally a function of the estimation error, and/or the input regressor, ⁇ , and produce an estimated model parameter tensor, ⁇ , and optionally its derivative, ⁇ .
  • Estimation laws can be implemented in the estimation law banks 812 and can be embodied in software, firmware, physical logic circuits, or a combination of these.
  • an estimation law may involve matrix multiplication of the estimation error, ⁇ and the input regressor, ⁇ (e.g., see Estimation Law 1).
  • other estimation laws may involve more complicated interactions between these values as well as intermediary steps and decisions en route to generating the estimated model parameter tensor, ⁇ .
  • estimation law banks 812 can implement any number of estimation laws, below are a few non-limiting examples: [00374] (Estimation Law 1) [00375] Where the estimation error, ⁇ , can be written as any of the following: [00376] _ (Estimation Error 1) [00377] (Estimation Error 2) [00378] _ (Estimation Error 3) [00379] (Estimation Error 4) [00380] In other words, the estimation error, can involve a difference between two of the following three values or tensors: r, y meas , y est_se .
  • each estimation law may have two versions.
  • m 2 1+n s 2 > 0, which leads to slower convergence for stable plants and/or bounded control signals, but will allow control of unstable plants and/or unbounded control signals.
  • the adaptive engine can switch between these two versions of any estimation law in real time to enable faster control.
  • Estimation laws can be modified to include robustness measures that can be pipelined/resource shared/streamed when implemented in a real-time hardware (e.g., ASIC/FPGA) in a generic way that benefits from oversampling. For instance, all can be processed within a control cycle.
  • a real-time hardware e.g., ASIC/FPGA
  • J estimation error, or cost function
  • the combination of the nonlinear model, an estimation law, and a control law can be referred to as an adaptation law.
  • the nonlinear model can be used to provide a possible control signal and an estimated system output (e.g., reflected power, phase offset between delivered and reflected power, etc.).
  • the nonlinear model has a control portion and an estimation portion, that in a most general form can be written as : [00415] (Control Portion of the Nonlinear Model) [00416] (Estimation Portion of the Nonlinear Model) [00417]
  • both parts are processed in the control law module, and in other cases the estimation portion can be processed outside the control law module (e.g., sees FIG.5A and 8A).
  • control portion can be processed in the control law modules and the estimation portion can be processed in the estimation law modules (e.g., see FIGs.5B and 8B) or elsewhere in the adaptation engine.
  • both the control portion and the estimation portion are functions of the estimated model parameter tensor, ⁇ , and the input regressor, ⁇ .
  • the control portion gives a control that a given sub-engine believes is most likely to produce a system behavior most in line with the reference signal, r.
  • the estimation portion is an estimate of the system output should the possible control signal, u se , be provided to the one or more actuators.
  • this generalized form is actually a circular definition because ⁇ for the control portion takes y est_se as an input, and ⁇ for the estimation portion takes u se as an input.
  • the control or the estimation portion can be rewritten as a function of inputs from a previous iteration (e.g., ⁇ k-1 and ⁇ k-1 ) while the other is based on current iteration inputs (e.g., ⁇ k and ⁇ k ); or (2) one of the control or estimation portions can be written in terms of the other portion.
  • Model 1 being rewritten in terms of the possible control signal, u se , as: [00420] (Estimation Portion Model 1) [00421]
  • W m is a time-varying linear system and is a strictly positive real (SPR) that is a solution to the Lyapunov Equations and is a function of the possible control signal, u se , and the estimated model parameter tensor, ⁇ .
  • SPR time-varying linear system
  • W m can also be thought of as a transfer function or a linear operator.
  • the time-varying linear system, W m can have a different structure for different frames such that its global effect is to approximate the nonlinear system, but to do so using different time-varying linear approximations at each frame, where the time-varying linear system, W m , changes with ⁇ at each control sample or iteration within a frame.
  • W m could be for a first frame, for a second frame, and for a third frame.
  • the time-varying linear system, W m has a constant structure for a given frame, it is a function of ⁇ , which adjusts or is adapted at every iteration or control sample.
  • the time-varying linear system, W m is adapted as a function of ⁇ during each frame until convergence (where an unknown nonlinear portion of W m is small enough to be ignored).
  • the structure of this time- varying linear system, W m changes from frame to frame.
  • the net effect is a bifurcated nonlinear model that uses a different linear approximation in each different frame to account for large changes in system nonlinear behavior and a nonlinear approximation achieved through adaptation of the estimated model parameter tensor, ⁇ , at each control sample or iteration of a frame to account for small changes in system nonlinear behavior.
  • Model 1 is the same as its generalized form noted earlier: [00423] (Control Portion of the Model 1) [00424] As noted above, avoiding a circular definition of the generalized model can also be achieve by writing the control portion in terms of the estimation portion: [00425] (Control Portion of the Model 2) [00426] (Estimation Portion of the Model 2) [00427] The control portion of Model 2 can also be written in terms of y meas instead of the total estimated system output, y est_out. The control portion of Model 2 may use shown or an approximation thereof.
  • Control Laws (Control Law Modules) [00437] Each control law is implemented as a control law module, and specifically as the control law 818 within that control law module. Each control law module applies the control portion of the nonlinear model, as modified into a distinct control law, to an estimated model parameter tensor, ⁇ , and at least part of the input regressor, ⁇ , to generate a possible control signal, u se .
  • a control law module may be configured to apply more than one control law (e.g., the TARC control law module discussed later can apply adaptive inversion laws, Eigen laws, and Penalty laws) and produce a corresponding number of possible control signals, u se .
  • an optional select control law 816 may be used to select a preferred control law for the control law module to apply such that the number of possible control signals, u se , is the same as seen in other control law modules.
  • the optional select control law 816 is shown as preceding the control law 818, but could also be arranged after the control law 818 and thereby filter multiple u se into a single u se .
  • Control laws take the estimated model parameter tensors, ⁇ , estimated by the estimation laws in the estimation law modules, which are variations on the control portion of the nonlinear model, and generate possible control signals, u se , predicted to achieve a desired behavior from the system (e.g., minimize an error between a reference signal and a measured output of the system).
  • the control law modules examples of which will be detailed in FIGs.10-42 (also called sub-engines), implement control laws to generate the possible control signals, u se , that are then passed from all control law modules to the selector module.
  • Each control law module takes one or more estimated model parameter tensors, ⁇ , from one or more estimation law modules, and passes each of the one or more estimated model parameter tensors, ⁇ , through a control law (control portion of the nonlinear model) to give a possible control signal, u se .
  • each estimation law leads to a at least one possible control signal, u se .
  • These control laws can be implemented in software, firmware, physical logic, or a combination of these. The examples that will be described below and illustrated in FIGs. 10-42 provide functional descriptions of the control laws as implemented in control law modules, and any of this functionality may be coded in software or firmware, fabricated in physical logic, or some combination of these.
  • control law modules or sub-engines are described as part of a larger adaptive engine, in some embodiments, the control law modules or sub-engines can operate independently, such that each on its own can control one or more actuators of a power system.
  • control laws their influence on the adaptive engine, and the breadth of their variations, six exemplary, but non-limiting, control laws can be written as follows starting with Control Law 1A for a TLMC (or Lyapunov) control module: [00441] (Control Law 1A) [00442]
  • Each of these control laws is based on a control portion of the nonlinear model that complements a corresponding estimation portion of the nonlinear model and typically the output of the control portion is an input to the estimation portion (or vice versa).
  • overlaps with but is not identical to ⁇ .
  • is a concatenation that can include some form of u out_k-1 , y meas , and r (i.e., often components of ⁇ ). For instance, one or more of these values can be filtered before being concatenated into ⁇ .
  • may equal [u d , y d , y meas , r] where u d and y d are filtered or smoothed versions of u out and y meas , respectively.
  • Control Law 1A also makes use of the derivative of ⁇ , it can be written in the alternative as: [00444] (Control Law 1B) [00445] [00446] Control Laws 1A and 1B are detailed further in FIGs.10A and 10B.
  • a second exemplary control law for a TARC control law module can actually be selected from three control laws 2A, 2B, and 2C and they can be written as: [00447] (Control Law 2A) [00448] (Control Law 2B) [00449] (Control Law 2C) [00450]
  • a best of Control Law 2B and 2C can be selected as: [00451] (Control Law 2B/2C) [00452]
  • a total control law based on 2A and the combination of 2B and 2C can be written as a selection or combination of: [00453] (Control Law 2A/B/C) [00454]
  • An augmentation of the above can be written as [00455] (Control Law 2A/B/C Augmented) [00456] Control Laws 2A, 2B, and 2C are detailed further in FIGs.11A – 13.
  • a third exemplary control law for an L1 control law module can be written as: [00458] (Control Law 3) [00459] And details of this Control Law 3 can be seen in FIGs.14-15.
  • a fourth exemplary control law for an Adaptive PID control law module can be written as: [00461] (Control Law 4) [00463] Details of the Control Law 4 can be seen in FIGs.16-21.
  • the input regressor, ⁇ , and subsets thereof are described generally relative to FIGs.8A and 8B since the estimation law module 804 or the control law module 806, where the input regressor, ⁇ , or a subset thereof, is provided, may dictate the values in the input regressor, ⁇ , or a subset thereof.
  • the estimation law modules 804 often use two or more of the following, r, y est_se , and y meas , to determine the estimation error, which is then used, along with other values depending on the estimation law implemented in a given estimation law module 804, to determine estimation model parameter tensors, ⁇ .
  • can be [r, y est_se , y meas ] when provided to the estimation law modules 804 in some embodiments, but [u out_k-1 , r, y meas ] when provided to the control law modules 806.
  • functionality is roughly the same whether ⁇ or a subset thereof is provided to the estimation law modules 804 and the control law modules 806.
  • this disclosure will continue to generalize the inputs to both modules as ⁇ , and those of skill in the art can easily optimize resources and pipelining by providing more specific subsets thereof to the two distinct sets of modules. [00465] Selection of Topology to Generate the Control [00466] Returning to FIG.
  • the selector module 508 receives the one or more possible control signals, u se , and performs further estimations to select a best one of the possible control signals, u se , or a best combination of the possible control signals, u se , as the control, u out .
  • the selector module 508 estimates a system output based on different ones of the possible control signals, u se , or different combinations of multiple possible control signals, u se , and resulting error values for each of these estimations relative to a desired system outcome (e.g., minimizing an error between reference signal and measured system output and/or minimizing an error between reference signal and estimated system output). This error is the system output error, previously referred to.
  • the selector module 508 can use the possible control signals, u se , the estimated system outputs, y est_se , the reference signal, r, and the system output measurement, y meas , in an error or cost function to select the possible control signal, u se , or to select a combination of possible control signals (e.g., a weighted average thereof) that minimizes the cost error or cost function.
  • Equation 4 discussed later will present a detailed example of a cost function that can be used to select the best possible control signal, u se , or best combination of possible control signals, u se .
  • the selector module 508 may select a best possible control signal, u se . Where additional processing resources are available, the selector module 508 may select a best combination of possible control signals, u se (which may include selecting not only different combinations but different ways to combine the possible control signals, u se ).
  • the combination or blending of multiple possible control signals, u se can be governed by a topology such as, but not limited to, a weighted average.
  • Equation 5 presents a detailed example of a means to combine possible control signals, u se , via a complex weighted average.
  • combination or blending can include, but are not limited to, other types of averages, multiplication, summations, differences, divisions, integrals, derivatives, exponentials, complex functions, logarithms, series, statistical distributions, matrices, tensors, neural networks, nonlinear functions, graphs, maps, transformations, trees, or combinations thereof . [00467] Whatever topology, or method of combining/blending is used to determine the control, u out , is also used to estimate a total estimated system output, y est_out .
  • the selector module 508 determines a number and combination (or blending) of control law module 506 outputs (e.g., u se and/or y est_se ) that minimizes the estimated system error, ⁇ out , or estimated system cost function, J out . For instance, in a first iteration, a blending of three out of seven control law module 506 outputs may produce an total estimated system output y est_out (or estimated output) that is closest to the reference signal r (that minimizes the estimated system error, ⁇ out ), while in a second iteration, a blending of five out of seven control law module 506 outputs may produce a total estimated system output y est_out that is closest to the reference signal r.
  • a number and combination (or blending) of control law module 506 outputs e.g., u se and/or y est_se
  • J out estimated system cost function
  • the selector module 508 may select a different topology for generating the control signal, u out , and estimated system output, y est_se , at each iteration (e.g., using Equation 7, which largely mimics Equation 5).
  • the selected or blended control, u out is then passed to the one or more actuators (e.g., 308) and fed back to the adaptation law selector 502 as an input to the estimation law modules 506 for use in determining a next iteration of the control, u out .
  • one or more memory components can be arranged between the control law modules 506 and the selector module 508, such that possible control signals, u se , and estimated system outputs, y est_se , can be temporarily stored, which either assists in parallelization in the selector module 508 or allows the selector module 508 to pull from previous outputs of the control law modules 506 when the adaptive engine 500 sees repeated input iterations (e.g., the same frame or reference signal repeats).
  • the selector module 508 can distribute the above- noted functionality between an optional control selector and combiner 516 (“CSC”) and an optional topology selector and designer 518 (“TSD”).
  • the TSD 518 can look at previous controls, u out , and a total estimated system output, y est_out , for various topologies, and select a best topology, or the one most likely to, when applied in the selector module 508, lead to a control, u out , that causes a measured system output, y meas , that is close to the total estimated system output, y est_out , or the reference signal, r.
  • the TSD 518 may analyze an estimated system cost function, J out , such as Equation 4, to select an optimal possible control signal, u se , or combination of possible control signals, u se (in the form of a topology for combining the possible control signals).
  • the TSD 518 may provide this selection to the CSC 516, which dictates how selected possible control signals, u se , are to be combined or blended in the CSC 516 (also referred to as applying the topology). For instance, the TSD 518 may provide a topology to the CSC 516, which looks at different topo logies for combining or blending the possible control signals, u se , in the CSC 516 (e.g., a weighted average), and determines a best topology. This topology may be embodied as a set of weights to be provided to the CSC 516, where the weights determine how possible control signals, u se , are combined or blended.
  • the topology can include averaging, multiplication, summations, differences, divisions, integrals, derivatives, exponentials, complex functions, logarithms, series, statistical distributions, matrices, tensors, neural networks, nonlinear functions, graphs, maps, transformations, trees, to name a few non-limiting examples, or combinations thereof. Equation 5 presents one non-limiting example of applying a topology with weights, w nj and w nn .
  • the CSC 516 in turn can estimate a total estimated system output, y est_out , based on the topology or weights and the total estimated system outputs, y est_se , and provide this estimate, y est_out , to the TSD 518 for use in determining a next iteration of the topology (e.g., in the cost function of Equation 4).
  • the CSC 516 can return weight-tuning values, w-tuning, to the TSD 518 that can be used to adjust weights in a next iteration.
  • these estimates, y est_se and/or y est_out can be provided to the TSD 518, which can determine a possible control signal, u se , or combination of possible control signals, that minimizes a cost function relative to the measured system output, y meas , and/or the reference signal, r. If the TSD 518 selects the best possible control signal, u se , or combination thereof, the TSD 518 can send this selection back to the CSC 516 as a topology or set of weights. In turn, the CSC 516 can return weight- tuning values to the TSD 518 that can be used to adjust weights in a next iteration of topology selection.
  • the selector module 508 can optimize the estimated system cost function, J out , associated with topologies of the control laws implemented by the control law modules 506. It does this by considering the possible control signals, u se , and finding a combination and means of combining them that optimizes the estimated system cost function, J out .
  • the estimated system cost function, J out may look at a difference or error between the reference signal, r, and a measured output, y meas , or between the reference signal, r, and a total estimated system output, y est_out .
  • the estimated system cost function, J out can look at both of these errors, for instance, as presented in Equation 4: [00474] (Equation 4) [00475] Where k is a value representing the iteration being analyzed, y est_out_k_p , is an estimated total output of the controlled system based on a one of p topologies being analyzed, and the estimated system cost function, J outk_p , can be analyzed for each of the p topologies. The one of the p topologies resulting in the minimum estimated system cost function, J outk_p , is selected for generating the control u out .
  • Each of the p topologies can involve a different weighted input of the estimated output, y est_se from each of the control law modules. In some cases, this can be a weighted average of the control law module outputs, or a more complex mixing, such as multiplication of some outputs and summing of other outputs.
  • the weights can be denoted, w (distinct from ⁇ ), and are the ones used in a previous iteration, k-1.
  • n represents the possible control signal, u se , for a current control law module
  • j represents the possible control signals, u se , for all other control law modules.
  • the weights, w nj , and w n can be selected to minimize at each control sample, an estimated system error, ⁇ out , for instance as calculated via Equation 6: [00481] (Equation 6) [00482]
  • the estimated system error, ⁇ out can be calculated in other ways. For instance, y meas can be replaced by r in some embodiments.
  • Equation 7 can be seen to nearly mimic Equation 5—in other words the topology applied to the possible control signals, u se , is also applied to the estimates of total system output, y est_se .
  • the weights, w nj , and w n can be set to 1 for an initial iteration of the selector module 508, and in subsequent iterations, Equation 6 can be used to narrow in on more effective weights until the cost function in Equation 4 is minimized.
  • Equation 5 can then be used to provide a control signal, u out , from the selector module 508 based on the topology dictated by the optimized weights, w nj , and w nn .
  • the adaptive engine 500 can further include a CCS engine coupled to the selector module 508 that generates an exogenous signal, that tries to enforce coherency, consensus, and synchronization among the different potential control signals, u se , based on the selected topology.
  • the CCS engine provides an exogenous signal to the selector module 508 to smooth discontinuities that might arise as it switches between possible control signals , u se .
  • the CCS engine can use the system output measurement, y meas , and aspects of the input regressor, ⁇ , such as the reference signal, r, to determine the exogenous.
  • the exogenous is calculated for and applied to each of the possible control signals, u se .
  • the exogenous can be a modifier of the weights applied to each possible control signal, u se , when multiple possible control signals, u se , are being combined or blended.
  • the weights, w can be modified by the exogenous for each possible control signal, u se .
  • the functionality of the CCS engine and the exogenous can be implemented in the w-tuning.
  • FIG. 46 shows an illustrative example of operation of an adaptive engine according to embodiments of this disclosure.
  • the adaptive engine 4600 enables multiple combinations of estimation and control laws to be combined and then a best combination or combinations are selected for use in determining a control signal, u se , for one or more actuators, such as the actuators described in FIG. 4.
  • Inputs to the adaptive engine 4600 can include a reference signal, r, (e.g., a stream of setpoints), measurements of the system being controlled by the one or more actuators, y meas , and an estimated system output as determined by the adaptive engine 4600 in a previous iteration.
  • r e.g., a stream of setpoints
  • y meas e.g., a stream of setpoints
  • an estimated system output as determined by the adaptive engine 4600 in a previous iteration.
  • These and other inputs can be concatenated or stored in tensor form, as input regressor, ⁇ .
  • the adaptive engine 4600 at the most basic level takes an input regressor, ⁇ , and produces a control signal, u out .
  • the adaptive engine 4600 also achieves this using unique bifurcation of duties such that parallelization is optimized, and certain calculations are pre-processed, or processed at lower speeds, while others are calculated in real-time.
  • the nonlinear model of the actuator(s) and/or system controlled by the actuator(s) can be difficult to describe in one or even a small series of equations.
  • the nonlinear model is broken into frames of sample points and for each frame, the nonlinear model is approximated by a time-varying linear system, W m , that is based on the estimated model parameter tensor, ⁇ , and is adapted through the frame until the time-varying linear system, W m , represents an accurate approximation of the nonlinear behavior for that frame (i.e., when ⁇ becomes constant for multiple control samples or iterations).
  • W m time-varying linear system
  • a frame resynthesizer 4602 selects a structure of a time- varying linear system, W m , (i.e., which elements in a given frame’s W m matrix or matrices are ones and zeros).
  • W m time-varying linear system
  • the structure of the time-varying linear system for each frame can be selected by a designer based on empirical study of the actuator(s) and system.
  • a time- varying linear model is used that approximates the nonlinear behavior while converging on that nonlinear behavior via adaptation of ⁇ . In other words, any unpredicted or averaged out nonlinear behavior is approximated through the “theta” parameter adaptation at every control sample.
  • the engine 4600 can include various estimation law modules 4606, though only one is shown in this abbreviated illustration.
  • the estimation law module 4606 applies an estimation law, such as to estimate a best value for the parameters (estimated model parameter tensor, ⁇ ) of the nonlinear model, or more specifically, the linearized version of the nonlinear model for the given frame.
  • Each estimation law not just the one shown, is a function of an error, or a cost function, J.
  • the error or cost function is a function of two or three of the following: (1) reference signal, r; (2) measured system output, y meas , from a previous iteration or previous control sample; and (3) estimated system output, y est_se , for a previous iteration or previous control sample.
  • this prediction can come from a prediction portion of the model 4608B.
  • the estimation law module 4606 adapts the estimated model parameter tensor, ⁇ , every iteration.
  • the frame resynthesizer or the designer, selects a new time-varying linear system of the nonlinear model for every frame, it can be said that the time-varying linear system, W m, of the model is adapted every frame, and the model is further adapted by changes to the estimated model parameter tensor, ⁇ , for each iteration or control samp le.
  • adaptation of the model is bifurcated into faster and slower portions—a fast portion based on adaptation of ⁇ and a slower portion based on adaptation of the time-varying linear system, W m .
  • the illustrated estimation law is based on the input regressor, ⁇ , and the adaptation gain, ⁇ , though other estimation laws can be functions of similar or different values (e.g., not including the adaptation gain, ⁇ , and/or being a function of a filtered version of the input regressor, ⁇ ).
  • Integrating the illustrated estimation law gives the estimated model parameter tensor, ⁇ , and once this tensor is estimated, it can be passed to the model 4608, which has two parts: a control portion for determining u se and an estimation portion for determining y est_se , both of which are functions of the estimated model parameter tensor, ⁇ .
  • Both can also be based on versions of the input regressor or a filtered version thereof, such as, but not limited to, ⁇ and ⁇ .
  • the estimation portion of the model 4608B is also a function of the time-varying linear system, W m , of the linearized version of the model, however, an alternative sees the control portion depending on the time-varying linear system, W m .
  • Both portions of the model can be parameterized or parametric. These two portions of the model exhibit duality as they are related through the same model 4608.
  • the control law module is also referred to earlier in this disclosure as a sub-engine, and various sub-engines present differing uses of the model 4608, though ultimately, they all rely on similar inputs to those shown in this illustration, and each sub-engine typically produces a possible control signal, u se , and an estimated system output, y est_se .
  • Both portions or forms of the model 4608A and 4608B “test” the estimated model parameter tensor, ⁇ , to see how well the estimate performs.
  • This operation in t he control law module also produces (1) the possible control signal, u se , which is passed to the second form of the model 4608B, and (2) the estimate of the system response/measurement, y est _se , which may use the time-varying linear system, W m , in some variations, that the frame resynthesizer 4602 or designer has selected for the entire frame. [00490] These two outputs of the model 4608 are passed to the selector module 4610, which selects a best one or a best combination of use from the various combinations of estimation law modules and control law modules (only one combination is shown) to produce the control, u out , for the iteration or control sample.
  • the estimation law module 4606 and control law module loop 4608 in this fashion for a number of iterations or control samples to “adapt” the estimated model parameter tensor, ⁇ (or adapt the linearized form of the model) within the current frame.
  • the estimated model parameter tensor, ⁇ will become nearly constant (i.e., see little ⁇ as additional iterations occur) as will the time- varying linear system, W m , that depends on the estimated model parameter tensor, ⁇ .
  • the frame resynthesizer calculates a new structure of the time-varying linear system, Wm, for the linearized form of the nonlinear model, and passes the new structure to the model 4608 to start another series of adaptations of the estimated model parameter, ⁇ .
  • Operations of the adaptive engine 4600 can also be bifurcated between a processor and an FPGA.
  • the processor can compute the structure of the time-varying linear system, W m , once per frame or pre-process various structures for various expected sets of inputs.
  • the FPGA can attend to sample-by-sample (real time) calculations of , J, ⁇ , u se , and/or y est_se , for each iteration or control sample.
  • the whole of the adaption engine 4600 can be bifurcated across a processor and an FPGA, or similar components.
  • Details of Control Law Modules / Sub-Engines [00494] The following sections describe details of various exemplary control law modules or sub-engines, though this list is not limiting. One or more of these sub- engines can be implemented independently from the other sub-engines, and in some embodiments even stand on their own independent from the rest of the adaptive engine.
  • each sub-engine can be implemented without the herein disclosed estimation law modules or selector module. In other embodiments, less than all of the herein disclosed sub-engines need be implemented.
  • a TLMC (or Lyapunov) sub-engine uses the Lyapunov framework which leads to stable outputs in fast dynamic situations and those where large amounts of adaptation are needed.
  • the TLMC creates a stable control law by ensuring that sensitivity functions do not exhibit abrupt variations and are stable by construction.
  • the TLMC sub-engine can be implemented, selected, or given priority in the blending of possible control signals, u se .
  • this TLMC sub-engine can be slow to converge and is not particularly well-suited for unstable zero dynamics.
  • a second sub-engine or TARC can be implemented, selected, or given priority in the blending of possible control signals, u se , as this sub-engine quickly converges to a target metric and/or optimize an amount of energy used (e.g., a minimum rail voltage to achieve a setpoint).
  • the TARC creates fast and stable control laws by reformulation of the control problem such that some quantities can be pre-computed on a CPU leading to faster and more robust real- time operation. Additionally, the TARC allows a designer to specify the speed and amount of stability desired in addition to characterizing the control actuators that are to do the heavy lifting and the ones that are to do lesser lifting.
  • the selector module may choose between and possibly blend possible control signals, u se , from a TLMC and TARC sub-engine.
  • An embodiment using these two sub-engines would provide some coverage for stable and unstable zero-dynamics without any other sub-engines.
  • the TARC sub-engine can become unstable when the adaptive engine is perturbed and/or increases or decreases of the control, u out , are too granular to achieve performance that has “converged” and thus the control, u out , becomes oscillatory. Examples of perturbations include, but are not limited to, a limiting loop, or a small change in plasma process chemistry).
  • the TARC can be implemented, selected or have the most influence on the control, u out , for stable and un-stable zero-dynamics
  • the TLMC can be implemented, selected or have the most influence on the control, u out , when stable adaption is desired (at the sacrifice of convergence speed).
  • a third sub-engine may be implemented, selected or have priority in a blending of possible control signals, u se .
  • the L1 sub-engine is configured to provide a fast and robust possible control signal, u se , without output chattering by using a sliding mode predictor in conjunction with carrying adaptation based on how different the prediction (not the estimate) is from a smoothed system output measurement, y meas .
  • the ATIMC sub-engine can be implemented, selected or have the most influence on the control, u out .
  • the ATIMC sub-engine creates a control law in different parts by subtracting specific effects of disturbances, nonlinearities, dither, and noise in a compartmentalized manner rather than lumping these together.
  • FIG.10A shows an embodiment of an adaptive engine focusing on details of a Lyapunov control law module or Lyapunov sub-engine (also called a TLMC control law module or sub-engine).
  • the adaptive engine 1000 includes at least one estimation law module 1002, a control law module or sub engine 1005, and a selector module 1008.
  • the estimation law module 1002 takes an input regressor, ⁇ , and estimates a model parameter tensor, ⁇ , for a nonlinear model of the actuators and/or system (e.g., a plasma processing system).
  • the estimated model parameter tensor, ⁇ is determined for most estimation laws using at least a portion of the input regressor, ⁇ , and an estimation error, or cost function, J, either of which can be written in various forms, but typically comprise some combination of two or more of the measured system output, y meas , an estimated system output for a given control law module, y est_se , and a reference signal, r.
  • the measured system output, y meas , and the estimated system output, y est_se are for a previous iteration and thus in some cases can be written as y meas (k-1) and y est_se (k-1).
  • each estimation law module estimates an estimated model parameter tensor, ⁇ , that minimizes an estimation error, , or cost function, J.
  • the estimated model parameter tensor, ⁇ is then used by the nonlinear model in the Lyapunov sub-engine 1005 to generate a possible control signal, u se , and to estimate an estimated system output, y est_se , both of which are then used by the selector module 1008 to select a best one or best combination of possible control signals as the control, u out .
  • the Lyapunov sub-engine 1005 can take estimated model parameter tensors, ⁇ , from multiple estimation law modules 1002, and produce multiple pairs of u se and y est_se (one for each estimation law module 1002).
  • the estimated model parameter tensor, ⁇ is passed to the control law module or sub engine 1005, in this case, the Lyapunov sub-engine 1005, which passes the estimated model parameter tensor, ⁇ , through a nonlinear model of the system and/or actuators to produce a possible control signal, u se , and an estimated system output, y est_se .
  • a control portion 1016 of the nonlinear model produces the possible control signal, u se
  • an estimation portion 1018 of the nonlinear model produces the estimated system output, y est_se .
  • the Lyapunov sub engine 1005 takes the (1) input regressor, ⁇ , which may include at least the reference signal, r, and the control from the previous iteration, u out , and (2) the estimated model parameter tensor, ⁇ , and performs a tensor multiplication 1012 on these inputs.
  • the tensor multiplication 1012 implements a version of the first control law where the input regressor, ⁇ , is not modified before tensor multiplication 1012: [00506] (Control Law 1A) [00507]
  • Control Law 1A using ⁇ instead of ⁇ can be used where the sub-engine 1005 of FIG.10B is implemented and some modification of ⁇ to get ⁇ occurs.
  • overlaps with but is not identical to ⁇ .
  • is a concatenation that can include some form of u out_k-1 , y meas , and r (i.e., often components of ⁇ ).
  • may equal [u d , y d , y meas , r] where u d and y d are filtered or smoothed versions of u out and y meas , respectively. See FIG. 10B for a more specific implementation of ⁇ replacing ⁇ .
  • the input regressor, ⁇ can include inputs that correspond to the output parameters to be controlled (and thus the estimated model parameter tensor ⁇ ).
  • These inputs can include, but are not limited to, the reference signal, r, the measured system output, y meas , the control from the previous iteration, u out , and in some cases the estimated system output, y est_se , for the Lyapunov sub-engine 1005.
  • the control portion 1016 multiplies the input regressor, ⁇ , including the control signal from the previous iteration, u out , and the estimated model parameter tensor, ⁇ . For instance, if the input regressor, ⁇ , includes r and y meas , then the estimated model parameter tensor, ⁇ , will include ⁇ values for r and y meas .
  • the estimation portion 1018 multiplies the time-varying linear system, W m , and the output of the control portion, the possible control signal, u se .
  • Model 2 the tensor multiplication 1012 sees the control portion 1016 multiply the time-varying linear system, W m , by the total estimated system output, y est_out , or the measured system output, y meas . Similarly, the estimation portion 1018 multiplies ⁇ and ⁇ .
  • Control Law 1A is the control portion of Model 1 referred to earlier. An example control law is not presented to correspond to Model 2, but it can be said that the Lyapunov sub-engine 1005 can implement Models 1 or 2 without other modifications, whereas subsequent sub-engines may implement either model, but with modifications to achieve different control goals.
  • control portion 1016 can use the possible control signal, u se , to calculate the estimated system output, y est_se via the estimation portion 1018 of the nonlinear model.
  • the tensor multiply 1012 can be thought of as implementing the two forms of the model (control and estimation forms) to test the guesses for ⁇ , which produces u se and y est_se for this iteration.
  • the resulting u se and y est_se can be passed to the selector module 1008, that provides a total system control, or control, u out , as a best of the possible control signals, u se , or a best combination or blending of two or more of the possible control signals, u se (e.g., a weighted average, multiplication, or summation).
  • This calculation can be based on the estimated system outputs, y est_se , from the Lyapunov sub-engine 1005 and all other sub-engines.
  • a total estimated system output y est_out can be calculated for various combinations or topologies of y est_se , and the topology leading to a total estimated system output y est_out that is closest to r or y meas (i.e., a smallest estimated system error, or estimated system cost function, J out .) is used to select or combine possible control signals, u se .
  • y est_se the topology leading to a total estimated system output y est_out that is closest to r or y meas (i.e., a smallest estimated system error, or estimated system cost function, J out .) is used to select or combine possible control signals, u se .
  • the control, u out can be fed back as part of the next input regressor, ⁇ , and the time-varying linear system, W m , can be adapted via changing ⁇ over multiple iterations in this manner until W m converges on the actual nonlinear system behavior (i.e., the unknown nonlinear portion of W m is minimized). This can continue until a new frame, at which point a new structure of the time-varying linear system, W m , is provided to the estimation law module 1002 and/or the tensor multiply 1012, and adaptation of ⁇ within this next frame begins.
  • control signal u out is fed back to the input regressor, ⁇ , and may be provided to the estimation law module 1002 and/or the sub- engine 1005.
  • the estimated system output, y est_se can also be passed back to the estimation law module 1002 for use in determining the next iteration of ⁇ .
  • One or both of these can be stored in memory along the way, such as a TSP-RAM.
  • the Lyapunov sub-engine 1005 can optionally include a nonlinear transfer function(s) 1013.
  • the tensor multiply 1012 can produce what will be called ideal or desired outputs, u desired and y est_ideal , which will then be transformed into u se and y est_se in the nonlinear transfer function(s) 1013.
  • the hardware nonlinearities can be characterized during the design stage and a parameterized dynamic model of these nonlinearities, and their effects can be hardwired or programmed into the nonlinear transfer function(s) 1013, such that: (Equation 9) [00516] While this embodiment implements both the control and estimation portions of the nonlinear model in the tensor multiply 1012, in an alternative embodiment, the estimation portion of the nonlinear model can be implemented in the estimation law module 1002. In this case, y est_se or y est_ideal will be calculated in the estimation law module 1002 based on the input regressor, ⁇ , the estimated system parameter tensor, ⁇ , and a previous iteration of the possible control signal, u se .
  • FIG.10B presents a variation of FIG.10A where the derivative of the estimated model parameter tensor, ⁇ , is also used.
  • control portion of the nonlinear model, or Control Law 1A can be written in terms of ⁇ and its derivative as Control Law 1B as follows: [00518] (Control Law 1B) [00519]
  • estimation law module 1002 can calculate both the estimated model parameter tensor, and its derivative, These can both be passed to the tensor multiply 1012.
  • tensor ⁇ is the second input in the tensor multiply 1012.
  • the smoothed versions of y meas and u out can be referred to as y d and u d .
  • the smoothing filters 1020 can apply, for instance, a minimum group/phase delay persistent excitation, which can produce noise free signals and/or derivatives of the inputs to the filters 1020.
  • the concatenated tensor ⁇ can be passed through another set of smoothing filters 1024 (which can be the same as the smoothing filters 1020 in some embodiments), to obtain ⁇ .
  • the ⁇ tensor can take the filtered value of ⁇ and insert 0’s where appropriate. .
  • ⁇ and ⁇ can be concatenated in tensor concatenation 1026, and the tensor multiply 1012 performs the Control Law 1B or In other words, regardless of the relative degree of the system, its nonlinearities, and/or its MIMO status, this use of ⁇ allows generic application.
  • the ⁇ tensor takes on the filtered values from ⁇ and depending on the relative order, fills out some entries with 0’s. The remainder of each iteration is carried out as described relative to FIG.10A.
  • the estimation law module 1002 and parts of the sub-engine 1005 can operate in parallel. For instance, determination of the estimated model parameter tensor and its derivative, can be carried out in parallel to determine the ⁇ , ⁇ , and ⁇ tensors.
  • the sub-engine 1005 in a first FPGA cycle can calculate ⁇ , while the estimation law module 1002 begins to determine the estimated model parameter tensor and its derivative,
  • the sub-engine 1005 can determine ⁇ and ⁇ while the estimation law module 1002 finishes determining the estimated model parameter tensor and its derivative, [ ]
  • the tensor multiply 1012 can multiply the estimated model parameter tensor and its derivative, [ and ⁇ to produce the u desired and the y est_ideal .
  • the nonlinear transfer functions 1013 can convert the u desired and the y est_ideal to the u se and the y est_se , and in a fifth FPGA cycle the selector module 1008 can produce the control signal, u out , from the outputs of the multiple sub-engines 1005.
  • This cycle rate can lead to a 6x oversampling / resource sharing / streaming factor and between 5-25 MHz control rate in some embodiments.
  • slower control rates such as lower than 5 MHz can achieve an 8x to 32x oversampling / resource sharing /streaming factor.
  • These lower control rates and higher oversampling factors can lower hardware usage (e.g., as low as 5% FPGA usage).
  • FIG.47 illustrates a method of operating a sub-engine such as the Lyapunov sub-engine.
  • the method 4700 comprises receiving an input regressor, ⁇ (Block 4702), and an estimated model parameter tensor, ⁇ (Block 4704), for a nonlinear model of the one or more actuators and/or the power system controlled by the one or more actuators.
  • the input regressor, ⁇ can include inputs that correspond to the output parameters to be controlled (and thus the estimated model parameter tensor ⁇ ).
  • These inputs can include, but are not limited to, the reference signal, r, the measured system output, y meas , the control from the previous iteration, u out , and in some cases the estimated system output for the sub-engine, y est_se .
  • the estimated model parameter tensor, ⁇ may be estimated, for instance by one of the estimation law modules previously discussed, or may be accessed from an empirically derived lookup table.
  • the method 4700 further comprises receiving a structure of a time-varying linear system, W m (Block 4706) that is part of a nonlinear model.
  • the time-varying linear system, W m can have a structure that is pre-calculated in a frame resynthesizer and then newly passed to the Lyapunov sub-engine every frame or can be accessed from an empirically derived lookup table at every frame.
  • the time-varying linear system, W m can depend on the estimated model parameter tensor, ⁇ , and thus can change or adapt every iteration or control sample. However, it can have a structure that remains the same through a given frame, but changes from frame to frame. Thus, the frame-to- frame changes in structure account for large changes in the nonlinear system behavior, while adjustments to ⁇ and hence the time-varying linear system, W m , within a frame, account for small nonlinear system behaviors.
  • the method 4700 can optionally perform certain filtering operations on one or more components of the input regressor, ⁇ (optional Block 4708) and concatenate parts of the input regressor with the new filtered tensors to form a modified regressor, ⁇ (optional Block 4710). These optional steps can be embodied by the components 1020 and 1022, respectively, seen in FIG.10B.
  • the modified regressor, ⁇ can optionally be further filtered to form a doubly modified regressor, ⁇ , where 0’s can be inserted into ⁇ , where appropriate depending on the relative order of W m (optional Block 4712).
  • the modified regressor, ⁇ , and the doubly modified regressor, ⁇ can be concatenated, to form a final tensor, ⁇ (optional Block 4714).
  • These last two optional blocks can be embodied by the components 1024 and 1026, respectively, see in FIG.10B. These optional blocks allow the method 4700 to by applied generically to systems regardless of their relative degree, nonlinearities, and/or MIMO status.
  • the method 4700 can apply a control portion of the nonlinear model by tensor multiplication of the estimated model parameter tensor, ⁇ , and the input regressor, ⁇ (or optionally the final tensor, ⁇ ) (Block 4716). This calculates a possible control signal, u se .
  • the method 4700 can also apply an estimation portion of the nonlinear model by using the possible control signal, u se , and the estimated model parameter tensor, ⁇ , as inputs to the time-varying linear system, W m , to estimate an estimated system output, y est_se (Block 4718).
  • the estimated system output, y est_se can then be used to determine how the possible control signal, u se , influences a control output, u out , (Block 4720), which is configured for controlling the one or more actuators and/or the system controlled by the one or more actuators (Block 4722).
  • the Lyapunov sub-engine can operate as a standalone controller.
  • the estimation law modules can be replaced by an empirically derived lookup table for the estimated model parameter tensor, ⁇ . More specifically, a lookup table can be empirically formed as a mapping between (1) y meas and u out from a reference/calibration system and (2) estimated model parameter tensors, ⁇ .
  • a control, u out can be provided to the one or more actuators, and measurements, y meas , can be taken from the one or more actuators and/or system. These can then be used to select an estimated model parameter tensor, ⁇ , from the lookup table, and then provided to the Lyapunov standalone controller to determine what will be called a control signal, u out .
  • This control signal, u out can be provided to the one or more actuators.
  • the Lyapunov standalone controller can produce a string of possible control signals, u se , and form a control, u out , as a combination of the string.
  • a weighted average of the possible control signals, u se can be used to calculate the control, u out , although other methods of combining the string can also be implemented.
  • the combination may be based on estimated system outputs, y est_se , for each of the possible control signals, u se , similar to the way in which a topology is selected in the selector and combiner mentioned earlier.
  • y est_se can be found via an estimation portion of the nonlinear model, for instance, using Model 1: [00523] [00524] Where the estimated model parameter tensor, ⁇ , is found in the lookup table based on the measured system output, y meas , and the control, u out , both from a previous iteration.
  • the Lyapunov sub-engine i.e., the TLMC sub-engine described above
  • the Lyapunov sub-engine is designed to operate in a multitude of conditions and with relatively large adaptation gains ⁇ , ⁇ 1 , ⁇ 2 , etc., recalling that ⁇ is the adaptation gain tensor.
  • the Lyapunov sub-engine may not be the most optimal for adaptive control.
  • the Lyapunov sub-engine may not be the most optimal when the non-linear system being controlled has unstable zero dynamics (e.g., non- minimum phase for a single input single output or SISO linear system).
  • TARC sub-engine a control law sub-engine
  • the TARC sub-engine can also operate independent of any other sub- engines and may therefore be referred to as a TARC controller.
  • TARC control law sub-engine is designed to optimize the use of the Tensor Signal Processing (TSP) hardware resources of the adaptive engine.
  • TSP Tensor Signal Processing
  • IMC refers to a control design where the reverted input/output (I/O) model of the process/system being controlled is included within the controller.
  • IMC systems are characterized by a control device consisting of the controller and of a simulation of the process being controlled (i.e., the internal model).
  • the internal model computes the difference between the outputs of the process and of the internal model, where the difference represents the effect of disturbances and/or of a mismatch of the internal model.
  • the disclosed TARC control law sub-engine may facilitate in smoother waveforms and/or faster settling times, as compared to the prior art, through the use of an IMC scheme, an adaptive inverse control scheme, or a combination thereof.
  • the TARC control sub-engine is configured to manage both desired process performance and efficiency, for instance, when the rail and drive frequency are being controlled simultaneously.
  • the TARC control sub- engine is designed to prevent error transmission buildup by incorporating a matrix (or tensor), where the matrix is used to place weights on the control signals whose amplitudes are to be minimized.
  • the TARC control law sub-engine enables the use of weighted control signals in a manner similar to Linear Quadratic Control (LQC) schemes.
  • the adaptive engine may be augmented with the TARC and TLMC control law sub-engines, as well as other control law sub-engines described later in the disclosure. In this way, the adaptive engine may select the most optimal control law sub-engine for a particular situation (or the most optimal combination of control law sub-engines). In some examples, the adaptive engine compares the estimated error (or estimation error) associated with the different control law sub-engines to determine which of the control law sub-engines should be used.
  • the adaptive engine may select the possible control signal produced by one of the plurality of control law sub-engines based on determining that the control law sub-engine is associated with the lowest estimation error (i.e., highest estimation accuracy).
  • the adaptive engine e.g., a selector module
  • This may involve an error or cost function that compares the measured system output, y meas , for a previous iteration, or the reference signal, r, to the total estimated system outputs, y est_out , calculated for various possible topologies. More specifically, the TSD 518 may analyze a cost function, such as Equation 4, to select an optimal possible control signal, u se , or combination of possible control signals, u se (in the form of a topology for combining the possible control signals).
  • the TARC control law sub-engine attempts to achieve the desired performance in the shortest time possible and/or with minimal control efforts (e.g., minimal/optimized energy use, minimal/optimal use of controller hardware resources, to name two non-limiting examples).
  • minimal control efforts e.g., minimal/optimized energy use, minimal/optimal use of controller hardware resources, to name two non-limiting examples.
  • the TLMC control law sub-engine (or any other control law sub-engine) may take over.
  • the adaptive engine may switch from the TLMC back to using the possible control signal(s) provided by the TARC to control the non-linear system.
  • the TARC control law sub-engine allows for a high level of parallelization by deploying multiple control law modules on parallel paths.
  • the TARC control law sub-engine comprises two or more control law modules (e.g., an adaptive inverse laws or AIL control law module, an eigen control law module, a penalty control law module) that can be implemented in parallel, where the parallel implementation enables one or more of oversampling, resource sharing/streaming, and pipelining.
  • control law modules e.g., an adaptive inverse laws or AIL control law module, an eigen control law module, a penalty control law module
  • Such a design may serve to optimize hardware resource usage.
  • several FPGA clock cycles may be used to collect data which is then passed as a single stream of data, herein referred to as “resource streaming”.
  • FIG. 11A depicts an example of an adaptive engine 1100, according to various aspects of the disclosure.
  • the adaptive engine 1100 comprises an estimation law module 1104 (also referred to as FELB 1104) and a control law sub - engine 1106, where the control law sub-engine 1106 includes a plurality of control law modules.
  • control law sub-engine 1106 comprises an Adaptive Inversion Laws (AIL) module 1114 and an Adaptive Tensor of Matrices Laws (ATML) module 1166, where the ATML module 1166 comprises an Eigen Laws (EL) module 1124 and a Penalty Laws (PL) module 1134.
  • AIL Adaptive Inversion Laws
  • ATML Adaptive Tensor of Matrices Laws
  • PL Penalty Laws
  • the control law sub- engine 1106 further comprises a control selector/combiner (CSC) 1107, where the CSC 1107 is configured to receive a possible control signal from each of the control law modules and output a final possible control signal (e.g., u se ) for the adaptive engine 1100.
  • the adaptive engine 1100 further includes a selector module 1108, where the selector module 1108 includes another control selector/combiner (CSC) 1116 and an optional topology selector and designer (TSD) 1118.
  • the CSC 1116 and the TSD 1118 may be similar or substantially similar to the CSC 516 and the TSD 518 previously described in relation to FIG.5.
  • the FELB 1104 is configured to receive an input regressor, apply one or more estimation laws to the input regressor, and produce one or more sets of estimated parameter tensors, ⁇ , for a non-linear (NL) model of the one or more actuators and/or the system controlled by the one or more actuators.
  • the input regressor comprises one or more of (1) a setpoint stream (also referred to as a reference signal), r, (2) a system output measurement, y meas , and (3) a control output, u out_k-1 , from a previous iteration.
  • the estimation portion 808 of the nonlinear model (which is a parameterized nonlinear model) is stored and/or executed on the FELB 1104, as depicted in FIG. 11B. In other cases, the estimation portion 808 is stored and/or executed at the control law sub-engine. In either case, the estimation portion 808 is configured to produce a plurality of possible estimated system outputs, y est_SE , based upon a control input. The control input(s) used to produce the possible estimated system output(s) may be based in part on the location of the estimation portion 808.
  • the control input fed to the estimation portion 808 includes a previous iteration of the possible control signal, u SE_k-1 (or u se_k-1 ), for the adaptive engine 1100. In some other cases, the control input fed to the estimation portion 808 includes a current iteration, u SE_k , of the possible control signal. In yet other cases, the control input fed to the estimation portion 808 includes an actual control signal (u out_k-1 ) for a previous iteration, i.e., the actual/output control signal applied to the one or more actuators and/or the system controlled by the one or more actuators. In some cases, this actual/output control signal is the final control output signal computed by the selector module 1108.
  • the FELB outputs a plurality of estimated parameter tensors [ ⁇ ], one for each of the AIL module 1114, the EL module 1124, and the PL module 1134.
  • the FELB 1104 may output a single estimated parameter tensor that is fed to each of the three control law modules.
  • the plurality of estimated parameter tensors [ ⁇ ] may be stored in tensor memory 1152 of the adaptive engine.
  • the control law modules are configured to output a possible control to the CSC 1107, which then outputs the possible control signal (u SE ) and the estimated system output (y est_SE ) corresponding to the adaptive engine 1100 to the selector module 1108.
  • the selector module 1108 also receives one or more other possible control signals (u SE1 , u SE2 , etc.) and estimated system outputs (y est_SE1 , y est_SE2 , etc.) from one or more other control sub-engines (or control law modules).
  • the CSC 1107 outputs one of, or a combination of, the possible control signals received from the control modules of the control law sub - engine 1106.
  • the CSC 1107 receives a possible control signal (e.g., u SE_AIL , u SE_EL , u SE_PL ) and an estimated system output (e.g., y est_SE_AIL , y est_SE_PL , y est_SE_EL ) from each of the AIL control law module 1114, the EL control law module 1124, and the PL control law module 1134 and outputs a single u SE and y est_SE to the selector module 1108.
  • the u SE and y est_SE provided to the selector module 1108 may be one of the possible control signals and estimated system outputs, or alternatively, a combination of the possible control signals and estimated system outputs received by the CSC 1107.
  • the AIL 1114, the Eigen Laws 1124, and the Penalty Laws 1134 can produce the estimated system output (e.g., y est_SE_AIL , y est_SE_PL , y est_SE_EL ) using an estimation portion of the nonlinear model.
  • the system model or nonlinear model can be provided with a control portion, for generating possible control signals, u se , and an estimation portion for estimating estimated system outputs, y est_se .
  • a time-varying linear system, W m can make up a foundation of either the estimation portion or the control portion, and can be bifurcated or split into a sum of a linear and a nonlinear portion and the control timeline can be split into frames of differing lengths (or number of control samples or adaptation iterations) with some processing of the nonlinear model occurring on a CPU or other slower resource and real-time aspects of the nonlinear model occurring on an FPGA or other faster resource.
  • a current frame can be supplied with a structure of the time-varying linear system, W m .
  • the nonlinear portion of the time-varying linear system, W m is effectively an unknown error and thus not used or considered in the processing (other than in attempt to minimize this error).
  • the structure of the time-varying linear system, W m can be pre-processed, for instance on a CPU, though it can also be accessed from an empirically-derived lookup table.
  • the structure of the time-varying linear system, W m remains constant through the current frame. Yet, since the time-varying linear system, W m , is also dependent on the estimated model parameter tensor, ⁇ , the estimation portion of the nonlinear model adapts within a frame as ⁇ changes in the FELB 1104 (as the adaptive engine modifies ⁇ to minimize an error relative to measured system behavior).
  • Adaption can then involve applying an estimation law to at least the reference signal, r, and the estimation error, ⁇ , or cost function, J, to estimate an estimated model parameter tensor, ⁇ .
  • the estimated model parameter tensors, ⁇ can then be tested in the AIL 1114, Eigen Laws 1124, and the Penalty Laws 1134, and adaptation can continue through the entirety of the frame, and in turn, W m , is adapted throughout the frame (or until convergence is achieved).
  • W m a new structure of the time- varying linear system
  • W m the structure of the time-varying linear system
  • W m can include the structure of the A, B, and C matrices that are part of the system of equations making up W m .
  • FIG.11B illustrates a detailed view of the AIL control law module 1114, in accordance with one or more implementations.
  • the AIL control law module 1114 comprises filters 1181, where the filters 1181 include smoothing filters 1182 and smoothing inverse filters 1183.
  • the AIL control law module 1114 further comprises a transformation module 1188 and a tensor multiply module 1112.
  • the FELB 1104 comprises the estimation portion 808 (which can implement th etime-varying linear system, W m ).
  • the FELB 1104 is configured to receive an input regressor, where the input regressor includes (1) the setpoint stream, r, (2) the system output measurement, y meas , (3) an error signal, e, where the error signal is based on a difference between the setpoint stream and the system output measurement, and/or (4) a possible control signal, u SE_AIL , for the AIL control law module 1114. While not necessary, the possible control signal, u SE_AIL , may correspond to a possible control signal from a current control iteration.
  • the FELB 1104 is configured to calculate a first set of estimated parameter tensors, [ ⁇ ], for the nonlinear model based on applying one or more estimation laws to the input regressor.
  • the FELB 1104 provides the first set of estimated parameter tensors [ ⁇ ] to the tensor multiply module 1112.
  • the tensor multiply module 1112 is electronically, communicatively, and/or logistically coupled to the filters 1181, the memory 1152, the transformation module 1188, and the FELB 1104. Further, the tensor multiply module 1112 is configured to receive a tensor (A CL ), where the A CL tensor is the tensor of time-varying linear system representation of the desired arbitrary non-linear waveform desired by the user as the output of the non-linear/chaotic generator/match/chamber plasma system.
  • a CL tensor
  • the tensor multiply module 1112 also receives an internal model (Q m ), where the internal model, Q m , represents the desired/reference plasma process performance.
  • Q m may be the filtered version of W m .
  • the tensor multiply module 1112 receives one or more of the A CL and the Q m from the FELB 1104 (or another component of the adaptive engine 1100).
  • the smoothing filters 1182 and the smoothing inverse filters 1183 are configured to receive the control output, u out_k-1 , from the previous iteration and the error signal, e, respectively.
  • the smoothing inverse filters 1183 may also receive the control output, u out_k-1 , from the previous iteration, where the previous iteration’s control output is received from the selector module 1108.
  • the smoothing inverse filter 1183 provides an inverse filtered version of the error signal, H -1 ⁇ e ⁇ , and an inverse filtered version of the previous iteration’s control output, H -1 ⁇ u out_k-1 ⁇ , to the tensor multiply module 1112.
  • the AIL control law module 1114 is configured to form a Matrix Tensor (e.g., a Sylvester matrix tensor) from the first set of estimated model parameter tensors, [ ⁇ ], received from the FELB 1104. This Sylvester matrix tensor is then passed through a tensor pseudo-inverse block, which carries the pseudo-inverse operation on every Sylvester matrix in all tensor dimensions. The Sylvester matrices are used to condense the estimated model parameters ( ⁇ ’s) of the ⁇ , ⁇ matrices into a 2nX2n matrix for each input and each time sample, leading to a tensor for these matrices.
  • estimated model parameters
  • the Sylvester matrices are used to condense the estimated model parameters ( ⁇ ’s) the estimated coefficients (e.g., a est and b est , described later in the disclosure) of the nonlinear model into a 2nX2n matrix for each input and each time sample.
  • the tensor multiply module 1112 applies a tensor multiplication between A CL and the pseudo-inverse of the Sylvester matrices tensor to obtain the tensor of matrices a d .
  • a d may represent a linear algebraic transformation (also known as diffeomorphism) and may be used to compute the adaptive control law.
  • the tensor multiply module 1112 passes the tensor of Sylvester matrices and A CL to the transformation module 1188, which then computes the tensor of matrices, ⁇ and ⁇ , and passes them back to the tensor multiply module 1112.
  • ⁇ pinv(S)A CL ⁇ (Equation 10) [00541]
  • ‘S’ is a tensor of Sylvester matrices and ‘T’ represents a linear algebraic transformation.
  • the tensor multiply module 1112 After receiving from the transformation module 1188, the tensor multiply module 1112 carries out a tensor (or matrix) multiplication between and the inverse filtered error signal, H -1 ⁇ e ⁇ .
  • the tensor Q m which is the internal model representing the desired/reference plasma process, is tensor multiplied with
  • the tensor Q m is the filtered variation of the tensor W m , where W m is a time-varying linear system used in the nonlinear model, and typically in the estimation portion of the nonlinear model.
  • W m is a time-varying linear system used in the nonlinear model, and typically in the estimation portion of the nonlinear model.
  • a structure of the time- varying linear system, W m may be pre-calculated in a frame resynthesizer or accessed from an empirically-derived lookup table. Further, the same time-varying linear system, W m , may be used for all iterations of a given frame, and then changed for a next frame.
  • the possible control signal, u SE_AIL produced by the AIL control law module 1114 may be calculated as shown in equation (11) below: [00543] _ _ _ (Equation 11) [00544]
  • the adaptive engine 1100 also computes one or more of the possible control signals, u SE_PL and u SE_EL , corresponding to the penalty laws module 1134 and the eigen laws module 1124, respectively.
  • the TARC adaptive engine utilizes the adaptive tensor of matrices laws (ATML) module 1206 to compute an estimated output error, which is then used to compute the possible control signals for the Eigen and Penalty control laws modules.
  • the ATML module 1166 may be similar or substantially similar to the ATML module 1166 previous described in relation to FIG.11A.
  • the pre-computation block 1300- a comprises one or more tensor multiply modules 1312, a sample delay (e.g., 1 sample delay, shown as 1-sd), and one or more summers.
  • the adaptation and estimation laws module shown as FELB 1104 in FIG.
  • the 11A produces a plurality of sets of estimated parameter tensors, ⁇ , based on applying the one or more estimation laws to an input regressor, where the input regressor includes one or more of (1) the estimation error, (2) the control output from the previous iteration, u out_k-1 , (3) Q m , (4) time-varying linear system, W m , (5) reference signal or setpoint stream, r, (6) measured output, y meas , and (7) estimated parameter tensors ⁇ for the previous iteration.
  • the system estimation model may be represented using a linear time varying (LTV) representation (or the time-varying linear system, W m ).
  • Equations (12) and (13) represent the LTV representation of the system estimation model: [00548] (Equation 12) [00549] (Equation 13) [00550]
  • Equation 15 is the order of the system representation (e.g., 1 st order, 2 nd order, 4 th order, etc.).
  • Equation [00555] is the number of control inputs/actuators in the non-linear system being controlled. Some non-limiting examples of the control inputs/actuators being controlled include drive, rail, frequency, matching network first configuration/position, matching network second configuration/position, etc.
  • ‘I’ is a n x n identity matrix (or alternatively, an identity tensor).
  • ) is a matrix or tensor of dimension “n X ) is a matrix or tensor of dimension “n X m”
  • C(t) is an identity matrix/tensor of dimension “n X n”.
  • the pre-processing block (i.e., pre-computation block 1300-a) of the ATML module 1166 is configured to map the set of estimated parameter tensors, ⁇ , received from the FELB 1104 for each of the eigen and penalty control laws modules to the matrices ⁇ and as follows: [00557] (Equation 17) [00558]
  • the pre-computation block 1300-a then computes the estimated output error, ⁇ ⁇ ⁇ ⁇ , for the ATML block as follows: [00559] (Equation 18) [00560] Specifically, the tensor multiply module 1312 tensor multiplies ⁇ (t) and C(t) with the actual estimation error for the previous iteration, to produce (1) and (2) C Further, the measurement error, e, which corresponds to a difference between the measured output, y meas , and the reference signal, r, is calculated.
  • this design is similar to the filtering time-constants of the smoothing filters H ⁇ . ⁇ .
  • the pre-computation block 1300-a is configured to compute the estimated output error for the tensor of the plurality of estimation law outputs (e.g., if all the estimation laws are being used).
  • FIG.13B illustrates a block diagram 1300-b of the Eigen control laws module 1124, in accordance with one or more implementations.
  • the Eigen control laws module 1124 (also referred to as the EL module 1124) comprises an eigen solver 1326, a tensor multiply module 1112, smoothing filters 1182, a sample delay (e.g., 1 - sample delay), one or more summers, and a discrete time integrator 1347 (DTI).
  • the eigen solver 1326 of the EL module 1124 is configured to receive the ⁇ (t) and ⁇ (t) matrices, where the ⁇ (t) and ⁇ (t) matrices are computed based on the estimated model parameter tensors, ⁇ , for a non-linear model of the one or more actuators and/or the power system controlled by the one or more actuators.
  • the eigen solver 1326 may also receive A CL , where A CL corresponds to a matrix (or tensor) of a time-varying linear system (LTV) representation of the non-linear waveform desired by the user as the output of the non-linear system (e.g., a plasma system, a plasma processing chamber, a power system, to name a few non-limiting examples).
  • the eigen solver 1326 solves the following matching problem: Eigenvalues Eigenvalues (A CL ). This results in an output tensor, ⁇ , that is passed to the tensor multiply module 1112.
  • the tensor multiply module 1112 of the EL module 1124 receives the tensor, which is then tensor multiplied with the tensor Q m , where Q m is the same or substantially the same as the Q m described in relation to FIG. 11.
  • Q m may represent an internal model representing the desired/reference plasma process performance.
  • the tensor multiply module 1112 passes Q m ⁇ to the smoothing filters 1182, where it is smoothed/filtered to produce the possible control signal (u SE_EL ) for the EL module 1124.
  • the possible control signal, u SE_EL may be represented as H ⁇ Q m ⁇ .
  • This possible control signal, u SE_EL is passed to the CSC 1107, along with the possible control signals, u SE_AIL and u SE_PL , for the AIL and penalty control laws modules.
  • the Eigen control law module 1124 (or alternatively, the FELB 1104) computes an estimated system output, y est_SE_EL (e.g., via an estimation portion of the nonlinear model and in particular via the time-varying linear system, W m ), for the Eigen control law module 1124 and passes it to one or more of the CSC 1107 and the selector module 1108.
  • the estimated system output, y est_SE_EL (k) may be generated by feeding the possible control signal for the current iteration, u SE_EL (k), into the estimation portion of the nonlinear model, possibly including the time-varying linear system, W m , as described above in relation to FIG. 8B.
  • This estimated system output, y est_SE_EL (k) may also be referred to as possible estimated system output, since it is based on a possible control signal produced by a control law module.
  • the estimated system output, y est_SE_EL (k-1) may be generated by applying the estimation portion to the possible control signal, u SE_EL (k-1), for the previous iteration, as discussed in relation to FIG. 8A.
  • the FELB 1104 may receive the previous iteration’s control output, u out_k-1 , from the selector module 1108.
  • a total estimated system output, y est_out (k) is computed based on applying the control output, u out_k-1 , from the previous iteration to the estimation portion of the model.
  • the topology selector and designer (TSD) of the selector module uses this estimated system output (also referred to as an estimated system output for adaptation) for selecting the different weights applied to the different possible control signals to produce the final/actual control output signal, u out , sent from the selector module 1108 to the one or more actuators.
  • the adaptive engine 1100 updates the possible estimated system output, y est_SE (k-1), for the previous iteration when the control output, u out , from the previous iteration is different than the possible control signal, u SE (k-1), for the previous iteration.
  • the possible estimated system output, y est_SE (k-1) is updated by applying the estimation portion of the nonlinear model to the actual control output, u out , from the previous iteration (k-1).
  • the adaptive engine 1100 may use this updated y est_SE (k-1) to compute the possible estimated system output, y est_SE (k), for the current iteration.
  • the selector module 1108 passes a total estimated system output, y est_out (k), to the estimation law module/FELB 1104.
  • y est_out (k) When this total estimated system output, y est_out (k), is received from the selector module 1108, it may be formed as a selection of the best possible estimated system output, y est_se , received from the different estimation-control law module pairs (i.e., FELB-control law sub-engine pairs), or a combination of the different possible estimated system outputs, y est_se , received from the various estimation-control law module pairs.
  • the selector module 1108 utilizes the same or similar topology and underlying math used to compute the final/actual control output signal, u out .
  • this estimated system output for adaptation, y est_out (k) may be produced (e.g., by the CSC of the selector module) by combining possible estimated system outputs, y est_se , from different estimation-control law module pairs, which may be similar to the way that the total control output, u out , is computed from one of (or a combination of) different possible control signals, u se .
  • the eigen control laws module 1124 is also configured to produce the estimation error, and/or a possible control signal, u se_EL , for the next iteration (or time instant).
  • the tensor multiply module 1112 tensor multiplies ⁇ ⁇ with the tensor, , to produce , which is then subtracted from the estimated output error , as follows: [00570] (Equation 22) [00571]
  • the estimation error may be calculated by passing ⁇ through DTI 1347. This estimation error, , is passed through a 1-sample delay (shown as 1-sd in FIG. 13A) and fed back to the tensor multiply module 1112.
  • FIG.13C illustrates a block diagram 1300-c showing the penalty control laws module 1134, in accordance with one or more implementations.
  • the penalty control laws module 1134 (also referred to as the PL module 1134) comprises a tensor multiply module 1112, smoothing filters 1182, equation solvers 1383, DTI 1347, 1 - sample delay, and at least one summer. Similar to the eigen control laws module described in relation to FIG. 13A, the penalty control laws module 1134 uses an equation solver to solve for a tensor, P.
  • the equation solver(s) of the PL module 1134 receives a penalty tensor R (or alternatively, a pseudo-inverse (pinv) of the penalty tensor, R), and the matrices described above, and determines the tensor, P, where the tensor, P, corresponds to a solution of a continuous time equation.
  • the tensor, P is a solution of the equation: [00573] (Equation 23) [00574]
  • the tensor, P may be determined from the discrete-time counterpart of the above equation.
  • the tensor multiply module 1112 uses the tensor P, the pseudo-inverse of the penalty tensor, pinv(R), and the estimation error, ⁇ , to determine the input to the smoothing filters 1182.
  • the smoothing filters 1182 are configured to smooth/filter the signal received from the tensor multiply module 1112 and output the possible control signal, u SE_PL, for the PL module 1134 to the CSC 1107.
  • the smoothing filters 1182 receives as input a signal defined by the equation: [00575] (Equation 24) [00576]
  • the possible control ‘u SE_PL ’ output from the PL module 1134 may be represented as follows: [00577] (Equation 25) [00578]
  • the tensor multiply module 1112 also passes a signal (e.g., given by p to a summer, where it is subtracted from the estimated output error, to determine ⁇
  • may be represented as follows: [00579] As shown, the output, ⁇ of the summer is passed through the discrete time integrator (DTI) 1347 to obtain the estimation error, .
  • DTI discrete time integrator
  • FIG.12 illustrates an example of a method 1200 for controlling a non-linear system using the TARC sub engine described above in relation to FIGs.11A–11C and 13A–13C, in accordance with one or more implementations.
  • the operations of method 1200 presented below are intended to be illustrative. In some implementations, method 1200 may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of method 1200 are illustrated in FIG. 12 and described below is not intended to be limiting.
  • method 1200 may be implemented in one or more processing devices (e.g., a central processing unit or CPU, a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, a field programmable gate array or FPGA, and/or other mechanisms for electronically processing information).
  • the one or more processing devices may include one or more devices executing some or all of the operations of method 1200 in response to instructions stored electronically on an electronic storage medium.
  • the one or more processing devices may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of method 1200.
  • a first operation 1202 comprises receiving an input regressor and a reference signal, r.
  • the input regressor and the reference signal, r may be received at the estimation law module (also referred to as the estimation law module or the FELB, in some examples) of the adaptive engine.
  • the input regressor and the reference signal are received at the estimation law module/FELB 1104.
  • the input regressor may comprise a system output measurement, y meas , and a control output, u out_k-1 , from a previous iteration.
  • the input regressor may include additional components besides the ones listed above and the examples listed herein are not intended to be limiting.
  • the first operation 1202 may be performed by one or more hardware processors configured by machine-readable instructions including a module that is the same as or similar to the estimation law module 1104, in accordance with one or more implementations.
  • a second operation 1204 comprises applying one or more estimation laws to the input regressor to estimate two or more sets of estimated model parameter tensors, ⁇ , for a nonlinear model.
  • the nonlinear model is a function of the two or more sets of estimated model parameter tensors, ⁇ .
  • each of the two or more sets of estimated model parameter tensors, ⁇ comprises estimated parameters of the nonlinear model.
  • a third operation 1206 comprises receiving a possible control signal, u SE , from each of first and second control law modules of a control law sub-engine (e.g., TARC control law module/sub-engine 1106). More specifically, third operation 1206 comprises receiving two or more possible control signals, u SE_k , each using a corresponding control portion of the nonlinear model, where each control portion is a function of one of the two or more sets of estimated parameter tensors, ⁇ , of the nonlinear model.
  • u SE possible control signal
  • control modules may include the Adaptive Inverse Laws (AIL) control law module, the penalty control law module, and the Eigen control law module.
  • the two or more possible control signals, u SE_k may be received by one or more of the estimation law module 1104, the control selector and combiner (CSC) 1107, the CSC 1116, and the selector module 1108.
  • CSC control selector and combiner
  • a control portion of the nonlinear model may be implemented in the control law sub-engine to take the two or more sets of estimated parameter tensors, ⁇ , and produce the possible control signals, u SE_k .
  • a fourth operation 1208 comprises producing (or generating) two or more possible estimated system outputs, y est_SE , based upon applying the nonlinear model to (1) a previous iteration of the possible control signal, u SE_k-1 , from one of the two or more control portions, or (2) the possible control signal, u SE_k , from one of the two or more control portions. Additionally, or alternatively, fourth operation 1208 comprises generating two or more estimated system outputs, y est_SE , each using a corresponding estimation portion of the nonlinear model, where each estimation portion is a function of one of the two or more sets of estimated model parameter tensors, ⁇ .
  • each estimation portion is also a function of a structure of the time varying linear system, W m .
  • each of the one or more estimation laws may be a function of an estimation error, or a cost function, J.
  • the fourth operation 1208 may be performed by one or more hardware processors configured by machine-readable instructions including a module that is the same as or similar to the estimation law module 1104, or a module that is the same as or similar to the control law module/sub-engine 1106, in accordance with one or more implementations.
  • a fifth operation 1210 comprises provide one of, or a combination of, the two or more possible control signals, u SE , to a selector module (e.g., selector module 1108) based at least in part on an estimation/prediction error derived from each of the possible estimated system outputs, y est_SE .
  • fifth operation 1210 comprises selecting (1) a best possible control signal, u SE , from a set comprising at least the first possible control signal and the second possible control signal, or (2) a best combination of possible control signals, u SE , blended from two or more of the set.
  • the CSC 1107 may select one of, or a combination of the possible control signals, u SE_k , output from each of the Eigen, Penalty, and Adaptive Inverse Law control law modules 1124, 1134, and 1114, respectively, predicted to minimize error.
  • the fifth operation 1210 may be performed by one or more hardware processors configured by machine-readable instructions including a module that is the same as or similar to the CSC 1107 (or CSC 1108), in accordance with one or more implementations.
  • the TARC sub-engine can operate as a standalone controller.
  • the estimation law modules / FELB can be replaced by an empirically derived lookup table for the estimated model parameter tensors, ⁇ .
  • a lookup table can be empirically formed as a mapping between (1) y meas and u out from a reference/calibration system and (2) estimated model parameter tensors, ⁇ .
  • a control, u out can be provided to the one or more actuators, and measurements, y meas , can be taken from the one or more actuators and/or system. These can then be used to select estimated model parameter tensors, ⁇ , from the lookup table, and then provided to the TARC standalone controller to determine what will be called a control signal, u out .
  • This control signal, u out can be provided to the one or more actuators.
  • the TARC standalone controller can produce a string of possible control signals, u se , and form a control, u out , as a combination of the string.
  • a weighted average of the possible control signals, u se can be used to calculate the control, u out , although other methods of combining the string can also be implemented.
  • the combination may be based on estimated system outputs, y est_se , for each of the possible control signals, u se , similar to the way in which a topology is selected in the selector and combiner mentioned earlier.
  • y est_se can be found via an estimation portion of the nonlinear model, for instance, using Model 1: [00588] [00589] Where the estimated model parameter tensor, ⁇ , is found in the lookup table based on the measured system output, y meas , and the control, u out , both from a previous iteration.
  • the TLMC (Lyapunov) control law module’s output may not converge to a steady-state behavior, for instance, due to having predicted unstable zero dynamics.
  • the TLMC control law module’s output may comprise disturbances, dither, and/or noise.
  • extra filtering may help mitigate the effects of some of these issues. In most cases, this extra filtering is simply a “band-aid solution/fix”, meaning it does not address the underlying cause of the predicted unstable zero dynamics.
  • aspects of the present disclosure are directed to a control law sub -engine (herein referred to as the TFPA sub-engine) that is specifically designed to handle unstable zero dynamics predictions.
  • the TFPA sub-engine is configured to produce a possible control signal, u SE , that can be provided as another possible control signal input to the selector module.
  • the selector module of the adaptive engine is configured to receive the possible control signal, u SE , from the TFPA sub-engine, in addition to or in lieu of the possible control signal(s) received from the TLMC sub-engine, the TARC sub-engine, and/or any of the other sub-engines described herein.
  • the selector module may utilize the possible control signal provided by the TFPA sub-engine in the case of stable zero dynamics situations, unstable zero dynamics predictions, or a combination thereof.
  • the TFPA sub-engine can operate as a standalone controller and receive estimated model parameter tensors, ⁇ , from an empirically derived lookup table.
  • FIG.14 depicts a block diagram of an adaptive engine 1400-a with details of the control law module (or control law sub-engine) shown.
  • the adaptive engine 1400-a includes at least one estimation law module 1404 (also referred to as FELB 1404), a control law module or sub engine 1405, and a selector module 1488.
  • the FELB 1404 is configured to receive one or more of an input regressor, ⁇ , a structure of the non-linear model, W m , of the one or more actuators and/or the power system controlled by the one or more actuators, a reference signal, r, a system output measurement, y meas , an estimated system output, y est , a control output, u out_k-1 , from a previous iteration, and a possible control signal, u SE , produced by the control law module or sub engine 1405.
  • the estimation law module or FELB 1404 estimates a model parameter tensor, ⁇ , for the non-linear model.
  • control law module/sub-engine 1405 utilizes the estimated model parameter tensor, ⁇ , received from the FELB 1404 to produce a possible control signal, u SE , and optionally, an estimated system output, y est_SE (e.g., via an estimation portion of the nonlinear model and in particular via a time-varying linear system, W m , whose structure is updated every frame).
  • the control law module 1405 provides the possible control signal, u SE , to the FELB 1404, where it is utilized to produce the estimated system output.
  • control law module 1405 comprises one or more filters 1410, one or more delay filter 1411, a sliding mode predictor 1409 comprising a non-linear (NL) model 1408 of the system and/or actuators, a NL compensation module 1413, and an optional tensor synchronization and coherency module 1427 (also referred to as tensor sync module 1427, for the sake of brevity ).
  • NL non-linear
  • tensor sync module 1427 also referred to as tensor sync module 1427, for the sake of brevity
  • control law module 1406 of the control law sub engine 1405 is configured to receive the estimated model parameter tensors, ⁇ , from the FELB 1404, along with one or more of the control output from the previous iteration, u out_k-1 , measured system output, y meas , and the filtered measured system output, y d .
  • the control law module 1406 uses the estimated model parameter tensors, ⁇ , and one or more of the inputs (e.g., y d , y meas , u out_k-1 ) to produce a desired (but unfiltered) possible control signal, which is input to the delay filters 1411.
  • the delay filters 1411 adjust for delays and outputs a desired and filtered possible control signal, u desired .
  • the NL compensation module 1413 which may be implemented using one or more NL transfer functions, is configured to compensate for non-linearities (if any) in the control signal, u desired , and produce the possible control signal, u SE , that is finally sent to the selector module 1488.
  • the sliding mode predictor 1409 is configured to produce an estimated system output, y est_SE , where the estimated system output is based at least in part on the possible control signal and the estimated parameter tensors, ⁇ .
  • the sliding mode predictor 1409 applies the possible control signal to the NL model 1408 of the system, where the NL model 1408 comprises the estimated model parameter tensor, ⁇ , to produce the estimated system output, y est_SE (e.g., via an estimation portion of the nonlinear model and in particular via a time-varying linear system, W m , whose structure is updated every frame).
  • the sliding mode predictor 1409 also receives the control output, u out , from the previous iteration, where the control output is received from one of the selector module 1488 or the tensor sync module 1427.
  • processing the control output comprises applying an exogenous signal (e.g., received from the FELB 1404, the selector module 1488, or any other applicable entity) to the control output, which helps smooth transitions between possible control signals (e.g., uSE, u SE1 , u SE2 , u SEn , etc.) input to the selector module 1488.
  • an exogenous signal e.g., received from the FELB 1404, the selector module 1488, or any other applicable entity
  • the exogenous signal is applied to the control output, u out , from the previous iteration.
  • the tensor sync module 1427 uses the exogenous signal to perform an operation (e.g., adding an offset) to reduce/minimize discontinuities due to a mismatch (if any) between the previously used control law and the current control law.
  • the tensor sync module 1427 helps ensure smooth, coherent, and/or synchronized transitions when the adaptive engine is switching between different control law sub-engines (e.g., TARC sub-engine, TLMC sub-engine, and any of the other sub-engines described herein) and/or control law modules within the same sub- engine (e.g., adaptive inverse laws module, penalty laws module, and Eigen laws module of the TARC sub-engine).
  • the NL model 1408 is configured to produce a possible estimated system output, y est_SE , for the control law sub engine 1405, based upon applying the possible control signal, u SE , to the non-linear model.
  • the NL model 1408 may also produce a total estimated system output, y est_out , based upon applying the iteration of the control output, u out , to the non-linear model.
  • the nonlinear model or NL model 1408 may also pass an estimated system output, y est_ideal , to the NL compensation module 1413 where it is transformed to produce the possible estimated system output, y est_SE .
  • y est_ideal may be produced using the possible control signal, u SE .
  • the total estimated system output, y est_out is sent to a summer, where it is subtracted from the filtered system output measurement, y d , to determine an estimation error ( ⁇ ).
  • the estimation error, ⁇ is passed to the estimation law module/FELB 1404, where it is used (i.e., in addition to the input regressor, ⁇ ) to generate the estimated model parameter tensor, ⁇ .
  • control law module 1406 of the control law sub-engine also receives the control output, where the control output is received from one of the tensor sync module 1427 (e.g., after passing it through the 1-sample delay) or the selector module 1488. In some cases, this control output is the control output from the previous iteration (e.g., u out_k-1 ).
  • the sliding mode predictor 1409 is configured to read (1) an initial linear time varying (LTV) signal (e.g., W m ) received from a setpoint streaming module (not shown), where the setpoint streaming module provides the setpoint stream (also referred to as a series of setpoints, or a reference signal, r), and (2) an internally generated LTV signal derived from the desired arbitrary waveform specified by the user.
  • LTV linear time varying
  • the initial LTV signal corresponding to the setpoint stream is used as an initial model for adaptation at a start of each frame, each frame comprising a plurality of samples.
  • W m (t) at time instant ‘k’ is a linear model and indirectly specified by the user/designer.
  • the frame synthesizer (not shown) helps approximate the non-linear behavior of W m .
  • the structure of W m (t) is provided once for every frame, but the W m (t) is updated every iteration or control sample and then used to form the closest linear model of the setpoint stream.
  • the sliding mode predictor 1409 of the control law sub-engine 1405 is further configured to receive one or more LTV signals adapted from the initial LTV signal, where each of the one or more LTV signals are adapted from the initial LTV signal and correspond to one sample of the plurality of samples of a corresponding frame. In this way, the sliding mode predictor 1409 uses the LTV signal(s) to predict how the system/plant may react in a non-linear fashion.
  • the disclosed TFPA sub-engine optimizes control of non-linear systems, such as those having unstable zero dynamics.
  • the sliding mode predictor 1409 (or the control law module 1406) generates the control law (e.g., similar or substantially similar to Control Law 3 described in the preceding sections) as follows: [00598] (Equation 27) [00599]
  • equation (27) the estimated model parameter tensor, ⁇ , can be written as: [00600] (Equation 28) [00601]
  • the sliding mode predictor’s equations (e.g., in the continuous time domain) may be given as: [00602] (Equation 29) [00603] 30) [00604]
  • is an exogenous signal.
  • the A(t) and B(t) matrices are generated in the adaptive engine 1400-a based on the desired arbitrary waveform (e.g., reference signal, r) specified by the user and received from a setpoint streaming module.
  • the A(t) and B(t) matrices represent the dynamics of W m .
  • K is the gain tensor. In some cases, the gain tensor, K, may be updated whenever the A(t), B(t) and/or C(t) matrices are updated.
  • the output matrix/tensor, C(t) may be used to calculate the estimated system output (e.g., y est_SE , y est_out ) as shown in equation (31) below: [00605] (Equation 31) [00606]
  • the matrix C(t) may be similar or substantially similar to the one described above in relation to the TARC Sub Engine.
  • C(t) may be an n-by-n identity matrix, in some examples.
  • L in equation (29) may be a tensor of matrices that can be used to solve a Lyapunov equation for every A(t), C(t), K(t), and an optional strictly positive real (SPR) matrix or tensor, Q(t).
  • Q(t) may also be an identity matrix (or identity tensor).
  • Q(t) which corresponds to a penalty or gain tensor may not be an identity tensor and may be specified by the user/designer.
  • the tensor, L may be used to solve a Lyapunov equation of the form: [00607] (Equation 32) [00608]
  • F(t) in the sliding mode predictor’s equations 29 and 30
  • Equation 33 Equation 33
  • the exogenous signal can be written using Equation (30).
  • Equation (30) is a tuning coefficient and is a function of time, t, the system output measurement, y meas , and the control output, u out .
  • the tuning coefficient follows an optimization law, where the optimization law may be designed offline (e.g., using Pontryagin’s minimum princip le) or computed online (e.g., when the non-linear system is live/deployed/active).
  • the tuning coefficient, is a positive constant.
  • one or more of the setpoint streaming module, a precomputing engine e.g., used to determine the A(t), B(t), C(t), K(t), L(t), F(t) matrices/tensors
  • a frame synthesizer may be implemented on a Central Processing Unit (CPU).
  • CPU Central Processing Unit
  • FPGA Field Programmable Gate Array
  • the FPGA is better suited for performing simpler calculations in a very rapid manner (e.g., real-time or substantially real-time).
  • the precomputing engine on the CPU sends the A(t), B(t), C(t), K(t), L(t), and/or F(t) matrices/tensors to the adaptive engine running on the FPGA.
  • the CPU also stores these matrices/tensors at a frame processor of the FPGA, for instance, in a TSP RAM of the frame processor. This allows the adaptive engine and/or the control law module/sub-engine to access the precomputed matrices in real time or substantially real time.
  • a setpoint streaming engine/module of the CPU receives the reference signal, r, which may be an arbitrary waveform desired by the user, and creates a plurality of internal values that are based on the reference signal.
  • the precomputing engine receives these internally generated values from the setpoint streaming engine/module and maps them to the matrices/tensors A(t), B(t), C(t), etc.
  • the estimated model parameter tensor, ⁇ may be given as follows: [00614] (Equation 34) [00615] From equation (34), it can be seen that the estimated model parameter tensor, ⁇ , is a function of the estimation error, since the estimation error, is determined from a difference between the estimated/predicted system output, y est , and the measured system output (after filtering), y
  • the estimated parameter tensor, ⁇ , computed by the estimation law module may be based on the derivative of the estimated model parameter tensor, as described above and elsewhere in the disclosure.
  • the control law module/sub-engine 1405 then produces the possible control signal, u SE , where u SE is a function of the estimated model parameter tensor ⁇ and the input regressor.
  • the possible control signal, u SE is generated by multiplying different sub-components of the estimated model parameter tensor with corresponding sub-components of the input regressor and then combining them (e.g., adding them) to produce the possible control signal, as follows: [00617] (Control Law 3) [00618]
  • this control signal, u SE is passed through the delay filters 1411, which help reduce or minimize noise induced during adaptation.
  • the delay filters 1411 comprise minimum lag/delay smoothing filters, but other types of delay filters known in the art are contemplated in different embodiments.
  • the smoothing/delay filter 1411 may be Gaussian in nature and implemented as a combination of two bi-quads given by: (Equation 35) [00620]
  • equation (35) may be a function of a delay, ⁇ , which may be based on the desired response speed (e.g., rise time, T r ) specified by the user.
  • may be written in generalized form as shown in equation (36) below: [00621] (Equation 36) [00622]
  • equation (36) may be integers or decimal values, and ⁇ may be a function of T r , where T r is the rise time (e.g., on the order of 1 microsecond).
  • may optionally be a function of the control rate, T control .
  • the control rate, T control may be on the order of around 250 ns). While not necessary, in most cases, T r > T control .
  • the filter then passes the filtered possible control signal, u SE , to the NL compensation module 1413, which is implemented by way of one or more NL transfer functions.
  • the NL compensation module 1413 compensates for any non-linearities in the control signal received from the filters 1411 before passing the possible con trol signal, u SE , to the selector module 1488.
  • the selector module 1488 also receives one or more other possible control signals from one or more other control law modules/sub-engines, sifts through their predictions/estimations, and selects the possible control signal (e.g., one of u SE , u SE1 , u SE2 , u SEn ) predicted to have the lowest estimation error as the control output, u out .
  • FIG.15 illustrates an example of a method 1500 for controlling a non-linear system using the TFPA sub engine, previously described in relation to FIG. 14, in accordance with one or more implementations.
  • the operations of method 1500 presented below are intended to be illustrative. In some implementations, method 1500 may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed.
  • method 1500 may be implemented in one or more processing devices (e.g., a central processing unit or CPU, a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, a field programmable gate array or FPGA, and/or other mechanisms for electronically processing information).
  • the one or more processing devices may include one or more devices executing some or all of the operations of method 1500 in response to instructions stored electronically on an electronic storage medium.
  • the one or more processing devices may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of method 1500.
  • a first operation 1502 comprises receive an input regressor and a reference signal, r.
  • the input regressor and the reference signal, r may be received at the estimation law module (also referred to as the estimation law module or the FELB, in some examples) of the adaptive engine.
  • the input regressor and the reference signal are received at the estimation law module/FELB 1404.
  • the input regressor may comprise a system output measurement, y meas , and a control output, u out_k-1 , from a previous iteration.
  • the input regressor may include additional components besides the ones listed above and the examples listed herein are not intended to be limiting.
  • the first operation 1502 may be performed by one or more hardware processors configured by machine-readable instructions including a module that is the same as or similar to the estimation law module 1404, in accordance with one or more implementations.
  • a second operation 1504 comprises apply one or more estimation laws to the input regressor to produce one or more estimated parameter tensors, ⁇ , for a nonlinear (NL) model.
  • the nonlinear model is a function of the one or more estimated model parameter tensors, ⁇ .
  • each of the one or more estimated model parameter tensors, ⁇ comprises estimated parameters of the nonlinear model.
  • the second operation 1504 may be performed by one or more hardware processors configured by machine-readable instructions including a module that is the same as or similar to the estimation law module 1404, in accordance with one or more implementations.
  • a third operation 1506 comprises receive a system output measurement, y meas , a control output from a previous iteration, u out_k-1 , and the one or more estimated parameter tensors ⁇ .
  • the third operation 1506 may be performed by one or more hardware processors configured by machine-readable instructions including a module that is the same as or similar to the TFPA control law module/sub- engine 1405, in accordance with one or more implementations.
  • a fourth operation 1508 comprises receiving (1) an initial LTV signal (e.g., W m ) corresponding to the reference signal, r, and (2) a possible control signal, u SE , or an internal possible control signal, u SE_desired .
  • the fourth operation 1506 may be performed by one or more hardware processors configured by machine- readable instructions including a module that is the same as or similar to the sliding mode predictor 1409, in accordance with one or more implementations.
  • the sliding mode predictor 1409 comprises the nonlinear model 1408.
  • the possible control signal, u SE , or the internal possible control signal, u desired are generating using a control portion of the nonlinear model, where the control portion is a function of the one or more estimated parameter tensors, ⁇ , of the nonlinear model.
  • the control law module 1406 of the TFPA sub engine 1405 generates the possible control signal, u SE , and/or the internal possible control signal, u desired .
  • a fifth operation 1510 comprises producing (or generating) an internal possible estimated system output, y est_ideal , and a possible estimated system output, y est_SE .
  • Generating the internal possible estimated system output, y est_ideal is based upon applying the nonlinear model (e.g., the estimation portion of the nonlinear model) to the control output from the previous iteration, u out_k-1 , and the system output measurement, y meas . Further, generating the possible estimated system output, y est_SE , is based upon applying the estimation portion of the nonlinear model to (1) the internal possible control signal, u desired , (2) the possible control signal for the current iteration, u SE_k , or (3) to the previous iteration of the possible control signal, u SE_k-1 . In some examples, each estimation portion is also a function of a structure of the time varying linear system, W m .
  • each of the one or more estimation laws may be a function of an estimation error, or a cost function, J.
  • the fifth operation 1510 may be performed by one or more hardware processors configured by machine-readable instructions including a module that is the same as or similar to the sliding mode predictor 1409, or a module that is the same or similar to the estimation law module 1404 (e.g., if the estimation portion of the nonlinear model is in the estimation law module 1404) in accordance with one or more implementations.
  • the sliding mode predictor 1409 comprises the nonlinear model 1408.
  • a sixth operation 1512 comprises receiving the possible control signal, u SE , and the possible estimated system output, y est_SE .
  • the sixth operation 1512 may be performed by one or more hardware processors configured by machine-readable instructions including a module that is the same as or similar to the selector module 1488, and/or the CSC 516, in accordance with one or more implementations.
  • the sixth operation 1512 may also be performed by one or more hardware processors configured by machine-readable instructions including a module that is the same as or similar to the estimation law module 1404.
  • the TFPA sub-engine can operate as a standalone controller.
  • the estimation law modules / FELB can be replaced by an empirically derived lookup table for the estimated model parameter tensors, ⁇ .
  • a lookup table can be empirically formed as a mapping between (1) y meas and u out from a reference/calibration system and (2) estimated model parameter tensors, ⁇ .
  • a control, u out can be provided to the one or more actuators, and measurements, y meas , can be taken from the one or more actuators and/or system. These can then be used to select estimated model parameter tensors, ⁇ , from the lookup table, and then provided to the TFPA standalone controller to determine what will be called a control signal, u out .
  • This control signal, u out can be provided to the one or more actuators.
  • the TFPA standalone controller can produce a string of possible control signals, u se , and form a control, u out , as a combination of the string.
  • a weighted average of the possible control signals, u se can be used to calculate the control, u out , although other methods of combining the string can also be implemented.
  • the combination may be based on estimated system outputs, y est_se , for each of the possible control signals, u se , similar to the way in which a topology is selected in the selector and combiner mentioned earlier.
  • the slide mode predictor 1409 can produce the estimated system output, y est_SE .
  • the system model or nonlinear model can be provided with a control portion, for generating possible control signals, u se , and an estimation portion for estimating estimated system outputs, y est_se .
  • a time-varying linear system, W m can make up a foundation of either the estimation portion or the control portion, and can be bifurcated or split into a sum of a linear and a nonlinear portion and the control timeline can be split into frames of differing lengths (or number of control samples or adaptation iterations) with some processing of the nonlinear model occurring on a CPU or other slower resource and real-time aspects of the nonlinear model occurring on an FPGA or other faster resource.
  • a current frame can be supplied with a structure of the time-varying linear system, W m .
  • the nonlinear portion of the time-varying linear system, W m is effectively an unknown error and thus not used or considered in the processing (other than in attempt to minimize this error).
  • the structure of the time-varying linear system, W m can be pre-processed, for instance on a CPU, though it can also be accessed from an empirically-derived lookup table.
  • the structure of the time-varying linear system, W m remains constant through the current frame. Yet, since the time- varying linear system, W m , is also dependent on the estimated model parameter tensor, ⁇ , the estimation portion of the nonlinear model adapts within a frame as ⁇ changes in the FELB 1404 (as the adaptive engine modifies ⁇ to minimize an error relative to measured system behavior).
  • Adaption can then involve applying an estimation law to at least the reference signal, r, and the estimation error, ⁇ , or cost function, J, to estimate an estimated model parameter tensor, ⁇ .
  • the estimated model parameter tensors, ⁇ can then be tested in the TFPA sub-engine 1405, and adaptation can continue through the entirety of the frame, and in turn, W m , is adapted throughout the frame (or until convergence is achieved).
  • the method selects a next frame and a new structure of the time-varying linear system, W m , is provided into the model and adaptation of the estimated model parameter tensor, ⁇ , is carried out through this next frame until convergence.
  • the structure of the time-varying linear system, W m can include the structure of the A, B, and C matrices that are part of the system of equations making up W m .
  • PID Adaptive Proportional Integral Derivative
  • TARC control law module/sub-engine Some non-limiting examples of which include the TARC control law module/sub-engine and the Adaptive PID control law module.
  • TARC control law module/sub-engine Various aspects of the TARC control law module/sub-engine have been discussed above, including at least in relation to FIGs. 11–13.
  • the following sections discuss the Adaptive PID control law module/sub-engine, its structure and sub-components, algorithm/methods of operation, and control law(s) implemented in the Adaptive PID sub-engine.
  • PID controllers can be implemented using various different tuning rules (also known as PID tuning rules) and operator tuning methods. These tuning methods and rules are fairly accurate and powerful when the underlying model characterization they are based on is accurate for the duration of operation of a specific PID control law.
  • PID control laws are characterized for relatively simple linear systems with delays, rather than the highly non-linear/chaotic systems (e.g., plasma processing chambers) generally discussed in this disclosure.
  • aspects of the disclosure are directed to an Adaptive PID control law module/sub-engine that is designed to consolidate the use of PID control laws in non-linear systems.
  • This approach described in further detail below, assumes that at any single time instant (i.e., snapshot of time), the non-linear system being controlled can be modeled by a system model (e.g., a estimation portion, a non-linear model) for which PID tuning control laws are available.
  • this assumption may be valid for a sufficient duration of time such that the PID tuning control law is applicable for the whole duration (e.g., for the whole frame) of that system model.
  • the adaptive PID control law sub-engine and/or the estimation law module associated with the control law sub-engine is configured to incorporate/model the system’s non-linearities in the parametric/linear model, W m , of the system.
  • the dynamic structure of the parametric/linear model may be fixed for the duration of the PID tuning control law.
  • the system’s non-linearities are included in the linear model (W m ) through the time varying/changing nature of the plurality of coefficients forming the parametric/linear model.
  • FIG.16 illustrates a block diagram 1601 of an adaptive PID control system, in accordance with one or more implementations.
  • the adaptive PID control system in FIG.16 comprises an adaptive PID controller 1606, a feed forward module 1619, and a plurality of summers.
  • the adaptive PID control system receives as input the reference waveform (or reference signal), r, and the measured system output, y meas .
  • the adaptive PID control system includes a feedback path (i.e., through which the measured system output is received) and a feedforward path, where the feedforward path includes the feed forward module 1619.
  • a measurement error, e is calculated based on a difference between the reference signal, r, and the measured system output, y meas . For example, the measurement error (or simply error) is calculated as:
  • This measurement error, e is passed to the PID controller 1606 for further processing.
  • the PID controller 1606 is configured to calculate a first possible control signal (also referred to as a possible PID control signal), u PID , which is then passed to the second summer (on the right of the page).
  • a first possible control signal also referred to as a possible PID control signal
  • u PID the reference waveform/signal
  • the feed forward module 1619 which processes the reference waveform to produce a second possible control signal (or possible feed forward control signal), u FF .
  • This possible feed forward control signal, u FF is also passed to the second summer, which outputs a possible control signal, u SE , based on computing a difference between u PID and u FF .
  • FIG. 17A illustrates an example of a method 1701-a for controlling a non- linear system using an adaptive PID control module.
  • the operations of method 1701-a presented below are intended to be illustrative. In some implementations, method 1701-a may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of method 1701-a are illustrated in FIG. 17A and described below is not intended to be limiting.
  • method 1701-a may be implemented in one or more processing devices (e.g., a central processing unit or CPU, a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, a field programmable gate array or FPGA, and/or other mechanisms for electronically processing information).
  • the one or more processing devices may include one or more devices executing some or all of the operations of method 1701-a in response to instructions stored electronically on an electronic storage medium.
  • the one or more processing devices may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of method 1701- a.
  • the PID tuning control law (or simply, PID control law) may be represented as follows: [00646] (Equation 37) [00647] In Equation (37), r k is the reference signal/waveform at time ‘k’, y meas is the measured system output that is feedback to the input at time ‘k’, and u SE is the possible control signal for the current iteration. This possible control signal, u SE , along with one or more other possible control signals from one or more other control law sub-engines/modules is passed to the selector module, which then selects one of (or a combination of) the possible control signals as the control output for the current iteration ‘k’.
  • equation (37) may be represented in estimator form as: [00650]
  • the tensor ⁇ is also referred to as the input regressor.
  • the input regressor tensor, ⁇ discussed in relation to the adaptive PID sub-engine may be similar or substantially similar to the input regressor tensor, ⁇ , discussed in relation to some of the other control law modules/sub-engines.
  • the adaptive PID controller e.g., shown as PID controller 1606 in FIG.16
  • the model parameter tensor, ⁇ estimated by the estimation module (e.g., estimation module or FELB 1804 in FIG. 18) may be mapped to the process model and/or the tuning laws of the adaptive PID controller.
  • the PID control system structure includes the two- degrees of freedom filtered derivative PID controller described above in relation to FIG. 15.
  • Other PID control system architectures known or contemplated in the art may be utilized in different embodiments, and the example discussed herein is not intended to be limiting.
  • controller parameters e.g., ⁇ , K c , T d , N, ⁇ , T i , etc.
  • controller parameters may be determined based on PID tuning control law(s).
  • these PID tuning control law(s) may be synthesized from experiments and stored in memory as a look-up table, or another applicable data structure.
  • the controller parameters may be defined using Equations 40–45 shown below: [00657] ( , , ), (Equation 40) [00658] (Equation 41) [00659] (Equation 42) [00660] (Equation 43) [00661] 5 ( , , ), (Equation 44) [00662] (Equation 45) [00663] (Equation 46) [00664]
  • a est and b est are the estimated coefficients of the non- linear/parametric/process model and ⁇ m is the process delay.
  • the process delay, ⁇ m may be detected/estimated as described in co-owned U.S.
  • the plurality of sub-components, ⁇ 1 , ⁇ 2 , ⁇ 3 ... ⁇ 7 , of the estimated model parameter tensor, [ ⁇ ] may be written as follows: [00666] (Equation 47) [00667] (Equation 48) [00668] (Equation 49) [00669] (Equation 50) [00670] (Equation 51) [00671] (Equation 52) [00672] (Equation 53) [00673] Further, the estimated model parameter tensor [ ⁇ ] may be represented by the concatenation of its sub-components.
  • the estimated model parameter tensor [ ⁇ ] produced by the estimation law module 1804 may be represented as [ ⁇ 1 ... ⁇ 7 ].
  • the possible control signal, u SE produced by the adaptive PID control law module 1805 may be calculated from the possible PID control signal, u PID , and the possible feed forward control signal, u FF .
  • the possible control signal, u SE may be a function of the estimated model parameter tensor [ ⁇ ] and the input regressor, ⁇ .
  • the input regressor, ⁇ may also comprise a plurality of subcomponents (e.g., 7 subcomponents, ⁇ 1 ... ⁇ 7 ).
  • each sub-component (e.g., ⁇ 1 ) of the estimated model parameter tensor may be multiplied by a corresponding sub-component (e.g., ⁇ 1 ) of the input regressor to determine a subcomponent of the possible control signal.
  • the adaptive PID control law module may be implemented using two different mechanisms/schemes.
  • the adaptive PID control law module 1805 may comprise a first control law module (e.g., a Control Then Output Estimation or CTOE module) and a second control law module (e.g., an Output Estimation Then Control or OETC module).
  • the PID control law module 1805 is made adaptive (e.g., as a result of adapting/changing the estimated model parameter tensor, ⁇ , at each iteration) and integrated into the adaptive engine (e.g., adaptive engine 500 in FIGs.5A–5C, adaptive engine 800 in FIGs.8A– B).
  • the possible control signals produced by each of the CTOE and OETC control law modules 1600 and 1700, respectively, may be passed to a control selector and combiner (CSC) 1826 of the sub-engine 1805, which selects one of (or a combination of) the control signals as the possible control signal, u SE , for the adaptive PID sub- engine 1805.
  • CSC control selector and combiner
  • the CSC 1826 may be similar or substantially similar to the CSC 1107 of the TARC sub-engine, which is configured to select one of (or a combination of) the possible control signals from the adaptive inverse control laws module 1114, the eigen control laws module 1124, and the penalty control laws module 1134.
  • the adaptive engine may select one or combination of possible control signals, u se , that lead to a control, u out , that causes a measured system output, y meas , that is close to the total estimated system output, y est_out , or the reference signal, r.
  • This may involve an error or cost function that compares the measured system output, y meas , for a previous iteration, or the reference signal, r, to the total estimated system outputs, y est_out , calculated for various possible topologies.
  • the TSD 1818 may analyze a cost function, such as Equation 4, to select an optimal possible control signal, u se , or combination of possible control signals, u se (in the form of a topology for combining the possible control signals) [00676]
  • a cost function such as Equation 4
  • u se an optimal possible control signal
  • u se an optimal possible control signal
  • u se an optimal possible control signal
  • u se an optimal possible control signal
  • u se in the form of a topology for combining the possible control signals
  • a first operation (1702) comprises receiving at least one system output measurement, y meas .
  • the system output measurement, y meas may be received at the estimation law module/FELB 1804.
  • a second operation (1704) comprises accessing one or more previously estimated system output, y est_SE .
  • the estimation law module or another component of the adaptive engine accesses ‘k -1’ previous estimates of the system output.
  • a third operation (1706) comprises computing one or more estimation errors or a cost function, where the estimation errors/cost functions are based at least in part on comparing the system output measurement, y meas , with one or more previous estimates of the system output.
  • a fourth operation (1708) comprises estimating one or more model parameter tensors, ⁇ , based at least in part on computing the estimation errors at operation (1706).
  • a fifth operation (1710) comprises estimating a delay
  • a sixth operation (1712) comprises computing a possible control signal for the CTOE control law module using the one or more estimated model parameter tensors, ⁇ , and an input regressor, ⁇ .
  • a seventh operation (1714) comprises mapping the estimated model parameter tensors, ⁇ , to a plurality of controller parameters.
  • the controller parameters may be similar or substantially similar to the ones described in relation to FIGs.15–21.
  • An eighth operation (1716) comprises mapping the controller parameters to a plurality of coefficients (e.g., a est , b est ) of the non-linear/parametric/process model.
  • a ninth operation (1718) comprises estimating or adapting the model based at least in part on the mapping 1716.
  • a tenth operation (1720) comprises estimating the system output, y est_SE , for the CTOE control law module 1600 based at least in part on applying the possible control signal, u SE , computed at 1712 to the estimated process model. [00678] FIG.
  • FIG. 17B illustrates an example of a method 1701-b for controlling a non- linear system using an adaptive PID control module.
  • the operations of method 1701- b presented below are intended to be illustrative. In some implementations, method 1701-b may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of method 1701-b are illustrated in FIG. 17B and described below is not intended to be limiting.
  • method 1701-b may be implemented in one or more processing devices (e.g., a central processing unit or CPU, a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, a field programmable gate array or FPGA, and/or other mechanisms for electronically processing information).
  • the one or more processing devices may include one or more devices executing some or all of the operations of method 1701-b in response to instructions stored electronically on an electronic storage medium.
  • the one or more processing devices may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of method 1701- b.
  • FIG.17B depicts an example of a method flow 1701-b implemented by way of a OETC control law module (e.g., OETC control law module 1700 in FIGs. 18 and 20), in accordance with one or more implementations.
  • a first operation (1721) comprises receiving at least one system output measurement, y meas .
  • the system output measurement, y meas may be received at the estimation law module/FELB 1804.
  • a second operation (1722) comprises accessing one or more previously estimated system outputs, y est_SE .
  • the estimation law module or another component of the adaptive engine accesses ‘k -1’ previous system output estimates.
  • a third operation (1723) comprises computing one or more estimation errors, where the estimation errors are based at least in part on comparing the system output measurement, y meas , with one or more previous estimates of the system output.
  • a fourth operation (1724) comprises determining a model order (e.g., 1 st order, 2 nd order, etc.) corresponding to a lowest estimation error, where determining the model order is further based on the previous estimates of the system output and the system output measurement, y meas . In some cases, determining the model order is also based on an estimate of the delay, (fifth operation 1725).
  • a sixth operation 1726 comprises estimating one or more model parameter tensors, ⁇ .
  • a seventh operation 1728 comprises estimating a system output, y est_SE , based at least in part on the one or more estimated model parameter tensors, ⁇ .
  • An eighth operation 1727 comprises mapping the one or more estimated model parameter tensors, ⁇ , to one or more coefficients (e.g., a est , b est discussed above) of the non-linear/parametric/process model.
  • a ninth operation 1729 comprises computing the control signals, u PID and u FF , based at least in part on the coefficients of the process model, a est , b est , and the estimated delay, .
  • a tenth operation 1730 comprises computing the possible control signal, u SE , from the control signal, u PID and u FF .
  • the adaptive engine 1800 comprises an estimation law module (or FELB) 1804, an adaptive PID sub-engine 1901, and a delay detector/estimator 1932.
  • the adaptive PID sub-engine 1901 comprises a CTOE control law module 1906, a tensor mapping module 1902, an estimated output mapping module 1903, and an inverse mapping module 1933.
  • the inverse mapping module 1933 is configured to calculate F -1 ( ⁇ ) based on the parametric/process model type and/or order (e.g., 1 st order, 2 nd order, N th order).
  • the adaptive engine 1800 further comprises a NL compensation module 1913 configured to compensate for non-linearities in one or more of the control signal (e.g., u desired ) and the estimated system output (e.g., y est_PID ) received from the adaptive PID sub-engine.
  • the NL compensation module 1913 may be implemented using a plurality of NL transfer functions.
  • the estimation law module/FELB 1804 is configured to receive an input regressor, where the input regressor comprises at least a reference waveform (also referred to as setpoint stream, reference signal, or a series of set points) denoted as ‘r’, and a system output measurement, y meas .
  • a reference waveform also referred to as setpoint stream, reference signal, or a series of set points
  • the input regressor may additionally comprise one or more of a total estimated system output for a previous iteration, y est_out_k-1 , an estimated delay a control output for a previous iteration, u out_k-1 , an estimation error, ⁇ , the non-linear model, W m , and a plurality of coefficients for the non-linear model.
  • the estimation law module 1804 is configured to apply one or more estimation laws to the input regressor, ⁇ , to produce one or more estimated parameter tensors for a non-linear model of the one or more actuators and/or the system controlled by the one or more actuators.
  • the estimation law module 1804 passes the one or more estimated parameter tensors, ⁇ , to the control law module 1906 of the adaptive PID sub-engine.
  • the control law module 1906 also receives at least a portion (e.g., one or more subcomponents) of the input regressor.
  • This control signal, u desired is passed to the NL compensation module 1913 where it is further processed to compensate for non-linear effects before being passed to the CSC (e.g., shown as CSC 1826 in FIG.18).
  • the estimation law module 1804 may optionally send the estimated model parameter tensors, ⁇ , to the tensor mapping module.
  • the tensor mapping module also receives the estimated process delay, ⁇ m_est , from the delay detector/estimator 1932.
  • the inverse mapping module 1933 receives as input the estimated model parameter tensors, ⁇ , and the estimated process delay, ⁇ m_est , and outputs a tensor comprising the plurality of controller parameters (e.g., ⁇ , K c , T d , N, ⁇ , T i , etc.) to the tensor mapping module.
  • the inverse mapping module 1933 is used to map the estimated model parameter tensors, ⁇ , to the plurality of controller parameters, where the mapping from the estimated model parameter tensors to the controller parameters is based on one or more of the estimation error, , and the estimated process delay.
  • each of the plurality of controller parameters may be represented as a function of the estimated coefficients (e.g., a est , b est ) of the non- linear/parametric/process model and the estimated process delay.
  • the tensor mapping module is configured to map the controller parameters (e.g., received from the inverse mapping module 1933) to the estimated coefficients of the process model.
  • At least a portion of the non-linear/parametric/process model is estimated at the tensor mapping module, based upon mapping the controller parameters to the coefficients of the process model.
  • the tensor mapping module passes information pertaining to the estimation of the process model, the estimated coefficients of the process model, and any other relevant information to the Estimated Output Mapping Module 1903.
  • the Estimated Output Mapping Module 1903 is configured to produce a possible estimated system output, y est_PID , for the CTOE control law module, based upon applying (1) a previous iteration of the possible control signal, u SE_k-1 , or (2) the control signal, u desired , to the non-linear/process model.
  • FIG. 20 depicts a block diagram 2000 showing how the control law is implemented for the CTOE method, according to various aspects of the disclosure.
  • FIG.20 illustrates a tensor concatenate module 2011 and the CTOE control law module 1906 (previously described in relation to FIG.19).
  • the tensor concatenate module 2011 and the CTOE control law module 1906 may be embodied in hardware, software, or a combination thereof.
  • the tensor concatenate module 2011 is configured to receive the plurality of subcomponents (e.g., ⁇ 1 , ⁇ 2 , ⁇ 3 ... ⁇ 7 ) of the estimated model parameter tensor, ⁇ , from the estimation law module 1804.
  • the plurality of subcomponents e.g., ⁇ 1 , ⁇ 2 , ⁇ 3 ... ⁇ 7
  • the tensor concatenate module 2011 also receives the plurality of subcomponents (e.g., ⁇ 1 , ⁇ 2 , ⁇ 3 . . . ⁇ 7 ) of the input regressor, ⁇ .
  • the control signal, u desired may also be represented as u PID- u FF.
  • control signal, u desired may be calculated as u PID + u FF .
  • one of the subcomponents ( ⁇ 7 ) of the input regressor, corresponding to the control output, u out_k-1 , from the previous iteration, is in the feedback path, where the feedback path comprises a 1-sample delay.
  • the previous iteration’s control output, u out_k-1 is delayed by 1-sample before being passed to the tensor concatenate module 2011.
  • the adaptive engine 2100 depicts a block diagram of an adaptive engine 2100, showing a detailed view of the OETC control law module of the adaptive PID sub-engine, according to various aspects of the disclosure.
  • the adaptive engine 2100 in FIG.21 implements one or more aspects of the adaptive engine 1800 previously described in relation to FIG. 18.
  • the adaptive engine 2100 comprises an estimation law module/FELB 1804, an OETC control law module 2121, a delay detector/estimator 1932, a NL compensation module 1913 (also referred to as NL transfer functions 1913), a control selector/combiner or CSC 2116, and a selector module 2108.
  • the NL transfer functions 1913, the CSC 2116, the delay detector/estimator 1932, and the selector module 2108 may be similar or substantially similar to the ones described above in relation to FIGs. 18–20. While not shown, the selector module 2108 may also comprise a CSC (e.g., shown as CSC 1816 in FIG.18) and one or more of a TSD (e.g., TSD 1818) and a tensor sync and coherency module (e.g., tensor sync module 1827). [00689] In some embodiments, the OETC control law module comprises a control law 2106 block and a non-linear/estimation portion block (shown by the dashed lines).
  • the control law 2106 may form a portion of the non-linear/estimation portion, in some examples.
  • the OETC control law module further comprises a process model definitions and order mapper (PMDOM) 2131, a parameter mapping module 2132, a model order mapper to output estimation (MOMOE) 2133.
  • PMDOM process model definitions and order mapper
  • MOMOE model order mapper to output estimation
  • the estimation law module 1804 receives as input the reference waveform, r, the system output measurement, y meas , the estimated delay, ⁇ m_est , and the non-linear/estimation portion, W m .
  • the estimation law module 1804 may also receive the model order (M i ) from the PMDOM 2131.
  • the model order may be equal to or less than 5.
  • the process model selected may be based on the hardware resources available. For example, a process model having zeros and a delay of less than or equal to order 5 (i.e., a 5 th order model), may be utilized, based on the hardware resources available.
  • the process models used for the OETC method/scheme for which the estimated model parameters can be translated into PID tunable values may be represented as follows: 58)
  • the OETC control law can be implemented in 4 or less reduced instruction set computer (RISC) clock cycles, in some embodiments.
  • the controller can be implemented through an oversampling factor of 2, which serves to reduce consumption by a factor of 2, through pipelining, resource sharing and streaming, etc.
  • the Adaptive PID sub-engine can operate as a standalone controller.
  • the estimation law modules / FELB can be replaced by an empirically derived lookup table for the estimated model parameter tensors, ⁇ . More specifically, a lookup table can be empirically formed as a mapping between (1) y meas and u out from a reference/calibration system and (2) estimated model parameter tensors, ⁇ .
  • a control, u out can be provided to the one or more actuators, and measurements, y meas , can be taken from the one or more actuators and/or system. These can then be used to select estimated model parameter tensors, ⁇ , from the lookup table, and then provided to the Adaptive PID standalone controller to determine what will be called a control signal, u out .
  • This control signal, u out can be provided to the one or more actuators.
  • the Adaptive PID standalone controller can produce a string of possible control signals, u se , and form a control, u out , as a combination of the string.
  • a weighted average of the possible control signals, u se can be used to calculate the control, u out , although other methods of combining the string can also be implemented.
  • the combination may be based on estimated system outputs, y est_se , for each of the possible control signals, u se , similar to the way in which a topology is selected in the selector and combiner mentioned earlier.
  • y est_se can be found via an estimation portion of the nonlinear model, for instance, using Model 1: [00699] [00700] Where the estimated model parameter tensor, ⁇ , is found in the lookup table based on the measured system output, y meas , and the control, u out , both from a previous iteration.
  • ATIMC Adaptive Tensor Identity Mapping Sub Engine
  • the ATIMC sub engine is configured to separate between disturbance rejection, noise canceling, and the controller itself, while at the same time able to track/follow the reference signal (or setpoint) adaptively and robustly.
  • the ATIMC sub engine is designed to support multi-rate signal processing, which allows for faster and more robust adaptation, as compared to the prior art. Additionally, or alternatively, the ATIMC sub engine may also help reduce or minimize control signal noise (e.g., noise associated with the possible control signal, u SE , or the output control signal, u out ).
  • the ATIMC sub engine is configured to produce possible control signals, u SE , that can be used for controlling non-linear systems having stable or unstable zero-dynamics.
  • the ATIMC sub engine may also be utilized for controlling stable or unstable non-linear systems.
  • the ATIMC sub engine may be utilized to produce control signals for non-linear multiple input multiple output (MIMO) systems.
  • the ATIMC sub engine may be used in conjunction with Artificial Neural Networks (ANN) and/or Fuzzy Logic Mechanisms (FLM), in some embodiments.
  • ANN Artificial Neural Networks
  • FLM Fuzzy Logic Mechanisms
  • the ATIMC sub engine (or ATIMC control law module) is configured to work with one or more of the estimation law modules (or FELBs) described herein.
  • the ATIMC sub engine may be incorporated within an adaptive engine (e.g., adaptive engine 500), where the adaptive engine provides a plurality of combinations of estimation law modules (also referred to as FELBs) and the ATIMC control law module.
  • FIG.23 illustrates an example of an adaptive engine 2300, in accordance with one or more implementations.
  • the adaptive engine 2300 comprises an estimation law module 2304 (also referred to as FELB 2304), an ATIMC sub engine 2305, and a selector module 2308.
  • the selector module 2308 may be similar or substantially similar to any of the other selector modules described herein, including at least selector module 508.
  • the selector module 2308 receives one or more possible control signals, u SE , from the control law module/sub engine 2305 and the other sub-engines/laws 2315 and selects one or a combination of these possible control signals, u SE , for output as the control, u out .
  • sub engine 2305 comprises a plurality of internal mechanisms/modules, where each internal mechanism or module is configured to compensate for different physical effects, noise, disturbance, etc.
  • the sub engine 2305 comprises an Adaptive Adjustment Mechanism (AAM) module 2355 that helps determine at every time instant, k, the coefficients of the estimated model parameter tensor, ⁇ , that are relayed to different mechanisms/modules of the sub engine.
  • AAM Adaptive Adjustment Mechanism
  • a tensor, ⁇ comprising a plurality of subcomponents (e.g., ⁇ u_des , ⁇ u ⁇ , ⁇ uout , etc.) is received by the AAM module 2355.
  • the subcomponents of the ⁇ tensor correspond to different physical quantities, signals, physical effects (e.g., noise and disturbance), etc.
  • the ⁇ tensor is being used as the input regressor tensor, ⁇ , or a filtered variation thereof ( ) described in the preceding sections.
  • the estimation law module/FELB 2304 receives the input regressor tensor, ⁇ , from the sub engine 2305.
  • the FELB 2304 also receives one or more error signals (or a tensor of error tensors, [e]) from the sub engine 2305, generates one or more estimated model parameter tensors, ⁇ , and passes the model parameter tensors, ⁇ , to the sub engine. In some examples, the FELB 2304 also passes a derivative of the estimated model parameter tensors, , to the sub engine. In FIG.
  • the notation [ ⁇ ] is used to indicate the presence of one or more of ⁇ and its derivative [00706]
  • the first letter of the subscript (e.g., ‘u’, ‘y’, etc.) of an ⁇ variable/signal in FIGs.23–30 is used to indicate whether the ⁇ variable/signal corresponds to a control signal, a measurement, etc.
  • the AAM module 2355 processes the subcomponents of the ⁇ tensor to generate the one or more error tensors, [e], sent to the estimation module 2304.
  • the AAM module 2355 receives a plurality of subcomponents (e.g., ⁇ u_out , ⁇ y_meas , ⁇ y_nd , ⁇ u_des , ⁇ u ⁇ ) of the ⁇ tensor, where some subcomponents (e.g., ⁇ u_out , ⁇ u_des ) are associated with control signals, some subcomponents (e.g., ⁇ y_meas , ⁇ y_nd ) are associated with system measurements, etc.
  • subcomponents e.g., ⁇ u_out , ⁇ y_meas , ⁇ y_nd .
  • the sub engine 2305 also includes a plurality of filters, denoted as H ⁇ . ⁇ , including H y ⁇ . ⁇ , H K ⁇ . ⁇ , H ⁇ . ⁇ , H ⁇ ⁇ . ⁇ , etc.
  • Each of these filters receives a signal (e.g., control output, u out ; system output measurement, y meas ; reference signal, r; etc.) and outputs a corresponding subcomponent of the ⁇ tensor.
  • the filter represented by H y ⁇ . ⁇ receives as input the system output measurement, y meas , and outputs a subcomponent ( ⁇ y_meas ) of the ⁇ tensor.
  • the filter represented by H K ⁇ . ⁇ receives as input a signal, y ⁇ (k), which corresponds to a difference between the system output measurement, y meas (or ⁇ y_meas ), and the estimated system output, y est , and outputs a subcomponent ( ⁇ y_nd ) of the ⁇ tensor.
  • the estimated model parameter tensor [ ⁇ ] passed from the FELB 2304 also includes a plurality of subcomponents (e.g., ⁇ ⁇ , ⁇ K , ⁇ ⁇ , ⁇ ⁇ , ⁇ ⁇ ) that when combined (e.g., tensor multiplied) with different subcomponents of the ⁇ tensor allow different portions of the control signal, u SE , to be estimated.
  • FIG.24 illustrates an example of an adaptive engine 2400, in accordance with one or more implementations.
  • the adaptive engine 2400 comprises an estimation law module 2304 (also referred to as FELB 2304), an ATIMC sub engine 2305, and a selector module 2308.
  • the sub engine 2305 in FIG. 24 depicts some examples of the mapping modules, mapping operators, filters, and mechanisms implemented within the ATIMC sub engine, according to various aspects of the disclosure.
  • FIGs. 25–30 discuss these in further detail, but the purpose of the illustration in FIG. 24 is to show them at a higher level.
  • the adaptive engine 2305 comprises a plurality of mapping modules, including an Omega-Phi mapping module 2471, a Kappa-Aleph mapping module 2461, a Psi-Big Theta mapping module 2451, an Epsilon module 2441, a stabilization mechanism module 2310, and a Kappa mechanism 2473.
  • the adaptive engine 2305 further comprises a plurality of mapping operators, including an Omega mapping operator 2472 ( ⁇ . ⁇ ), a Psi mapping operator 2479 ( ⁇ . ⁇ ), and a Phi mapping operator 2477 ( ⁇ . ⁇ ).
  • the adaptive engine 2305 also includes a plurality of filters, including filter 2474 (H ⁇ ⁇ . ⁇ ), filter 2475 (Hy ⁇ . ⁇ ), filter 2476 (H ⁇ . ⁇ ), and filter 2478 (H ⁇ ⁇ . ⁇ ).
  • filter 2474 H ⁇ ⁇ . ⁇
  • filter 2475 Hy ⁇ . ⁇
  • filter 2476 H ⁇ . ⁇
  • filter 2478 H ⁇ ⁇ . ⁇ .
  • the dotted arrows represent subcomponents of the ⁇ tensor that are passed from the different elements of the sub engine to the estimation law module 2304, while the dash-dot arrows represent subcomponents (e.g., coefficients) of the estimated model parameter tensor, [ ⁇ ], that are produced by the estimation law module 2304 and passed to the different elements of the sub engine 2305.
  • an element (e.g., mapping operator) of the sub engine may receive a portion (or subcomponent) of both the ⁇ tensor and the estimated model parameter tensor, [ ⁇ ], and produce a portion (or subcomponent) of the possible control signal, u SE .
  • FIG.25 illustrates a detailed view of a first mapping module 2461 (i.e., the Kappa-to-Aleph mapping module, or simply K-X mapping module 2461) of an adaptive engine 2500, in accordance with one or more implementations.
  • a first mapping module 2461 i.e., the Kappa-to-Aleph mapping module, or simply K-X mapping module 2461
  • the K-X mapping module 2461 serves as a noise and disturbance mapping module and helps generate one or more learned parameters (e.g., estimated parameters or coefficients of the estimated model parameter tensor, ⁇ ) for mapping the measured noise and disturbances (e.g., in the system output measurement, y meas ) to a control signal component.
  • the K-X mapping module 2461 helps determine a control signal component of the possible control signal, u SE , or the control output signal, u out , that may induce/cause the noise and disturbances seen in the measurements. Due to its nature, its contemplated that the K- X mapping module 2461 may also be referred to as a noise-disturbance mapping module 2461.
  • the K-X mapping module 2461 comprises one or more Kappa mapping operator 2585 (shown as K ⁇ . ⁇ ), one or more Aleph mapping operators 2583 (shown as X ⁇ . ⁇ ), one or more delay blocks 2581, 2584 (shown as ⁇ KX ⁇ . ⁇ +I, ⁇ KX ⁇ . ⁇ ), and a Big Theta operator 2586 (shown as FIG.
  • K-X mapping module 2461 also depicts one or more mechanisms/operators/modules external to the K-X mapping module 2461 (but within the sub engine 2305), including a filter 2587 (shown as H K ⁇ . ⁇ ), a Psi mapping operator 2588 (shown as ⁇ . ⁇ ), a system output measurement filter 2569 (shown as Hy ⁇ . ⁇ ), and a Kappa mechanism 2473.
  • the K-X mapping module 2461 (i.e., the noise-disturbance mapping module 2461) is configured to receive a subcomponent, ⁇ y_nd , of the ⁇ tensor, where the subcomponent, ⁇ y_nd , corresponds to the portion of the system output (e.g., measured system output, y meas ; estimated system output, y est ) associated with noise and/or disturbance.
  • this noise and disturbance portion of the system output is isolated from the overall system output (e.g., y meas ) by subtracting the mapped process output (i.e., generated by passing the control output from the previous iteration, u out , through the ⁇ . ⁇ tensor mapping operator 2588) from the measured output (e.g., y meas or ⁇ y_meas ).
  • this noise/disturbance portion, y nd of the system output is passed through the Kappa filter 2587 (H ⁇ ⁇ . ⁇ ), which serves as the input filter to the Kappa Mechanism 2473 and the K-X mapping module 2461.
  • the filter 2587 outputs the signal, ⁇ y_nd , and passes it to the mapping module 2461.
  • the signal comprising the noise/disturbance subcomponent, ⁇ y_nd is received at the K-X mapping module 2461, it is passed through each of the delay block 2581, the Aleph mapping operator 2583, and the Kappa mapping operator 2585.
  • the Kappa mapping operator 2585 maps the noise/disturbance component, ⁇ y_nd , of the measured output to a corresponding noise/disturbance component, ⁇ u_nd , of the control signal.
  • ⁇ u_nd represents the part of the control signal (e.g., control output signal, u out ) that corresponds to the additional noise and disturbance seen in the output of the non - linear system being controlled.
  • the Kappa operator 2585 receives the coefficients ( ⁇ ⁇ ) of the model parameter tensor and uses them to map the noise/disturbance component, ⁇ y_nd , of the measured output to an approximation of the noise/disturbance component, ⁇ u_nd_approx , of the control signal.
  • This subcomponent ( ⁇ u_nd_approx ) of the ⁇ tensor corresponding to an approximate of the noise/disturbance inducing portion in the control signal (e.g., u SE or u out ) is passed to the delay block 2584.
  • the delay block 2584 also receives a delay subcomponent, ⁇ KX ⁇ , of the estimated model parameter tensor, ⁇ , where the delay subcomponent, ⁇ KX ⁇ , defines the delay increments/decrements to be applied to ⁇ u_nd_approx .
  • control signal is a function of the estimated model parameter tensor, ⁇ , and the input regressor, ⁇
  • the output of the delay block 2584 can be calculated to be a control signal, u nd_approx_delayed , which is a delayed version of the approximated noise/disturbance component, ⁇ u_nd_approx , of the control signal.
  • the Big Theta operator 2586 receives the approximated noise/disturbance component in the control signal, ⁇ u_nd_approx , from the Kappa operator 2585, a portion ( ⁇ ⁇ ) of the estimated model parameter tensor, ⁇ , from the estimation module 2304, and the control output from the previous iteration, u out , and produces an approximate of the noise/disturbance component in the measured system output, y nd_approx , and it to the Aleph operator 2583.
  • the Aleph operator 2583 is used to produce an approximate of the noise/disturbance component, u nd_approx , in the control signal that corresponds to the approximated noise/disturbances, y nd_approx , in the output of the non-linear system.
  • the signals u nd_approx and u nd_approx_delayed are passed to a summer, where the summer subtracts u nd_approx from u nd_approx_delayed to produce an error signal (u nd_approx_error ) that is passed as one of the error signals to the estimation law module 2304.
  • the estimation law module 2304 also receives one or more other error signals, including u nd_error , where u nd_error is calculated from a difference between u nd (k) - u nd_approx .
  • the error signal, u nd_error corresponds to an approximation/estimation error.
  • u nd_k is produced at the output of the Aleph mapping operator 2583 based on mapping the measured noise/disturbance component, y nd , to a corresponding control signal component, u nd , where the mapping is based on a portion ( ⁇ ⁇ ) of the estimated model parameter tensor, n some examples, the mapping comprises tensor multiplying the portion, of the estimated model parameter tensor, with the portion, ⁇ y_nd (k), of the ⁇ tensor. [00714]
  • the delay block 2581 ( ⁇ KX ⁇ . ⁇ +I) also receives the signal, ⁇ y_nd_k , and outputs a delayed version of y nd_k .
  • the identity matrix/tensor (i.e., ‘I’) is used to carry out the preparation of the calculations for the next iteration.
  • the delay block 2581 is used to compute the value of the new delay increment/decrement (i.e., .
  • the output of the delay block 2581 which is y nd_k (or ⁇ y_nd_k ) delayed by the new delay increment/decrement, is passed to the Kappa mapping operator 2582.
  • the Kappa mapping operator 2582 also receives a subcomponent ( ⁇ ⁇ ) of the estimated model parameter tensor, which is used to map the y nd_k delayed by the new delay (i.e., y nd_k_delayed_new ) to a corresponding control signal component (approximate), u nd_approx_delayed_new . That is, the Kappa mapping operator 2582 (on the left of the page) outputs a delayed version of the approximated noise/disturbance component in the control signal, u nd_approx , where u nd_approx is also delayed by the new delay increment/decrement, as defined by ⁇ KX ⁇ .
  • the Kappa operator 2582 outputs the noise/disturbance portion of the control signal delayed by the new delay as u nd_approx_delayed_new to the estimation law module 2304.
  • the estimation law module 2304 thus receives a plurality of error signals (e.g., u nd_error , u nd_approx_error ) and an approximated noise/disturbance component, u nd_approx_delayed_new , from the K-X mapping module 2461 and outputs at least a portion (e.g., one or more subcomponents) of the estimated model parameter tensor, .
  • the portions of the estimated model parameter tensor, , sent to the K-X mapping module 2461 comprise: one or more delays ( and one or more coefficients ( ) for the various tensorial mapping functions/operators (e.g., K ⁇ . ⁇ 2582, X ⁇ . ⁇ 2583, ⁇ . ⁇ 2586, ⁇ . ⁇ 2588).
  • FIG.26 illustrates a detailed view of the Epsilon mechanism module 2441 of an adaptive engine 2600, in accordance with one or more implementations.
  • the adaptive engine 2600 may be similar or substantially similar to the adaptive engines 2300–2500 described in relation to FIGs.23–25.
  • the adaptive engine 2600 comprises an estimation law module/FELB 2304, the Epsilon mechanism module 2441, and the stabilization mechanism module 2310.
  • the Epsilon mechanism module 2441 comprises a stability hypothesis tester 2691 configured to receive a portion (e.g., one or more subcomponents or coefficients, such as ⁇ ⁇ ) of the estimated model parameter tensor, ⁇ , and output a subcomponent (e.g., ⁇ u_des ) of the ⁇ tensor to the estimation module 2304.
  • the Epsilon mechanism module 2441 (also referred to as an instability prevention module 2441) is configured to “tensorially” generate stabilizing controllers, for instance, in the case that the learned coefficient ( ) is unstable, which helps prevent the non-linear system being controlled from going unstable. In other words, the Epsilon mechanism module 2441 helps prevent the learned coefficients, ⁇ of the estimated model parameter tensor, from going unstable.
  • the module 2441 works in conjunction with the stabilization mechanism module 2310 to test a hypothesis, described in further detail below.
  • the stabilization mechanism module 2310 is configured to receive the and coefficients of the estimated model parameter tensor, , from the estimation module 2304, and produce a desired and possible control signal, This desired and possible control signal, , is passed to the NL transfer functions 2313, which help compensate for a-priori known non-linear effects, and produces a possible control signal, u SE . In some examples, the desired and possible control signal, is also passed to the stability hypothesis tester 2691 of the Epsilon mechanism module 2441.
  • the stability hypothesis tester 2691 also receives the coefficients from the previous iteration (shown as and an input control signal component, and determines if a predicted/estimated system output (e.g., y est_SE ) is likely to go unstable. That is, the ⁇ coefficients are first used to map the input control signal component, , to a predicted/estimated system output, following which the stability hypothesis tester 2691 determines if the predicted/estimated system output will be stable or unstable. If the stability hypothesis tester 2791 determines that the predicted system output will be unstable, the estimation law module/FELB 2304 is used to adaptively determine the ⁇ coefficients such that the predicted/estimated system output will be stable.
  • a predicted/estimated system output e.g., y est_SE
  • these adapted coefficients/parameters are passed to the stabilization mechanism 2310, where they may be used by a stabilizer (shown as stabilizer 3092 in FIG.30) to stabilize the input control signal component, .
  • the stabilization mechanism 2310 is configured to apply the stabilizer (not shown) if the predicted system output from ⁇ is going to be (or likely to be) unstable.
  • the possible control signal, u SE produced by applying the NL transfer functions 2313 to the control signal component, , may be based on one of the original input control signal component, or the input control signal component after being passed through a stabilizer, , further described below in relation to FIG.30. [00718] FIG.
  • FIG 29 illustrates a block diagram showing the details of the Kappa mechanism module 2473 of an adaptive engine 2900, in accordance with one or more implementations.
  • the adaptive engine may be similar or substantially similar to the adaptive engines 2300 and/or 2400 previously described in relation to FIGs.23 and 24, respectively.
  • the Kappa mechanism module 2473 in the ATIMC sub engine serves as a built-in mechanism to help prevent internal destabilization, for instance, if the adaptation has not converged yet.
  • the H ⁇ . ⁇ filters e.g., H K ⁇ . ⁇ 2587
  • H K ⁇ . ⁇ 2587 helps the adaptation achieve rapid convergence by ensuring that persistent excitation signals have minimal to no impact on the measured system output, y meas .
  • the Kappa mechanism module 2473 may not be employed to reject disturbances until the adaptation has converged, in some examples. In this way, the estimated parameters/coefficients of the estimated model parameter tensor, ⁇ , have minimal to no change. After the adaptation has converged, the Kappa mechanism module 2473 is used to reject noise/disturbances (if any). Such a design facilitates in a stable control output (i.e., a control output that prevents the non-linear system being controlled from going unstable). In some examples, the convergence rate of the signals (e.g., persistent excitation signals) can be selected by the user/designer and input through a user interface.
  • the convergence rate of the signals e.g., persistent excitation signals
  • the ATIMC sub engine allows the user to select the actuation rate and/or sensing rate, and the internal fundamental clock rate of the processor, to name two non-limiting examples.
  • the term “actuation rate” refers to the control rate (or the rate at which control signals are being generated).
  • the term “sensing rate” refers to the rate at which the measurements are being taken/collected/obtained. In some cases, the actuation rate and the sensing rate may be the same or different. Additionally, in some circumstances, convergence can be reached within a few control/sensing/measurement samples. In some instances, convergence can be reached in just a single control/measurement sample.
  • the H ⁇ . ⁇ filters do not modify the measured/sensed samples at the time of measurement (e.g., t k , t k+1 ... t k+N ).
  • the control sampling rate (T s ) may be written as shown below: [00719] (Equation 59)
  • the processor e.g., FPGA processor, CPU processor
  • the processor clock samples e.g., FPGA and/or CPU clock samples
  • this iteration factor (e.g., 9:1) may be considered a design variable and can vary depending on the use case. Additionally, or alternatively, the iteration factor may be selected based on determining an optimal iteration factor needed for a quick and/or robust convergence.
  • the optimal iteration factor (e.g., 9:1, 12:1, 4:1, etc.) for the number of persistent excitation signals for each control signal may be determined empirically through experiments.
  • the persistently exciting signal may be generated by adding noise, where the noise comprises a spectral power covering the full operating range of the signals in question. That is, the additional noise generated is intended to cover the possible scenarios/situations that the nonlinear system is going to operate in, rather than creating a full noise spectrum. Such a design may enhance one or more of accuracy and speed of noise rejection, in some examples.
  • the spectral power of the additional noise may be determined based on the reference signal, r.
  • the spectral characteristics of the added noise signals in question may or may not be known a-priori.
  • an Additive White Gaussian Noise (AWGN) may be utilized if the spectral characteristics of the signals in question are not known a-priori.
  • AWGN refers to a basic noise model used in information theory and is used to mimic the effect of random processes occurring in nature.
  • Other types of noise models known and/or contemplated in the art may be utilized in different embodiments, and the examples listed herein are not intended to be limiting.
  • the Kappa mechanism module 2473 receives an input tensor, [ ], where the input tensor, [ ⁇ ], comprises at least the derivative of the estimated model parameter tensor, .
  • the input tensor also includes the estimated model parameter tensor, ⁇
  • the Kappa mechanism module 2473 comprises an infinity norm module 2961 configured to compute an infinity norm of the input tensor (e.g., tensor).
  • the infinity norm module 2961 passes the infinity norm to a comparison module 2962, which compares the infinity norm to a threshold.
  • the comparison module 2962 determines if the infinity norm is less than or equal to the threshold.
  • the threshold may be specified by the user/designer and may be based in part on the precision capabilities (or precision characteristics) of the hardware and/or the sensing equipment, to name two non- limiting examples.
  • the threshold may be based on a minimum Signal-to-Noise (SNR) requirement set by a customer or indicated in a product specification. As such, the threshold may correspond to the lowest value of noise that may be allowable based on the desired SNR.
  • SNR Signal-to-Noise
  • the Kappa mechanism module 2473 also comprises a mapping operator 2585 (also referred to as Kappa mapping operator 2585, or simply K ⁇ . ⁇ 2585) that is configured to receive the ⁇ K coefficients produced by the estimation law module 2304.
  • the mapping operator 2585 also receives a noise/disturbance component of the measured signal, ⁇ y_nd , which represents the effects of noise and/or disturbance on the system output measurements, y meas .
  • the mapping operator 2585 outputs a signal, u nd_true , which represents the extra/added noise and disturbance rejection control component, to the conditional block 2993.
  • the conditional block 2993 also receives another signal, u nd_false , which represents zero (0) noise.
  • the noise and disturbance rejection control component, u nd_true is added to the possible control signal, u SE , or the control output, u out , if the adaptation has converged, in which case the “True” condition is satisfied.
  • FIG. 27 illustrates a block diagram representation of the Psi-Big Theta mapping module 2451, in accordance with one or more implementations.
  • the Psi-Big Theta mapping module 2451 is also referred to as the control-to- measurement mapping module 2451, since it helps generate the learned coefficients/parameters (e.g., one or more subcomponents of the estimated model parameter tensor, to carry the mapping from the control (e.g., possible control signal, u SE , control output, u out ) to an estimated system output measurement, y est .
  • the control e.g., possible control signal, u SE , control output, u out
  • the Big Theta operator 2586 (shown as ⁇ . ⁇ ), is also referred to as the sensitivity mapping operator 2586, and is used to map a sensitivity in the Psi operator 2588 ( ⁇ . ⁇ ) to a change in input, such that: [00725] tensorial gradient. [00726]
  • the ⁇ operator 2586 is also employed to produce the coefficients, , that are fed to the Psi operator 2588 ( ⁇ . ⁇ ). In some aspects, the ⁇ operator 2586 is used to determine the non-linear effects (if any) present around the ⁇ operator 2588.
  • the use of the ⁇ operator 2586 is similar to performing small signal analysis (e.g., in real time) and the use of the ⁇ operator 2588 is similar to performing large signal analysis.
  • the ⁇ operator 2586 corresponds to a derivative or sensitivity function of the ⁇ operator 2588.
  • the ⁇ operator 2586 and the ⁇ operator 2588 may comprise, or may be associated with, the same coefficients/parameters, but necessarily the same dynamics. In this way, ⁇ operator 2586 helps account for small nonlinearities and the ⁇ operator 2588 helps account for larger nonlinearities in the process/parametric/nonlinear model behavior.
  • obtaining the coefficients ( ) of the model parameter tensor may help determine the coefficients of the model parameter tensor. Further, determining the coefficients, helps ensure robustness and stability of the non- linear system being controlled, as small changes can often amplify and induce large (undesirable) effects in non-linear systems.
  • the coefficients, passed to the Psi operator e.g., Psi operator 2479, 2588
  • the coefficients and of the es timated model parameter tensor, ⁇ sent to the ⁇ operator 2588 and the ⁇ operator 2586, respectively, may be the same or substantially the same. In other words, in some examples. However, it should be noted that ⁇ . ⁇ may or may not be equal to ⁇ . ⁇ .
  • the Psi mapping function/operator 2479 ( ⁇ . ⁇ ), which is an example of a tensorial identity mapping operator, is employed to map a control signal (e.g., control output from a previous iteration, u out_k-1 ; possible control signal, u SE ) to an estimated system output measurement, y est .
  • a control signal e.g., control output from a previous iteration, u out_k-1 ; possible control signal, u SE
  • the estimated system output measurement produced by the ⁇ mapping operator 2479 may be based on the control signal that is input to the mapping operator 2479. For example, if the ⁇ mapping operator 2479 receives a control output from a previous iteration, u out_k-1 , it produces a total estimated system output, y est_out .
  • the ⁇ mapping operator 2479 receives a possible control signal, u SE , for the ATIMC sub engine, it outputs a possible estimated system output, y est_SE , corresponding to the ATIMC sub engine.
  • the estimated system output measurement produced by the ⁇ mapping operator 2479 is based on the control input (u out in this example) and a subcomponent (e.g., ⁇ coefficients) of the estimated model parameter tensor, [00728]
  • the total estimated system output, y est_out produced by the ⁇ mapping operator 2479 is passed to a summer, where it is subtracted from the system output measurement, y meas , to produce y ⁇ (k) , where y ⁇ (k) represents the effects of ⁇ u ⁇ on the output.
  • ⁇ u ⁇ represents a noise signal added to the control to enhance accuracy and/or convergence of the adaptation.
  • the added noise signal, ⁇ u ⁇ is within the specification and/or tolerances specified by the end-user or designer.
  • the noise signal, ⁇ u ⁇ may be determined by mapping the specifications and tolerances, ⁇ spec , specified by the user to a corresponding control tensor component given by ⁇ u ⁇ . As shown in FIG. 23, this mapping from the user specified specifications/tolerances, ⁇ spec , to the noise signal, ⁇ u ⁇ , is carried out by the mapping operator 2314 ( ⁇ . ⁇ ).
  • the mapping operator 2314 is configured to map a variation or sensitivity in the system measurement outputs, y meas , to an additive control component.
  • Generation of this additive noise signal (or tensor control component), ⁇ u ⁇ helps the ATIMC sub engine converge to the process model in real- time (or substantially real-time) as it reduces the time needed for identification of the non-linearities (e.g., small nonlinearities or chaotic behavior). From a practical standpoint, this means that the mapping operator 2314 ( ⁇ . ⁇ ) helps assess how the user specified tolerance affects the control (e.g., possible control signal, u SE , control output, u out , or another applicable control signal).
  • the additive noise signal used to identify the small nonlinearities/chaotic behavior are within the user specified tolerance (i.e., to ensure that the measured system output, y meas , matches or substantially matches the one desired by the user). In some aspects, this allows determination of the small nonlinearities (i.e., via the added noise), while at the same time having minimal to no effect on the system output, y meas , as seen by the user.
  • the possible control signal, u SE output by the ATIMC sub engine facilitates responsiveness (e.g., maximize dynamic range in real time) and adaptability of a parallel multi-actuator nonlinear and/or chaotic control system.
  • such a design facilitates in improved controls (e.g., to maximize the speed of the response and achieve the shortest response time to reach a desired reference signal value, while also enabling stability and robustness) of a parallel multi-actuator nonlinear and/or chaotic control system.
  • the delay estimation and predictive aspects and adaptation aspects of the ATIMC sub engine may also enable all of the above functions and advantages to be achieved even when some of the actuators of the control system are arbitrarily slower than other actuators of the control system.
  • the noise signal ( ⁇ u ⁇ ) and the control signal ( ⁇ u_ideal_k ) are input to the mapping operator 2586 which outputs an estimate y est_ ⁇ , where the estimate, y est_ ⁇ , represents the effects of the noise signal ⁇ u ⁇ on the possible estimated system output, y est_SE .
  • the estimate, y est_ ⁇ is similar to the estimate, y ⁇ (k) , in that it represents the effects of the noise signal ( ⁇ u ⁇ ) on the system output. The difference being that y est_ ⁇ represents the effects of the noise signal on the possible estimated system output, y est , while y ⁇ (k) represents the effect of the noise signal on the measured system output, y meas .
  • the estimates y est_ ⁇ and y ⁇ (k) are passed to a summer, which outputs y ⁇ _error based on subtracting y est_ ⁇ from y ⁇ (k) .
  • the estimation law module/FELB 2304 is configured to receive one or more error tensors and output one or more estimated model parameter tensors, ⁇ .
  • the estimation/approximation error signal, y ⁇ _error is passed to the estimation law module 2304.
  • the estimation law module 2304 processes the approximation/estimation error signal, y ⁇ _error , corresponding to the effects of the noise signal and attempts to find the coefficients of the estimated model parameter tensor, ⁇ , that minimize this error. That is, the estimation law module 2304 produces the coefficients, with the goal of making the error, y ⁇ _error , equal to zero. Once the estimation law module 2304 produces the coefficients, it passes them to the ATIMC sub engine 2305 where they are input to the mapping operator 2586. The estimation law module 2304 also produces the coefficients, and passes them to the sub engine 2305 where they are input to the mapping operator 2479. In some cases, the coefficients passed to the mapping operator 2479 are equal to the coefficients passed to the mapping operator 2586.
  • the control signal, ⁇ u_ideal_k may be generated from the output of the Omega operator 2472 ( ⁇ . ⁇ ) shown in FIG. 28. Specifically, ⁇ u_nd , which is the portion of the control signal that corresponds to the additional noise and disturbances seen at the output of the non-linear system is subtracted from the output, u r_des (k), of the Omega operator 2472 to produce the control tensor component, ⁇ u- _ideal_k .
  • the control tensor component, ⁇ u_ideal_k thus corresponds to an “ideal” control signal component (or control tensor) as the noise and/or disturbances in the non-linear system being controlled have been compensated for.
  • the control tensor component, ⁇ u_ideal_k is added to the noise signal, ⁇ u ⁇ , to produce a control tensor component, ⁇ u_in , that is input to the stabilization mechanism module 2310 (as shown in FIG.26).
  • the stabilization mechanism module 2310 uses the input control tensor component, ⁇ u_in , to produce a control tensor component, ⁇ u_des , which is passed to the NL transfer functions 2313 (also referred to as NL compensator 2313).
  • the NL transfer functions 2313 produce the possible control signal, u SE , from the control tensor component, ⁇ u_des . As seen in FIG.23, the NL transfer functions 2313 pass the possible control signal, u SE , to the selector module 2308.
  • the noise signal, ⁇ u ⁇ , and the control signal, ⁇ u_ideal_k are passed to the tensorial mapping operator 2586 ( ⁇ . ⁇ ), where the tensorial mapping operator 2586 also receives the ⁇ ⁇ coefficients of the estimated model parameter tensor, , from the estimation law module 2304.
  • the tensorial mapping operator 2586 outputs, y est_ ⁇ , to a summer, where y est_ ⁇ represents the effects of the noise signal ⁇ u ⁇ on the possible estimated system output, y est_SE .
  • the adaptation e.g., adaptively generating the coefficients, ⁇ ⁇ , ⁇ ⁇ to minimize the error, y ⁇ _error
  • the adaptation works based on the difference between the measurements, y meas , and the approximated/estimated system output f rom the control signal, ⁇ u_ideal_k .
  • the Omega-Phi Mapping Module (e.g., shown in FIG.
  • the Omega-Phi Mapping Module 2471 described in relation to FIG. 28 helps produce the possible control signal, where the possible control signal is based at least in part on adaptively determining the coefficients ) of the estimated model parameter tensor, .
  • the Omega-Phi mapping module 2471 is also referred to as the reference-to-possible control mapping module 2471.
  • the Omega operator/mechanism/module 2472 (shown as ⁇ . ⁇ ) serves as the control law portion of the ATIMC sub engine as it produces the desired control signal, u r_des (k), where the desired control signal is based at least in part on the desired setpoint (i.e., reference signal, r).
  • the Omega-Phi mapping module 2471 receives a desired setpoint, where the desired setpoint is passed to a delay block 2891 ( ⁇ ⁇ ⁇ . ⁇ ), a stable zero dynamics hypothesis tester 2892, and a mapping operator 2472 ( ⁇ . ⁇ ).
  • the delay block 2891 is also configured to receive a delay portion/subcomponent ( ⁇ ⁇ ⁇ ) of the estimated model parameter tensor, ⁇ , from the estimation law module 2304.
  • the delay subcomponent ( ⁇ ⁇ ) defines a delay increment/decrement that is applied by the delay block 2891 to the desired setpoint.
  • the delay block 2891 then outputs a delayed version of the desired setpoint, with the new delay (e.g., defined by the delay subcomponent, ⁇ ⁇ ) received from the estimation law module 2304.
  • the delayed version of the desired setpoint is passed to the Omega mapping operator 2472.
  • the omega mapping module 2472 (on the left of the page) also receives the coefficients ( ) of the estimated model parameter tensor, ⁇ , and passes a tensor, , to the estimation law module 2304, where the tensor, corresponds to a delay. Specifically, the estimation law module uses to generate the delay subcomponent ( ⁇ ⁇ ) that is passed to the delay block 2891. [00736] Moving on to the stable zero dynamics hypothesis tester 2892 (also referred to as tester 2892), which is also configured to receive the desired setpoint, The tester 2892 receives the desired setpoint, processes it, and outputs the desired setpoint, along with a True/False hypothesis.
  • the tester 2892 is configured to test whether the desired setpoint, has stable or unstable zero dynamics and pass a True/False hypothesis to the delay block 2891 ( ⁇ ⁇ ⁇ . ⁇ ).
  • the delay block 2891 applies the delay increment/decrement defined by the delay component, ⁇ ⁇ ⁇ , to the desired setpoint, _ , and passes the desired setpoint with the delay, to the Phi mapping operator 2477 ( ⁇ . ⁇ ).
  • the Phi mapping operator 2477 maps the desired setpoint (with the delay), ⁇ r_des_delayed , to a corresponding control signal value, u r_des_direct , and passes this control signal value to a summer.
  • the summer also receives another control signal value, u r_des_approx , which is subtracted from the control signal value, u r_des_direct , to produce an error signal, u r_des_error_zero_dyn_stab , that is then passed to the estimation law module.
  • This error signal, u r_des_error_zero_dyn_stab corresponds to a difference between an approximated control output, u r_des_approx , and the estimated control output, u r_des_direct , had the system output measurement, y meas , been equal to the desired setpoint, as further described below.
  • the goal of the Omega-Phi mapping module 2471 is to find the coefficients ( ⁇ ⁇ ) of the estimated model parameter tensor, , that correspond to the minimum error between the approximated control output, _ _ and the estimated control output, had the system output measurement, y meas , been equal to the desired setpoint ( ).
  • the estimated control output can be obtained by mapping an undisturbed and/or noiseless reference signal (or setpoint) to its corresponding control value.
  • this mapping can be achieved through the Phi mapping operator 2477.
  • the estimation law module 2304 is configured to adaptively find and pass the coefficients ⁇ ⁇ of the estimated model parameter tensor, ⁇ , to the Phi mapping operator 2477, where the coefficients ⁇ ⁇ are determined in real-time by minimizing the error (e.g., for the current iteration ‘k’) between and
  • the control signal value is produced by mapping (using the mapping operator 2477), y _ , to a control signal value.
  • the desired setpoint is mapped to a desired control signal value using the Omega mapping operator 2472 and the coefficients ⁇ ⁇ .
  • the desired control signal value _ is mapped to a desired system output ( using the Psi operator 2479 and the coefficients ⁇ ⁇ , where the Psi operator 2479 is similar or substantially similar to the mapping operator 2479 described in relation to FIG. 27.
  • the mapping operator 2479 is configured to map a control signal value (u) to a system output (y), where the mapping is based at least in part on the coefficients ( ⁇ ⁇ ) received from the estimation law module 2304.
  • the Phi mapping operator 2477 receives the coefficients ( ⁇ ⁇ ) from the estimation law module 2304 and maps the undisturbed and noiseless measurement (y r_des ) to a corresponding control signal value (u r_des_approx ).
  • this approximated control signal value (u r_des_approx ) is passed to a summer, where it is subtracted from the delayed control signal value (u r_des_delayed ) to produce an error signal (u r_des_error ), where the error signal (u r_des_error ) is passed to the estimation law module 2304 in the error tensor ‘e’ described above.
  • the estimation law module 2304 receives the one or more error signals (e.g., u r_des_error , u r_des_error_zero_dyn_stab , ⁇ ⁇ ) from the Omega-Phi mapping module 2471 and uses them to determine the delay increments/decrements (e.g., ⁇ ⁇ ) and/or the coefficients (e.g., ⁇ ⁇ , ⁇ ⁇ , ⁇ ⁇ ) of the estimated model parameter tensor, ⁇ .
  • the estimated model parameter tensor, ⁇ includes ⁇ ⁇ coefficients/parameters that are determined through adaptation.
  • the Omega operator 2472 ( ⁇ . ⁇ ) is a tensorial mapping function/operator that is employed to map a desired reference signal/setpoint (e.g., to a corresponding control signal value, e.g., u r_des .
  • the Omega operator 2472 may be configurable by the end -user or designer and may comprise linear and/or non-linear functions/operators.
  • the Omega operator 2472 ( ⁇ . ⁇ ) may be implemented by way of an Artificial Neural Network (ANN).
  • ANN Artificial Neural Network
  • the Omega operator 2472 may comprise a gain tensor whose weights/parameters are set using the ⁇ ⁇ coefficients, where the ⁇ ⁇ coefficients are adapted in real-time (or substantially real time).
  • the adaptive engine comprising the estimation law module 2304 and the ATIMC sub engine 2305 uses adaptation to determine the total estimated delay ( ⁇ Total ). After initializing the total estimated delay ( ⁇ Total ), the different mapping mechanisms/modules of the ATIMC sub engine 2305 adapt the delay to further enhance the performance of the adaptive engine (e.g., to bypass unstable zero dynamics if they are present in the non-linear system).
  • the extra delay allows the controller to be conscious of the unstable zero dynamics.
  • An example for unstable zero dynamics may be that a system takes time to charge/build up.
  • the addition of the delay helps prevent the controller from increasing the value of the control signal, u out , applied to an actuator (e.g., if it assumes that the control signal value that it is issuing is not enough).
  • the addition of the delay helps account for the fact that the non-linear system being controlled may need time (e.g., due to unstable zero dynamics) to respond to such a control output, u out .
  • the delays described herein assist in the control of non-linear systems having unstable zero dynamics.
  • the system of the present disclosure is configured to determine a total delay ( ⁇ Total ).
  • the ATIMC sub engine comprises a plurality of mechanism mapping modules, each associated with a slightly different delay.
  • the different delays (e.g., ⁇ ⁇ , ⁇ KX ⁇ , etc.) passed from the estimation law module 2304 may be added to the total delay ( ⁇ Total ) to produce the delay (e.g., ⁇ ⁇ , ⁇ KX ) for the different mapping modules.
  • the delays passed from the estimation law module/FELB 2304 may comprise positive or negative integer values, and each additional delay increment/decrement may correspond to one control sample.
  • FIG.30 shows a detailed view of the stabilization mechanism module 2310 of the ATIMC sub engine, in accordance with one or more implementations.
  • the stabilization mechanism module 2310 may be similar or substantially similar to the stabilization mechanism module 2310 previous described in relation to FIG.26.
  • the stabilization mechanism module 2310 helps ensure (adaptively) that the process/non- linear system being controlled remains stable, regardless of operating conditions.
  • the stabilization mechanism module 2310 comprises a stability hypothesis tester 3091.
  • the stability hypothesis tester 3091 implements one or more aspects of the stability hypothesis tester 2791 described above in relation to FIG. 26.
  • the stabilization mechanism module 2310 also includes an optional stabilizer 3092.
  • the stabilizer 3092 is deployed if the pred icted system output measurement for a possible control signal (e.g., determined based on applying the possible control signal to one or more of the estimation laws described throughout the disclosure) is going to be unstable.
  • the estimation law module/FELB 2304 is configured to produce one or more estimated parameter tensors, ⁇ , where the one or more estimated parameter tensors comprise one or more subcomponents (also referred to as coefficients), such as, ⁇ ⁇ , ⁇ ⁇ , etc.
  • the stability hypothesis tester 3091 is configured to receive the coefficients, ⁇ ⁇ and ⁇ ⁇ , of the estimated model parameter tensor, ⁇ , and output a Boolean response (e.g., True/False) based on predicting if the system output will be unstable.
  • the stabilization mechanism module 2310 also receives as input the control tensor component, ⁇ u_in , where the control tensor component, ⁇ u_in , is generated by adding ⁇ u_ideal_k to the noise signal, ⁇ u ⁇ , as described above.
  • the stability hypothesis tester 3091 uses one or more of the control tensor component, ⁇ u_in , the ⁇ ⁇ , and the ⁇ ⁇ parameters/coefficients to predict the stability of the system output.
  • the stability hypothesis tester 3091 If the predicted system outputs are stable, the stability hypothesis tester 3091 outputs “True” to the conditional block 3093, in which case the conditional block 3093 passes the control tensor component, ⁇ u_in , as the desired control output, ⁇ u_des , to one or more of the Epsilon mechanism module 2441 and the NL transfer function 2313. In some other cases, if the predicted system outputs are unstable, the stability hypothesis tester outputs “False” to the conditional block 3093. In such cases, the optional stabilizer 3092 is used to stabilize the control tensor component, ⁇ u_in .
  • the stabilizer 3092 outputs another control tensor component, ⁇ u_in_stabilized , to the conditional block 3093, which then outputs the stabilized control tensor component, ⁇ u_in_stabilized , as the desired control output, ⁇ u_des .
  • the desired control output, ⁇ u_des is also passed back to the estimation law module/FELB 2304.
  • the estimation law module 2304 adapts the ⁇ ⁇ parameters/coefficients, for instance, if the desired control output, ⁇ u_des , is different from the control tensor component, ⁇ u_in , if the stabilizer 3092 was deployed, or a combination thereof.
  • FIG.22 illustrates an example of a method 2200 for controlling a non-linear system using an ATIMC control law module/sub-engine, in accordance with one or more implementations.
  • the operations of method 2200 presented below are intended to be illustrative. In some implementations, method 2200 may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of method 2200 are illustrated in FIG. 22 and described below is not intended to be limiting.
  • method 2200 may be implemented in one or more processing devices (e.g., a central processing unit or CPU, a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, a field programmable gate array or FPGA, and/or other mechanisms for electronically processing information).
  • the one or more processing devices may include one or more devices executing some or all of the operations of method 2200 in response to instructions stored electronically on an electronic storage medium.
  • the one or more processing devices may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of method 2200.
  • a first operation (2202) comprises receiving a reference signal, r, where the reference signal, r, may be received at the estimation law module/FELB 2304.
  • a second operation 2204 comprises receiving at least one system output measurement, y meas .
  • the system output measurement, y meas is received at the estimation law module/FELB 2304.
  • a third operation (2206) comprises determining one or more of an estimation law and/or control law for selecting controller coefficients (also referred to as estimated parameter tensor coefficients or estimated model parameter tensor coefficients, such as the coefficients, ⁇ ⁇ ), where the controller coefficients are predicted to minimize or reduce at least one error index (e.g., corresponding to the various errors passed from the control law module/sub-engine 2305 to the estimation law module 2304).
  • a fourth operation (2208) comprising generating a control signal, u c (e.g., ⁇ u_ideal_k in FIG.27) based at least in part on determining the control law portion for selecting the controller coefficients.
  • a fifth operation (2210) comprises generating a possible control signal, u SE , for the current iteration after removing the effects of noise and/or disturbance (e.g., u nd , or u nd_approx ) from the control signal, u c .
  • sixth operation (2212) comprises determining an ideal process output, y p .
  • the adaptive engine determines an ideal process output, y p , by applying the possible control signal, u SE , to the non-linear model (e.g., the estimation portion of the non-linear model).
  • the control output, u out may be passed through the mapping operator 2588 to produce the total estimated system output, y est_SE or y est_out .
  • the noise/disturbance component (e.g., ⁇ y_nd (k) or y nd ) in the measured system output, y meas may be calculated from a difference between the ideal system/process output (e.g., y est_SE or y est_out ) and the measurement, y meas .
  • the method 2200 comprises estimating (or determining) the effects of noise and disturbance, y nd , in the measured system output, y meas .
  • the estimation of the noise/disturbance effects, y nd comprises evaluating a difference between the measured system output, y meas , annd the ideal system/process output, y p .
  • An eighth operation (2216) comprises determining, u nd , where u nd corresponds to the portion of the control signal (e.g., possible control signal, u SE ; control output from the previous iteration, u out_k-1 ) associated with the noise and/or disturbance effects.
  • the control signal e.g., possible control signal, u SE ; control output from the previous iteration, u out_k-1
  • determining the noise/disturbance inducing portion of the control signal, u nd comprises mapping the measured noise and disturbance component, y nd , to a corresponding control signal value, as described above in relation to FIG. 25.
  • the estimated/approximated u nd i.e., determined at operation 2216
  • the adaptive engine is configured to update/adapt the estimated parameter.
  • the ATIMC sub-engine can operate as a standalone controller.
  • the estimation law modules / FELB can be replaced by an empirically derived lookup table for the estimated model parameter tensors, ⁇ .
  • a lookup table can be empirically formed as a mapping between (1) y meas and u out from a reference/calibration system and (2) estimated model parameter tensors, ⁇ .
  • a control, u out can be provided to the one or more actuators, and measurements, y meas , can be taken from the one or more actuators and/or system. These can then be used to select estimated model parameter tensors, ⁇ , from the lookup table, and then provided to the ATIMC standalone controller to determine what will be called a control signal, u out .
  • This control signal, u out can be provided to the one or more actuators.
  • the ATIMC standalone controller can produce a string of possible control signals, u se , and form a control, u out , as a combination of the string.
  • a weighted average of the possible control signals, u se can be used to calculate the control, u out , although other methods of combining the string can also be implemented.
  • the combination may be based on estimated system outputs, y est_se , for each of the possible control signals, u se , similar to the way in which a topology is selected in the selector and combiner mentioned earlier.
  • y est_se can be found via an estimation portion of the nonlinear model, for instance, using Model 1: _ [00752] Where the estimated model parameter tensor, ⁇ , is found in the lookup table based on the measured system output, y meas , and the control, u out , both from a previous iteration.
  • the ATFC Controller and Control Law Module or Sub-Engine Referring next to FIG.31, shown is a block diagram of an adaptive tensorial fuzzy controller (ATFC) 3100 that may be implemented as a stand-alone control law module 506 or it may be implemented among other control law modules 506 in the adaptive engine 500 described with reference to FIGS.5A, 5B, and 5C.
  • the ATFC 3100 comprises a fuzzy controller 3102 that includes a fuzzification module 3104, that is coupled to an inference mechanism 3106, and the inference mechanism 3106 is coupled to a defuzzification module 3108 and a rule base 3110.
  • a dynamic modification module 3112 that is coupled to the fuzzification module 3104, the rule base 3110, and the defuzzification module 3108.
  • the depiction of the components that make up the ATFC 3100 is a logical depiction of functional blocks, and each functional block may be combined with other functions or further separated in an actual implementation.
  • the fuzzification module 3104 may be separated into a fuzzy input scaler module and a fuzzifier module and the defuzzification module may be separated into a defuzzifier module and a fuzzy output scaler module as shown in FIG. 39.
  • the depicted functional blocks may be realized by memory, processor executable instructions stored in memory, and a field programmable gate array programmed with instructions stored in memory.
  • the fuzzification module 3104 generally operates to transform input variables into fuzzy values that are in a form that the inference mechanism 3106 can handle utilizing input membership functions (MFin).
  • the inference mechanism 3106 then generates a fuzzy output 3114 according the rule base 3110, and the defuzzification module 3108 transforms, utilizing output membership functions (MFout), the fuzzy output 3114 into a possible control signal, use, that is either used for controlling one or more actuators 408 of the plasma processing system (if the ATFC 3100 is utilized as a stand-alone control law module 506) or the possible control signal, u se , is provided to the selector module (if the ATFC 3100 is utilized in connection with other control law modules 506) as described with reference to FIG.
  • MFout output membership functions
  • the dynamic modification module 3112 is configured to adapt input membership functions, MFin, of the fuzzification module 3104, output membership functions, MFout, of the defuzzification module 3108, and the rule base 3110 while controlling an output (e.g., the load output 430) of a plasma processing system (e.g., plasma processing system 400). Aspects and variations of the dynamic modification module 3112 are discussed further herein.
  • FIG.31 simultaneous reference is made to FIG.32, which is a flowchart depicting a method for controlling a plasma processing system such as the plasma processing systems 100, 400 described with reference to FIGS.1 and 4.
  • the method depicted in FIG.32 is applicable in the context of tensorial control where there are potentially multiple outputs, multiple controller parameters, and multiple actuators that are utilized to achieve desired parameter values, but FIG.32 is simplified for purposes of clarity.
  • the method includes receiving a reference signal, r, (e.g., reference signal 405) defining target values for a parameter that is controlled at an output (e.g., at the load output 430) of the plasma processing system (Block 3202).
  • the controlled parameter may be, for example, forward power and the target values may, for example, define states of a multilevel power setpoint (e.g., as shown in FIG. 2).
  • the method also comprises obtaining a measure, y meas , of the parameter that is controlled at the output (Block 3204).
  • At least one sensor e.g., sensor(s) 410) including, for example and without limitation, directional couplers, VI sensors, current transducers, and simple voltage sensors may be used to obtain the measure, ymeas, of the parameter that is controlled at the output.
  • sensor(s) 410) including, for example and without limitation, directional couplers, VI sensors, current transducers, and simple voltage sensors may be used to obtain the measure, ymeas, of the parameter that is controlled at the output.
  • there may be multiple controlled parameters such as forward power, voltage, current, substrate bias voltage, ion energy, frequency, impedance, etc,
  • outputs e.g., one or more of the load output 430 and/or the actuator outputs 432).
  • the method also includes producing an estimated model parameter tensor, ⁇ (Block 3206).
  • an estimation law module 504 may take as input regressor, ⁇ , or a subset thereof, including values such as the reference signal, r, and the measured system output, y meas , and an estimated error, and the estimation law module 504 may process these inputs through an estimation law to produce the estimated model parameter tensor, ⁇ .
  • the fuzzy controller 3102 provides a control signal to adjust at least one actuator based at least upon the reference signal and the measure of the controlled parameter (Block 3208).
  • the control signal may be a possible control signal, u se .
  • the ATFC A00 may operate as a standalone control law module to provide control, u out , as a signal that is used to control an actuator 408.
  • the dynamic modification module 3112 adapts the output membership functions (MFout) of the fuzzy controller 3102, input membership functions (MFin) of the fuzzy controller 3102, and a rule base 3110 of the fuzzy controller 3102 while controlling the output of the system, based at least upon the estimated model parameter tensor, ⁇ , the reference signal, r, the estimate of the controlled parameter, y est_se , the measure of the controlled parameter, y meas , and the control signal (u se or u out )(Block 3210).
  • the ATFC 3100 is able to extend the regions of operation of the plasma processing system 100, 400 that is driving a nonlinear and/or chaotic load 104 where (in some embodiments) aspects of the system 100, 400 can still be controlled at a nanosecond scale at a user’s specific specifications.
  • aspects of the ATFC 3100 enable the addition of heuristic, rule-based, case-by-case knowledge to the control mechanism that other control methodologies cannot achieve.
  • the adaptive aspects of this mechanism enable updating and changing these rules and/or the addition of rules that cover more regions while the system is running so performance and stability are maintained, and if a new process (e.g., for processing a work piece) is added, the rules may be extended to that process.
  • Standard fuzzy technology suffers from not being able to be implemented to its full extent into real time devices that deal with highly uncertain and nonlinear/ chaotic systems.
  • embodiments of the ATFC 3100 overcome memory limitations by using tensor signal processing and storage.
  • the rule base 3110 of the fuzzy controller 3102 may be dynamically adjusted at every control sample, Ts, to deal with systems and/or operating conditions that a designer did not consider during the design stage.
  • This dynamic adjustment provides a tremendous advantage over linear adaptation and/or robust control methodologies that need knowledge of the dynamics of the process and quantization of uncertainties which cannot be known a- priori in highly nonlinear/uncertain systems to perform well.
  • non-fuzzy control systems may be superior when the system is operating within predefined, a-priori contemplated, regions because accurate a-priori knowledge is very useful but operating in accurately known a-priori-defined regions is more of an exception rather than the general case.
  • using both robust learning control and adaptive tensorial fuzzy control extends performance, reliability, stability and the operating regions in a complimentary non overlapping way; thus, producing a superior product (e.g., processed workpiece) with very little added costs.
  • Portions of the ATFC 3100 mechanism may be implemented in real time hardware as discussed further below (e.g., by using TSP RAM, registers, and general tensor signal processing). It should be noted that although some of the terminology used to characterize the ATFC 3100 is similar to terminology used in connection with other machine learning approaches, the machine learning approaches are not the same as the ATFC 3100 mechanisms. For example, machine learning engines may use clustering/batch processing and frames, or pseudo real time and offline processing to carry out its learning with, for example, unscented Kalman filters to develop new rules and adapt in real time as opposed to the approach used in the ATFC 3100. But it should be recognized that the ATFC 3100 may be used in parallel with machine learning engines.
  • the ATFC 3100 is particularly applicable to multiple input multiple output (MIMO) nonlinear, chaotic, and uncertain plasma loads, that can be unstable as well as have unstable zero dynamics.
  • MIMO multiple input multiple output
  • the dynamic modification module 3112 may also store updates to the rule base 3110 and expand the rule base 3110 through tensorial correction values, zooming and sliding tensorial memory grids, and delay/filtering/averaging operators.
  • the dynamic modification module 3112 may also genericize the rule base 3110, the input and output membership functions, input and output gain, scaling, and tuning.
  • the rule base may include the following rules: [00769] R1: IF (Drive is Reference) AND (Error is positive) THEN (Rail is Up); [00770] R2: IF (Drive is Reference) AND (Error is zero) THEN (Rail is zero); [00771] ... [00772] Rn: IF (Ini is Conditioni) AND (Ink is Conditionm) THEN (Outputp is Conditionp). [00773]
  • the ATFC 3100 is a MIMO system capable of effectuating rules that will not only generate a rail voltage, but may also, for example, establish drive frequency, substrate-bias voltage, and match positions for all amplifiers and match networks.
  • the rule base 3110 is composed of all the “Rn” rules for all the i inputs, all the conditions, and all the outputs.
  • the fuzzification module 3104 functions to create a “degree of truth” to each statement by mapping how much “Drive is Reference” and how much “Error is Positive” and how much “Error is Zero,” which is achieved through the membership functions, MFin, as is known in the art. Due to available processing devices (e.g., CPUs and FPGAs) and to make storage computations easy, the shape of the membership functions (in a generic, normalized form) may be as shown in FIG.33.
  • the membership functions may be composed of 2n points with points “pi” and “ri” spaced from a center “bo” in a symmetric manner about bo.
  • adaptation is carried out on ⁇ bo, pi, ...pn, ri, ..., rn ⁇ for all MFin functions. Pn and rn may overlap; thus, making the membership function triangular about bo.
  • the distance between bo and pi and bo and ri does not need to be smaller than “bo and pi-1” and “bo and ri.” Only the symmetry of “pi” and “ri” with respect to “bo” is desired, and pi should lie to the left of bo and ri, should lie to the right of bo and pi. [00776]
  • the inference mechanism 3106 simply reads these rule values and computes the output membership function resulting from them. As a consequence, we have the membership function depicted in FIG.37 for R1in and the membership function depicted in FIG. 38 for R2in.
  • the rule base 3110 can have its fuzzy output inferred differently depending on the membership functions used.
  • the defuzzification module A08 then converts the inferred decisions into actions. There exist several methods for defuzzification such as center of gravity, center average, scaling, etc.
  • the center average may be calculated as: [00789] [00790] [00791] [00792]
  • scaling is calculated as: [00793] [00794] [00795] [00796]
  • the center of gravity defuzzification approach may be calculated as: [00797] [00798] [00800] [00801]
  • an example ATFC 3900 which may be used to realize the ATFC 3100 is described with reference to FIG.39.
  • the ATFC 3900 comprises a fuzzy controller 3902 and a dynamic modification module 3912.
  • the fuzzy controller 3902 receives the control, u out , from the selector module 508; the measured system output, y meas ; the total estimated system output, y est_out , and the reference signal, r, while the dynamic modification module 3912 receives the measured system output, y meas , and the reference signal, r.
  • the fuzzy controller 3902 operates in the same way as the fuzzy controller 3102 described with reference to FIG.31 except that the functions of the fuzzification module 3104 are separated into a fuzzy input scaler module 3920 and a fuzzifier 3922, and functions of the defuzzification module 3108 are separated into a defuzzifier 3924 and a fuzzy output scaler module 3926.
  • the fuzzy input scaler module 3920 receives the measured system output, y meas , the total estimated system output, y est_out , the control, u out , and the reference signal, r, and the fuzzy output scaler module 3926 outputs u desired , which may be processed by the NL transfer functions 1013 to produce the possible control signal, use.
  • the fuzzy input scaler module 3920 may normalize the inputs it receives to values between [-1,1] (or alternatively, between [0,1]), and the fuzzy output scaler may provide signal values that are useful for a particular actuator.
  • the fuzzifier 3922, inference mechanism 3106, and the defuzzifier 3924 are realized by an FPGA that is programmed using instructions in hardware description language and the other components depicted in FIG.39 are realized by processor executable instructions in connection with a processor (e.g., CPU) that processes the instructions.
  • the dynamic modification module 3912 in this embodiment comprises a control-to-estimate mapping module 3928, a correction module 3930, a scaling module 3932, a zooming and shifting module 3934, and a memory grid 3936, that is coupled to the zooming and shifting module 3934 via a one-sample delay, 1SD.
  • these functional components of the dynamic modification module are realized by software executed by a processor (e.g., a CPU).
  • the control-to-estimate mapping module 3928 generally functions to provide a fuzzy tensorial mapping from the control, u out , to the estimated system output, y est_se .
  • the estimate may be updated at every control sample and is adapted to match the measurements, y meas .
  • the estimated system output, y est_se may be provided to the selector module 508 and the estimation law module 504 as shown in FIGS.5A and 5B.
  • FIG. 40 shown is an embodiment of the control-to- estimate mapping module 3928.
  • the control-to-estimate mapping module 3928 includes a fuzzy input scaler module 4050, a fuzzifier 4052, an inference mechanism 4054 that is coupled to a rule base 4056, a defuzzifier 4058, and a fuzzy output scaler module 4060.
  • the fuzzy input scaler module 4050 receives the total estimated system output, y est_out , the control, u out , and the measurements, y meas .
  • the control-to-estimate mapping module 3928 provides a fuzzy estimate, y est_se , of the controlled output of the system (obtained through defuzzification) and the calculation for y est_se is adapted in real time by having its defuzzification coefficients adapted in real time by the estimated model parameter tensor, ⁇ , to minimize the error between y estk-1 which are given by ⁇ k every iteration.
  • the correction module 3930 functions to provide a tensorial mapping from the measurements, y meas , relative to the reference signal, r, (e.g., streaming setpoints) into a correction tensor, CT, added to the input/output membership function centers and points. As such, the correction module 3930 enables an adaptation at each and every control sample to minimize an error between the measurement and the reference signal.
  • CT correction tensor
  • the correction module 3930 includes a fuzzy input scaler module 4170, a fuzzifier 4172, an inference mechanism 4174 that is coupled to a rule base 4176, a defuzzifier 4178, and a fuzzy output scaler module 4180.
  • the fuzzy input scaler module 4170 receives the control, u out , the total estimated system output, y est_out , the reference signal, r, the measurements, y meas , and estimated system output, y est_se .
  • the estimated model parameter tensor, ⁇ is utilized by each of the fuzzifier 4172 and the defuzzifier 4178 to different effect.
  • is utilized to affect the coefficients of the input membership functions (MFin) of the fuzzifier 4172 so as to affect the fuzzy values output by the fuzzifier 4172.
  • the estimated model parameter tensor, ⁇ is also utilized to affect the coefficients of the defuzzifier 4178 to, e.g., enable modification of the weights used with the center of gravity method.
  • the correction module 3930 produces a correction tensor, CT.
  • CT correction tensor
  • CT is indicative of an error, and it is generally desirable to minimize the correction, so as a consequence, parameters are adjusted so the CT tends to move to zero.
  • the meaning of the rules may be adjusted by scaling them with the scaling module 3932.
  • the scalars may autotune themselves so they narrow or extend the inputs so that the normalized range covers these inputs and not a larger in region.
  • the inputs and scaling are considered over timeframes and calculated based upon the reference signal, r, which may be organized into synthesized frames.
  • the zooming and shifting module 3934 functions to shift the rule set with respect to a fixed grid such that updates are made only inside the active rules and membership functions.
  • this zooming-shifting method is twofold: first, because the scaling module 3932 changes the whole rule base meaning, this zooming- shifting method only zooms into the active rules; thus, only affecting the current active rules. Second, this method allows extending the rule base to a different set of conditions (inputs/outputs). So, using the estimated model parameter tensor, ⁇ , the zooming and shifting module 3934 optimizes itself and selects the shifting method to cover solely the current active laws. [00811] Referring to FIG.
  • the zooming and shifting module 3934 includes an active region module 4290, boundary logic 4292, shift-zoom logic 4294, a multiplexor 4296, and a rules selection module 4298.
  • the active region module 4290 is configured to divide operational aspects of the system into regions utilizing the measured system output, y meas , the reference, r, the total estimated system output, y est_out and the control, u out , to determine which region is currently active.
  • the boundary logic 4292 provides a TRUE signal if the active region is outside of the current active rule set and a FALSE signal if the active region is not outside of the active rule set boundaries.
  • the shift-zoom logic 4294 In response to the TRUE signal (indicating the active region is outside of the current active rule set), the shift-zoom logic 4294 will shift the center of the rules.
  • the active region is a region of the rule base around the rules that are currently non-zero.
  • the center of the region is where the measurements lead to a highest rule membership value (e.g., the rule the measurements/inputs fit into by the greatest amount).
  • the shift-zoom logic 4294 will zoom in so as to cover the rules that are available so far.
  • the shift-zoom logic 4294 receives the estimated model parameter tensor, ⁇ , and based upon ⁇ establishes the amount by which the rule base should be shifted or zoomed into so as to only require one active rule boundary set (e.g., for a single frame period). [00814]
  • the multiplexor 4296 then passes along either the shifted or the zoomed-in value based upon a shift/zoom signal.
  • the rule selection module 4298 determines a new tensor correction, TCnew, that enables a shift in the rules (relative to TC), so that instead of applying TC to all the rules in the system, TCnew is applied to a subset of rules from the rule base.
  • CTnew is fed to the fuzzifier 3922, the rule base 3110, and the defuzzifier 3924.
  • CTnew enables the zooming and shifting (performed by the zooming and shifting module 3934) to be applied to the fuzzifier 3922, defuzzifier 3924, and the rule base 3110 to enable the membership rules (of the fuzzifier 3922 and defuzzifier 3924) and rule base 3110 to be changed.
  • a center of the membership rules e.g., bo depicted in FIG. 33
  • the memory grid 3936 creates a memory tensor composed of a grid that stores the new correction tensor, CTnew, for all the active laws during a period of time (e.g., during a frame). As such, a next time the same conditions are experienced, the new correction tensor, CTnew, is available and performance (e.g., robustness and reliability) will neither degrade nor change and adaptation need not be restarted.
  • an adaptation procedure may be used to determine an equivalent correction tensor that (given the amount of memory locations determined from hardware limitations or designed specs) is used for all the rules in a set of coarse memory locations such that it minimizes output error.
  • a lookup table can be empirically formed as a mapping between (1) y meas and u out from a reference/calibration system and (2) estimated model parameter tensors, ⁇ .
  • the control, u out can be provided to the controlling the one or more actuators 408, and measurements, y meas , can be taken from the one or more actuators and/or system. These can then be used to select estimated model parameter tensors, ⁇ , from the lookup table, and then provided to the ATFC standalone controller to determine the control signal, u out .
  • This control signal, u out can be provided to the one or more actuators.
  • the ATFC standalone controller can produce a string of possible control signals, u se , and form the control, u out , as a combination of the string.
  • a weighted average of the possible control signals, u se can be used to calculate the control, u out , although other methods of combining the string can also be implemented.
  • the combination may be based on estimated system outputs, y est_se , for each of the possible control signals, u se , similar to the way in which a topology is selected in the selector and combiner mentioned earlier.
  • y est_se can be found via an estimation portion of the nonlinear model, for instance, using Model 1: [00820] [00821] Where the estimated model parameter tensor, ⁇ , is found in the lookup table based on the measured system output, y meas , and the control, u out , both from a previous iteration. [00822] Adaptive Engine with Pre-Processed Control Laws [00823] As previously noted, the control law modules or sub-engines can be processed on an FPGA or similar high-speed resource. However, for legacy systems that do not have such a resource, legacy processing may have difficulty implementing the heretofore mentioned control laws.
  • FIG.49 illustrates a method of adaptive control where mappings of the control laws are empirically derived.
  • the method 4900 starts by setting one or more actuators controlling a power system to 0 (Block 4902) in what will be called a boot up phase of the adaptive controller.
  • a system output measurement, y meas is taken for the system controlled by the one or more actuators (Block 4903), and this measurement is input to a mapping function (Block 4904) to get a possible control, u se , that corresponds to the measurement, y meas .
  • the mapping function can be related to and approximate the effects of a nonlinear model through empirical study of the power system.
  • Control samples can be grouped into frames and a best linear approximation of the system behavior over the new frame can be selected (Block 4910)—in other words, a structure of a time-varying linear system, W m , can be selected for the first frame (Block 4910).
  • This structure can be calculated in a frame resynthesizer or accessed from an empirically-derived lookup table.
  • Another system output measurement, y meas can be taken (Block 4912), but this time the measurement can be used in an estimation law module as previously discussed (Block 4914).
  • the estimation law module can estimate an estimated model parameter tensor, ⁇ , for every control sample of a nonlinear model, where this estimation is at least a function of the system output measurement, y meas , and an input regressor, ⁇ .
  • the input regressor, ⁇ , for this first iteration of the Adaptation phase may include a reference signal, r, and the last control from the boot up phase, u out .
  • may include additional components such as y est_se .
  • the estimating can be based on an estimation law that is a function of an estimated error, or cost function, J.
  • the estimated model parameter tensor, ⁇ comprises estimated parameters of the nonlinear model such as, but not limited to, r, y meas , y est_se , and u out . These ⁇ values can be elements within the A, B, and C matrices of a system of equations underlying the time-varying linear system, W m , which is used in the nonlinear model, and in particular, in an estimation portion of the nonlinear model.
  • the estimated model parameter tensor, ⁇ can be input to the mapping function used in the boot up phase, and via a different mapping in the mapping function, a possible control signal, u se can be extracted from the mapping function based on the ⁇ input (Block 4916).
  • the mapping function can have two operations or two sets of mappings: (1) a first that gives u se in terms of y meas , and (2) a second that gives u se in terms of ⁇ .
  • the adaptive engine can then provide the possible control signal, u se , to an estimation portion of the nonlinear model to generate an estimated system output, y est_se (Block 4918) estimated to result if the possible control signal, u se , is provided to the one or more actuators.
  • the estimation portion of the nonlinear model uses the structure for the time-varying linear system, W m , selected for the current frame with u se and ⁇ as inputs.
  • an additional realm of the mapping function can give the estimated system output, y est_se , based on an input of the possible control signal, u se (Block 5018 in FIG.50).
  • the estimation portion of the nonlinear model is also a function of the estimated model parameter tensor, ⁇ .
  • the estimation portion of the nonlinear model can be implemented in the estimation law module, though this processing location is not limiting.
  • the mapping function can also provide the possible control signal, u se , to the one or more actuators (Block 4920) as the control, u out , assuming no other possible control signals, u se , for this control sample or iteration, are provided by the mapping function or another mapping function.
  • the method 4900 can select (1) a best possible control signal, u se , from a set including the possible control signal, u se , from the first mapping function, and additional possible control signals, u se , or (2) a best combination of possible control signals, u se , blended from two or more of the set.
  • the blending can be based on a topology that can include averaging, multiplication, summations, differences, divisions, integrals, derivatives, exponentials, complex functions, logarithms, series, statistical distributions, matrices, tensors, neural networks, nonlinear functions, graphs, maps, transformations, trees, to name a few non-limiting examples, or combinations thereof .
  • the topology can be selected based on a total estimated system output, y est_out , for each of multiple possible topologies, and then based on comparing this total estimated system output, y est_out , to the reference signal, r, the measured system output, y meas , or a combination of these (referred to as estimated system error, .
  • the final estimated model parameter tensor, ⁇ , in each frame can be stored along with a mapping to the frame and the structure of the time-varying linear system, W m , such that these values can be recalled should the reference signal, r, underlying the frame be seen again.
  • this alternative adaptive engine operates similarly to those shown in previous aspects of this disclosure, but with a unique boot up phase and unique use of a mapping function rather than the control law module to determine the possible control signal, u se , from the estimated model parameter tensor, ⁇ .
  • FIG.50 shows another alternative where the mapping function also determines the estimated system output, y est_se based at least on the possible control signal, u se , also found from the mapping function.
  • the adaptive engine can include multiple estimation law modules each producing their own estimated model parameter tensors, ⁇ , that can all be fed into the mapping function to produce different possible control signals, u se , and then a selector module can select a best of these possible control signals, u se , or a best combination or blending of two or more of these possible control signals, u se , as the control, u out .
  • multiple estimation law modules can feed multiple mapping functions, each mapping function approximating different ones of the control laws discussed previously, and again, a selector module can select a one or combination of possible control signals, u se , as the control, u out .
  • the estimated system outputs, y est_se corresponding to each of these, can be used in the selector module to select the one or a combination of the possible control signals, u se , as the control, u out .
  • the estimation law module can use any number of estimation laws, such as, but not limited to, Estimation Laws 1-7 previously discussed, though they typically are a function of the estimation error, ⁇ , which can be based on a difference between two or more of r, y meas , and y est_se .
  • the estimation laws are also typically a function of the input regressor, ⁇ .
  • Some estimation laws may include an adaptation gain, that controls an influence that adaptation has on the control, u out .
  • FIGs. 51-53 illustrate components of an adaptive engine implementing a mapping function to enable the adaptive engine to operate on legacy hardware that may have limited processing resources. For instance, where the FPGA previously discussed as processing the control laws (or control portion of the nonlinear model) is not available or has insufficient processing power to perform these functions, FIGs. 51-53 may provide a strong alternative.
  • FIG.50 illustrates the mapping function 5002A as used during the boot up phase discussed relative to FIGs.49 and 50.
  • the mapping function 5002A can provide a possible control signal, u se , based on a system output measurement of the one or more actuators or a power system controlled by the one or more actuators. This means of generating the possible control signal, u se , which may be provided to the one or more actuators as the control, u out , can be repeated until the possible control signal, u se , exceeds a zero threshold.
  • the mapping function 5002A can be related to a nonlinear model via an empirical study of the power system.
  • mapping function 5002B can then operate as part of a larger adaptive engine as shown in FIGs.52 or 53.
  • the mapping function 5002B shown in FIGs.52 and 53 can be a distinct mapping function from the one shown in FIG.51.
  • the mapping functions 5002B and 5002C can also be related to the nonlinear model via an empirical study of the power system. As seen, these two regions of the mapping function or distinc t mapping functions have distinct operation: the first provides u se in terms of y meas and the second provides u se in terms of ⁇ .
  • the estimation portion 808 may not be needed.
  • the estimation portion 808 produces the estimated system output, y est_se , corresponding to each possible control signal, u se , and this output has two functions: (1) to help a selector module in selecting a best or a best combination of possible control signals, u se , as the control, u out ; and (2) to aid in calculating an estimation error,
  • a selector module is not needed because the possible control signal, u se , is provided directly to the one or more actuators, and where the estimation error, is found using a form that does not use y est_se (e.g., instead using
  • the estimation portion 808 may be superfluous and can be excluded.
  • mapping function 5002C in FIG.53 can also be optional for these same reasons.
  • FIG. 52 operates as described in FIG. 8A, and thus reference can be made to that figure and the corresponding description for an appreciation of the remainder of FIG.52.
  • the alternative shown in FIG.53 is also very similar to FIG.8A, but here replaces the estimation portion 808 of the nonlinear model with an additional region of the mapping function 5002C (or a distinct mapping function).
  • This mapping function 5002C provides an estimated system output, y est_se , corresponding to a possible control signal, u se , based on inputs that include the estimated model parameter tensor, ⁇ , the structure of the time-varying linear system, W m , and optionally the input regressor, ⁇ .
  • the specific inputs used depend on the form of the nonlinear model being used.
  • FIGs.51-53 do not use a control law module, the mapping function 5002A, 5002B, and optionally 5002C can still be developed to implement a control law.
  • mapping functions 5002A, 5002B, and optionally 5002C can produce virtually the same possible control signals, u se , as the control law modules or sub-engines described earlier in this disclosure, including the TLMC, TARC, L1, Adaptive PID, ATIMC, and ATFC. Admittedly, speed and other parameters will be sacrificed by implementing the control laws in the mapping functions as compared to the control law modules previously described. However, where hardware is limiting, the solutions provided in FIGs. 49-53 still provide a worthy improvement over existing adaptive controllers.
  • FIG.48 shown is a block diagram depicting physical components that may be utilized to realize the adaptive engine according to an exemplary embodiment.
  • a display portion 4812 and nonvolatile memory 4820 are coupled to a bus 4822 that is also coupled to random access memory (“RAM") 4824, a processing portion (which includes N processing components) 4826, an optional field programmable gate array (FPGA) 4827, and a transceiver component 4828 that includes N transceivers.
  • RAM random access memory
  • FPGA field programmable gate array
  • FIG. 48 represent physical components, FIG. 48 is not intended to be a detailed hardware diagram; thus many of the components depicted in FIG. 48 may be realized by common constructs or distributed among additional physical components. Moreover, it is contemplated that other existing and yet-to-be developed physical components and architectures may be utilized to implement the functional components described with reference to FIG.48. For instance, while the RAM 4824 may take the form of a TSP-RAM in some instances, other forms of RAM can also be implemented.
  • frame resynthesizer may be implemented in the processing portion 4826 (e.g., a CPU) due to hardware limitations in today’s FPGAs
  • future FPGAs or similar-type resources may be able to perform both the functions of the frame resynthesizer, estimation law modules, control law modules, selector module, and the control and estimation portions of the nonlinear model.
  • future neural networks or quantum computing may enable a neural-network enabled processor or quantum computer to perform all processes of the adaptive engine without splitting functionality between different processing resources.
  • This display portion 4812 generally operates to provide a user interface for a user, and in several implementations, the display is realized by a touchscreen display.
  • the nonvolatile memory 4820 is non-transitory memory that functions to store (e.g., persistently store) data and processor-executable code (including executable code that is associated with effectuating the methods described herein).
  • the nonvolatile memory 4820 includes bootloader code, operating system code, file system code, and non-transitory processor- executable code to facilitate the execution of methods described with reference to FIGs.7, 9, 32, 47, and 49 described further herein.
  • the non-transitory processor-executable code could facilitate execution of steps used to carry out adaptation of the nonlinear model including steps for identifying frames, selecting a structure of W m at each frame, and adapting ⁇ at each control sample to produce a control u out that is tailored to specific operating regimes and instability challenges.
  • the nonvolatile memory 4820 is realized by flash memory (e.g., NAND or ONENAND memory), but it is contemplated that other memory types may be utilized as well. Although it may be possible to execute the code from the nonvolatile memory 4820, the executable code in the nonvolatile memory is typically loaded into RAM 4824 and executed by one or more of the N processing components in the processing portion 4826.
  • the N processing components in connection with RAM 4824 generally operate to execute the instructions stored in nonvolatile memory 4820 to enable adaptation.
  • non-transitory, processor-executable code to effectuate the methods described with reference to FIGs.7, 9, 32, 47, and 49 may be persistently stored in nonvolatile memory 4820 and executed by the N processing components in connection with RAM 4824.
  • the processing portion 4826 may include a video processor, digital signal processor (DSP), micro-controller, graphics processing unit (GPU), or other hardware processing components or combinations of hardware and software processing components (e.g., an FPGA or an FPGA including digital logic processing portions).
  • the processing portion 4826 may be configured to effectuate one or more aspects of the methodologies described herein (e.g., the methods described with reference to FIGs. 7, 9, 32, 47, and 49).
  • non-transitory processor-readable instructions may be stored in the nonvolatile memory 4820 or in RAM 4824 and when executed on the processing portion 4826, cause the processing portion 4826 to perform adaptation using a bifurcated nonlinear model.
  • non-transitory FPGA-configuration- instructions may be persistently stored in nonvolatile memory 4820 and accessed by the processing portion 4826 (e.g., during boot up) to configure the hardware- configurable portions of the processing portion 4826 to effectuate the functions of the adaptive engine.
  • the input component 4830 operates to receive signals (e.g., the reference signal, r) that are indicative of one or more aspects of a desired waveform or desired performance of the power system.
  • the signals received at the input component may include, for example, setpoints or power delivery parameters or a plasma processing recipe.
  • the output component generally operates to provide one or more analog or digital signals to effectuate an operational aspect of the adaptive engine.
  • the output portion 4832 may provide the control, u out , to the one or more actuators.
  • the depicted transceiver component 4828 includes N transceiver chains, which may be used for communicating with external devices via wireless or wireline networks.
  • Each of the N transceiver chains may represent a transceiver associated with a particular communication scheme (e.g., WiFi, Ethernet, Profibus, etc.).
  • a particular communication scheme e.g., WiFi, Ethernet, Profibus, etc.
  • Some portions are presented in terms of algorithms or symbolic representations of operations on data bits or binary digital signals stored within a computing system memory, such as a computer memory. These algorithmic descriptions or representations are examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art.
  • An algorithm is a self -consistent sequence of operations or similar processing leading to a desired result. In this context, operations or processing involves physical manipulation of physical quantities. Typically, although not necessarily, such quantities may take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared or otherwise manipulated.
  • aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Feedback Control In General (AREA)

Abstract

La présente invention concerne des systèmes, des procédés et un appareil pour des modules de lois d'estimation d'un moteur adaptatif. Les modules de lois d'estimation estiment des tenseurs de paramètres de modèle estimés pour chaque échantillon de commande à l'intérieur d'une trame. Ces tenseurs de paramètres de modèle estimés sont transmis à des modules de lois de commande et utilisés pour déterminer des signaux de commande possibles et sont transmis à une partie d'estimation d'un modèle non linéaire du système, conjointement avec les signaux de commande possibles, pour estimer des sorties de système estimées correspondant à chacun des signaux de commande possibles. Un module sélecteur peut ensuite sélectionner une commande en tant qu'un des signaux de commande possibles ou qu'une combinaison d'au moins deux des signaux de commande possibles, sur la base de la comparaison des sorties de système estimées correspondantes à un signal de référence, et/ou des sorties de système mesurées.
PCT/US2023/069393 2022-06-30 2023-06-29 Modules de lois d'estimation pour moteur adaptatif WO2024006919A1 (fr)

Applications Claiming Priority (20)

Application Number Priority Date Filing Date Title
US17/855,683 US20240006151A1 (en) 2022-06-30 2022-06-30 Estimation law modules for an adaptive engine
US17/855,542 2022-06-30
US17/855,714 2022-06-30
US17/855,698 US20240004353A1 (en) 2022-06-30 2022-06-30 Adaptive lyapunov controller
US17/855,566 US20240006169A1 (en) 2022-06-30 2022-06-30 Adaptive engine with identity mapping modules
US17/855,577 2022-06-30
US17/855,587 2022-06-30
US17/855,566 2022-06-30
US17/855,600 2022-06-30
US17/855,683 2022-06-30
US17/855,587 US20240019819A1 (en) 2022-06-30 2022-06-30 Adaptive engine for tracking and regulation control
US17/855,542 US20240019818A1 (en) 2022-06-30 2022-06-30 Adaptive pid controller
US17/855,577 US20240012370A1 (en) 2022-06-30 2022-06-30 Adaptive fuzzy controller
US17/855,663 2022-06-30
US17/855,600 US20240012371A1 (en) 2022-06-30 2022-06-30 Adaptive engine with sliding mode predictor
US17/855,644 2022-06-30
US17/855,714 US20240004354A1 (en) 2022-06-30 2022-06-30 Adaptive engine with pre-processed control laws
US17/855,663 US20240014017A1 (en) 2022-06-30 2022-06-30 Selector and combiner for control law modules of an adaptive engine
US17/855,698 2022-06-30
US17/855,644 US20240012372A1 (en) 2022-06-30 2022-06-30 Adaptive engine with bifurcated nonlinear model

Publications (1)

Publication Number Publication Date
WO2024006919A1 true WO2024006919A1 (fr) 2024-01-04

Family

ID=89381448

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2023/069393 WO2024006919A1 (fr) 2022-06-30 2023-06-29 Modules de lois d'estimation pour moteur adaptatif

Country Status (1)

Country Link
WO (1) WO2024006919A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040024750A1 (en) * 2002-07-31 2004-02-05 Ulyanov Sergei V. Intelligent mechatronic control suspension system based on quantum soft computing
US20180017044A1 (en) * 2016-07-15 2018-01-18 Wesley Faler Plasma Propulsion System Feedback Control
US20180119629A1 (en) * 2016-10-27 2018-05-03 Rolls-Royce Corporation Model reference adaptive controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040024750A1 (en) * 2002-07-31 2004-02-05 Ulyanov Sergei V. Intelligent mechatronic control suspension system based on quantum soft computing
US20180017044A1 (en) * 2016-07-15 2018-01-18 Wesley Faler Plasma Propulsion System Feedback Control
US20180119629A1 (en) * 2016-10-27 2018-05-03 Rolls-Royce Corporation Model reference adaptive controller

Similar Documents

Publication Publication Date Title
Plett Adaptive inverse control of linear and nonlinear systems using dynamic neural networks
Normey-Rico et al. Dead-time compensators: A survey
Ławryńczuk Explicit nonlinear predictive control algorithms with neural approximation
Erenturk Nonlinear two-mass system control with sliding-mode and optimised proportional–integral derivative controller combined with a grey estimator
Khaloozadeh et al. State covariance assignment problem
Rauh et al. Interval-based sliding mode control and state estimation for uncertain systems
US20240019818A1 (en) Adaptive pid controller
US20240006151A1 (en) Estimation law modules for an adaptive engine
US20240004353A1 (en) Adaptive lyapunov controller
US20240012371A1 (en) Adaptive engine with sliding mode predictor
US20240019819A1 (en) Adaptive engine for tracking and regulation control
US20240006169A1 (en) Adaptive engine with identity mapping modules
US20240014017A1 (en) Selector and combiner for control law modules of an adaptive engine
US20240004354A1 (en) Adaptive engine with pre-processed control laws
US20240012370A1 (en) Adaptive fuzzy controller
US20240012372A1 (en) Adaptive engine with bifurcated nonlinear model
Tsai et al. A modified NARMAX model-based self-tuner with fault tolerance for unknown nonlinear stochastic hybrid systems with an input–output direct feed-through term
WO2024006919A1 (fr) Modules de lois d'estimation pour moteur adaptatif
Senkel et al. Interval-based sliding mode observer design for nonlinear systems with bounded measurement and parameter uncertainty
Leśniewski Discrete time reaching law based sliding mode control: a survey
Alkhafaji et al. A novel PID robotic for speed controller using optimization based tune technique
Butcher et al. Data‐driven tuning of linear parameter‐varying precompensators
JPWO2008018496A1 (ja) 制御方法および制御装置
Altin et al. ℒ 1 adaptive control in an iterative learning control framework: Stability, robustness and design trade-offs
Ding et al. Real-time optimal feedback control of switched autonomous systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23832595

Country of ref document: EP

Kind code of ref document: A1