Air Bleed Control With L1 Adaptive Control

Page 1

Preliminary Air Bleed Heat Exchanger Control Design Study With Adaptive Controller Steve Rogers 5 May 2011

Table of Contents Preliminary Air Bleed Heat Exchanger Control Design Study With Adaptive Controller..............................1 Table of Contents........................................................................................................................................1 Introduction.............................................................................................................................................1 Operating Conditions...............................................................................................................................2 Model Linearization.................................................................................................................................2 Simulink Dynamic Model.........................................................................................................................3 Pole Placement Method..........................................................................................................................4 LQR Method...........................................................................................................................................11 Optimization Using LQR.........................................................................................................................15 L1 Adaptive Control Algorithm..............................................................................................................16 Conclusions............................................................................................................................................17 Appendix................................................................................................................................................18 Appendix – operating condition 1..........................................................................................................18 Appendix – operating condition 2..........................................................................................................19 Appendix – operating condition 3..........................................................................................................21 ...............................................................................................................................................................21 Appendix – operating condition 4..........................................................................................................22 ...............................................................................................................................................................22 Appendix – Operating Condition 5.........................................................................................................23 Appendix – L1 Performance Comparison with LQR...............................................................................24

Introduction Air bleed control systems for jet engines involve pressure, flow, and temperature regulation. Heat exchangers, control valves, and sensor suites are components of the system to be regulated. Ordinarily a cascade control system is used, with flow/pressure on the inner loop and temperature on the outer 1


loop. The classical approach is to close one loop at a time starting with the inner loop. This study shows how a modern approach will close both loops simultaneously. We will show 4 different operating conditions. Solutions will be by pole placement and LQR. In order to speed up development, optimization may be used to determine the weighting for the control laws. In this case we chose the LQR for optimization. We limited the parameter optimization to 11 variables, which include 6 state weights for the state estimator and the control gain, 4 input weights for the state estimator, and 1 input weight for the control gain.

Operating Conditions The following simulink model is intended to represent an air flow loop through a heat exchanger. The simulink model below is used to extract linear models at varying operating conditions which are used for control design. The various operating conditions are listed below. Fkw = [1.5 2 3 5]+0.5; ts_Q = [0.5 1 1.5 2]; ts_Fkw = [20 30 40 60]; Cp = [0.2 0.22 0.24 0.28]; Cv = Cp; rho = [0.1 0.09 0.08 0.06]; Tin = [20 60 80 110];

The above are inserted into the linearization model for each design. Example matlab code for inserting the operating variables follows. set_param('HX_lin_Mdl/In_Fkw','Value',num2str(Fkw(i))) set_param('HX_lin_Mdl/Cp','Value',num2str(Cp(i)))

Model Linearization Modern, as well as classical approaches, require linear models. The linearization is performed by the following matlab code. The 2nd line establishes the input nominal value, along with the command limits. op=operspec('HX_lin_Mdl'); op.Inputs(1).u = 1;op.Inputs(1).Min = 0.5;op.Inputs(1).Max = 20; op.Outputs.Min(1) = op.Inputs(1).Min; op=findop('HX_lin_Mdl',op); lin_sys{i} = linearize('HX_lin_Mdl',op,io); A = lin_sys{i}.a;B = lin_sys{i}.b;C = lin_sys{i}.c;D = lin_sys{i}.d; sys = ss(A,B,C,D);

There is a single input and 4 outputs for the linearized model. The 4 outputs are: 1) Q measurement, 2) T measurement, 3) T error, and 4) T integral error. The input is Q commanded. Adding outputs for T error and T integral error provide additional setpoint error states that are input into the linearized model. Thus, any control law (pole placement, LQR, Hinf, etc.) that utilizes the following model construction will have a PI (proportional integral) control law as a component. In order to emulate failed sensors, the linearization model will be updated to eliminate them as outputs. The output model is in the Appendix. A comparison of the eigenvalues of the original system and the controlled system is: 2


[eig(A),eig(syscon3)] 0

-2.0000

-0.2000

-1.0000

0

-0.3000

-1.0000

-0.0900 + 0.1500i

-0.3333

-0.0900 - 0.1500i

-2.0000

-0.2000

The 2 integrators have been replaced with a complex stable pole. Note that the specified poles will be the same for all operating conditions. The system shows a good stable response as noted below. 1

2 In_Fkw 1 0.5s+1 Qlag

20s+1 HX_dist 1 1

1 s

3s+1 s+1 Valve Qsensor

10

Cp 1 In_Q

T

V

0.2

0.1 20

rho

Tin 0.20 Cv 30 Tsp 1

4

