Creación de un gran plano de detección de movimiento

Quiero probar y crear un "plano de detección de movimiento" donde los usuarios puedan tener puntos de contacto (sus manos) detectados cuando pasa a través de un plano invisible. Piense en ello como la pantalla táctil de una tableta gigante, excepto que puede pasar a través de ella y no hay una pantalla real. Lo importante es que puedo ubicar no solo el movimiento que se detecta, sino DÓNDE en el plano invisible.

He estado tratando de resolver esto y estaba pensando en usar un par de sensores IR para la tarea, pero no estoy totalmente seguro de que funcione. He adjuntado un bosquejo aproximado de lo que estoy considerando, pero estoy abierto a sugerencias. Tengo un presupuesto de aproximadamente $ 200- $ 300 para esto.

Bosquejo:

ingrese la descripción de la imagen aquí

Aquí están mis requisitos:

  • El avión mide aproximadamente 8 pies de alto por 10 pies de ancho y está estacionario mientras está en uso.
  • El avión no necesita una detección de movimiento precisa en los bordes del avión (aproximadamente 1 pie desde los bordes del avión no es importante)
  • La información debe poder pasar a una PC para su procesamiento, idealmente a través de USB, pero otros métodos son aceptables.
  • Idealmente, quiero poder reconocer los movimientos de "empujar"/"jalar". Estaba considerando una segunda capa de sensores IR, por lo que tendría un conjunto "frontal" y "posterior" que proporcionaría una detección de profundidad rudimentaria. Realmente no necesito algo más preciso que eso, solo un sentido del tacto "superficial" y "profundo".
  • También quiero permitir que cualquiera simplemente suba y use el avión sin preparación. Por ejemplo, otra alternativa que estaba considerando era una configuración de Wii Remote con guantes reflectantes o algo muy parecido a las muestras de Johnny Lee de hace años, pero si es posible, me gustaría evitar la necesidad de equipos en el lado del usuario.

¡Gracias a todos! Agradezco cualquier y todas las ideas sobre este tema.

Un par de preguntas adicionales que podrían ayudar a generar respuestas útiles: ¿Qué precisión necesita para la posición? ¿Cuántas penetraciones simultáneas necesitas para poder detectar? ¿Puede tolerar un requisito de iluminación junto con sensores, y posiblemente un requisito para un tratamiento específico (color, reflectividad) del límite del plano?
Vea también: el Kinect, su primo más pequeño, el Leap Motion, y la pantalla táctil óptica FlatFrog.
@RBerteig El tipo de precisión que busco es bastante tosco, como una resolución de pulgadas o algo así. En cuanto a las penetraciones simultáneas, 2 son necesarias, mientras que más siempre es útil pero no necesario. ¿De qué tipo de iluminación estás hablando? Un color/reflectividad en la estructura física que rodea el plano está perfectamente bien.
@pjc50 Sí, he jugado con Kinect, solo me preguntaba si había algo que pudiera ser un poco más especializado y no requiriera que analizara los datos completos de la cámara. Sin embargo, todavía podría ser la mejor opción.
@bearcano Tener fuentes de luz como parte del diseño general puede ser útil. Existe una tecnología de pantalla táctil antigua (de la década de 1980 más o menos) basada en pares alineados de LED y fotodiodos, que forman una cuadrícula sobre una pantalla. El tacto se observa cuando un dedo interrumpe un haz tanto horizontal como vertical, y funciona porque los dedos son opacos. Esto requiere alineación mecánica, algunas ópticas en ambos extremos de cada haz, y probablemente será quisquilloso. Pero puede detectar múltiples penetraciones, y la profundidad podría manejarse con múltiples planos, apilados.
@bearcano Incluso una solución de cámara puede beneficiarse al proporcionar fuentes de luz. Si el marco circundante está cubierto con retrorreflectores (hay una cinta para eso, así como telas y pinturas) y un iluminador IR es efectivamente coaxial con la lente de la cámara, entonces el objeto que penetra en el plano debe tener un alto contraste siempre que no sea también reflexivo. Los sistemas de captura de movimiento utilizan el truco inverso: las extremidades del actor están marcadas por bolas recubiertas de retrorreflectores, y las cámaras ven las bolas en un campo oscuro.
@RBerteig Parece que la configuración de la cuadrícula podría funcionar perfectamente, si puede funcionar en las distancias que necesito. Si tiene más información sobre ese método (enlaces, etc.), me encantaría leerlo. Tengo problemas para pensar cómo se podrían "alinear" los pares para que cada fotodiodo no vea múltiples fuentes de LED IR, etc.
@RBerteig Gracias por el enlace a la cinta retrorreflectante. Eso debería ser útil si necesito usar una solución basada en cámara con seguridad.

