jueves, 15 de diciembre de 2011

MT: Frameworks de desarrollo

Si ya habéis visto el vídeo con las primeras pruebas de la mesa táctil tendréis una idea de las cosas que se pueden hacer. Casi todas las aplicaciones que se ven en el vídeo están hechas por la comunidad y están disponibles para todo el que quiera usarlas. Nos ha dado tiempo a evaluar algunas, y estas son las conclusiones:
  • el mejor para hacer cosas espectaculares, sin duda, processing, que es Java se integra bien en eclipse (pasando del processing IDE, que es patético para hacer cosas serias). Además hay millones de sketchs que podemos usar como base. Es impresionante lo que hay en ese mundillo. Tiene una librería que implementa el protocolo TUIO para integrar con CCV (la herramienta de procesamiento de imagen para capturar los gestos), pero aquí viene lo malo: no tiene librería de componentes para multitouch, por lo que deben ser aplicaciones más o menos sencillas, sin árbol de widgets. Por ejemplo: mapas, aplicaciones de dibujo, de manipulación de imágenes, efectos, etc, nada de interfaces de usuario complejas.
  • Para hacer aplicaciones con interfaces de usuario complejas (botones, cajas de texto, teclado virtual, menús, etc), una buena opcióin es Kivy (python). Antes PyMT. Tienen muy buena documentación y el framework está muy depurado y optimizado. Aunque es python, todo el código crítico está hecho en C, por lo que va aceptable, aunque nunca igual que Processing o MT4j. Lo mejor: que utiliza un formato propio para hacer el diseño de las pantallas (.kv), y que produce aplicaciones para Android!!.
  • Si queremos aprovechar algún sketch de processing y tenemos necesidades multitouch complejas, iría a MT4J, compatible con processing al 100%. Lo malo: no está bien documentado, aunque funciona de maravilla y es Java.
  • Para entornos Windows 7, puede usarse el SDK de Microsoft Surface. Desde la última versión, CCV es capaz de generar eventos WM_TOUCH en esta plataforma. Es una opción aún por explorar, pero quizás es la que más promete, al estar respaldada por Microsoft y su fantástica plataforma. Lo iremos viendo.

De momento, tras probar Kivy, hemos optado por MT4J. Los motivos: es java, lenguaje y entorno (eclipse) que conocemos mejor. Está basado en processing, con una enorme comunidad de verdaderos artistas digitales. Y sobre todo, es muy rápido.

miércoles, 14 de diciembre de 2011

Primeras pruebas multitouch

Después de un primer infructuoso estreno en el que usamos una película de fotos como filtro paso banda para el infrarrojo, nos decidimos a comprar un filtro en condiciones de 780nm. ¡Qué sabia decisión! Su efectividad fue inmediata. Ahora la cámara capta a la perfección los blobs infrarrojos, y por suerte, el proyector no genera nada de ruido en esa banda.
Aquí tenéis un vídeo con las primeras pruebas de la pantalla táctil, ejecutando las demos de los frameworks MT4j y PyMT. Impresionante!!!!


viernes, 8 de julio de 2011

Proyecto: mesa táctil. El comienzo

Por fin,
Tras ver múltiples proyectos por internet, decidimos lanzarnos para hacer nuestra propia mesa táctil.
Gracias a la gran comunidad open source de nuigroup.com, rápidamente pudimos ponernos manos a la obra.
Ya antes habíamos hecho pruebas con el software del tan afamado reactable.com, reacTIVision, la versión open source del software de reconocimiento de fiducials y blobs (marcadores y dedos).

Existen diferentes técnicas y alternativas para realizar proyectos de este tipo. La comunidad de nuigroup ha hecho un gran trabajo de investigación y documentación.

Tras evaluar las diferentes alternativas en cuanto a software y hardware, decidimos realizar un montaje basado en la técnica LLP (Laser Light Pane), básicamente por ser económica para superficies grandes. Como pantalla usamos un retroproyector, aunque cada vez más se ven instalaciones con LCDs.

Se basa en la proyección de dos o más láseres IR, paralela a la superficie de la pantalla. Al aplicar presión sobre la superficie, el haz láser se refleja hacia el interior de la pantalla, detectándolo con una cámara IR.

Lista de materiales
La lista mímima necesaria para hacer la mesa:

  • superficie acrílica o cristal
  • 2 o más láseres IR
  • pantalla de retroproyección
  • cámara filtro paso banda IR
  • proyector

En nuestro caso, hemos conseguido una buena cámara firewire de la marca Unibrain, y una pantalla Rosco Gray. Los láseres y filtros en ebay. En los foros de nuigroup hay abundante información al respecto.

En los próximos días iremos dando detalles del montaje, según vayamos avanzando el proyecto. Pero no será el último!!