¿Cómo funciona el controlador de Leap Motion?
Desde los primeros prototipos de hardware hasta el último software de seguimiento, la plataforma Leap Motion ha avanzado mucho. Hemos recibido muchas preguntas sobre cómo funciona nuestra tecnología, por lo que hoy echamos un vistazo a cómo los datos en bruto del sensor se traducen en información útil que los desarrolladores pueden utilizar en sus aplicaciones.
Hardware
Desde la perspectiva del hardware, el Leap Motion Controller es bastante simple. El corazón del dispositivo consiste en dos cámaras y tres LED infrarrojos. Estos rastrean la luz infrarroja con una longitud de onda de 850 nanómetros, que se encuentra fuera del espectro de luz visible.
Gracias a sus lentes de gran angular, el dispositivo tiene un gran espacio de interacción de ocho pies cúbicos, que toma la forma de una pirámide invertida, la intersección de los campos de visión de las cámaras binoculares.
Anteriormente, el rango de visión del controlador de movimiento Leap se limitaba a aproximadamente 2 pies (60 cm) por encima del dispositivo. Con elsoftware Orion beta, esto se ha expandido a 2.6 pies (80 cm). Este rango está limitado por la propagación de la luz LED a través del espacio, ya que es mucho más difícil inferir la posición de su mano en 3D más allá de cierta distancia. La intensidad de la luz del LED está limitada en última instancia por la corriente máxima que se puede extraer a través de la conexión USB.
Los datos toman la forma de una imagen estéreo en escala de grises del espectro de luz del infrarrojo cercano, separados en las cámaras izquierda y derecha. Por lo general, los únicos objetos que verá son aquellos iluminados directamente por los LED del controlador de movimiento de salto. Sin embargo, las bombillas incandescentes, los halógenos y la luz del día también iluminarán la escena en el infrarrojo. También puede notar que ciertas cosas, como las camisas de algodón, pueden aparecer blancas aunque estén oscuras en el espectro visible.
Software
Una vez que los datos de la imagen se transmiten a su computadora, es hora de un levantamiento matemático pesado. A pesar de los conceptos erróneos populares, el Leap Motion Controller no genera un mapa de profundidad, sino que aplica algoritmos avanzados a los datos sin procesar del sensor.
El servicio Leap Motion es el software en su computadora que procesa las imágenes. Después de compensar los objetos de fondo (como las cabezas) y la iluminación ambiental, las imágenes se analizan para reconstruir una representación 3D de lo que ve el dispositivo.
A continuación, la capa de seguimiento coincide con los datos para extraer información de seguimiento, como dedos y herramientas. Nuestros algoritmos de seguimiento interpretan los datos 3D e infieren las posiciones de los objetos ocluidos. Se aplican técnicas de filtrado para garantizar una coherencia temporal uniforme de los datos. El servicio Leap Motion Service luego alimenta los resultados, expresados como una serie de cuadros o instantáneas, que contienen todos los datos de seguimiento, en un protocolo de transporte.
A través de este protocolo, el servicio se comunica con el Panel de control de Leap Motion, así como con las bibliotecas de clientes web y nativos, a través de una conexión de socket local (TCP para nativo, WebSocket para web). La biblioteca cliente organiza los datos en una estructura de API orientada a objetos, gestiona el historial de marcos y proporciona funciones y clases auxiliares. Desde allí, la lógica de la aplicación se enlaza con la entrada de Leap Motion, lo que permite una experiencia interactiva controlada por movimiento.