Proyecto Fin de Carrera

Robótica, software y telecomunicaciones.

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

Anuncios

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

Cambio de rumbo al proyecto

Después de estar un tiempo leyendo tutoriales y libros sobre programar en C++ orientado a objetos, y curioseando sobre OpenCV, decidí centrarme en la única asignatura que me falta para poder acabar la carrera, Circuitos y Sistemas, a pesar de suspender en Febrero y en Junio, he ido mejorando muchísimo en nivel en esta asignatura, de hecho en el último examen saqué un 4’1 debido a errores absurdos que son el fruto de los nervios y el cansancio en el examen, al menos esta vez contesté todos los problemas y sus apartados, además que los errores se arrastran con facilidad a varios apartados de forma que en cuanto tienes un error, la nota baja drásticamente.

Por este motivo he tomado la decisión de estudiarme Circuitos y Sistemas de otra forma, repasándome los formularios y haciendo como mínimo 1 problema al día. Y esta vez haciéndolos a boli, pues en casa yo siembre los he hecho a lapiz y luego estoy acostumbrado a borrar, cuando eso no puedo hacerlo en el examen. Por otra parte, aún guardo un poco de esperanza de que me deje presentarme al examen de Septiembre pese a no tener covocatoria, aunque según sus palabras durante la revisión de mi examen, lo más seguro es que no.

Así comienza una nueva etapa en la que le daré más duro al proyecto fin de carrera, que ahora se convertirá en el objetivo nº 1.

Tras una reunión ayer con Pedro, mi tutor de proyecto, me dijo que íbamos a variar un poco la forma de trabajar. En un principio yo iba a empezar mi programa partiendo de cero, con ayuda de C++ y OpenCV.

Ya en una de las primeras reuniones le comenté a Pedro que me gustaría que ya que el proyecto fin de carrera me llevará un esfuerzo, ese esfuerzo fuese útil, y además de servime a mí para aprender y finalizar mis estudios, fuera de utilidad a otras personas. Ahora eso se va a cumplir gracias a que Pedro ha estado cada vez más implicado en RoboLab, el Laboratorio de Robótica de la UNEX, y por tanto me ha sugerido que mi proyecto fin de carrera  se enmarque en el framework de código abierto para la robótica ROBOCOMP. Además iremos un paso más allá de la Programación Orientada a Objetos, pues programaremos según el paradigma de la Programación Orientada a Componentes.

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

   

A %d blogueros les gusta esto: