Transcript Document

OneSAF Objective System
Users Conference:
LOS Performance Issues in OneSAF
Brett Butler
SAIC
[email protected]
05/06/2004
1
Outline – LOS Performance Issues in OneSAF
•
•
•
•
•
•
•
OneSAF Environment Overview
Primary LOS Algorithm
LOS Variants and Use Cases
Timing Results in OOS
Optimization Strategies in Current Implementation
Integration Landscape for GPU into OOS
Collision Detection in OOS
• (Backup) Terrain Database Organization
2
OneSAF Environment Overview
3
What is One Semi-Automated Forces (OneSAF)
Objective System (OOS)?
A composable, next generation CGF that can represent a full range of
operations, systems, and control processes (TTP) from entity up to brigade
level, with variable level of fidelity that supports multiple Army M&S
domain (ACR, RDA, TEMO) applications.
Software only
Automated
Composable
Extensible
Interoperable
Platform Independent
Constructive simulation capable of
stimulating Virtual and Live
simulations to complete the L-V-C
triangle
Field to:
RDECs / Battle Labs
National Guard Armories
Reserve Training Centers
All Active Duty Brigades
and Battalions
4
Scope of the OneSAF Environment
Representation
•
•
•
•
•
•
•
•
•
•
•
•
Terrain
Cultural and Natural Features
Atmosphere
Ocean
Weather
Smoke,
Obscurants
Aerosols
NBC Agents
Urban Environments
Buildings
Building Interiors
5
OOS’ Enhanced Synthetic Natural
Environment
•Increased number of
trafficability categories
•Increased number of
attributes and features
•Enhancement of mixedfidelity terrain modeling
6
OOS’ Enhanced MOUT Capabilities
•Enhanced DI SAF level
behaviors
•Validated, physicsbased modeling
•Ultra High Resolution
Building (UHRB)
models
•Integration of MOUT
FACT developments
JRTC
Screen shot
Of UHRB
Editor
7
SNE Conceptual Reference Model
Environmental Model
Data (e.g.)
Effects (e.g.)
- Terrain
- Propagation
(e.g. surface, hydro, veg, ..)
- Atmosphere
(e.g. aerosols, clouds, ..)
- Ocean
(e.g. sea state, SVP, ..)
- Space
(e.g. particle flux, fields, ..)
- Civilian
(e.g. roads, structures, ..)
- Military
(e.g. engineering works, ..)
(e.g. geometric intervis /TL)
- Trafficability
(e.g. corridor)
Internal Dynamics
Impacts (e.g.)
- Obscurants/Energy
Military System Models
Passive
Sensors
Active
Sensors
Weapons &
Countermeasures
(e.g. smoke, chaff, noise, ..)
- Damage
(e.g. structural, combat
engineering, craters, ..)
Units /
Platforms
Behaviors (e.g.)
- Scout
- March
- Occupy
- Target
- Fire
- Search /
Find
- Localize
- Track
- ..
8
Primary LOS Algorithm
not_done = true
los_exists = true
get_first_triangle(segment, triangle)
while (los_exists and not_done)
if (areal_feature or linear_feature) then raise_triangle_vertices
if (elevations of triangle vertices < elevations of segment endpoints)
// bounds check for efficient pruning
los_exists = true
else
los_exists = not intersects(ray, triangle)
while (triangle_point_feature_list not empty and los_exists)
los_exists = not intersects (ray, point_feature_bounding_volume)
not_done = get_next_triangle(segment, triangle)
return los_exists
9
LOS Variants and Use Cases
1. Low-Resolution Sampling vs. High-Resolution Ray-Trace
2. Geometric LOS vs. Attenuated LOS
• Atmospheric
• Foliage
3. Use Cases:
• Primary
• Rasterized
• LOS Fan
4. Outdoors Terrain vs. Inside Ultra-High Resolution
Buildings
10
Multi-Resolution
WARSIM reuse
legacy gives us
the sampled
LOS model for
use by OOS
Sampled LOS as used in WARSIM
(picture Courtesy of WARSIM)
OneSAF
enhancements
include exact
ray-trace LOS
model
Ray-Trace LOS includes strict segment-polygon intersection tests
11
LOS Attenuation
Compute path loss through
canopy – individual trees or
forest areal
Compute path loss through
atmosphere
35% LOS
10% LOS
Sensor Model accounts for attenuation path
loss. Usually by a thresholding combined
with a random draw of LOS result
12
Use Cases
Rasterized
LOS Fan
13
Ultra High Resolution Buildings (UHRBs)
14
UHRB Apertures and Implications for LOS
15
Timing Results
•
•
•
•
•
•
JRTC Database
4000m range
Elevations set at 300m to guarantee no LOS blockage
Computer:
Intel-based workstation containing a Pentium III 1GHz processor and
512M RAM
Measured from Java, through the JNI, to the C++.
Windows 2K and Debian linux
Results
Minimum Time = 2549.68 usec
Maximum Time = 2771.53 usec
Statistical average = 2576.10 usec
Historical Context (CCTT)
950 usec for unblocked 4000m call
Regular triangular terrain vs. OneSAF TINs
Flat-earth terrain vs. ellipsoidal/geoidal earth model
16
Optimization Strategies in Current
Implementation
1. Motion coherence for Observer
Save triangle reference for my location to pass back to LOS
for next call
2. Spatial Coherence for Geometric pair
Save my triangle reference and feature reference of blocking
object and perform subsequent test against that object
17
Integration Landscape for GPU
into OOS
18
SNE Components of PLAF
Architectural
Applications
(OneSAF System
Compositions)
Leader and
Staff Training
System Composition
Seamless
Training
System Composition
Force and Organizations
Analysis Tool
System Composition
Test and
Evaluation
System Composition
Other
System
Compositions
…
OneSAF Product Layer
System Knowledge
Composer Eng. Env.
Event
Planner
Model
Composer
Simulation
Generator
Technical
Manager
Simulation
Core
Simulation
Controller
C4I
Adapter
Analysis
& Review
Repository Maintenance
Manager
Environment
OneSAF Component Layer
System
Composer
Tool
KA/KE
Tools
Composition
Services
S/W Eng.
Management Monitor &
Data
AAR
& Control
Control
Management Environment
Tool
Services Annotator
Tool
CM
Entity
Tool
Tool
Entity
Composer
Information
Federation Translation
Federation
Models
Environment
Data
Defect
Model
Services
Meta-Data
Behavior
Mgmt. Tool
Develop.
Tool
Database
Collection
Tool
Verif.
Tool
Composer
Behavior
Connect
Generation
Specification
Tool
S/W Verif.
Performance
Models
Environment Environment
Tool
Stealth Tool Services
Tool
Modeling Tool
Composer
System
Physical
Icon
Acct. Tool
Models
Network
Tool
S/W Install
Loader Tool
Environment
Tool
Battlefield
Models
Enum. Tool
Benchmark
System
Tool
Dist. Tool
Military
Scenario
Development
Environment
Environment
Runtime
Services
Unit
Composer
Environment
Reasoning
Services
Management
& Control
Tool
(SSDE)
GUI
Services
Sim. Config.
& Asset
Mgmt. Tool
Plan View
Display
Unit
Models
Data
Collection
Services
Simulation
Services
Simulation
Object Runtime
Database
Modeling
Services
System
Repository
Services
OneSAF Component Support Layer
KA/KE
Repository
Environment
Repository
Software
Repository
System
Composition
Repository
Military
Scenario
Repository
Local Exercise
Environment
Repository
Parametric &
Initialization
Repository
Simulation
Output
Repository
OneSAF Repository Component Layer
Monitor
Services
Time
Services
Name Directory
Services
Messaging
Services
Coordinate
Services
Interchange
Services
OneSAF Common Services Layer
OneSAF Platform Layer
Hardware
Operating System
RTI
DIS
COE
JDBC/
WWW
Services
ODBC
Middleware Services
Network
ORB
Live Range
Adapter
Environment Runtime Services Context
Client Product
Client Component
Queries
Modification Requests
Results
Environment
Runtime
Services
Static
Environment
Data
Environment Simulation Objects
Environment Events
LEER
SORD
20
Collision Detection in OOS
1.
Basic Architecture of Collision
•
Two types of collision


