> Polhemus Tracker
> Hardware Setup
The Polhemus Startrak is a magnetic tracking device that allows the capturing of motion of a human body in six degrees of freedom. Up to sixteen small sensors can be attached to any part of the human body. The sensors are cabled to a wearable box, the so-called body pack, which wirelessly transmits the data to a radio frequency receiver connected to a dedicated PC. The PC then transmits the data via UDP to any computer in a local area network.
The sensors detect their relative position and orientation within a magnetic field created by a radio frequency emitter. The field created has a limited range dependent on the power of the emitter. We are using a long-range emitter with a stable range of around 15 ft square (approx. 9 m²). The system is using an AC magnetic field that is sensitive to metallic objects or radiators like CRT monitors or phones.
The data is transmitted with a frequency of 120 Hz, a latency of approximately 6 ms and a resolution of 0.25 ft at 15 ft range and 0.1 deg RMS which gives a good feedback for real-time graphics applications.
The Startrak is a product of the US based company Polhemus.
The graphics application runs on a consumer PC with 450MHz Pentium III Processor and a NVidia GTS graphics board under Linux operating system.
We are using up to two low cost PCI analog video capture cards (Hauppauge WinTV) for synchronously reading in a live video signal from a consumer video camera and a video signal from a video tape recorder. The video signals are SVHS. For hardware performance reasons we used a low video resolution of 360x288 pixel.
A MIDI controller converts a signal triggered by a consumer radio frequency (RF) button produced for controlling home devices into a MIDI Note On or Note Off message, which is passed to the graphics computer's MIDI input at the PC's game port.
The figure below shows a diagram of a typical component setup with a live video input source.
The software used for visualizing the data streams coming from the Polhemus Tracker is a toolkit for rapid prototyping of interactive 3D computer graphics applications.
MTK is a graph-based software that allows the user to assemble an application by connecting nodes in a workspace interactively. Each node represents an algorithm with input and output data. The dataflow between algorithms is defined by linking data connectors between nodes thus creating a network of nodes. It uses a mixed data and control flow model to evaluate the network. A plugin mechanism allows programmers to extend the functionality in terms of algorithms (nodes), data types (attributes of nodes) and user interface elements (editors).
MTK implements its own scenegraph based rendering engine thus allowing plugins to use any graphics extensions provided by the hardware. Implemented plugins support bump mapping, dynamic textures (frame or buffer rendered), live video textures, shadow mapping and vertex and pixel shaders.
The software provides a wide range of nodes for controlling, mapping and manipulating the data and the data flow. Device nodes are responsible for the communication with external IO devices. The Polhemus Tracker is interfaced by a plugin device node, which makes the data available at any location of the network via data nodes. The Polhemus device node uses a storable calibration file for adjusting the application to different physical setup situations.
A MIDI node reads data from any connected MIDI device. We are using a RF button connected to a MIDI controller for getting cable-less trigger events e.g. for triggering the next graphics setup in a choreography.
Another plugin node reads video images from an analog video capture board. It stores a main memory limited number of frames that can be selectively displayed within the recorded time slice. We used up to two capture boards for distinct video inputs and around ten seconds of continuously stored video.
MTK runs on SGI IRIX and Linux and is developed by Bernd Lintermann at the ZKM | Institute for Visual Media.