<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>