1 5s+1 Temp_sensor

Out_y 1 s T_err_int

Simulink Dynamic Model The simulink model below is nearly the same as the linearization model, with the additions of control algorithm and observer. The simulink diagram is for the 1 st operating condition: Fkw = 1.5 ts_Q = 0.5 ts_Fkw = 20 Cp = 0.2 Cv = 0.2; rho = 0.1 Tin = 20

3


1

2

10s+1 HX_dist 1 1

Fkw 1 0.5s+1 Qlag

1 s

3s+1 s+1 Valve Qsensor

10

T

V

0.2

0.1

Cp

20 rho

Tin

0.20 Cv Qsat

30 Q Saturation

Terr 4

syscon3

v ar 4

Tsp Tmeas

1

5s+1 Temp_sensor

Controller

1 s

2 Q

4 3

T_err_int Scope Terr Tmeas

AW

20

AW&err 3

Taw

Pole Placement Method The 1st controller shown is a pole placement state space method. Pole placement attempts to place the controlled system poles at specified locations by calculating control matrix gains. The development code is shown below. [a,b,c,d] = ssdata(sys); a1 = -0.05;b1 = 0.4i; pc = [a1+b1,a1-b1,-0.2,-0.08,-0.3,-1.2]; po = pc - 3; Lobs = place(a',c',po).';[nr,ncd]=size(Lobs); Lcon = place(a,b,pc);[nr,nc]=size(Lcon); syscon3 = ss(a-Lobs*c,Lobs,Lcon,zeros(nr,ncd));

The pole-zero maps display the poles/zeros for each of the 4 outputs SISO systems. All are stable with reasonable time constants and damping coefficients. The observer poles are in red & the controlled system poles are in blue. Note that there are right-half-plane zeros in 3 of the observers.

4


Pole-Zero Map

Pole-Zero Map 0.5 Imaginary Axis

Imaginary Axis

0.5

0

-0.5 -5

0

0

-0.5 -6

5

-4

-2

Real Axis Pole-Zero Map

Pole-Zero Map 0.4 Imaginary Axis

Imaginary Axis

2

Real Axis

0.5

0

-0.5 -6

0

-4

-2 Real Axis

0

2

0.2 0 -0.2 -0.4 -6

-4

-2

0

Real Axis

The 4 impulse responses are below. They are indicators of disturbance rejection capabilities of the control system. The top 3 are of most interest since the bottom is the integral of the 3 rd. The Q measurement (top) is the most important since it has the fastest dynamics and determines the overall system response. Within 50 seconds the disturbance has damped out. Also, the magnitude of response is relatively small, which keeps the other responses bounded as well.

5


Impulse Response From: Q cmd

To: T meas

0 -1 50 0 -50 50

To: T err

Amplitude

To: Q meas

1

0

To: T err int

-50 200 0 -200

0

20

40

60

80

100

120

Time (sec)

The step response is the integral of the impulse response and also is an indicator of the disturbance sensitivity of the control system.

6


Step Response From: Q cmd

To: T meas

0 -2 200 0

-200 200 To: T err

Amplitude

To: Q meas

2

0

To: T err int

-200 0 -2000 -4000

0

20

40

60

80

100

120

Time (sec)

The preceding plots were the output of linear model control analyses. The following shows the simulation plots of the simulink diagram with both plant and controller operating.

7


poleplace MV - HX System output variables 500 1.5 0

1

-500 0.5

-1000 -1500

0

200

400

600

0

60

40

40

20

20

0

0

0

200

400

600

-20

0

200

400

600

0

200 400 time (sec)

600

The next plot is from the 2nd operating condition & shows the same type of response as the 1 st. This is due to the consistency of the pole-placement approach.

8


poleplace MV - HX System output variables 1000 1.5 0

1

-1000 0.5

-2000 -3000

0

200

400

600

100

0

0

200

400

600

0

200 400 time (sec)

600

100

50 50 0

0

0

200

400

600

-50

The next plot is from the 3rd operating condition. The same kind of response is evident for all operating conditions.

9


poleplace MV - HX System output variables 1000 1.5 0

1

-1000 0.5

-2000 -3000

0

200

400

600

0

150

100

100

50

50

0

0

0

200

400

600

-50

0

200

400

600

0

200 400 time (sec)

600

The next plot is from the 4th operating condition. The same kind of response is evident for all operating conditions.

10


poleplace MV - HX System output variables 1000 1.5 0

1

-1000 0.5

-2000 -3000

0

200

400

600

150

0

0

200

400

600

0

200 400 time (sec)

600

150 100

100

50 50

0

0

0

200

400

600

-50

