Chair for Computer Aided Medical Procedures & Augmented Reality
Lehrstuhl für Informatikanwendungen in der Medizin & Augmented Reality

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.


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 2: Add a virtual sheep

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

Edit | Attach | Refresh | Diffs | More | Revision r1.6 - 23 Mar 2005 - 20:20 - NikolasDoerfler

Lehrstuhl für Computer Aided Medical Procedures & Augmented Reality    rss.gif