Purdue University AIAA Design Build Fly Team 2007-2008 Electric Propeller Driven RC Aircraft Constraint Analysis/Weight Estimation/Flight Simulation/Optimization Purdue University AIAA Design Build Fly Team 2007-2008
Electric Propulsion Model Measures of efficiency: Battery Motor Propeller Battery Energy Density: 2
Quantifying the target design space CONSTRAINT ANALYSIS
Definition Performance requirements imply a functional relationship between Power to Weight ratio ( ) and Wing Loading ( ). For each phase of flight, the power to weight ratio is calculated in terms of wing loading.
Code Structure Turns input.dat constraint.m (can rename as required) Calculate C_D, K, L/D constraint.m (Run this file to run code) Takeoff Landing Ceiling Rate of Climb Max Speed Turns Turns
Aircraft Input Parameters
Takeoff Note: Velocity taken to be mean velocity till take-off (=70% of take-off velocity) (Brandt Eqs 5.52 and 5.77)
Landing (Brandt Eqs 5.52 and 5.77)
Ceiling
Rate of Climb
Maximum Speed
Turn
Running the Constraint Program Download and unzip the constraint analysis code(s) from Team Center. In the folder, you will see a program called constraint.m. This is the master program, and it calls all of the other .m files as functions. There is no need to edit the master program, but feel free to take a look at the program and its functions to understand how it works. Run constraint.m in MATLAB, it will prompt you for an input file (contraint_input.dat). Desired constraints can be analyzed by updating the aircraft parameters and flight segments in the input file (contraint_input.dat). The program will output (to the MATLAB command screen) some various values (mostly the data you have input). If you wish to see additional numerical data, feel free to change the program to print out the data. A graph of Wing Loading (oz/ft2) vs. Power to Weight Ratio (Watts/lbf) will be created, showing the energy required for each of the legs of the mission. An example of the output follows.
The altitude is MSL (Altitude above Mean Sea Level). The input file is called contraint_input.dat (You can rename it to whatever you want). Here is an example set of inputs: airplane 5.00 aspect ratio 0.08 Cdo 0.60 propellor efficiency 0.60 motor efficiency 0.80 oswald efficiciency take off 1300. altitude (ft) 1.2 Clmax 75. takeoff distance (ft) landing 1300. altitude (ft) 100. landing distance (ft) 0. reverse force fraction ceiling 1400. altitude (ft) rate-of-climb 5. R/C (ft/sec) max speed 42. airspeed (ft/sec) turn 1400. altitude (ft) 50. airspeed (ft/sec) 1.15 load factor Edit as required Each of the numbers in the input file must have a decimal in it. For example, 1.2, or 75. (not 75). Do not change the order of the different variables. Don’t change anything but the numbers! The altitude is MSL (Altitude above Mean Sea Level). You can repeat certain legs, for example, you can have multiple turn segments, ceilings, etc. To do so, simply add the new flight profiles to the input file. Sequence of flight segments is not important. Mission Legs Edit as required
Sample Output
Estimating aircraft weight/size WEIGHT ANALYSIS
Take-Off Weight Computation Empty Weight Payload Weight Battery Weight for each flight leg Rearrange terms Mission Input Mission Output Empirically Derived Computed for each flight leg
SLUF Battery Weight Fraction Brandt p42
Flight Segments Aerodynamic Model: Take-off: Reference: Aircraft Design: A Conceptual Approach, Daniel P. Raymer Flight Segments Aerodynamic Model: Take-off: Cruise (Type 1 – Best Range; Type 2 – Velocity Specified) Loiter (Max. Endurance) Sustained Turn:
Assumptions The weight fraction is known and achievable 0.23 for most competitive AIAA D/B/F aircraft 0.40 for AIAA D/B/F competition average The motor and propeller efficiencies are constant (not true!) Known 2 term aircraft aerodynamic drag model is applicable Estimate and update based on wind-tunnel testing Wind speeds/directions not considered Increased power requirement for upwind flight segments with a headwind are not offset by reduced power requirements on the downwind flight segment. Human-in-the-loop – Pilot cannot always operate aircraft at optimal design point! Safety factor required to achieve design performance specification
Running the Weight Program Download and unzip the constraint analysis code(s) from Team Center. In the folder, you will see a program called weight.m. This is the master program, and it calls all of the other .m files as functions. There is no need to edit the master program, but feel free to take a look at the program and its functions to understand how it works. Update to input file (weight_input.txt) to include desired aircraft parameters and define different flight segments. Run weight.m in MATLAB, it will prompt you for an input file (weight_input.txt). Aircraft weight break-up and performance summary for each flight leg will be output to the Matlab screen. An example of the output follows.
The altitude is MSL (Altitude above Mean Sea Level). The input file is called weight_input.dat (You can rename it to whatever you want). Here is an example set of inputs: airplane 5. aspect ratio 0.08 Cdo 0.65 span efficiency 0.60 propeller efficiency 0.60 motor efficiency 22. wing loading (oz weight/ft2) 45. power to weight (Watt/lbf) 70000. energy (Joules) / Battery Weight (lbf) 0.40 empty weight fraction (emperical) 7.2 payload weight (lbf) take-off 1300. altitude (ft) 1.2 Clmax climb 100 alitude above ground to climb to (ft) 1. delta (% of max power) c1 1400. altitude (ft) 7000. cruise distance (ft) c2 40. cruise velocity (ft/s) lo t1 720. turn angle (degrees) 1.8 clmax t2 31.05 turn velocity (ft/s) 720. turn angle (degrees) Edit as required Each of the numbers in the input file must have a decimal in it. For example, 1.2, or 75. (not 75). Do not change the order of the different variables. Don’t change anything but the numbers! The altitude is MSL (Altitude above Mean Sea Level). You can repeat certain legs, for example, you can have multiple turn segments, ceilings, etc. To do so, simply add the new flight profiles to the input file. Sequence of flight segments is not important. Mission Legs Edit as required Note: Climb module available, but current version requires improvement and is not recommended for use.
Sample Output
Estimating aircraft performance FLIGHT ANALYSIS
Running the Flight Program Download and unzip the constraint analysis code(s) from Team Center. In the folder, you will see a program called flight.m. This is the master program, and it calls all of the other .m files as functions. There is no need to edit the master program, but feel free to take a look at the program and its functions to understand how it works. Update to input file (flight_input.txt) to include desired aircraft parameters and define different flight segments. Run flight.m in MATLAB, it will prompt you for an input file (flight_input.txt). Aircraft performance summary for each flight leg will be output to the Matlab screen, including energy requirements and surplus. An example of the output follows.
The altitude is MSL (Altitude above Mean Sea Level). The input file is called flight_input.dat (You can rename it to whatever you want). Here is an example set of inputs: airplane 5. aspect ratio 0.08 Cdo 0.65 span efficiency 0.60 propeller efficiency 0.60 motor efficiency 70000. Energy (Joules) / Battery Weight (lbf) 7.2 payload weight (lbf) 7.96 empty weight (lbf) 4.75 battery weight 14.48 wing planform area (ft^2) 895.95 motor power (watts) take-off 1300. altitude (ft) 1.2 Clmax climb 100 alitude above ground to climb to (ft) 1. delta (% of max power) c1 1400. altitude (ft) 7000. cruise distance (ft) c2 40. cruise velocity (ft/s) lo t1 720. turn angle (degrees) 1.8 clmax t2 1400. altitude (ft) 31.05 turn velocity (ft/s) 720. turn angle (degrees) Edit as required Each of the numbers in the input file must have a decimal in it. For example, 1.2, or 75. (not 75). Do not change the order of the different variables. Don’t change anything but the numbers! The altitude is MSL (Altitude above Mean Sea Level). You can repeat certain legs, for example, you can have multiple turn segments, ceilings, etc. To do so, simply add the new flight profiles to the input file. Sequence of flight segments is not important. Mission Legs Edit as required Note: Climb module available, but current version requires improvement and is not recommended for use.
Sample Output
Iterating through the feasible design space PERFORMACE OPTIMIZER
Program Format Software Platform: Matlab Flight Profiles: mission1.m, mission2.m Specify flight segment types, distances, etc. for each flight mission Main program: optimize.m Define design space, aircraft constants and scoring parameters Program Output: Matlab screen No output file
Mission Profiles (missionx.m) Place blue text in mission files in any sequence and any number of times. Required inputs are placed in <> and outputs include flight segment name (leg(i,:)), battery weight fraction (wb_wto(i,:)), velocity (v(i,:)) in ft/s, time (t(i,:)) in seconds and distance (x(i,:)) in feet. Input units are feet and degrees. Take-off: [leg(i,:) wb_wto(i,:) v(i,:) t(i,:) x(i,:)]=takeoffp((<altitude>, <Clmax>) Straight & Level Flight Cruise Type 1 (Min. Power Consumption) [leg(i,:) wb_wto(i,:) v(i,:) t(i,:) x(i,:)]=cruise1p(<altitude>, <distance>); Cruise Type 2 (Specified Velocity) [leg(i,:) wb_wto(i,:) v(i,:) t(i,:) x(i,:)]=cruise2p(<altitude>, <distance>, <velocity>); Loiter (Max. Endurance) [leg(i,:) wb_wto(i,:) v(i,:) t(i,:) x(i,:)]=loiterp(<altitude>, <distance>); Turns Turn Type 1 (Min. Power Consumption) [leg(i,:) wb_wto(i,:) v(i,:) t(i,:) x(i,:)]=turn1p(<altitude>, <angle>); Turn Type 2 (Velocity Specified) [leg(i,:) wb_wto(i,:) v(i,:) t(i,:) x(i,:)]=turn1p(<altitude>, <velocity>, <angle>); Note: Climb module available, but current version requires improvement and is not recommended for use.
Main Program (optimize.m) Input aircraft parameters Establish mission constraint to obtain required specific power requirements Usually take-off distance requirement Size aircraft for heaviest payload mission Evaluate aircraft performance for other missions Iterate through wing loadings and aspect ratios to optimize parameters of interest! File provided is based on 2007-2008 competition and will require to be tailored for each year’s requirements.
PAYLOAD MISSION T/O WEIGHT EMPTY MISSION T/O WEIGHT Example: 2007-2008 Flowchart INPUT: Wing Loading (WTO/S) & Aspect Ratio (AR) MAIN PROGRAM LOOP Drag Coefficient: Take-off Weight: TAKE-OFF Take-off Velocity: Distance: CRUISE Min. Power Cruise Point: Battery Weight Fraction: TURN Iterate load factor (n) and turn velocity. Minimize Battery Weight Fraction: PAYLOAD MISSION T/O WEIGHT MISSION 2 SCORE EMPTY MISSION T/O WEIGHT MISSION 1 SCORE
2007-2008 Sample Output
2007-2008 Sample Output
Pritesh Mody (pcmody@purdue.edu) Kyle Noth (knoth@purdue.edu) Contacts Pritesh Mody (pcmody@purdue.edu) Kyle Noth (knoth@purdue.edu)