Download View/Open - Calhoun: The NPS

Transcript
Approved
for public release; distribution
is
unlimited
An
Application of Virtual Prototyping
to the Flight Test and Evaluation of an Unmanned Air Vehicle
by
Mark T. Lagier
Lieutenant Commander United
B.S.,
States
Navy
Oregon State University, 1983
Submitted
in partial fulfillment of the
requirements for the degree of
MASTER OF SCIENCE
IN
AERONAUTICAL ENGINEERING
from the
NAVAL POSTGRADUATE SCHOOL
March
,
1994
Daniel J. CoHins, Chairman
Department of Aeronautics and Astronautics
u
UNCLASSIFIED
:URITY CLASSIFICATION OF THIS PAGE
REPORT DOCUMENTATION PAGE
REPORT SECURITY CLASSIFICATION
.
RESTRICTIVE MARKINGS
lb.
UNCLASSIFIED
SECURITY CLASSIFICATION AUTHORITY
.
3.
DISTRIBUTION/AVAILABILITY OF REPORT
Approved
DECLASSIFICATION/DOWNGRADING SCHEDULE
).
for public release;
distribution
PERFORMING ORGANIZATION REPORT NUMBER(S)
NAME OF PERFORMING ORGANIZATION
.
6b.
5.
OFFICE
(if
Monterey,
CA
ADDRESS
NAME OF MONITORING ORGANIZATION
7b.
Naval Postgraduate School
ADDRESS (City, State, and ZIP Code)
93943
Monterey,
8b.
ORGANIZATION
.
7a.
EC
NAME OF FUNDING/SPONSORING
.
(City, State,
OFFICE
(if
unlimited.
applicable)
Naval Postgraduate School
ADDRESS (City, State, and ZIP Code)
.
SYMBOL
is
MONITORING ORGANIZATION REPORT NUMBER(S)
SYMBOL
9.
CA
93943
PROCUREMENT INSTRUMENT IDENTIFICATION NUMBER
applicable)
SOURCE OF FUNDING NUMBERS
PROJECT
TASK
ELEMENT NO.
NO.
NO.
and ZIP Code)
10.
WORK
PROGRAM
TITLE (Include Secunty
[.
le Flight Test
^^ AppHcatioU of Virtual
of an Unmanned Air Vehicle
Classification)
and Evaluation
ur
ACCESSK
Prototyping tO
PERSONAL AUTHOR(S)
!.
Lagier,
TYPE OF REPORT
Ja.
13b.
FROM
Master's Thesis
SUPPLEMENTARY NOTATION
>.
fficial
policy or position of the
GROUP
FIELD
07/91
TO
The views expressed
COSATI CODES
r.
14.
12/93
ABSTRACT
if
15.
PAGE COUNT
those of the author and do not reflect the
Department of Defense or the United States Government.
18. SUBJECT TERMS (Continue on reverse if necessary and identify
SUB-GROUP
(Continue on reverse
DATE OF REPORT (Year, Month, Day)
March 1994
in this thesis are
by block number)
Dynamic Modelling, Controller D
Dynamics Testing, Over the Horizon Piloting
Virtual Prototyping, Visual Feedback,
Testing, Flight
3.
Mark T.
TIME COVERED
necessary and identify by block number)
effort to design, test and fly an Unmanned Air v(
Simulink or Matrixx provide powerful design tools with limited graphical oi
lat require an intimate knowledge of the underlying dynamic structure. For comprehension, Virtual Prototyping
\ intuative approach toward understanding the dynamic performance of the model. When the aircraft is flown \
sual range of the ground station, a Virtual Prototype display provides the pilot on the ground a close-up vi
rcraft response. When the aircraft operates over the horizon, a Virtual Prototype display becomes the only visuj
2tween the pilot and the aircraft. An application of a Virtual Prototype software is presented here with a direct
implementing the results in the UAV project currently underway at The Naval Postgraduate school.
Virtual Prototyping
is
an integral part of the ongoing
urrent analytical software such as
;
)
DISTRIBUTION/AVAILABILITY OF ABSTRACT
D.
X]
2a.
>
21.
UNCLASSIFIED/UNLIMITED QsAMEASRPT.
NAME OF RESPONSIBLE INDIVIDUAL
Isaac I. Kaminer
FORM
1473, 84
MAR
83
APR
ABSTRACT SECURITY CLASSIFICATION
D DTIC USERS
UNCLASSIFIED
22b.
TELEPHONE (Include Area
(408) 656-2972
edition may be used until exhausted
All other editions are obsolete
Code)
22c.
OFFICE SYMBOL
AA/KA
SECURITY CLASSIFICATION OF THI
UNCLASSIFIED
ABSTRACT
Virtual Prototyping
and
fly
is
an integral paxt of the ongoing
effort to design, test
an Unmanned Air Vehicle. Current analytical software such as SiMULINK or
MatriXx
provide powerful design tools with limited graphical output, that require
an intimate knowledge of the underlying dynamic structure.
For comprehension,
Virtual Prototyping allows an intuitive approach toward understanding the dynamic
performance of the model.
When
the aircraft
is
flown within visual range of the
ground station, a Virtual Prototype display provides the
up view of
aircraft response.
When
pilot
on the ground a
the aircraft operates over the horizon, a Virtual
Prototype display becomes the only visual link between the pilot and the
An
application of a Virtual Prototype software
to implementing the results in the
close-
UAV
is
presented here with a direct view
project currently
Postgraduate School.
m
aircraft.
underway
at the
Naval
e.l
TABLE OF CONTENTS
I.
II.
INTRODUCTION
A.
UAV PROJECT
B.
DESIGNER'S
1
WORKBENCH
GRAPHICS EDITOR
3
6
A.
GETTING STARTED
6
B.
CONFIGURING THE DWB WORKSPACE
8
C.
CREATING A DATABASE
1.
D.
E.
IIL
1
DWB
10
Structure
11
a.
Basic Elements
11
b.
Manuevering inside the Structure
13
BUILDING A 3-D IMAGE
—
1.
Example
2.
SUMMARY
15
Using the 3-D tools
18
23
ENHANCING THE MODEL
24
1.
Color
24
2.
Face Reversal
26
3.
Mirror
27
ADVANCED MODELLING
28
A.
CLIP REGIONS
28
B.
PERSPECTIVE REGIONS
31
1.
Utilizing the Perspective Region
35
a.
Scale
36
b.
Aspect Ratio
37
iv
DUDLEY KNOX LIBRARY
SCHOOL
NAVAL POSTGRADUATE
MONTEREY CA 93943-5101
LINK EDITOR
IV.
A.
B.
_,
V.
VL
39
VARIABLES
40
1.
Internal Variables
40
2.
External Variables
40
OBJECT LINKS
41
1.
Translation and Coordinate Links
43
2.
Rotation Links
48
3.
Some
50
Final Notes on Object Linking
C.
EYE POINT LINKS
D.
PAGE LINKS AND LINKING
COMMUNICATION
52
IN
THE PERSPECTIVE REGION
^
54
55
A.
.VARS FILE
56
B.
DATA FILES
58
C.
SHARED MEMORY AND ETHERNET CONNECTIONS ....
60
CONCLUSIONS AND RECOMMENDATIONS
61
A.
CONCLUSIONS
61
B.
RECOMMENDATIONS
61
APPENDIX A
APPENDIX B
:
:
LIST
of
PROJECT FILES
DATA CONVERSION PROGRAM
63
IN "C"
65
REFERENCES
68
INITIAL DISTRIBUTION LIST
69
LIST OF TABLES
5.1
.VARS FILE
STRUCTURE
57
VI
LIST OF FIGURES
1.1
AROD
2
1.2
Archytas
3
2.1
DWB
8
2.2
Coordinate Input
3.1
Clip Region Implemented on an a Attitude
4.1
Internal Variables
41
4.2
External Variables in the .vars File
42
4.3
Link Create/Edit Dialogue Box
44
4.4
Coordinate Link Edit Box
46
4.5
Mapping Function Editor
47
5.1
The Conmi Editor
56
5.2
The
.vars File
57
5.3
The
.data File
59
Workspace Environment
Window
18
Vll
Gyro
32
ACKNO WLED GMENT
I
would
like to express
my appreciation to Professor
and professional counsel without which
also like to
I
Isjiac
thank Mr. Glen Raudins of Corphaeus Software,
Matthew Koebbe
of the
his advice
could not have completed this work.
I
would
Inc. for his patience
input during the development phase of this project. Finally,
Mr.
Kaminer for
I
would
like to
Computer Science Center Visualization Lab
and
thank
staff for
the countless hours he devoted to helping develop a permanent video record of the
project.
Vlll
I.
A.
INTRODUCTION
UAV PROJECT
The
UAV
project currently in progress at the Naval Postgraduate School has
Fixed wing research, and
VTOL
development. The fixed wing
two major
thrusts:
research
being conducted on a small aircraft called BLUEBIRD. This
is
piloted vehicle with a wingspan of 12
20
lbs.
This aircraft
is
ft,
is
a remotely
and a pay load capacity of approximately
currently being flown at the Naval Postgraduate School, and
provides a test bed for commimications equipment and as a stable test platform for
experimental controllers. There are a number of
on the
aircraft to refine the
flight test projects
dynamic model of the
aircraft
being conducted
being used in the controller
and communications equipment design.
The second major
research area,
VTOL
developm.ent,
is
being conducted on
a platform originally designed by Sandia National Laboratory for the Marine Corps
named
AROD
(see Figure 1.1).
The Aeronautics and Astronautics Department subsequently acquired a number
of these aircraft
aircraft that
was designed to take
copter in hover.
AROD
from the defunct program. The
It
was to remain
and maneuver principally
off vertically,
vertical for the entire flight,
requirements and drag penalties induced by this
low range capabilities.
flight
The program underway
consists of attaching wings to
was essentially a ducted fan
AROD
mode
at the
derivative
is
as such, the
resulted in unacceptably
and designing a controller that
called Archytas. Figure 1.2
is
an
power
Naval Postgraduate School
aircraft to take off vertically, transition to horizontal flight,
AROD
and
as a heli-
and land
artist's
will allow the
vertically.
This
conception of Archytas.
Figure
One
AROD
of the projected missions of Archytas
horizon capabilities to the battlefield
or at the
1.1:
most requires the use
is
commander
to provide
unmanned
in a package that is
of a light utility vehicle or pickup.
the projected Archytas mission include an autonomous
GPS
man
over-the-
portable
Other features of
aided trajectory guid-
ance system, and a future autoland system. There are also provisions for reverting to
piloted flight,
and
it
was
this requirement along
with the over-the horizon mission that
drove the need to develop a virtual protot)q)e system. The computational/analytical
software existing in the department consists primarily of Matlab and
their associated "graphics" modules, Simulink
and Systembuild. Both of these
ware packages provide extremely powerful methods
lyzing
dynamic nonlinear
controllers.
They
MATRIXx with
for designing, testing
soft-
and ana-
are extremely limited, however, in their
ability to provide a feedback display suitable for
conducting piloted
flights of
the
Figure
UAV
project aircraft.
At
1.2:
Archytas
best, the simulations
run in these software environments
can provide a 3-D line plot of the time history of the trajectory, along with a 1-D
running plot of selected outputs.
to
It
would border on the impossible to expect a
be able to detect and respond to fluctuations
pilot
in the aircraft attitude utilizing these
types of displays.
B.
DESIGNER'S
To
fill
WORKBENCH
this shortcoming, the
Department of Aeronautics and Astronautics pur-
chased a software package called Designer's Workbench
(DWB).
DWB
is
a 3-D inter-
graphics program that allows the user to create unique situationally specific models,
construct associated cockpit instrumentation and
HUD
displays,
databases with information derived from an outside source.
It
and animate these
provides a
means
of
supplying instantaneous visual feedback to the pilot, and has become a major contributor to the design
The
and testing of a trajectory controller
goal of this thesis was to integrate
as Simulink, currently
into three
major
for Bluebird.
DWB with other simulation tools,
used at the Avionics Lab. To that end, this work
such
broken
is
categories:
• Creating a database
• Linking
•
Communication
Throughout
document, every attempt has been made to provide
this
ples of the tasks required to provide a fully functionally
that the reader
is
not limited to one application.
The
this
document are the
have been created in conjunction with
this project,
exam-
animation in such a way
software
is
versatile
that applications could be expanded well outside of the referenced
Attached as Appendices to
specific
following:
a
list
UAV
of the
enough
projects.
files
that
a description of some of the more
complicated links that went into creating a working simulation, and a copy of the
C
language program used to convert the data saved from Matlab/Simulink simula-
tions to a useable format. In an effort to convey accurately, with the least
confusion, each step required to create, link,
definitions
amoimt
of
and animate a database, the following
have been used:
•
DWB... Designer's Workbench integrated software package.
•
Workspace
Panel...
create, edit,
• Workspace...
The area above the drawing window
that contains
and movement icons necessary to manipulate a database.
The drawing environment.
all
of the
• Structure Chart...
structure. It
of the
is
The iconized "wiring diagram"
invoked by toggling the icon in the extreme upper right comer
Workspace Panel
• Click...
The
of the hierarchy of the database
[Ref. 2, p. 3-23].
act of selecting an icon in a Graphical User Interface environment.
Also select, choose, and open.
• Window... In an
open editor
(e.g.
Mapping, Link,
etc.),
the area specified for
entering or viewing values.
This thesis was not meant to be a replacement for the reference and user's
manuals supplied by the manufacturer.
The appUcations
discussed in this thesis
assume a fimdamental understanding of the concepts and mechanics contained
1]
[Ref.
2]
[Ref.
3]
[Ref.
4].
The major
thrust of this
in [Ref.
work was to expand on the
mechanics approach of the manufacturer's documentation to allow
for greater user
applications.
Finally, as with
to successfully
any attempt to portray
I
procedures necessary
implement a software package, there are times when the vocabulary
available for expressing a particular action
possible,
in writing the
becomes exhausted. To the greatest extent
have attempted to vary the use of any given word. One such situation that
springs inomediately to mind,
is
the act of selecting a button or icon in a Graphical
User Interface environment. After
grows very short.
Select, click,
and choose, the
list
of available verbs
II.
The
GRAPHICS EDITOR
software utilized to create a Virtual Prototype world for the
UAV project is
an interactive graphics program called Designers Workbench developed and marketed
by Coryphaeus Software
ment
at this
time
is
of Los Gatos,
composed
of
CA. The software
design, background construction,
subgroup
ically
is
it
exists in the depart-
two fundamental subgroups. The
modelling editor, or data base/link editor. This
model
as
the Rimtime Module. This
is
of these
the environment in which
and link editing
is
first
is
all
is
the
of the
conducted. The second
an optimizing program that
will
automat-
execute a previously constructed simulation without the need for invoking the
editor.
GETTING STARTED
A.
Designer's
Workbench has been
installed
on Indigo3.aa.nps.navy.mil
in the In-
digo lab administered by the Department of Aeronautics and Astronautics.
installation procedures differ shghtly
the working
files
from those
listed in the setup
manual
The
in that
have been installed in /usr/local/bin as opposed to the reconmiended
/usr/cs/hin. Aside from defining paths differently, this will have no effect on the useability of
DWB.
Three steps need to be done prior to running
DWB
on an indigo
attached to the aero server.
•
The Bitmaps contained
in the
working
files
of
DWB
(/usr/local/dwh2) must be
linked to the personal account of the user. Let's say the user's account
name
was Hacker, and Hacker's directory path was /d4/hacker. To link the bitmaps,
at the
command prompt
type:
In -s
•
The environment must be
server
/d^/hacker/BITMAPS
/usr/local/dwh2/BITMAPS
and working
setenv
CSL_DIR
2.
setenv
CS_DIR
These commands
tell
executable
The commands
files.
1.
set for the
file
to be able to find the license
to accomplish this axe:
/usr/local/lic
/usr/local
the operating system that the license information for
DWB
can be foimd in the directory user/local/lic, and that the information needed to
execute
DWB
can be found in the directory /user/local. This can be accomplished
either at the beginning of each log-on session, or can
user.
While editing the
copy of an .cshrc
The
is
is
.cshrc
shown
last step that
running [Ref.
in
file,
set in the .cshrc file of the
DWB should be added to the users path. A sample
Appendix A.
needs to be accomplished
1, p.3-13].
be
To
is
verify this, type the
to ensure that the license server
command:
/usr/local/hin/CSL.server&
If
the license server
is
running.
start
it
(the
If for
&
is
already running, a response will
some
reason, the server
is
come back
stating that a server
not up and running, this
command
will
sign will allow the server to run in the background).
Once these
steps have been executed (normally only needed one time),
command prompt,
is
ready to run. At the
it
to initialize and for the graphical editing environment to appear.
type the comraiand "dwb2" and wait for
The remaining
sections of this chapter cover the skills required to successfully build a useable
and/or database.
DWB
model
CONFIGURING THE DWB WORKSPACE
B.
The
y
tilt
I (ii
foes
initial screen
r)rc<f>hi<;s
Stntohtre
the user faces
ScUm;!
t'l-oix'rtic?
when
I
DWB
Misc
'lit
p.1rf(U tiOffc
links
jMok
iiOt
is
shown
in Figure 2.1.
Aniin,jti<4)
K
qrtd olivet
h
^,
|ppEj:i4^i|™r^
Ho (tie tea<teU
comes
'
iLl^
jjM_V—
,ot?
xicntatK-tv:^
cycpoint;:
;
,
'%i;i;";4'/,/'
ff
,y","
oyf^//f^^^ ^///f^y/^f/ y^/f^
<*
,
,
'"
'
'"yy ^^
'^^ ^^
/'/
^
'"
/',y' y"' '"''/' 4",,
',^
'
^^^^^^,,,^ ^y/^^^^,' ^f/j /yyyy^^y^^-'^^^^^^A
/
.
;'>y/yiyf/yy'y,/,
Figure
To open an
'
',
'yjy/,^,y^^
2.1:
first
„„
"!-/
, ';^;';;'^^ ' '
^^y '^y^y
^y^y^^y
iyy
^
y
'
'
^
^^ ^
J
^
'/
;"'y, ',;, %
y^ v^^y^^yyyy^yjy
/^iiy/y^^^^^
''y,y^''^
,f, ''">,/' i'^''y^,;""'/
y ^y
^^,
y
DWB Workspace Environment
existing database, the pull
graphical interface identical to
start
,
^ ^f 'y^
Windows
down
file
menu can be used with
or Macintosh products [Ref.
2, p. 2-2].
the
To
a new data base, there are several additional tasks that need to be accomplished
in order to
maximize the usefulness of our model.
«
r
Decide what scale the database
Given the relatively small
to be
is
size of the
drawn
to.
two primary
aircraft associated
with the
UAV project, drawing an accurately sized version of one of these to import
a
into
a loss of perspective because you are
full scale airfield will result in either
too close to the aircraft, or a loss of detail because you are far enough away to
As a general
see the field but lose the detail of the aircraft.
rule, the largest
item in the database should drive the scale of the remaining items.
especially important
when
constructing a cockpit or
unnatural to build an airspeed gauge that
ft.
in diameter, but
it
will greatly
Once you have decided what the
(for
is,
HUD
display. It
This
is
may seem
according to your grid
size,
300
enhance the your ability to use the display.
largest
the simulations currently running in
item in your database
DWB
this is
by
is
going to be
far the airfield), the
workspace needs to be configured as follows:
1.
With the
edit
original grid
on the screen, and nothing selected, go to the
pulldown menu and
select
modify attributes.
A
grid attributes edi-
tor will appear that allows the user to select the units for the grid size
(i.e.
ft,cm,in,etc.).
2.
Click the grid attributes icon on the workspace panel (the one with the
question
mark on
it
inmiediately to the right of the set/pick buttons). In
this dialogue box, the size of the grid square
the spacing of the grid division lines [Ref.
A Word of Caution:
atively large,
it is
If
2, p. 3- 13].
the grid you are planning to create
a good idea to
a manageable number.
can be changed, as well as
When
first
DWB
is rel-
change the grid spacing to
initializes,
the grid defaults
to a 1 meter square, with a spacing of 8.33 centimeters.
example, the
ft
size of the grid
If,
for
you were going to create was 1500
square, and you changed the grid size without
first
changing
the spacing, the program would attempt to create a 1500
with major grid divisions spaced 0.0027
ft
ft
grid
apart and with 5 mi-
nor subdivisions between each of these. The result will be the
computer trying to create
At best
2.74 x 10®
separate lines
this process will take several minutes,
computer
in each direction.
and
at worst the
will lock up.
• Set the preferences.
Under the
pull
down menu
Misc., the third entry will be preferences.
Opening
the preferences editor will present the user with four settable options.
the immediate concerns to us
is
the auto-write option.
pulldown menu in the preferences
editor, select the
autowrite. This feature determines
how many
need to occur before
DWB
number
saved
does an auto-backup on the
be saved
file
Set the autosave
file.
in. It is also
in the specified directory
(.XXX being either .dwb or .Ink
C.
page option, and choose
possible to change
of modifications that take place between autobackups.
files will
of
the preferences
revisions to a drawing or link
write path to the directory you wiU be working
the
Open
One
The
auto-
under the exetension .xxx.tmp
files.)
CREATING A DATABASE
Now
that
we have
configured our workspace,
construction of a database. Whether
vehicle
(i.e.
it is
an
we
are in a position to begin
airport, airplane or
tank), the graphics principles remain the same.
10
some type
Make
of groimd
sure you have a
copy of the
listed references available as
the tools available to us in
1.
DWB
DWB
Structure
Before
we begin
examine how
DWB
following
Header
•
Group
of using
to build a model,
will structure the database,
how
this structure to suit
we need
to
this structuring will affect
our needs [Ref.
first
our
2, p. 3-24].
Basic Elements
There are four basic building blocks of the
•
example
the process of building a dynamic model,
model, and how we can modify
a.
we go through the
DWB
structure:
• Face
• Vertex
If this is
your
first
time using
DWB
(i.e.
you have no existing files), go to the directory
/usr/local/dwb2 and open one of the .dwb
files
existing there. Toggle the structure
icon (the top one in the upper right corner of the workspace panel) to switch to the
structure chart. In this window, you will see at the top of the structure, a white box
with the filename and path in
the
file.
it.
This
is
the header box, and
Click on the header box, and notice that
header become highlighted by dashed
will find that clicking
lines.
K you
all
it is
used to identify
of the boxes attached to the
toggle back to the workspace,
on the header has selected the entire database.
structure chart, and click somewhere in the
empty paxt
header. Observe that attached to the header are a
number preceded by a
y,
of the
number
window
Go back
you
to the
to deselect the
of red boxes with either a
or a name. These are the groups.
They can be considered
chapters in the database structure. Once again, cUck on one of the red group boxes,
11
and you
will notice that all the items in that
that they have been selected in the database.
an item
will also select all of the structure
group become highlighted to indicate
As you can
a group or
see, selecting
items attached to
At
it.
this point, taJ<e
note of the small white square in the upper right corner of some of the group boxes.
This square indicates that the group has been "compressed", and that there are more
structure items hidden below that group. These structure items with attached blocks
are called the parent blocks, while the attached items axe
the middle
mouse button,
click
known
on a red parent box, and you
or compress depending on what state
extremely useful with large databases;
was
it
it
in before
will see it either
below.
as a
"child" group
It is
way
is
expanded
it
alleviates the necessity of
may have more
With
expand
you started. This feature
through every structure item to find one that you want. You
when a
as children.
may
having to page
also notice that
children groups attached to
perfectly acceptable to "nest" groups like this,
and
is
is
highly
it
recommended
of logically organizing a database.
At some
point, the nested groups will end,
and attached to these
innermost child groups you will find a number of multicolored boxes labelled with
a figure beginning with
box corresponds to the
when
it
p.
These are the faces
(or polygons),
and the
color of the face in the database. This feature
is
convenient
comes time to group items; you don't necessarily have to worry about finding
a collection of faces based on shape, location or the alpha-numeric
object,
color of the
if
you know what color
it is.
Note that
indicator square in the upper right comer.
If
eax:h face also
identifier of
an
has a "compressed"
you expand the
face,
you
will find
similarly colored blocks with an identifier corresponding to the face block followed
by a
colon,
and
several
more numbers. These are the vertex
smallest structure item that exists in
DWB.
12
addresses. This
is
the
A
Point of Technique. Take the time
cis
you proceed with building
a database to return occcisionally to the structure chart, and reorganize the structure.
It is
recommended
highly
runways,
etc,
be established
name that
meaningful
that individual items such as gauges, airplanes, buildings,
in their
will help
own group and
that you give each such group a
you keep track of where you are in the database. While
not critical that this be done during the building phase,
it is
it
will significantly
reduce
the time and frustration associated with creating Unks and running an animation.
Manuevering inside the Structure
b.
Now
them? Close the
that
file
we know what the
that
we opened
we do with
building blocks axe, what do
to look at the structure,
and
staxt a
new
file.
Don't worry about setting the environment or grid properties, as we will only be here
for
a moment. Without doing anything
find a header called
new with a group
else,
go to the structure chart. Here you will
labelled gl attached to
workspace, and put a few objects on the screen.
or circles,
and when you have created two or
Notice that
well
and good
what
if
of the items
all
if
Go back
Make something simple
three, toggle
like
to the
squares
back to the structure.
you created have been added to the group
gl.
This
is all
you wanted everything you created to be paxt of one big group, but
you wanted the next item you created to be separate, or you want to move
one of the items already created to a separate group?
if
it.
you were creating
flight
An example
instruments for an instrument panel.
It
of this
would be
would be a good
idea to have each of the instruments in a separate group to facilitate linking.
Chapter IV
for
more
details
(See
about linking.)
To put the next item you
create into a separate grouping, you need
to change the parent. In the upper left corner of the workspace panel,
you wiU see
a window labeled parent, and in that window will be the group gl. Toggling back to
13
the structure chaxt, select the header, then go up and click on the
in
The paxent
it.
label gl will change to new. Toggle back to the workspace, create
another square or
circle,
new group has been
and go back to the structure
new
chart.
You
will notice that
in the structure. It allows
new
group.
The Parent box
if
is
you to selectively choose what you want
objects to be attached to rather than forcing you to find and
the fact. But what
a
created (probably labeled g2 and attached to the header), and
the item you just created has been attached to this
Uke a bookmark
window with gl
move them
after
you have already created something in one group that you want
to attach to another group? This can be done in one of two ways. Let's say that one
g2 and make
of the items in the group gl actually belongs in group g2. Select group
it
the parent, then select the item you want to move.
menu,
select the entry Attach.
The other way
to
move items
You
to the Structure pulldown
will see the selected face
in the structure
is
on the item you want to move and holding the
to the group
Go
move
to the group g2.
the drag-and-drop method. Clicking
left
mouse button down, drag the
g2 and when the red g2 box haa a white border around
mouse button. The
selected face will
move
go of the
to the group g2.
As you proceed with the building
of your model, the easiest
keeping track of where you are and where your objects are,
logical sorting. For instance, the fuselage
it, let
face
is
way
of
to groifp your items by
and empennage could be
in a
group
titled
aircraft body, the
wings could be a separate group with subgroups of the leading
Naming
the groups as you go will greatly facilitate editing and linking your
edge,etc.
model.
DWB will allow just about anything in the way of names; there
on how many
letters or
numbers you may
use,
is
no
restriction
and the software wiU recognize white
space so you can label the groups intelligently as opposed to the standard Unix or
DOS
conventions of abbreviating to the point of absurdity. For example, a particular
group might be labeled:
14
Instantaneous Vertical Speed Indicator
and would read just
can use the
like that in the structure chart.
Rename menu
To rename a group
option in the Structure pulldown menu, or a quicker
letter "j".
way
box you want to rename,
woiild be to use the "hot key". This entails selecting the
and then typing the
or face, you
The standard dialogue box
will appear,
and you can
proceed as before.
As a
final point in this discussion
open the Structure pulldown menu. You
to back", "send to back one",
draws a picture,
it
must
drawn. Unlike the real world, where
DWB
up and
structure, go
will see options like "bring to front",
"send
When
DWB
and "bring to
prioritize in
about
front one" [Ref. 3, p.3-16l.
some way the order
it is
obvious
fairly
blocked by something else in your line of sight,
DWB
if
which the structure
is
your view of an object
is
in
has no
way
of
knowing which
item should be placed in front of the other, especially when you begin rotating the
picture.
Selecting the option Bring to Front will cause
object last so that
it is
database
180''.
be drawn
is
rotated
first,
DWB
to always
draw that
always on top, and consequently always visible, even
if
the
Conversely, selecting send to the back will cause the item to
and therefore on the bottom and covered by everything between the
object and the eyepoint.
As we
will discover later in the chapter,
of graphics does not fa<:ilitate drawing true
3-D
the current level
perspective pictures, so along with
backface removal and mirroring, changing the order in which things appear in your
structure can greatly affect
D.
how
BUILDING A 3-D IMAGE
The most important thing
it
the finished product looks.
operates essentially in a
point,
DWB
will
to realize about the
DWB
2-D environment. This means
attempt to default that point to where
15
it
graphics editor,
that
when you
thinks
it
is
that
create a
belongs on the
grid.
you attempt to create a point
If
structure,
be,
DWB
and while
it
will maice
may
in free spa<:e
a best guess at what
it
by forcing
[Ref,
does have a limited capacity for creating "preformed"
3-D
first priority
the environment to create a
methods of manuevering the
• Rotate the grid to
for
anything except
how
to manipulate
grid orientation to create the third dimension.
an orthogonal plane.
X-Y
plane.
The
orienta-
on the lower middle portion of the workspace panel allows the user
other things, reorient the grid to any of the three principle planes.
Simply rotating the grid to one of these planes
structure at the
precisely create
is
DWB
workspace. Discussed next are some
the workspace starts up, the grid defaults to the
among
will
structures, the nature of
then should be to discover
3-D image in a 2-D
While
2, p. 3-15].
aerodynamic modeUing usually prohibits the use of these items
fundamental subsets. Our
it
rotate the structure that the free space point
it
to,
the grid
thinks the third dimension should
ended up nowhere near where you intended to put
tion button
off of
look satisfactory from the current viewing perspective,
become immediately apparent when you
When
it
also a quick
(first) initial
will leave the center of the grid
origin of the picture. This will allow the user to
and orient structures that contain orthogonal members. This
way
to check the scale of the
model
in different planes.
• Orient the grid to a particular face.
Say for instance, that you have created a cylinder with ten
these sides, you wish to place the words U.S.
accurate
way
to accomplish this
is
NAVY. The
On
sides.
easiest
to align the grid to the face that
one of
and most
you wish to
place the text on. Select the orientation button on the workspace panel, choose
the face option, and a dialogue box will appear asking the user to select a face.
Click the
mouse on the
face you wish to place the text on, select
16
OK on
the
dialogue box, and the grid
is
now attached
origin located at the centroid of the face.
you
may
origin
you
to the face
Once the
selected, with the grid
grid has been reoriented,
change the orientation to a principle plane and
remain
at the centroid of the face selected.
still
have the grid
This can be an extremely
empennage
useful feature
when
an
Note that the same procedures apply to orienting the grid to a
aircraft).
particular vertex.
constructing complex databases (such as the
The
grid will be oriented perpendicular to the
vertex, but the orientation
back to the
initial origin,
may
then be changed as desired. To
of
normal of the
move
the grid
simply select origin imder the grid orientation icon.
• Input the coordinates directly.
In the extreme upper right
labeled x
—
y
—
z.
When
comer of the workspace panel, there
is
an icon
activated, a readout of the precise coordinate of the
point selected will appear. Contained in this box axe also three delta
windows
immediately to the right of the coordinate position as shown in Figure
2.2.
Also
on the right side of the dialogue box are three buttons labeled freeze x/y/z.
you wish to move
do
so.
in a certain plane, freezing
one of the axes
will allow
K
you to
K you need to move along a given line, simply freeze two of the axes
[Ref.
2, p.3-19].
A
Note of Caution: Be sure to unfreeze the
axis before exiting the
coordinate input box. Simply closing the box does not unfreeze the
frozen axes, and subsequent attempts to create structure items outside of the frozen coordinates will
17
fail.
Figure
1.
Example
The
—
Coordinate Input
2.2:
Window
Using the 3-D tools
following example will demonstrate the concepts previously discussed,
and examine other ways of navigating through the 3-D world of
will cover, in detail, the steps required to build
fEw:e,
a4
ft
x 4
ft.
DWB. The example
cube by constructing one
and generating the remainder of the cube through manipulations of rephcations
of this face.
•
Open a new
•
Modify the workspace attributes to dimensions of
file.
ft.
Select the grid attributes (button with the question
the grid division spacing to
to be 6
ft
so
we have some
1 ft
and the grid
size in
mark on
it),
and change
both the x and y planes
overlap (note the word of caution from the previous
18
section).
•
We now
and
have a 6 ftx 6
ft
select the square icon
polygon create icon
will
Zoom
grid.
out far enough to see the entire grid
from the create menu on the workspace panel (the
accomplish the same thing but will require input of
four of the comers). Place the comers of the square 2
down) from the
origin of the grid.
the origin with sides that are 4
•
To
You should
ft.
over and 2
ft.
up
all
(or
see a white square centered at
long.
ft
create a top surface, using the coordinate input
method
as discussed above,
do the following:
1.
Go
to the pick type
menu
change the pick type to
2.
Select the square face
on
it.
It
bottom
in the
left
you just created by clicking the
should be highlighted by a dotted line around
Select the duplicate/translate icon
(first
button in the second row).
for the duplicate origin,
selected item.
and
face.
a pxxx symbol should appear in the upper
3.
of the workspace panel,
it
it,
mouse button
and a box with
corner of the workspace.
from the workspace panel edit menu
When
the dialogue box appears asking
will automatically default to the centroid of the
Since this point
the center of the square,
left
left
it
is
at the origin of the grid as well as at
will serve as
a convenient reference point for
placing the top face. Accept this as the duplicate origin. Note that you
could have chosen any point on the square as the duplicate/translate origin
,
but
it
should be something convenient for referencing to and the center
of the square
fills
that requirement nicely.
19
4.
When prompted
window
{x
for the duplicate destination,
—y—z
open the coordinate input
button in the upper right corner), and without entering
anything, freeze the x and y axes.
Select the delta z
window,
ajid enter
the value —4. Click the apply button.
Go back
5.
to duplicate destination dialogue
box and
Once more
click Ok.
ba^k to the coordinate input window to unfreeze x and
y,
and then cancel
the window.
At
this point,
sides, using
you have the top and bottom of the box. To generate the next two
the grid rotation features, do the following:
Y-Z
• Select grid orientation in the workspace panel, and orient the grid to the
plane.
•
Now,
at the
extreme top of the workspace panel,
—90**
select the rotate y
button, and you should once again be looking directly
down
at the grid
and
should see the two faces created previously at some angle from the side.
• Utilizing the
bottom face that was created initially, select the duplicate/translate
button in the workspace panel edit
Accept the default
measure along the grid 2
•
At
ft.
this point, there should
and
click
When
origin.
menu
first
one in the second row).
the duplicate destination prompt appears,
towards the top face and click OK.
be three parallel
on the rotate icon
(the
in the edit
faces. Select the
menu
one in the middle,
(second from the
left in
row). Accept the default rotate origin, and rotate one of the axes 90"
matter here which one you rotate, since the face
a vertical face in the center of our box.
20
is
symmetrical).
(it
Now
the top
doesn't
there
is
•
To
two
finish creating the next
center face once, and then translate
First
move
you
sides,
it
will
need to duplicate/translate the
once to put the sides where they belong.
Open
the grid to the corner of the box where the next side will go.
the grid orientation window, select point and pick one of the corners of the
bottom
face.
see a corner.
You may have
K you
to rot
Y
a
little
one way or the other to be able to
do, select the corner, go back
view, and then simply rot
Y
—90".
Go back
and
select the default
to the grid orientation
the box. At this point, you should again be looking directly
• Reselect the vertical (center) face that
it
to the
comer
of the
down
—
y
window,
Y — Z plane, and the grid is now centered on a comer of what
select the
x
will
be
at the grid.
you just rotated, and duplicate/translate
box the grid was moved
To
to.
facilitate things here,
instead of accepting the center of the face as the translate origin, select the
corner of the face that will
move
to the origin of the
new
grid
and answer Ok
to the duplicate origin dialogue box.
A
Point of Technique:
point, hold the shift key
When
down
you are trying to
select
a corner or specific
while you click on the point with the mouse.
This will force the selection point to the closest vertex and will greatly facilitate
the ability to match up comers.
• Click on the grid origin to select the duplicate destination, and another side of
the box
•
is
completed.
Now, move the
grid to the opposite side of the "bottom" face,
and do the same
thing that you just did, except this time use the translate button (the
in the first
row of the
edit
menu)
to completely
21
move the
first
one
vertical face out of the
Open
center of the box.
the grid orientation
window and
select point. Pick the
opposite comer of the bottom face, re-open the orientation
the y
—z
plane. Click on the center face to select
it
window and
reselect
again, select the translate
button, change the translate origin to the comer of the face corresponding to
the grid origin again, answer
grid origin to select the
Go back and
rest of
the X
the cube.
—
new
OK to
the translate origin, and then click on the
translate destination.
look at the structure completed so far before
Go up
to the grid orientation window, select origin,
y plane. Reorient the picture to the x
—
click
on the up axrow
until the
Move up
wanted to have
to the rot
box has rotated approximately
see a hollow square that appears to be sitting
on the
Now
at this point, that's good.
and then
select
y plane, and you should see what
appears to be a single square centered at the origin.
and
we complete the
You should
90".
Since this
grid.
X buttons,
is
what you
to complete the remainder of the
sides.
A
Point of Technique: By
this
to decipher exactly where the sides begin
have solid
lines
you
an item), and
select
aroimd each face
back to drawstyle and
when the drawings
Wire over
it is
(as
it is
and end.
the ability to change the drawstyle [Ref.
menu, open the drawstyle option, and
time
2, p.3-6].
select
probably getting a
An
is
to the Graphics pulldown
solid.
opposed to the dashed
easier to distinguish the faces.
select the
tough
important tool in editing
Go
Wire over
little
The
picture will
lines that
now
appear when
While you are here, go
Wireframe option. This can also be an useful asset
get compUcated.
For the time being, go back to the drawstyle
solid.
22
To
edit
create the last two sides, using the rotate about an edge feature in the
menu, do the
following:
—
• Reorient the picture back to the default x
showing, and select duplicate/translate.
y plane, select the face that
is
This time, the duplicated face will
remain in position on top of the existing one, so the duplicate/translate origin
and destination
•
Now,
ro^
will
first
comers of the face
row).
When
be immediately apparent
Go back
asked for two points, select the two bottom
and when the rotate dialogue box
closest to you. Click Ok^
Watch the
appears, rotate the face up 90".
•
boxes,
X 90", and from the edit menu, select the rotate about an edge icon (the
third one in the
will
OK to both
both be the same. Click
to the default x
—y
if
outline of the face as
you are rotating
orientation, rot
Y
it
in the
180" (2x
wrong
it
rotates. It
direction.
+90"), and repeat
the previous step to complete the last face.
2.
SUMMARY
So
far,
the topics covered have examined some of the basics of creating
items and moving them around the workspace to create complex objects (granted the
cube
is
nicely).
not exactly a complex object, but for the purposes of our discussion
The
question that remains
is,
"is this
the standpoint of being able to utilize
it
new
structure a functional
in a simulation?"
To answer
it
will
model from
this question,
go to the Graphics pull down menu, and open the fimction labeled backface.
will notice that
it
has three positions: on,
and return to the cube.
(either with the
than
If it
oflF,
and
selective.
do
You
Turn the backface on,
looks ax:ceptable from this perspective, start rotating
it
workspace panel buttons, or with the middle mouse button). More
likely it will
appear that one or more of the sides has disappeared. Obviously,
23
if
this
will
cube
going to be used in a simulation where the backface removal feature
is
be active, there axe going to have to be some changes made to this model. For
the time being, turn the backface removal feature oS.
The
following examines
some
ways to enhance the fimctionality of the model.
ENHANCING THE MODEL
E.
As you look
at the finished
model
with the draw style set to Wire over
of the cube,
Solid,
it is
it
should strike you that even
rather difiBcult to distinguish between
individual sides or even determine whether or not you can see
all
of the sides. This
section looks at several features that will significantly improve the ability to modify
and
model.
utilize this
1.
Color
Before anything
sides of our cube,
the fact that
all
it
is
attempted to
would be a good idea to see
The
of the sides look the same.
accomplish this
is
menu, and the
first
to
the problem of the seemingly missing
fix
add some
if
easiest
color [Ref. 2, p.3.40].
entry you will find
is
something can be done about
Color.
and most practical way to
Open
the properties pulldown
This has a submenu, with the
following options: color palette, get color, and put color. Select the color palette,
move it out
at
of the
way
of the drawing.
Go back
a time, put a different color on each
Select the color
Hke to be that
you want
color,
side.
to the cube,
and by selecting one face
The procedure
is
very straightforward.
in the color palette, select the face or object that
and go back to the Properties/Color menu, and
Incidentally, get color works exactly the
same way
and
in reverse.
you would
select put color.
Once you have colored
the six sides, rotate the cube about the different axes and notice that the problem
encountered previously when the backface removal feature was active has returned.
Because the sides are now of
different colors,
24
and distinguishable from one another,
there are certain aspect angles that seem to
There are some
cube.
colors that should
make
it
possible to "see through" our
be hidden behind the cube, and some of
the colors that should be seen are not there. Before anything else meaningful can be
eiccomplished with the model, this difficulty needs to resolved.
The problem encountered here
DWB.
is
the
manner
in
which a face
Faces are created out of individual polygons, and the software
such a way that
it
will build a face
with only one
side of a face with the backface option turned
the face to the front side.
If
off,
side. If
is
created in
is
written in
you are looking
at the
back
you are essentially "seeing through"
you turn the backface option on, the backside
is
no longer
"transparent", and you will not be able to see the face.
A
of a face.
Point of Technique: Try experimenting with the backface properties
On
a open part of the
with the backface option on and
by the dashed
line,
grid, create
off.
a simple square or
circle,
and rotate
it
Notice that with the item selected and outlined
the outline of the item will
still
be visible when you view
it
from
the backside. Now, rotate the view back to the front, deselect the item, and check
that the backface option
is
backside, and try to select
If at
some point
in
You
will find that
you
will not
a particular face out of a database this
be able to
may be one
plane,
and
the backface option on.
of the reasons.
start rotating the cube.
Reorient the picture to the default
Notice that the different colored faces
don't necessarily appear in the order that you think they should.
some
select the face.
further illustrate the problem faced here, go back to the Graphics pull-
down menu, and turn
X—Y
it.
time during the course of building a structure you are experiencing
difficulties picking
To
turned on. Rotate the face until you are looking at the
of the faces were put on the cube facing inward,
25
That's because
and you can only
see
them
when you
faces are turned
appear as
it
away from the viewer, you
if
both sides are missing and you
create a mirror image of the face.
will see
(e.g.
it
will
a hole in the cube). Obviously
of perspective while viewing this
alleviate this problem.
You can
if
cube
hardware z
reverse the face, or
As the Graphics processing power of the machines
department increases, some of these type of problems
hardware
on the other side
would be unacceptable.
There are two ways to
in the
is
also turned inward. Otherwise,
is
was required to maintain a complete sense
in motion, this situation
these inward looking
axe seeing whatever
cube (provided that the opposing face
of the
When
axe essentially looking "through" the cube.
buffering).
For the time being,
will
be overcome by
let's see if this
cube can
be made useable with software alone.
Face Reversal
2.
The
is
quickest and easiest
way
to fix the perspective problems with our cube
to individually reverse the faces that are facing inward.
the inward looking faces, (you
may have
menu
[Ref.
3, p.4-3].
this, select
to toggle between backface off
determine which faces are turned inward), and
edit
To do
click
Once you have done
one of
and on to
on the Reverse Face icon in the
this
with the remaining inwardly
turned faces, go back and turn the backface option on, and rotate the cube. You will
see
what you would have expected to
see in the
that looks like a cube with six sides. This option
composed of a
in futility
relatively few
when you
number
of
fax;es,
but
first
is
it
place:
a cube with six sides
well suited to objects that are
can quickly become an exercise
are trying to pick selected faces out of an engine nacelle that has
200 individual faces. Of course, you can select an entire group or a combination of
faces
and apply the reverse face option, but the problem remains that the
faced properly
when you
started will
now be
26
faces that
facing in the opposite direction.
3.
Mirror
The next option we have
is
to alleviate the
to create a mirror image of the face [Ref.
even with backface on, the object
will
problem of the disappeaxing faces
Once you have done
3, p.4-3].
be visible at
times from any aspect angle.
all
Each face must be selected and mirrored individually. This
clicking the mirror icon,
to create the mirrored
relatively minor,
and then
image
aimoyance
grid to each face.
in.
entails selecting each face,
selecting three points in the plane that
you wish
For the cube, this will be a time consuming, but
at worst even with the
As you might
this,
envision, having to
added workload of reorienting the
do
this for
an engine nacelle that
has 200 faces will quickly daunt even the most avid computer user.
The
leviate a
z
acquisition of an upgraded graphics suite
number
— buffering
of the problems that currently exist.
by the department
The
addition of hardware
as well 24 bit graphics processors will allow users to
what has been attempted here with software and brute
27
will al-
do with hardware
force alone.
III.
ADVANCED MODELLING
The previous chapter covered the
essentially static, or that
DWB
fit
skills
necessary to construct models that are
"what you see
into the category of
is
what you
get".
has two additional features that will greatly enhance the ability to construct
a cockpit display and to combine this "static" display with a "God's eye" or "out of
The
cockpit" view of our simulation.
of these
first
is
the clip region, the second
is
the perspective region. Both have unique properties and requirements, and will be
covered individually with two separate examples.
A.
CLIP REGIONS
A
clip region is
ture [Ref. 2, p.4-14].
a tool that
is
The two most
used to view a partial segment of a larger strucstriking
examples of
clip region
useage would be
the creation of a "digital" attitude gyro or, utilizing a linear heading tape for a Heads-
Up-Display (HUD). The following example
will cover the creation of
an attitude gyro
using the clip region. For this example, you can either continue in a database you
have previously constructed, or begin with a new
• Toggle to the structure
and
select the
file.
The procedure
it.
empty portion
as follows:
header as the parent. This will ensure
that each of the items created will be assigned to
• Starting with an
is
may
its
own
of grid, create a square
group.
and add some color to
This will be the backplate and border of the attitude gyro.
• In the center of this square, create a sphere with enough sides to give a
smooth
appearance. (Experience has shown that 30 sides provides a reasonably contin-
uous surface without overdoing
it.)
28
•
Change the pick type
pulldown menu, and
a workable
to group,
and
Go up
select the sphere.
select isolate. This will isolate the sphere
size in the center of the workspace.
It will
to the Select
and expand
it
to
also allow modification
of the sphere without altering the backplate.
•
Having isolated the sphere, the next thing to do
and lower hemispheres that
will
is
cut
it
become the sky and ground portions
attitude gyro. Select the Plane Cut icon from the edit
the
left in
the second row).
in half to create
menu
The subsequent dialogue box
upper
of the
(second one from
will ask for three
cutting points. Carefully select two points on either side of the equator of the
sphere,
draw
and
The
click Ok.
style of Wireframe.
third point will default to the eye point.
You should
see a continuous cut across the
Select a
middle of
the sphere.
•
Go back to
the Select pulldown
This will force
DWB
menu again, and
choose the Fence within option.
to select only those faces or groups that are completely
within the boundaries of the pick square. Change the pick type to face, ensure
the grid
is
aligned to the x
the upper hemisphere.
become
• Bring
—
y plane, and carefully draw a pick box around
You should
see all of the faces in the
upper hemisphere
highlighted.
up the
color palette,
and put a suitable (preferably some shade of blue)
color in this highlighted region.
• Select the
bottom hemisphere in the same manner, and repeat the last two steps.
This time,
make
the sphere and
the color correspond to the ground
make
(e.g.
orange).
Now,
rotate
sure there are no stray faces that did not get colored.
29
• In the top right
comer
of the workspace, there will
One
be two buttons.
is
labeled top view, and the other one will have a label corresponding to the group
number
of the sphere. Selecting the top view will shift the picture back to the
original view,
backplate.
If
and you should
the bax;kplate
is
see the split color sphere sitting
in front of the sphere, select
it
on top of the
and move
it
to the
back of the structure.
•
Go
to the structure chart, and with the
a new group.
Move
sphere) into this
indicator.
contains
all
file
header selected as Parent, create
the two groups you have created so fax (backplate and
new group and change the name
of this
new parent
This group will essentially become the "chapter" or parent that
of the subsections of the attitude gyro.
backplate and sphere groups into this new group,
Once you have moved the
make
attitude indicator the
parent (in the parent window above) and create another
move the group
essentially, the
new subgroup. Now
containing the sphere into this newest subgroup.
for doing this will
group that
to attitude
be covered
group that
will eventually
will
in
more
detail in the chapter
become the
be linked.
clip region
When
on
The reason
linking, but
must be a parent to the
you get to
this point, the
main
parent attitude indicator should consist of three levels of groups: the main level
comprised of attitude indicator, a
level
below that containing the backplate and
the gyro structure, ajid the third level below the gyro group that contains the
sphere.
• Select the group immediately above the sphere (remember, clip regions
be above Unked objects, and the lowest
level
must
group containing the sphere
will
become the Unk group). Open the Pulldown Edit menu, and choose the Modify
Attributes option. Toggle back to the workspace.
30
When
the modify attributes
page appears, notice at the bottom there
is
a window labeled Group type with
an entry that says Normal Click on the word "normal", and out of the
appears, select Clip Region.
to the right of the
When
you have done
Group Type window
will
that
the button immediately
this,
become
list
active.
This
is
the Pick
Reference Points button.
• Click
on the Pick Reference Points button, and a dialogue box
asking you to identify the
LL
(lower
left) point.
Click
will
appear
somewhere outside the
radius of the sphere, but inside the box formed by the outer tangents to the
sphere. Click ok on the dialogue box, and the next request will be to select the
UR
(upper right) point. Select a point diametrically opposed to the
that you selected and
•
Go back
Ok
on the Apply option.
right, the portion of the sphere outside of the
the clip region will disappear as
if
you don't
like the
way the
If
you have
boundaries of
a hole slightly smaller than the sphere was
cut in the backplate and the bax:kplate was then
If
point
the dialogue box.
to Modify Attributes page, and click
done everything
first
moved
clip region looks, repeat
in front of the sphere.
the previous steps until
you get a region that looks acceptable.
When
this sphere
is
effectively block the
will
appear to move
linked to rotate with the aircraft attitude, the clip region will
view of any portions of the sphere outside of the
much
the
way a
digital attitude
clip region. It
gyro moves. Figure 3.1
is
an
example of a cUp region implemented on an attitude gyro.
B.
PERSPECTIVE REGIONS
A perspective region is, in a number of respects, similar to the clip region [Ref.
p.4-4]. It is
2,
a specific portion of the workspace window that can be utilized to provide
31
Figure
3.1: Clip
Region Implemented on an a Attitude Gyro
a changing frame of reference within that region while the viewing perspective of the
area outside of the perspective region remains fixed.
the cUp region and the perspective region
to
an object that
is
is
The primary
in the fact that the clip region
structure. If the workspace area
cockpit, the perspective region provides a
then available of defining how
application.
The procedures
defining the area
a
file
is
applied
is
we
referenced to the entire
Additionally, to create a perspective region, an external page
must be added to our
is
between
indigenous to the structure (such as the attitude gyro that
created in the last section) while the perspective region
workspace window.
difference
space will be required for a particular
entail defining a specific
to act as the viewing model.
will
viewed as the interior of a
window to the "outside world". The option
much window
on the screen that
is
group as a perspective region,
be utilized as the viewing port, and importing
Before beginning however, the workspace must
32
be configured so that the perspective region
Take the
will
provide a meaningful presentation.
you just created with the attitude gyro and the
file
clip region,
and
start
from
there.
The procedures
•
Open
the grid attributes icon, and increase the size of the grid to a point that
are as follows:
the attitude gyro created in the last section occupies about a third of the grid
width.
Zoom
out until you can see the complete grid, and translate the entire
attitude indicator structure to one side of the grid to provide a cleax area in the
center of the workspace.
•
Change the parent
to the
file
new group attached
header, and create a
to the
header. Toggle to the structure chart, select the group you just created, and
open the Modify
attributes editor.
was accomplished with the
•
Once
on
again, the
this box,
you
for a
Change the Group type (very similar to what
clip region) to
a perspective region.
box labelled Pick reference Points
will
become
active.
and toggle back to the workspace. The dialogue box
LL
(lower
left)
reference point,
and an
UR
will
Click
prompt
(upper right) reference
point. This time however, they will be referenced to the entire
DWB workplace
viewing area. The size of the area defined will be the size of the viewing window.
Pick an area that
is
roughly square and does not overlap any of the attitude
gyro that was moved
Attributes
box
off to
for that
a "normal" group.
the side.
You
will notice if
you open the Modify
group again, that the group type has reverted back to
This occured because
aji
external page has not yet been
attached to the group that was specified as the perspective region, and thus,
there
is
no
file
identified as the "picture" that will
"outside world".
33
be imported to act as the
•
At
you created the attitude gyro in the same database a^ the cube
this point, if
created in Chapter
II
again as a different
be the import
•
and are working
name. One
file
Make
file.
in that file
will
be the working
sure the right path
the
submenu
Open
you
for the
in or double click
on the
the dialogue box.
Now
if
file
name
external
file
A
of the external
file
file
file.
the import
is
menu box
to import. Either type
file
under, and close
you toggle back to the structure chart, you
is
will
to the group that was just created
name you saved
The green box
it
the Structure pulldown menu, go to
that attached to the group that you created
attached to that.
and the other
and choose the external page option.
of Create
will appear, asking
region.
file,
and then save
it
specified for the save as
is
Reopen the working file and change the parent
and changed to a perspective
now, save
will notice
a green box with a white header
the external page, and the header box
is
the
that you just imported.
An
Important Note:
file,
you must open the
you to modify a
file
If
changes need to be
original
while
it is
file
in
made
and modify
it.
in the
The
imported external
software wiU not allow
an import or external status.
• Reselect the group that contains the page. Notice that the page
box both become highlighted.
and the header
Toggle back to the graphics screen, and you
should see a "window" in the middle of your workspace screen that shows the
contents of the
group selected,
file
that was identified as your import
select the
file.
With the same
Modify Attributes option again, and you wiU find that
the group you identified as a perspective region
perspective region.
34
is
now indeed recognized
as a
utilizing the Perspective Region
1.
The
be hnked and
clip region created previously
utilized.
the picture in the
may
The
window
is,
and purposes, ready to
for all intents
perspective region, however,
of the perspective region.
is
another matter. Examine
It will
appear to be
tilted
and
either appear as an extreme closeup, or as a very distant view. Toggle back to
the structure chart, select the green page box, and open the Modify Attributes page.
This editor allows modifications to the attributes of the external page, and thus the
properties of the viewing area.
a window for
for position,
window
for aspect ratio,
The software
X. Change
It
has three windows for rotation, three windows
field of view,
a button
for active page,
defaults for the rotation
X
a window for color, a window for scale, a
windows
to 0", and select Apply.
and a window
are: zero for
You should
region change to an overhead view looking directly
database. Note also that the background color
(if
Y
for
page number.
and Z, and 45"
see the view in the perspective
down on the
you can see
grid of the imported
it) is
black. This will be
the case regardless of what the original backgroimd color was in the imported
to the color
of the Modify Attributes page,
you would Uke the background
color that
know the
window
color
number of the
color
utilize,
Select the
is
Go
be
(if
you don't
open the color palette,select
the color you want, and note the index number in the lower
palette. This
file.
and enter the color number of the
in the perspective region to
you want you
for
left
comer
of the color
the number that goes in the color box of the Page attributes editor).
Apply button again, and the background color
in the perspective region
will change.
It is
appropriate at this time to mention the fact that with the addition of
the perspective region to the database, the possible
number
systems in the "world" has increased to three. There
is
of reference coordinate
the coordinate system con-
tained in the monitor screen (x being positive to the right, y being positive up, and
35
z being positive out of the monitor), the coordinate system of the instrument panel
the attitude gyro), and finally the coordinate system of the
(i.e.
the perspective region.
and there
other,
is
It is
file
contained within
possible to have these three systems orthogonal to each
nothing technically wrong with that.
possible however,
If at all
you should try to maintain as much coplanarity between the coordinate systems as
possible, as this will greatly reduce the bookkeeping
workload when the time comes
to link the simulation.
As
tion
for the
remainder of the Page attributes editor, you
and rotation windows
way you would
for
moving about
in the workspace.
may utilize the posi-
in the perspective region
Ensure that the Active Page button
and check to make sure that the number
in the
will
a discussion of two additional features in the Page attributes page.
and aspect
scale option can be useful
and the working
radically different.
working
file
in
file
in
because
close
the sizing factors between the im-
Let's say, for example, that
you created the cockpit
file
file
(the
however, you neglected to change the
and instead, created an object that was 6 inches square. In
would be extremely
it
if
which the perspective region was generated) on a grid scale that was
scale units to feet,
it
These are the
which you created the perspective region are
1500/t X 1500/t. In creating the import
case,
conclude with
ratio features.
The
file
depressed,
Scale
a.
ported
is
the same
Page Number window matches the
page number in the green box in the structure chart. This section
scale
much
difficult to utilize this
would be hke trying to see a salad plate
object in the perspective region,
in a large parking lot. If
enough to the salad plate to detect small changes
close to the parking lot to
be able to
tell
this
in attitude,
where you were.
If
you were
you would be too
on the other hand, you
were far enough back to be able to maintain a relatively good sense of perspective
36
with respect to the parking
you would be too
lot,
discern any useful information from
it.
In this case,
scale factor in the perspective region to
it
away from the salad plate
not completely accurate,
something on the order of 100. This would
will render the
it
model much more
The
aspect ratio feature
is
Now, go back and look
file is
not a square
field
window that
is
twice as long
at the picture in the perspective region. It will
appear to be stretched and distorted. This
the import
useful.
not square. Try for example changing
the reference points of the perspective region to create a
high.
and while
used primarily for the case in which the
is
perspective region aa viewed on the workspace
it is
ft,
Aspect Ratio
b.
as
to
would be prudent to charge the
change the dimensions of the salad plate to 600 inches or 50
effectively
maybe
far
will also
occur
if
the
and the perspective region
file
you identify as
is.
SOME NOTES OF CAUTION ABOUT PERSPECTIVE REGIONS
•
Any
links that
you have
page) will be deactivated
attributes
built involving a perspective region (i.e.
when you modify something
in the Page
editor and select either the Apply or Ok button. If you change
the Page attributes and accept the changes, you must reload the link
•
file
before running the simulation.
Be
careful
when
Page attributes.
using the Scale or the Aspect Ratio function in the
If
you change the scale of the imported image
in the
perspective region, this scale change will not be carried over to the
data driving the simulation.
the field by a factor of
2,
If,
for
example, you increase the size of
the position data being input to the simula-
tion will appear to be decreased by half,
the visual presentation.
The same
37
and
it
may
significantly alter
applies to the aspect ratio except
gets even trickier. In this case, the imported
proportions
that
it
may
not be scaled by the same amount in each direction, and
get very
messy trying to
ratio changes.
scale the
perspective regions approximately square.
much
easier.
38
it
can
incoming data to match the aspect
If at all possible, try to get
of linking the simulation
file
the import
It will
file
make the
and the
process
IV.
LINK EDITOR
The previous chapter explored the techniques involved
editor to create a
3-D
in using a
aircraft,
life.
The
is
carried out
procedures ajid data necessary to accurately "fly" our aircraft [Ref.
p7-l
3,
7-43].
The models created
in
DWB
are, for all intents
and purposes, "dumb". They
cannot determine whether a particular feedback gain
is
going to be destabilizing,
or recognize that the aircraft caimot fly in equilibrium at
90''
serve only as graphical representations of information that
is
source. It
is
this attribute of the software that allows
to the
cube created
"fly" the cube.
in the previous chapter,
Of course the value
angle of bank.
They
delivered by an outside
animation links to be applied to
any object that we create. For instance, the dynamics of an
it
process
This chapter will examine, in
in the portion of the software called the link editor.
-
be either Bluebird
Having constructed an accurate model of either or both of these
a method must be devised to bring them to
detail, the
graphical
model or simulate a physical
object that can be used to
process. In this chapter, the physical process being modelled will
or Archytaa in flight.
2-D
aircraft could
be linked
and an animation developed that could
of the visual feedback
would be minimal, but
could be done. With that in mind then, the following discussions relating to link
operations will be geared toward the Bluebird and Archytaa simulations.
The
link
processes described in this chapter are based on working simulations of both aircraft.
The
user
may
choose to use these models, or create an aircraft model of their own.
The chapter will conclude with a
detailed
example of linking Bluebird
region environment.
39
in a perspective
VARIABLES
A.
Whether the data used
model comes from a data
to drive the
shared
file,
mem-
ory or from an ethernet connection (more on these topics in the next chapter), a
standardized
way
of presenting
it
to
DWB
must be
defined.
be reproduced on the screen must be driven by some
The
action that will
For
sort of defined vajiable.
beam might
example, generic simulation of simulating a rotating radar
use as the
driving function, a constant times elapsed time in the azimuth plane, and a sinusoid
a dynamic simulation that provides interaction, the variables
in elevation plane. For
that used to drive the model will have to
must be created by the
user.
come from
outside
DWB's framework and
There are two types of variables available
for driving a
simulation: internal variables, and external variables.
Internal Variables
1.
Internal variables axe those variables that have been predefined in the soft-
ware.
A
listing of these variables in
Note that
shown
in Figure 4.1.
in addition to the variables listed here,
you may
combination of these variables as another internal variable and add
The only
stipulation here
is
2.
it
to the
that the drivers for the user defined function
contained in the internal variables
any
also define
list.
must be
listing.
External Variables
External variables are the user defined variables that identify the data
being presented to
accessable to
DWB from an outside source.
DWB
that contains a .vars extension in the
discussion of the .vars
is
shown
These variables are defined in a
file,
refer to
Chapter V.
A
file
file
name. For a complete
portion of an external variables
file
in Figure 4.2.
Unlike
DOS,
the variable names are not limited to 8 characters, and should
40
I
I
I
I
irems
constant function:
cos function:
dummy variable:
I
elapsed time;
frame number:
I
I
I
I
ramp
I
(unction:
I
sin function;
square wave
t
ftinction:
tan function;
i
Figure
be made as verbose as
is
CarKcl
Apply-
I
variable contains.
I
I
current lime;
I
f
FLOAT Constant value
to
FLOAT Trig function.
since
start
of
day, in seconds
FLOAT Time
FLOAT Default var used by controls
FLOAT Time since start. In seconds
Animation frame, to N
INT
FLOAT Triangular Wave, to
to 1
FLOAT Trig function,
FLOAT Square aiQQil pulse, to
FLOAT JHg function
4.1: Internal
Variables
necessary to provide a complete description of what the
Once the
.vars
file is
created,
it
may be
used for a wide variety
of simulations as long as the format of the data being input does not change.
example, the
file
Perspectives. drt
B.
if
Showtime. vars
used to drive the simulation contained in
the same data format was used for both simulations.
OBJECT LINKS
The
act of linking an object
primary application of
be focused on
is
this software
Bluebird or the Archytas
will
may be
For
what brings the simulation to
is
life.
Since the
to facilitate flight visualization of either the
aircraft, the link discussions in this
aircraft apphcations. Obviously, the
to other applications aa well.
41
and the following sections
same philosophy would apply
j
)
'
;
y'yyyyyy.fr^r'yyyyyyy^'yyyyyyyyyyyyyyyyyyyy.'.'ij-yyyyKr'yyyy.^
ijiiiiil
SwSSJiSiftixSS-SSiSSSSSSSS^^^
:::-;S--
Itfinii
:
ocrivf?
p.
^ti-ivpef
10
IMf
|.a.]e:
Attrron ;
1:
:|
:
f
<
(raa
iOA) to
t
pi
x'J>
OAT fO
1
ri(iht r ->itr
t><»sitiv<'
^tt/^pc taie)
1
:
I'.t
1
1
CAT to (r.vt ponitivt? prtdi 1own)
OAi K^ (roll rate rad'se--)
17
;;::p;
y
f
f
:.
MOAI
r'l'f;
;.
i
ipP^it;
J
;:
f
;-|-;-;r;
j
iipare
1;
1
1
:SC.Ore
::
t( !A t
10;
.
r;|;;sit>^re:;;;
1Z;
::: sf.nj-e.
Kl;.;
spare
li: apnrP;.
io
IO
1
:x;v.
:;.
.
.
:;;;*-:
x:
1
v
< f
e (}
{)>tr^ 1^ ratfi
OA) iO
ra<l,
»•--)
(t
t!J<))0
uo to
)<)»)!!
j^
i
"i
J
:,;:,_,:::,:
IvtT y. tW)
:;::':
-':
:/
1
:
w
^
^^
ru>Ar to,;»J||||||:;:
n.OAl J(> :^J-iiiliiH^-
S
;
m-':-M
\
:liili: Six:--
mm
.
f-LOArtO::;':J4:-:;;;v:::::::x;^^
fO;:3^^
rroAT to
i
r^^^^^^^^^^
-: -1
1
:-:
•
:::^. ttxMrto^^.:^^^
li);
-.^^^^vwwwwwv.
'-.-^•''^ww.,^^'''^-''•-^-'— -•-^•'''''''•••'^-''^----''''^^^^^
S;
1
;.iu t<
rad/^cc
(fad |>o?irtv'f
mj':^d:::
;'::'":::;'rt(:)AT
14;';
'li/.:*
()e<i
1
(yav^ rr.te rad^^ec
(3
HO At
:
It;
|;;
to f;j/J
oA r
C) A 1
fi
p'^parc,;
|::
1
ctKfdftf ;:,;
:;
1
——.™
.,x|x,_
;
Af.pfy
;
,:
.
,
*
WSWJ8S9
:
j
!
I
Figure 4.2: External Variables in the .vars File
Using any sort of external information source, be
memory to
it
drive the simulation requires that the .vars
plished
by opening the Link pulldown menu, and
option.
The standard
file
the appropriate .vars
file.
of links can begin.
The
data
file
first
variable
ethernet, or shared
be loaded. This
selecting the
dialogue box will appear, and
Once the
file,
all
is
accom-
Load Sim Names
you need to do
is
select
names have been loaded, the creation
step in the linking process
is
to select, using the pick
function, the exa<:t object that you want to link. In the case of an aircraft link, you
must
select the entire aircraft as a
object name).
group because
It will
DWB
you want to link a
group (each link process will be identified by one
not work to select the 250 faces that comprise your aircraft
will not
specific
be able to determine which face you want to
link.
If
item within a group, say for instance, the needle on the
airspeed gauge, you can select that particular face
42
if it
has only one face, or
move
all
of the associated faces into a separate group.
A
move
When
Point of Technique.
as a single unit (as
would be the case with an
to toggle to the structure chart
you want to
link.
complex structures that you want to
linking
and
aircraft),
it is
uppermost group
select the
As an example, say you had created a group
attached groups containing the various substructures.
out of the workspace, what you will get
to the structure chart
and
select the
select all of the substructure items
is
the
list
and
it,
called Bluebird, with
select Bluebird
of the various subgroups.
will allow
eeisier
in the the structure
you try to
If
group named Bluebird.
below
considerably
It will
Go back
automatically
you to create a
link called
BluebirdJink.
Once the object
and choose the Create/Edit option.
Figure 4.3 wiU appear.
If this is
the
A
blue dialogue box similar to the one shown in
first
link for the object, or
before but have not loaded that particular link
shown
menu,
to be linked has been selected, go to the Links pulldown
file,
if
you have linked
it
there will be one entry listed as
in Figure 4.3.
DWB will default to a translate Unk.
and choose the appropriate
To change
link operation. For
some
this, click
on the
select
of the links, the editing
button
box
appeax autoniatically. For others, you must
select the edit
button to define the
The
more common
linking operations.
following discussions detail
1.
some
of the
will
link.
Translation and Coordinate Links
Translation links accomplish just what the
to translate an object through
some specified path
of the translation link will be to
aircraft as defined
in space.
map external variables
by the workspace
grid.
name
They allow you
The most common useage
to the x — y — z positions of the
The coordinate
43
implies.
link
is
simply a grouping of
Help
Link
Name
{)1
link
pi Jink_op_1 (translate)
Link Operation Selection
p1Jink_op_l
Operation Type
translate
Apply
Figure
4.3:
Select
I
Cancel
Edit
Link Create/Edit Dialogue Box
the traxLslation links for the principle axes combined into one editing box. These are
used primaxily for grouping multiple translation
links
as long as the
do not require complex mapping. For most of the applications relating to
project, the coordinate link will
to date, the controller
controller,
and z
and work well
links,
and
it
be completely
satisfactory.
model used to generate the data
files
was therefore extremely easy to define
positions. For other flight models,
directly the aircraft inertia! position,
and
it
may
For the simulations run
was an
inertia! trajectory
as external variables the
this will require
some
sort of transformation
w
states multiplied
(Note: u, v, and
w
vectors define the velocity of the aircraft with respect to the
by elapsed time to provide an
44
a:,y,
not be as straightforward to generate
and
of the w, u,
this
inertia! position.
body
frame of the
By
aircraft.
convention, the forward velocity component u
out the nose of the aircraft, v
is
positive out the right
wing of the
positive
is
aircraft,
and
w
is
positive down.)
At
as a
this point in the discussion,
"dumb"
editor x
linking a
—
y
it is
necessary to reiterate that
terminal. The orientation of the Unked object with respect to the
—
DWB
z grid planes
very important.
is
Let's
walk through an example of
aircraft to it's inertia! position as derived
from a separate controller
simulation. For the purposes of this discussion, assume that the
model has the capability of providing the
also
assume that the
The
inertial x-position, y-position,
scale of the
required. Furthermore,
z axis
is
wing
is
file
an output. Let us
and z-position have been defined
scaling of the incoming data
assume that the construction of the
is
controller
labeled, respectively, xjpos^ y-pos,
DWB model is such that
such a way that the nose of the aircraft
grid, the right
dynamic
aircraft inertial position as
as three external variables in our ,vars
z^tos.
DWB acts
is
and
not
DWB model was done in
pointing along the positive y axis of the
pointing out the positive x axis of the grid, and the positive
out the top of the airplane. Finally, assume that the standard convention
of aircraft position labeling has been utilized to generate the data,
positive out the nose, y position
the bottom of the aircraft.
The
is
positive out the right wing,
i.e.
x position
and positive z
is
is
out of
position Unks will be created using the coordinate link
option. Select the entire aircraft (again, ensure that only one group
open a Create/Edit new Unk box. Select the coordinate
link
is
identified),
and
and the editor shown
in
Figure 4.4 will appear. As you can see, there are three available windows for defining
a position mapping.
The windows
names
(or the
mapped
that have the phrase frame
variables) defined in the .vars
immediately adjacent to the
X
Mapped
to phrase,
45
number are where the variable
file
will go. Click
on the window
and then move up to the
Select
||
Global
I:
Item
Select
Help
Viev/
...........
f
Jamc
^ Link Op.
,:..
p12U
p1?njink_of>_1
Marrie
coordittale
j!
Link Type
|;
X Mapped
To
frame miinber
Var
|:
Y Mapped
To
frairie
nuiriher
Var
|i
ZMappodTo
...
^fr.itnt; number
Var
|
Can
el
mmuitmimmmmsmsaimim
Figure
pulldown menu. The
first
Coordinate Link Edit Box
4.4:
entry
is
Variable, with a
submenu
to allow
you to choose
either external or internal variable. Select the external variable option,
of the external variables available in the loaded .vars
aircraft is pointing in the direction of the grid y axis,
to the
X position.
Similarly, the
Finally, the
directions.
We
need to
map y^os
to
X
will appear.
listing
Since our
we cannot simply map x.pos
position for the proper orientation.
Y position on our grid is going to be driven by x.po3 from our data file.
Z position will come from z^os, but the two axes are pointing in opposite
Once you have entered
z4)os in the
Z
the select pulldown menu, and choose mapping.
to the one
file
and a
shown
in Figure 4.5 will appear.
46
position
mapped
A Mapping
to
window, go back
function editor similar
i?
J!
|:
Global
Mapping For
p129Jink_opJ
Function
unmapped
Assignment
None
Variable r~
r-
Apply
Figure
4.5:
[X]
variable
frame number
X
|:
Select
Cancel
Mapping Function Editor
Open the Select pulldown menu of the mapping editor, and
A
option.
list
and since
of available fimctions will appear,
to reverse the direction of our mapping, select linear.
a means for multiplying the variable by a value
a constant, or can in
itself
again, the coefficient
C
this case,
the
C
make the
coefficient
mapped
for this case,
linear
we only want
mapping wiU provide
(this coefficient value
can either be
be a mapped fimction), and/or add another value (here
can either be a constant, or can be a mapped variable). In
A coefficent —1
to change the sign
on the incoming data and leave
uchanged. Click Ok for this editor, and aircraft
to the —zjpoa external variable. Click
link editor,
The
select thefunction
and the coordinate
link
is
on the Ok button
Z
position
is
now
for the coordinate
complete. Utilizing translation links instead
47
if
the coordinate link would have required the same operations and provided the
results.
same
This would, however, necessitate that a separate link operation be defined
each channel of the position data.
for
A
window
Point of Technique: The var button
in the link editor
of variables. If
shown
you have a
Ust of external variables.
.vars
If
in Figure 4.4
file
is
off to
the side of the mapping
a shortcut button for retrieving a
list
loaded, selecting the vax button will retrieve the
there are no external variables loaded, the
list
of internal
variables will appear.
2.
Rotation Links
"he next type of link to be discussed
is
a rotation link.
you would see the
to be started after creating only the position links,
around the sky in the orientation
in
a straight
line,
started in initially.
it
everything will be ok.
If,
Were the animation
As long
aircraft
moving
as the aircraft flys only
however, the aircraft will be required to
turn or manuever, there must be some sort of rotation applied to the model. As before,
an example
will
be utilized to
illustrate the
method
of Hnking rotation variables.
As
previously stated, the assimiption will be that Euler (or inertial) angles are available
from the data
.vars
file
file,
two
and psi
as phi, theta,
selected as a group
using the
and that they have been
respectively.
same object you used the coordinate
entries in the box.
The second
4.3).
to those of the previous section.
you
before, ensure the entire aircraft
will
link
on in the
last section,
is
If
you are
you
will see
entry will be the default translate link operation,
and change the
appear as before (see Figure
as radians,
As
and choose Create/Edit from the Link pulldown menu.
so highlight that one,
file
identified as external variables in our
link type to rotation.
The mechanics
If
The
link editor will
of creating the link will be similar
the Euler angles are brought in from the data
need to convert these to degrees, which can be done with
the linear mapping function as
we
did with the
48
Z
position mapping, except the
A
coefficient will
link, there is
be 57.3
(to convert
no "coordinate"
separately. Let us link
(/>
Now, you must
it
has no idea that the variable
rotation link.
Unlike the translation
Each rotation
link
must be defined
Select phi out of the external variables
first.
to our
Remembering that the
reidians to degrees).
link for rotations.
it
first
from
is
<f>
define the plane of rotation for
supposed to be a
aircraft is oriented
file,
with
roll
and apply
DWB since
about the longitudinal
ajcis.
nose in the positive y direction, a
its
proper phi link to the aircraft will be accomplished by choosing Plane under the select
menu
be the x
to
the aircraft
—
z plane.
If
you were to animate
The other two
A coefficient or reverse the plane
by selecting reverse under Select/Plane pulldown menu).
of rotation (accomplished
rotation channels will be identical except that 9 will be
rotation in the y
— z plane,
and
ip
wiU be mapped to rotation in the x
be mapped through a Unear function with a
So
now, you would notice that
banking, but in the wrong direction. This can be corrected in one of
is
two ways. You can either attach a minus sign to the
will
this
far,
—y
mapped
plane.
to
Each
coefficient of 57.3.
the rotation Hnks created have
mapped
angles to angles. There
is
another type of rotation that can be applied to a simulation as well that involves
mapping
of link
"translation" data to a rotation.
would be the rotating needles of
The two primary examples
either
In order to create a link of this sort, there
of this type
an airspeed indicator or an altimeter.
must be a defined
limit
on how
far the
needle will rotate in representating the data or, in other words, define a mapping
between forward airspeed
dial. Let's
a translation quantity), and the rotation of a needle on a
say for example that
needle measures the
from 1000
(
—
10000
ft.
—
1000
we have an
ft
altimeter that
we
The requirement
will first select the
"1000
good to 10,000
ft.
One
increments, while the other measures the altitude
is
to
Hnk the needles on
altitude of the aircraft, but the aircraft altitude
this,
is
is
a "linear" quantity. To accomplish
ft" needle, create
49
this altimeter to the
a new rotation link, and
map
the
z^os. Immediately below the Mapped
link to the variable
windows labeled [lower mapped
limit]
and [upper mapped
window, there are two
to
At the bottom
limit].
of
the page will be two windows labeled Rotation at min and Rotation at max. For the
needle (our "0
first
upper mapped limit
be 360. For the "0
1000"
-
ft
needle), set the lower
at 1000. Rotation at
-
10,000"
ft
max will be
be zero, and the rotation at
5000
ft,
the
first
will
360.
limits,
and
K you
we
same
thing.
be 10,000
With
will
it is
limit at zero, ajid the
be zero, and rotation at
ft.
The
max
rotation at
and with the
is
360),
is
created,
will
limit
min
will
aircraft at
and the second
halfway between the lower and upper
have rotated 180°.
noticed, there was no need to select a rotation point or origin
created the rotation links for the Euler angles of the aircraft.
Unk
max
The lower mapped
this setup
needle will be straight up (rotation at
needle wiU be pointing straight down, since
mapped
will
needle, do the
be zero, and the upper mapped limit
will
min
mapped
When
when
a rotation
DWB will default the center of rotation to the centroid of the object,
and in the case of the Euler angle
rotations, this
was exactly what was desired since
the centroid of the model closely approximates the center of gravity of the aircraft.
A
rotating dial indicator however, needs to have as
i-he
needle.
While you
still
At
center of rotation the base of
have the link editor open, go to the Select pulldown menu,
and choose the Origin option.
or point of rotation.
its
A
new
dialogue box will appear asking for the
this time, select the base of the needle, close the select origin
dialogue box, and accept the links you have created.
finks to the three positions
The
and three rotation angles of the
aircraft altitude represented
on a rotating
dial indicator that
link
file
aircraft,
now
and
consists of
links to the
can be used in a cockpit
environment.
3.
Some
origin
Final Notes on Object Linking
Next, several lessons learned using object linking are discussed.
50
•
Translation links must
come before
rotation links.
the the links in the link
in the order in
which they axe
file
translations get executed
That
is,
first,
listed.
will process
As long
aa the
the simulation will be slaved to the original grid.
the animation routine will translate the object through the original
frame of reference.
If
however, you placed a rotation link prior to the execution
changed by the rotation
of a translate, the reference coordinate system will be
links.
DWB
What
happen
will
is
that the object will
still
translate along the original
coordinate frame, but the rotation links will not remain fixed to the
same
refer-
ence frame. This will cause your linked object to essentially "tumble" through
spa<:e.
•
Rotation Link Order The normal order
rotation
DWB
is
3
-
2
-
1 (V*
— ^ — ^).
of rotation for a
body
to inertia!
For some reason, ordering the rotation links in
seems to work best in the
2-3-1
(^
—
V'
—
<^)
order. If
you cannot get
your linked object to respond properly, try changing the order of the rotation
links.
•
Clip Region Links. In order to successfully
going to
make an
link
a
clip region, (i.e. if
you are
attitude gyro), the structure of the major group that contains
the sphere must look like this:
Clip Region
Group
Link Group
In other words, create a sphere, color
(for
it,
and attach
all
of the pieces to a group
purposes of illustration, this group will be called the link group). Now, take
51
that group and attach
region group.
The
"know" that a
and
C.
to a group one level above
it
result of this structuring
clip region exists,
link groups are
is
this
and the entire sphere
is
clip
will
move.
If
the clip
reversed in the structuring,
the link will attempt to
move the
appear that the gyro
sliding off of the backplate).
clip region,
one called the
that the link operations do not
one in the same, or the order
is
it,
with unsatisfactory results
(it
will
EYE POINT LINKS
Eye point
links are extremely useful
from a simulation design standpoint. Rather
than attempt to identify a single fixed point
simulation, they provide the flexibihty to
vide a relatively simple
method
in space
from which to view an entire
move with the animation. They
for viewing a simulation, as
also pro-
they can be used without
adding the complexity of external pages and perspective regions.
If
you are building
a database with a model that will eventually be imported into a fuU scale perspective
region, the eyepoint feature
go.
To
is
a good way to test the links and external data a^ you
create an eyepoint link (in a non
-
perspective region environment), the
file
header must be the link object. Eyepoint links are fundamentally different from the
regular object links in that the frame of reference used for the eyepoint
to the monitor screen (or eye port).
is
always fixed
Recall that the object links that discussed in
the last section were grid dependent. That
is, if
you changed the orientation of the
database with respect to the grid, the link orientation would also change. With eyepoint links, the monitor
is
screen toward the viewer
(
always the x
x
is
—y
plane,
and z
positive to the right,
is
and y
always positive out of the
is
positive up). Therefore,
the eyepoint link mapping can be very different than the object link mapping.
Eyepoint links will be created in exactly the same way that translation links
were defined for the
aircraft.
The eyepoint x — y —
52
z positions
must be defined with
respect to the external variables, as well as any rotations that
eyepoint.
Once the eyepoint
links
have been defined,
it
will
may be
desired for the
be necessary to determine
a starting position for the eyepoint. The default starting point
is
the grid origin.
If
the objective of a simulation was to follow an aircraft through a series of maneuvers
while in
the X
—
flight, it
y
—
may be
best to link both the eyepoint and the aircraft positon to
z position external variables.
starting position,
and
also
had the
Now,
if
you accepted the default eyepoint
aircraft starting at the grid origin,
would be
see the aircraft during the simulation because the eyepoint
To coimter
this, select
of the aircraft.
if
right
on top of it.
the origin to be a point somewhere behind the starting point
The other option would
the aircraft by actually translating
especially
you would not
it
of course be to
in the database,
move the
starting point of
but this can get cumbersome,
you are dealing with a perspective region, and the associated external
files.
As a
final
initial position
note about eyepoint linking,
it is
pertinent to point that the eyepoint
could have also been changed through use of the mapping editor. This
method does have
its
drawbacks, and can get extremely complicated. Let's say, for
example, that you had linked the eyepoint and the aircraft to the same translation
variables,
and had linked the eyepoint
be looking at the
aircraft
the eyepoint, you simply
minus 200
ft,
to rotate in such a
from behind. K, instead of changing the
mapped the eyepoint x— position
the eyepoint would indeed jimap to 200
simulation started.
If
be "in front" of the
manner that
ft
it
would always
initial position of
to the aircraft
x— position
behing the aircraft when the
the aircraft were to turn 180" however, the eyepoint would
aircraft
and looking
in the
wrong
direction. This
is
not to say
that this type of eyepoint position linking could not be accomplished, but
require a degree of sophisticated linking.
53
now
it
does
D.
PAGE LINKS AND LINKING IN THE PERSPECTIVE REGION
Page
links are the tool that
a perspective region.
If
we were
the previous section,
it
would
perspective region, and
it
we
will use to link the eyepoint
to link
'^he
header of the working
effectively leave the viewer static
file
as
axe utilizing
was done
in
with respect to the
would create a sense of moving about the cockpit. Aside
from the link object however, the mechanics
perspective region are
when we
much
for creating
an eyepoint link in the
the same as those discussed in the previous section.
To
create an eyepoint link in a perspective region, you will need to link the external page
to
which the imported
chart,
file is
attached. Select the external page box in the structure
and Create/Edit an eyepoint
created in the last section.
link for
The most
eyepoint link in a perspective region
it
in the
same manner
significant complication that
is
when the coordinate systems
as the eyepoint
can axise with an
for the databases
are different. Recall from Chapter III that, by the time you get a perspective region
and cockpit display constructed,
and the
airfield
it
is
possible for the eyepoint, instrument panel,
coordinate systems to be orthogonal. This can significantly increase
the complexity of the links in the simulation.
of orthogonality in the databases,
is
always based around the x
positions
you
system of the
—
link the eyepoint
file
If
you do end up with some degree
remember that the eyepoint coordinate system
y plane of the monitor screen and the variables or
movements
to will be referenced to the coordinate
imported into the perspective region.
54
V.
now
This leaves us
COMMUNICATION
in a position to discuss the options available for driving
a simulation from an outside source
[Ref.
4, sec.7].
DWB
supports the following
communication methods:
•
Data
Files
1.
ASCII data
2.
Binary data
• Shared
Memory
• Ethernet
1.
UDP
ethernet
2.
TCP
ethemet
Each
of these forms of
senting data to the
simulation, the
of the
DWB
comms
communication uses a
format for pre-
animation module. To configure the communications for a
editor
must be selected through the configure comms option
Animation pulldown menu. Figure
It is
slightly diflFerent
5.1
shows the conmis editor.
here that the method of communicating with
DWB
is
defined.
procedures for the different types of communications vary slightly, but
consist essentially of teUing the software
how
the information
is
identified.
communication types, and that
is
where the information
There
is
that ejich
data to be useful. This will be examined
all
set
of
up
them
coming from, and
one point of commonality between the
must have access to a
first.
55
is
The
.vars
file
for the
I/O bi'ieotion
I
Only
Inpul
C(>mtrr<j Mi'iluxl
Iii(hiI
r~
r~
Mc-iic
RccofftData
Apply
Figure
5.1:
CafK,ol
Comm
The
Editor
.VARS FILE
A.
The
4, p.4.2].
It is
.vars
In
it,
file
can be thought of as the phone book for the animation module
the user defines
all
here that the relative position of each variable in the incoming stream,
animations
The
First,
data
is
shown
.vars
file
A portion of the
up to 50
As
will
.vars
file
defined,
is
used for the Bluebird
in Figure 5.2.
contains two critical pieces of information about the variables.
what type of number the variable
field.
[Ref.
of the variables being presented to the simulation.
aa well as the format of that variable.
of
IaIiI)U<j
r~
IJone
Special Conli.jiJiation
r
CurrKnlly
be examined
variables.
The
is,
and second, where the variable
in the following section, the .data
.vars
file,
file
is
in the
allows the use
however, gives us the capability of defining up
240 variables in varying formats. Table 5.1
lists
the breakdown of the
number
type of variable allowed when driving a simulation with an ASCII data
56
file.
of each
For
all
float
float
float
float
float
float
float
^heta <«S7*? tJleg-racf* rSO to ^S)
p3t
(*S7.3 deg-rad, -98 to
'
iTpos
(ft)
(ft)
2 POS
elevator (rad posit ive-pjtch down)
Crad pos1t1ve*1aft yaw)
Figure
5.2:
other types of communication, there
is
The
no
.vars File
limit
on the number of variables that may
be defined.
TABLE
5.1:
.VARS FILE
STRUCTURE
Floating point variables
50
Character strings
40
The three variable types listed in Table 5.1
in the
.vars
for
are the only tj^jes of variables allowed
DWB environment, and for simulations being
must contain
150
Integer variables
driven by
ASCII data
files,
the
variables within the constraints of the values in Table 5.1. Again,
any other type of information
driver, the allowable
number
in not limited. For the purpose of the Bluebird simulation, the
57
of definable variables
data
file
consisted of
25 states and their values for a specified period of time, so the .vars
The names
150 available floating point variables.
suit
identified in Figure 5.2,
we wished
.vars
FLOAT
true^/s
FLOAT
ground_spd
(comment)
FLOAT
engine_rpm
(comment)
Once the
much
B.
as a .vars
it
file (for
file
might look
like:
variable)
copy an existing
them
in every time.
instance: showtime. vars).
Point of Technique: Rather than typing out 240
easier to
naming convention
example, in addition to the variables
(comment about the
and modify
file
it
lines of
a .vars
file, it is
accordingly.
DATA FILES
Driving a simulation with a data
file
as a stand alone process [Ref. 4, p.4-7].
interfaces active,
and
it
file.
row array of 51
incoming data.
must be zero
must be of a
variables
(i.e.
tool.
Whereas the
fields.
If
filled.
means
of running the simulation
need not have any other communication
affords us the flexibility of reviewing past simulations, or
can be a valuable analysis
of the .vars
provides a
We
conducting demonstrations. While a data
of
that the
variables have been defined, you will not need to type
Rather, save
A
is
add the variables true airspeed, groundspeed,
to
and engine rpm, that portion of the
If for
used 25 of the
of the variables can be modified to
the individual application; the only constraint here
must conform to standard Unix format.
file
That
is
file
The format
.vars
does not provide real time capability,
of the data
file is
quite different from that
a colimmar array of 240
is
to say that the data
file
it
fields,
the data
must contain 51 columns
file is
a
(fields)
the simulation does not require 51 variables, the remaining fields
Within the data
floating point format,
character strings).
fUe, the first
and the
last 10
The number
58
40
fields after
the integer time step
columns are reserved
for string
of data points in each field
(i.e.
the
length of the coliinms under each row)
Additionally, the
Figure 5.3
is
first
colimm
DWB
are currently a
to stick to the
number
immaterial, but the
in the data
a portion of the data
possible to configure
is
file
in such a
file
must be a
ASCII data
used in the Bluebird simulations. While
manner that
it
5.3:
The
number
ASCII format. Since
This converted data
complete details
for
C
file
as such
it is
best
Department to date has been
nm
//// x
it is
in anything but floating point format,
through an executable
and
in
Matlab/Simulink
saving a sampling of each state to a data
the unused portions of a
saving this matrix in
can accept binary data, there
.data File
driven by data obtained from dynamic simulations
filling
it is
files.
All of the virtual prototyping conducted in the
The data was obtained by
is fixed.
set of sequential integers.
of bugs in that portion of the software,
Figure
workspace,
number of fields
it
Matlab
51 matrix with zeros, and then
not possible in Matlab to save a
first field
DWB
file
to a time step integer.
to drive the simulation.
doing this conversion are contained in Appendix
59
in the
became necessary to process the
code that converted the
was then delivered to
file
[Ref. 5].
The
APPENDIX B,
Through a process
in the
of trial
and
error,
it
was determined that a
significant
slowdown
animation occured when the sampling rate out of the Simulink simulation was
greater than about 10 Hz.
C.
SHARED MEMORY AND ETHERNET CONNECTIONS
Shared
methods
for
Memory and
DWB
to
Ethernet conmiunication methods are the two primary
communicate to the outside world
[Ref.
4, p.4-10].
time, the hardware and procedures for ax;hieving a real time link to
developed.
of these
here.
The documentation in
[Ref. 4,
methods of communicating, and
The implemantion
of either
chap
7]
DWB
the Unix/ Network system.
60
this
are being
contains a fairly indepth discussion
as such that discussion will not
method
At
will require
be repeated
a considerable knowledge of
VI.
CONCLUSIONS AND
RECOMMENDATIONS
A.
CONCLUSIONS
The addition
ware
in the
of
DWB
to the repertoire of analytical
and computational
soft-
depajtment has provided a major boost in the realization of flying a
VTOL/transition autonomous UAV. Having graphical visual feedback available to
the pilot significantly increases the chances for completing a successful mission.
software has also
alytical tool,
become an
of the ISI
AC- 100
processor,
phase.
The
software as currently installed
user friendly, and although a
number
of shortcomings
is
it
will also
be an
components before the
integral part of the haxdware-in-the-loop testing of various
flight test
an an-
integral part of the controller design process as
and with the addition
The
for the
most part extremely
and bugs were discovered dur-
ing the implementation process, the updated version of the software scheduled to be
released in
B.
Mar
'94 will correct the vast majority of these.
RECOMMENDATIONS
The
MBytes
of
software was designed to be run on
RAM,
and 24
SGI machines that had
bit graphical processing capability.
time have 16 MBytes of
stalled in the Avionics lab at this
graphical processing capability.
To be
at least 32
The SGI machines
in-
RAM,
bit
able to utilize the software to
and only 8
its full
extent,
the hardware needs to be upgraded. Aside from hardware upgrades that will significantly
improve the performance characteristics of the software,
it
should be noted
that the preliminary development of the virtual prototype models for this project was
conducted on release version 2.0 of
DWB. A number of bugs
61
and
utilization
problems
were discovered during this preliminary implementation. Rather than recount the
difficulties
encoimtered,
uled for shipping in
it
March
of the software has been
will
be
sufficient to
of 1994,
and
note that release version 2.1
initial reports indicate
improved by an order of magnitude.
62
is
sched-
that the performance
APPENDIX
All of the
files
A: LIST of
PROJECT FILES
that were generated during the course of this project have been
transferred to Professor
Kaminer. The following
I.
is
a listing of the
files
containing
the final version of several of the projects associated with this work:
•
PerspectiveSa.xxx.
PerspectiveSa (P5a)
is
a collection of
lation of Bluebird in flight driven
of a trajectory controller.
files
that were compiled to run a simu-
by data taken from a Simulink simulation
P5a was implemented using a perspective region
to
provide an out of cockpit view, with 5 cockpit instnmients linked to the simulation.
The
Bluebird
aircraft
and the eyepoint
is
Unked to the "actual" position of the
linked to the
is
commanded
trajectory position to provide a
means
of determine variations in the aircraft position
sition.
P5a
.ceo files.
is
from the commanded po-
found in /home/lagier/cs.world and has associated
The
.vars
file
aircraft,
.Ink^.drt,
and
used with simulation can be either showtime.vars or
perspectiveA.vars.
•
Archyt-show.xxx.
Archyt_show
Archytas in
from the
is
a collection of
flight.
controller,
The
file
files
compiled to provide a fictional rendering of
demonstrates the six degrees of freedom available
and the VTOL/transition characteristics of Archytas. At
the time of this writing, there was no data available to construct a data
file
showing the dynamics of Archytas. This would be a good follow on project.
•
Showtime/Showtiine2.xxx
The Showtime
files
were the
first full
63
animation
files
run during this project.
There
is
no perspective region or accompanying cockpit instrumentation, but
the degree of resolution
due primarily to the
is
better in these simulations than the perspective series
fact that there
quickly test a link or data
•
file,
these
is
a larger viewing area.
files
are well suited to that
If
you want to
teisk.
Importn.dwb
The import
series of files
were replications of Monterey.dwb used to import
into the perspective regions of the perspective series.
imports. dwb. This
in the
The
P5a viewing
is
the database you must change
if
P5a uses
it's
import
file
you want to mcike changes
area.
rest of the files in the directory are files that
to get to the files listed above.
They
are, for the
nonfunctional for one reason or another.
64
were used as stepping stones
most part, either incomplete or
APPENDIX
B:
DATA CONVERSION
PROGRAM
This
is
a reproduction of the
the PC-486 in the Avionics lab.
naatrix of
ffffxbl
floating point
C
language program that currently resides on
The purpose
tinclude <stdio.h>
tinclude <math.h>
void main (void)
C
float num;
int n;
int m;
int length;
int start;
char namein[20];
nameout [20]
of the
program
is
to take as input a
ASCII numbers, and rewrite the
an integer format.
char-
IN "C"
;
FILE *fpl,*fp2;
65
first
column
into
;
;
;
;
;
;
\
printf ("This program takes a MATLAB data file saved in ASCII format \n")
printf ("and changes the first column's data structure to integer format \n")
printf ("in order to make it compatable as an input file to Designer's Workb
printf ("Please enter the file name of the MATLAB data file (ascii format).
scanf ("•/,s",namein)
printf("\n");
printf ("Please enter the file name of the DWB format file.\n\n");
scanf ("*/s",nameout)
printf("\n");
printf ("Hov
many rows (time steps) are in %s ?\n\n",namein)
scanf ("y.i",&length)
printf("\n");
fpl = fopen(namein, "r");
fp2 = fopen(nameout,"w");
for
(
n=l; n<length; n++)
{
for( m=l; m<52; m++)
{
f scanf (fpl , "Xf" ,&num)
if(
m«l
)
{
66
fprintf (f p2 "\ny.i\t'
,
'
,n)
;
}
else
{
fprintf (f p2
,
'7.6
.
3e\t " , num)
;
}
}
}
fclose(fpl)
fclose(fp2)
}
67
REFERENCES
1.
Coryphaeus Softwaxe,
Inc., "
2.
Coryphaeus Software,
Inc., "Designer's
3.
Coryphaeus Software,
Inc., "Designer's
4.
Coryphaeus Software, Inc., "Designer's Workbench Link Editor/Run Time Modvie User's Manual June 1993,
5.
License Manager User's Guide" June 1993.
Workbench Users Manual" June
1993.
Workbench Reference Manual" June
1993.
Hallberg, E. N. Design of a GPS Aided Guidance, Navigation, and Control System for Trajectory Control of an Air Vehicle,
Thesis, Dept. of Aeronautics
and Astronautics, Naval Postgraduate School, Monterey, CA, March 1994.
,
MSAE
68
INITIAL DISTRIBUTION LIST
No. of Copies
1.
Defense Technical Information Center
Cameron
Station
Alexandria,
2.
Library,
VA
22304-6145
Code 52
Naval Postgraduate School
Monterey,
3.
Dr. Isaac
CA
I.
93943-5002
Kaminer
Department of Aeronautics and
Astronautics, Code AA/KA
Naval Postgraduate School
Monterey,
4.
CA
93943-5000
Dr Richard M. Howard
Department of Aeronautics and
Astronautics, Code AA/HO
Naval Postgraduate School
Monterey, CA 93943-5000
5.
Chairman
Department
of Aeronautics
and
Astronautics
Naval Postgraduate School
Monterey,
6.
Thomas
CA
93943-5000
F. Lagier
73490 Siesta Trail
Pahn
Desert,
CA
92260
69
No. of Copies
7.
LCDR Mark
T. Lagier
TACTICAL AIR CONTROL SQUADRON TWENTY-TWO
FPO NEW YORK 09501-6542
70
DUDLEY KNOX U?^'"
HOOL
NAVAL POSTGRAD*..'
u1
93943-6.
MONTEREY CA
.
GAYLORD S