Synchronization
→
Return to System Configuration
The Unifeye SDK provides the opportunity to combine many different tracking and camera systems. If a tracking system and a visualization camera, which are not synchronized by a hardware mechanism, are used in an AR scenario, the augmentation will never be a 100% correct. As the video image and the tracking data have probably been acquired at different times. To solve this problem, Unifeye offers several synchronization modes that can be used to match video images with the right tracking data.
Switching between the different synchronization modes can be done either using the Unifeye GUI, the
AS_AR_Settings.xml file (see the
configuration section) or the setSychronizationMode() function (see the
API documentation).
UnfilteredMode
This mode does not perform any synchronization at all. It immediately passes the arriving tracking data and images to the visualization. This mode can be used for Markertracking, where the same image is used for visualization and tracking, hence the timestamps always match perfectly. Do not use this synchronization mode when you have a large number of coordinate systems in your configuration, as it will lead to a significant performance drop. Each time a pose for a coordinate system is available, if will immediately be forwarded to the visualization system and force an update. In this case you should use the SynchOnImageMode which updates the visualization system only when a new camera image has been aquired.
SynchOnImageMode
This mode stores tracking data in a history indexed by a timestamp. Each time an image arrives, the system will try to find the pose that matches the timestamp of the image. If no pose with the exact timestamp can be found, a pose will be generated by interpolating between the two poses, closest to the image timestamp. After the pose has been found, the image and the tracking data will be passed on to the visualization. This snychronization mode is the default setting for Unifeye.
SynchOnLossDataMode
This synchronization mode is similar to the Unfiltered Mode, but when no tracking data is availabe the last tracked pose will be used. You can specify how long the last valid pose will be used, by changing the parameter continueTrackingDelay. This is helpful if you have a terminal scenario and the superimposed virtual objects should stay visible all the time, even when the tracking is not available for a few frames.
In the configuration tab of Unifeye you can use the Synchronization tool to change the current synchronization mode and parameters. Adjust the parameter Synchronization Offset to manually specify an offset between the timestamps of the visualization camera and the timestamps of the tracking system. This is important if you use an external tracking system (e.g. FARO or ART) and the 3D objects are not moving in synch with the movement of the camera.
VRPN
When choosing this synchronization mode, the tracking values will be distributed to a machine in the same network via UDP using the VRPN protocol. The receiver can use the tracking values to control a virtual camera in a 3D tool, with natural movements of a real camera. More detailed information about the virtual reality peripheral network can be found at
http://www.cs.unc.edu/Research/vrpn/index.html. For configuration options please refer to the
configuration section and the setSychronizationMode() function in the
API documentation).
Please note that Unifeye is also capable of not only sending but also receiving VRPN values by using a special
VRPN sensor source, which allows to easily connect external tracking systems to Unifeye.
→
Return to System Configuration
--
SupportMetaio - 2011-01-21