Respuestas (2)

Ampliando mi comentario anterior en una respuesta ...

Una técnica mecánicamente confiable para detectar la posición dentro de un plano 2D de un objeto opaco es emparejar fuentes de luz con detectores de modo que las sombras proyectadas por el objeto opaco puedan identificarse y medirse. Esta técnica se utilizó en los años 70 y 80 para permitir la activación táctil además de los terminales tontos clásicos. No recuerdo el fabricante, pero sí recuerdo un bisel de reemplazo de un tercero vendido para el ADM-3A que contenía las piezas necesarias, por ejemplo. Un rápido Google para "pantalla táctil de fotodiodo" arrojó una sorprendente cantidad de fotos, diseños e incluso productos.

Haces LED IR clásicos

Una forma sencilla de lograr esto es con una rejilla de haces de luz. A lo largo de cada par de bordes, coloca LED en uno y fototransistores en el otro. Los pares LED/receptor están alineados y las ópticas dispuestas de manera que cada receptor vea principalmente un solo LED. Algo así como este crudo bosquejo de arte ASCII:

  vvvvvvvvvvvvvvv
  |||||||||||||||
>-+++++++++++++++-> 1
>-++++X|||||||||| > 0
>-++++-++++++++++-> 1
>-++++-++++++++++-> 1
>-++++-++++++++++-> 1
  |||| ||||||||||
  vvvvvvvvvvvvvvv    
  111101111111111   

Para mejorar la resolución física, los LED se pueden encender por turnos y la información de más de un receptor se puede combinar para estimar las ubicaciones entre los haces.

Con dos conjuntos de bordes que cubren un plano, puede identificar la ubicación de una única penetración con un 100 % de confianza. Se puede identificar una segunda penetración, pero también tendrá ubicaciones fantasma, por lo que es probable que se requieran algunas heurísticas de seguimiento adicionales para verificar cuál de las dos soluciones posibles coincide con la realidad:

  vvvvvvvvvvvvvvv
  |||||||||||||||
>-+++++++++++++++-> 1
>-++++X|||||O|||| > 0
>-++++-++++++++++-> 1
>-++++O|||||X|||| > 0
>-++++-+++++-++++-> 1
  |||| ||||| ||||
  vvvvvvvvvvvvvvv       
  111101111101111   

Solo a partir de las sombras en una sola instantánea, no es posible saber si las puntas de los dedos están en las dos Xo dos Oubicaciones. Sin embargo, si Xse vieron primero los de la parte superior izquierda, agregar el segundo contacto sugeriría que lo más probable es que el UL no se haya movido y que los dedos estén en las Xmarcas.

Con el escaneo y los ángulos de visión más amplios tanto para los LED como para los receptores, es probable que pueda usar los LED lejanos normales para ver alrededor de las sombras proyectadas por los dedos reales y descartar los dedos virtuales. Llevado a un extremo lógico, está reinventando la tomografía computarizada y las matemáticas que se utilizan allí podrían valer la pena examinarlas. Podría cubrir un aro de diámetro adecuado con receptores y LED alternos, y luego aplicar realmente los algoritmos del escáner CT a baja resolución.

Para obtener la profundidad de la penetración, usaría más de una matriz 2D.

