wchill / Left4VR

Left 4 Dead 2 (and other games) enhanced with VR addons for MHacks V
7 stars 1 forks source link

Investigate IR-based positional tracking #3

Open wchill opened 9 years ago

wchill commented 9 years ago

Positional tracking is a Really Hard Problem. Barring any more expensive setups like buying a Hydra or Sixense (which kind of defeats the purpose of this project), it's not exactly easy to accomplish through sensors alone.

The Wiimote has an IR camera with a built-in image processor that can track up to 4 points of IR light. (There can be more than 4, but it will track the brightest 4 points) Normally the Wii sensor bar uses 4 collinear points; however, this means that there is one degree of freedom that is unaccounted for while tracking. The solution is to use an asymmetric distribution of 4 points and use an algorithm to determine position and correct drift based on the camera's viewpoint of those 4 points.

This is a tricky task, unfortunately, and without a special setup (ie. IR LEDs on the ceiling) I can't think of a good way to do this for all 360 degrees of rotation. However, it's worthwhile to see if it can be done within at least the camera's field of view and then investigate whether it can be extended to all 360 degrees (maybe with an overhead attachment with some overhanging LEDs or something).

wchill commented 9 years ago

Some technical details on the Wiimote camera: http://wiibrew.org/wiki/Wiimote#IR_Camera

wchill commented 9 years ago

Also note that the camera can be removed from the Wiimote and the Raspberry Pi can communicate with it using I2C. The important thing here is to get the general algorithm down; everything else is just an implementation detail.