•
Collision Detection is responsibility of each maneuvering entity

•
Force of collision
Penetration depth
Entity composition
OneSAF Environment provides a service (get_features_in_area)
to assist in detection of collisions with environmental objects
•
•
3.
4.
Penetration of bounding planes
Assessment of damage received is the responsibility of all
colliding parties



2.
Entity collides with entity
Entity collides with environment feature
Rectangular search area specified by geodetic coordinates
Returned feature list w/ bounding planes
Collision detection functionality is new and not yet mature
Complicating issues:
•
•
•
“dead reckoning”
Variable integration time step
Features not wholly contained in rectangular search area
21
Terrain Database Organization
22
Geotile Reference System
A hierarchical, geodetic tiling system proposed as a common
tiling scheme across M&S applications and programs
Being adopted by STOW World Wide Terrain Database
(WWTDB), JSIMS SNE, JWARS and Terrain Scenario
Generation and Archiving (TSGA)
Paul Birkel, Kent Cauble, Dale Miller, Eric Root
Geographic Referencing Scheme Requirements
• Tile earth’s surface into manageable tiles for modularity,
production & referencing
• Provide a human intelligible means of referencing tiles
• “Reasonable” width of tiles (nominally between 66 and
112 km)
• Indexing for rapid access and retrieval
• Provides a natural, hierarchical decomposition of the
earth into simply defined megatiles, each comprised of a
number of tiles
24
GeoTileRef Definition
• Geotiles are 1 degree in latitude and 1 to 30 degrees in
longitude
• Megatiles are 15 X 15 degrees between +-60 degrees
latitude, 30 X 15 degrees elsewhere (polar regions)
25
Megatiling Scheme Based on GEOREF
lettering system
A
B
C
D
E
F
G
H
J
K
L
M
N
P
Q
R
S
T
U
V
W
X
Y
Z
90
M
75
CL
60
L
K
45
J
30
H
15
G
0
F
-15
E
-30
D
-45
-60
C
-75
B
-90
-180
A
-150
-120
-90
-60
-30
0
30
60
90
120
150
180
Megatile identifier
scheme based on
GEOREF lettering system
CM
EM
75N
60N
Geotiles within megatiles are
referenced via longitude/latitude offset
of SW corner from megatile SW corner
CL
EL
60N
45N
CK
DK
2803
0003
0203
0403
0603
2802
0002
0202
0402
2801
0001
0201
0401
0601
2800
0000
0200
0400
0600
CL
0602
1314 1414 0014 0114 0214 0314 0414 0514 0614 0714
EK
1313 1413 0013 0113 0213 0313 0413 0513 0613 0713
1312 1412 0012 0112 0212 0312 0412 0512 0612 0712
CJ
30N
150W
DJ
135W
EJ
120W
1311 1411 0011 0111 0211 0311 0411
105W
15 0W
CK
511 0
0611 0711
Human Readable Geotile Referencing
C L 10 02
North offset in degrees of latitude
from southwest corner of Megatile
East offset in degrees of longitude
from southwest corner of Megatile
Megatile northing designator letter
Megatile easting designator letter
Attribute
Definition
Rationale
GRS.TileName
Text referencing the tile similar to
the World Geographic Reference
System (GEOREF) (N.B.: no
slashes). TileName is the GRS
primary key.
Leverages GEOREF lettering system
but doubles GEOREF cell size above
60 degrees north latitude and below
60 degrees south latitude to conserve
data sizes.
GRS.TileID
A unique, sequential numeric id,
starting at 1 at {90S, 180W}, ending
at total number tiles.
A unique, sequential numeric
identifier for fast reference and
lookup.
Lat/Long
Southwest
Corner
Megatile
Easting
Designator
Megatile
Northing
Designator
Megatile
Longitudinal
o
Size ( )
Geotile
Longitudinal
o
Size ( )
Tile Name
Tile ID
N24 / E37
Q
H
15
1
QH0709
xxxxx
N62 / W147
C
L
30
2
CL0102
xxxxx
Terrain Skin Representation
Grided
Triangular
Irregular Network (TIN)
29
Runtime Database Structure
Coverage
Holds all GeoTiles for a given database. (Can
have missing GeoTiles)
GeoTile
Holds all pages for a given area, aggregate features
(those that overlap pages) and dynamic terrain
features.
Page
Used as a paging unit from disk. Stores
features and Terrain Elements
(e.g. Polygons - that can overlap pages).
Pages broken up along geodetic
boundaries.
Geotiles decompose
into regions.
Pages decompose
into regions.
Regions decompose
into sub-regions.
Region
Used to access subregions.
Sub-Region
Used to speed up
access to terrain polygons.
Runtime Database Structure
REGION
PAGE
SUB-REGION
Polygon selected because it contains the center
of the sub-region.
Terrain Framework
Coverage
Coverage
Holds all GeoT iles for a given database. (Can
have missing GeoTiles)
… GeoTileN
GeoTile1
Page1 … PageN
…
…
Region1
SubRegion1
…
…
Page
Used as a paging unit from disk.
Stores features and T errain Elements
(e.g. Polygons - that can overlap
pages). Pages broken up along
geodetic boundaries.
Geotiles
decompose
into regions.
Page1 … PageN
RegionN
… SubRegionN
GeoTile
Holds all pages for a given area, aggregate
features (those that overlap pages) and dynamic
terrain features.
Pages decompose
into regions.
Region1 … RegionN
SubRegion1
… SubRegionN
Regions decompose
into sub-regions.
Region
Used to access
sub-regions.
Sub-Region
Used to speed up access to
terrain polygons.
…
32
Terrain Layers
Client1
Client2
ClientN
Java Interfaces
System-Dependent Interfaces
System-Independent Interfaces
Terrain Framework
33
Terrain Database Structure
34
Triangle Strips
35