We have an oculus set up to define head direction and an inertia cube that defines the body orientation. The inertia cube is set up such that the program ignores the roll and pitch information. The problem is that when you run the program and turn around in the environment the systems (oculus and inertia cube) are additive. That is, when you turn 90 degrees in the real world, you've turned 180 in the virtual environment. We think it has something to do with relative vs. absolute designations of the two systems.
This is what we have with the inertia cube. We are trying to define a similar function for the oculus so that we can control whether it's relative or absolute etc.
Code:
def updateOriBody():
ori = tracker.getEuler()
pitch = 0
roll = 0
viz.MainView.setEuler([ori[0],0,0],viz.BODY_ORI,viz.ABS_GLOBAL)
Thanks for you help!