FMCTI Presentation Steve Rogers 13 July 2012
1
Presentation Outline • Control Algorithm Development Typical Sequence • High Level Control Design – Generate simulation model – Model linearization – Nonlinear simulation
• Space Station Thermal Control System Model – – – – –
Overview & Cold loop mass balance Resistance Data Energy Balance Health Monitoring Ideas HM equation examples
• Wind Turbine Certification Issue – Solution by Optimization
2
Typical Algorithm Development Process Control Algorithm Design
Linear Analysis Non Linear simulations
HITL Component Tests
Prototype tests
The control algorithm design incorporates all of the code and documentation necessary for system operation. Prerequisites for control algorithm design includes decomposing software specifications and system performance requirements into control algorithm objectives. Algorithm Design Loops are: - Linear analysis with Matlab for preliminary checking of concepts using linearized models at representative operating conditions - Non Linear simulations are with higher fidelity models that also incorporate supervisory controls including start ups, shut downs, faults, etc. Validate algorithm designs under more comprehensive operating conditions. - HITL (hardware in the loop) evolves as components become available. - Testing and evaluation on operating prototype. - Optimization generally occurs at the early stages up to and including the nonlinear simulations. Optimization may be used to analyze more comprehensive operating ranges and enhance robustness. It also may be used to automate design. 3
Model Usage Concepts • Sophisticated model (Vxdot) for linearization – used for control analysis & design. • Use common model as in subsequent nonlinear studies. • Same model for nonlinear simulation as used for linearization – used for control performance analysis/design. • Numerous operating conditions may be tested prior to HITL.
4
Main matlab driver code accessed from simulink function xdot=vxdot(xu) % computes state derivatives as a function of state and input global veh; de=xu(12+[1:8]); % fin angles tau_b=xu(12+[9:14]); % external force and moment wrt b tau_e=xu(12+[15:20]); % external force and moment wrt e v_cee=xu(12+[21:23]); % current velocity a_cee=xu(12+[24:26]); % current acceleration p=xu(1:6); % generalized position (eta) v=xu(7:12); % generalized velocity (ni) % rotation matrix R_eb=rpy2R_eb(p(4:6)); % vc and vcdot vc=[R_eb*v_cee; zeros(3,1)]; vcdot=[R_eb*a_cee-vp(v(4:6),R_eb*v_cee); zeros(3,1)]; % state derivative pdot=rpy2J(p(4:6))*v; vdot=vcdot+veh.iM*(tau_cor(veh,v,v-vc)+tau_damp(veh,vvc,de)+... tau_rest(veh,p)+tau_b+[R_eb*tau_e(1:3);R_eb*tau_e(4:6)]); xdot=[pdot;vdot]; % final result
• This is example main driver matlab code used both to generate linearized models & for nonlinear simulations. • Representative operating conditions are used.
5
Simple High Level Approach to lqr controller Design % linattk.m open_system('xtrlmod') [v1,v2,v3]=vehicle; global veh; veh=v2;
x0=[zeros(6,1);3;zeros(5,1)]; u0=[zeros(8,1);416;zeros(17,1)]; [A,B,C,D]=linmod('xtrlmod',x0,u0); [a,b,c,d]=ssselect(A,B,C,D,1:8,4:6,[4:12]);
Set single operating condition by varying x0 (states) & u0 (inputs).
Generates linear model
Q=diag([20 20 20 ones(1,6)]); R=eye(size(b,2)); K=lqr(a,b,Q,R);
Generates linear lqr controller
6
Presentation Outline • Control Algorithm Development Typical Sequence • ROV High Level Control Design – Generate simulation model – Model linearization – Nonlinear simulation
• Space Station Thermal Control System Model – – – – –
Overview & Cold loop mass balance Resistance Data Energy Balance Health Monitoring Ideas HM equation examples
• Wind Turbine Certification Issue – Solution by Optimization
7
Space Station Thermal Control System Test Bed Schematic • •
• •
•
•
The purpose of the heat exchangers LP & HX is to remove heat from life support avionics or scientific experiments. Pressure, flow, and temperature are regulated by 9 control valves and a single constant speed pump. Heat inputs are through 7 heat exchangers (HX & LP). Heat leaves through 2 heat exchangers (HS). In order to keep the fixed speed pump at a constant flow rate the pressures through the cold/warm bypasses is kept constant. The resulting network is highly nonlinear where each change in valve position impacts flow & pressure in all other channels. There is no thermal interaction between channels.
8
Space Station TCS Cold Loop Mass Balances • •
•
Q is the total pump flow measurement. Although the flow rates in the two paths shown may vary the steady state pressure drops are equal. The solution of the flows is based on pressure drop equalities. Z is the channel resistance or impedance & is given as dp/Q/Q. It is composed of resistances due to components such as, plumbing, heat exchangers, and control valves. Z is obtained from mfg data.
9
Space Station TCS Cold Loop Mass Balances • •
ABCD is the cold loop set of channels. α and δ define the flow rates through the cold loop channels.
10
Space Station TCS Resistance Data • • •
The channel Z is the summation of component resistances at each valve position. Z channel = Z(cold plate) + Z (line) + Z (control valve position) The preceding mass balance data is steady state. The control valve dynamics are represented by a 3 second time constant. The temperature sensor is represented by a 20 second time constant.
The control valve data was approximated as a curve dependent only on the valve position.
11
Space Station TCS Energy Balance
Cold Plate thermal equation
HS energy balance to get the cold side temperature of the heat exchanger. An ammonia based system interfaced with the water-based system of the internals of the SS.
12
Space Station TCS HS LMTD Energy Balance
•
•
HS energy balance to get the hot side temperature of the heat exchanger. Below is the heat transfer coefficient for the HS component. Dynamics that incorporate flow rate time delay may be based on a variable first order lag.
13
Presentation Outline • Control Algorithm Development Typical Sequence • ROV High Level Control Design – Generate simulation model – Model linearization – Nonlinear simulation
• Space Station Thermal Control System Model – – – – –
Overview & Cold loop mass balance Resistance Data Energy Balance Health Monitoring Ideas HM equation examples
• Wind Turbine Certification Issue – Solution by Optimization
14
Health Monitoring Ideas Using System Models • Health monitoring is data validation or data cross checking using standard process sensors, such as temperature, pressure, flow rate, valve rate/position, volt/amp, etc. – The goal is to improve sensor, actuator, and component reliability and maintainability by predicting anomalies. Uses advanced signal processing and model-based procedures. – Use high fidelity models for real time comparison with operating system.
• Sensor faults. There are 4 types of anomalies from typical analog sensors: dead, excessive noise, drift, & offset sensor faults. – Dead or excessive noise can be detected & isolated using standard deviation or other statistics of the individual sensor data stream. The standard deviation is compared to the statistics of common sensors throughout the plant. Drift or offset may also be caused by something in the process being measured, therefore, detection/isolation must be model based. – Drift or offset fault detection model equations can be based on performance criteria, heat/mass balance equations, or other models. Fault detection indicators are derived from the equations. Any change suggests an anomaly which can then be investigated. Kalman filters and/or observers are frequently used to estimate the fault parameters or indicators in stochastic systems. Typical equations and fault indicators derived from a Space Station electric pump system & heat exchanger are given later. 15
Health Monitoring Ideas Using System Models •
•
•
•
Control valve actuator faults may be monitored by using a model based approach by evaluating the input command and the output signal continuously. There is a known dead-zone that can be modeled by use of the describing function approach. If the model parameters change an anomaly may be declared. This approach follows the same methodology as the drift/offset fault detection. If the control valve is dormant for extended periods of time, active fault detection may be utilized to ensure its capability when returned to use. Condition monitoring of rotating equipment including pumps, fans, compressors, etc. High rate embedded system to do vibration, acoustic, and electromagnetic monitoring for detection of bearing/gear anomalies and facilitate planned maintenance. Use of advanced spectral analyses for detection. Continuous commissioning of thermal systems. This includes algorithms for determining and alerting if thermal systems fail to achieve specifications. Control system loop performance monitoring is also included. Typical control system performance indices include: error, integral error, absolute value of error, output, absolute value of change in control input, control input, duty cycle, number of starts, stops, and reversals. Spectral analyses may be used to estimate dominant cycles, onset of cycling, dominant eigenvalues, and frequency-related magnitudes.
16
Health Monitoring Formulas for Pump System LATI02SR0201P
LATI02SR0401P
dpg
dpp
LATI02SR0101P Abs Press Sensor
LATI02FM0002R LATI02FM0001R Flowmeter fm
psia Inlet
filter
Gas trap
Pump
Check Valve Outlet T Temperature Sensor
dpf accumulator
LATI02SR0001T
LATI02SR0301P LATI02SR0501Q Pump Indicators: 1) Zf = dpf/pph^2 (filter resistance) 2) Zg = dpg/pph^2 (gas trap resistance) 3) Impeller specific speed = rpm*pph^0.5/(dpp^0.75) 4) Suction specific speed = rpm*pph^0.5/(psia^0.75) electricwatts1 = amps*volts electric watts2 = amps*4.3825*krpm hydraulic watts = pph*psid/(60*8.34*2.298) 5) pump efficiency = hydraulic watts/electric watts 6) a1 = dpp - function(Impeller specific speed)*pph a1 should be close to zero except in a fault condition. 7) vc = Amps/krpm (pump ratio) 8) load = pph*dpp/(krpm*krpm) (pump load ratio) where the left hand side of the above 8 equations are indicator parameters.
Quantity Sensor
Pump Motor Dynamic Equations: 1) Ampsdot = -(R2/L2)*Amps - (psi/L2)*krpm 2) krpmdot = (psi/J)*Amps - (hth /J)*krpm 3) dppdot = hnn*pph^2 + hww*krpm^2 4) pphdot = -(hrr/ab)*pph^2 + dpp/ab where R2, L2, psi, J, hth, hnn, hww, hrr, and ab are indicator parameters which can be determined by observer design or Kalman filter.
17
Health Monitoring Formulas Table for Pump System Pump Indicators Equation
Parameters
Algorithm
PPA Area of fault detection
Sensors
1) 2) 3) 4) 5) 6) 7) 8)
Zf Zg impeller spec. speed (iss) suction spec. speed (sss) pump efficiency (pe) a1 vc load
low pass filter low pass filter low pass filter low pass filter low pass filter low pass filter low pass filter low pass filter
filter performance gas trap performance pump performance pump performance pump performance pump performance pump motor performance pump motor performance
dpf, pph dpg, pph krpm, pph, dpp krpm, pph, psia Amps, volts, pph, dpp dpp, krpm, pph dpp amps, krpm pph, dpp, krpm
Observer Observer Observer Observer
motor performance motor performance pump performance pump performance
amps, krpm amps, krpm pph, krpm pph, dpp
Pump Motor Dynamic Indicators Equation 1) 2) 3) 4)
R2, L2, psi psi, J, hth hnn, hww hrr, ab
Sensor Fault Matrix - PPA equations Indicator Parameters Sensors dpf pph dpg krpm dpp psia Amps volts T
Zf * *
Zg
* *
iss sss pe
*
*
* *
*
*
a1
vc
* *
load
R2
L2
psi
J hth
* *
*
* *
*
*
*
*
*
hnn
hww hrr
*
*
*
*
ab
*
*
*
*
*
* *
*
*
*
*
*
*
18
ISS HX Schematic, HM Formulas, and Table Regen HX indicators: 1) a1 = pph*(TColdIn - TColdOut)/LMTD, a1 is UA 2) LMTD = [(THotIn - TColdOut) - (THotOut - TColdIn)]/ ln[(THotIn - THotOut)/(THotIn - TColdIn)] LMTD is the log mean temperature difference in an HX 3) a2 = (THotIn - THotOut)/(THotIn - TColdIn) 4) a3 = computer comand - CV speed feedback 5) a4 = TempCommand - Temperature Out 6) a5 = CVoffsetEstimator - TBD (control valve dead zone estimator) Temperature In: LT - CTB RTD -- LATM01SR0001T MT - Regen RTD -- LATM03SR0001T
TAirlock
pump
THotIn TColdOut
THotOut Regen HX TColdIn
RFCA Indicators Equation 1)
Parameters a1 (UA)
Algorithm low pass filter
2)
LMTD
low pass filter
3)
a2
low pass filter
4) 5) 6)
a3 a4 a5
low pass filter low pass filter low pass filter
RFCA fault detection HX & sensors
Sensors TColdIn, TColdOut, THotIn,THotOut, pph HX & sensors THotIn,THotOut, TColdIn, TColdOut HX & sensors TColdIn, TColdOut, THotIn,THotOut valve & sensor CVrate valve & sensors THotOut valve & sensor CVrate
Indicator Parameters Sensors TColdIn TColdOut THotIn THotOut pph CVrate
UA LMTD * * * * *
* * * *
a2
a3
* * * *
a4
a5
*
*
*
19
Presentation Outline • Control Algorithm Development Typical Sequence • ROV High Level Control Design – Generate simulation model – Model linearization – Nonlinear simulation
• Space Station Thermal Control System Model – – – – –
Overview & Cold loop mass balance Resistance Data Energy Balance Health Monitoring Ideas HM equation examples
• Wind Turbine Certification Issue – Solution by Optimization
20
Wind Turbine Problem Statement • •
• •
•
•
The system is a two-bladed Wind Turbine power generator with a Bladed model undergoing certification studies. At high & low air density (1.36 & 1.15 kg/m^3) with a 25 m/s wind speed a software overspeed alarm/shutdown occurs, even though these are nominal operating conditions. This causes the blade to be feathered and the system to be shut down starting at time ~113 seconds of the simulation. The control loops are collective pitch control, independent blade pitch control, and generator speed control. The original controllers are PID and PI and were designed by classical control methods using the matlab sisotool with linear models taken from Bladed. The false shutdown issue did not surface until discovered during certification studies in the Bladed model. Solution is to manipulate controller parameters to find a better parameter suite which must be proven in Bladed simulations. 21
Wind Turbine Control Overview
22
Optimizer Application to Bladed NL Simulator • Optimization requires interfacing with Bladed to enable simulations to be run from matlab scripts. • The given Bladed controller is in the form of a 1) dll consisting of the controller architecture and a 2) text file containing controller parameters. The text file must be modified to test each iteration. • Three main matlab/Bladed interface utilities were written: – New values written to parameter text file at each iteration – Create Bladed run file (in matlab) & update each iteration if there are different operating conditions – Following each Bladed simulation, import Bladed output data into matlab environment for performance index calculation.
• Optimization objectives include: – Eliminate false alarms. (Note this is directly related to the control loop setpoint tracking performance.) – Improve control loop performance. These loops are the collective pitch control, independent blade pitch control, and generator speed control. – Load & load imbalance mitigation incorporating Mx & My fatigue loads at the hub.
• Operating conditions: air density [1.1 & 1.357], wind speed [12 & 25 m/s]. These require multiple Bladed runs for each iteration. 23
Baseline 4 Operating Conditions – high/low air density @ 12/25 m/s Optimized
Original false alarm generator overspeed shutdown
Divergence of baseline & Optimized
24
NL Bladed Optimizer Results – Summary • • •
•
• • •
The main problem to be solved was to reduce unwarranted shutdowns. Multi-objective optimization was used with Bladed simulations driven by matlab scripts. Matlab/Bladed interface utilities were written and tested. The utilities were integrated into an optimization environment in which Bladed was used for the simulation data and matlab was used for the performance calculations and optimization process. The optimization objectives included: • Prevent/reduce false alarm/shutdowns due to generator overspeed • Improve control loop tracking for pitch & generator speed • Load & load imbalance mitigation Operating conditions investigated: air density [1.1 & 1.357], wind speed [12 & 25 m/s]. These require multiple Bladed runs for each iteration. The generator control loop had the most dramatic improvement of ~28%. This effectively removed the overspeed false alarm for the conditions investigated. Another key false alarm/shutdown encountered was ‘pitch sanity check’. This shutdown can occur if the pitch rate/position exceeds thresholds. The blade 1 & 2 loop improvements (~9 & ~12%) removed it in the operating conditions investigated. Target generator overspeed false alarm/shutdown was eliminated in the operating condition investigated, although this doesn’t mean all false shutdowns have been eliminated. Results show that optimization is one way to reduce false alarm/shutdowns, although complete elimination would require more rigorous investigations and collaborations with loads analysts. 25