Proyecto Fin de Carrera

Robótica, software y telecomunicaciones.

Ursus, Kinect y Robocomp

En los últimos días mi proyecto se ha vuelto aún más interesante, principalmente gracias a los progresos de la gente que trabaja en Robolab, que han ido ampliando y mejorando a Robocomp, y además creando nuevos robots sobre los cuales se planean interesantes aplicaciones.

Respecto a las mejoras de Robocomp podemos echar un vistazo a la página del proyecto en SourceForge para ver que se envían un mínimo de 5 “code commits” al día. Sin duda es un proyecto muy activo.

En cuanto a los nuevos robots me gustaría destacar a URSUS, cuyo objetivo inicial es ayudar a los niños con problemas físicos a seguir los ejercicios de rehabilitación. Con URSUS los niños realizarían los ejercícios como si de un juego se tratase, a la vez que ayuda a los médicos a monitorizar los ejercicios. Se puede encontrar más información sobre esto en varios medios de comunicación que han intentado dar difusión a este proyecto tan interesante: [1][2][3][4][5][6][7][8].

Pero como he dicho antes, Robocomp no sólo mejora, sino que se amplía con más componentes, en concreto Robocomp ahora dispone de un componente llamado kinectComp, desarrollado por Luis Manso, que nos permite acceder a los datos que captura la kinect, pero es posible que llegado a este punto te preguntes… ¿qué es la kinect?

La kinect es un accesorio para la videoconsola de Microsoft XBOX360, se trata de una cámara en 3 dimensiones que permite jugar sin mandos, sólo con los movimientos de nuestro cuerpo. En Noviembre de 2010, el español Héctor Martín consiguió crear un controlador de código abierto que funciona sobre GNU/Linux para acceder a los datos de imagen y profundidad de la kinect, y ahora nosotros podemos usarla con Robocomp gracias a kinectComp. El precio de este aparato ronda los 150€, un precio aceptable para la calidad que consigue, la cual no deja de ser curiosa, pues consiste en una webcam VGA que nos da la imagen plana 2D, y una lámpara de infrarojos que emite un patrón concreto que junto con una cámara de infrarojos nos da información de la distancia.  Más sobre kinect.

Gracias a todas estas novedades, en mi proyecto trabajaré con una kinect en lugar de una webcam, y el resultado será aplicado a URSUS de forma que ampliemos sus aplicaciones.

Anuncios

10 febrero 2011 Posted by | all | , , , , , | 2 comentarios

Instalar Robocomp

Como ya comenté en la entrada anterior, a partir de ahora usaré Robocomp, un framework para generar componentes de software para robots.

Robocomp es capaz de funcionar en varios sistemas operativos y en un amplio hardware, sin embargo la mayoría de los desarrolladores y testers utilizan Debian o Ubuntu para trabajar, de hecho tienen un script para una instalación más sencilla de Robocomp en estos sitemas.

Casi todo el software desarrollado en Robocomp está escrito en C++ o Python, aunque usa el framework de comunicación de componentes ICE que le permite reutilizar componentes independientemente del lenguaje en el que esté escrito.

Los componentes de Robocomp es software para el control y funcionalidad de los robots, como pueden ser control de servomotores, cálculo de distancias con cámaras estéreo, posicionamiento con ayuda de láser, reconocimiento de objetos e imágenes, sistemas de sonido y reconocimiento de órdenes…

Aunque en la wiki del proyecto dan claras instrucciones para su instalación, voy a contaros aquí un poco los pasos que he dado para instalar Robocomp en Ubuntu Lucid 10.04:

  • Primero descargarse las librerías IPP de Intel. Estas librerías es software propietario y por lo tanto sólo lo puede distribuir Intel, además deberás dejar tu correo electrónico para que te manden una clave de activación. Son unos 400MB por lo que tardarán bastante en descargarse, dependiendo de tu conexión, y para instalarse también tardara un poco.

Una vez descargado tendremos que descomprimirlo, navegar con la consola hasta la carpeta descomprimida y ejecutar:

sudo /bin/bash ./install.sh
 

Nos pedirá que aceptemos la licencia, y luego nos dará a elegir entre instalar en periodo de prueba o activar, a mi personalmente me tardaba demasiado con la activación así que tuve que instalar el periodo de 30 días, ya la activaré después. El directorio de instalación es: /opt/intel/ipp/6.1.2.051/ia32

  • El siguiente paso es instalar las dependencias, en principio el script te instala todas las dependencias, pero creo que es mejor tenerlas instaladas primero, son las siguientes:
sudo apt-get install subversion openssh-server build-essential cmake g++ pyqt4-dev-tools python-qt4-dev python-qt4 

sudo apt-get install libfwbase1-dev libfwbase1 libcwiid1 libcwiid1-dev libdevil1c2 libdevil-dev libglew1.5-dev
sudo apt-get install libqt4-dev qt4-dev-tools libslice33 libzeroc-ice33 libzeroc-ice33-dev python-zeroc-ice libdc1394-22-dev
  • Ahora descargaremos el script, y lo ejecutamos desde la consola con el siguiente comando:
python robocompInstaller.py

El script detectará tu sistema operativo y después intenta satisfacer las dependencias, (suele tardar bastante), después tiene que descargar todos los datos de Robocomp y finalmente debes pasarle las rutas que introducirá como variables del sistema, como la ruta donde se instalará Robocomp, la ruta donde está instalada IPP, etc.

Finalmente, tendremos que reiniciar para que se guarden las variables del sistema.

 

20 julio 2010 Posted by | all | , , , , , , , | 5 comentarios

   

A %d blogueros les gusta esto: