Prerelease version February 9, 1996
(c) 1996 Electronic Visualization Laboratory, University of Illinois at Chicago
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
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.
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.
Note that PC prints values in tracker coordinate system.
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.
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
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.
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.
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).