Disturbance Accommodating Based Flexible System Control AIAA AFM 2007 Steve Rogers Northrop Grumman 304.367.8540 Steven. Rogers @ngc.com
Abstract Flexible systems in aerospace many times experience the negative effects of elastic structural modes within their control systems. Most control systems are based on rigid body models. Adverse effects occur when the slower or primary structural modes are within the control system bandwidth. Many times this condition results in uncontrolled oscillations. Flexible system control is based on estimation and then attenuation of the disturbances. Although this may be an effective approach it does not take advantage of the disturbance energy available to reduce the amount of control effort. In certain aerospace systems it is advantageous to utilize disturbance energy, if possible, to reduce control energy usage. One approach is based on Disturbance Accommodating Control (DAC) and is called Disturbance Utilization Control (DUC) 123. DUC employs optimal control theory to design controllers that make optimal utilization of disturbances. DAC/DUC approaches utilize linear models of the plant and disturbance. Optimal statespace control methods, such as LQR or H-Infinity are used to generate a control system utilizing the disturbance state estimations along with the plant state estimates. Generally, the fixed system model is known and may be used in an observer design to estimate the disturbance. Effective disturbance estimation in the usage of DAC theory requires an input and an output signal based on the input/output model used. An observer system is designed for estimation. The paper will develop the general concepts of DAC/DUC and show an application to flexible disturbance accommodation/utilization. Keywords: disturbance accommodation control, observer design, flexible system control
Introduction Power, weight, and volume concerns influence markedly aerospace designs. As more and more composite materials are utilized in aerospace structures the flexible modes become lower and lower. In the past the lower flexible modes were ignored in control system design because they were significantly higher than the control system bandwidth. This is now not always the case, especially with long duration mission UAV designs where
1
weight must be minimized. If the rigid body model may be used in the control law design and the remainder of the flexible dynamics treated as unmodeled dynamics Disturbance Accommodation Control (DAC) theory1-4 may be used for the design. DAC theory is based on the assumption that disturbances may be represented as continuous waveforms. That being the case, the disturbances may then be cast in a state space form. This is not an unreasonable assumption considering the vibration modes of the typical wing surface. The disturbance will enter the control system as a smooth sinusoidal waveform. The disturbance representation will be used to estimate the disturbance states, which then may be used to offset the waveform disturbance in the control law. The typical state space disturbance representation is: w(t ) = H (t ) z + L(t ) x dz = D (t ) z + M (t ) x + σ (t ) dt
where z plays the role of the state of the disturbance w. Generally L and M are 0, since the plant state contributions are 0. H is associated with the assumed form of the disturbance. D reflects the waveform-mode patterns of the disturbance w. σ is an impulse sequence. The above disturbance model may be used to describe disturbances in the following plant state space model. dx(t ) = A(t ) x(t ) + B (t )u (t ) + F (t ) w(t ) dt y (t ) = C (t ) x(t ) + E (t )u (t ) + G (t ) w(t )
where x is the state vector, u is the input vector, y is the measurement vector and w is the disturbance vector. A, B, F, C, E, and G are matrices of the appropriate size. By incorporating the above state space formulations we can derive a composite system. d x A + FL = dt z M y = [ C + GL
FH x B 0 + u + D z 0 σ
x GH ] + Eu z
E = 0 = L = M is usually the case, and then the composite system becomes: d x A = dt z 0 y = [C
FH x B 0 + u + D z 0 σ
x GH ] z
With the above formulation we can consider a state space observer. 2
DAC State Space Observer and DAC Control Laws An observer is designed because the disturbance states and possibly some of the other states are not measurable. The state space form of the observer may be written as d dt
xˆ A zˆ = 0
FH xˆ B + u + L1 y − [ C D zˆ 0
xˆ GH ] zˆ
The hats indicate estimate and L1 is a matrix of appropriate size selected to stabilize the error dynamics of the observer. We may divide the control law into two parts: one by standard design (for example, pole placement or lqr) and the other selected to counter the disturbance estimate w. u = us + uw
where us is from standard practice and uw selected to counter the disturbance as below. ˆ = −FHzˆ Bu w = −Fw dzˆ ˆ = Hzˆ = Dzˆ, w dt
If we consider the disturbance to be a series of random steps we may write D and H as D = 0 and H = 1 or dzˆ ˆ = 1zˆ = 0, w dt
If we consider the disturbance as a series of ramps we have dzˆ ˆ = Hzˆ = Dzˆ, w dt 0 1 D = , H = [1 0 0
0]
For sinusoids we may write dzˆ ˆ = Hzˆ = Dzˆ , w dt 0 1 0 D = 0 0 1, H = [1 0 0 0
3
0
0]
With this approach the DAC control contribution is of the form Bu w = −Fzˆ . If the sampling rate is sufficiently fast the above three disturbance representations will work for the vast majority of applications. If the principal flexible vibration mode is known it may be incorporated into the above structure as shown below. It is assumed to be an oscillator with the form: s 2 + w 2 = σ . Thus, we have: dzˆ ˆ = Hzˆ = Dzˆ, w dt 1 0 D = , H = [1 2 0 − w
0]
Whenever the principal flexible mode is known the above structure may be combined with any one or more of the others to estimate the composite disturbance signal. The above concepts decentralize the control law which works well under most circumstances. Another interesting concept is to utilize the disturbance state estimates within the context of a state space control law such as LQR. This utilizes the composite state estimates in the control law instead of simply canceling the disturbance estimate. Thus, the approach is called Disturbance Utilization Control (DUC). The observer development is identical to that of DAC above. The distinction between DAC and DUC lies in the control calculation. Please see the Appendix for matlab code.
Simulation The above two concepts (DAC and DUC) were applied to a simple rigid model with a sinusoidal disturbance. The state space model is shown below. The output is the pitch rate. The disturbance is assumed to be injected along with the control signal. A = [-0.313 56.7 0 -0.0139 -0.426 0 0 56.7 0]; B = [0.232 0.0203 0]'; C1 = [0 0 1]; D1 = 0; Gp = ss(A,B,C1,D1);
In both cases the observer was designed by pole placement and the control law was an LQR and designed using matlab’s lqr command. The simulink high-level block diagram is shown below in Figure 1. The matlab code for DAC and DUC is given in the Appendix.
4
1/z y(n)=Cx(n)+Du(n) U(E) U x(n+1)=Ax(n)+Bu(n) u DAC Selector
1 s+1
Gp Plant Add2
T ransfer Fcn
Out1
Dist
1/z y(n)=Cx(n)+Du(n) U(E) U x(n+1)=Ax(n)+Bu(n) DUC Selector1 Add4
Gp Plant1 Add1
Figure 1 Simulink diagram of the Experiment The disturbance is added to the plant control input. The feedback control input is returned to the observer via a delay to prevent an algebraic loop. The setpoint stream is passed through a simple lag filter. This setpoint filter may be designed to meet design criteria such as rise time. Simulation results follow.
Figure 2 DAC Simulation Results For Moderate Disturbance
5
Figure 3 DUC Simulation Results For Moderate Disturbance
Figure 4 DAC Simulation Results For Large Disturbance
6
Figure 5 DUC Simulation Results For Large Disturbance In all cases in Figures 2 through 5 the plots signals are: plot 1) setpoint and pitch measurement response, plot 2) disturbance and disturbance estimate, and plot 3) composite control input. The three-state disturbance model was used in all cases. Figures 2 and 3 above show the DAC and DUC results for a moderate size sinusoidal disturbance. In this case DAC and DUC perform tracking about the same and in both cases the disturbance estimate seemed to track the actual estimate well. In Figures 4 and 5 the DUC method performed noticeably better with both a more complex and higher amplitude disturbance. In the latter case the disturbance consisted of a sinusoid plus random magnitude steps. By taking advantage of the additional disturbance states the DUC approach was able to attenuate the effects of the disturbance and track better. This is the impact of full information in the DUC as opposed to partial information in the DAC approach.
Conclusions Two disturbance accommodating methods – DAC and DUC – were developed and applied to a pitch control system with sinusoidal disturbances. The DUC method is a full information state space approach to control of a system with a disturbance. The DAC method relies on disturbance estimation and cancellation. With the extra information the DUC method is able to accommodate more complex disturbance signals. Both DAC and DUC may be applied with LQR or pole placement state space methods. Future work
7
includes application to more complex/realistic simulations with eventual extension to aerospace systems.
References 1. M. Mohajer and C. D. Johnson, ‘A New Approach to Decentralized Control of LargeScale Systems’, Proceedings of the Seventeenth Southeastern Symposium on System Theory, p 252-6, 1985. 2. C. D. Johnson, ‘Theory of disturbance-accommodation controllers’, Control and Dynamic Systems; Advances in Theory & Applications, v. 12, Academic Press, USA, 1976. 3. S. Rogers, A Comparison Study of Several Control Algorithms for Disturbance Rejection Capability, 1996, PhD Dissertation, Kansas State University. 4. L. Fan etal, ‘Decentralized Control of Power Systems Using Disturbance Accommodation Techniques,’ Proceeding 2001 American Control Conference, pp 799-804, vol 2.
Appendix D = [0 1 0;0 0 1;0 0 0]; H = [1 0 0]; A2 = A*1;B2 = B*1;C2 = C1*1;D1 = 0; Ad = [A2 B2*H;zeros(3,3),D]; Bd = [B2;zeros(3,1)]; Cd = [C2 zeros(1,3)]; Gpd = c2d(Gp, T); Phi = Gpd.a; Gam = Gpd.b;
% DAC design polydes = [1.0000 22.2644 39.4342 28.1849 0.0000] ; Ldac = place(Ad',Cd',roots(polydes))'; Ad1 = Ad; Ad1 = Ad - Ldac*Cd; % eig(Ad1),roots(polydes) Bd1 = [Bd,Ldac]; Q = diag([xin(7:9)]); K = dlqr(Phi,Gam,Q,1); Cd1 = [-K -H]; sys = ss(Ad1,Bd1,[Cd1;eye(6)],zeros(7,2)); dacsys = c2d(sys,T);
6.5013
% DUC design polydes = [1.0000 133.7961 349.2616 347.9551 103.6295 0.0048 0.0000] ; Ldac = place(Ad',Cd',roots(polydes))'; Ad1 = Ad; Ad1 = Ad - Ldac*Cd; % eig(Ad1),roots(polydes) Bd1 = [Bd,Ldac]; Bd(4:6) = B2;Bd(6) = B2(2); K1 = lqr(Ad,Bd,Q,1); Cd1 = -K1; sys = ss(Ad1,Bd1,[Cd1;eye(6)],zeros(7,2));
8
0.1072
dacsys = c2d(sys,T);
9