Las mayores desventajas de este enfoque que me vienen a la mente mientras escribo son las implicaciones logísticas de la gran cantidad de componentes discretos montados con precisión, incluida la óptica. Incluso la óptica tan simple como un tubo para reducir el campo de visión en cada sensor aún debe fabricarse e instalarse. Y luego están todas las señales analógicas para acondicionar, detectar y retransmitir a una CPU. Pero resuelva estos problemas mecánicos y logísticos y tendrá un enfoque a considerar.

¿Retrorreflectores?

Se me ocurre que una forma de mejorar esto para que sea más fácil de construir y encender sería colocar los LED y los fototransistores en pares muy cerca en una pared y un retrorreflector en la pared del fondo. Cada haz sería el doble de largo cuando no se interrumpiera, pero la alineación óptica sería mucho menos crítica debido al montaje del emisor y el receptor en la misma placa junto con un retrorreflector para devolver la luz de un emisor principalmente a su receptor correspondiente.

Puede hacer una placa de circuito pequeña para cada par junto con una CPU pequeña y recopilar todos los datos (y cronometrar el sondeo del haz en la matriz como un todo) con un bus I2C o similar a lo largo de cada borde. Esto contendría todos los bits analógicos interesantes de manera ordenada y reduciría en gran medida el requisito de interfaz con el controlador central. También haría que el diseño fuera modular hasta el punto en que el sensor de haz básico se pueda construir y probar completamente en pequeñas cantidades antes de comprometerse a construir todo el conjunto.

En el espíritu del arte ASCII anterior, aquí hay un boceto que muestra la detección de un solo punto:

     1 0 1 1 1 1 1   
    v^v^v^v^v^v^v^   
    ||| ||||||||||
  >-+++-++++++++++-\ 
1 <-+++-++++++++++-/ 
  >-++X |||||||||| \
0 >-||  |||||||||| /
  >-++--++++++++++-\ 
1 <-++--++++++++++-/ 
  >-++--++++++++++-\ 
1 <-++--++++++++++-/ 
    ||  ||||||||||
    \/\/\/\/\/\/\/
Gracias por esto, creo que este es exactamente el tipo de cosa que esperaba que viniera de esta pregunta. Re: logística: idealmente, colocaría los LED y los receptores en "tiras" que podrían colocarse / retirarse de los lados del panel según sea necesario, pero obviamente se debe tener mucho cuidado durante el reensamblaje para asegurarse de que las medidas se mantuvieran mismo. Estoy más preocupado por convertir las señales analógicas en digitales y llevarlas a la CPU. Hay mucho que considerar, pero esto me inicia en un camino. Si tiene algo que agregar, hágamelo saber, especialmente para enviar información a la PC.
@bearcano Consulte mi actualización para obtener más información sobre la ubicación conjunta del par de emisor y detector para facilitar la alineación y el cableado.

Parece, en principio, que un par de cámaras de video bastante baratas harán el trabajo. Con lentes de gran angular que le brindan un campo de visión de 90 grados, también obtendrá un enfoque lo suficientemente cercano como para cubrir lo suficientemente cerca de las cámaras para cumplir con su requisito de 1 pie. Obviamente, puede obtener cámaras de video USB para enviar los datos a su PC. Analizar las imágenes resultantes está más allá de mi competencia. Ciertamente, debe obtener una resolución lo suficientemente buena para identificar múltiples objetos del tamaño de una mano.

Existen cámaras de línea que le darán una mejor resolución en un solo plano, pero tienden a ser más caras de lo que está dispuesto a gastar.

Las cámaras 2D normales también le darán fácilmente la información del eje Z.
Si va, por ejemplo, a Newegg.com. y busque cámaras web, hay bastante variedad. La mayoría no parece enumerar FOV, pero uno lo hizo como 68.5 grados, que puede ser un poco bajo. Sin embargo, también había una cámara de videoconferencia gran angular con un FOV de 100 grados. Dado que la mayoría de estas aparecen como cámaras HD, brindan una resolución más que adecuada para detectar manos.
Había considerado esto y he hecho algunos experimentos iniciales con Kinect. Principalmente me preguntaba si había una solución que no fuera de cámara/similar a Kinect que no me obligara a analizar las imágenes de la cámara, ya que solo necesito valores de distancia de los objetos (como las manos) que rompen el avión.