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"
m (Added TOCright, plus a test table) |
|||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{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 | ##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 | ##* 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. | |||
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 |
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:
- Determine TTY device name for base unit
- (for Keyspan, search
dmesg
output) - (list files "
/dev/tty*
" -- if only one, that's probably it)
- (for Keyspan, search
- Turn on base unit
- Turn on markers (switch to the left) numerically ascending order
- Arrange markers ~6" from receptor (such that axis pictures align)
- Test with Kermit
% kermit -l /dev/tty<XX> -b 115200 -C"set flow-control none,set carrier-watch off,connect"
- Get signal strength:
@s/n
- Launch Markers for receptor #1:
l1/n
- 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)
- for 3 markers, response should be
- 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) - 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)
- 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
- To exit kermit, use the escape sequence
^\C
- Now you are ready to try with
fastraktest
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
dmesg
output) - (list files "
/dev/tty*
" -- if only one, that's probably it)
- (for Keyspan, search
- 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
@A1
- 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) - 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
^\C
- Once the markers are launched you can "Poll" the values -- type
- 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 unitFT_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