Immersive Visualization / IQ-Station Wiki

This site hosts information on virtual reality systems that are geared toward scientific visualization, and as such often toward VR on Linux-based systems. Thus, pages here cover various software (and sometimes hardware) technologies that enable virtual reality operation on Linux.

The original IQ-station effort was to create low-cost (for the time) VR systems making use of 3DTV displays to produce CAVE/Fishtank-style VR displays. That effort pre-dated the rise of the consumer HMD VR systems, however, the realm of midrange-cost large-fishtank systems is still important, and has transitioned from 3DTV-based systems to short-throw projectors.

Difference between revisions of "PatriotWireless"

From IQ-Station Wiki
Jump to navigation Jump to search
m (Added TOCright, plus a test table)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
===Polhemus Patriot Wireless===
{{TOCright}}
=Polhemus Patriot Wireless=


==Tracker Startup==
==Tracker Startup==


Instructions differ somewhat for the single vs. dual receptor configurations.
Instructions differ somewhat for the single vs. dual receptor configurations.
Each will be covered separately.
Each will be covered separately:


=Single Receptor=
===Single Receptor===
 
Patriot Wireless setups with a single receptor provide a small amount of cost savings over the dual receptor method (presently the second receptor costs ~$1100 U.S.).  The downside is that calculating the position of the markers does not lead to a single solution -- there are four possible outcomes.  As long as a Marker remains in a particular quadrant of space (relative to the receptor), the system should provide consistent data.
 
When running a single-receptor system, one must check the "phase" of each marker, and shift the phases to bring them into consistency.
 
'''Here are the steps for testing the single receptor system:'''
#Determine TTY device name for base unit
#Determine TTY device name for base unit
#*(for Keyspan, search dmesg output)
#*(for Keyspan, search <CODE>dmesg</CODE> output)
#*(list files "/dev/tty*" -- if only one, that's probably it)
#*(list files "<CODE>/dev/tty*</CODE>" -- if only one, that's probably it)
#Turn on base unit
#Turn on base unit
#Turn on markers (switch to the left) numerically ascending order
#Turn on markers (switch to the left) numerically ascending order
#Arrange markers ~6" from receptor (such that axis pictures align)
#Arrange markers ~6" from receptor (such that axis pictures align)
#Test with Kermit
#Test with Kermit
##% kermit -l /dev/tty<XX> -b 115200 -C"set flow-control none,set carrier-watch off,connect"
##<CODE>% kermit -l /dev/tty<XX> -b 115200 -C"set flow-control none,set carrier-watch off,connect"</CODE>
##Get signal strengh: @s/n
##Get signal strength: <CODE>@s/n</CODE>
##Launch Markers for receptor #1: l1/n
##Launch Markers for receptor #1: <CODE>l1/n</CODE>
##Verify launch of markers: ^u0/n
##Verify launch of markers: <CODE>^u0/n</CODE>
##* for 3 markers, response should be <CODE>00u  00070007</CODE>
##* for 3 markers, response should be <CODE>00u  00070007</CODE>
(ie. one bit set per marker)
##**(ie. one bit set per marker)
##* if not all markers successfully launched, try turning the unlaunched markers off and then on in numerically ascending order and then go back to the launch step
##* if not all markers successfully launched, try turning the unlaunched markers off and then on in numerically ascending order and then go back to the launch step
##* another thing to try is to do a soft-reset (<CODE>^Y/n</CODE>) and then relaunch
##* another thing to try is to do a soft-reset (<CODE>^Y/n</CODE>) and then relaunch
##* another thing to try is to move the markers closer to the receptor (but not too close -- they are too close if the signal strengh is reported as nearly zero)
##* another thing to try is to move the markers closer to the receptor (but not too close -- they are too close if the signal strength is reported as nearly zero)
##Now you are ready to try with <CODE>fastraktest</CODE>
##Once the markers are launched you can "Poll" the values -- type <CODE>P</CODE> to poll the values (note, this is the one Patriot command that requires no carriage return)
##At this stage you can watch the polled numbers to see whether the direction of movement matches what is expected:
##*If position reporting for a particular marker is not what is desired, use the "Phase Shift" command to try another of the four phases -- type <CODE>^P<N></CODE> (where <N> is the marker number)
##To exit kermit, use the escape sequence <CODE>^\C</CODE>
#Now you are ready to try with <CODE>fastraktest</CODE>
 
 
===Dual Receptor===
 
'''Here are the steps for testing the dual receptor system:'''
#Place the receptors ...
#Determine TTY device name for base unit
#*(for Keyspan, search <CODE>dmesg</CODE> output)
#*(list files "<CODE>/dev/tty*</CODE>" -- if only one, that's probably it)
#Turn on base unit
#Turn on markers (switch to the left) numerically ascending order
#Arrange markers ... (such that axis pictures align)
#Auto-launch the markers -- type <CODE>@A1</CODE>
##Once the markers are launched you can "Poll" the values -- type <CODE>P</CODE> to poll the values (note, this is the one Patriot command that requires no carriage return)
##At this stage you can watch the polled numbers to see whether the direction of movement matches what is expected
##To exit kermit, use the escape sequence <CODE>^\C</CODE>
#Now you are ready to try with <CODE>fastraktest</CODE>
 
 
==Testing with FastrakTest==
 
The <CODE>fastracktest</CODE> program is a utility program that comes with the FreeVR integration library.  You may have to specifically compile it in the FreeVR <CODE>src</CODE> directory.
 
