|
|
||
|
Library Navigation External resources User login Events Upcoming events
News Letter Subscribe to VResources mailing list and be notified of major modifications at our site. Your email address:
Your Email information will be used solely for the mailing list purpose and is going to be kept strictly confidential. You will be sent an email requesting confirmation. |
Submitted by marcbe on Wed, 04/04/2007 - 14:28.
OperationHighlights:
Operating the tracker unit is easy. Simply turn on the main unit and wait a few seconds for the bootstrap sequence to complete (typically under 25 seconds). Once this process is complete, the unit is ready to send 6DOF data to the host computer. The unit does not send data by default. Specific commands must be sent to the tracker unit to tell it to begin sending data or perform other specific functions it supports. One thing you will note the first time you turn on the main unit is the noise it produces. It is indeed quite noisy compared to today's computers standards. The unit uses a wide range universal power supply than can function with voltages from 90 to 264 Volts, with frequencies ranging from 44 to 440 Hz. The small fan found on that power supply seems to be the main source of that higher than normal noise. Unfortunately, we did not dispose of a decibel meter at the time of this review to take measurements, so it is impossible for us to put a value on the noise level. This is surely an area that can be improved, especially if it is targeted at the home consumer market. Speaking of which, the Wintracker unit passed FCC and CE normalization process. More information on this was not available as to what level of FCC specification the unit passed. For instance, an FCC class B device is certified to function in a domestic home environment without causing RF (radio-frequency) interference levels that would be considered over the accepted limits. Here is a typical label found on FCC class B equipments:
From what we have seen in our tests, the unit seemed to operate fine in a residential-like environment. No notable interference could be observed during our tests. Out-of-the-box, the 6DOF information that the unit returns was surprisingly accurate, without requiring any position calibration. It was off by about 3 cm in worse cases. In normal operating conditions, the user will not have to recalibrate the unit at each power on. In order to get the maximum from this tracking system, a function is provided with the Wintracker API to recalibrate the coordinate system of the tracker unit. Alternatively, the user can send a recalibrate command to the main unit using the test & control application previously discussed. As you will see in more details in the following sections, the positions returned by the unit are quite acceptable, even without filtering it using calibrated look-up tables. The Wintracker system, like any other such systems, does allow the programmer to add filtering into its program to compensate for potential distortions of the electro-magnetic field. As it is always the case, these filtering operations will add latencies to the overall system. As we will see later on in that review, the main unit itself does implement basic hardware filtering of data to the expense of lower update rates. During the course of our tests, we noted a small but visible problem with the angles returned by the unit. The unit returns angles in radians, following a range from -pi to +pi (-180 to +180 degrees). The problem we found was occurring in the sign transition region, when the receiver was turned from -179 to +179 degrees. We noted a gap where the unit would never return any values around the -+180 point. This gap, about 0.2 degrees wide, would be sufficient to produce a visual glitch when tracking head rotations for example. We informed the engineers at VR-Space Inc. of the existence of that problem and they were fast to fix it and send us a firmware update. Interfacing with your C codeHighlights:
Using the tracker 6DOF data inside your own C/C++ application is very simple. The API provided on the CD-ROM disk consists of an include file (.H) and its static library (.LIB). Using these two files, it is easy to recompile your application and access the various commands that the tracker unit supports. Here is a list of the commands that are included in the API:
At run-time, the application that linked with the provided static library will connect to the dynamically linked library (.DLL) to access and transfer data over the USB cable to the host computer. The DLL library uses its own independent thread to read and store each data frame. This means that the calls to the Wintracker API are not blocking. This is very useful since the programmer does not have to worry about freezing his own application when pooling for new tracker data. Moreover, the host application and the tracker DLL thread run independently, using update rates that may be different. The latest 6DOF data is stored inside the DLL until the main unit processes a new 6DOF data. The user application acts independently, requesting a 6DOF data read to the DLL. The DLL then returns the latest 6DOF data to the application. If the application does not ask for new data, the main unit overwrites it as new 6DOF data becomes available. This means that only the latest tracker data frame is cached. All past data frames are lost if they are not read in time by the host application. We will see in the next sections the actual data update rate performances of the tracker system.
Bookmark/Search this post with: |
Search Poll
|