jueves, 20 de diciembre de 2007

Instalación del proyecto Rabotron paso a paso

En este post vamos ha explicar como hemos instalado nuestro proyecto desde cero, para lo que hemos instalado... Debian, eclipse, java, gspca (spca5xx), player ( player 2.0.4 ).

Bueno comencemos:

1.- Lo primero que tenemos que hacer es descargar Debian. En nuestro caso hemos decido instalar Debian Lenny (en estos momentos testing) desde el netinstall. Para el que no se aclare mucho siempre puede descargar los ISOs de Debian completos, aun que si aquí ya andamos perdidos...

2.- Una vez instalado Debian...lo tenemos todo un poco “pelao” todavía.
Seguiremos por descargar Eclipse Classic de la página oficial.
Cuando se haya descargado Eclipse simplemente es descomprimirlo donde queramos.

Es posible que al ejecutar Eclipse nos de un error similar a este:

Error opening the editor
java.lang.ClassNotFoundException: org.eclipse.core.runtime.Plugin
...
...


Bien, que no cunda el pánico, esto es porque Eclipse no encuentra el entorno de ejecución de java (JRE). Para solucionarlo simplemente hay que instalar el JRE, hay variar soluciones.

La elegida esta vez ha sido descargar el jdk6 de la web de sun.

3.- Pasamos a instalar el driver gspca (antiguo spca5XX) necesario para la camara web. Ya explicamos como instalar tanto el driver spca como el gspca, Para mas información leer el post http://celtico-celtico.blogspot.com/2007/09/webcam-bajo-linux.html

4.- Instalar Camorama: Esto no es obligatorio, pero podemos instalarlo para ver si el driver gspca funciona correctamente (apt-get install camorama).

5.- Ya solo nos queda instalar player 2.0.4, hemos elegido esta versión por ser estable. Estuvimos probando con la versión de player 2.1.0 descargada del CVS (explicaremos como hacerlo con eclipse en otro post) pero decidimos quedarnos con la 2.0.4 por estar todavía en pruebas y en depuración de varios bugs la versión 2.1.0.

Antes de empezar con la instalación de Player 2.0.4 hay que instalar varias librerías:

- Librería “libtool” (apt-get install libtool) necesaria al hacer bootstrap para ejecutar automáticamente las ordenes:

libtoolize –force

- Instalar automake (apt-get install automake), necesaria al hacer bootstrap para ejecutar automáticamente las ordenes:

aclocal

autoheader

automake --gnu --add-missing

- Instalar pkg-config (apt-get install pkg-config), necesaria al hacer bootstrap para ejecutar automáticamente la orden:

autoconf

- Libreria “libjpeg62-dev”(apt-get install libjpeg62-dev), necesaria para que al instalar player se instale el driver cameracompress, de lo contrario este driver no aparecerá en la instalación. Esto se ve al hacer el configure, donde aparece una lista con los drivers que se instalarán y los que no.

Una vez instaladas estas librerías solo nos queda descargar player 2.0.4.

En nuestro caso hemos descomprimido el archivo y hemos añadido el driver Rabotron a la carpeta de “server/drivers/”, una vez hecho esto pasamos a la instalar Player:

./bootstrap


Si al ejecutar bootstrap nos aparece el siguiente error:

server/libplayerdrivers/Makefile.am:26: shell find $(top_builddir: non-POSIX variable name

server/libplayerdrivers/Makefile.am:26: (probably a GNU make extension)

hay que instalar la versión 1.9 de automake (apt-get install automake1.9) y volver a ejecutar bootstrap.

Una vez termine, ejecutamos el comando:

./configure

Al ejecutar configure nos dice los drivers que se instalarán y los que no serán instalados junto con la causa por la cual no pueden ser instalados:

The following device drivers will be included:

acts, amtecpowercube, aodv, bumpersafe, nd, cameracompress, camerav4l, canonvcc4, clodbuster, cmucam2, cmvision, dummy, er1, fakelocalize, festival, flockofbirds, garminnmea, iwspy, khepera, laserbar, laserbarcode, lasercspace, laserposeinterpolator, laserrescan, lasersafe, laservisualbarcode, laservisualbw, linuxjoystick, laserposeinterpolator, logfile, mapcspace, microstrain, obot, p2os, erratic, wbr914, ptu46, relay, rflex, sicklms200, sicknav200, sickpls, sicks3000, sphere, sonyevid30, urglaser, vfh, vmapfile, roomba, rabotron, wavefront, insideM300, skyetekM1, mica2

The following device drivers will NOT be included:

acoustics -- disabled by default; use --enable-acoustics to enable
amcl -- couldn't find (at least one of) gsl/gsl_version.h
artoolkitplus -- couldn't find required package artoolkitplus >= 2.0.2
...

Como vemos, en drivers instalados, aparecen los drivers de cameracompress y rabotron.

El siguiente paso es ejecutar las ordenes:
./make
./make install

Ya tenemos instalado Player!!. Ahora para ejecutarlo simplemente habrá que ejecutar:

./player ficheroCfg.cfg

Ahora CUIDADO, puede que nos de un error similar al siguiente al intentar arrancar player:

player: error while loading shared libraries: libplayerdrivers.so.2: cannot open shared object file: No such file or directory

En este caso hay que exportar el path:

export LD_LIBRARY_PATH=/usr/local/lib

Un consejo es que se ponga en el fichero “.bashrc” para que cada vez que se habrá un terminal se ejecute automaticamente.

Ya podemos ejecutar player en nuestro sistema:

./player ficheroCFG.cfg

* Part of the Player/Stage/Gazebo Project [http://playerstage.sourceforge.net].
* Copyright (C) 2000 - 2006 Brian Gerkey, Richard Vaughan, Andrew Howard,
* Nate Koenig, and contributors. Released under the GNU General Public License.
* Player comes with ABSOLUTELY NO WARRANTY. This is free software, and you
* are welcome to redistribute it under certain conditions; see COPYING
* for details.

Listening on ports: 6665

Ahora solo nos quedaría arrancar el proyecto y verlo rular...

Adicionalmente recordar que subimos un post en el que indicábamos como grabar video de nuestro escritorio Linux con el programa “recordMyDesktop”: http://celtico-celtico.blogspot.com/2007/11/grabacin-de-vdeo-en-linux.html