Immersadesk(TM) tracker setup
Prerelease version February 9, 1996
- Marek Czernuszenko
- Electronic Visualization Laboratory
- University of Illinois at Chicago
- 851 S. Morgan St., Room 1120
- Chicago, IL 60607-7053
- (312) 996-3002
- (312) 413-7585 fax
- mczernus@eecs.uic.edu
(c) 1996 Electronic Visualization Laboratory, University of Illinois at Chicago
TABLE OF CONTENTS
1. Hardware
2. Setup
- 2.1 Coordinate systems
- 2.2 PC tracker
- 2.3 CAVE library
- 2.4 Serial cables between PC and SGI
- 2.5 auto_config
1. Hardware
The ImmersaDesk is a drafting-table format virtual display
device. The ImmersaDesk features a 4x5-foot
rear-projected screen at a 45-degree angle. The size and
position of the screen give a sufficiently wide-angle view and
the ability to look down as well as forward.
A diagram of the Immersadesk is shown in Fig 1.
Figure 1: Immersadesk
1.1. Wand
A wand (a 3D mouse) with buttons is the interactive input device.
Wand uses the Spacepad tracking system, and has three buttons and
a pressure-sensitive joystick.
It is connected to the CAVE through a PC which is attached to one
of the Onyx's serial ports. A server program on the PC reads data
from the buttons and joystick and passes them to the Onyx.
2. Setup
2.1 Coordinate system
There are 2 coordinate systems: ImmersaDesk coordinate
system and tracker coordinate system (see fig 2).
ImmersaDesk coordinate system (X, Y, Z). If
you stand in front of the Immersadesk X is to your right
parallel to the floor. Y is up perpendicular to the floor.
Z is parallel to the floor and perpendicular to X and Y.
(X, Y, Z) is right hand coordinate system.
Tracker coordinate system (Xtr, Ytr, Ztr). Xtr is to
your right and is parallel to a back surface of the
Spacepad. Ytr is parallel to this surface as well and is
perpendicular to Xtr. Ztr is perpendicular to Xtr and Ytr.
(Xtr, Ytr, Ztr) is right hand coordinate system.
Figure 2: Coordinate systems
2.2 PC tracker
- Connect Spacepad antenna cable, wand and head receivers
cables to the PC.
- Start tracker program on the PC by typing "desk".
- Check that the movement of receivers correspond to
the changes of values printed on the PC monitor.
If there are some inconsistency that could mean:
- antenna's wiring is done incorrectly
- there is a lot of metal in proximity to the ImmersaDesk
that influence tracker.
Note that PC prints values in tracker
coordinate system.
2.3 CAVE library configuration options
CAVE library provides number of configuration files, that could
be used to configure Immersadesk. Please refer to CAVE User's Guide
for more information. I will talk only about most important entries
relevant to Immersadesk setup.
-
TrackerType <name>
-
Which type of tracking hardware is being used. <name>
should be "spacepad".
-
TrackerBaud 38400|19200|9600|...
-
Baud rate for the tracker serial device. 38400 should be
used.
-
TrackerPort <portname>
-
Name of the serial port(s) that the trackers are attached to.
<portname> should be something like /dev/ttyd2.
-
Wand <wand-type>
-
The type of wand being used. <wand-type> should be
"PC".
Example of initial config file:
Walls desk
WallDisplay desk 0 1025x768+0+0
Calibration n
TrackerType spacepad
TrackerPort /dev/ttyd2
TrackerBaud 38400
serialtracking n
simulator n
CPUlock n
wand PC
DisplayMode stereo96
NonCAVEDisplayMode 96hz
HideCursor y
2.4 Serial cables between PC and SGI
Spacepad uses 2 serial ports to communicate with a SGI.
One port is used to transmit buttons and joystick data,
and the other is used for head and wand tracker data.
Wand buttons/joystick cable:
Connect cable from PC to a SGI serial port. Configure
SGI to treat this port as Dials&Buttons:
(Choose System->System manager-> Tools->System Admin Tools->Port Setup).
Run Confidence Tests:
(System->Run Confidence Tests).
Tracker cable:
Connect cable from PC to a SGI serial port. Updata CAVE
config file with
TrackerPort <portname>
Run cavevars. Check if buttons and tracker data
are transmitted.
2.5 Auto_config program
Auto_config program allows you to set up some of
the transmitter options automaticly. Make sure that when
you run it you have following entries in your CAVE config file:
TransmitterRotationMatrix 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0
TransmitterOffset 0 0 0 feet
HeadSensorRotation 0 1 0 0
HeadSensorOffset 0 0 0 inches
WandSensorRotation 1 0 0 0
WandSensorOffset 0 0 0 inches
auto_config <filename>
<filename> - name of the file where config entries will be
saved.
- First program asks you for screen rotation angle. It is
roughly 52 degrees but you can measure it more accuratly.
- Then you will be asked for transmitter rotation angle (angle
between back surface of the spacepad and floor). It is roughly 34.
- When you run auto_config, you will place wand receiver on
the crosshair, and press left wand button. Repeat this for all
5 points. Press left button to save values.
Generated file should look something like that:
ProjectionCorners desk -33.50 0.00 0.00 -33.50 39.40 -30.78 33.50 0.00 0.00 in
TransmitterRotationMatrix 1.0000 0.0000 0.0000 0.0000 0.7986 -0.6018 0.0000 0.6018 0.7986
TransmitterOffset -0.114872 5.284781 -1.264127 feet
Add those 3 line to your config file. Add also following lines:
HeadSensorRotation 0 1 0 90
HeadSensorOffset 0 -6.5 -2.5 inches
WandSensorRotation 1 0 0 -30
WandSensorOffset 0 2 -7 inches
Now system is configured. You can check it running cavevars, or
calibration <angle>.;
<angle> is screen rotation angle (roughly 52 degrees).