The invention generally relates to control systems, and more particularly, to systems and methods for reducing the effects of disturbances for the system.
A dynamic system, such as a gas turbine, wind turbine, an engine, a motor, or a vehicle, has at least one input and provides at least one output based on the input(s). However, the dynamic system is subjected to a plurality of disturbances, which are inputs to the dynamic system that may have an undesirable effect on the output(s) of the system.
Currently, most system regulator or controller designs either neglect the effect of the disturbance, design ad-hoc or heuristic logic schemes such as kickers and gain modifiers, or design feed-forward controllers based on steady state relationships to account for the disturbance effect. Most of the ad-hoc designs account for only small changes in the disturbance or assume a fixed relationship for the disturbances. There is need for disturbance rejection that can account for the more diverse disturbances and generally be a more dynamic disturbance rejection system.
In one aspect, a method for reducing an effect of a disturbance signal on an output of a dynamic system is described.
One method for processing a compensated control signal for reducing disturbance effects on a dynamic system, comprises receiving at least one input command signal, obtaining state information about the system, processing at least one disturbance signal, and computing a feedthru gain, a feedback gain, and a feedforward gain. The feedthru gain is computed from the command signal, the feedback gain is computed from the state information, and the feedforward gain is computed from the disturbance signal, wherein each is computed using inverse system dynamics. The compensated control signal is processed using at least one of the feedthru gain, the feedback gain, and the feedforward gain wherein the compensated control signal is then transmitted to the dynamic system.
In certain aspects, such as for a steady state condition, the processing of the compensated control signal uses only the feedforward gain and the feedback gain. There should be no change in the control signal and/or the feedthru output can be set to zero or otherwise removed from the processing.
In one embodiment, the disturbance signal is from at least one of a measured system disturbance and an estimated system disturbance. In addition, computing of the feedforward gain, feedback gain or feedthru gain can be online processing, offline processing, scheduled processing, and/or adaptive online processing.
One embodiment for computing the feedforward gain comprises calculating a difference between two sampled disturbance values during consecutive sampling periods and generating a disturbance signal increment, wherein the disturbance signal increment is used in computing of the feedforward gain.
The state information in certain aspects can be obtained from at least one of a measured state value and an estimated state value. This includes multiple measured and/or state values in the state information.
The computing of the feedthru gain, the feedback gain and the feedforward gain, in one aspect, each comprises computing linear models and generating a respective feedthru gain matrix, a feedback gain matrix and a feedforward gain matrix. The linear models can use at least one of transfer functions, state space models, and analytic models.
In one embodiment the compensated control signal is processed according to uk=uk−1+K1{tilde over (v)}k+K3Fk+Kd{tilde over (d)}k, wherein K1 is the feedthru gain, K3 is the feedback gain, and Kd is the feedforward gain. In another embodiment the compensated control signal is processed according to uk=uk−1+K5{tilde over (v)}k+K7Fk+Ke{tilde over (d)}k, wherein K5 is the feedthru gain, K7 is the feedback gain, and Ke is the feedforward gain.
In accordance with one aspect a dynamic disturbance rejection device reduces an effect of a disturbance signal on an output of a controlled system. The device comprises at least one input command signal wherein the command signal effects one or more parameters of the controlled system. There is a feedback section with state information about the controlled system, wherein the feedback section generates a feedback gain output using inverse system dynamics. There is a feedforward section with disturbance information, wherein the feedforward section generates a feedforward output using inverse system dynamics. There is also a feedthru section coupled to the command signal, wherein the feedforward section generates a feedforward output using inverse system dynamics. A processing unit is coupled to the feedthru section, the feedback section and the feedforward section, wherein the processing unit processes a compensated control signal for the controlled system from the feedthru output, the feedback output and the feedforward output. The processing unit can be any form of processing capability and the coupling can be operatively coupled or otherwise allowing for the data transfer. The device according to one implementation comprises at least subtractors, adders, and multipliers.
The device, according to one aspect, further comprising one or more sensors coupled to the controlled system, wherein the sensors provide the state information and the disturbance information.
The feedback section in one embodiment is a full state feedback controller.
One embodiment for a system for reducing disturbance effects on a dynamic apparatus, comprises receiving at least one of command inputs, state feedback, and disturbance values, calculating an incremental disturbance by subtracting a past disturbance value from a current disturbance value, processing a feedback gain matrix, a feedforward gain matrix, and a feedthru gain matrix by inverse system dynamics. A feedforward output is produced by multiplying the incremental disturbance by the feedforward gain matrix. A feedback output is produced by multiplying the state feedback by the feedback gain matrix. A feedthru output is produced by multiplying the command inputs by the feedthru gain matrix. The feedthru output, feedback output, and feedforward output are processed to generate a compensated control signal, wherein the compensated control signal is transmitted to the dynamic apparatus.
One aspect of the dynamic apparatus is that is can be a single-input-single-output, multiple-input-multiple-output, single-input-multiple-output, or multiple-input-single-output.
According to one embodiment, the system provides for reducing or eliminating the impact of disturbances to dynamic systems. More specifically, the systems and methods describe rejecting or attenuating the influence of measured or estimated system disturbances on system output(s).
There are many systems that incorporate some form of control theory across many industries, such as aerospace, marine, automotive, paper, plastics, food, and pharmaceutical, and across many disciplines such as mechanical, chemical, electrical, and magnetic. These controlled systems can have single or multiple control inputs as well as single or multiple regulated or controlled outputs. According to one embodiment, it is desired to regulate or control one or more of the system or process outputs by using one or more of the system control inputs. The signals used to regulate or control the process outputs of the dynamic system are called control inputs. Inputs other than the control inputs that may have an effect on or disturb the controlled outputs are disturbances to the system. When the disturbance inputs change value or vary, they tend to move the controlled output away from the desired or tracked value. This disturbance may, for example, reduce the steady state and transient performance, stability, speed of response, accuracy, and/or efficiency of the system or process.
In some aspects, this technique attenuates or cancels the influence of the disturbance input(s) on the desired output(s). One benefit of the dynamic disturbance rejection is an increased tracking or regulation performance for the systems including combinations of single-input-single-output (SISO), multiple-input-multiple-output (MIMO), as well as hybrid cases of single-input-multiple-output (SIMO) and multiple-input-single-output (MISO). There may be single or multiple disturbance input signals to the system in each of these embodiments.
The DDRS 14 also includes processing capabilities such as those in a controller, a computer, a processor, a microcontroller, a microcomputer, a programmable logic controller, an application specific integrated circuit, and other programmable circuits.
In general, the dynamic system 16 a physical machine, device or assembly that can change its operating conditions or state based on changes to inputs to the system. Some examples of a dynamic system 16 includes, but is not limited to, an engine, such as, an internal combustion engine, a diesel engine, or a gas turbine used in power plants or alternatively aircraft propulsion, and vehicles. Examples of vehicles include at least car, airplanes, trucks, and motorcycles. The dynamic system can also be assemblies or subassemblies such as a fuel tank or water tank of an engine, such that there may be multiple dynamic systems integrally operating on a larger system.
By way of further example, the dynamic system 16 can be employed in various types of control systems that incorporate any number of elements such electrical devices, mechanical devices, electro-mechanical devices, magnetic devices and/or a chemical substances. The dynamic system 16 may be implemented in, but is not limited to being implemented in various industries such as aerospace industry, marine industry, paper industry, automotive industry, plastic industry, food industry, and/or pharmaceutical industry.
Referring again to
According to one embodiment, controller 12 receives a discrete controller input signal 18 (Rk) that may come from a supervisory system, such as a person or supervisory computer. The discrete controller input signal 18 can be via an input device or some processed signal that may depend upon other variables. Controller 12 receives the discrete controller input signal 18 (Rk), which is a signal in a discrete time domain, and processes the signal 18 to output a processed command signal or discrete controller output signal 20 or vk, which is also a signal in the discrete time domain. The variable k is an integer. Each value of k represents a sampling period ts described below. For example, k=1 represents a first sampling period and k=2 represents a second sampling period. In another embodiment, there is no controller 12 and the command signal 20 is a direct input to the DDRS 14. As used herein, the term command signals 20 shall refer to those discrete controller input signal 18 processed by the controller 12 and to other command signals without controller 12 processing.
In one aspect, controller 12 receives controller input signal 18 from a person via an input device, or from a supervisory computer across a communication device, or from a supervisory algorithm in-situ with the discrete controller 12. An example of the input device includes a mouse, keyboard, or any other analog or digital communication device. An example of a process performed by controller 12 on discrete controller input signals 18 include integration, filtering, and/or determining a rate of change of information for the discrete controller input signal 18. The command signal 20 may itself be part of a control system that incorporates some other feedback and sensor processing.
One example of discrete controller input signal 18 includes a signal representative of a thrust demand, which is an amount of thrust, of a propulsion system and a power demand, which is an amount of power, of a power plant. Other examples of discrete controller input signal 18 include a signal representative of a rate of change of an altitude and a rate of change of speed. Examples of command signals 20 include a signal representative of a rate of the thrust demand, a rate of change of the power demand, a rate of change of fuel flow, and a rate of change of an exhaust nozzle area.
The command signal 20 (vk) in one aspect is a processed discrete controller input signal 18 that takes into account the parameters or features about the system. In a further embodiment, the controller 12 is not a separate unit but rather a separate function that performs some processing on the discrete controller input signal 18. In another embodiment, the command signal 20 is independent of the controller 12.
In this embodiment, DDRS 14 receives command signal 20 and discrete disturbance signal 22 or dk, which is a signal in the discrete time domain. As noted herein, the reference to a disturbance signal 22 can represent a single disturbance signal or multiple disturbance signals.
The DDRS 14 also receives some state input 28 that can be a single state signal or multiple state signals. The DDRS 14 reduces an effect of the disturbance signal 22 on the dynamic system output signal 24 or yk, by generating a DDRS output signal 26 or compensated control signal uk.
DDRS 14 processes the one or more command signals 20, the one or more state input signals 28, along with the one or more disturbance signals 22 using various feedthru, feedback and feedforward processing techniques detailed herein. The feedthru, feedback and feedforward processing is accomplished by inverse system dynamics. In a general sense, inverse system dynamics refers to a technique for the estimation of structural input forces. In one time domain example, a non-causal inverse structural filter uses input data and response data to estimate input forces. This technique allows pseudo-real-time estimation of input forces for non-collocated sensor/actuator pairs for multi-input/multi-output systems. The term “inverse” refers to the fact that the roles of input and output are reversed from the usual forward system structural dynamics problem. An advantage of this approach is that it typically only requires measured response data.
The processing typically requires some knowledge about the dynamic system 16, which in one embodiment is state information 28 that allows for the DDRS to alter the command signals 20 using the disturbance signals 22 in order to generate the compensated control signals 26. In one aspect, the state input 28 is updated continuously based upon measurements or estimates to reflect the current condition of the system. In another aspect, the state input 28 is obtained from the dynamic system 16 wherein the measured or sensed system information 30 is used by the DDRS 14.
State information can be generally described as the current operational system condition. For example, state information for an energy storing system of a flywheel can be described by its current rotational velocity. Examples of discrete dynamic system output signal 24 include a signal representative of an engine pressure ratio (EPR) across an engine within dynamic system 16, a thrust output by dynamic system 16, a speed of dynamic system 16, a power of dynamic system 16, and/or an increase or decrease in a level of fluid within a fluid tank. Examples of discrete disturbance signal 22 include a signal representative of a flow of air, a flow of fuel, a flow of water, or a flow of chemical into dynamic system 16, at least one environmental ambient condition, such as humidity or condensation, due to weather or an operating condition surrounding dynamic system 16, a temperature or alternatively pressure of the atmosphere surrounding dynamic system 16, a flow of energy from an actuator or alternatively an effector into dynamic system 16, and/or a variable geometry, such as a plurality of variable stator vanes, a plurality of variable guide vanes, a plurality of variable by-pass ratios, which change basic physical relationships in dynamic system 16.
According to one embodiment, a sensor, such as a position sensor, a flow sensor, a temperature sensor or a pressure sensor, measures a parameter, such as a position, a flow, a temperature or alternatively a pressure, of a sub-system, such as a tire or an engine, within dynamic system 16 may be used to generate discrete disturbance signal 22. Alternatively, discrete disturbance signal 22 can be estimated or calculated by an estimation algorithm executed by a controller. For example, discrete disturbance signal 22 can be a temperature calculated or estimated, by the estimation algorithm and the estimation algorithm calculates or estimates the temperature by using information from one or a combination of sensors including a speed sensor, a pressure sensor that senses a pressure at a location within or alternatively outside dynamic system 16, and a plurality of temperatures sensors that sense temperatures at a plurality of locations in dynamic system 16. It is noted that in an alternative embodiment, at least one of controller 12 and DDRS 14 are coupled to a memory device, such as a random access memory (RAM) or a read-only memory (ROM), and an output device, such as a display, which can be a liquid crystal display (LCD) or a cathode ray tube (CRT). This allows for a visual display of the system dynamics to a user and may include manual control of certain parameters.
Dynamic apparatus 50 in this example includes an integrator 100 and a plant 102. An example of plant 102 includes an engine, such as a turbine engine or a car engine, and/or an electronic commutated motor. Integrator 100 receives and integrates discrete DDRS output signal 56 to generate an integrator output signal 104. Plant 102 receives the integrator output signal 104 and generates the plant output signals 105, 106 based on integrator output signal 104 and disturbances 55. For example, a turbine engine outputs thrust based on a signal representing an amount of fuel flow to the turbine engine and based on its environmental operating conditions. As another example, a vehicle engine outputs rotations per minute (RPM) of a vehicle based on a signal representing an amount of fuel flowing to the vehicle engine and the conditions in which the vehicle is operating.
The disturbances 55 in one example reflect conditions or circumstances that would affect the dynamic apparatus 50 operations if not accounted for by the compensated control signals 56 from the DDRS 14. For example, there could be servo system that incorporates various actuators, switches, and other control devices that assist in the functionality of the dynamic system.
In one embodiment the disturbance 55 is coupled to one or more disturbance sensors 53 that generate the disturbance signals 58 used by the DDRS 14 of
The apparatus 50 can receive a single or plurality of dynamic apparatus disturbances 55. In one embodiment each dynamic apparatus input signal 56 is an example of DDRS compensated control signal 26 (shown in
Referring to
The feedback section 220 uses state input information 215 in order to utilize information about the system to calculate the feedback gain using inverse system dynamics and also the system response to the compensated control signals 255. The feedback section 220 can produce estimated values such as by using lookup tables, it can process calculated values based on formulae, it can used sensed measurements or values, and any combination thereof. According to one embodiment, the feedback section 220 is a dynamic feedback based inversion controller that uses inverse system dynamics processing.
The feedforward section 230 uses the disturbance signals 210 to provide an indication of factors that may affect the system performance unless otherwise compensated for in the DDRS 250. According to one embodiment, the feedforward section uses inverse system dynamics processing to calculate the feedforward gain. According to one embodiment, the feedforward section is a dynamic feedforward based inversion controller that uses inverse system dynamics processing.
The feedthru section 235 processes the input command signals 205 (Vk) and once again uses inverse system dynamics processing in one embodiment to compute the feedthru gain. In a steady state condition or one in which the dynamic system would be static, the DDRS would operate without using the feedthru section 235 outputs.
According to one embodiment, the DDRS processing section 225 uses the feedforward gain, the feedback gain, and the feedthru gain to alter the command input signals 205 into the compensated control signals 255 that account for the disturbance effects.
While depicted as separate items, the feedback section 220, feedforward section 230, feedthru section 235 and processing unit 225 can be integrated or disparate depending upon the design criteria. Similarly, while the DDRS is shown as a separate and distinct unit, it can be integrated with the dynamic system.
For illustrative purposes, the DDRS describes or models the dynamic system as a set of continuous time nonlinear equations that may be represented as follows:
{dot over (x)}
t=ƒ(xt,ut,dt) (1)
y
t
=h(xt,ut,dt) (2)
where xt is a state of the system, such as a level of fluid within the fluid tank, an engine speed, or an engine temperature, t is continuous time, {dot over (x)}t is a derivative, with respect to the time t, of the state xt, ut is a DDRS output signal, which is a continuous form of the discrete DDRS output signal uk, dt is a disturbance signal, which is a continuous form of the discrete disturbance signal dk, and yt is a dynamic system output signal, which is a continuous form of the discrete dynamic system output signal yk. For example, uk is generated by sampling ut, dk is generated by sampling dt, and yk is generated by sampling yt. In one embodiment, f and h is each a nonlinear function. An example of the state xt is a temperature of the turbine engine and/or a temperature of the car engine. Other examples of the state xt include a speed of a rotating mass, a pressure, an amount of heat, an amount of potential energy, and/or an amount of kinetic energy contained in an energy storing element or device located within dynamic system. The state information can be sensed or measured and can also be estimated or theoretically derived based on certain state information.
The DDRS defines a nominal state value
x
t
=
t
+{tilde over (x)}
t. (3)
where {tilde over (x)}t is an increment to the nominal state value
u
t
=ū
t
+ũ
t. (4)
where ũt is an increment to the nominal input value ūt. Moreover, the DDRS defines a nominal output value, which is a particular value at the reference time of the dynamic system output signal yt, and defines an incremental output variable {tilde over (y)}t for dynamic system output signal yt as:
y
t
=
t
+{tilde over (y)}
t. (5)
where {tilde over (y)}t is an increment to the nominal output value
d
t
=
t
+{tilde over (d)}
t. (6)
where {tilde over (d)}t is an increment to the nominal disturbance value
The DDRS linearizes the function f represented by equation (1) by applying:
where {dot over (x)}t is a derivative, with respect to time t, of the state xt,
is a partial derivative of the function f, with respect to xt and is evaluated at
is a partial derivative of the function f, with respect to ut and is evaluated at
is a partial derivative of the function f, with respect to dt and is evaluated at
Moreover, the DDRS expands the function h represented by equation (2) by applying:
where
is a partial derivative of the function h, with respect to xt and is evaluated at
is a partial derivative of the function h, with respect to ut and is evaluated at
is a partial derivative of the function h, with respect to dt and is evaluated at
The DDRS represents a change in the state xt as a function of a change in the DDRS output signal ut and a change in the disturbance signal dt by representing the derivative {tilde over ({dot over (x)})}t of the incremental state variable {tilde over (x)}t as a function of the incremental disturbance variable {tilde over (d)}t and a function of the incremental input variable ũt as:
The DDRS derives equation (9) by making {tilde over ({dot over (x)})}t the subject of equation (7). Moreover, the DDRS represents a change in the dynamic system output signal yt as a function of a change in the DDRS output signal ut and a change in the disturbance signal dt by representing the incremental output variable {tilde over (y)}t as a function of the incremental disturbance variable {tilde over (d)}t and a function of the incremental input variable ũt as:
The DDRS derives equation (10) by making {tilde over (y)}t the subject of equation (8).
The DDRS substitutes
substitutes Bcu instead of
and Bcd instead of
in equation (9) to generate:
{tilde over ({dot over (x)})}
t
=A
c
{tilde over (x)}
t
+B
cu
ũ
t
+B
cd
{tilde over (d)}
t+ƒ (11)
It is noted that
t
=h(
Moreover, the DDRS substitutes
a matrix Du instead of
and a matrix Dd instead of
in equation (10) to generate:
{tilde over (y)}
t
=C{tilde over (x)}
t
+D
u
ũ
t
+D
d
{tilde over (d)}
t (13)
The DDRS generates a discrete time model of equation (11) by substituting {tilde over (x)}k instead of {tilde over (x)}t, ũk instead of ũt, {tilde over (d)}k instead of {tilde over (d)}t to generate:
{tilde over (x)}
k+1
=A{tilde over (x)}
k
+B
u
ũ
k
+B
d
{tilde over (d)}
k
+F
k (14)
where the DDRS calculates a matrix A as being equal to I+Acts, calculates a matrix Bu to be equal to Bcuts, a matrix Bd to be equal to Bcdts, Fk to be equal to ƒ(
Furthermore, the DDRS generates a discrete time model of equation (13) by substituting {tilde over (x)}k instead of {tilde over (x)}t, ũk instead of ũt, and {tilde over (d)}k instead of {tilde over (d)}t in equation (13) to generate:
{tilde over (y)}
k
=C{tilde over (x)}
k
+D
u
ũ
k
+D
d
{tilde over (d)}
k (15)
where {tilde over (y)}k is an incremental discrete dynamic system output signal of the dynamic system, where {tilde over (y)}k is represented by a discrete form, yk=
{tilde over (y)}
k+1
−{tilde over (y)}
k
=t
s
{tilde over (v)}
k (16)
where {tilde over (y)}k+1 is a future incremental discrete dynamic system output from the dynamic system one sample after the current sample {tilde over (y)}k is output from the dynamic system, {tilde over (v)}k is an incremental discrete controller output signal obtained as a difference between the discrete controller output signal vk and a nominal discrete controller output signal
The DDRS generates {tilde over (y)}k+1 from equation (15) as:
{tilde over (y)}
k+1
=C{tilde over (x)}
k+1
+D
u
ũ
k+1
+D
d
{tilde over (d)}
k+1 (17)
where {tilde over (d)}k+1 can also be represented as a difference between dk+1 and dk, where dk+1 is a discrete disturbance signal input to dynamic system during a sampling period k+1, and is generated one sampling period after dk is generated, and ũk+1 can also be represented as a difference between uk+1 and uk, where uk+1 is a discrete DDRS output signal output by the DDRS during a sampling period k+1, and is generated one sampling period after uk is generated. The DDRS substitutes {tilde over (x)}k+1 from equation (14) and Du=0 for the relative degree one system into equation (17) to generate:
{tilde over (y)}
k+1
=CA{tilde over (x)}
k
+CB
u
ũ
k
+CB
d
{tilde over (d)}
k
+CF
k
+D
d
{tilde over (d)}
k+1 (18)
The DDRS further substitutes Du=0 and equations (15) and (18) into the first desired response, represented by equation (16), to generate:
CA{tilde over (x)}
k
+CB
u
ũ
k
+CB
d
{tilde over (d)}
k
+D
d
{tilde over (d)}
k+1
+CF
k
−C{tilde over (x)}
k
−D
d
{tilde over (d)}
k
=st{tilde over (v)}
k (19)
The DDRS solves for ũk as
ũ
k
=|CB
u|−1{ts{tilde over (v)}k+(C−CA){tilde over (x)}k+(Dd−CBd){tilde over (d)}k−Dd{tilde over (d)}k+1−CFk} (20)
The DDRS defines xk=
x
k
=
k
+{tilde over (x)}
k (21)
to generate
{tilde over (x)}k=0 (22)
where
The DDRS substitutes 2{tilde over (d)}k instead of {tilde over (d)}k+1 in equation (20) and substitutes equation (22) into equation (20) to generate:
ũ
k
=|CB
u|−1{ts{tilde over (v)}k−CFk+(−Dd−CBd){tilde over (d)}k} (23)
The DDRS generates the discrete DDRS output signal uk as being:
u
k
=u
k−1
+ũ
k (24)
where uk−1 is a discrete DDRS output signal output by the DDRS at k−1 and generated one sampling period before uk is output by the DDRS, and ũk is a discrete form in the discrete time domain of ũt. The DDRS substitutes equation (23) into equation (24), substitutes K1 instead of |CBu|−1ts in equation (24), K3 instead of −|CBu|−1C in equation (24), and Kd instead of |CBu|−1(−Dd−CBd) in equation (24) to generate:
u
k
=u
k−1
+K
1
{tilde over (v)}
k
+K
3
F
k
+K
d
{tilde over (d)}
k (25)
The DDRS computes Kd at least one of before and during energization of the dynamic system. For example, the DDRS computes Kd on-line in real time while the dynamic system is being operated by a power source. As another example, the DDRS computes Kd off-line before the dynamic system is provided power by the power source. The DDRS changes uk at the same time the disturbance signal dt is input to the dynamic system. Accordingly, an impact of the disturbance signal dt on the dynamic system is reduced. It should be understood that the equations are for illustrative purposes of an example for the processing of uk and other inverse system dynamic formulations can be used for processing.
As an alternative to formulating the first desired response, the DDRS formulates one form of a second order desired response as:
{tilde over (y)}
k+2−(1+α){tilde over (y)}k+1+α{tilde over (y)}k=(1−α)ts{tilde over (v)}k (26)
where
τ is a time constant of the dynamic system, {tilde over (y)}k+2 is an incremental discrete dynamic system output signal, and {tilde over (y)}k+2 can also be represented as a difference between a dynamic system output signal yk+2 output by the dynamic system and yk+1, where yk+2 is sampled during a sampling period k+2 and is generated one sampling period after yk+1 is generated. If the dynamic system is a relative degree two system, the DDRS formulates a desired response of the dynamic system as being the second order desired response. The relative degree two system takes two sample periods to change an output of the dynamic system based on an input to the dynamic system. For example, when an input to the dynamic system is uk, the relative degree one system outputs yk+2, which is two sample periods after yk. The DDRS generates equations (26)-(34) based on the relative degree two system. The relative degree two system is a further example of the dynamic system 16.
The DDRS substitutes CBu=0 in equation (18) to output:
{tilde over (y)}
k+1
=CA{tilde over (x)}
k
+CB
d
{tilde over (d)}
k
+CF
k
+D
d
{tilde over (d)}
k+1 (27)
The DDRS generates {tilde over (y)}k+2 from {tilde over (y)}k+1 of equation (27) as being:
{tilde over (y)}
k+2
=CA{tilde over (x)}
k+1
+CB
d
{tilde over (d)}
k+1
+CF
k+1
+D
d
{tilde over (d)}
k+2 (28)
where {tilde over (d)}k+2 is an incremental discrete disturbance signal and can also be represented as a difference between a discrete disturbance signal dk+2 input to the dynamic system and dk+1, where dk+2 is sampled during a sampling period k+2 and is generated one sampling period after dk+1 is generated, and Fk+1 is generated during a sampling period k+1, which is one sampling period after Fk is generated. The DDRS substitutes equation (14) into equation (28) to generate:
{tilde over (y)}
k+2
=CA{A{tilde over (x)}
k
+B
u
ũ
k
+B
d
{tilde over (d)}
k
+F
k
}+CB
d
{tilde over (d)}
k+1
+CF
k+1
+D
d
{tilde over (d)}
k+2 (29)
The DDRS substitutes equations (15), (27), (29), and Du=0 into equation (26) to generate:
CA
2
{tilde over (x)}
k
+CAB
u
ũ
k
+CAB
d
{tilde over (d)}
k
+CAF
k
+CB
d
{tilde over (d)}
k+1
+CF
k+1
+D
d
{tilde over (d)}
k+2 . . . −(1+α){CA{tilde over (x)}k+CBd{tilde over (d)}k+CFk+Dd{tilde over (d)}k+1}+α{C{tilde over (x)}k+Dd{tilde over (d)}k}=(1−α)ts{tilde over (v)}k (30)
The DDRS solves for ũk in equation (30) to output:
ũ
k
=|CAB
u|−1{(1−α)ts{tilde over (v)}k+[(1+α)CA−CA2−αC]{tilde over (x)}k+[(1+α)C−CA]Fk−CFk+1 . . . . +[(1+α)CBd−CABd−αDd]{tilde over (d)}k+[(1+α)Dd−CBd]{tilde over (d)}k+1−Dd{tilde over (d)}k+2} (31)
When
F
k+1
=t
sƒ(
Equation (32) is calculated, by the DDRS, based on values of the derivative {dot over (x)}t or an estimation algorithm that computes the derivative {dot over (x)}t at the current sample xt. The DDRS substitutes {tilde over (d)}k+1=2{tilde over (d)}k, {tilde over (d)}k+2=3{tilde over (d)}k, and equation (32) into equation (31) to generate:
ũ
k
=|CAB
u|−1{(1−α)ts{tilde over (v)}k+[(1+α)CA−CA2−αC]{tilde over (x)}k+[αC−CA]Fk . . . +[(α−1)CBd+(α−1)Dd−CABd]{tilde over (d)}k} (33)
The DDRS substitutes K5 as being |CABu|−1(1−α)ts, K6 as being |CABu|−1[(1+α)CA−CA2−αC], K7 as being |CABu|−1[αC−CA], Ke as being |CABu|−1[(α−1)CBd+(α−1)Dd−CABd], {tilde over (x)}k=0, and equation (33) into equation (24) to output:
u
k
=u
k−1
+K
5
{tilde over (v)}
k
+K
7
F
k
+K
e
{tilde over (d)}
k (34)
It is noted that {tilde over (x)}k=0 when
It is noted that in an alternative embodiment, if the dynamic system is of a relative degree n, the DDRS formulates an nth order desired response of dynamic system 16, where n is an integer greater than two.
The DDRS calculates the first, second, or alternatively the nth order desired response upon receiving a selection, via the input device, regarding a number, such as 1, 2 or alternatively nth, of a desired response. As an example, upon receiving from the person via the input device that a desired response has a first number, the DDRS applies an Euler's approximation to an integrator:
{dot over (y)}t=vt (35)
where vt is a continuous form of vk.
to generate
y
k+1
−y
k
=t
s
v
k (36)
The DDRS generates an incremental form of equation (36) to output the first order desired response. As another example, upon receiving from the person via the input device that a desired response is second order, the DDRS applies an Euler's approximation to a combination of an integrator and the first order desired response of the dynamic system. The combination is represented as:
τÿt+{dot over (y)}t=vt (37)
where {dot over (y)}t is a derivative, with respect to the time t, of yt, and ÿt is a derivative, with respect to the time t, of {dot over (y)}t. The DDRS applies an Euler's approximation to the combination to generate:
y
k+2−(1+α)yk+1+αyk=(1−α)tsvk (38)
The DDRS generates an incremental form of equation (38) to output the second desired response.
In this example, the feedthru section 570, feedforward section 550 and feedback section 560 are shown. The DDRS 500 can be implemented with various hardware and software elements. The feedback gain matrix 514, the feedthru gain matrix 512 and the feedforward gain matrix 510 are calculated as detailed herein using inverse system dynamics and processed with the computed linear models.
In this depicted example, the DDRS comprises a subtractor 502, a plurality of adders 504 and 506, a plurality of multipliers 508, 510, 512, 514, 516, and 520, and where K1, K3, and Kd are from equation (25). The inverse system dynamics associated with processing K1, K3, and Kd and the implementation in the DDRS are one of the unique attributes.
In this example, multiplier 508 receives the discrete disturbance signal dk and multiples dk with 1/z, which is an inverse z-transform, to output the discrete disturbance signal dk−1. Adder 502 receives the discrete disturbance signal dk and the discrete disturbance signal dk−1, subtracts the discrete disturbance signal dk−1 from the discrete disturbance signal dk to output the incremental discrete disturbance signal {tilde over (d)}k. Multiplier 510 multiplies the incremental discrete disturbance signal {tilde over (d)}k with Kd to output a multiplier output signal 518.
Multiplier 520 multiplies the derivative {dot over (x)}t of the state xt with ts to output Fk. Multiplier 514 receives Fk and multiplies Fk with K3 to output a multiplier output signal 522. Multiplier 512 receives vk and multiplies vk with K1 to output a multiplier output signal 524. Adder 504 receives multiplier output signals 518, 522, and 524, adds the multiplier output signals 518, 522, and 524 to generate an adder output signal 526, which is uk−uk−1 in equation (25) and is equal to ũk. Multiplier 516 receives uk and multiplies uk with 1/z to output uk−1. Adder 506 adds ũk and uk−1 to output uk. During initialization of DDRS 500, an initial value, such as zero, of uk, is provided by the person to DDRS 14 via the input device. Upon receiving the initial value and ũk, adder 506 outputs additional values of compensated control signal uk. Dynamic system 16 receives uk from DDRS 14 and uk reduces an effect of dk on yk. It should be understood there are numerous other designs that can be used to establish the feedthru section 570, feedback section 560 and feedforward section 550.
Multiplier 602 multiplies the incremental discrete disturbance signal {tilde over (d)}k with Ke to output a multiplier output signal 608. Multiplier 606 receives Fk and multiplies Fk with K7 to output a multiplier output signal 610. Multiplier 604 receives vk and multiplies vk with K5 to output a multiplier output signal 612. Adder 504 receives multiplier output signals 608, 610, and 612, adds the multiplier output signals 608, 610, and 612 to generate an adder output signal 614, which is uk−uk−1 in equation (34) and is equal to ũk. Dynamic system 16 receives compensated control signal uk from DDRS 14 and uk reduces an effect of dk on yk.
It should be understood that the inverse dynamics associated with the processing of the variables such as K1, K3, Kd, K5, K7, and Ke change based on a degree of dynamic system and based on other factors, such as the time constant τ. Thus the system is able to dynamically adjust and derive improved performance.
Technical effects of the described systems and methods for reducing an effect of a disturbance include reducing an effect of the discrete disturbance signal dk on dynamic system output signal yk. The effect of the discrete disturbance signal dk is reduced or eliminated by generating an equation, such as equation (25) or (34), for the incremental discrete DDRS output signal ũk as a function of the incremental discrete disturbance signal {tilde over (d)}k, which is a change of a difference between the discrete disturbance signal dk and the discrete disturbance signal dk−1. By generating ũk as a function of {tilde over (d)}k, changes, such as {tilde over (d)}k, in the discrete disturbance signal dk are considered in reducing the effect of the discrete disturbance signal dk and DDRS 14 attenuates an impact of the discrete disturbance signal dk over dynamic system 16 over a broad frequency range, such as ranging from and including 0 hertz (Hz) to the closed loop bandwidth of the dynamic system. For systems such as gas turbine this range would be from 0 Hz to 4 Hz, for electrical systems this range would be from 0 Hz to 10 Kilohertz (KHz). Other technical effects of the systems and methods for reducing an effect of a disturbance include reducing coupling between a desired response of dynamic system 16 and dynamic system output signal 24. Yet other technical effects include providing a quick convergence of a dynamic system output signal 24 to a desired response. It is noted that DDRS 14 does not wait to receive yk−1 to generate uk and changes uk at the same time or during the same sampling period as dk is received by dynamic system 16. Hence, disturbance effects are reduced on the dynamic system 16 before the disturbance enters and adversely affects dynamic system 16.
Referring to
The processing continues with receiving state feedback 920. In general terms, the state feedback information provides certain details of the parameters that influence the performance of the system. The input to the feedback portion of the logic can be sensed, calculated, or estimated values of the state derivatives. For illustrative purposes, one example of the state feedback information relates to energy-storing elements in the dynamic system that affects the outputs of interest, such as mechanical inertias, pressure storage, heat storage, potential energy, and kinetic energy.
Disturbance input data is also received and processed 930 that provides an indication of the potential disturbance and influence to the system. The disturbance data can be estimates or based upon measurements.
The disturbance input data establishes feedforward information that together with the state feedback information and optionally the feedthru information are used to calculate changes to the controlled inputs to reject or mitigate disturbance effect on the system outputs.
Linear models are computed for each of the feedthru information, feedback information and feedforward information. The corresponding feedthru gain matrix, feedback gain matrix, and feedforward gain matrix are computed using inverse system dynamics 940.
The processing continues 945 as the feedthru linear models are multiplied by the feedthru gain matrix, the feedback linear models are multiplied by the feedback gain matrix, and the feedforward linear models are multiplied by the feedforward gain matrix.
According to one embodiment, the one or more feedthru inputs are multiplied by the corresponding feedthru matrix (such as K1 and K5) with the proper matching of dimensions. In an example of the feedback, the state derivative is multiplied by the corresponding matrix, (such as K3 and K7) that has the dimension number of states columns, by the number of controlled inputs rows, and added into the control input command. The input to the feed forward section is sensed, calculated, or estimated values of the disturbance inputs to the system. The past value of the disturbance is subtracted from the current value to determine how much the disturbance has changed in one sample. The incremental disturbance is then multiplied by the corresponding matrix, (such as Kd and Ke) that has the dimension number of disturbance inputs, by number of controlled inputs rows and added into the control input command.
The compensated control signals are then processed 950. Finally, the resulting compensated control signals are transmitted to the dynamic system 960.
The system processing of the linear models in certain embodiments uses transfer functions, state space models, and/or other analytic models that relate the dynamic effect of the controlled inputs, state information and disturbance inputs on the system outputs to cancel or attenuate the disturbance inputs impact on the system outputs. In one embodiment the disturbance rejection system uses feedthru, feedback and feedforward components to dynamically reject the disturbance over a range of frequencies.
According to one aspect, the feedthru, feedback and feedforward gains are computed by using an inverse of the system dynamics. The dynamic disturbance rejection according to one embodiment is based on dynamic inversion controls technology and in certain aspects incorporates a full state feedback controller.
In a general sense, the controlled inputs are adjusted to compensate for the effect of the disturbances and hold the controlled outputs to their desired values. The derivation of the values of the feedthru matrices (such as K1 and K5) feedback matrices (such as K3 and K7) and the feedforward matrices (such as Kd and Ke) are provided herein.
The formulation in one aspect is based on inversion of a dynamic model, and if the model changes with operating condition the dynamic disturbance rejection can be recomputed for the new conditions. This can occur either as scheduling of the matrices or re-computation of the matrices on-line using, for example, a model or a parameterized model.
In another embodiment, if there is a change to the system due to different operating mode, fault, or failure, the feedforward can be recomputed based on the status of the changed system. According to one embodiment, there may be limits applied to the feedback or feedforward parameters and if the limits are exceeded, the processing can be recomputed or used the prior calculated or an projected number based on the prior calculations.
The DDRS changes uk at the same time the disturbance signal dt is input to the dynamic system. Accordingly, an impact of the disturbance signal dt on the dynamic system is reduced. It should be understood that the equations are for illustrative purposes of an example for the processing of compensate control signal uk and other inverse system dynamic formulations can be used for processing.
A further feature of the invention relates to adaptive online processing. Adaptive online control is detailed in certain embodiments in the commonly owned patents U.S. Pat. No. 6,823,253, and U.S. Pat. No. 6,823,675, herein incorporated by reference. According to one embodiment, the DDRS can compute the feedforward gain, such as Kd, at least one of before and during energization of the dynamic system. The DDRS can compute Kd on-line in real time while the dynamic system is being operated by a power source. However, the DDRS can also compute Kd off-line before the dynamic system is provided power by the power source. Likewise, the DDRS can compute the feedforward gain, feedback gain and/or the feedthru gain via online processing, offline processing, scheduled processing and adaptive online processing. The processing can also be scheduled or otherwise programmed to occur based on various conditions.
In one embodiment, the effect of disturbances on the system outputs is reduced thereby increasing the steady state and transient performance, stability, speed of response, accuracy, and/or efficiency of the system or process. The compensated control signal is ultimately a full scale value that processes and manipulates some controlled device such as an actuator.
While the invention has been described in terms of various specific embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the claims.
This application is a continuation-in-part of U.S. application Ser. No. 11/549,320, filed Oct. 13, 2006 and is herein incorporated in its entirety by reference.
The invention described herein was made with Government support under Contract No. N00019-96-C-0176 awarded by the Department of Defense. The Government has certain rights to the invention.
Number | Date | Country | |
---|---|---|---|
Parent | 11549320 | Oct 2006 | US |
Child | 11925145 | US |