Skip to content
This repository has been archived by the owner on May 3, 2021. It is now read-only.

Optical Tracker Algorithms

Chadwick Boulay edited this page May 11, 2016 · 21 revisions

Outline

The PSMove sphere relative position can be determined using one of several different techniques. This Wiki page describes some of those techniques.

  1. Common Steps
  2. Analytic solution after ellipse fitting
  3. Cone fitting
  4. 2 or more cameras with overlapping frustums
  5. Other Information

Common Steps

Analytic solution after ellipse fitting

This is the algorithm I used in my fork of psmoveapi. The sphere can be thought of as a base of a cone whose vertex is at the camera focal point. The camera's sensor plane can be thought of as a slice through the cone, creating an ellipse. We fit an ellipse to the blob. Then we can determine the sphere's 3D position by using similar triangles to relate known quantities (camera FOV, focal length, ellipse centre, major and minor axes) to unknown quantities. The image below presents the variables then the code below that outlines how to solve for unknown variables.

Tracker Algorithm - Position from ellipse

Cone fitting

2 or more cameras with overlapping frustums

Other Information

TODO: Links to sensor fusion