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 <a<40) (a > 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

