DWARF Tracking Tutorial
This tutorial tells you how to incorporate trackers in a DWARF system. For this purpose, you will partially rebuild the famous
Sheep demo.
Prerequisites
For this tutorial, you should
- know how to install DWARF on your system (see DwarfInstallTutorial),
- know how to build DWARF on your system (see DwarfBuildTutorial)
- have a supported tracking device (currently, ART and Intersense devices work), although parts of this tutorial can be done without a hardware tracker
Lesson 1: View a landscape with the Manual Tracker
In this lesson, you will learn how to control a virtual camera's viewpoint using the
Manual Tracker debugging tool.
Background: Positional Data in DWARF
In DWARF, all virtual and real objects have a position and orientation in three dimensions. Position is represented by three coordinates, the scale in the real world is
meter by convention. Orientation is represented as
quaternion . In addition, every object is identified by a
unique tuple consisting of a so-called
ThingType
and a
ThingID
.
Usually, objects exchange their positional data using CORBA Notification Events. The central data structure for this is
PoseData, it contains the parameters just mentioned, and some values for timestamps and telling the accuracy of data. In the remainder of this tutorial, we think of CORBA events conatining such a data structure whenever we talk of
PoseData .
DWARF Tracking architecture
The DWARF tracking architecture follows the simple yet efficient pipe-and-filter paradigm. Usually, a hardware tracking delivers some positional data to a DWARF adapter suited for this device. The adapter then sends out DWARF
PoseData events. These events may get processed by some additional calibration and/or filtering components and finally reach one or several DWARF services that do useful things with them.
What to build
Make sure you have a built and installed DWARF distribution. In particular, for this tutorial, you need the following services:
Lesson 3: Add a sheep controlled by the Manual Tracker
Lesson 4: Add a tangible sheep with real-world tracking data
Lesson 5: Calibrate the tangible sheep
--
MartinWagner - 17 Jul 2003