View this PageEdit this PageUploads to this PageHistory of this PageHomeRecent ChangesSearchHelp Guide

Useful hacks

Configuring your system

  • Create the Environment Variable AELBASE with the path to where the files will be installed.
    (On Win2000, right click on My Computer –> Properties –> Advanced )
  • On Visual Studio .NET, add the following directories:
    • Executable files
      • $(AELBASE)\toolkits\bin
    • Include files
      • $(AELBASE)\toolkits\include
      • $(AELBASE)\Producer\include
      • $(AELBASE)\OpenThreads\include
    • Library files
      • $(AELBASE)\toolkits\lib
      • $(AELBASE)\Producer\lib
      • $(AELBASE)\OpenThreads\lib\win32
(to open the dialog box, click Tools –> Options, then choose Projects -> VC++ Directories)

Installing toolkits

  • Download and install DirectX9b

Installing osgAR

  • After you get osgAR from the CVS repository
  • download OSG ( (get OSG_OP_OT-0.9.6-2 )
  • Unzip OSG to a directory at the same level as osgAR
  • Rename the OSG folder 'osg' and remove all version references from OpenThreads and Producer.
  • Go to osg\VisualStudio and open VisualStudio.dsw. Allow .NET to convert all files. Close the solution.
  • Go to osgAR\VisualStudio and open VisualStudio.sln (this will open all osg projects as well)
  • There are 4 ael demos:
    • shapes loads the camera in the background and shows same shapes
    • xformART enables ARToolkit detection for panels 1-6
    • xformVRPN instantiates a VRPN client with 3 devices
    • vrpnHeadTracker uses VRPN for head tracking
    • error will be a sample for the registration error algorithm.

Camera calibration (Intrinsic)

  • Use StillCap (DirectX 9.0 directory: samples/directShow/bin) to capture 20 images covering a big range of poses and save them in a know directory.
  • Open MatLab and run calib_gui and follow the instructions on Once you have calibrated, and then "re-compute the grid corners (automatically) and then calibrated again, you should have sub pixel accuracy, and then you're done.
  • use the values to make a .calib file for use in our software.
  • Before you run calibrate set center_optim = 0
  • Make .cam file by copying fc, cc, and the first 4 values of kc.
  • Save the calibration results in the directory with the images.

HMD calibration (using Extrinsic)

  • Take a snapshot with tracker reading.
  • Reload the camera parameters if necessary.
  • Use the 'compute extrinsic' button (see same example as above section "Computation of extrinsic parameters")
  • Create the 4x4 matrix using the Translation vector and the Rotation matrix. (translation is the right hand column).
  • Solve the system HeadToCamera = inverse(TrackerToHat) x TrackerToMarker x inverse(CameraToMarker).
    • TrackerToHat is the IS-600 reading.
    • TrackerToMarker is the marker in the tracker corordinate system (either measure or use bracket with offset).
    • CameraToMarker is the extrinsic obtained from ARToolkit or compute_extrinsic from MatLab.

Setting up WinCVS

  • Under WinCvs Preference
    • General
      • Authentication: pserver
      • Path: \net\cvs\ael
      • Host address:
Click "Ok"
Then go to Admin ->Login and click "Ok"

This will catch when the VM is about to die:

// Make sure the tracker is closed. This is a JDK 1.3 feature
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
// Your code goes here.

useful hack scrach page

Link to this Page

  • Old Misc Pages last edited on 15 May 2008 at 2:02 pm by