¿Qué tipo de sensor se usa para medir la posición y la rotación de los auriculares Oculus Rift?

La respuesta corta es: una combinación de giroscopio / acelerómetro / magnetómetro y seguimiento óptico utilizando marcadores infrarrojos y un algoritmo de visión por computadora llamado estimación de pose 3D.

La respuesta más larga es que la primera unidad enviada por Oculus (el DK1) solo rastrea el balanceo / cabeceo / guiñada y usa el InvenSense MPU-6000 y el Honeywell HMC5983.

Sabemos esto porque Oculus VR hizo gentilmente el código abierto Oculus Rift (producto) DK1 durante una dirección dada por Palmer Luckey en la primera conferencia de Oculus Connect en septiembre de 2014. Todo está en github: https://github.com/OculusVR/RiftDK1

El proceso mediante el cual se interpretan los datos de estos dos sensores ha sido documentado en una excelente publicación de blog de Steve LaValle, Sensor Fusion: Manteniéndolo simple.

Uno de los avances introducidos con el DK2 (el segundo dispositivo enviado por Oculus) es el seguimiento posicional (inclinado hacia adelante / atrás / abajo / arriba). Aquí es donde entra en juego el algoritmo de estimación de pose mencionado anteriormente. Pequeños marcadores LED IR se colocan en la placa frontal del auricular. El infrarrojo queda fuera del espectro visible para los humanos, pero algunas cámaras pueden capturarlo perfectamente:


Especialmente cuando está equipado con una lente especial, como la que se incluye con el rastreador posicional DK2:


Se involucra un poco más: los LED tienen un identificador único y parpadean en un patrón que modula esa señal al software que se ejecuta en la computadora host. Este proceso fue diseñado por Oliver Kreylos y documentado en una serie de publicaciones de blog llamadas Hacking the Oculus Rift DK2.

¡Y eso es todo! ¡Es tan fácil! =]

Si está interesado en experimentar con los tipos de sensores utilizados por Rift (menos el seguimiento de profundidad), este artículo es una excelente guía para crear su propio:

http://planetkris.com/2014/12/ea