VRPN Tracking
→
Return to Tracking Configuration
Introduction
Unifeye is capable of receiving and processing tracking information sent via the network using the VRPN protocol. More detailed information about the
Virtual
Reality
Peripheral
Network can be found at
http://www.cs.unc.edu/Research/vrpn/index.html. Please also note that Unifeye can also send tracking data via a network using this procotol (please refer to:
the synchronization section and the
configuration section.
By using VRPN you can connect any kind of tracking system to Unifeye via a network connection. To the end user this is transparant as tracking information received via VRPN is treated like any other tracking values or results and can be used in normal coordinate systems within the Unifeye SDK.
Creating a VRPN tracking configuration file
You can find a sample VRPN tracking configuration within the folder
<UnifeyeInstallationDirectory>/config/SensorSources called
AS_Tracking_Data_VRPN.xml.
For the sensor source itself you can specify an update interval (in milliseconds) in which the internal VRPN network traffic listener should check for new tracking values at the VRPN network interface.
For the sensor coordinate systems you have to configure the
<Parameters> section appropriately. There is a sub XML element called
<Tracker> which contains two parameters:
-
<Name>: Defines the name of the "Tracker" as it is defined on the sending unit for the VRPN tracking data. Usually one "Tracker" contains the tracking values for one tracked coordinate system. For every VRPN "Tracker" you want to use you should thus define on VRPN sensor coordinate system with the according "Tracker" <Name>.
-
<VRPNServer>: Defines the name (IP address or DNS) of the VRPN sender that is supplying the tracking data for the defined VRPN "Tracker". This allows you to configure several VRPN "Trackers" from different sending units/machines. You only have to define a sensor coordinate system for each VRPN "Tracker" and sending machine.
A valid, example configuration file would like this:
<?xml version="1.0"?>
<TrackingData>
<Sensors>
<Sensor type="VRPNSensorSource">
<SensorID>VRPNSensor</SensorID>
<Parameters><!-- sensor specific parameters -->
<updateInterval>20</updateInterval><!-- in ms -->
</Parameters>
<SensorCOS>
<SensorCosID>Tracker0</SensorCosID>
<Parameters>
<Tracker>
<!-- define Tracker name -->
<Name>Tracker0</Name>
<!-- define VRPN Server IP address/DNS name -->
<VRPNServer>localhost</VRPNServer>
</Tracker>
</Parameters>
</SensorCOS>
</Sensor>
</Sensors>
<Connections>
<COS>
<Fuser type="BestQualityFuser">
<Parameters></Parameters>
</Fuser>
<!-- There are 1-n SensorCoses -->
<SensorSource trigger="1">
<SensorID>VRPNSensor</SensorID>
<SensorCosID>Tracker0</SensorCosID>
<HandEyeCalibration>
<TranslationOffset>
<x>0.0</x>
<y>0.0</y>
<z>0.0</z>
</TranslationOffset>
<RotationOffset>
<x>0.0</x>
<y>0.0</y>
<z>0.0</z>
<w>1.0</w>
</RotationOffset>
</HandEyeCalibration>
<COSOffset>
<TranslationOffset>
<x>0.0</x>
<y>0.0</y>
<z>0.0</z>
</TranslationOffset>
<RotationOffset>
<x>0.0</x>
<y>0.0</y>
<z>0.0</z>
<w>1.0</w>
</RotationOffset>
</COSOffset>
</SensorSource>
</COS>
</Connections>
</TrackingData>
Using VRPN tracking configuration files
To activate VRPN tracking within the Unifeye SDK you simply have to load an according tracking configuration file and use the API function setTrackingData() (see
http://doxygen.metaio.com/UnifeyeSDK/UnifeyeSDK_doxygen/group__Configuration.html). You can also load the according tracking configuration file within the Unifeye GUI using the Tracking Configuration Tool.
→
Return to Tracking Configuration
--
SupportMetaio - 2011-02-09