NASA Contractor Report 186019 An Aircraft Model for the AIAA Controls Design Challenge Randal W. Brumbaugh Contract NAS 2-12722 December 1991 NASA National Aeronautics and Space Administration NASA Contractor Report 186019 An Aircraft Model for the AIAA Controls Design Challenge Randal W. Brumbaugh PRC Inc., Edwards, California Prepared for NASA Dryden Flight Edwards, California Under Contract NAS 1991 Research 2-12722 Facility NASA National Aeronautics and Space Administration Dryden Flight Research Facility Edwards, California 93523-0273 An Aircraft Model for the AIAA Controls Design Challenge Randal W. Brumbaugh* PRC Inc. Edwards, California Abstract This paper describes a generic, state-of-the-art, highperformance aircraft model, including detailed, fullenvelope, nonlinear aerodynamics, and full-envelope thrust and first-order engine response data. While this model was primarily developed for the AIAA Controls Design Challenge, the availability of such a model provides a common focus for research in aeronautical control theory and methodology. This paper also describes an implementation of this model using the FORTRAN computer language, associated routines furnished with the aircraft model, and techniques for interfacing these routines to external procedures. Figures showing vehicle geometry, surfaces, and sign conventions are included. Nomenclature A axial force, lb a speed of sound in air, ft/sec Gy normal acceleration, g Ons a-body axis accelerometer output, accel- erometer at center of gravity, g On y-body axis accelerometer output, accel- erometer at center of gravity, g Onz z-body axis accelerometer output, accel- erometer at center of gravity, g a, acceleration along the x-body axis, g ay acceleration along the y-body axis, g a, acceleration along the z-body axis, g b wingspan, ft Cc force or moment coefficient Cp coefficient of drag CL coefficient of lift Cr coefficient of rolling moment “Electrical engineer, member AIAA. This paperis a work of the U.S. Government and is not subject to copy- right protection in the United States. coefficient of pitching moment coefficient of yawing moment coefficient of sideforce mean aerodynamic chord, ft drag force, Ib determinant of matrix specific energy, ft flightpath acceleration, g actuator transfer function acceleration due to gravity, ft/sec? altitude, ft vertical acceleration, ft/sec” aircraft inertia tensor, slug-ft? rotational inertia of the engine, slug-ft? x-body axis moment of inertia, slug-ft? x-y body axis product of inertia, slug-ft? a-z body axis product of inertia, slug-ft? y-body axis moment of inertia, slug-ft? y-z body axis product of inertia, slug-ft? z-body axis moment of inertia, slug-ft? aerodynamic constant total body axis aerodynamic rolling moment, ft-lb; or total aerodynamic lift, Ib generalized length, ft Mach number; or total body axis aerodynamic pitching moment, ft-Ib aircraft total mass, slug mass of engine normal force, lb; or total body axis aerodynamic yawing moment, [1-Ib load factor specific power, ft/sec roll rate, rad/sec; or pressure, lb/ft? ambient pressure, Ib/ft? total pressure, !b/fi? pitch rate, rad/sec dynamic pressure, lb/ft? impact pressure, lb/ft? Reynolds number Reynolds number per unit length, ft! yaw rate, rad/sec wing planform area, ft complex frequency ambient temperature, K; or total angular momentum slug-ft? /sec? ; or thrust, Ib total temperature, K velocity in a-axis direction, ft/sec total velocity, ft/sec calibrated airspeed, kn equivalent airspeed, kn velocity in y-axis direction, ft/sec vehicle weight, Ib velocity in z-axis direction, ft/sec total force along the x-body axis, lb thrust along the z-body axis, lb sideforce, Ib thrust along the y-body axis, Ib total force along the z-body axis, lb thrust along the z-body axis, lb angle of attack, rad angle of sideslip, rad flightpath angle, rad displacement of aerodynamic reference point from center of gravity displacement from center of gravity along x-body axis, ft displacement from center of gravity along y-body axis, ft displacement from center of gravity along z-body axis, ft differential aileron command differential stabilator command symmetric stabilator command directional command Kronecker delta pitch angle, rad Bb coefficient of viscosity p density of air, slug/ft xb total body axis rolling moment, ft-lb ZM total body axis pitching moment, ft-lb IN total body axis yawing moment, ft-Ib ¢ roll angle, rad PL tilt angle of acceleration normal to the flight- path from the vertical plane, rad y heading angle, rad wW total rotational velocity of the vehicle Superscripts derivative with respect to time Subscripts A aileron ar aerodynamic reference point D differential stabilator D total drag E engine H symmetric stabilator h altitude rr) measurement not at aerodynamic reference L total lift £ rolling moment M Mach number ™ pitching moment n yawing moment 0 offset from center of gravity p roll rate q pitch rate R rudder r yaw rate 8 stability axis x along the z-body axis Y sideforce y along the y-body axis z along the z-body axis 0 standard day, sea level conditions Introduction Background and History This paper describes the structure and implementation of a high-performance aircraft model. The model was developed for the AIAA Controls Design Challenge, but is intended to be useful for a variety of controls and guidance applications. Model definition and implementation are covered in separate sections. The AIAA Controls Design Challenge provides an opportunity for participants to apply control system design methodologies to a realistic, nonlinear aircraft model. Any design which performs the control task is acceptable, but innovative or unusual approaches have been encouraged. The challenge is a two-year competition. Control designs are judged according to their ability to control the model during a level acceleration and 3-g turn maneuver at four specified flight conditions. The model integrates several components. Existing pieces were used whenever possible and modified to facilitate integration. The result is that most of the model implementation is based directly on proven and reliable components, although the resulting model is not completely representative of any particular aircraft. Because of the mixed history of the model, some aspects may appear to resemble actual aircraft. The user is warned against making any assumptions based on these appearances. Model Characteristics The model is a collection of modules, each performing a specific function. The primary modules are the aircraft actuator and surface command inputs, aircraft mass and geometry modeling, the equations of motion, the atmospheric model, the aerodynamics, the propulsion system, and the observation variable modeling. Each major module is described in the following sections. Figure 1 shows how the modules would be connected together with user synthesized control laws to form a complete system model. Aircraft Description The aircraft modeled is a high-performance, supersonic vehicle representative of current-day fighters. It is powered by two afterburning turbofan engines, each capable of producing approximately 32,000 Ib of thrust. A three-view of the aircraft is shown in Fig. 2, including control surfaces and locations. Fig. 2 Three view of aircraft and control surfaces. The operational envelope for this vehicle, for trimmed, straight-and-level, 1-g flight is shown in Fig. 3 for the specified weight of 45,000 Ib. The envelope includes a maximum Mach number (M) of 2.3 and an altitude limit in the 50,000- to 60,000-ft range. Mass and geometry parameters are given in Table 1. The aircraft primary flight-control surfaces consist of horizontal stabilators which are capable of symmetric or differential movement, conventional ailerons, and a single Control »|{ Saucrtfuaacteosr/ dynamics User supplied control jaws A Atmospheric model { >i| Aerodynamics | E tions ee motion _| Propulsion system __] Fig. 1 Modular structure of the model. > Observation/ instrumentation 910487 Table 1. Mass and geometry characteristics. Parameter Wing area Wing span Mean aerodynamic chord Vehicle weight Moments of inertia (Roll) (Pitch) (Yaw) Products Symbol 8 b é Ww I, i I, Tus Izy Ty Value 608.0 ft? 42.8 ft 15.95 ft 45,000.0 Ib 28,700.0 slug/ft? 165,100.0 slug/ft? 187,900.0 slug/ft? —520.0 slug/ft? 0.0 slug/ft? 0.0 slug/ft? vertical rudder. The individual surface position limits, rate limits, and sign conventions for positive deflection are detailed in Table 2. The equations in Table 3 define the individual surface deflections in terms of command inputs. There are a total of five actuators; two aileron, two stabilator, and one rudder. The model includes identical actuators for all surfaces. These actuators are rate limited at 24 deg/sec and have a first-order response modeled by 20 G(s) = s+ 20 A block diagram of the actuator model is shown in Fig. 4. The command inputs to the aileron and stabilator surfaces are differential and symmetric commands, which are sep- arated into inputs to The resulting surface each of the surface actuator models. positions are then recombined to ob- tain the command response. This is shown for the stabila- tors in Fig. 5. Because of the nonlinearities in the stabilator command path, the commands will interact in ways which are not easily predicted. This interaction is shown in Figs. 6 and 7. Aerodynamic Model The aerodynamics are modeled for the full vehicle envelope using multidimensional tables and linear interpolation to form nonlinear function generators. In general, these aerodynamic quantities are functions of M and some combination of angle of attack (a), angle of sideslip (8), and symmetric stabilator deflection. Table 3. Surface deflection definition equations. Surface Sava SAdge Orne SHige bp Deflection definition ba +2 —5,a +2 (28 — ip) +2 (264 + 6p) +2 dp Rate limit _deg/sec 24 24 2A 24 2A The equations defining the aerodynamic model provide nondimensional force and moment coefficients. The longitudinal parameters are in the stability axis system; the lateral-directional parameters are given with respect to the body axis system. The equations used for this model are given in the following Cisms = Cisanc + AC.., Ne Omens = Cras + AC, Me tAaan (Cm + Cr + Crpasicd No) Crsma = Cp + ACp,, + ACD. Cysoov = Cy sasic + Cy,, ba + Cy,,, 5p - AC,,, Ks, Crsooy = Clouse + Ce, 5a + Ce,bo — ACt,, Kine oaaa (Ce,p + Ce,7) Crsopy = Crue + Cus, ba + Cry, 6p + AC, Ks,, +aoa (Ca, P + Ca,7) The terms in the equations containing C, AC, AN, or K afe outputs from the function generation routines, and are either calculated by linear interpolation of tabular data or by direct calculation. The source of the functional coefficients is shown in Table 4. Propulsion System Model The propulsion system model consists of two distinct engine models. The engines are similar, but not identi- cal; the thrust produced for identical throttle settings is not Table 2. Command input limits and sign conventions. Command name Aileron Symmetric stabilator Differential stabilator Rudder Symbol 5a én dp bp Limits, deg +20 +15/—25 +20 +30 _ Positive sign convention Left trailing edge down Trailing edge down Left trailing edge down Trailing edge left 70,000 60,000 50,000 Altitude, 42,000 f ft 30,000 20,000 10,000 0 5 10 15 20 25 3.0 Mach 910488 Fig. 3 Vehicle operational envelope at 45,000 Ib. Gain Surface + command,—>>€p—>|_ 20 rad -4 Rate limit > HE Position limit 1 > — HH s Integrator Fig. 4 Block diagram of actuator model. Surface position, rad 910490 +15°/-25° 5H COMMAND 7} H Surface left dynamics Sy Rate| .| 20 ~ ¢ limit] |s +20 24 deg/sec +15°/-25° +20° 5 Hright dSyunrafmaicces > SD COMMAND 7 Rlaitmte {| ,|_|s2+020) ~ 7 24 deg/sec +15°/-25° 910681 Fig. 5 Stabilator command path. 8 10 F -10 - rs) H = -20° -10 F dy = +12° —8 8 -20 -20 J l tl J -10 0 10 20 SD commanp: 99 orcee2 Fig. 6 Effect of & on & response. 25 \ I i I l 1 -25 -20 15 -10 -5 0 5 SHcoMMAND: 99 Fig. 7 Effect of 5p on 5y response. I j 10 15 orones Table 4. Source of aerodynamic coefficients. Coefficient Charnec AC.,, RBASIC ACn “ Cn, Cn, ANo Cp(a < 32) (32 40) ACp, ACD Cessac ACg,, Ks, Ce, Ce, Caspase Cas, Cas, AC, Ka, Ch, Cy, Cy samc Crs, Cy, AC,,, Ks, Source Table Table Table Table Table Table Table Table Table Cale Calc Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Independent __ variables M,a, dy M M,a,éy M M,a M,a M = Crganc, M C),,,.,M,a Craanc & MM, throttle M,a,f M,a, dp M M,a M,a M,a, M,a M,a M,a, M,a M,a M,a M,a, M,a M,a M,a,5p M symmetrical. Each engine thrust vector is aligned with the body axis, and acts at a point located 10 ft behind the vehicle center of gravity and 4 ft laterally from the centerline. The thrust produced by each engine is a function of altitude (h), M, and throttle setting. Each engine is modeled as a nonlinear system having two separate sections; a core engine and an afterburner (augmentor) section with associated sequencing logic. Throttle position inputs to the engine model are in degrees, with a minimum position of 20° and a maximumof 127°. The core section responds to throttle inputs up to 83°. The afterburner section begins to respond at a throttle poSition of 91°. The core model has first-order dynamics and rate limiting to model spool-up effects. A block diagram of the core model dynamics is shown in Fig. 8. The afterburner has a rate limiter and sequencing logic to model the fuel pump and pressure regulator effects. A block diagram of the afterburner model dynamics is shown in Fig. 9. Observation Model The observation variables provided by this model represent a broad class of parameters useful for vehicle analysis and control design problems. These variables include the State, time derivatives of state, and control variables. Airdata parameters, accelerations, flightpath terms, and other miscellaneous parameters are also included. The equations used to calculate those parameters are derived from a number of sources (Clancy, 1975; Dommasch et al., 1967; Etkin, 1972; Gainer and Hoffman, 1972; Gracy, 1980). Implicit in many of these observation equations is an atmospheric model. The atmospheric model is derived from the U.S. Standard Atmosphere (1962). Three body axis angular rates and three translational accelerations are available as observation variables. These in- clude the +-body axis rate (u), the y-body axis rate (v), and the z-body axis rate (w). The time derivatives of these quantities, u, v, and w are also included. The equations defining these quantities are u=Vcosacos B v=V sin B w= V sin acosB ie (eens eee m Lsina ) tre aw b== (Fetemen tanec? m )+pw-ru we (= gmcos @cos ¢ — Dsina — nme) 7 m +qu — pv The vehicle body axis accelerations constitute the set of observation variables that, except for state variables themselves, are most commonly used in aircraft control analysis and design problems. These accelerations are measured in g units and are derived directly from the body axis forces defined in the previous section for translational acceleration. The equations used for the body axis acceleration a,, ay, and a, are a, = (X - Dr cosa+ Lsin a — gmsin 6) /gom ay = (Yr + Y + gmcos Osin ¢)/gom a, = (Zr — Dsin a — Lcos a+ gmco@scos ¢)/gom where subscript 0 denotes standard day, sea level conditions. The equations for the outputs of the body axis accelerometers (denoted by subscript n) that are at vehicle center Gain schedule Core input Rliamtiet Y Integrator Limit Core -| + a7N” > He | Multiplier a 8 | HO command, percent Fig. 8 First order engine core dynamics. Core output pTehrrcusetn,t ™> Fuel flow, percent 910491 Afteirnbpuutrner Afterburner + >>4—. > command, percent 7|4 Dead band Rlaimtiet > H Sequleongiccing >| —81 Integrator Function j Aftoeurtbpuurtner chAafrtaecrtebruirsnteircs ‘Thrust, -e-> $ 20 +20 >| Function -—> Percent Fuel flow, Fuel pump, percent pressure regulator lag 910492 Fig. 9 Engine afterburner model dynamics. of gravity are Oe, = (Xz ~ Deos Lsinaat )/gom Ow = (Yr + Y)/gom Que = (Zr — Dsin a — Los a)/gom Gn = —On relative to the vehicle center of gravity. Included in the set of acceleration equations is load factor, n= L/W, where L is the total aerodynamic lift and W is the vehicle weight. Included in the observation variables are the flightpath-related parameters, including flightpath angle (+), flightpath acceleration (fpa), vertical acceleration (A), flightpath angle rate (+), and scaled altitude rate (h/57.3). The equations used to determine these quantities are For orthogonal accelerometers that are aligned with the vehicle body axes but are not at vehicle center of gravity (denoted by subscript ,i), the following equations apply Our, = Gur — [(¢? + ras — (pq — T) Ya — (pr + 4)zs] /90 + (qr — Pp) zy] /90 Gui = Oy + [(pr —Qr,+ (gr+ D)Yz —(q° + p*)zz] /90 Gai = —Oni where the subscripts x, y, and z refer to the z-, y-, and 2z-body axes, respectively, and the symbols x, y, and z refer to the z-, y-, and z-body axis locations of the sensors go h = a, sin6 — ay sin $ cos6 — a, cos cos 0 _ Vh-hv VVV?2 — i? Two energy related terms are included in the observation variables; specific energy (E,) and specific power (P,), defined as y2 E,=h+ a P,=h+ ] The set of observation variables available also includes four force parameters; total aerodynamic lift (L), total aerodynamic drag (D), total aerodynamic normal force (NV), and total aerodynamic axial force (A). These quantities are defined as L = GSC isan D = GSCodens N= Lcosa+ Dsina A=-Lsina+ Dcosa where Cragny afd Ozyny are coefficients of drag and lift, respectively. The airdata parameters having the greatest application to aircraft dynamics and control problems are the sensed parameters and the reference and scaling parameters. The sensed parameters are impact pressure (g,), ambient or freestream pressure (p,), total pressure (p,), ambient or freestream temperature (7°), and total temperature (T;). The selected reference and scaling parameters are Mach number (M), dynamic pressure (g), speed of sound (a), Reynolds number (He), Reynolds number per unit length (Re’), and the Mach meter calibration ratio (q./p,). These quantities are defined as wed pe = @ VE m Re' = OBY a._)pv? {(1.0+ 0.2M?)—?51.0] p, (M < 1.0) 4 c= [2a (skis) 2.5 -1.0| Po (M> 1.0) Pt = Pot 4 T =7T(1.0+0.2M?) where £ is length, p pressure, T is ambient of free-stream temperature, p the density of the air, and y the coefficient of viscosity. Free-stream pressure, free-stream temperature, and the coefficient of viscosity are derived from the U.S. Standard Atmosphere (1962). Included in the airdata calculations are two velocities: equivalent airspeed (V,) and calibrated airspeed (V,), both computed in knots. The calculations assume that internal units are in the English system. The equation used for equivalent airspeed is Ve = 17.17VG which is derived from the definition of equivalent airspeed, where po = 0.002378 slug/ft? and V, is converted from feet per second to knots. Calibrated airspeed is derived from the following definition of impact pressure po (10+ rave) ~ 7 (V.< a0) qc = 1.2 (%)" po [seater - — po (V, > ao) For the case where V, < ao, the equation for V, is V, = 1479 116 (#Po + 10) 2/7 ~1.0 Calibrated airspeed is found using an iterative process for the case where V, > ao g 1.0 25 ° U(« Ve = 582 .95174 ay 10) [10 - a T.0(Vd e/a0)? is executed until the change in V, from one iteration to the next is less than 0,001 ka. The final set of observation variables provided is a miscellaneous collection of other parameters of interest in analysis and design problems. The first group consists of measurements from sensors not located at the vehicle center of gravity. These represent angle of attack (a.;), angle of sideslip (8), altitude (h ,), and altitude rate (hy) measurements displaced from the center of gravity by some z-, y-, and z-body axis distances. The equations used to compute these quantities are hi=h+ zsin 0 — ysin ¢cos @ — zcos ¢cos 0 hy = h+ 6(xcos6+ ysin sin6+ zcos dsin 6) —¢(ycos ¢ cos 6 — z sin ¢cos 6) The remaining miscellaneous parameters are total angular momentum (T), stability axis roll rate (p,), stability axis pitch rate (g,), and stability axis yaw rate (r,), defined as T=>51 (Isp? — 2 Ieypq — 2 Inspr + Iyq? —2Iyqrt+ I,r*) Ps=pcosa+rsina D,=1,-I, D,=1,-1, D, = ly —Is W=4 The translational acceleration equations used are T, = —psina+ rcosa Equations of Motion and Atmospheric Model The nonlinear equations of motion used in this model are general six-degree-of-fteedom equations representing the flight dynamics of a rigid aircraft flying in a stationary atmosphere over a flat, nonrotating Earth. These equations of motion were derived by Etkin, and the derivation is detailed in Duke, Antoniewicz, and Krambeer. The equations for each variable in the state vector are given in the following. The following equations for rotational acceleration are used p= [(ZL)N + (2M)Ip + (ZN)Is — p* (rela — Igy!) + pq(Izzli — Iyzt2 — Dz Is) ~ pr Ieyl + Dyl2 — Iyel3) + @? (Iyelt — Iny ls) —qr( Dsl, — Tyo + Tue ts) —r?(Iysli — Ine l2)] /det I q= [((ZL)Ip + (ZM)Ig + (ZN)I5 — p* TeeIa — Inys) + pq( Teel — IyzI4 — DzIs) ~ pr( Isyl2 + Dyla — Iys Ts) + q?(Iyel2 — Iny Is) —qr(Del2 — Inylg + Izels) — 17 (Iysl2 — Ins I4)] /det I V =[—Dcos8+Ysin B+ Xp cos acos B +Yrp sin 8 + Zr sin acos 8 —mg(sin 6 cos acos# — cos Asin Psin B — cos 6 cos ¢sin acos B)] /m a@=[—-L+ 2Zrcoa— Xrsina + mg(cos Ocos @cos a + siOnsin w)] /Vmcos B +q— tan B(pcosa+ rsin a) B=([Dsin B+ ¥ cos 8 — Xrcos asin B +Yr cos B — Zr sin asin B +mg(sin @cos asin 8+ cos @sin ¢cos A — cos #cos p sin asin B)] /Vm +psa i — rn cosa where a, 8, 0, and ¢ are angles of attack, sideslip, pitch, and roll, respectively; Xr, Yr, and Zr are thrust along the z-, y-, and z-body axes; and D is drag force, g gravitational acceleration, L total aerodynamic lift, m total aircraft mass, V total velocity, and Y sideforce. The equations defining the vehicle attitude rates are 6=qcos¢—rsing yp = sin psec0 + rco¢ ssec 6 t= [(LL)b + (ZM)Is + (ZN)I6 — p*(Iuels — Inyle) + pq( Ize 13 — IyeIs — Dz Ie) — pr( IsyI3 + DyIs — Iyz te) + 9? (Tyels — Ieyle) —qr( Dig — IxyIs + InzI6) —1?(IysI3 ~ IxeI5)]} /det I ¢ = p+ qsin ptan 0 + rcos ¢tan 0 where yp is heading angle. The equations defining the Earth-relative velocities are h = V(coBscos asin6 — sin Bsin ¢ cos 0 Where LL, 2M and ZN are the aerodynamic total moments about the x-, y-, and z-body axes, respectively, including power plant induced moments, and det I = IzlyIg — 2 Ieylzslys — Iz], — Iy12, — 1212, l= 1,1, — I, Ip = Igyl, + Tye les Ty = Inylye + Iylas — cos fsin acos ¢cos 6) z= V[ cos Bcos acos @cos p + sin A(sin ¢ sin @ cos » — cos ¢ sin p) + cosB sin a(co¢ ssin cosp + sin d sin W)] y = V{ cos Bcos acos @sin p + sin A(si¢ nsin 0 sin y + cos ¢ cos p) + coBssin a(co¢ ssin @ sinyp — sin Pcos ¥)} I, = Ip], — 22, Is = Ig lye + Inylze Is = Izl,— EB, The atmospheric data model is based on tables from the U.S. Standard Atmosphere (1962). This model calculates values for speed of sound, acceleration due to gravity, air density, viscosity, and ambient static pressure and temperature. These values are calculated based on altitude. The 11 tabular data is organized on evenly spaced breakpoints between 0 and 90 km. Linear interpolation is used between table values for altitudes in this range; the extreme values are used for altitudes outside the range. FORTRAN Implementation The model is implemented as a program in standard FORTRAN 77 programming language. The program is intended to be portable, and has been successfully compiled on a wide fange of computer platforms. The routines which implement the models are designed in a modular fashion, patterned after the modules described in the previous section. Modules communicate through named common blocks. There are four primary subroutines; each corresponds to a primary module in the model. These routines are CCALC, ENGINE, INSTRM, and UCNTRL. The CCALC routine performs the calculations for the aerodynamic model. The UCNTRL routine, supplied by the user, calculates desired control surface deflections for the aerodynamic modeling routines. The INSTRM routine calculates the instrumentation models for the observation variables. The ENGINE routine contains the propulsion system model. These subroutines and associated common blocks are described in detail in the following subsections. Aircraft Characteristics Vehicle mass and geometry information is read from the file params.dat. These values are stored in the common block DATAIN as follows COMMON /DATAIN/S , B_ , CBAR, AMSS, AIX , AIY , AIZ , AIXZ, AIXY, AIYZ, AIXE The first three variables in the common block, S, B, and CBAR, represent wing area, wingspan, and mean aerodynamic chord, respectively. The vehicle mass is represented by AMSS. The remaining values are vehicle inertias. The aerodynamic data are communicated from ADATIN to CCALC through named common blocks that occur in only these two routines. The interface between CCALC and the main program consists of several named common blocks that are used to pass state variables, airdata parameters, surface positions, and force and moment coefficients between CCALC and the calling program. The main transfer of data into the subroutine CCALC is through named common blocks. These common blocks contain the state variables, airdata parameters, and surface positions. The transfer of output data from CCALC is through a named common block containing the aerodynamic force and moment coefficients. The details of these common blocks follow. The common block DRVOUT contains the state variables and their derivatives with respect to time. The structure of this common block is shown in Table 5. The state variables Table 5. Names and locations of state variables and derivatives in DERIVC common block. Index F 1 T P 3 Q 4 R 5 Vv 6 ALP 7 BTA 8 THA 9 PSI 10 PHI 11 H 12 XxX 13 Y DF TDOT PDOT QDOT RDOT VDOT ALPDOT BTADOT THADOT PSIDOT PHIDOT HDOT XDOT YDOT Description time Pp q r velocity a B 6 y ¢ h X position y position Equations of Motion and Atmospheric Model Routines The routine DERIVC calculates the equations of motion, based on the previously listed model equations. The routine INTG integrates the equations to calculate the new state vector. The integration is performed using a second-order Runge-Kutta midpoint algorithm. Atmospheric model calCulations are performed by the ALTEN routine. Aerodynamic Model Routines The aerodynamic model contains two major subroutines, ADATIN and CCALC. The subroutine ADATIN is used during initialization to input the basic formatted aerodynamic data from the file HPAS.dat. The subroutine CCALC uses this aerodynamic data, the state variables, and the surface positions to determine the aerodynamic coefficients. The CCALC subroutine is executed whenever new aerodynamic coefficients are required (for example, once each frame during a simulation). are stored first, in the F array, and the derivatives follow in the DF array. Each array contains 13 elements. Routitties which require access to these arrays use an EQUIVALENCE statement to allow access to the variables by the names shown in Table 5, for clarity. For example, the body axis tates p, g, and r appear as P, Q, and R, respectively. Total velocity is represented by the variable V, and altitude by H. COMMON /DERIVC/ F(13), DF(13) The common block SIMOUT contains the main airdata parameters required for the function generation subroutine. The variables in this common block are COMMON /SIMOUT/ AMCH, QBAR, GMA, DEL, UB, VB, WB, VEAS, VCAS 12 Mach number and dynamic pressure are the first entries in the common block, symbolized by AMCH and QBAR, respectively. The body axis velocities u, v, and w are included as UB, VB, and WB, respectively. Inputs to the actuator models are entered through the variables in the CONCOM common block, the structure of which is shown in the following COMMON /CONCOM/ DAC, DHC, DRC, DDC The actuator model routine, ACTDYN, calculates the appropriate inputs to the aerodynamic model, based on the command inputs, and stores them in the CONTRL common block. The CONTRL common block contains the surface position and engine thrust information in the DC array. The structure of the common block /CONTRL/ is as follows COMMON /CONTRL/ DC (30) There are six locations in the DC array used. The definition of these is shown in Table 6. Routines which access these parameters usually EQUIVALENCE them to the variable names shown in the table. Table 6. Names and locations of command inputs. Array index 1 5 8 9 1 12 Command variable DAC DHC DDC DRC ----- Position _—variable DA DH DD DR Function 5a ou dp br left engine thrust right engine thrust The common block SIMACC contains the accelerations, accelerometer outputs, and normal accelerometer output at the center of gravity of the aircraft. COMMON /SIMACC/ AX , AY , AZ , ANX, ANY, ANZ, AN The output common block CLCOUT contains the variables representing the aerodynamic moment and force coefficients COMMON /CLCOUTC/L, CM, CN, CD, CLFT, CY The variables CL, CM, and CN are the symbols for the coefficients of rolling moment (C,), pitching moment (C,,), and yawing moment (C,), respectively; these terms are body axis coefficients. The stability axis forces are represented by CD (coefficient of drag Crp), CLFT (coefficient of lift C,), and CY (sideforce coefficient Cy). Propulsion System Model Routines The top level subroutine ENGINE computes individual engine parameters to calculate force, torque, and gyroscopic effects caused by engine offset from the centerline. Each time ENGINE is called, it calls the interface routine UENGIN, which calls the actual engine model in the routine ENGMDL. After ENGMDL computes thrust from each engine, ENGINE uses the parameters in the ENGSTF common to compute force, torque, and gyroscopic effects. The control inputs to the engine model are THRSTX(1) for the left engine throttle position in degrees, and THRSTX(2) for the right engine. The THRSTX array is in the CTPARM common block. The output thrust is available in two locations; left engine thrust appears as DC(11), in the CONTRL common block, and as THRUST(1) in the ENGSTF common block. Similarly, right engine thrust appears as DC(12) and THRUST(2). Various other parameters used for calculation of engine effects are passed through common block ENGSTF as follows COMMON /ENGSTF/ THRUST (4), TLOCAT (4,3), XYANGL (4), XZANGL (4), TVANXY (4), TVANXZ (4), DXTHRS (4), EIX (4), AMSENG (4), ENGOMG (4) The variables in this common block correspond to thrust (THRUST), the z-, y-, and z-body axis coordinates of the point at which thrust acts (TLOCAT); the orientation of the thrust vector in the x-y body axis plane (KYANGL) in degrees; the orientation of the thrust vector in the x-z body axis plane (XZANGL) in degrees; the orientation of the thrust vector in the z-y engine axis plane (TVANXY) in degrees; the orientation of the thrust vector in the x-z engine axis plane (TVANXZ) in degrees; the distance between the center-of-gravity of the engine and the thrust point (DXTHRS) measured positive in the negative x-engine axis; the rotational inertia of the engine (EIX); mass (AMSENG); and the rotational velocity of the engine (ENGOMG). Although many of the engine arrays are sized to contain four elements, only the first two are used. The first element corresponds to the left engine, the second to the right engine. Engine data is contained in the file ENGINE.dat, stored as formatted text. Observation Model Routines The common block OBSERV allows the user to access all the observation variables. This common block contains the two vectors OBS VEC(120) and PARAM(120,6). A list of the available observations and parameters is given in Table 7. 13 Table 7. Observation variables available in the OBSVEC array. Location (index) in OBSVEC Variables State variables 1 Roll rate 2 Pitch rate 3 Yaw tate 4 Velocity 5 Angle of attack 6 Angle of sideslip 7 Pitch attitude 8 Heading 9 Roll attitude 10 Altitude 11 Displacement north 12 Displacement east Derivatives of state variables 13 Roll acceleration 14 Pitch acceleration 15 Yaw acceleration 16 Velocity rate 17 Angle-of-attack rate 18 Angle-of-sideslip rate 19 Pitch attitude rate 20 Heading rate 21 Roll attitude rate 22 Altitude rate 23 Velocity north 24 Velocity east Accelerations 25 z-body axis acceleration 26 y-body axis acceleration 27 z-body axis acceleration 28 z-body axis accelerometer at vehicle center of gravity 29 y-body axis accelerometer at vehicle center of gravity 30 z-body axis accelerometer at vehicle center of gravity 31 Normal acceleration 32 z-body axis accelerometer not at vehicle center of gravity 33 y-body axis accelerometer not at vehicle center of gravity 34 z-body axis accelerometer not at vehicle center of gravity 99 Normal accelerometer not at vehicle center of gravity 98 Load factor Table 7. Continued. Location Gindex) in OBSVEC Variables Airdata parameters 91 Speed of sound 37 Reynolds number 103 Reynolds number per unit length 35 Mach number 36 Dynamic pressure 56 Impact pressure 55 Ambient pressure 57 Impact/ambient pressure ratio 58 Total pressure 59 Temperature 60 Total temperature 92 Equivalent airspeed 93 Calibrated airspeed Flightpath-related parameters 39 Flightpath angle 38 Flightpath acceleration 40 Flightpath angle rate 43 Scaled altitude rate Energy-related terms 46 Specific power 47 Specific energy Force parameters 94 Lift force 95 Drag force 96 Normal force 97 Axial force Body axis parameters 52 z-body axis velocity 53 y-body axis velocity 54 z-body axis velocity 100 Rate of change of velocity in z-body axis 101 Rate of change of velocity in y-body axis 102 Rate of change of velocity in z-body axis Miscellaneous measurements not at vehicle center of gravity 44 Angle of attack not at vehicle center of gravity 45 Angle of sideslip not at vehicle center of gravity 41 Altitude instrument not at vehicle center of gravity 42 Altitude rate instrument not at vehicle center of gravity 14 Table 7. Concluded. Location (index) in OBSVEC Variables Other miscellaneous parameters 48 Vehicle total angular momentum 49 Stability axis roll rate 50 Stability axis pitch rate 51 Stability axis yaw rate Control surface parameters 61 to 90 Control surfaces DC(1) to DC(30) Propulsion parameters 107 Throttle position - left engine 108 Throttle position - right engine The observation vector is produced by the INSTRM routine, which contains calculations for instrumentation and observation models. The observation vector is in the OBSVEC array, in the OBSERV common block as follows COMMON /OBSERV/ OBSVEC(120), PARAM(120,6) The contents of the observation vector are strictly outputs from the simulation; none of the models use these values. The stored parameters were selected to provide a variety of useful information; however, several unused locations (OBSVEC(109) - OBSVEC(120)) are available for the user to include other observation variables. The user may also modify any of the locations without affecting the simulation. The PARAM array is used to store parameters which affect corresponding measurements in OBSVEC, such as the locations of an accelerometer not at the vehicle center of gravity. Interfacing and Using the Model as a Simulation This section describes the typical method of interfacing to and operating the simulation built from the FORTRAN implementation of the model. The information in this section is sufficient to allow a user to interface to the simulation and begin using it, without being concerned about the details of the model, equations, or the FORTRAN program. The routine UCNTRL contains the user control law implementation. The inputs to this routine may be taken from any common block, but typically use the observation variables in the OBSVEC array, in the OBSERV common block. The OBSVEC array contains many parameters which would be unmeasurable on an actual aircraft; these should not be used as inputs to a practical control system. The outputs are the four contro! position commands in the CONCOM common block, and the two throttle settings, THRSTX, in the CTPARM common block. A simple autopilot is provided in the distribution UCNTRL as an example. Routines for user supplied input and output are also provided. The routine URTIN is called at the start of each frame loop, to perform input. The routine URTOUT is called at the end of each loop to perform output tasks. These routines may perform any function the user wishes. They may contain file I/O, interfaces to a network, a windowing system, or shared memory. Using these routines, the user may implement displays or recording capability and control the simulation, These routines are called in the main loop, so their execution will affect execution time significantly. Examples of these routines are provided in the distribution. A routine is provided for user specified initialization, UINIT. This routine is called once, as the last step in the initialization sequence. Any initializations may be included here. The simulation has three mutually exclusive modes of operation; operate, reset, and hold. The mode selection is performed by setting one of the variables, OPERAT, RESET, or HOLD to true, and resetting the remaining two variables to false. These variables are found in the common block SSS001. Operate is the normal mode in which the simulation executes all the input, output, integration, and model routines. In hold mode, the simulation only executes the input and output routines; all states and parameters hold their last value. In reset mode, the simulation is reinitialized to the user specified initial conditions. The model routines are called, but no integrations are performed, so simulation time does not pass. Initial conditions are specified in the array FIC, which contains a value for each of the 13 state variables. This array is in the common block SETICS. These values are copied into the state vector (F) by the ICSET routine whenever the simulation is placed into reset mode. Default initial conditions are provided in the block data initialization, but a new set may be used at any time by setting the desired values in the FIC array and putting the simulation into reset mode. Concluding Remarks This paper describes a generic, state-of-the-art, highperformance aircraft model, including detailed, fullenvelope, nonlinear aerodynamics, and full-envelope thrust and first-order engine response data. While this model was primarily developed for the AIAA Controls Design Challenge, the availability of such a model provides a common focus for research in aeronautical control theory and methodology. This paper also describes an implementation of this model using the FORTRAN computer language, associated routines furnished with the aircraft model, and techniques for interfacing these routines to external procedures. Figures showing vehicle geometry, surfaces, and sign conventions are included. 15 References Clancy, L.J., Aerodynamics, John Wiley & Sons, New York, NY, 1975, Dommasch, Daniel O., Sherby, Sydney S., and Connolly, Thomas F., Airplane Aerodynamics, Fourth Edition, Pitman, New York, NY, 1967. Duke, E.L., Antoniewicz, R.F., and Krambeer, K.D., Derivation and Definition of a Linear Aircraft Model, NASA RP-1207, Aug. 1988. Duke ELL., Patterson, B.P., Antoniewicz, R.F., User’s Manual for LINEAR, a FORTRAN Program to Derive Linear Aircraft Models, NASA TP-2768, Dec. 1987. Etkin, Bernhard, Dynamics of Atmospheric Flight, John Wiley Sons, New York, 1972. Gainer, Thomas G. and Hoffman, Sherwood, Summary of Transformation Equations and Equations of Motion Used in Free-F light and Wind-Tunnel Data Reduction and Analysis, NASA SP-3070, 1972. Gracey, William, Measurement of Aircraft Speed and Altitude, NASA RP-1046, 1980. U.S. Standard Atmosphere, 1962, U.S. Government Printing Office, Washington 25, D.C., 1962. 16 REPORT DOCUMENTATION PAGE Ome Moe.o188 fgPoaulbtllheieccrtiinorgneipgohoarfwntadiyin,ngmfaoSribumnuiatrttadeiieonnn1i,2n0gfo4r,ththeAirsldiiacnntoggaltlosennc,eteiodneVAdt,oi2fo2n2aisn0ndf2o-fro4crm3oa0rmt2epid,lounectaiiinnnsdggesttaothniidstmhaebtrueeOrdvfdifeeitnwco,ienagvtoofertWMaheagasenhcaoigl1nlgehtcotouinron 1. AGENCY USE ONLY (Leave blank) [2. REPORT DATE pHeoerafanddriqneufsaoprromtnaesButdgeter,i,son.SiPneacrplvSueeindrcweos,rcktoDhmieFrmeetcintmtoesraftoer 3. REPORT TYPE rPejvriaoerjwiidennicgftnogrm(a0tt7hiisin0oeb4nt-ur0ru1dOc8etp8ineo)rn,aset,sitWoiasnmsesahatriecnahngidotrnognRa,enpeyxoDirsCotttsih,ne2gr05102da3a1st.5paecJtseofuiorfecretshsoi,ns AND DATES COVERED December 1991 NASA Contractor Report 4. TITLE AND SUBTITLE 5. FUNDING NUMBERS An Aircraft Model for the AIAA Controls Design Challenge 6. AUTHOR(S) RTOP 505-64-30 Randal W. Brumbaugh 7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) NASA Dryden Flight Research Facility P.O. Box 273 Edwards, California 93523-0273 8. PREEPROFROTRMINNUGMBEORRGANIZATION H-1777 9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) National Aeronautics and Space Administration Washington, DC 20546-0001 10. SPONSORING/MONITORING AGENCY REPORT NUMBER NASA CR-186019 11. SUPPLEMENTARY NOTES Prepared as AIAA Louisiana, August 91-2631. 12, 1991. Presented Technical at the AIAA GNC Conference, monitor: Vince Chacon New Orleans, 12a. DISTRIBUTION/AVAILABILITY STATEMENT 12b. DISTRIBUTION CODE Unclassified — Unlimited Subject Category 05 13. ABSTRACT (Maximum 200 words) nuiradorsneeenitsTvlneeheigirailfnnrsoacectpclahhpeiureanddipgenFedar.fOeatorherRedorseTodtesnyhRcaenrurAaiotAmNbuiiIetccsiAasnlAc,eaoscmgaoCeptnnonoudtnetrtreeorif xlrcot,lerstulnhsaaetnDloalgertueyspa-il roggoafencn-,d- ethdCeutamh-hre seaaresutrlsosthl.n tc,eoindaahgotv Fniedleig,doghufe g-riytrperh.oessel utrt-aifsTovno hohareiroisdsmwlepaairfbpnneiuacnge lrpgeineitirvnysaeehihareoilcfdrcsroelasesfwutpdicoegthmsnheocsordeamtieehmbledteo,arstdayaei,i.rlancncrslWapuifuhrrmtidfolpiavenmlcigoeedsdmteh,edesilesnt,atamanaiodtlacdeinoedsdo,limngmtnfweouoacfclnshlotn-nhipevifqrnseoivuncememutlasosiordopienffelolso,yrr 14. SUBJECT TERMS 15. NUMBER OF PAGES Simulation; Controls; Design challenge; Model; Numerical simulation 19 | 16. PRICE CODE "7. OSFECURREIPTOYRT CLASSIFICATION 116, OSFECTUHRIISTYPAGCELASSIFICATION ] 19. OSFECUARBISTTYRACCTLASSIFICATION’ A02 Unclassified Unclassified Unclassified Unlimited NSN 7540-01-280-5500 Standard Form 298 (Rev. 2-89) Prescribed by ANS! Std. 730-18 208-102