LQR Method The 2nd controller shown is a linear quadratic regulator (LQR) state space method. Pole placement attempts to place the controlled system poles at specified locations by calculating control matrix gains. LQR weights the states & inputs to generate control matrix gains. The development code is shown below. [a,b,c,d] = ssdata(sys); Q = eye(size(a))*1;%R = b(:,1:2)'*b(:,1:2)*1; R = c*c';R = eye(size(R))*1e2; Lobs = lqr(a',c',Q,R).';[nr,ncd]=size(Lobs); Q = eye(size(a))*1;R = b'*b*1e6; Lcon = lqr(a,b,Q,R);[nr,nc]=size(Lcon); syscon3 = ss(a-Lobs*c,Lobs,Lcon,zeros(nr,ncd));

The LQR weighting is accomplished via the Q & R matrices. One set of weights generates the observer gain matrix (Lobs) and another generates the control gain matrix (Lcon). The pole-zero maps display the poles/zeros for each of the 4 outputs SISO systems. All are stable with reasonable time constants and damping coefficients. The observer poles are in red & the controlled system poles are in blue. Note that there are right-half-plane zeros in only the last of the observers. In the case of the pole placement there were right-half-plane zeros in 3 of the 4 conditions.

11


Pole-Zero Map 1

0.5

0.5

Imaginary Axis

Imaginary Axis

Pole-Zero Map 1

0 -0.5 -1 -3

-2

-1

0 -0.5 -1 -3

0

-2

Real Axis

0.5

0.5

0 -0.5

-2

-1 Real Axis

0

Pole-Zero Map 1 Imaginary Axis

Imaginary Axis

Pole-Zero Map 1

-1 -3

-1 Real Axis

0

0 -0.5 -1 -3

-2

-1

0

1

Real Axis

The 4 impulse responses are below. They are indicators of disturbance rejection capabilities of the control system. The top 3 are of most interest since the bottom is the integral of the 3 rd. The Q measurement (top) is the most important since it has the fastest dynamics and determines the overall system response. Within 40 seconds the disturbance has damped out. Also, the magnitude of response is relatively small, which keeps the other responses bounded as well. The magnitude of the response is similar to that of the pole placement, but it is much less oscillatory. This corresponds with the pole-zero maps above.

12


Impulse Response From: Q cmd

To: T meas

0 -0.2 10 0 -10 10

To: T err

Amplitude

To: Q meas

0.2

0

To: T err int

-10 100 0 -100

0

10

20

30

40

50

60

70

80

90

Time (sec)

The step response is the integral of the impulse response and also is an indicator of the disturbance sensitivity of the control system. Again, the response appears less oscillatory than that of the pole placement.

13


Step Response From: Q cmd

To: T meas

0 -0.5 100 0 -100 100

To: T err

Amplitude

To: Q meas

0.5

0

To: T err int

-100 0 -1000 -2000

0

10

20

30

40

50

60

70

80

90

Time (sec)

The preceding plots were the output of linear model control analyses. The following shows the simulation plots of the simulink diagram with both plant and controller operating. The 1 st operating condition plot is shown next.

14


lqr MV - HX System output variables 200 0

1.5

1

-200 0.5

-400 -600

0

200

400

600

0

40

30

30

20

20

10

10

0

0

0

200

400

600

-10

0

200

400

600

0

200 400 time (sec)

600

Optimization Using LQR If there is multiple operating conditions that have significantly varying characteristics they usually require different control law gains for useful performance. An optimization program was set up to converge on 11 lqr control parameters as shown in the matlab code snippet below. [a,b,c,d] = ssdata(sys{i}); Q = diag(in(1:6)); %R = c*c';R = eye(size(R))*1e2; %if i < 3 || i == 5 R = diag(in(7:10)); Lobs = lqr(a',c',Q,R).';[nr,ncd]=size(Lobs); R = diag(in(11)); Lcon = lqr(a,b,Q,R);[nr,nc]=size(Lcon); syscon3 = ss(a-Lobs*c,Lobs,Lcon,zeros(nr,ncd));

The differing operating conditions shown previously serve as motivation for an optimization problem. The linearized plant models for each operating condition are shown in the Appendix. The optimizer should have a reasonably well thought out performance index to direct it. In this case it is a combination of deviation from setpoint and smoothness of transition, that is, there should be minimal change in measurements from one sampling instant to the next.

15


The following plot was generated by optimizing over a series of operating conditions with changing setpoints and kw inputs, which provided disturbances to the system. There is still some oscillation or ‘buzz’ at the initial portion of the simulation for the 1 st operating condition, but the others have become smooth. lqr MV - HX System output variables 1000

