Vehicle - Platform - Terrain
Models Library


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 traversability 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

WinFrame-3D Viewer

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