Skip to main content
Up and Coming
April 30, 2013

Will positional head tracking be activated in the dev kit?

Hi everyone. If anyone can answer this question it would be greatly appreciated. I know that prior to release I watched an interview with Nate where he stated that positional head tracking would not be ready for when the dev kits started shipping. I did however notice that with the latest release of the 0.2.1 SDK that there seems to have been some progress with correcting some of the issues (yaw drift) that was preventing them from completing development with positional head tracking. My quedtion is will positional head tracking ever be to a point where it is functional in the current dev kits? Anyone with insight into this please feel free to give your two cents. And if someone from Oculus wants to chime in that would be great!

    74 replies

    Participant
    June 1, 2013
    https://www.youtube.com/watch?v=6ijArKE8vKU

    No magnetometer. No overshaking. Just algorithm and 6dof.
    I don't really know why he won't give away the code, maybe it's a lie...

    Edit:
    Is 6dof affordable module?

    http://www.ebay.com/itm/1pc-High-Quality-6DOF-MPU-6050-3-Axis-Gyroscope-and-Accelerometer-Sensor-Module-/121090012580?pt=LH_DefaultDomain_0&hash=item1c3186f5a4

    Case closed.
    Up and Coming
    June 1, 2013
    geekmaster has a long series of posts about this in another thread, but in short, that guy is using the fact that the foot is not moving at certain times to keep the tracker from drifting. Your head, on the other hand, is less predictable, so it would take more work / have worse results when applied to the Rift as positional tracking.

    edit:

    viewtopic.php?f=25&t=1091

    this is the thread where it is discussed in detail
    Up and Coming
    June 1, 2013
    "Pokey" wrote:
    geekmaster has a long series of posts about this in another thread, but in short, that guy is using the fact that the foot is not moving at certain times to keep the tracker from drifting. Your head, on the other hand, is less predictable, so it would take more work / have worse results when applied to the Rift as positional tracking.

    edit:

    viewtopic.php?f=25&t=1091

    this is the thread where it is discussed in detail

    I have actually made some good progress on that recently. Cancelling the effects of gravity is working pretty good except when looking up at the sky or down at the ground. Perhaps I need to switch from Euler angles to quaternions.

    Anyway, I want to reproduce Johnny Lee's infamous wiimote floating target demo, using only my Rift. The key here is to accept imperfection and accept a "sufficient" solution that adds new things you were unable to do before. Progress in the right direction is always a good thing, even if you do not reach your ultimate goal.

    I have a bunch of different pieces of code to pull together now, each of which convinced me on its own that this can be done to MY satisfaction, and others will want to use it too. A software-only positional head tracking solution, that is usable for FUN (within limits). Obviously not for scientific or commercial measurement purposes, but gaming peripherals do not need industrial precision to be fun.

    Yeah, not as accurate as a foot-mounted accelerometer or GPS, but just how far from your chair can you stray anyway, when you KNOW that your posterior is anchored to your seat, in a known position in VR. The software knows this too, and will not allow unreasonable drift out of your chair.

    I cannot make it more plain than that. It works, believe it or not, for my intended purposes. We *CAN* repeat Johnny Lee's results good enough in the Rift to be a satisfying experience. Plain and simple as that.

    Oh, and regarding drift? That is what CLAMPING is all about. I am clamping my jerk vector, while quadcopter swarms tend to go beyond that and use snap vectors. It appears that jerk vectors are good enough for this application. You just gotta clamp your jerk. IMHO.
    :ugeek:
    This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
    Participant
    June 2, 2013
    "geekmaster" wrote:
    Perhaps I need to switch from Euler angles to quaternions.


    Lol!

    Good to see that you understand deep math. I don't.
    Why you didn't made quaternions from begining?
    You can also use matrix as alternative, although is processor intensive and ram consuming.

    http://www.euclideanspace.com/index.html

    QUATERNIONS HERE:
    https://www.youtube.com/watch?v=p8H2-vkUM0I
    Up and Coming
    June 2, 2013
    "tbraga14" wrote:
    "geekmaster" wrote:
    Perhaps I need to switch from Euler angles to quaternions.

    Lol!

    Good to see that you understand deep math. I don't.
    Why you didn't made quaternions from begining?
    You can also use matrix as alternative, although is processor intensive and ram consuming.

    http://www.euclideanspace.com/index.html

    QUATERNIONS HERE:
    https://www.youtube.com/watch?v=p8H2-vkUM0I

    I am just using the values available where I inserted my code into the OculusWorldDemo app. At the point that the status window gets displayed showing Eye Roll/Pitch/Yaw values, I am just using those values and adding the accelerometer values that are returned as X/Y/Z values. But for my "Johnny Lee" demo, what I have now should suffice to show the viability of this method.

    I still have trouble effectively picturing quaternions in my "minds eye", except for the special "unit vector" case (which can be thought of as a vector and a rotation about that vector). Thanks for the links.
    This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
    June 4, 2013
    "liuyelian" wrote:
    Perhapse some additional orientation hardware outside of the Rift to work in conjuntion would allow this to be possible?


    defenitly possible. Tho i dont prefere it this way, it would be a lot better if the device itself could do positional tracking but at the end a helping device standing on the table would be defenitly better then nothing and i think positional tracking is an absolute must have on the Rift.
    New Participant
    March 11, 2014
    Guys i am sorry

    But i was wondering if it is possible to use an IMU and an Arduino Uno to track the non rotational motion of a head ???

    I know there is a lot of discussion but could some one tell me if its possible or not ??

    Thanks
    Inspiring
    March 11, 2014
    The Rift already has a pretty high quality IMU. You could connect the control box to an Arduino over USB and read the information from it. The problems with taking an IMU's acceleration and rotation data and turning it into translation information are described here about 23 minutes in:


    Brad Davis - Developer for High Fidelity Co-author of Oculus Rift in Action
    New Participant
    March 12, 2014
    @jherico is this reply to me ? or is it to the forum in general.


    In case it is to me, i am aware of the math required to get the position from acceleration.

    Anyways, i have been reading the accelerometer and i am intergrating the data twice but the distance i get it quite small compared to what i have moved.

    For example i place the IMU on a chair and pushed it around for 2.5 meters but all i got is 20cm.
    Inspiring
    March 12, 2014
    "Bakkar90" wrote:
    For example i place the IMU on a chair and pushed it around for 2.5 meters but all i got is 20cm.


    How are you gathering the acceleration data? Since your data is off by a factor of ~12 it almost sounds like you're fetching the acceleration on a per-frame basis rather than capturing the raw accelerations data.
    Brad Davis - Developer for High Fidelity Co-author of Oculus Rift in Action