5 4

500

3 2

0

1 -500

0

500

1000

1500

0

0

500

1000

1500

0

500 1000 time (sec)

1500

150 5 100 0 50 -5 0

0

500

1000

1500

The optimizer is a genetic algorithm as written by the author and the matlab code is shown in the Appendix.

L1 Adaptive Control Algorithm The L1 adaptive control approach has been developed to improve the transient performance of traditional MRAC (model reference adaptive controllers). The MRAC architecture was developed conventionally to control linear systems in the presence of parametric uncertainties. L1 is a model following adaptive controller that adapts quickly leading to desired transient performance for the system’s both input and output signals simultaneously. This architecture has a low-pass filter in the feedback-loop that enables to enforce the desired transient performance by increasing the adaptation gain. For the proof of asymptotic stability, the L1 gain of a cascaded system, comprised of this filter and the closed-loop desired transfer function, is required to be less than the inverse of the upper bound on the norm of unknown parameters used in projection based adaptation laws. The principal L1 adaptive control equations are listed below.

16


m (Tsp −σq ) s +m Γc ˆ σq = T − Tmeas s c Tˆ = ( qad + σq ) s +c qad =

(

)

The simulink implementation of the simple L1 adaptive control algorithm is shown below. 1

0.8

Tsp

s+0.8

qad

1 qad

Cmdl 0 1 That

s+1 Mmdl

-0.2 2 Tmeas

1 s

SigQ

GamC

Conclusions A continuous simulink model of a flow controlled heat exchanger was modeled. Four operating conditions were examined. Linear models of each were generated & are given in the Appendix. Two modern control methods were investigated as a means of tying together the inner and outer control loops simultaneously. The control solutions include an observer design and a control design. The observer generates an estimated, smooth state vector, while the control design uses the state estimates to track to a temperature setpoint. An optimization approach was also developed to speed up the control design over multiple operating conditions. Ordinarily, the development of a control law for a single operating condition will proceed manually to determine a feasible optimization process. Then, other operating conditions are included as the optimization process is evaluated. As experience and confidence in the optimization process is gained the entire suite of operating conditions are included. Failed sensor scenarios may also be included, or handled separately, as needed. Any ‘modern’ control law (pole placement, LQR, Hinf, etc.) that utilizes the above model construction will have a PI (proportional integral) control law as a component. In order to emulate failed sensors, the linearization model can be updated to eliminate the failed sensors as outputs. The observer gain matrix Lobs produced by the LQR method for all operating conditions seem more uniformly spread over the input measurements. This is desirable from a robustness point of view. The pole placement Lobs set most of the column corresponding to the temperature error integral to zero. The LQR temperature response appeared to give less overshoot than the pole placement method. The impulse response of the LQR design was less oscillatory; therefore, it is likely to be more robust to disturbances.

17


In parallel with the LQR control law shown above an L1 adaptive control law was also implemented successfully. The results of comparing the LQR alone and with the L1 adaptive control are given in the Appendix. The performance of the joint control is favorable and shows there is significant potential for such an implementation. Future activities include: 1) generate a better, more representative dynamic model, including realistic operating conditions, 2) controller discretization at proper sampling rates, 3) investigation of various sensor failures which may point to use of LQR output feedback, 4) gain scheduling for the various operating conditions, 5) additional testing and enhancement of the L1 adaptive control, and 6) test plan (considering failures, changes in operating conditions, & interactions to the control loops) for control system verification/validation.

Appendix Appendix – operating condition 1 Operating Condition 1 - pzmap of controlled Air Bleed system observer - blue, controller - red 0.8

0.6

0.4

Imaginary Axis

0.2

0

-0.2

-0.4

-0.6

-0.8 -2.5

-2

-1.5

-1

-0.5

0

Real Axis

18


Operating Condition 1 - Impulse Responses of controlled Air Bleed system

T meas Qbleed

0.1 0 -0.1 0.5 0 -0.5

T err int

0.5 0 -0.5

T err

Q meas

1 0 -1

0 -1 -2

0

10

20

30

40

50

60

70

0

10

20

30

40

50

60

70

0

10

20

30

40

50

60

70

0

10

20

30

40

50

60

70

0

10

20

30

40

50

60

70

Appendix – operating condition 2 Operating Condition 2 - pzmap of controlled Air Bleed system observer - blue, controller - red 0.8

0.6

0.4

Imaginary Axis

0.2

0

-0.2

-0.4

-0.6

-0.8 -1.5

-1

-0.5

0

Real Axis

19


T meas Qbleed

0.1 0 -0.1 0.5 0 -0.5

T err int

0.5 0 -0.5

T err

Q meas

Operating Condition 2 - Impulse Responses of controlled Air Bleed system 1 0 -1

0 -1 -2

0

10

20

30

40

50

60

0

10

20

30

40

50

60

0

10

20

30

40

50

60

0

10

20

30

40

50

60

0

10

20

30

40

50

60

20


Appendix – operating condition 3 Operating Condition 3 - pzmap of controlled Air Bleed system observer - blue, controller - red 0.8

0.6

0.4

Imaginary Axis

0.2

0

-0.2

-0.4

-0.6

-0.8 -1.4

-1.2

-1

-0.8

-0.6

-0.4

-0.2

0

Real Axis

T meas Qbleed

0.1 0 -0.1 0.5 0 -0.5

T err int

0.5 0 -0.5

T err

Q meas

Operating Condition 3 - Impulse Responses of controlled Air Bleed system 1 0 -1

0 -1 -2

0

10

20

30

40

50

60

70

80

0

10

20

30

40

50

60

70

80

0

10

20

30

40

50

60

70

80

0

10

20

30

40

50

60

70

80

0

10

20

30

40

50

60

70

80

21


Appendix – operating condition 4 Operating Condition 4 - pzmap of controlled Air Bleed system observer - blue, controller - red 0.8

0.6

0.4

Imaginary Axis

0.2

0

-0.2

-0.4

-0.6

-0.8 -1.4

-1.2

-1

-0.8

-0.6

-0.4

-0.2

0

Real Axis

T meas

Q meas

Operating Condition 4 - Impulse Responses of controlled Air Bleed system 1 0 -1

0.5 0 -0.5

0.5 0 -0.5

T err int

T err

Qbleed

0.05 0 -0.05

0 -1 -2

0

10

20

30

40

50

60

70

0

10

20

30

40

50

60

70

0

10

20

30

40

50

60

70

0

10

20

30

40

50

60

70

0

10

20

30

40

50

60

70

22


Appendix – Operating Condition 5 Operating Condition 5 - pzmap of controlled Air Bleed system observer - blue, controller - red 0.8

0.6

0.4

Imaginary Axis

0.2

0

-0.2

-0.4

-0.6

-0.8 -1.4

-1.2

-1

-0.8

-0.6

-0.4

-0.2

0

Real Axis

Q meas

Operating Condition 5 - Impulse Responses of controlled Air Bleed system 1 0 -1

T meas

0.5 0 -0.5

T err int

T err

Qbleed

0.05 0 -0.05 0.5 0 -0.5 0 -1 -2

0

10

20

30

40

50

60

70

0

10

20

30

40

50

60

70

0

10

20

30

40

50

60

70

0

10

20

30

40

50

60

70

0

10

20

30

40

50

60

70

23


Appendix – L1 Performance Comparison with LQR L1 Adaptive ON - operating condition 1, sum square error 1288623 L1 Adaptive OFF - operating condition 1, sum square error 4181754 5 L1adap-ON L1adap-OFF

4 3

temperature error

2 1 0 -1 -2 -3 -4 -5

0

500

1000

1500

2000 2500 3000 time (sec)

3500

4000

4500

5000

L1 Adaptive ON - operating condition 2, sum square error 1299280 L1 Adaptive OFF - operating condition 2, sum square error 4216199 5 L1adap-ON L1adap-OFF

4 3

temperature error

2 1 0 -1 -2 -3 -4 -5

0

500

1000

1500

2000 2500 3000 time (sec)

3500

4000

4500

5000

24


L1 Adaptive ON - operating condition 3, sum square error 1308937 L1 Adaptive OFF - operating condition 3, sum square error 4247197 5 L1adap-ON L1adap-OFF

4 3

temperature error

2 1 0 -1 -2 -3 -4 -5

0

500

1000

1500

2000 2500 3000 time (sec)

3500

4000

4500

5000

L1 Adaptive ON - operating condition 4, sum square error 1320430 L1 Adaptive OFF - operating condition 4, sum square error 4285012 5 L1adap-ON L1adap-OFF

4 3

temperature error

2 1 0 -1 -2 -3 -4 -5

0

500

1000

1500

2000 2500 3000 time (sec)

3500

4000

4500

5000

25


L1 Adaptive ON - operating condition 5, sum square error 1331907 L1 Adaptive OFF - operating condition 5, sum square error 4297665 5 L1adap-ON L1adap-OFF

4 3

temperature error

2 1 0 -1 -2 -3 -4 -5

0

500

1000

1500

2000 2500 3000 time (sec)

3500

4000

4500

5000

26


Turn static files into dynamic content formats.

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