The <CODE>fastracktest</CODE> program works with both the original Polhemus Fastrak devices (and those based on the same protocol such as the IS-900) as well as the Polhemus Patriot devices (both the Wired and Wireless, which differ slightly).  By default, running <CODE>fastraktest</CODE> will attempt to use the Fastrak device protocol, and will assume a serial port connection at <CODE>/dev/input/fastrak</CODE>.  To run <CODE>fastraktest</CODE> with the Patriot Wireless, perhaps on a different TTY, use these environment variables:
* <CODE>FASTRAK_TTY</CODE> -- set to the TTY device connected to the base unit
* <CODE>FT_PATRIOT</CODE> -- just set it to inform the program to use the PATRIOT protocol (<CODE>fastraktest</CODE> will automatically determine whether it is a wired or wireless system.
Now run the program:
<BR><CODE>% fastraktest</CODE><BR>
NOTE: in screen-rendering mode (the default) fastraktest works best with at least 40 rows of text rendering space.


=Dual Receptor=
The desired response in fastraktest screen render is:
* have the movements in all three axes match the diagram on the markers and receptors
...
...


==Testing with FastrakTest==
==Configuring for FreeVR==
...
...
===Other notes===
* the red LED on the receptors comes on when the battery is low for that receptor
* batteries only last an hour or two

Latest revision as of 19:27, 19 October 2011

Polhemus Patriot Wireless

Tracker Startup

Instructions differ somewhat for the single vs. dual receptor configurations. Each will be covered separately:

Single Receptor

Patriot Wireless setups with a single receptor provide a small amount of cost savings over the dual receptor method (presently the second receptor costs ~$1100 U.S.). The downside is that calculating the position of the markers does not lead to a single solution -- there are four possible outcomes. As long as a Marker remains in a particular quadrant of space (relative to the receptor), the system should provide consistent data.

When running a single-receptor system, one must check the "phase" of each marker, and shift the phases to bring them into consistency.

Here are the steps for testing the single receptor system:

  1. Determine TTY device name for base unit
    • (for Keyspan, search dmesg output)
    • (list files "/dev/tty*" -- if only one, that's probably it)
  2. Turn on base unit
  3. Turn on markers (switch to the left) numerically ascending order
  4. Arrange markers ~6" from receptor (such that axis pictures align)
  5. Test with Kermit
    1. % kermit -l /dev/tty<XX> -b 115200 -C"set flow-control none,set carrier-watch off,connect"
    2. Get signal strength: @s/n
    3. Launch Markers for receptor #1: l1/n
    4. Verify launch of markers: ^u0/n
      • for 3 markers, response should be 00u 00070007
        • (ie. one bit set per marker)
      • if not all markers successfully launched, try turning the unlaunched markers off and then on in numerically ascending order and then go back to the launch step
      • another thing to try is to do a soft-reset (^Y/n) and then relaunch
      • another thing to try is to move the markers closer to the receptor (but not too close -- they are too close if the signal strength is reported as nearly zero)
    5. Once the markers are launched you can "Poll" the values -- type P to poll the values (note, this is the one Patriot command that requires no carriage return)
    6. At this stage you can watch the polled numbers to see whether the direction of movement matches what is expected:
      • If position reporting for a particular marker is not what is desired, use the "Phase Shift" command to try another of the four phases -- type ^P<N> (where <N> is the marker number)
    7. To exit kermit, use the escape sequence ^\C
  6. Now you are ready to try with fastraktest


Dual Receptor

Here are the steps for testing the dual receptor system:

  1. Place the receptors ...
  2. Determine TTY device name for base unit
    • (for Keyspan, search dmesg output)
    • (list files "/dev/tty*" -- if only one, that's probably it)
  3. Turn on base unit
  4. Turn on markers (switch to the left) numerically ascending order
  5. Arrange markers ... (such that axis pictures align)
  6. Auto-launch the markers -- type @A1
    1. Once the markers are launched you can "Poll" the values -- type P to poll the values (note, this is the one Patriot command that requires no carriage return)
    2. At this stage you can watch the polled numbers to see whether the direction of movement matches what is expected
    3. To exit kermit, use the escape sequence ^\C
  7. Now you are ready to try with fastraktest


Testing with FastrakTest

The fastracktest program is a utility program that comes with the FreeVR integration library. You may have to specifically compile it in the FreeVR src directory.

The fastracktest program works with both the original Polhemus Fastrak devices (and those based on the same protocol such as the IS-900) as well as the Polhemus Patriot devices (both the Wired and Wireless, which differ slightly). By default, running fastraktest will attempt to use the Fastrak device protocol, and will assume a serial port connection at /dev/input/fastrak. To run fastraktest with the Patriot Wireless, perhaps on a different TTY, use these environment variables:

  • FASTRAK_TTY -- set to the TTY device connected to the base unit
  • FT_PATRIOT -- just set it to inform the program to use the PATRIOT protocol (fastraktest will automatically determine whether it is a wired or wireless system.

Now run the program:
% fastraktest
NOTE: in screen-rendering mode (the default) fastraktest works best with at least 40 rows of text rendering space.

The desired response in fastraktest screen render is:

  • have the movements in all three axes match the diagram on the markers and receptors

...

Configuring for FreeVR

...

Other notes

  • the red LED on the receptors comes on when the battery is low for that receptor
  • batteries only last an hour or two