Faro measurement arm tracking
→
Return to Tracking Configuration
Introduction
The
FARO arm provides mechanical tracking information. Its advantage lies in the high accuracy and robustness offered by the system.A typical use case for a FARO-AR-system would be a discrepancy measurement, for example to check if a prototype car part corresponds to the original CAD data. In order to use the FARO system with the Unifeye SDK a FARO arm has to be connected to your computer and the FARO drivers installed. In Unifeye a
FARO tracking configuration file has to be loaded, whose content is explained in detail in the next section.
Image of a FARO measurement arm with attached AVT camera
Configuration
The code below specifies the content of the FARO configuration file.
- In the Sensor section a Sensor of type
FaroSensorsource is defined with a unique SensorID, no additional parameters are needed.
- Then a
SensorCOS is added for the camera which contains a unique SensorCOSID. No further parameters are needed.
- Then the Connections are defined, which link a
SensorID with a SensorCosID in terms of COSes.
- In our case one COS is defined which
- uses a Fuser of type
BestQualityFuser
- links the
SensorID "Faro1" with the SensorCosID "Faro"
- holds a
HandEyeCalibration transform which references the internal FARO coordinate system to the coordinate system of the camera attached to the FARO arm
- holds a
COSOffset transform which moves the resulting tracking coordinate system to another location (e.g. an external object coordinate system)
Example FARO tracking configuration
<?xml version="1.0"?>
<TrackingData>
<Sensors>
<Sensor type="FaroSensorSource">
<SensorID>Faro1</SensorID>
<Parameters></Parameters>
<SensorCOS>
<SensorCosID>Faro</SensorCosID>
<Parameters></Parameters>
</SensorCOS>
</Sensor>
</Sensors>
<Connections>
<COS>
<Fuser type="BestQualityFuser">
<Parameters></Parameters>
</Fuser>
<SensorSource trigger="1">
<SensorID>Faro1</SensorID>
<SensorCosID>Faro</SensorCosID>
<HandEyeCalibration>
<TranslationOffset>
<x>1.2175999879837</x>
<y>-62.4329986572266</y>
<z>-100.73999786377</z>
</TranslationOffset>
<RotationOffset>
<x>-0.71175172529687</x>
<y>0.702411714043187</y>
<z>-0.00519841281546098</z>
<w>0.000491951258962297</w>
</RotationOffset>
</HandEyeCalibration>
<COSOffset>
<TranslationOffset>
<x>-1008.52478027344</x>
<y>-197.035705566406</y>
<z>-375.111022949219</z>
</TranslationOffset>
<RotationOffset>
<x>-0.705727948490848</x>
<y>-0.0146657083256182</y>
<z>-0.0106710073837198</z>
<w>0.708250739018057</w>
</RotationOffset>
</COSOffset>
</SensorSource>
</COS>
</Connections>
</TrackingData>
Using Faro tracking configuration files
To activate Faro 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-01-28