Vehicle - Platform - Terrain
A variety of related platform-oriented models were created on previous projects.
These have been integrated into a single collection, called the VPT library,
for Vehicle-Platform-Terrain (VPT) models. The models enable network models to be
integrated with mission-level scenarios to provide realistic and dynamic network
traffic, as well as to assess networking quality impacts on mission success.
The Vehicle-Platform-Terrain (VPT) models library of CSIM contains several simple
elements for modeling operational scenarios and/or engagements between various kinds
of entities or platforms. The elements may be combined with
strategy logic and initial status and capabilities.
Scenarios may be quickly studied by snapping down the objects into their
initial positions, and letting the simulation unfold.
The models are composable, extensible, and are highly re-usable for many purposes.
This document will introduce the VPT models and discuss how to use them.
The VPT models form a base set which can either be used as-is through
parameterization, or further evolved into more extensive models of specific systems.
The VPT models leverage CSIM's unified simulation environment to
simplify the construction of new models, as well as for increased simulation
composability, efficiency, scalability, and compatibility to other levels of modeling.
Being based on a general purpose simulator, it has received
broader use and testing.
The VPT models are located under $CSIM_MODEL_LIBS/VPT. Several example
scenario simulations are also included under the examples sub-directory.
Although the models are useful as-is, they are also considered as examples
for how to model vehicle and platform scenarios. The base models can be extended or
simplified as needed. They are constructed in an object-oriented top-down fashion.
New vehicle models can be added by inheriting the base class model definition, and adding to it.
To use these models, include (by-reference) $CSIM_MODEL_LIBS/VPT/Library.sim in
your top-level diagram.
Independent World Models for Each Agent
Inherent in the VPT is the concept of a World Model for each entity.
It reflects the state of information that each entity holds about other entities.
With this model, the position or existence of neighboring objects can be made noisy or uncertain,
denied or spoofed.
Of particular interest is the maintenance of different views of information access.
VPT contains models of sensor capabilities, as well as sensor information sharing.
For example, actual truth state, versus knowledge as perceived from other units.
Distinct purposes of VPT are to study evolved behaviors, or the emergence of
improved strategies and behaviors through evolutionary computing paradigms.
Terrain Data Base
To support the multi-platform modeling, a simplified terrain database with access functions
provide information about visual and RF contact between any pair of platforms, as
well as traversability, based on platform x,y,z locations. Terrain conditions
are described as real values for traversability and RF propagation. In this way,
effects such as foliage, urban structures, interference sources, or mountains can be abstracted.
Two versions of the RF propagation map are available: a standard grid-based version, and
a more efficient polygon-based version. The polygon version integrated propagation loss
across regions of arbitrary shape, dimension, and precision. In practice, it can produce
results which are more accurate than could be obtained from very fine grids, but while
consuming minimal computation, especially for mixtures of urban and open terrain.
A round-earth model is combined with arbitrary elevation data.
Data can be accepted from a variety for formats, such as
DTED or NASA geological database. The VPT terrain model is simpler and more abstract
than earlier terrain models. It is based on a simple eclipsing and propagation grid.
Each grid square contains a pair of values for traversabilty and RF propagation loss per unit distance.
The grid vertices (or lines) specify an xyz elevation value.
The vehicles.sim model contains a scenario reader for reading entity instantiations, and movement way-points.
Each entity instantiation sets the entity's name, type, and initial location (North, East, and altitude).
void read_tracks_events( char *fname )
Depending on the units selected, the North and East values can be specified in degrees, meters, or miles.
The altitude may be specified in meters or feet above the surface or sea-level.
The instantiations and way-points are specified in XML. Each way-point specifies motion for a named object
during a time range (t0,t1) to reach a new location. The velocity is implied as that necessary to reach the
location from present position in that time interval.
The vehicles.sim model also contains convenience functions to convert the default time base units of Seconds into
Days:Hours:Minutes format for displays.
float convert_dhms2minutes( char *dhms )
Models can inquire about the exact location of any object at any time through the function:
where_is_vehicle( char *name, float *north, float *east, float *alt, float *t )
This function performs linear interpolation to get the exact position between way-points.
A movements_process thread within the vehicles model maintains vehicle positions on an iterative basis.
By default, the update period is 30-seconds. This is useful for detecting the approach of another object within
a given distance. (The WF3D viewer updates its screen independent of the movements_process thread.)
See Spatial Services API
The WinFrame-3D viewer operates with VPT XML data to visualize entities operating and moving in three-dimensional space.
The following pictures show snapshots from prior
simulation projects, including Drexel U. Autonomous Communicating Robots and MANet studies.
UAV over ground terrain.
Drexel Autonomous Communicating Robots/Sensors Project.
Movie of Micro-UAV's navigating within rooms of buildings.
Back Up to Model Libraries