![]() |
|
#1
|
|||
|
|||
Hi Jeff,
It appears that there indeed is an easy stopgap solution. when i do headLink.postEuler([180,0,0],target=viz.LINK_ORI_OP) does the trick. headLink = vizconnect.getTracker('head_tracker').getLink() where 'head_tracker' is the OpticalHeading module. A possibly relevant thought. I also have the following operator on the headLink: mirrorRotationOperator = headLink.postEuler([0,0,0], target=viz.LINK_FULL_OP) In my setup, participants walk from one side of the room to the other. I then call mirrorRotationOperator.setEuler([180,0,0]) to rotate the room so that they don't have to walk back to the starting position. This flipping of orientation by mirrorRotationOperator happens much more often than the sudden reversals of head orientation. Also, the head orientation reversal can happen at any time. Thought I'd mention it anyway in case its relevant. Thanks! Dee |
#2
|
|||
|
|||
hi Jeff,
I have now confirmed that the markers do not seem to swap IDs (at least, if the 'ppt_left' and 'ppt_right' always refer to the same physical marker). I had the following code run during a run of my experiment: Code:
def debugVizConnectOpticalHeading(): import vizconnect, viztask # collect raw position and orientation info, as well as merged result d=viz.Data(time=viz.tick()) while True: samp = [d.time] + vizconnect.getRawTracker('ppt_left').getPosition() + vizconnect.getRawTracker('ppt_right').getPosition() + vizconnect.getRawTracker('dk2').getEuler() + vizconnect.getRawTracker('head_tracker').getPosition() + vizconnect.getRawTracker('head_tracker').getEuler() # print samp to cmd d = yield viztask.waitDraw() viztask.schedule(debugVizConnectOpticalHeading()) All the best, Dee |
![]() |
Thread Tools | |
Display Modes | Rate This Thread |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Intersense InertiaCube | Vic | Precision Position Tracker (PPT) | 2 | 06-15-2009 09:36 AM |