Home
5DT Data Glove Ultra
Contents
1. cccccccccseeeeceeeeeeeeeeeeeees 27 Seke SANAN ee eer ee er E ee ee ene eee 27 52 Opening INe GIOVE iseinean E seem ee eee 27 Dice Opening Wireless GIOVCS meidan a a E 28 DAs CallDralO M nsa N 29 5 9 Model Binding arrera enseina aa iaaa a e aaa aD 29 6 WSING the SDK eisie e 33 Gull IANOQUCUOM sxs sseruaisernsrsdeetuadee danse eee e aed 33 627 USNE SDK eA A 33 6 2 1 Microsoft Visual Studio C C nnnannnannnennnnnnnnennnennnnnrrnenrennennne 33 6 2 2 Microsoft Visual Studio C ce ccceccccseececeeeeeeeeeeseeeeesaeeeesaeees 34 023 ENUS O C F eer epee ene ee enor on enor ce On vE ater on Te Ot enoeY soe en ony Seer ory eee 35 624 MaC OS X OGC iieuroos inkas oen eee nth aise 38 6 3 Connecting to the second glove when using a wireless kit 40 GA SUPPONGO GIVES acute seccce ten ticeeted a caus 40 6 5 Sensor Mappings for the 5DT Data Glove 5 and 5 Ultra 41 6 6 Sensor Mappings for the 5DT Data Glove 14 Ultra ee 41 6 7 Gesture Dent ons cerite ET E E Getdiet Goes Geis 43 Six AWO GCD AION atc acc sect ceca ti isn em lc oe cet E E REE 45 72 TEOUDIESIOOTING and SUD OC ces cea tak a heh cad lh aa ha 47 7 1 General TrOUDICSNOOTING cccccceecccceeeecceeeeseeeeesseeeeseaeeesseeeesaeeeeas 47 7 1 1 Physical Connection Problems ccccccseececeeeeeceeeeeeaeeeesaeees 47 7 1 2 Software Connection Problems ccccccccsssceceeeeceeeeeeeeeeesaeees 47 7 2 Frequently Asked Ques
2. some items may be disabled when no glove is open 4 4 3 Tab Bar The tab bar allows you to switch between the Setup view and the currently open gloves The blue dot on the tab icon indicates a wireless glove 18 F Setup 1 Glove wie Glove Figure 16 The Tab Bar 4 4 4 The Sensor Graphs The sensor graph is a graphical representation of the data from the sensors as it arrives Two graph representations can be shown The scaled graph showing the values scaled between 0 and 4095 The raw graph showing the raw values between 0 and 4095 4 4 4 1 Scaled Graph The scaled graph shows the scaled version of the sensor value normalized between 0 and 1 The default color for this graph is blue Figure 17 The Scaled Graph 4 4 4 2 Raw Graph The raw graph represents the raw sensor value coming from the glove Additional to the actual graph of the raw values drawn in red by default the upper drawn in green by default and lower calibration drawn in orange by default values are also plotted as shown in Figure 18 ________ Upper calibration value AASL U N S S aa sensor value Tower calibration value Figure 18 The Raw Graph 19 4 4 4 3 Graph Zooming You may zoom into a graph by simply clicking on it as illustrated below File view Recording Calibration About OD0 OD Record Show f Show Load Save i ANAN Aa a D td Raw Scaled cat ee al 3 Setup YW Glovel W Glove2 Ly I Ca
3. Actor Settings Actor Finger Settings Cameras a Constraints Groups Sets Lights O Materials oe Poses 0 Shaders E Takes lt No lt NoMarkerSet gt V Sek gt Figure 35 The Actor Settings Window lf no Marker Set exists for this actor create one by clicking on the MarkerSet button A popup menu will appear Select the Create option MarkerSet Figure 36 Creating a Marker Set Once a Marker Set has been selected select the hand marker to which the glove should be referenced Drop the root of the glove device under the Scene branch into the Glove Reference in the Model column Click on the Active checkbox to make the actor active real time animations are shown x Navigator l Dopesheet FCurves Story Motion Blend Animation Trigger Scene SDT DataGlove hand n Actors Actor Settings Actor Finger Settings MidarkerSet 1 v MarkerSet a Objects Glove reference SDT DataGlove hand Loe Marker Set Audio Cameras Constraints 1 0 Devices i Groups Sets amp Lights Materials Poses 0 Shaders E Takes Output Marker Set lt No Marker Set gt v Figure 37 Assigning a Glove Reference to a Marker Set 31 32 6 Using the SDK 6 1 Introduction The 5DT Data Glove SDK provides access to the 5DT range of data gloves at
4. amp DriverUpdate this int fdGetPacketRate fdGlove pFG Obtains the latest packet rate Return value Returns the latest available packet rate as an integer Parameters pFG Pointer to a glove device This is the value returned by fdOpen Remarks None bool fdNewData fdGlove pFG Indicates if the driver has received new data since this function was last called 68 Return value Returns true if new data is available Parameters pFG Pointer to a glove device This is the value returned by fdOpen Remarks This function may be used as an alternative to using the callback function to trigger events upon the arrival of new glove data int fdGetFWVersionMajor fdGlove pFG Obtains the major version of the glove s firmware Return value Returns the major version of the glove s firmware as an integer Parameters pFG Pointer to a glove device This is the value returned by fdOpen Remarks This function has currently only been implemented for the Data Glove 14 Ultra It will return O if the glove type isn t a Data Glove 14 Ultra variant Example if the firmware version is 3 2 then 3 is returned int fdGetFWVersionMinor fdGlove pFG Obtains the minor version of the glove s firmware Return value Returns the minor version of the glove s firmware as an integer Parameters DEG Pointer to a glove device This is the value returned by fdOpen Remarks This function has currently only
5. Return value None Parameters aUpperVals and aLowerVals Arrays of floating point numbers that contains the maximum and minimum threshold values The size of each array must always match the value returned by GetNumSensors Remarks None void SetThreshold int nSensor float fUpperVal float fLowerVal sets the current gesture recognition threshold settings of the driver for a specific sensor Return value None Parameters nsensor Index of the sensor that is being set The value must lie in the range given by the enumerated type EfdSensors or alternatively from zero to the value returned by GetNumSensors minus one fUpperVal and fLowerVal Floating point numbers that contain the maximum and minimum threshold values Remarks None string GetGlovelInfo Obtains the information data block of the currently connected glove Return value String of 32 characters that will contain the information data Parameters None Remarks The information data is specified in the glove user s manual string GetDriverInfo Obtains the information data block of the driver Return value String of 32 characters that will contain the information data Parameters None Remarks None void SetCallBack EventHandler Event Sets the Callback function Return value None Parameters Event Event that should be called when a new packet is received from the driver Remarks This callback function is calle
6. 2 1 2 Connecting the Glove Connect the glove to the PC as shown in Figure 1 5DT Data Glove14 Ultra I w Rj12 Connector C USB A Connector Te J PC Data Glove Series USB Cable Figure 1 Connecting the Glove to the PC You can use GloveManager to test the operation of the glove Detail of this is given in Section 4 of this manual 2 2 5DT Data Glove Ultra Wireless Kit Optional Accessory 2 2 1 Package Contents When first unpacking your gloves and wireless kit please ensure that all the parts are there If anything is missing please contact 5DT or your reseller immediately iai di Figure 2 Items needed for setting up the 5DT Data Glove 14 Ultra Wireless Kit The items needed to setup the wireless kit are See Figure 2 1 5DT Data Glove 14 Ultra Left handed 5DT Data Glove 14 Ultra Right handed 5DT Wireless Data Transmitter 5DT Wireless Data Receiver Battery Pack x2 2 Battery Charger Wireless Belt Plate and Belt 5V Power Supply Adapter Wireless Interface Cables x2 a eee a eS oS 0 Wireless Data Receiver Cable 11 Battery Charger Adapter Cable Only with older charger models 2 12 5DT Data Glove CD supplied with Data Gloves 13 Glove Dongle not shown 1 Please note Data Gloves sold separately 2 Supplied with Data Glove Ultra Wireless Kit 3 The Glove Dongle is an RJ12 connector with a short pigtail connection When only one
7. Valid values on Windows range from COM1 to COM8 and also USB followed by the USB number Unix Linux port names will differ see section 6 2 3 for more details Mac Pointer to a zero terminated ASCII string containing the name of the glove Valid values are DG5U_L DG5U_R DG14U_L and DG14U_R Remarks Do not attempt to alter the contents of the returned pointer directly use the functions provided instead lf the wireless kit is used and there are 2 gloves connected simply call fdOpen twice with the same port name as parameter to get hold of the second glove Remember to store the returned glove pointer of the second call in a different pointer variable so that you can access both gloves individually You may now use the second glove pointer in any way you would use any other glove pointer int fdClose fdGlove pFG Frees the glove device and communications port Return value Returns nonzero if successful zero if an error occurred Parameters pEG Pointer to a glove device This is the value returned by fdOpen Remarks lt is important to call this function when you are finished using the glove int fdScanUSB unsigend short aPID int amp nNumMax Scans the USB for available gloves Return value Returns the number of gloves found during the scan Parameters aPID Pointer to an unsigned short array of length nNumMax The USB Product IDs PIDs of the gloves found are return
8. an intermediate level Various platforms and programming languages are supported e Microsoft Visual Studio C C e Microsoft Visual Studio C e Linux C C e Mac OS X C C The SDK functionality includes e Multiple instances e Easy initialization and shutdown e Basic raw sensor values e Scaled auto calibrated sensor values e Calibration functions e Basic gesture recognition e Cross Platform Application Programming Interface The SDK functions are described in detail in Appendix C and D 6 2 Using the SDK 6 2 1 Microsoft Visual Studio C C 6 2 1 1 Installation The 5DT Data Glove Driver is easy to implement using the following guidelines 1 Make sure that the header file fglove h the library file fglove lib and the dynamic link library file fglove dll reside in the current application directory or somewhere that they can be found The file fglove dl1l may be copied into your Windows system directory 2 Include the header file Eglove h in the application where necessary 3 Add the library file glove 1ib to the link process There is also a debug version of the driver fgloved lib fgloved d1l which outputs debug messages to the debugger 33 6 2 1 2 Example applications In the examples directory there is example source code that makes use of the glove SDK The example projects are saved as Microsoft Visual Studio 2003 projects 6 2 2 Microsoft Visual Studio C The following guidelines help to set
9. vA 0 Files of type Figure 39 Selecting the C glove driver DLL 34 3 Confirm that the 5DTGloveDriverCLl is displayed under the References I LJ e EEL SS ee Solution Explorer Solution WwindowsF A x rh re Solution WindowsFoms4pplicatiarns 1 proje l c wWindowsFormsApplication3 E Sa Properties El E References fee SO GloveDriverCL s i System 42 System Core 4 System Data vee 42 System Data DataSet stensions ve 42 System Deployment 42 System Drawing ve 4 System Windows Forms 42 System ml hae System sml Ling H EE Form cs m GE Program cs FA Solution Exolorer vA View lE vA Outline Figure 40 C glove driver added to References 4 Add the following using statement at the top of the cs file using FDTGlove 5 You may now start using the glove CfdGlove fdGlove Glove class float aSensorCaledVals null Array of scaled sensor values fdGlove new CfdGlove create a new glove fdGlove GetSensorScaledAll ref aSensorCaledVals read values fdGlove Close close the glove See appendix D for more function names You may also double click on the 5DTGloveDriverCLl displayed under the References See Figure 40 to see all the types and functions that are available 6 2 3 Linux C C 6 2 3 1 Getting started Run install sh in the install folder This script will copy the shared objects and header files into
10. as well as to the wireless data transmitter There should be a green light on the transmitter when power is applied 2 Check that the glove is connected to the right port Try to connect the glove to another port and try again 3 Check all the connections Section 2 1 2 has information on how to correctly connect the system 4 Check that the port is working Try connecting another device for example an external modem lf the 5DT Data Glove is recognized by your computer but not connecting properly proceed directly to the software connection problems section 7 1 2 Software Connection Problems Run GloveManager from the start menu Check which COM ports are available by looking at the list in Figure 7 Remember that not all available ports will be physically connected to a socket on the back of your computer Some ports may be unavailable because other programs have already taken control of the ports Examples are mouse drivers and fax or communication programs 7 2 Frequently Asked Questions FAQ Q My gloves are connected to COM2 but Glove Manager reports that this port is not available A There may be a mouse driver or other program that has already opened that port Once a program or driver has opened a COM port no other program will be able to access that port until the first one closes Q Is it possible to use the 5DT Data Glove Ultra in a LINUX environment A Yes the Linux version of the SDK does support the 5DT Da
11. been implemented for the Data Glove 14 Ultra It will return O if the glove type isn t a Data Glove 14 Ultra variant Example if the firmware version is 3 2 then 2 is returned bool fdGetAutoCalibrate fdGlove pFG Indicates if the driver is currently auto calibrating Return value Returns true if the driver is currently auto calibrating Parameters pEG Pointer to a glove device This is the value returned by fdOpen Remarks None bool fdSetAutoCalibrate fdGlove pFG bool bAutoCalibrate Turns auto calibration on or off Return value Returns true if the driver is currently auto calibrating Parameters pFG Pointer to a glove device This is the value returned by fdOpen bAutoCalibrate Boolean value indicating if auto calibration should be turned on true or off false Remarks Turn auto calibration off after calibrating to prevent the calibration values from being too extreme thus causing scaled values of poor quality bool fdSaveCalibration fdGlove pFG const char pFileName Saves the current calibration values to file Return value Returns true if the save operation completed successfully Parameters PEG Pointer to a glove device This is the value returned by fdOpen pFileName A null terminated string containing the path and filename Remarks Save your calibration values to file to prevent you from having to calibrate the glove every time you start your application bool fdLoadCa
12. glove is used at a time please insert this dongle into the unused slot of the transmitter 2 2 2 Connecting the Wireless System Connecting the wireless systems will be described in three parts namely charging the battery attaching the glove side and attaching the receiver side Please read this section carefully The numbers in the text refer to the numbers in Figure 2 2 2 3 Charge the Battery Pack Before you start using the gloves you ll need to charge the battery pack You ll need the following parts e Battery Charger Adapter Cable e Battery Pack e Battery Charger Figure 3 shows how to connect the battery charger 6 to the battery pack 5 using the battery charger cable adapter 11 After the battery has charged for 4 6 hours the battery charger will indicate that the pack is charged and ready to use This indication will usually be in the form of a green LED but may vary according the model of battery charger supplied for your region For rapid testing purposes you may partially charge batteries as they contain Li lon cells and do not have the memory effect associated with NiCad rechargeable batteries Battery Charger Adapter Cable Battery Pack Battery Charger Figure 3 Connecting the Wireless Kit Charging the battery 2 2 4 Connect the Gloves The glove side consists of all the parts that connect to the user e 5DT Data Glove 5 or 14 Ultra Left handed e 5DT Data Glove 5 or 14 Ultra Right ha
13. i it onne oa Cameras Recording ThumbFar iw 2664 00 0 00 Constraints W O Devices Model binding l ThumbIndex oOo 2048 00 0 00 ne SDT DataGlove Auto Calib IndexMear ra 3012 00 0 00 SsD1Dstscove i i SDT DataGlove 1 Save Calib IndexFar iw 3012 00 0 00 i Groups 30 0 samplefsils Sets Load Calib IndexMiddle Oo 2046 00 ooo Z Lights mre MiddeNear M 1640 00 ooo ee Relax pen f J poses Device information aaa MiddleFar iw 1640 00 0 00 0 Shaders SDT DataGlowe 5 Ultra MiddleRing iw 2048 00 ooo TERE Left hand Wired Bingen case Pamete oOo nell ooo OK Thumb Clase E Figure 30 Glove B has been Opened 5 4 Calibration You may use auto calibration to calibrate the glove but it is recommended that you use the pre defined calibration steps To use auto calibration click on the Auto Calib button The button text will change to Click to Stop Once you are satisfied with the calibration values click the button again to stop calibrating The following calibration process is recommended 1 Hold your hand in a relaxed open position and click on the Relax Open button 2 Open all of your fingers as wide as possible and click on the Wide Open button 3 Close all of your fingers except your thumb and click on the Finger Close button 4 Close your thumb and click on the Thumb
14. set by the functions fdSetCalibrationAll fdSetCalibration or fdResetCalibration If the current minimum and maximum values are exceeded they are overwritten The upper and lower calibration values are therefore continuously pushed outwards The normalized output is given by the first order equation raw_ raw out val min Max F 1 raw raw which is in 0 Max The value of Max is set by the functions fdSetSensorMaxAll and fdSetSensorMax Doing a few flexing movements with the hand quickly sets the operating values for raWmin and faWmax and calibrates the glove The auto calibration process can be ignored by simply regarding only the raw sensor outputs It would be up to the application developer to provide a suitable calibration process Note that calibration is mandatory especially with the high end gloves which contain no hardware calibration possibilities 45 46 7 Troubleshooting and Support The following information is provided to help you diagnose any problems that may be encountered with your 5DT Data Glove Ultra or 5DT Data Glove Ultra Wireless Kit Please consult this section before contacting your supplier 7 1 General Troubleshooting lf the glove is not working at all please work through the physical connection problems section of the troubleshooting procedure to identify the source of the problem 7 1 1 Physical Connection Problems 1 Check that power is connected to the receiver
15. the correct directories If you do not have administrator privileges please see 6 2 3 2 35 In the terminal type S af INStall ash Or double click on the script if the file is configured to be executed as a program Type chmod x install sh to allow executing file as a program or right click on the file and find the allow executing file as program checkbox in the file properties Now that you have successfully installed the glove SDK you will be able to execute polling o in polling directory In the terminal navigate to the polling directory If your glove has a USB connection type S sudo polling dev usb hiddev0 lf your glove has a serial connection type sudo polling dev ttyS0O replace ttysO with the correct serial port The sudo command is used here to make sure the application has access to the usb or serial device The program will normally finish in less than 10 seconds If you do not have root access please see the next section To find the serial ports that are available type the following into the terminal setserial g dev ttyS 6 2 3 2 Setting up the Linux environment for non administrator users 6 2 3 2 1 Installing the library lf you do not have root access to the system you should place the library libfglove so somewhere in your home directory and then set the LD LIBRARY PATH environment variable to include the full path of the directory in which you have placed the library
16. the most recent raw sensor values from the currently connected glove Return value None Parameters aSensorRawVals Array of 16 bit integers that will contain the raw sensor values If the size of aSensorRawVals is not equal to the value returned by GetNumSensors aSensorRawVals will be reinitialized inside the function Remarks Currently the raw sensor samples are all 12 bit unsigned values The range is therefore from O to 4095 Note that this is not the dynamic range of the sensors There can be severe offset values associated with each sensor The enumerated type EfdSensors defines the finger mapping for each sensor unsigned short GetSensorRaw int nSensor Obtains the most recent raw sensor value for a specific sensor from the currently connected glove Return value 72 Returns a 16 bit integer See GetSensorRawAl11 for details Parameters nsensor Index of the sensor that is being queried The value must lie in the range given by the enumerated type EfdSensors or alternatively from zero to the value returned by GetNumSensors minus one Remarks The enumerated type EfdSensors defines the finger mapping for each sensor void GetSensorScaledAll ref float aSensorScaledVals Obtains the most recent scaled auto calibrated sensor values from the currently connected glove Return value None Parameters aSensorscaledVals Pointer to an array of floating point numbers that will contain the scaled senso
17. to section 5 for details Parameters PEG Pointer to a glove device This is the value returned by fdOpen Remarks None void fdGetCalibrationAll fdGlove pFG unsigned short pUpper unsigned short pLower Obtains the current auto calibration settings of the driver Return value None Parameters pFG Pointer to a glove device This is the value returned by fdOpen pUpper and pLower Arrays of 16 bit unsigned integers that will contain the maximum and minimum raw sensor values The size of each array must always match the value returned by fdGetNumSensors Refer to section 6 for details Remarks None void fdGetCalibration fdGlove pFG int nSensor unsigned short pUpper unsigned short pLower Obtains the current auto calibration settings of the driver for a specific sensor Return value None Parameters pFG Pointer to a glove device This is the value returned by fdOpen Noensor 62 Index of the sensor that is being queried The value must lie in the range given by the enumerated type EfdSensors or alternatively from zero to the value returned by fdGetNumSensors minus one pUpper and pLower Pointers to 16 bit unsigned integers containing the maximum and minimum raw sensor values Refer to section 6 for details Remarks None void fdSetCalibrationAll fdGlove pFG unsigned short pUpper unsigned short pLower Resets the current auto calibration settings of the driver to user defi
18. window again To open the second wireless glove select it from the COM port tree 13 4 3 Opening Serial and Wireless Gloves 4 3 1 Scanning for Gloves Clicking the _Scan Serial button in the setup tab window causes GloveManager to scan the COM ports for available gloves This is useful if you do not know on which COM port your glove is connected to or you simply want to scan for available gloves Once the COM port scan is complete the COM port tree will be updated to show available gloves LOM Forts a COMI Ultraw A Right a COMI Ultraw B Left wy COM2 wy COM3 a coM4 Figure 10 Result of the Port Scan As can be seen in Figure 10 the Port Scan has found two wireless gloves on COM1 The right hand glove is plugged into Port A of the wireless transmitter unit The left hand glove is plugged into Port B 4 3 2 Opening Gloves A glove may be opened by clicking the button after a COM port has been selected in the COM port tree COM Parts tex COM Ultra A Right aF COM Ultraw B Left wy COM2 a COM3 wy COM4 Figure 11 Selecting the First Glove to be Opened lf the glove has been successfully opened the tab window will automatically switch to the newly opened glove as shown in Figure 12 Double clicking on a COM port will also cause GloveManager to attempt to open a glove on that COM port 14 W GloveManager File View Recording Calibration bout 304 57 Record Show Show Load Save Re
19. 5DT Data Glove Ultra Series User s Manual SDT Fifth Dimension Technologies www 5DT com 5DT Data Glove Ultra User s Manual Copyright 2011 5DT Fifth Dimension Technologies All rights reserved No part of this manual software or hardware may be copied reproduced translated or reduced to any electronic medium or machine readable format without the written consent of 5DT Fifth Dimension Technologies All trademarks and trade names are the respective property of their owners Version 1 3 January 2011 Table of Contents ila adc ere est o p emeeme eerste N E nner nCn a Caemer Cee acre a Canne nc areen cere 1 2 SCD ANG INStallaliO N ska orinsonatesivnakyciat a Moaiesiya Snake 3 20t SDT Data dlove Ua ss cce tee eat ee attaes tate aatea seated ea ee eeeaiaeeetots 3 Zl Package Contents scigerstncicerdinctdertiocidesdieedcorddesidesddonidesddesiiastdecidestde 3 2 1 2 CONNECTING the GIOVE cc eccccsecceceseeeceececeeeeeseeeeeseeeeeseeesseneesaaes 3 2 2 5DT Data Glove Ultra Wireless Kit Optional Accessory 008 4 221 Package COMEN sees sccstocteet etic ti ietiec tiene Het a a 4 2 2 2 Connecting the Wireless SySteM cccccccccccsseceseeeeeeeeeeeseeeeesaees 5 2 2 3 Charge the Battery Pack ccccccccccsscccsececeeeeceececeeeeseneeseeeesseeens 5 224 GONMECHING GIOVES cseiernngeosunseesxnsutonweheses webuiusebesenwosciorccesates 6 2 2 5 Connect the RECEIVES c
20. Close button 5 Calibration is now complete 5 5 Model Binding To create a model binding select Create from the Model binding drop down menu as in Figure 31 Model binding Mone Yv C Create Figure 31 The Model Binding Drop down List After the Create command has been issued the wire frame hand model is created in the viewer and the model s name is added to the Model binding drop down list 29 Device SDT Dataclove haji Device SDT Dataclove hand Figure 32 The Model Binding Drop down List with Hand SAOS aisle ka a Producer Perspective Figure 33 The Glove Model as Shown in the Viewer Window This glove can now be automatically connected to an actor To create an actor click and drag the Actor icon from the Characters pane in the Asset Browser viewer a AP A tai lin Pose Controls Properties Filters Ass fe Scripts Templates Commands B Constraints Decks B Devices 45 Elements Materials Physical Propet Shaders E Solvers E tutorials Producer Perspective Figure 34 Creating an Actor lf the actor asset is selected in the Navigator window the Actor Settings window will appear 30 x Navigator Dopesheet Flurves Story Motion Blend Animation Trigger MAAA Scene Actors W eie tock lt ho lcMoMarkerSet gt V Set gt Markerset L Ep cai 4 Audio Output Marker Set
21. GloveHand fdGetGloveType and fdGetPacketRate are used to get info from the glove driver 6 2 3 3 2 Polling example This example is located in polling directory In polling cop 5000 samples are read from the driver with a 1 millisecond delay between each sample In the previous example the packet rate was printed out and will typically be around 75Hz Take note that in this example more samples are taken per second 1000 samples second from the driver compared to what is updated from the glove hardware 75 samples second 6 2 3 3 3 Callback example This example is located in callback directory Instead of polling the glove driver for new values like in the previous example a function will be called by the driver every time a sensor value changes 37 The following function is defined at the top of calloback cpp vord call back vold param tNumCallbackCallst loat glover scaledi le fdaGetoSnsorocaledAll static cast lt TdGlove gt param gloves scaled Printi gt gt sdin EAGetGestlure Static cast lt fdGlove gt param The call back function receives a void parameter which is casted to a LAGLOVe The call back function needs to be registered as a callback in the glove driver fdSetCallback pGloveA void amp call_back static_ cast lt void gt pGloveA The third parameter passed to fdSetCallback is of type void and this is the parameter that should be pas
22. Source New File jDocume Open With Finder New Group a gt Products R lin Find New Target gt Targets ow oar New Custom Executable gt O Executabi eat info New Build Phase e v Find Result T h gt Q Bookmarks OUC Existing Files gt E SCM Untouch Existing Frameworks Add Existing Frameworks to quicktest Project Sym gt Gia implement Preferences gt Interface Builder Files F main cpp 1 lt No selected symbol gt ot 6 viGet te al f include lt iostream gt B int main int argc char const argv insert code here std cout lt lt Hello World n return Build succeeded Succeeded Z Figure 42 Add fglove dylib to your project A new window will pop up Click on Add Other button at the bottom of this window Browse to fglove dylib select it and click on Add 5 Add the following code to the main cpp file of your project 39 include lt iostream gt include fglove h Lat Maim Guat arge Char 7 const argv fdGlove pGlove NULL pGlove fdOpean tT A7 Connects to Tirst glove found if pGlove eout lt lt found glove n cout lt lt Glove Type lt lt fdGetGloveType pGlove fdClose pGlove ret r rn 0 6 Compile and run your application CMD Enter Open the Debugger console to verify that your program gave the correct output CMD Shift R 7 When you connect to the glove
23. This will indicate to the dynamic library loader where to find the file For example mkdir home yourhomedir libs cp libfglove so home yourhomedir libs export LD LIBRARY PATH home yourhomedir libs In the above example replace yourhomedir with your own home directory name 36 6 2 3 2 2 Setting up access to the serial port The 5DT Data Glove accesses the serial port using the standard Unix Linux device files in the dev directory Applications that use the glove should typically give the user the option of specifying which device to check such as dev ttyS1 It is recommended that you create a symbolic link dev fglove to your device file e g cd dev In s ttySl fglove This may make the setup of applications easier should you need to change the port that the glove is connected to lt is also required that the user of the glove has read write access to the serial port device file By default normally only the root user has these rights If non root users on the system will be using the glove the root user must grant access rights to the device file For example the following command will give everyone on the system full access to the serial port dev ttyS1 chmod 777 dev ttySl 6 2 3 3 Example applications 6 2 3 3 1 Glove info example This example is located in the glove_info directory In this example the glove driver is queried for info such as glove type and packet rate Function calls fdGet
24. ally switch to the newly opened glove as shown in Figure 9 Double clicking on a USB glove will also cause GloveManager to attempt to open the glove 12 W GloveManager J Bx File Yiew Recording Calibration About OO Co Record Show Show Load Save Reset ae Manual H Close ae y A me x O S Raw seated to Ca ae al Cal Glove 3 Setup ltt Glovel 483 Thumb Near Raw 352 Range 373 Scaled 483 1461 Thumb Far Raw 993 Rangel1662 Scaled 1461 488 Thumb Index Raw 483 Range s04 Scaled 488 737 Indes Near Raw 483 Range 866 Scaled 737 l 1984 Indes Far Raw 1769 Range 1333 Scaled 1984 1579 Index Middle Raw 1175 Range 560 Scaled 1579 2188 Middle Near Raw 1361 Range 1121 Scaled 2188 884 Middle Far Raw 546 Rangel1176 Scaled 884 562 Middle Ring Raw 531 Range 1238 Scaled 562 1081 Ring Near Raw 951 Range 977 Scaled 1081 2669 Ring Far Raw 1636 Range 1451 Scaled 2669 611 Ring Little Raw 339 Range 134 Scaled 611 N 2219 Little Near Raw 1731 Rangel1002 Scaled 2219 2355 Little Far Raw 670 Range 1 250 Scaled 2355 Click on graph to zoom unzoom 80 Packets f Second AutoCal Data Glove 14 Ultra Right Wired 3 1 DGI4URO0000 Figure 9 GloveManager after the USB Glove is Successfully Opened Clicking on the a Setup tab will cause GloveManager to display the setup tab
25. alue returned by fdOpen ASoensoxr Index of the sensor that is being queried The value must lie in the range given by the enumerated type EfdSensors or alternatively from zero to the value returned by fdGetNumSensors minus one pUpper and pLower Pointers to floating point numbers that will contain the maximum and minimum threshold values Refer to section 6 for details Remarks None void fdSetThresholdAll fdGlove pFG float pUpper float pLower Sets the current gesture recognition threshold settings of the driver Return value None Parameters pFG Pointer to a glove device This is the value returned by fdOpen pUpper and pLower Arrays of floating point numbers that contains the maximum and minimum threshold values The size of each array must always match the value returned by fdGetNumSensors Refer to section 6 for details Remarks None void fdSetThreshold fdGlove pFG int nSensor float fUpper float fLower sets the current gesture recognition threshold settings of the driver for a specific sensor Return value None Parameters pFG Pointer to a glove device This is the value returned by fdOpen Hhoensor Index of the sensor that is being set The value must lie in the range given by the enumerated type EfdSensors or alternatively from zero to the value returned by fdGetNumSensors minus one fUpper and flower Floating point numbers that contain the maximum and minimum thresh
26. alues are recorded in memory and will be lost unless saved to file oOo The values may be saved to file by clicking the gt i button by selecting the File Save or File Save As menu option or by using the Ctrl S shortcut key Currently only the CSV Comma Separated Values file format is supported 20 26 5 Using the Gloves in Autodesk MotionBuilder Please note that the Autodesk MotionBuilder driver is an optional extra available with the glove If a MotionBuilder license has not been purchased with the glove the plug in will only work for 2 minutes and recording functionality will be disabled 5 1 Installation To install the driver follow the steps given below e Copy the file ordevice5dt16 dll and fglove dll to the C Program Files Autodesk MotionBuilder bin win32 plugins directory e Run MotionBuilder e Verify that the driver is installed by clicking on the Asset Browser tab in the Asset Browser window Then from Templates select Devices The installed driver should be visible as shown in the red rectangle in Figure 2 below Asset Browser x Pose Contrals Properties Filters Asset Browser Scripts Templates SDT DataGlove Joystick amp J WIC eS general Purp Keyboard JLC JLCooper M Figure 27 Verifying that the 5DT Data Glove Plugin has been Installed 5 2 Opening the Glove From the device pane of the Asset Browser create a glove in Motio
27. ans that this glove will not be used during the recording process The hand and sensor image on the right allows you to select specific sensors to be shown in graph view Please note that the program will not allow you to display zero sensors Clicking the Thumb Index Middle Ring Little or Abduction buttons causes the corresponding sensors to be selected or deselected You may also select or deselect a sensor by clicking on it Sensors to be used during recording or Sensors to be shown in graph view SEEP You may go back to graph view by clicking on the or b buttons by selecting the View Show View Setup option from the menu or by pressing the V shortcut key 22 4 6 Glove Calibration a GloveManager Seles File View Recording Calibration About 3D GT Record B Show Load Save Reset we Manual aig Close D ed Raw Scaled te ra Cal ay Cal ee Glove Setup Y Glovel M Glove Recording visible Sensors to be used during recording Sensors to be shown in graph view Select All select None Abduction i Select None Abduction Thumb Index Middle Ring Little Thumb Index Middle Ring Little OK 79 Packets f Second 4utoCal Data Glove 14 Ultra Right Wireless w3 0 Figure 24 The Sensor Selection View Load sd Glove calibration values may be loaded from file by clicking the cat button by selecting the Calibration Load Calibration Values menu option or by using the Alt O shortcut
28. ata Glove14 Ultra wireless left hand glove Port B 0x10 Data Glove 5 Ultra wired right hand glove 0x11 Data Glove 5 Ultra wired left hand glove 0x12 Data Glove 5 Ultra wireless right hand glove Port A 0x13 Data Glove 5 Ultra wireless left hand glove Port A 0x16 Data Glove 5 Ultra wireless right hand glove Port B 0x17 Data Glove 5 Ultra wireless left hand glove Port B Version The firmware version byte The upper nibble Vmaj represents the version major the lower nibble Vmin represents the version minor XHI The upper four bits of the 12 bit sensor value or the lower nibble of the MSB of the 12 bit sensor value xLh The middle four bits of the 12 bit sensor value or the upper nibble of the LSB of the 12 bit sensor value XLI The lower four bits of the 12 bit sensor value or the lower nibble of the LSB of the 12 bit sensor value Checksum The 8 bit checksum is computed by adding all the data bytes Footer Packet stop byte defined as the gt character Hex value 0x3e 56 Appendix C SDK Function Descriptions The following functions are available in the SDK fdGlove fdOpen char pPort Initializes the glove device on the specified port Return value Returns a pointer to the glove device fdGlove NULL is returned if an error occurred Parameter DPOLE Windows and Linux Pointer to a zero terminated ASCII string containing the name of the communication port
29. being set The value must lie in the range given by the enumerated type EfdSensors or alternatively from zero to the value returned by GetNumSensors minus one uUpper and uLower 16 bit unsigned integers containing the maximum and minimum raw sensor values Remarks None void ResetCalibration Resets the internal auto calibration settings of the driver to appropriate default values for all the sensors Return value None Parameters None Remarks This function is similar to the SetCalibrationAll1 function with each of the upper and lower calibration array values set to 0 and 4095 respectively This function or any of the other calibration functions should be called whenever the 79 application starts up or the glove changes users during run time For unmapped sensors the upper and lower calibration values are set to 4095 and O respectively which is the inverse of the auto calibration settings If auto calibration was turned off it is turned on again void ResetCalibration int nSensor Resets the internal auto calibration settings of the driver to appropriate default values for a specific sensor Return value None Parameters nsensor Index of the sensor whose calibration values are to be reset Remarks This function is similar to the SetCalibrationAll1 function with each of the upper and lower calibration array values set to 0 and 4095 respectively This function or any of the other calibration fu
30. cccccseccccssseeceeeeecseeeeceeeeeseeeeseeeeseneesenes 7 2206 SlahiinG Ine SYSICM acces es 7 22 1 POSINONING INCU CCEIV EF vissosuswaussessausceazseaveuremseevanwavewatannssearsmeueneune 7 3 SOWIE NSt eaa tens aavetausaausiausaeesarxsaveecenewae 9 Jls GCD COMEN aana a a mee ce eet et Moen cet nereT cert 9 Ole AMSTANEC SOWIE saai A EEA 9 A USN CAlOV GVA NaC G heeren AA N A 11 4 1 Starting GloveManage r anren AA 11 4 2 Opening USB GIOVES cccccccccccsseeeceseeeceeeecceucecsaeeecsageessueeessueeessaes 11 421 SCANNING OF GIOVES vresdecedocddncddacdiactdocddastdestdestdesddagidenidenidasidenedesds 11 A22 OPENIN GIOVES werstener nares sey nee 12 4 3 Opening Serial and Wireless GIOVES cccceccecseeeeeeeeeeeeeeeesaeeeeaees 14 43T Scanning fOr GIOVE S cieie eae eetduesecottess 14 432 OPen GIOV ES eren e er EEE REE EENES R 14 4A TAE Ghai VICW oa a a 16 4AT The Ment Ba psie tabetha 17 ce ONO Ap east te eee cee sence eemesesenseesessaepestoeaceeeeteaep sete eens 18 Belo Wee Me eee e e 18 4 4 4 The Sensor Graphs cccceeccccseececeeeeeceeeeeceesesseeeessaeeesaaeeeseeeeeeas 19 A4 5 The Sensor INO BOX weccsecccsccscscccccssccesseccrceceeecscececssccecesecccaseveseeeses 20 AAG MAES B fc ogee ta a N 22 4 5 The Sensor Selection View cccccccccsseccceeseeceeececeeeeeseseeseeeeeseeeeesees 22 AG GIOVE Galba sesa T E E O 23 ATi NACCOl OMG isas A R 25 5 Using the Gloves in Autodesk MotionBuilder
31. d aLowerVals Arrays of 16 bit unsigned integers that will contain the maximum and minimum raw sensor values If the size of aUpperVals or aLowerVals is not equal to the value returned by GetNumSensors it will be reinitialized inside the function Remarks None void GetCalibration int nSensor ref ushort uUpper ref ushort uLower Obtains the current auto calibration settings of the driver for a specific sensor Return value None Parameters nsensor Index of the sensor that is being queried The value must lie in the range given by the enumerated type EfdSensors or alternatively from zero to the value returned by GetNumSensors minus one uUpper and uLower References to 16 bit unsigned integers containing the maximum and minimum raw sensor values 74 Remarks None void SetCalibrationAll ushort aUpperVals unshort aLowerVals Resets the current auto calibration settings of the driver to user defined values Return value None Parameters aUpperVals and aLowerVals Arrays of 16 bit unsigned integers containing the maximum and minimum raw sensor values The size of aUpperVals or aLowerVals must be equal to the value returned by GetNumSensors Remarks None void SetCalibration int nSensor ushort uUpper ushort uLower Resets the current auto calibration settings of the driver for a specific sensor to user defined values Return value None Parameters ASensor Index of the sensor that is
32. d every time a new packet is received by the driver Example fdGlove SetCallBack new EventHandler Update with Update function defined as void Update object sender EventArgs e int GetPacketRate Obtains the latest packet rate Return value Returns the latest available packet rate as an integer Parameters None Remarks None bool NewData Indicates if the driver has received new data since this function was last called 78 Return value Returns true if new data is available Parameters None Remarks This function may be used as an alternative to using the callback function to trigger events upon the arrival of new glove data int GetFWVersionMajor Obtains the major version of the glove s firmware Return value Returns the major version of the glove s firmware as an integer Parameters None Remarks This function has currently only been implemented for the Data Glove 14 Ultra lt will return O if the glove type isn t a Data Glove 14 Ultra variant For example if the firmware version is 3 2 then 3 is returned int GetFWVersionMinor Obtains the minor version of the glove s firmware Return value Returns the minor version of the glove s firmware as an integer Parameters None Remarks This function has currently only been implemented for the Data Glove 14 Ultra It will return O if the glove type isn t a Data Glove 14 Ultra variant For example if the firmware version i
33. d turning on the switch on top of the wireless data transmitter The green light on the transmitter means the power is connected and the blue light indicates that a wireless connection is present Once the power is applied it may take a few seconds for the connection to be made You can then use GloveManager to test the operation of the gloves Detail on this is given in Section 4 of this manual 2 2 7 Positioning the Receiver In order to get the best wireless performance it is important to get the wireless data receiver as close to the transmitter as possible For this purpose the wireless receiver cable has been made especially long to get the receiver into a convenient location 3 Software Installation Your package comes with a CD that contains documentation and utilities to help you get up and running with the gloves as quickly as possible Most of the supplied programs and software are intended for 32 bit Windows and require Windows XP Vista or Windows 7 The SDK and applications have been tested to work on 64 bit versions of these Operating Systems Please check the www 5dt com website for the latest versions of the drivers as new drivers and new versions are regularly added The setup program should run when you insert the CD but if it doesn t run the program setup exe in the install directory and follow the on screen instructions 3 1 CD Contents The CD contains the following directories Acrobat This copy of A
34. dobe Acrobat Reader will allow you to read the documentation lInstall This contains the software installation files LINUX This folder contains the SDK and code examples for Linux users The SDK for Linux is described in detail in Section 6 2 3 Mac This folder contains the SDK and code examples for Mac users The SDK for Mac is described in detail in Section 6 2 4 Windows SDK This folder contains the SDK and code examples for Windows users The SDK is described in detail in Section 6 Windows Plugins This directory contains the plug ins for MotionBuilder 2010 and 2011 Section 5 gives more detail about the plug ins 3 1 1 Installed Software By default the setup program will install your files to the following directory C Program Files 5DT Data Glove Ultra The installation contains the following directories GloveDemo This folder contains the 3D glove demo Click on 5DT Glove Demo exe io start the demo Documents This directory contains the electronic copy of this manual in pdf format and application notes as they become available GloveManager GloveManager is a program that allows you to test your gloves and access advanced glove functions which may not be available in the plug ins More detail on this is given in Section 4 10 4 Using GloveManager The 5DT GloveManager is a useful tool accompanying the Data Glove which may be used for the following e Testing t
35. e 4 4 5 The Sensor Info Box The sensor info box provides the following information see Figure 20 e Raw sensor value Value between 0 and 4095 e Sensor dynamic range Value between 0 and 4095 e Scaled sensor value Scaled value from 0 to 4095 e Lower calibrated value Value between 0 and 4095 e Upper calibrated value Value between 0 and 4095 e Graph top value Value between 0 and 4095 e Current graph value Value between 0 and 4095 e Graph bottom value Value between 0 and 4095 20 Sensor name Raw value Graph top value a Indes Far Rawlteo7 Rangel2112 Scaledl2125 Scaled value Current graph Max value 1607 ie 9623 Graph bottom value Lower calibration value Upper calibration value Dynamic range value Figure 20 The Sensor Info Box The upper and lower calibration values may be fine tuned by adjusting the minimum and maximum values of the dynamic range These values are automatically adjusted during auto calibration Please note that the calibration mode is automatically switched to manual calibration during fine tuning The sensor info box has three levels of detail depending on the pixel resolution available to GloveManager The highest level of detail is shown in Figure 20 As the pixel resolution decreases it is switched to the second level of detail as in Figure 21 The value shown next to the sensor name is e the current scaled value when scaled graphs are visible e the c
36. e GF ee GIN Tab bar 9 Setup Glover 343 Thumb Near PEN f Pe OAS ie ry on o Raw 347 Range 405 Scaled 343 graph Thumb Index Raw 590 Range 922 Scaled 852 _ ndex Near WAR A ALP OP ARRAN Rawfe21 Range 998 caled DEE V YYYY ana WW Y UAA Rawfi528 Range 1757 Scaled 2111 WeCeTat ata aia MEAT La ars Index Middle Raw 1281 Range 576 caled 1834 1973 Middle Near NIAAA AAAA L ARLYA PS Rawf1405 Range 11253 caled 1973 1097 Middle Ring ATLA RAL AR AAAS Rawl644 Range 1090 Scaled 1097 _ 862 Ring Near IN IAIN INI AAA SAAL UANO Renf8557 Rano 1080 Scaled 52 i oTa 2462 Ring Far ANALO NNN NY Rawfi882 Range 2002 caled 2462 363 Ring Little ey eee rarer Raw a77 Range 642 caled 363 PLANAR DL AS NSS os Raw 818 Range 1 137 Scaled 2232 AIIM YY NES Little Far Raw 970 Range 1 712 Scaled 2468 Click on graph to zoom unzoom 78 Packets Second AutoCal Data Glove 14 Ultra Right Wireless v3 0 Status bar Figure 15 Available Fields in Graph View 4 4 1 The Menu Bar The following commands are available from the menu Description File New Recording Ctrl N Creates a new recording file File Save Recording Ctrlt S Saves the current recording File Save Recording As Saves the current recording as a new file name File Close Current Glove Alt C Closes the currently visible glove File Exit View Toolbar Shows Hides the Toolbar View Status Bar Shows Hides the Status Bar View Show V
37. ed in this array The following PIDs are defined DG14U R Data Glove 14 Ultra Right hand DG14U L Data Glove 14 Ultra Left hand DG5U R Data Glove 5 Ultra Right hand DG5U L Data Glove 5 Ultra Left hand nNumMax The length of the aPID array The number of gloves found is also returned in this parameter Remarks None int fdGetGloveHand fdGlove pFG Obtains the handedness left or right handed of the glove Return value Returns either FD HAND LEFT or FD HAND RIGHT as defined by the enumerated type EfdGloveHand Parameters pEG Pointer to a glove device This is the value returned by fdOpen Remarks None int fdGetGloveType fdGlove pFG Obtains the type of the currently connected glove Return value Returns one of FD GLOVENONE FD GLOVE7 FD GLOVE7W FD GLOVE16 FD GLOVE16W FD GLOVE14U FD GLOVE14UW or FD GLOVE14U USB as defined by the enumerated type EfdGloveTypes Parameters pEG Pointer to a glove device This is the value returned by fdOpen Remarks FD GLOVE7 and FD GLOVE7W refer to the original 5 2 tilt angles sensor glove SDT Data Glove 5 The w suffix indicates a wireless model FD GLOVE16 and FD GLOVE16W refer to the Data Glove 16 FD GLOVE14 FD GLOVE14Ww and FD GLOVE14 USB refer to the Data Glove 14 Ultra The USB suffix refers to the Universal Serial Bus interface In order to accommodate all glove types the fdGetNumSensors function currently returns 18 sensors The add
38. emarks None int GetGloveType Obtains the type of the currently connected glove Return value Returns one of FD GLOVENONE FD GLOVE7 FD GLOVE7W FD GLOVE16 FD GLOVE16W FD GLOVE14U FD GLOVE14UW or FD GLOVE14U USB as defined by the enumerated type 71 Parameters None Remarks FD GLOVE7 and FD GLOVE7W refer to the original 5 2 tilt angles sensor glove SDT Data Glove 5 The w suffix indicates a wireless model FD GLOVE16 and FD GLOVE16W refer to the Data Glove 16 FD GLOVE14 FD GLOVE14W and FD GLOVE14 USB refer to the Data Glove 14 Ultra The USB suffix refers to the Universal Serial Bus interface In order to accommodate all glove types the GetNumSensors function currently returns 18 sensors The additional two sensors are defined as the original tilt angles that are not present in the 16 sensor glove See the description of GetNumSensors for more details int GetNumSensors Obtains the number of available sensors values the driver can make available Return value Returns the number of sensors Currently it is fixed at 18 but future driver releases may differ Parameters None Remarks Although the 5 sensor glove can measure only average flexure the driver will attempt to fill in missing values The number of sensors returned can therefore be of a higher dimension The enumerated type EfdSensors defines the finger mapping for each sensor void GetSensorRawAll ref ushort aSensorRawVals Obtains
39. eturned by fdGetNumsensors Remarks The glove driver defaults to a maximum scaled value of 1 for each sensor void fdSetSensorMax fdGlove pFG int nSensor float f Max sets the maximum scaled value for a specific sensor Return value None Parameters pEG Pointer to a glove device This is the value returned by fdOpen NSENSOr Index of the sensor that is being set The value must lie in the range given by the enumerated type EfdSensors or alternatively from zero to the value returned by fdGetNumSensors minus one fMax A floating point value that contains the maximum scaled sensor value Remarks The glove driver defaults to a maximum scaled value of 1 for each sensor void fdGetThresholdAll fdGlove pFG float pUpper float pLower Obtains the current gesture recognition threshold settings of the driver Return value None Parameters pEG Pointer to a glove device This is the value returned by fdOpen pUpper and pLower Arrays of floating point numbers that will contain the maximum and minimum threshold values The size of each array must always match the value returned by fdGetNumSensors Refer to section 6 for details Remarks None void fdGetThreshold fdGlove pFG int nSensor float pUpper float pLower Obtains the current gesture recognition threshold settings of the driver for a specific sensor Return value None Parameters pEG Pointer to a glove device This is the v
40. features of this glove are e The glove is comfortable with an improved design for differently sized hands e The accurate and sensitive sensors give a clean signal minimizing the need for additional filtering e Diagnostic software is included with the capability to record hand data e The package optionally includes a plug in for Autodesk MotionBuilder e The gloves functions and data are accessible via the 5DT Data Glove SDK e The glove data stream from the optional serial interface kit is an RS 232 data stream with an open protocol allowing for various platform implementations The optional 5DT Data Glove Ultra Wireless Kit is a wireless hand data motion capturing solution for animation and virtual reality The kit is a wireless transmission system for the 5DT Ultra Series of Data Gloves The 5DT Data Glove Ultra Wireless Kit allows you to capture the data from both hands and transmit them over a single wireless link The complete hand data from both hands can be captured and transmitted wirelessly for up to 4 motion capture actors at a time 2 Setup and Installation 2 1 5DT Data Glove Ultra 2 1 1 Package Contents When first unpacking your glove please ensure that all the parts are there If anything is missing please contact 5DT or your reseller immediately The 5DT Data Glove Ultra consists of the following 1 5DT Data Glove Ultra 5 or 14 Sensor 2 5DT Data Glove Ultra Series USB cable 3 5DT Data Glove CD
41. for Simulator Development and e Learning Solution Development Contact Information California USA Serves United States and Americas 15375 Barranca Pkwy G 103 Irvine CA 92618 United States of America Tel 1 949 450 9044 Fax 1 949 450 9045 Web www 5DT com Pretoria South Africa Serves Rest of World 25 De Havilland Crescent P O Box 5 Persequor Technopark 0020 South Africa Tel 27 12 349 2690 Fax 27 12 349 1404 Web www 5DT com 51 52 Appendix A Hardware Specifications MATERIAL FLEXURE RESOLUTION BEND SENSORS COMPUTER INTERFACE POWER SUPPLY SAMPLING RATE Black stretch lycra 12 bit A D for each sensor Minimum dynamic range is 8 bits Data Glove 14 Ultra Proprietary fiber optic based flexor technology 2 sensors per finger 1 Sensor between each finger Data Glove 5 Ultra Proprietary fiber optic based flexor technology 1 sensor per finger measures average of knuckle and first joint Full soeed USB or RS 232 3 wire GND TX RX 115kbps 8 data bits 1 stop bit no parity Maximum 5 V DC Center positive DC power connector The full hand all available sensors may be sampled at least 60 times per second At 5DT we constantly try to improve our products As a result these specifications are subject to change without prior notice 53 54 Appendix B Serial Protocol The data glove is connected to the RS 232 port of the computer The 5DT Data Glove Ultra W
42. he 5DT Data Glove e Obtaining good calibrated values for the 5DT Data Glove e Logging data obtained from the 5DT Data Glove Note All images are shown for the Data Glove 14 Ultra Images will differ Slightly for the Data Glove 5 Ultra 4 1 Starting GloveManager Start the program by running GloveManager exe which is installed in the Data Glove Ultra GloveManager folder by default The setup tab window will appear see below W GloveManager DEAR File View Recording Calibration About COM Forts ay COMI ay COM2 ay COM3 wy COM4 Open Glove Scan USB Close Glove Scan Seral Figure 6 The Setup Tab Window 4 2 Opening USB Gloves 4 2 1 Scanning for Gloves Clicking the _ Scan USB button in the setup tab window causes GloveManager to scan the USB for available gloves This is useful if you have plugged in the glove after starting GloveManager Once the USB scan is complete the USB device tree will be updated to show available gloves 11 COM Parts COM wy COM2 A COM3 ay COM4 USB e USED DG14U Right Figure 7 Result of the USB Scan As can be seen in Figure 7 the Port Scan has found a glove on USBO 4 2 2 Opening Gloves A glove may be opened by clicking the button after a USB glove has been selected in the device tree COM Parts COM J COM2 i COM3 a COM4 Figure 8 Selecting the Glove to be Opened lf the glove has been successfully opened the tab window will automatic
43. iew Setup v Toggles between the sensor selection and the graph view View Show Scaled Graphs S Shows Hides the Scaled Graphs S View Show Raw Graphs xX Shows Hides the Raw Graphs Sfowses te Raw Gaphe O Calton Rest Carraton els the auro carbraton aos ands a clan on 17 Description Calibration Load Calibration Values Alt O Load the calibration values from file turns auto calibration off Calibration Save Calibration ValuesjAlt S Save the current calibration values to file About About GloveManager Displays information about GloveManager Table 1 Menu Commands Available in GloveManager 4 4 2 Toolbar The following buttons are available on the toolbar eon pornp O OB or Creates a new recording file SR os Saves the current recording aa Record Ctrl R Toggles recording of glove data on or off Show t X Shows Hides the raw graphs Raw Show at S Shows Hides the scaled graphs Scaled Reset Sro Resets the auto calibration values and turns auto calibration on Cal E meo Load the calibration values from file turns auto calibration off Ca Save RH Alt S Save the current calibration values to file Ca Eal A freos between auto and manual calibration al Hanual ejm freos between auto and manual calibration Cal aA YIN fos between the sensor view setup and the graph view Close Fas Closes the currently visible glove Glove Table 2 Buttons Available on the GloveManager Toolbar
44. ilt sensor Figure 43 Sensor Positions for the 5DT Data Glove 5 Sensor Description Thumb flexure Index finger flexure Middle finger flexure Ring finger flexure Little finger flexure Pitch angle of tilt sensor obsolete Roll angle of tilt sensor obsolete mMOUQOW D gt Q Table 3 Sensor Mappings for the 5DT Data Glove 5 and 5DT Data Glove 5 Ultra i Both these driver sensor indices will return the same value when the 5DT Data Glove 5 or Data Glove 5 Ultra is used Not available on the Data Glove 5 Ultra 6 6 Sensor Mappings for the 5DT Data Glove 14 Ultra The sensors on the 5DT Data Glove 14 are positioned as in Figure 44 41 42 Figure 44 Sensor Mappings for the 5DT Data Glove 14 Ultra Sensor Driver Sensor Description Index Thumb flexure lower joint Thumb flexure second joint Thumb index finger abduction Index finger flexure at knuckle Index finger flexure second joint Index middle finger abduction Middle finger flexure at knuckle Middle finger flexure second joint Middle ring finger abduction Ring finger flexure at knuckle Ring finger flexure second joint Ring little finger abduction Little finger flexure at knuckle Little finger flexure second joint OCONOOARWDND CO OCONOOARWN CO Table 4 Sensor Mappings for the 5DT Data Glove 14 Ultra 6 7 Gesture Definitions The currently defined set of gestures is comprised of binary ope
45. ing for each sensor unsigned short fdGetSensorRaw fdGlove pFG int nSensor Obtains the most recent raw sensor value for a specific sensor from the currently connected glove Return value Returns a 16 bit integer See fdGetSensorRawAl11 for details Parameters pFG Pointer to a glove device This is the value returned by fdOpen nsensor Index of the sensor that is being queried The value must lie in the range given by the enumerated type EfdSensors or alternatively from zero to the value returned by fdGetNumSensors minus one Remarks The enumerated type EfdSensors defines the finger mapping for each sensor void fdSetSensorRawAll fdGlove pFG unsigned short pData Forces the raw value for all the sensors Return value None Parameters pFG Pointer to a glove device This is the value returned by fdOpen pData Pointer to an array of 16 bit integers that will contain the raw sensor values The size of the array must always match the value returned by fdGetNumsSensors Remarks Currently the raw sensor samples are all 12 bit unsigned values The range is therefore from 0 to 4095 The enumerated type EfdSensors defines the finger mapping for each sensor Forcing a sensor value will result in a raw and scaled output other than the default zero Values that can be mapped will be overwritten rendering the forced value void void fdSetSensorRaw fdGlove pFG int nSensor unsigned short nRaw Forces
46. ireless Kit is a transmit only device as it does not respond to any commands sent to it The 5DT Data Glove Ultra has the following serial settings e 115200 bits per second e 8data bits 1 stop bit no parity e Hardware handshaking none The glove data arrives in packets If two gloves data is present on the data stream then the packets will alternate from one glove then the other It is possible to distinguish the two by identifying the glove type from the type byte The data packet sent by the glove is structured as follows LS Start 17 9LI 10HI 2 tre Byte fas rot Four a s a er ite a mma a 1LI 2H 2A 12Lu 12Ll 2Lu 2Ll 2200 13HI 13Lu 3HI 3Lu 23000 1311 14HI SLI 4HI 24 14Lu 14Ll 4Lu 4Ll 25 1s5HI 15Lu 5HI 5Lu 26 15u 16HI K v j ma o C E Checksum 7Ll 8HI 8Lu BL OHI 7 La a pe CO a La eo Table 6 5DT Data Glove 14 Ultra Packet Description The bytes of the packet are defined as follows Header Packet start byte defined as the lt character Hex value 0x3c Glove Type The glove type identifier byte The following values are defined 55 0x00 Data Glove14 Ultra wired right hand glove 0x01 Data Glove14 Ultra wired left hand glove 0x02 Data Glove14 Ultra wireless right hand glove Port A 0x03 Data Glove14 Ultra wireless left hand glove Port A 0x06 Data Glove14 Ultra wireless right hand glove Port B 0x07 D
47. itional two 08 sensors are defined as the original tilt angles that are not present in the 16 sensor glove See the description of fdGetNumSensors for more details int fdGetNumSensors fdGlove pFG Obtains the number of available sensors values the driver can make available Return value Returns the number of sensors Currently it is fixed at 18 but future driver releases may differ Parameters pFG Pointer to a glove device This is the value returned by fdOpen Remarks Although the 5 sensor glove can measure only average flexure the driver will attempt to fill in missing values The number of sensors returned can therefore be of a higher dimension The enumerated type EfdSensors defines the finger mapping for each sensor void fdGetSensorRawAll fdGlove pFG unsigned short pData Obtains the most recent raw sensor values from the currently connected glove Return value None Parameters BFG Pointer to a glove device This is the value returned by fdOpen pData Pointer to an array of 16 bit integers that will contain the raw sensor values The size of the array must always match the value returned by fdGetNumSensors Remarks Currently the raw sensor samples are all 12 bit unsigned values The range is therefore from 0 to 4095 Note that this is not the dynamic range of the sensors There can be severe offset values associated with each sensor The enumerated type EfdSensors defines the finger mapp
48. key The file open dialog box will appear 23 Look ir i Calibrations al biy Recent Documents Desktop My Documents My Computer _ My Network File name JaneD Oe cal Places Files of type Calibration files cal Cancel Figure 25 The File Open Dialog for Calibration Files Select a calibration file extension cal and click on the button to open the file Save Glove calibration values may be saved to file by clicking the ta button by selecting the Calibration Save Calibration Values menu option or by using the Alt S shortcut key The file save dialog box will appear 24 Save ini 4 Calibrations Ej JohnEoe cal My Recent Documents Desktop My Documents My mputer My Network File name JaneD Oe cal Places Dave as type Calibration files cal Cancel Figure 26 The File Save Dialog for Calibration Files Type in your file name and click the button to save the calibration values to file The file format is also compatible with the 5DT Data Glove SDK 4 7 Recording Record The incoming glove data may be recorded by clicking the button by selecting the Recording Record menu option or by using the Ctrl R shortcut key This will cause GloveManager to record the latest raw and scaled values at a fixed rate of 60 Hz Only the sensors selected for recording in the sensor setup view see section 4 5 will be recorded These v
49. l JU PINION PIG a Be ere eS E ae el ee ee A Close Glove 1493 Thumb Near Raw a72 Range Thumb Far Rawi 868 Range 2746 436 Scaled 1493 2169 Scaled 2746 2353 Thumb Index Raw g34 Range 3373 Index Near Raw 1155 Range 3472 Index Far Raw 1442 Range 945 Scaled 2353 999 Scaled 3373 aw nge caled 34 7 2169 Index Middle 1044 Scaled 2169 2841 Middle Near Raw 1735 Range 1281 Scaled 2841 2999 Middle Far Raw 1269 Range 1353 Scaled 2999 1426 Middle Ring Rawi 067 Range 1967 Ring Near Rafi 249 Range 2110 Scaled 1426 1097 Scaled 1967 2963 Ring Far Raw 2088 Range 470 Ring Little Raw 392 Range 2143 Scaled 2963 644 Scaled 470 2665 Little Near Raw 1938 Range 1137 Scaled 2665 2733 Little Far Raw 2047 Range 1814 Scaled 2733 Click on graph to zoom unzoom 77 Packets Second 4utoCal Data Glove 14 Ultra Right Wireless v3 0 Left click Fie View Recording Calibration About GOGO Record Show Show pa ave Ait LA Di ek Raw Scaled al F Setup W Glove W Glove 2623 Index Far Rawl878 Range 2112 Scaled 711 in Max M 78 Packets Second AutoCal Data Glove 14 Ultra Right Wireless v3 0 Figure 19 An Illustration of the Zoom Procedure The zoomed view gives you a more detailed view of the graph and allows you to do fine tuning of the calibration valu
50. libration fdGlove pFG const char pFileName Loads calibration values from file Current calibration values are discarded Return value Returns true if the load operation completed successfully Parameters pEG Pointer to a glove device This is the value returned by fdOpen pFileName A null terminated string containing the path and filename Remarks None Appendix D C SDK Function Descriptions The functions described here are member functions of the class CfdGlove To setup your application to use the C driver see section 6 2 2 void Open string sPort Initializes the glove device on the specified port Return value None Parameters SPOE String containing the name of the communication port If the glove is connected to a USB port sPort should contain USB followed by a number for example USBO If the glove is connected to a serial port sPort should contain COM followed by the COM port number the glove is connected to for example COM5 Remarks None int Close Frees the glove device and communications port Return value Returns nonzero if successful zero if an error occurred Parameters None Remarks lt is important to call this function when you are finished using the glove int GetGloveHand Obtains the handedness left or right handed of the glove Return value Returns either Or FD HAND LEFT as defined by the enumerated type Parameters None R
51. libration process is described in section 6 The enumerated type EfdSensors defines the finger mapping for each sensor float fdGetSensorScaled fdGlove pFG int nSensor Obtains the most recent scaled auto calibrated value for a specific sensor from the currently connected glove Return value Returns a floating point sensor value Parameters pFG Pointer to a glove device This is the value returned by fdOpen Noensor Index of the sensor that is being queried The value must lie in the range given by the enumerated type EfdSensors or alternatively from zero to the value returned by fdGetNumSensors minus one Remarks The sensor range is a value from zero to the value defined by the fdSetSensorMax and fdSetSensorMaxAll functions The glove driver defaults to a range of 0 1 The automatic calibration process is described in section 6 The enumerated type EfdSensors defines the finger mapping for each sensor int fdGetNumGestures fdGlove pFG Obtains the number of available gestures that can be recognized by the glove driver Return value 61 Returns the number of available gestures Currently 16 different gestures are supported Refer to section 5 for details Parameters BEG Pointer to a glove device This is the value returned by fdOpen Remarks None int fdGetGesture fdGlove pFG Obtains the current gesture being performed Return value Returns the current gesture being performed Refer
52. loves and update the Ports drop down list Please note that the scan process may take a while Once the correct port has been selected click on the red Online check box If the red check box turns green a successful connection has been made 5 3 Opening Wireless Gloves The new 5DT Data Glove Ultra Wireless Kit uses one COM port for receiving data from both gloves connected to the transmitter unit The driver handles this transparently by allowing you to open two gloves on the same port Only once the first glove is opened will the second one be opened by the driver You may open and close either of these gloves any time you wish The process of opening two wireless gloves is illustrated next 1 The first glove is created by dragging the 5DT DataGlove icon from the device pane into the viewer window and then performing a port scan Now click on the Online button 2 Click on the Online check box It should turn green and the Device information should be updated with information from the current glove 3 The second glove is created by dragging the 5DT DataGlove icon from the device pane into the viewer window The driver automatically picks up that another wireless glove may be opened on COM1 B and adds this to the ports list 4 The second glove is opened by selecting the correct port and clicking on the Online check box 28 x Navigator Dopesheet FCurves Story Motion Blend Animation Trigger raters ae gt
53. mciose configurations of the fingers excluding the thumb There are 2 16 such possible combinations Gesture number 0 is defined as all the fingers excluding the thumb being closed and gesture number 15 as all the fingers open The index finger indicates the least significant bit For example the index finger point gesture will therefore be number 1 and the little finger point gesture number will be 8 An invalid unrecognizable gesture is defined as the value 1 A scaled sensor value of higher than the upper threshold setting will indicate a closed finger while a scaled sensor value of lower than the lower threshold setting will indicate an open finger A value in between is invalid and will result in an invalid gesture In the case of multiple finger joint angle measurements the maximum of the individual joint sensor values is taken to obtain a closed gesture and the minimum to obtain an open gesture Closed gestures take precedence in other words bending only one joint of a finger will count as a closed gesture Finger _ si Little Ring _ Middle Index _ sensor 5DT Data Glove 16 eror oor or as Gesture Flexure 0 flexed 1 unflexed Gesture deli Fig EEN ro 0 0 0 ma o o 0 1 Index finger point 16 1 o 1 0 Middle finger point 16 2 o 1 Twofingerpoint 163 o o Ring finger point 164 o 1 Ring indexpoint 165 a 0 Ring middle point 16 6 Three finger poin
54. nBuilder by clicking and dragging the 5DT DataGlove icon to the viewer window see Figure 28 Asset Browser E Pema ontrols Properties Filters SY E E ss JES Scripts a Templates z view iy o IDM DAVE Characters Commands Constraints SOT Dakasloave 4 Decks ees General Purp 45 Elements JLC B Materials Producer Perspective Physical Prd ILCooper M B Shaders i Wooo woo B oo AE b Figure 28 Clicking and Dragging the 5DT DataGlove Icon to Create a New Glove 2 In the navigator pane click on the newly created glove The following window will appear x Navigator Dopesheet FLUrves Story Animation Trigger E online Pork COMI F Scene Z Cameras Le Recording ThumbFar T Constraints acer O Devices Model binding Thumblndex Lio RAER Auto Calib IndexNear Soups Save Calib IndexFar 5 Sets 0 0 samplefsis s Lights Load Calib Hales Mel Materials ee MiddleNear Bie Oo Device information MiddleFar r shaders Wide Open eS Takes MiddleRing gt Finger Close Ringhear 7 Thumb Clase Figure 29 The Glove Control Pane lf you know which port the glove is connected to select it from the ports drop down list lf you are unsure as to which port your glove is connected to you may click on the Rescan Ports button The driver will then scan the USB and all COM ports for available g
55. nctions should be called whenever the application starts up or the glove changes users during run time For unmapped sensors the upper and lower calibration values are set to 4095 and 0 respectively which is the inverse of the auto calibration settings If auto calibration was turned off it is turned on again void GetThresholdAll ref float fUpperVals ref float fLowerVals Obtains the current gesture recognition threshold settings of the driver Return value None Parameters fUpperVal and fLowerVal Arrays of floating point numbers that will contain the maximum and minimum threshold values If the size of aUpperVals or aLowerVals is not equal to the value returned by GetNumSensors it will be reinitialized inside the function Remarks None void GetThreshold int nSensor ref float fUpperVal ref float fLowerVal Obtains the current gesture recognition threshold settings of the driver for a specific sensor Return value None Parameters nsensor 76 Index of the sensor that is being queried The value must lie in the range given by the enumerated type EfdSensors or alternatively from zero to the value returned by GetNumSensors minus one fUpperVal and fLowerVal Pointers to floating point numbers that will contain the maximum and minimum threshold values Remarks None void SetThresholdAll float aUpperVals float aLowerVals Sets the current gesture recognition threshold settings of the driver
56. nded e Wireless Interface Cables e SDT Wireless Data Transmitter e Battery Pack e Wireless Belt Plate amp Belt First attach the transmitter 3 and battery pack 5 to the belt plate 7 Next plug in the cable from the Battery Pack to the Data Transmitter You should see a green light on the top face of the transmitter If this light doesn t come on make sure that your battery pack is charged Plug both gloves 1 amp 2 into the transmitter 3 using the two wireless interface cables 9 as in Figure 4 5DT Data Glove 14 Ultra 5DT Data Glove 14 Ultra Left Handed Right Handed Wireless Interface Cables 5DT Wireless Data Transmitter Battery Pack Wireless Belt Plate Figure 4 Connecting the Wireless Kit Glove Side 2 2 5 Connect the Receiver To set up the receiver you ll need the following parts e 5DT Wireless Data Receiver e Wireless Receiver Cable e 5V Power Supply Adapter Connect the receiver 4 to the receiver cable 10 and connect the power supply 8 to the receiver cable as in Figure 5 Plug the female end of the receiver cable into an available COM port on the PC and plug in a standard PC power plug into the power supply 5DT Wireless Data Receiver B m Wireless Receiver Cable 5V Power Supply Adapter Figure 5 Connecting the Wireless Kit Receiver Side 2 2 6 Starting the System Once everything is connected switch the power on by connecting power to the power supply an
57. ned values Return value None Parameters pEG Pointer to a glove device This is the value returned by fdOpen pUpper and pLower Arrays of 16 bit unsigned integers containing the maximum and minimum raw sensor values The size of each array must always match the value returned by fdGetNumSensors Refer to section 6 for details Remarks For unmapped sensors it would be sensible to set the upper and lower calibration settings above and below the raw value forced with fdSetSensorRaw and fdSetSensorRawAll void fdSetCalibration fdGlove pFG int nSensor unsigned short nUpper unsigned short nLower Resets the current auto calibration settings of the driver for a specific sensor to user defined values Return value None Parameters PEG Pointer to a glove device This is the value returned by fdOpen ASensor Index of the sensor that is being set The value must lie in the range given by the enumerated type EfdSensors or alternatively from zero to the value returned by fdGetNumSensors minus one nUpper and nLower 16 bit unsigned integers containing the maximum and minimum raw sensor values Refer to section 6 for details Remarks For unmapped sensors it would be sensible to set the upper and lower calibration settings above and below the raw value forced with fdSetSensorRaw and fdSetSensorRawAll void fdResetCalibration fdGlove pFG Resets the internal auto calibration settings of the driver to a
58. ntacting them 2 Your supplier or SDT will issue you with a Return Material Authorization RMA number Do not return a product to your supplier or to SDT without an RMA number 3 Pack the items to be returned securely using the original packaging material if possible 4 Please enclose the following e Your original sales bill e Name address contact teleohone fax numbers e E mail address e Reason for returning the item 49 e RMA number 5 Mark your shipping container with the RMA number to expedite handling at your supplier or at 5DT 6 Ship prepaid to your supplier or to SDT 7 When completing customs or courier documentation please clearly indicate Unit returned for repairs under warranty SDT is not responsible for any damage that may occur during shipping shipping charges to 5DT are your responsibility COD shipments will not be accepted by 5DT 90 9 About 5DT ODT Fifth Dimension Technologies is a high technology company specializing in Training Solutions for the Mining Industry For more information about our company please visit our web site at www 5DT com 5DT offers Training Simulators TS Computer Based Training CBT Systems e Learning Solutions Visualizers V Educational Games EG Maintenance Simulators MS Virtual Reality and Simulator Hardware e g Data Gloves Head Mounted Displays HMDs Consoles and Motion Bases 5DT has their own Software Development Kits SDKs
59. of the auto calibration settings If auto calibration was turned off it is turned on again void fdGetSensorMaxAll fdGlove pFG float pMax Obtains the maximum scaled value for each sensor Return value None Parameters 64 pFG Pointer to a glove device This is the value returned by fdOpen pMax Array of floating point values that will contain the maximum scaled sensor values The size of the array must always match the value returned by fdGetNumsensors Remarks The glove driver defaults to a maximum scaled value of 1 for each sensor float fdGetSensorMax fdGlove pFG int nSensor Obtains the maximum scaled value for a specific sensor Return value Returns the maximum scaled values of the sensor Parameters PEG Pointer to a glove device This is the value returned by fdOpen Noensor Index of the sensor that is being queried The value must lie in the range given by the enumerated type EfdSensors or alternatively from zero to the value returned by fdGetNumSensors minus one Remarks The glove driver defaults to a maximum scaled value of 1 for each sensor void fdSetSensorMaxAll fdGlove pFG float pMax Sets the maximum scaled value for each sensor Return value None Parameters pEG Pointer to a glove device This is the value returned by fdOpen pMax Array of floating point values that contains the maximum scaled sensor values The size of the array must always match the value r
60. old values Refer to section 6 for details Remarks None void fdGetGloveiInfo fdGlove pFG unsigned char pData Obtains the information data block of the currently connected glove Return value None Parameters pEG Pointer to a glove device This is the value returned by fdOpen pData Array of 32 bytes that will contain the information data Remarks The information data is specified in the glove user s manual The size of the information block is always 32 bytes void fdGetDriverInfo fdGlove pFG unsigned char pData Obtains the information data block of the driver Return value None Parameters PEG Pointer to a glove device This is the value returned by fdOpen pData Array of 32 bytes that will contain the information data Remarks The information data is a zero terminated string that contains driver information The size of the information block is always 32 bytes void fdSetCallback fdGlove pFG void pFunc LPVOID param sets the Callback function and associated parameters Return value None Parameters pEG Pointer to a glove device This is the value returned by fdOpen prFunc Pointer to the callback function This should be cast to void param The parameter to be given to the callback function Remarks This callback function is called every time a new packet is received by the driver Example code snippet to register a callback function fFdSetCallback pGlove void
61. ppropriate default values for all the sensors Return value None Parameters pFG Pointer to a glove device This is the value returned by fdOpen Remarks This function is similar to the fdSetCalibrationAll function with each of the upper and lower calibration array values set to 0 and 4095 respectively This function or any of the other calibration functions should be called whenever the application starts up or the glove changes users during run time For unmapped sensors the upper and lower calibration values are set to 4095 and O respectively which is the inverse of the auto calibration settings If auto calibration was turned off it is turned on again void fdResetCalibration fdGlove pFG int nSensor Resets the internal auto calibration settings of the driver to appropriate default values for a specific sensor Return value None Parameters pEG Pointer to a glove device This is the value returned by fdOpen nsensor Index of the sensor whose calibration values are to be reset Remarks This function is similar to the fdSetCalibrationAll function with each of the upper and lower calibration array values set to 0 and 4095 respectively This function or any of the other calibration functions should be called whenever the application starts up or the glove changes users during run time For unmapped sensors the upper and lower calibration values are set to 4095 and O respectively which is the inverse
62. r If you are not completely satisfied you will be granted a full refund once the product is returned undamaged Unfortunately shipping costs cannot be refunded 8 2 6 Months Product Warranty 5DT warrants to the original purchaser of the 5DT Data Glove 5 14 Ultra that it will be free of defects in materials and workmanship for a period of six months from the original date of purchase During the warranty period 5DT will repair or replace with a reconditioned unit components that are defective Warranty extension options are available when purchasing your glove Please note that the warranty is a carry in warranty i e you would be responsible for the costs of the getting the glove to us but 5DT will cover the costs of returning the glove to you 8 3 Exclusions The above warranty is provided for private use only and shall not apply to any commercial use of the product including but not limited to e Location based entertainment LBE applications e Trade show demonstrations This warranty shall not apply to defects resulting from the following e Misuse e Improper or inadequate maintenance e Unauthorized modification 8 4 Warranty Claim Instructions Please use the following procedure if you require warranty service 1 Contact your supplier to determine if you need to return the product If your supplier is unable to determine this contact 5DT directly Do not return a product to your supplier or to 5DT without first co
63. r values If the size of aSensorScaledVals is not the equal to the value returned by GetNumSensors aSensorScaledVals will be reinitialized inside the function Remarks The glove driver defaults to a range of 0 1 The enumerated type EfdSensors defines the finger mapping for each sensor float GetSensorScaled int nSensor Obtains the most recent scaled auto calibrated value for a specific sensor from the currently connected glove Return value Returns a floating point sensor value Parameters nsensor Index of the sensor that is being queried The value must lie in the range given by the enumerated type EfdSensors or alternatively from zero to the value returned by GetNumSensors minus one Remarks The glove driver defaults to a range of 0 1 The enumerated type EfdSensors defines the finger mapping for each sensor int GetNumGestures Obtains the number of available gestures that can be recognized by the glove driver Return value Returns the number of available gestures Currently 16 different gestures are supported Parameters None Remarks None int GetGesture Obtains the current gesture being performed Return value Returns the current gesture being performed Parameters None Remarks None void GetCalibrationAll ref ushort aUpperVals ref ushort aLowerVals Obtains the current auto calibration settings of the driver Return value None Parameters aUpperVals an
64. s 3 2 then 2 is returned bool GetAutoCalibrate Indicates if the driver is currently auto calibrating Return value Returns true if the driver is currently auto calibrating Parameters None Remarks None bool SetAutoCalibrate bool bAutoCalibrate Turns auto calibration on or off Return value 79 Returns true if the driver is currently auto calibrating Parameters bAutoCalibrate Boolean value indicating if auto calibration should be turned on true or off false Remarks Turn auto calibration off after calibrating to prevent the calibration values from being too extreme thus causing scaled values of poor quality bool SaveCalibration string sFileName Saves the current calibration values to file Return value Returns true if the save operation completed successfully Parameters sFileName A string containing the path and filename Remarks Save your calibration values to file to prevent you from having to calibrate the glove every time you start your application bool LoadCalibration string sFileName Loads calibration values from file Current calibration values are discarded Return value Returns true if the load operation completed successfully Parameters sFileName A string containing the path and filename Remarks None
65. sed to the callback function when it is called by the driver In this case it is a pointer to the glove driver 6 2 4 Mac OS X C C The following guidelines help to setup the 5DT glove driver for use in Xcode running on Mac OS X 1 Startup Xcode and create a new Xcode Project Select Application and then Command Line Tool and click on Choose 38 ANOO New Project Choose a template for your new project i Mac OS X Framework amp Library X Application Plug in Cocoa Application Cocoa AppleScript Quartz Composer Command Line System Plug in Application Application Tool Other Type C stdc B we Command Line Tool This project builds a command line tool that links against the stdc library O O Sanepa Figure 41 Create new command line project 2 Paste fglove dylib into your build Debug and build Release directory of your project If no such directory exists you have to build the 3 4 application first In the menu click on Build Build or press CMD B Paste fglove h into the directory of your project Add the fglove dylib file to your project by right clicking on your project name in the Groups amp Files tab and selecting Add Existing 3 Frameworks a00 le main cpp quicktest DU eer Overview Action Breakpoints Build and Run Tasks Info Search Groups amp Files II V amp quicktest gt 5
66. set o Hanual ada Close Gi hed Raw Scaled Cal Cal Cal Cal Cal Glove Setup i Glove 343 Thumb Hear Rawl 347 Range 405 Scaled 3 343 iT 193 IT humb Far Raw 1056 Range 2154 Scaled 1 1153 852 IT humbe l rides Rawls 590 Range daa Scaled 2 a 1181 Index Near YAR AR PARRA as El Range 998 Scaled 1181 OP Lf EN ef SET Rangel1757 Scaled 2111 VOIDS LN Pare ee WAAL Al gad Index Middle Raw 1281 Range ards Scaled 1 1834 Ae InN ANA NANA Middle Mear 238 paT Far LMU ON PERM Raw 367 Range1342 Scaled 238 11097 Middle Ring ARAL ALAA Rawle44 Range 1090 Scaled 1097 362 R ing Hear IA PES caf Range 2002 Scaled 2462 363 R ing Little ee Rawls Range 642 Scaled 363 _ APRA A Rn eae IL ittle Hear raf 1818 Range 1137 Scaled 2 2242 Raw 1970 fis70 Range 1712 Scaled 2468 Click on graph to zoom unzoom 78 Packets Second Autocal Data Glove 14 Ultra Right Wireless v3 0 Figure 12 GloveManager after the First Glove is Successfully Opened Clicking on the a Setup tab will cause GloveManager to display the setup tab window again To open the second wireless glove select it from the COM port tree COM Forts Figure 13 Selecting the Second Glove to be Opened Click on the button again to open the second glove If GloveManager was successful in opening the second glove a new glove tab window will appear Setup 4 Glove wie Glove Figure 14 The Tab Bar with Two Glo
67. t 16 7 o o Little finger point 16 8 0 BE a 1 Not ring finger point 1611 0 EE it a aT a o Littering point 1612 1 Not middle finger point 16 13 o Notindex finger point 16 14 a Fiata 16 15 Table 5 Gesture Definition Scheme as Implemented for the 5DT Data Glove SDK oa a ca om pe oe 0 0 0 When the 5DT Data Glove 5 is used both these driver sensor indices will return the same value 43 0 Fist 1 Index finger point 2 Middle finger point 3 Two finger point 4 Ring finger point 5 Ring index finger point 6 Ring middle finger 7 Three finger point or point not little finger point 8 Little finger point 9 Index and little finger 10 Little middle finger 11 Not ring finger point point point 12 Little ring finger point 13 Not middle finger 14 Not index finger point 15 Flat hand point Figure 45 Gesture Illustrations When the 5DT Data Glove 16 or 5DT Data Glove 14 Ultra is used the driver sensor indices will return different values The maximum of the two values will be used to test for a flexed closed gesture and the minimum value of the two will be used to test for an unflexed open gesture 44 6 8 Auto Calibration The driver can provide sensor outputs in an automatic linearly calibrated fashion During every update the raw value read from the sensor is compared to the current minimum and maximum raw values raWmin and raWmax as
68. ta Glove Ultra Please check our website regularly for driver updates Q Can use four or more USB gloves on one machine at the same time 47 ODT just loves people like you The number of gloves is limited by the number of USB ports on your computer USB hubs and PCI cards are available that increase the number of USB ports on a computer Q When flex a finger the output does not change but stays at the maximum value What is the problem A In this case it is possible that one of the fibers has failed The glove will then have to be returned to the supplier or 5DT for repairs 7 3 Support lf you experience problems or have complaints suggestions or other comments please feel free to contact your supplier preferably via e mail Please have the following information available or include it in your written correspondence 1 2 3 4 3 Computer processor make and model e g Pentium IV 3 2GHz Operating system and version The symptoms of the problem and what was happening when the problem occurred Can you reproduce the problem easily Describe how Actions taken by yourself to solve the problem Please feel free to contact 5DT directly Our contact details are available in Section 9 48 Your feedback helps make this a truly great product 8 Warranty Information 8 1 Thirty 30 Day Customer Satisfaction Guarantee If for any reason you are disappointed with this product please contact your supplie
69. the raw value for a specific sensor Return value None Parameters PEG Pointer to a glove device This is the value returned by fdOpen NSENSOr Index of the sensor that is being set The value must lie in the range given by the enumerated type EfdSensors or alternatively from zero to the value returned by fdGetNumSensors minus one nRaw 16 bit raw value of the sensor If the sensor is unmapped the scaling calculations will proceed as normal Remarks The enumerated type EfdSensors defines the finger mapping for each sensor This function is only useful for sensors that cannot be mapped by a specific hardware device Forcing a sensor value will result in a raw and scaled 60 output other than the default zero Values that can be mapped will be overwritten rendering the forced value void void fdGetSensorScaledAll fdGlove pFG float pData Obtains the most recent scaled auto calibrated sensor values from the currently connected glove Return value None Parameters BFG Pointer to a glove device This is the value returned by fdOpen pData Pointer to an array of floating point numbers that will contain the scaled sensor values The size of the array must always match the value returned by fdGetNumsSensors Remarks The sensor range is a value from zero to the value defined by the fdSetSensorMax and fdSetSensorMaxAll1 functions The glove driver defaults to a range of 0 1 The automatic ca
70. tions FAQ ccccccsssececceseceseenecetseeeeeeseneeees 47 Tae SUDDOM E EERE PEE AEE AES EEE E stab agate wii E T 48 Ox Waranty Monna eee E e E E E a E a 49 8 1 Thirty 30 Day Customer Satisfaction Guarantee ccccceeeeeeeees 49 8 2 6 Months Product Waranty arroa a 49 Os JTEXCIUSIONG erases gases R E E a 49 8 4 Warranty Claim Instructions ccccceececeeeeceeeeceeeeceeeeseeeeseeeesaueesaeees 49 2 AY 21 0 6 8 ato T ee a a E a E ee 51 Appendix A Hardware Specifications ccccccssecccsseeecseeeeeseseesseeeesaeeeesaaeees 53 Appendix B Seral Protocol 4 ccecteseacectetecnactetenagesescaseseeeneeencecsesesenesese anata te 55 Appendix C SDK Function Descriptions cccccseeeeeseeeeeseeeesaeeeesaeeesaaees 57 Appendix D C SDK Function De SCTIIDtions cccccseeceeeeeeeseseeeeeeeeeeaneees 71 1 Introduction The 5DI Data Glove Ultra is a hand data motion capturing solution for animation and virtual reality The 5DT Data Glove Ultra is the second generation of 5DT s high end data glove and has been completely redesigned and optimized for the best performance and ease of use The 5DT Data Glove Ultra 14 measures finger flexure as well as the abduction between the fingers Finger flexure is measured at two places 1 joint knuckle 2 joint on each finger The 5DT Data Glove Ultra 5 measures average finger flexure for each of the 5 fingers Among the
71. up the 5DT glove driver for use in a C application 1 Right Click on the References and Click on Add Reference 2 invoke x i Fo st Blo giMice 2 GF i s Ba Solution Explorer Solution WindowsF 4 X v xX lod Solution WindowsForms4pplication3 1 proje E ia WindowsF ormsApplication3 a Properties E References z Add Reference Add Service Reference 43 System Data DataS etE xtensions 423 System Deployment H D System Drawing H D System windows Forms H A System ml D System ml Ling E5 Form1 cs wo GE Program cs Figure 38 Adding a Reference 2 Browse to the directory which contains 5DTGloveDriverCLl dll Select 5DTGloveDriverCLlI dll and click on OK weeny eu aed wey reje A gt Debug gt Any CPU gt invoke rey A a 3h B Oo fit ove 30s me kt ot ot Fl he SOS eS Oe mE x Bee era ae es A S CLEE A od Solution WindowsForms4pplication3 E ec WindowsF ormsApplication3 Sa Properties gt References GD System wo 9 System Core D System Data 9 System Data DataSetE xte lt 2 System Deployment lt 2 System Drawing 43 System Windows Forms 43 System ml 43 System gt lt ml Ling EE Form1 cs Program cs N NET COM Projects Browse Recent Look in E temp O P gt SDT GloveDriverCLI dll BIE File name S5DTGloveDriverCLI dll hd i a Solution Explorer e VA View
72. urrent raw value when raw graphs are visible ant Index Far Raw 718 Range 2112 Scaled 401 Figure 21 The Second Level of Detail of the Sensor Info Box lf the pixel resolution is decreased more only the sensor name and current graph value are shown a7 index Far Figure 22 The Lowest Level of Detail of the Sensor Info Box 21 4 4 6 The Status Bar The status bar displays various program and glove related information including e Program status and information messages e The packet rate e An indication if recording is currently on e An indication if auto calibration is currently on e The model of the current glove e The handedness of the current glove e An indication if the current glove is wired or wireless e The firmware version of the current glove Recording Glove Glove Glove firmware indicator name handedness version eady 63 Packets Second REC 4utoCal Data Glove Ultra Left Wired we Program status Current packet rate Auto calibration indicator Glove Wired Information messages Wireless indicator Figure 23 The Status Bar 4 5 The Sensor Selection View A Aada ary The sensor selection view may be obtained by clicking the button on the toolbar by selecting the View Show View Setup option from the menu or by pressing the V shortcut key The view is shown in Figure 24 The hand and sensor image on the left allows you to select sensors to be used during recording Selecting none me
73. using fdOpen the driver connects to the first glove it finds If you want to connect to a specific glove you should supply the name to fdOpen For example fdOpen DG5U L will connect to Glove 5 Ultra left hand Other valid name inputs to fdOpen are DG5U_R DG14U_L and DG14U_R 6 3 Connecting to the second glove when using a wireless kit In the situation where the wireless kit is used and there are 2 gloves connected simply call dOpen twice with the same port name as parameter to get hold of the second glove Remember to store the returned glove pointer of the second call in a different pointer variable so that you can access both gloves individually You may now use the second glove pointer in any way you would use any other glove pointer 6 4 Supported Gloves The glove SDK supports all 5DT Data Gloves The current version implements 18 possible sensors and includes the roll and pitch sensors of the 5DT Data Glove 5 The driver attempts to map values to all sensor outputs If it is unable to do so the sensor value defaults to a sensible value This value can be adjusted by forcing a specific value To the application programmer the driver therefore appears the same regardless of the type of glove that is connected 40 6 5 Sensor Mappings for the 5DT Data Glove 5 and 5 Ultra The sensors on the 5DT Data Glove 5 are positioned as in Figure 43 M E Top of hand Right handed glove T
74. ves Open 15 You may switch between open gloves by clicking on either of the Glove Tabs 4 4 The Graph View The following information fields are available in Graph View 16 Menu bar Toolbar Tab bar Allows you to tab between gloves sensor graph A real time graph of the glove sensor sensor name and values Displays the sensor name and the following real time values the amount of information displayed is dependent on the resolution available O O O O O Raw sensor value Value between 0 and 4095 sensor dynamic range Value between 0 and 4095 scaled sensor value Scaled value from 0 to 4095 Lower calibrated value Value between 0 and 4095 Upper calibrated value Value between 0 and 4095 Graph top value Value between 0 and 4095 Current graph value Value between 0 and 4095 Graph bottom value Value between 0 and 4095 Status bar Displays status information such as O O O Program status and information messages The packet rate An indication if recording is currently on An indication if auto calibration is currently on The model of the current glove The handedness of the current glove An indication if the current glove is wired or wireless The firmware version of the current glove R GloveManager Seles font JindFer o O Raw 367 Range 1342 Scaled 238 2232 Little Near 852 Sensor name and values Record Show Show Load Save Reset Se ia
Download Pdf Manuals
Related Search
Related Contents
SOL-144S-244S Acer 1300 series Laptop User Manual Manual - Globaltronic 11 2084 8910. コンテナ収納型 飲料水製造工場 PWP-1型 コンテナ収納型 飲料水製造 Méthodologie et techniques de la médiation orale des fosB 欠損マウスは成体海馬の神経新生の異常とてんかんの Media-Tech MT3528 mobile headset MKP-J-60052-3 APONⅢ(-e) Fagor MG-300 barbecue Copyright © All rights reserved.
Failed to retrieve file