Proyecto Fin de Carrera

Robótica, software y telecomunicaciones.

Instalar ARToolKit en Ubuntu y usar en RoboComp

En el blog Simocap de José Alberto Gandullo se explica perfectamente cómo instalar ARToolKit en Ubuntu, sin embargo me gustaría añadir algunas notas que me comentó Luiky.

El método de instalación que se menciona en Simocap es para la versión de 32bits de Ubuntu, aunque en realidad podría servir para varias distribuciones GNU/Linux basadas en Ubuntu o en Debian.

Para las distribuciones GNU/Linux de 64bits es preferible modificar el script Configure antes de ejecutarlo, podemos hacerlo con los siguientes comandos:

cd ARToolKit
gedit Configure

Dentro del archivo configure tenemos que añadir -fPIC a la línea 111 sustituyendo la línea que tiene  —  por la que tiene ++ al principio de las líneas que indico:

-- CFLAG="-O $GST_INCLUDE -I/usr/X11R6/include"
++ CFLAG="-O $GST_INCLUDE -fPIC -I/usr/X11R6/include"

A continuación lo ejecutamos:

./Configure

y compilamos:

make

Añadimos la variable de entorno:

export ARTOOLKIT_CONFIG="v4l2src device=/dev/video0 use-fixed-fps=false ! ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,bpp=24 ! identity name=artoolkit ! fakesink"

y probamos que funciona correctamente ejecutanto el test dsde la carpeta bin:

cd  ARToolKit/bin
./simpleTest

Sin embargo, si queremos integrar ARToolKit en nuestro proyecto, necesitamos modificar nuestro CMakeLists.txt, de forma que los #include no nos den problemas.

23 junio 2011 Posted by | all | , , , , , , | Deja un comentario

Robolab — Robótica en Extremadura

Acabo de descubrir un canal en YouTube con vídeos de RoboLab y me gustaría compartirlo con mis lectores. A la vez, aprovecho para contaros un poco la intención a largo plazo de nuevos proyectos que se gestan en RoboLab.

Ya os había hablado de Ursus anteriormente, pues bien, se sigue progresando con este simpático robot, y es que en RoboLab están trabajando para dotarle de una boca que se mueva cuando Ursus habla. Además se está fabricando un segundo Ursus, con un torso más natural, y con piernas que aunque no se muevan, mejorarán bastante el aspecto exterior.

Como se puede ver en algunos videos se trabaja en un robot que transporta palés en miniatura, en principio puede chocar esta aplicación porque si ves los videos de buenas a primeras, seguramente no entiendas porqué nuestros robots van tan mal comparándolo con robots industriales que ya transportan palés desde hace varios años. La diferencia está en que esos robots industriales que funcionan tan bien, están fuertemente condicionados por su entonrno, mediante guías, raíles o movimientos programados muy concretos, donde en realidad se ha tenido que modificar el entorno para adaptarse al robot, esto supone un coste económico y logístico cuando por ejemplo, en una fábrica es necesario que el robot realice algo nuevo por un cambio de la disposición de los palés, lo que llevaría a adaptar nuevamente el entorno para el robot. De este modo los robots condicionan el modo de trabajo a las empresas que se ven en la necesidad de usarlos, generando un coste incial muy elevado para las empresas que quieren aplicar la robótica a su negocio, ya que además del precio del robot, tienen que invertir en la adaptación del entorno para el robot. Los robots de RoboLab buscan la mayor independencia con el entorno, de forma que sean ellos los que se adaptan a las situaciones y no al revés. Esto no es nada fácil, por eso podemos observar en los vídeos como se va progresando poco a poco con este robot.

Quizás el más impresionante es el SMART, que es un robot todoterreno con el objetivo de proporcionar ayuda como en situaciones posteriores a catástrofes naturales buscando heridos, por ejemplo. De momento aún queda mucho por hacer porque hasta ahora no deja de ser una especie de minicarro eléctrico controlado remotamente, pero la idea es que finalmente pueda ser más o menos independiente. Para lograr este propósito en RoboLab están pensando en adquirir un Drone (también conocido como Quadcóptero) de forma que el SMART haga de base nodriza, recargue las baterías del Drone, y transporte material sanitario, agua o víveres. Mientras que el Drone sea los ojos del SMART y analice la periferia, de forma que SMART pueda calcular la mejor ruta hasta el objetivo. Todo esto siendo un único robot a pesar de ser físicamente dos componentes distintos.

Por otro lado se está trabajando en un robot que reconstruye un mundo virtual a través de lo que va captando del mundo real, de forma que una vez reconstruido su mundo, puede navegar por él. También podemos apreciar en algunos de los videos a Muecas, un robot que pretende simular expresiones faciales. También hay algún proyecto sobre robot-juguete, y otros tantos de los que aún no me he enterado.

Sin lugar a dudas queda mucho trabajo por hacer, pero es muy emocionante estar haciendo mi Proyecto Fin de Carrera aquí, con la tecnología puntera y la investigación tan cerca, y sobretodo rodeado de estos cracks que forman el equipo de RoboLab.

2 abril 2011 Posted by | all | , , , , , , , | Deja un comentario

Robolab Robocomp Robex

Robolab es el laboratorio de robótica de la Universidad de Extremadura, se encuentra en la Facultad de Informática y dispone de 2 salas, una de ellas, conocida como Sala Beta, es donde se trabaja directamente para probar los robots. En la sala hay varias mesas distribuidas en forma de U, mientras que en el hueco interno es donde se desplaza el robot.

RoboLab

Robocomp es el framework para la creación de componentes de software, así como una recopilación de estos componentes. Algunos de ellos están en fase Experimental y otros en fase Estable.

RoboComp

Desde aquí se puede consultar toda la API.


Robex es una serie de robots creados en Robolab, y usan Robocomp para funcionar. Hasta el momento se van creando mejoras y accesorios para estos robots. Desde esta página podemos acceder a diversa documentación, como las características de estos robots.

ROBEX-1

21 julio 2010 Posted by | all | , , , | Deja un comentario

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: