Keywords: mount
Summary
This scene demonstrates the Tracking mount, which will always point at a specific target geometry instance. The mount accounts for both platform and target motion. It is useful for setting up scenarios such as a UAV with a camera ball that follows a vehicle on the ground.
Details
The scene contains a stationary fighter jet and a moving truck. The imaging platform is moving due east and stares at the fighter jet. The tracking mount will dynamically compute the platform-relative pointing during the simulation to have the attached camera stare at either the fighter jet or the truck.
Important Files
There are two components to setting up a tracking mount:
-
The geometry list (GLIST) file must have a unique name assigned to the instance to be tracked.
-
The tracking mount must be selected and configured in the platform file.
Scene Geometry
The geometry/tracking.glist
GLIST file contains the scene gometry including
a ground plane, a moving jet fighter and a moving truck. The truck and
fighter each have a single "named" instance. A "named" instance is an
instance with the name
attribute set to unique string. This name can be
used for a variety of purposes. In this scenario, the name will be used to
tell the tracking mount which object to track.
The following excerpt from the geometry/tracking.glist
GLIST file shows
the setup for the fighter jet, including the name EnemyFighter
being
assigned to the one <dynamicinstance>
:
<object> <basegeometry> <gdb><filename>aircraft.gdb</filename></gdb> </basegeometry> <dynamicinstance name="EnemyFighter"> <keyframemovement> <filename>$SCENE_DIR/geometry/aircraft.mov</filename> </keyframemovement> </dynamicinstance> </object>
The truck inserted via the geometry/tracking.glist
GLIST file has
a single dynamic instance with the name EnemyTruck
assigned to it:
<object> <basegeometry> <gdb><filename>truck.gdb</filename></gdb> </basegeometry> <dynamicinstance name="EnemyTruck"> <keyframemovement> <filename>$SCENE_DIR/geometry/truck.mov</filename> </keyframemovement> </dynamicinstance> </object>
Mount Configuration
Note
|
As of the DISIG 4.6.5 release, this mount can be configured in the graphical Platform Editor. |
The mount can be manually configured by hand-editing the .platform
file.
To select this mount, the type
attribute within the <mount>
element
must be set to tracking
. The <targetname>
element must be set to
the name of a named instance in the scene. The example below the named
instance EnemyFighter
has be specified:
<mount type="tracking" name="Tracking Mount" > <data> <targetname>EnemyFighter</targetname> <targetoffset> <point><x>0.0</x><y>0.0</y><z>0.0</z></point> </targetoffset> </data>
Note that by default the mount will point to the (0,0,0) coordinate in the
target geometry’s local coordinate space. It is possible to modify this
location using the <targetoffset>
element, which specifies the location
in the instances local coordinate system that the mount will stare at.
For example, this could be used to have the mount stare at the front or
rear of the fighter rather than the middle (where the fighter’s origin is).
Note
|
To switch the tracked target from the stationary figher to the moving
truck, simply change the <targetname> element for the mount from
EnemyFighter to EnemyTruck .
|
Setup
The camera attached to the tracking mount has a 4 Hz read out rate and the task has a duration of 5 seconds. The simulation will therefore produce 20 individual image files.
Results
The time-lapse animation below shows the frames from the simple camera staring at the fighter jet as the imaging platform flies across the scene.

If the <targetname>
is changed to EnemyTruck
then the camera follows
the truck:
