PDA

View Full Version : How to set offset for ART SmartTrack


JB_HP_Viz
06-02-2016, 07:25 AM
I have the ART SmartTrack working in the Christie HoloStation CAVE (https://www.christiedigital.com/en-us/3d/virtual-simulation/virtual-reality-simulator/holostation) but when you put the tracked 3D glasses on it doesn't look like the correct view point for the user. It looks like the users eye point should be set to be higher. So I thought maybe the offset needs to be changed.

Since I was not able to use Vizconnect to setup the tracker is there a way to change the offset like you can in Vizconnect for the tracker (I attached the image that shows how you change settings in Vizconnect, but I didn't see information on how to do if not using Vizconnect to setup Tracker)?

Below I included the CAVE dimensions information. With the Holostation CAVE the floor sits 32 inches off the ground


# Declare constants defining the CAVE dimensions
#height from floor to display 32 inches
#height of display 42.875 inches
W = 1.724 # 67.875 inches wide
H = 1.902 # 74.875 inches tall
#DF = 1.08 # 42.5 inches deep for floor
D = 1.438 # 56.625 inches deep

W2 = W/2.0
C0 = -W2,H,0 # Front Wall: C1,C2,C5,C6
C1 = -W2,H,D # Left Wall: C0,C1,C4,C5
C2 = W2,H,D # Right Wall: C2,C3,C6,C7
C3 = W2,H,0 # Bottom Wall: C5,C6,C4,C7
C4 = -W2,0,0
C5 = -W2,0,D
C6 = W2,0,D
C7 = W2,0,0

#Create front wall
FrontWall = vizcave.Wall( upperLeft=C1,
upperRight=C2,
lowerLeft=C5,
lowerRight=C6,
name='Front Wall' )

#Create left wall
LeftWall = vizcave.Wall( upperLeft=C0,
upperRight=C1,
lowerLeft=C4,
lowerRight=C5,
name='Left Wall' )

#Create right wall
RightWall = vizcave.Wall( upperLeft=C2,
upperRight=C3,
lowerLeft=C6,
lowerRight=C7,
name='Right Wall' )

#Create bottom wall
BottomWall = vizcave.Wall( upperLeft=C5,
upperRight=C6,
lowerLeft=C4,
lowerRight=C7,
name='Bottom Wall' )

Jeff
06-05-2016, 10:02 PM
All the wall corners need to be specified in the tracking system's coordinates. In this case you need to account for the image rise off of the floor:

# Declare constants defining the CAVE dimensions
#height from floor to display 32 inches
#height of display 42.875 inches
W = 1.724 # 67.875 inches wide
H = 1.902 # 74.875 inches tall
R = 0.81 # 32 inches rise off floor
D = 1.438 # 56.625 inches deep

W2 = W/2.0
C0 = -W2,H,0 # Front Wall: C1,C2,C5,C6
C1 = -W2,H,D # Left Wall: C0,C1,C4,C5
C2 = W2,H,D # Right Wall: C2,C3,C6,C7
C3 = W2,H,0 # Bottom Wall: C5,C6,C4,C7
C4 = -W2,R,0
C5 = -W2,R,D
C6 = W2,R,D
C7 = W2,R,0

Unless the ART origin is offset from the ground then it should not be necessary to apply a height offset to the tracker. You can add position offsets by creating a tracker link and applying the offset to the link. For example:

import viz

# VRPN Tracker connection (to ART Dtrack)
vrpn = viz.add('vrpn7.dle')
headtracker = vrpn.addTracker('DTrack@localhost') #Default sensor is 0. Head tracker is on DTrack sensor 0
headtracker.swapPos([1,2,-3])
headtracker.swapQuat([-1,-2,3,4])

headTrackerLink = viz.link(headtracker,viz.NullLinkable)
# Adjust for origin offset from ground
headTrackerLink.postTrans([0,1,0])