Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • In case you have LPVR installed on your system already temporarily disable it:

    • If you have a SteamVR headset (Vive Pro, Valve Index):

      • First go to the SteamVR Settings menu.

        Image Modified
      • Then go to Startup / Shutdown, and to Manage Add-ons.

        Image Modified
      • Here change lpvr_cad to Off. A Restart SteamVR button should appear. Use it to restart SteamVR with the LPVR-CAD driver disabled.

...

      • Image Added

    • If your headset is a Varjo Headset: go to the System tab in Varjo base, select SteamVR tracking from the dropdown menu near the top

      Image Added
  • Verify that SteamVR tracking is smooth. Otherwise reduce the camera flash intensity and reduce the frequency of DTrack, also try positioning the Lighthouse base stations at the right angles to the ART cameras to minimize interference from the camera flashes.

  • Run the calibration tool from the command line as below:

    Code Block
    $ ./lh_art_calib.exe --port 5000 --trackedDevice 1 --bodyId 

...

  • 1 --bodyFile "standard b15.txt"

The flags are as following:

--port

The Port where ART data is available (5000 if omitted)

--trackedDevice

The SteamVR device number. You can find it in the SteamVR system report (see screenshot), the headset will always be number one which is also the default if you omit this flag.

--bodyID

The bodyId as in the DTrack GUI (defaults to one)

--bodyFile

The input ART body file. For each of the different calibration algorithms an output is generated. E.g. for the input file ‘standard b15.txt’ in the example, the following outputs are generated:

  • 'standard b15.txt_ANDREFF.txt'

  • 'standard b15.txt_DANIILIDIS.txt'

  • 'standard b15.txt_HORAUD.txt'

  • 'standard b15.txt_PARK.txt'

  • 'standard b15.txt_TSAI.txt'

Please use the HOURAD output file as your reference in DTrack.

Once you have started the calibration tool, slowly turn the HMD into different orientations. Stop briefly at various angles to allow the application some time to calculate. The output of the program should look similar to this:

Code Block
Entering SteamVR thread
SteamVR started
Seen first Lighthouse
Seen first DTrack

Added new pose for a total of 1
Added new pose for a total of 2
Added new pose for a total of 3
Added new pose for a total of 4
Added new pose for a total of 5
Added new pose for a total of 6
Added new pose for a total of 7
Added new pose for a total of 8
Added new pose for a total of 9
Added new pose for a total of 10

Trafo ANDREFF (2.725 ms):
q: { "w": 0.49103332221891893, "x": 0.7380062844026215, "y": 0.44517646778122855, "z": 0.1266921986024284 }
t: { "x": 0.12520467297698248, "y": -0.09627498600148687, "z": -0.17244104033968682 }

Trafo DANIILIDIS (1.394 ms):
q: { "w": 0.21417663057806421, "x": 0.3764478195323916, "y": 0.6434715255267607, "z": 0.6311575127650773 }
t: { "x": 1.3247440707639884, "y": -0.8383919119259011, "z": 0.4059862309437135 }

Trafo HORAUD (1.396 ms):
q: { "w": 0.4803956695611906, "x": 0.7425409895273323, "y": 0.45038504638513427, "z": 0.12249975318867472 }
t: { "x": 0.12565131465807822, "y": -0.09203906087189956, "z": -0.1784956029328849 }

Trafo PARK (1.694 ms):
q: { "w": 0.4916130479133607, "x": 0.7377514760583256, "y": 0.4448744186543404, "z": 0.1269886700538725 }
t: { "x": 0.12674354907942934, "y": -0.09184751263383542, "z": -0.1773999147224412 }

Trafo TSAI (1.072 ms):
q: { "w": 0.938447539615928, "x": 0.3445367188341199, "y": 0.019253565485262854, "z": 0.01549080307584292 }
t: { "x": 0.15955689770021605, "y": -0.1220802287962029, "z": -0.10712930967985748 }

The application will acquire 10 poses until a result is calculated. In this example the algorithms aside

...

from DANIILIDIS and TSAI agree to several digits, so we can be fairly confident in the result. DANIILIDIS and TSAI usually disagree with the others and can be disregarded.

  • Import the calibration output file xxx_HOURAD.txt into the body administration of DTrack. A correctly aligned rigid body will be the result. Please verify it in DTrack’s body administration window.

  • Don’t forget to reenable the LPVR driver

Hand Controller

The procedure described above also works for the hand controllers. Below screenshots show a marker arrangement on a hand controller together with the calibrated ART body from roughly the same perspective.

Image RemovedImage Added