Skip to main content
Up and Coming
July 18, 2013

DIY 6 DoF Optical Position Tracking - Now with added Leap!

zalo's Optical Positional Tracking



For the last few months I have been working on an Optical Positional tracking solution. I'm coming close to maximizing the functionality to cost ratio. It utilizes a single Playstation Eye mounted near the ceiling to track two lit LEDs on the Oculus Rift. With this information and the orientation information from the rift itself I can determine the full 6 DoF Position and Orientation of the rift in a large cone of view. It also does not matter which direction the rift is looking, and can be utilized to calibrate yaw instead of the magnetometer. The innovation (over similar systems like Johnny Chung Lee's) comes from the fact that I am using the Rift's IMU to fill in the missing orientation information that would normally be captured Optically (but would restrict the freedom of movement). I am using a PSEye and Processing to funnel the point tracking data to Unity at 125 Hz.

The whole system comes out to ~$35 (Tripod, Camera, LEDs).

What do you think?

-Update 7/19/13-
Positional Tracking and the Leap


At the beginning I calibrated where the leap was by placing the rift on top of it.

    11 replies

    zaloAuthor
    Up and Coming
    July 21, 2013
    "sven" wrote:
    Excellent, I have bought some IR LEDs for optical tracking with a PS Eye camera myself and was going to play around with it. Are you using one of the existing software packages for optical tracking?

    Be careful, the PSEye comes with an IR filter.

    I'm using the Code Laboratories driver and Processing with some custom point tracking code. Here's the source for the PointTracker+Sender (requires codelabs stuff and OSCP5 for sending data to Unity): http://pastebin.com/5fJ8jy12 (the newer CL drivers might require a part to say CLEYE.GRAYSCALE_PROCESSING instead of what it says now).

    It shouldn't be too hard to delete the bits you don't need, but I should warn you that it's also terribly inefficient. It'll do a solid 125fps at 320x240 for a couple points which is good enough for me.