Polhemus Setup

These notes describe the correct configuration of a Polhemus 3SPACE FASTRAK unit.

The controller is the box about 30 x 30 x 8 cm that everything plugs into. The Polhemus manual calls it the SEU. It should be accompanied by a black power supply unit.

Serial connection

The back of the controller has the power connector, a Video Sync which we don't use, a standard IBM DB-9 pin male RS-232 connector, an Ext Sync connector also unused, and the I/O Select DIP switches.

The I/O Select switches should be set

  1=ON 2=OFF 3=ON 4=OFF 5=ON 6=OFF 7=OFF 8=ON

pic of I/O Select switches

The serial port device name is /dev/ttydN for SGI, /dev/ttySN for Linux on x86, or /dev/ttyUSBN if you are using a Linux USB to serial converter.

Port settings are 38400 bps, line mode, 8 data bits, 1 stop bit, no parity. Note that you need read and write access to the serial port, not just read.

Transmitter/Tracker connection

The front of the controller has four DB-15 female connectors for trackers and one port on the right for the transmitter. The Polhemus manual refers to each tracker as a station.

A tracker button will only work if it is attached to port One.

In the middle of the tracker ports is the Select DIP switch. Set the switch down for each port with a tracker that you want to be active. For instance, if you just want to use the wand on port One:

pic of Select switches

The manual is not terribly clear about how stations are activated. From my testing, you must have the Select switch set down and the station must be activated through software commands. Without the command, you don't get any input. With the command but no switch, you get random input.

Transmitter

The transmitter has two mounting holes on one cube face and the direction of the X and Y axes inscribed on the opposite face. The positive Z axis extends up through the box.

For software based on OpenGL Performer, mount the transmitter so that the positive Y axis points horizontally towards the screen and the Z axis is up. (This is the Performer right hand palm up coordinate system in which Y and Z are swapped around from conventional OpenGL/graphics texts.)

Viewed from underneath and facing towards the screen, it should look like:

pic of transmitter

As the tracker is mounted near the ceiling, set the hemisphere for tracking to be (0,0,-1), underneath the transmitter, with Z values always negative.

Utility Software

I have written a small utility program for direct communication with a Polhemus. Here is source code and you will need the netwrap library from my Py3D C++ Performer libraries as well.

Most common usage is

     % talkpol -reset /dev/whatever
which resets the Polhemus on the given device to a sane state. This takes a second or so.

Without the -reset option, the program sends and receives Polhemus commands and data interactively through the terminal. See the Polhemus 3SPACE Users Manual for command details.


Written by Hugh Fisher