Buscar TUIO_PureData.zip y descargarlo
o ejecutar el siguiente comando :
wget http://ufpr.dl.sourceforge.net/sourceforge/reactivision/TUIO_PureData-1.4pre2.zip
Descomprimir la libreria
unzip TUIO_PureData-1.4pre2.zip
Cambiar al directorio de la libreria
cd TUIO_PureData
Ejecutar alguno de los demos
pd TuioTheremin.pd
Abrir el Simulador de TUIO o el reacTIVIsion :
Ir al diectorio de TUIO Simulator
cd <ruta>/TUIO_SIMULATOR
./run.sh
o Ir al diectorio de reacTIVision
cd <ruta>/reacTIVision
./reacTIVision
Continuan las pruebas de reacTIVision, ahora con los marcadores impresos en hojas de papel, una camara web Genius Slim 1322AF y el software ejecutandose sobre plataforma Windows, debido a que la camara no me funciona en Ubuntu Linux. Se utilizo el mismo programa que se desarrollo anteriormente, solo se utilizaron versiones de los programas Processing, reacTIVision para la plataforma Windows.
Continuando con los desarrollos relacionados con reacTIVision, el siguiente paso es realizar pruebas utilizando una camara web y la aplicacion reacTIVision, pero para poder hacer esto debemos primero imprimir los marcadores que vamos a utilizar.
Existen tres diferentes tipos de marcadores o fiducials que pueden ser utilizados con el software reacTIVision, el amoeba, el classic y el dtouch, cada tipo posee un conjunto de elementos finito y de diferentes caracteristicas de forma y construccion; por ejemplo el conjunto dtouch utiliza un conjunto de cuatro zonas en la cuales estan marcados puntos y lineas, mientras el classic utiliza seis zonas y el amoeba tiene una construccion mas natural utilizando circulos.
Conjunto de Simbolos :
Amoeba
90 marcadores blaco sobre negro o negro sobre blanco
Classic
120 marcadores
dtouch
24 marcadores
Estos simbolos se pueden encontrar en el directorio symbols de la distribucion de reacTIVision, en nuestro caso utilizaremos los marcadores de amoeba, que son muy llamativos por su forma y son los mas utilizados, para ello abrimos el PDF que contiene los simbolos e imprimimos una o mas pagina, recortamos los simbolos y estamos listos para comenzar a probar. Si se quieren que los marcadores tengan mas duracion y resistan un uso continuo se puede utilizar carton para fijarlos, contact transparente para forralos o fijarlos a fichas, objetos, entre otros. Por el momento utilizaremos las hojas. En proximas pruebas se utilizaran diferentes tamaños de marcador para identificar posibles tamaños de los objetos a utilizar dentro de los proyectos.
Nota :
La licencia de uso de los simbolos esta permitida solo si se utiliza con el software reacTIVision, si es utilizado por otras aplicaciones se debe solicitar una licencia de uso diferente.
Es importante identificar el id del marcador el cual esta a un lado de este cuando lo imprimimos, este identificador es que se utiliza para realizar el seguimiento desde la aplicacion.
Para comenzar hacer pruebas con reacTIVision y Processing, decidi crear un pequeño sketch que visualizara los objetos sobre la tabla como cuadrados los cuales tuvieran las mismas propiedades de posicion y rotacion. Para esto se debe instalar la libreria de soporte para TUIO en Processing y crear un pequeño sketch.
Descargar la libreria para TUIO__Processing.zip, por ejemplo :
wget http://superb-east.dl.sourceforge.net/sourceforge/reactivision/TUIO_Processing-1.4pre2.zip
Descomprimir la libreria
unzip TUIO_Processing-1.4pre2.zip
Cambiar el directorio
cd TUIO_Processing
Copiar el directorio de tuio al directorio de librerias de Processing, por ejemplo
cp -R tuio <ruta>/processing-1.0.1/libraries
Crear Sketch de Prueba :
Ejecutar Processing
cd <ruta>/processing-1.0.1
./processing
Escribir el siguiente sketch :
// Importar Libreria y declarar clienteimport tuio.*;
TuioClient tuioClient;
// Iniciar el sketch cambiando de tamaño y creando el clientevoid setup(){
size(320,240);
rectMode(CENTER);
tuioClient = new TuioClient(this);
}// Pintar los objetosvoid draw(){
background(200); // Limpiar la pantalla// Obtener los objetos
TuioObject[] objects = tuioClient.getTuioObjects();
// Pintar cada objeto con su propa transformacionfor(int i=0;i<objects.length;i++){
TuioObject obj = objects[i];
pushMatrix();
translate(obj.getScreenX(width),obj.getScreenY(height));
rotate(obj.getAngle());
rect(0,0,40,40);
popMatrix();
}}
Ejecutar el programa.
Abrir el Simulador de TUIO o el reacTIVIsion :
Ir al diectorio de TUIO Simulator
cd <ruta>/TUIO_SIMULATOR
./run.sh
o Ir al diectorio de reacTIVision
cd <ruta>/reacTIVision
./reacTIVision
Hace algunos dias compile la version de reacTIVision 1.4 pre2 para Ubuntu Linux, pero desafortunadamente no pude hacer que mi camara web USB con los drivers Video4Linux2 funcionara correctamente. Con la version 1.3 de reacTIVision fui capaz de utilizar mi camara pero las velocidades de captura no pasaban de los 2 FPS lo que no permite tener una buena respuesta para hacer el seguimiento adecuado de los objetos. Con la version 1.4 pre 2 la aplicacion simplemente muestra un cuadro negro y nunca la imagen de la camara. Por estos motivos y para poder crear una aplicacion cliente que utilice la informacion enviada por reacTIVision es bueno contar con un simulador que emule el comportamiento de una superficie y envie los mensajes a un cliente producidos por esta a una aplicacion que recibe los mensajes y realiza acciones de acuerdo a los eventos enviados.
Requisitos :
Tener Java instalado, si no lo tiene se puede instalar rapidamente asi :
Abrir una consola, ejecutar
sudo apt-get install sun-java6-jdk
Verificar que el Java6 sea la alternativa por defecto
sudo update-alternatives --config java
La aplicacion reacTIVision es una aplicacion multiplataforma de codigo abierto para el reconocimiento y seguimiento de marcadores visuales colocados en objetos fisicos, como tambien provee seguimiento y reconocimiento para crear superficies multitouch. Fue diseñada como un set de herramientas para la creacion rapida de superficies que implementen interfaces de usuario tangibles, como mutitouch. El proyecto ha sido desarrollado por Martin Kaltenbrunner y Ross Bencina dentro del grupo de Tecnologia Musical en la Universidad de Pompeu Fabra en Barcelona, España. Como parte integral de proyecto de la reacTable, instrumento musical que utiliza estos marcadores para crear sonidos y patrones musicales sintetizados.
En terminos mas terrenales, el reacTIVision permite identificar la posicion y rotacion de patrones bidimensionales sobre una superficie que permiten interactuar con aplicaciones que usan dichos marcadores como elemento de interaccion permitiendo al usuario enviar ordenes y comandos a las aplicaciones. El software es parte del proyecto de reacTable pero el software que produce la interface visual y la sintesis de sonido no esta disponible al publico.
El software puede ejecutarse como una aplicacion wl cual envia mensaje OSC (OpenSound Control) via UDP a traves del puerto 3333 a cualquier cliente que este escuchando en dicho puerto. Implementa el protocolo TUIO el cual ha sido diseñado para transmitir el estado de objetos tangibles y eventos multitouch en una superficie. El software incluye algunos clientes de ejemplo gratuitos basicos para el desarrollo de aplicaciones. Adicionalmente reacTIVision es capaz de enviar mensajes MIDI.
Actualmente reacTIVision esta siendo utilizado por infinidad de proyectos para la creacion de superficies multitouch e interaccion fisica a traves de estos marcadores.
reacTIVision es el software utilizado en la ReacTable para identificar los patrones con su posicion y rotacion, este software tiene licencia opensource y puede ser utlizado para crear aplicaciones interactivas que necesiten reconocer patrones visuales, su localizacion y su rotacion. Existen muchos ejemplos en la red de su uso, en su mayoria se utiliza como interface para sintesis de sonido como es el caso de la ReacTable.
Requisitos :
Tener una camara de video digital con puerto firewire que se pueda conectar a Linux
Pasos :
Abrir una terminal
Instalar el paquete de programacion con camaras digitales IEEE 1394
sudo apt-get install libdc1394-13
Descargar el paquete para Debian de reacTIVision
wget http://ufpr.dl.sourceforge.net/sourceforge/reactivision/reactivision_1.3-1_i386.deb
Instalar el reacTIVision
sudo dpkg -i reactivision_1.3-1_i386.deb
Para aquellos que no tenemos una camara digital con puerto USB, debemos compilar los fuentes de reacTIVision para compilar el soporte para V4Linux2.
Hasta el momento he podido compilar la aplicacion pero al momento de visualizar la imagen la velocidad es apenas de 2FPS, la pantalla queda negra o la aplicacion se cierra inesperadamente.