Version2:Airframe Design Procedure

From Albatross

Jump to: navigation, search

This page is a brain dump about the airfoil/airframe/control design procedure, simulation and verification steps.

/TODO

Contents

Albatross Design/Verify/Simulate Cycle

Step 1: Canard aircraft design

  • Inputs: Wing and Canard parameters, mass distribution of flight components
  • Process: This is based on rules of thumb for Canard design.
  • Outputs: Wing and canard areas and AC, COG, wing loading, cruise and stall speed, etc. Should generate .avl and .mass files
  • Status: Half done.

Step 2: Airframe stability and operation analysis

  • Inputs: Output of step 1
  • Process: Uses AVL Vortex-Lattice model for aerodynamic analysis. Make it scriptable using python-pexpect.
  • Outputs: Basic aerodynamic properties (lift/drag), Trim, and Stability (Eigenmode analysis)
  • Status: Started.

Step 3: Optimization of Canard Design

Operate Steps 1 and 2 in a loop. Numerically optimize some/all airframe design parameters, try to minimize coefficient of drag etc to maximise endurance and cruise speed.

Step 4: Generation of Aircraft configuration files for JSBSim/Flightgear

  • Inputs: Outputs of steps 1 and 2.
  • Process: Convert into a JSBSim Aircraft configuration. (Think Aeromatic on steroids).
  • Output: JSBSim aircraft configuration file.
    • Aircraft XML file syntax - FIXME

Step 5: Simulated Aircraft Flight

Script JSBSim/Flightgear to fly a simple (or complex - i.e. the whole trans-tasman) flightpath and collect all measurements over the course of this flight. Flight at this stage will be controlled via an autopilot definition file but using the same basic autopilot architecture as we will use.

Step 6: HITL/SITL/Control Foo

Take the eigenmode (and other physical measures) from the step2 output and use these to tune the control system. We then do another scripted run of JSBSim, but this time we perform a full hardware-in-the-loop simulation using our flight control code running on the flight hardware.

Measures of Effectiveness

Theoretically we then can compare steps 4 and 5 to check if the airframe and control will work. Can check Controllability etc.

Possible Additional Steps

  • Do a few short duration (10-20 seconds) scripted flights, recording data. Add noise etc to that data to model the accelerometer/gyro/GPS/etc sensors and then run this through UKF state estimator and compare it to the true state values to test its effectiveness, and more a full HITL.
  • There could be some additional steps prior to 2 that use QProp and/or XFoil (which are motor and airfoils analysis tools similar to AVL) if we feel that these could benefit from further optimization.

How to Operate

Top level designer script

Usage:
./design.sh -i INPUT_DIR -o OUTPUT_DIR -n AIRCRAFT_NAME [OPTIONS] 

Options:
 -a Design airfoil
 -A Design airframe
 -p Profile airframe using AVL
 -O Optimize airframe
 -S Simulate airframe performance usin JSBSim
 -s Perform SITL test
 -h Perform HITL test
 -q Quiet output

Example:
./design.sh -i input/ -o output/ -n Albatross -Ap

Directory structure

/design.                                  Found in svn trunk
/design/design.sh                         The top level script
/design/check-deps.sh                     Checks deps, if OK design.sh should run
/design/inputs/                           Input files to the process (change these)
/design/inputs/Albatross.py               Class representing and aircraft
/design/airfoil/
/design/fuselage/canard-design.py         Generates .avl and .mass files
/design/fuselage/get-aerodynamic-data.py  Takes uses AVL to make .run and .eig files
                                          Can be run in optimize mode.
/design/simulate/
/design/outputs/

Other notes

  • Outputs go into the output folder by data

More Information

Personal tools