Sophie

Sophie

distrib > PLD > ra > i686 > by-pkgid > 8171ff4b6e180feeffd0f4c18dfac9be > files > 3033

FlightGear-0.8.0-1.i686.rpm

<html>
<head>
<title>Source Code Guide</title>
</head>
<body>

<pre>
************************************************
*                                              * 
*  FGFS Reconfigurable Aircraft Flight Model   *
*  Sample Input Files                          * 
*  Version 0.73, June 27, 2000                 *
*                                              *
*  Authors:                                    *
*  Jeff Scott (jscott@mail.com)                *
*  Bipin Sehgal (bsehgal@uiuc.edu)             *
*  Michael Selig (m-selig@uiuc.edu)            *
*  Dept of Aero and Astro Engineering          *
*  University of Illinois at Urbana-Champaign  *
*  Urbana, IL                                  *
*  http://amber.aae.uiuc.edu/~m-selig          *
*                                              *
************************************************ 

This page contains a guide to the Flight Gear and UIUC Aircraft Model
directories.  This code requires a number of development packages to
compile, including:
  -MESA (an OpenGL clone)
  -PLIB (portable gameport library)
  -Cygwin32 (a UNIX shell for Windows)
  -Automake and Autoconf
  -Perl
  -GNU C/C++ compiler (such as Cygwin)

To install these items and compile the code takes approximately 4-6
hours depending on the speed of the platform.  And that assumes
everything works the first time!


The heart of <a href="src/FlightGear/">Flight Gear</a> is the 
<a href="src/FlightGear/Simulator/">Simulator</a> directory.  This
directory contains:

<a href="src/FlightGear/Simulator/FDM/">Flight Dynamics Models</a>:
 -<a href="src/FlightGear/Simulator/FDM/LaRCsim">LaRCsim</a>
 -<a href="src/FlightGear/Simulator/FDM/JSBsim">JSBsim</a>
 -<a href="src/FlightGear/Simulator/FDM/Balloon">Balloon simulator</a>
  LaRCsim contains three flight models, although only two of these are
  shown in this model.
   -Navion
   -Cessna 172
  The third, cherokee_aero.c, is included in the 0.7.3 release of
  Flight Gear although it is not functional. The UIUC Aircraft Model
  is also now avialble under LaRCsim.  This model will be discussed in 
  more detail later.

<a href="src/FlightGear/Simulator/Cockpit">Cockpit instruments</a>
<a href="src/FlightGear/Simulator/Controls">Control surface settings</a>
<a href="src/FlightGear/Simulator/Scenery">Graphics modules</a>
<a href="src/FlightGear/Simulator/Airports">Airport scenery</a>
<a href="src/FlightGear/Simulator/Clouds">Cloud generation</a>
<a href="src/FlightGear/Simulator/Astro">Astronomical bodies</a>
<a href="src/FlightGear/Simulator/Time">Timezones</a>
and other features still under development.

The principal effort of the UIUC development team is in flight
dynamics.  Using LaRCsim as a starting point, the reconfigurable UIUC
Aircraft Model was developed so that different types of aircraft could
be flown using an input file.  In the executable provided with this
distribution, the UIUC model is the default and the other flight
models available to LaRCsim are not available.

<a href="src/FlightGear/Simulator/FDM/LaRCsim/">LaRCsim</a> calls the 
<a href="src/FlightGear/Simulator/AircraftModel/">UIUC model</a> through 
 -uiuc_aero.c
   This file calls the various routines needed to determine
   the forces and moments acting on the aircraft.

The first function called in the
 -uiuc_init_aeromodel()
   This function is contained in the file uiuc_wrapper, an interface
   between the C++ files used in the UIUC Aircraft Model and the C files
   of LaRCsim.  The init function is only active at runtime to initialize
   all the required variables.

The init_aeromodel function calls to
 -uiuc_initializemaps()
   This function in turn calls a series of 19 subfunctions
   [uiuc_map_xxx()].  Each of these map initializations creates a portion
   of the variables available for use by the Aircraft Model.
 -uiuc_menu()
   This function reads the input file specified at runtime and reads
   the data into the appropriate variables.

Once the initialization is complete, the simulation has begun and the
forces and moments acting on the aircraft must be determined.  The
majority of these forces and moments are aerodynamic, so the
aerodynamic coefficients must be determined.  Therefore, the next step
is to determine the state of the aircraft control surfaces:
 -uiuc_aerodeflections()
   This function uses the "joystick" or pilot input and the maximum
   deflections of the control surfaces to determine the angular
   orientation of each surface.  Currently only the aileron, elevator,
   and rudder functions are in use as the flaps model remains under
   development.

The coefficients themselves can now be determined using the control
surface deflections:
 -uiuc_coefficients()
   The coefficients function also calls to a series of 6 subfunctions
   in order to calculate the coefficients of drag, lift, pitch,
   sideforce, roll, and yaw.  If the user has specified ice accretion
   in the input file, the coefficients will be appropriately modified
   through the icing routine:
 -uiuc_ice_eta()
 -uiuc_ice_filter()

The aerodynamic forces and moments can then be calculated in 
 -uiuc_force_moment()

The engine force and moment routine is similar in layout to that for
aerodynamic properties.  Once the engine routine is called, the forces
and moments are determined for the specific model in use:
 -uiuc_engine()

The landing gear model currently used is the same as that provided in
LaRCsim for the Cessna 172:
 -uiuc_gear()

A more generic gear model will be added in the future.

Once these forces and moments have all been determined, they are
summed to find the total forces and moments on the aircraft.  The
LaRCsim flight dynamics model can then compute the new orientation of
the aircraft.  The process then begins again for the succeeding time
step.

Other features developed for the UIUC Aircraft Model include:
 -uiuc_recorder()
   A flight data recorder.  In the aircraft.dat input file, the user
   can specify a number of variables to be output for analysis.
 -uiuc_betaprobe()
   A sensor to detect the presence of icing.  The percentage of
   degradation in performance due to icing can be displayed to the pilot
   through a separate graphics inerface.
 -<a href="src/panel/">Networked instrument panels</a>
   Work is also underway to develop glass cockpit display panels that
   run over a network.  The goal of this effort is to develop better
   ways of informing pilots of ice accretion.
</pre>

</body>
</html>