Disturbance accommodating control

Page 1

Disturbance Accommodating Control Steve Rogers Disturbance Accommodating Control (DAC) is based on describing disturbances in a waveform structure that can be posed in a state space format. Typical waveform structures of disturbances include steps, ramps, or sinusoids. Typical waveform disturbances are wind gusts, flowrate changes, pressure transients, or variations in load demands. These are distinguishable from stochastic sensor noise-type disturbances. A given disturbance w can be formulated as: dz (t) = D ( t ) z (t)+ M ( t ) x (t )+ σ ( t ) , w ( t )=H ( t ) z (t)+ L ( t ) x(t) , where z is a state vector of the dt disturbance w. The following state space formulation may be used to describe disturbances in the following plant model: dx ( t ) =A ( t ) x ( t )+ B ( t ) u ( t ) + F ( t ) w ( t ) , y ( t )=C ( t ) x ( t )+ E ( t ) u ( t ) +G ( t ) w(t ) where x(t) is the dt plant state vector, u(t) is the control vector, and the rest are the customary matrices used to describe a linear plant model. By incorporating the above expressions we can write the composite system as: d x = A+ FL FH x + B u+ 0 . The observed output may be expressed as dt z M D z 0 σ

[][

][ ] [ ] [ ]

y=[ C +GL GH ]

If

[]

x + Eu . z

E=0=L=M , as is normally the case, then the composite system is

[][

][ ] [ ] [ ]

d x A FH x B 0 = + u+ dt z 0 D z 0 σ

[]

y=[ C GH ] x z

. The observed output is

.

If reasonable values of D, F, and H are selected most arbitrary waveforms may be represented. Then, a disturbance estimator may be structured and thus the designer may be able to counter the disturbance effects. With the disturbance states estimated a controller may be designed separate from the plant controller to accommodate the disturbance. As an example, a 2 state disturbance estimator may be formulated as follows. dz d z1 z1 0 1 z1 σ1 =Dz +σ , w=Hz=[ 1 0 ] , = + dt z2 dt z2 0 0 z2 σ2 .

[ ]

[ ] [ ][ ] [ ]


For a 1st order SISO system a composite observer may be written as d dt

[ ][

̂x A −F ̂ = z1 0 0 ̂ z2 0 0

0 1 0

][ ] [ ] {

[ ]}

̂x B ̂x ̂ ̂ + u + K y− [ C G 0 ] z1 0 z1 ̂ ̂ z2 0 z2

.

The disturbance component of the control law is now B u w =−F ̂ z1 u=u s + u w . Thus, the control is . If there is no add-on DAC controller the system appears as in the diagram below with the associated transfer function.

A serial DAC add-on could be according to the next diagram and transfer function.

The most commonly used architecture for a DAC add-on, as suggested above is shown in the following diagram and transfer function.

The latter approach to an add-on controller will be used. A simple example to illustrate the K p e−T s 4 e−0.5s G ( s) = = principle will be presented. Assume a process model and Ts +1 6s +1 d

u=u s + u w

. The 1st control term us may be determined by a PID tuning rule as described in the

PID Tuning Rules chapter. The DAC component uw will be designed as illustrated above B u w =−F ̂ z1 .


The DAC observer is

[ ] [ ][ ] [ ]

[

][ ] [ ]

d ̂ z1 = 0 1 ̂ z1 + L1 ( e− ̂ −L1 1 ̂ z1 + L1 e ) z1 = ̂ . Generic state dt ̂ z2 0 0 z2 L2 −L2 0 ̂ z2 L2 sIx= Ax+ Bu , y=Cx ,

space equations may be converted to a transfer function as

x=( sI − A )−1 Bu , y=C ( sI − A )−1 Bu . By substituting in the obvious matrices from the DAC equations above we have

−1

C ( sI − A ) B=[ K

[ ]

]

s 1 −L2 s+ L1 L1 L1s + L2 . Note 0 2 =K 2 L2 s + L1s+ L2 s + L1s + L2

[ ]

