This guest article is written by Jordi Batallé, who has been hard at work over the last few months developing a DIY positional tracking solution for head mounted displays (HMDs / VR headsets). Batallé is a virtual reality enthusiast who holds a master’s degree in computer science. In his last article he introduced readers to the concepts of positional tracking and degrees of freedom (which you’ll need to know about to understand the following text).
Batallé has devised a clever and inexpensive DIY positional tracking system for virtual reality; he calls it PosiTTron. You can see a prototype in action here:
In this article he talks about the decisions that went into the design of PosiTTron and shows mockups of how it could be built directly into a head mounted display or adapted to the Oculus Rift.
Introduction
First of all I wanted to mention that I designed this solution mainly with the Oculus Rift in mind, but this concept could be applied to most types of head mounted displays (HMD / VR headset).
The thing with positional tracking is that there are not only many different approaches to tackle this problem but also many different factors that determine which approach is best fitted in each scenario (seated vs. standing play, short vs. long distance, occlusion, magnetic interference, complexity of setup/calibration process, usability with backtops, 360 degree freedom of movement, etc). There’s already some really good progress by members of the MTBS3D forum on systems designed for specific use cases, like Chriky’s fiduciary markers for 1:1 real world location mapping or Brantlew’s Red Rovr Motion for redirected movement in open spaces to name a few.
I however wanted to focus on a completely different use-case, a consumer-friendly approach to solve positional tracking for the average gamer playing at home. Here I believe the main priorities should be easy setup, robust seated play without angle restrictions and ideally 360 degree freedom of movement inside a small play area. For me easy setup implies having a maximum of one external tracking device which is easy to position (i.e you don’t have to mount on the ceiling); something like the Wii or Kinect for instance. I also believe the overall appearance of the system is really important if you want a successful commercial device.
Future and Available Solutions:
Focusing on a consumer-friendly scenario, I believe some of the most promising solutions on the long-term are magnetic tracking or parallel tracking and mapping (PTAM) / visual odometry. I think they are both very valid approaches, and probably the future for VR, but we’re still not quite there based on what I’ve seen so far. On the short-term (as in available right now) one of the most popular approaches seems to be ‘outside-in’ optical tracking systems. In general some of the advantages of an external, inward-looking approach are low processing requirements and low latency.
One example of outside-in optical tracking is the PS Move method, like seen in Project Holodeck (basically strapping one PlayStation Move wand on top of the head and use one camera for tracking). The problem I have with this type of system (apart from looking quite dorky) is: what happens if you look 90 degrees up? with only 1 camera and 1 marker you will always face occlusion problems.
Another popular optical solution out there is the TrackIR. This is actually pretty close to what I would want from a tracking system. The only problem with TrackIR is again to do with angles and occlusion: it has a very limited range (about 45 degrees) which is ok if you have your vision fixed on a computer screen but not good enough when wearing a VR headset. Also the working range (about 1.5 meters) is a bit shorter than what I would like (ideally 3 to 4 meters).
My Approach
So my line of thought was: if we already have a proven technology that when it works it works well, why not simply try to extend it and solve the low-angles and occlusion problems by adding more markers on the target? And while we’re at it, why not use one of the big hurdles of VR (having to actually wear a head-mount) in our advantage to integrate the solution?
A few months back i was following this very interesting topic on 6 DOF head tracking ideas at the MTBS3D forums.
After a few posts on this and some other related threads I was quite surprised to find out that apparently no-one in the forum had tried to implement something similar before or given it much thought… so I decided to give it a try myself as soon as I found some spare time!
Basically my main design goals were:
- Positional tracking (real 6 DOF) with 360 degree horizontal and 90 degree vertical freedom
- Maximum one external tracking device (camera), easy to setup, no need for user input or calibration
- NOT having ‘protruding antennas’ (TrackIR style) or ‘external glowing balls’ (PS move style).
- They make the HMD more break-prone and they don’t look very cool
I think there’s a place for a mid-term solution, something which might not be the definitive positional tracking for virtual reality but still better than existing alternatives.