Background
Johnny Lee demostró varias ideas interesantes (detalladas, por ejemplo, en este video , así como esta página ) que aprovechan la cámara de infrarrojos de un Wii-Remote. La cámara IR tiene una resolución de 1024x768 y está diseñada para rastrear los 4 puntos de iluminación infrarroja más brillantes en su vista, a 100 Hz. Cada uno de estos 4 "puntos" podría ser un marcador móvil en forma de, por ejemplo, un LED infrarrojo: la cámara detecta la emisión del LED, que a su vez emite a 100 Hz, los datos de posición del "blob" IR observado. Lo que permite un sistema de seguimiento de posición de bricolaje rápido y económico.
Problema
En la configuración anterior, si cada LED IR no solo se enciende, sino que también se hace IDENTIFICABLE de forma única, daría lugar a muchas posibilidades interesantes. Por ejemplo, esto permitiría un seguimiento continuo de la posición de cada marcador en el espacio de forma única (es decir, con el conocimiento de qué blob es cuál). Además, el hecho de que cada marcador IR LED sea único también significa que la configuración podría extenderse a cualquier número de puntos (por ejemplo, 50 marcadores) en lugar de solo a los 4 puntos más brillantes.
La pregunta es: suponiendo que empiece por conectar cada marcador IR LED a un microcontrolador, ¿cuál sería la forma más efectiva de extender la configuración anterior para que cada marcador IR LED sea IDENTIFICADO de manera única? En términos generales, describo un enfoque a continuación: ¿hay algún enfoque más versátil o más simple que este, o tal vez se puedan realizar mejoras?
Primero, un método que NO es prometedor: ya que cada MarkerLED infrarrojo está conectado a un microcontrolador, es posible que cada MarkerLED parpadee en un patrón único. Pero la cámara IR tiene solo una frecuencia de actualización de 100 Hz, por lo que si hubiera 50 LED, sería difícil ajustar un patrón único para cada uno, sin que el seguimiento efectivo de la posición de los puntos sea realmente lento.
A continuación se muestra una idea general que actualmente estoy considerando (rastrea y identifica 50 marcadores IR LED):
-
Comience etiquetando en un simple Detector IR al lado de la Cámara IR, cuyos dos salidas se leen / rastrean en sincronía por un microcontrolador o computadora común.
-
Ahora, digamos que hay 50 marcadores. Para cada circuito MarkerLED / Microcontrolador, también se agrega un segundo LED IR, denominado IdentifierLED, por lo que hay un par de LED IR para cada marcador, ambos controlados por el microcontrolador.
-
Para un marcador dado, de modo que se pueda rastrear su posición, MarkerLED solo se ENCIENDE para exactamente una ventana específica de 20 milisegundos por segundo (cada marcador tiene su propia ventana de 20 ms). Durante esa misma ventana particular de 20 ms, el microcontrolador pulsa el identificadorLED correspondiente de una manera específica a una frecuencia alta (por ejemplo, 38 kHz), configurando un patrón / ID único para ese marcador específico.
-
Y lo mismo para los 49 Marcadores restantes consecutivos, cada uno con su propia ventana diferente de 20 milisegundos y su propio patrón de identificación de alta frecuencia. Eso cuida el lado de los marcadores de las cosas.
-
Ahora, en el lado sensible de las cosas: por cada ventana consecutiva de 20 milisegundos durante un segundo, la cámara IR detecta la posición de un marcador específico (cuya ventana de 20 milisegundos es) a través de MarkerLed correspondiente. Al mismo tiempo, el Detector IR identifica QUÉ marcador es, a partir del patrón detectado del IdentifierLED correspondiente.
-
Y este seguimiento de posición e identificación continúa durante las cincuenta ventanas de 20 milisegundos dentro de cada segundo.
-
Por lo tanto, se realiza un seguimiento de todos los 50 marcadores, y el microcontrolador del lado de seguimiento puede actualizar los datos de cada marcador una vez por segundo.