that the output is the DAC control uw, where K is the controller gain. If a controller gain C = [K1 K2] is desired the transfer function is modified to s 1 −L2 s + L1 L1 ( K 1 L1+ K 2 L2 ) s + K 1 L2 . The observer gain −1 C ( sI − A ) B=[ K 1 K 2 ] 2 = s + L1s + L2 L2 s 2+ L1s+ L2

[

]

[ ]

vector [L1, L2] may be easily solved by pole placement as follows for two real poles. 0=( s+ a1 )( s+ a2 ) =s2 + ( a1+ a2 ) s+ a1a2=s 2 + L1s + L2 . Thus, we have the simple equations: L1=a1+ a2 , L2=a1a2 .

For

two

imaginary

poles

we

have

0=s2 + 2δws+ w2 =s2 + L1s+ L2 . In this case we have the two equations:

the

following:

L1=2δw , L2=w 2

. In the case of a disturbance with a known frequency the above observer may be augmented as follows. If we can characterize the disturbance with a sinusoidal transfer function, such as σ 2 2 s +a , we can describe the disturbance with 2 states as the following

[ ][

][ ] [ ]

d z 1w 0 1 z 1w 0 = + 2 dt z 2w −a 0 z 2w σ

be written as

[ ][

and add them to the observer. The new composite observer may

][ ] [ ] {

̂x A −F 0 ̂x B d ẑ 1w = 0 0 1 ẑ 1w + 0 u+ L y−[ C dt ̂z 2w 0 −a 2 0 ̂z 2w 0

[ ]}

x̂ G 0 ] ̂z 1w ̂z 2w

.


A simple example will be given. For a 1 st order process model with time delay, we shall use the −x 5e− s ́x = + 0.5u ( ) G s = following transfer function, . A state-space formulation is , 10 10s +1 ignoring the time delay. Again we assume the control is standard tuning rules. The equation

B u w =−F ̂z

u=u s + u w

. The us is a PID based on

is used to solve for uw. The Simulink

diagram shows the general implementation. The PID controller is constructed by the following code.

% pid IMC tuning rule piddir.k = tc/kp/(td+tc)*2; piddir.ki = tc; piddir.kd = 0.5*td; pidpara.k = piddir.k; pidpara.ki = piddir.k/piddir.ki; pidpara.kd = piddir.k*piddir.kd;

The DAC transfer function is built as: % DAC design a1 = 5;a2 = 5; L1 = a1 + a2;L2 = a1*a2;k1 = 1.5;k2 = 1.5; set_param('DAC_dist_mdl/DAC',... 'Numerator',['[',num2str(0*[k1*L1 k2*L2]),']'],... 'Denominator',['[',num2str([1 L1 L2]),']'])

The results are shown in the following four plots. The first two plots show the system response with no disturbances. The DAC component is shown in the second plot and shows an improvement following the set point change, although the convergence to the set point is slower. The third plot, without DAC and with a disturbance, shows unacceptable performance. The fourth plot shows much improvement with the DAC component turned on. The disturbance signal is w in the third and fourth plots.



Note that since the DAC transfer function does not have an integrator there is a bias in the output. The integrator in the PID will eventually cause it to track. If we consider the above example with a known frequency disturbance, we can use a disturbance estimator with a known sinusoidal frequency. Recall the observer

[ ][

][ ] [ ] {

[ ]}

̂x A −F 0 ̂x ̂x B d ẑ 1w = 0 0 1 ẑ 1w + 0 u+ L y−[ 1 0 0 ] ̂z 1w dt ̂z 2w 0 −a 2 0 ̂z 2w 0 ẑ 2w gain vector L as

L1= A+a 1 +a 2 +a 3 ,

. We can calculate the observer


L 2=

( a 2−a 1 a 2−a 1 a 3−a 2 a 3)

L3 =

,

F

{ ( L1− A ) a 2−a1 a 2 a 3 } F

, where a is the known

disturbance frequency and ai are the desired observer real poles. We note that the closed loop transfer function is written as C(sI-A)-1B. The term (sI-A)-1 is solved by adj(sI-A)/det(sI-A). The A11 A12 A13 A= A21 A22 A23 adjoint of a 3x3 matrix is A31 A32 A33

[

[

∣ ∣ ∣

A22 A32

∣ ∣ ∣ ∣ ∣ ∣

A23 A33

− A12 A13 A32 A33 A12 A13 A22 A23

∣∣ ∣ ∣ ∣∣

A21 A23 A31 A33

A11 A31 − A11 A21

A13 A33 A13 A23

A21 A31

]

∣ ∣ ∣

A22 A32

− A11 A12 A31 A32 A11 A12 A21 A22

.

[

s− A F 0 −1 u =K ( sI − A ) B=K 0 s −1 w In our case we have 0 a2 s

[

2

2

s +a [ K1 K2 K3 ] −Fs Fs

]

][ ]

0 0 L1 2 2 2 s − As −a + A a L2 2 L3 s− A s −As

−1

][ ] L1 L2 L3

.

[

L1 ( s 2 + a2 )

]

[ K1 K2 K3 ] −L1Fs+ L2 ( s 2 −As ) + L3 (−a 2+ A a 2 ) 2 L1Fs+ L2 ( s− A ) + L3 ( s −As ) u w= 3 = = s + ( L1− A) s 2+ ( a 2− L2F ) s+ ( L1−A ) a 2− L3F s 3+ ( L1− A) s 2+ ( a 2− L2F ) s+ ( L1−A ) a 2− L3F . The above formula shows that nearly any appropriate method may be used to design a combination of K1, K2, and K3 to produce acceptable results.


In the known disturbance frequency example, we can construct the separate disturbance state d ̂z 1w 0 1 ̂z 1w L1 −L1 1 ̂z 1w L1 = + e−̂z 1w ] = + [e ] . [ 2 2 observer as follows. dt ̂z 2w −a 0 ̂z 2w L2 −L2−a 0 ̂z 2w L2

[ ][

][ ] [ ]

[

][ ] [ ]

The latter formulation is much simpler to implement. The development of C(sI-A) -1B is L1s+ L2 s 1 L1s+ L2 L1 −1 2 2 ( ) L2 −L1 L2+ a + L2 ( s+ L1 ) −L2−a s+ L1 −L1 a 2 + L2s s+ L1 −1 L1 = = = 2 L2 L2+a 2 s s 2+ L1s+ L2+a 2 s 2 + L1s + L2+ a2 s + L1s+ L2+a 2

[

][ ] [

[

][ ]

] [

]

.

[

]

L1s+ L2 −L1 a 2 + L2s K1 ( L1s+ L2 ) + K2 (−L1 a 2+ L2s ) ( K1L1+ K2L2 ) s + K1L2−K2L1 a 2 = = s2 + L1s+ L2+ a 2 s 2+ L1s+ L2+a 2 s 2 + L1s + L2+ a 2

[ K1 K2 ]

. Note that in the above C is replaced by controller gains since we are using all the states in the controller. The next plot shows the PID alone without the known frequency DAC component. The set point is maintained at zero and the sine wave disturbance is added to the output as shown in the simulink diagram.

Scope Band-Limited White Noise

Sine Dist PID(s) PID 0 s2 +14s+49 DAC

G LTI System

Scope1


The above plot shows significant improvement in attenuating the sine wave disturbance. One must ask, though, what happens if a sine wave disturbance occurs, but its frequency is unknown or is variable. For this case the observer may be rewritten as

[ ] [ ][ ] {

[ ]} [

][ ] [ ]

̂z ̂z 1w 0 1 0 ̂z 1w −L1 1 0 ̂z 1w L1 d 1w ẑ = 0 0 1 ̂z 2w + L e−[ 1 0 0 ] ̂z 2w = −L2 0 1 ̂z 2w + L2 e . dt 2w 0 0 0 ẑ 3w −L3 0 0 ẑ 3w L3 ̂z 3w ẑ 3w controller development is the same as shown above.

The

DAC


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.