Presentación

Este blog ha sido crado para la asignatura de Visión en Robótica del máster de Visión Artificial. El objetivo principal es ir subiendo los avances que vaya haciendo en las prácticas de esta asignatura. Tenemos tres prácticas que hacer. La primera es la práctica 0 en la que hay que instalar Gazebo y los componentes GazeboServer e Introrob del software JdeRobot que serán con los que trabajemos. En la práctica 1 hay que hacer el seguimiento de una línea de color con una sóla cámara y en la práctica 2 se realizará una reconstrucción 3D mediante un sistema estereoscópico.

jueves, 21 de marzo de 2013

Práctica 0

La práctica 0 consiste en instalar Gazebo y los componentes necesarios de Jderobot (GazeboServer e Introrob) para poder hacer las prácticas 1 y 2.

Gazebo es el emulador que utilizaremos para emular el robot y crear un mundo virtual con el que probar nuestros algoritmos.
Introrob es un componente de Jderobot creado para los estudiantes con el cual se puede manejar el robot y correr nuestro algoritmo, que debe estar en el archivo MyAlgorithms.cpp.
GazeboServer es el componente que conecta Gazebo con introrob.

Para instalar Gazebo he utilizado los repositorios oficiales y el gestor de paquetes Synaptic.
Una vez que funcionaba Gazebo he descargado los paquetes GazeboServer, Introrob y models de la página web de jderobot en la secciónTeaching y los he metido en una carpeta juntos.
http://jderobot.org/index.php/Teaching_robotics_with_jderobot
Para que GazeboServer e Introrob funcionen hay que compilarlos. Para ello en la terminal hay que ir a la carpeta build y compilarlos con cmake con los siguientes comandos.

cd (path)/GazeboServer/build
cmake ..
make


cd (path)/introrob/build
cmake ..
make

Al hacer cmake .. me decía que me faltaban algunas librerías que tuve que instalar con el siguiente comando.
sudo apt-get install (librería)



Después hay que meter los modelos descargados en la carpeta correspondiente de gazebo para poder cargarlos. Para ello en la carpeta /home/(usuario)/.gazebo he copiado todo lo que contiene el paquete models.
Una vez que ya se ha compilado todo es hora de lanzarlo.
Primero hay que lanzar GazeboServer. Para ello en la terminal hay que ir a la carpeta build de GazeboServer y lanzarlo dándole como entrada el mundo que queremos lanzar.
cd (path)/GazeboServer/build
gazebo ../jaramaSigueLineas.world 

Después hay que lanzar introrob desde otra terminal. Para ello hay que ir a la carpeta de introrob y lanzarlo con lo siguientes comandos.
cd (path)/introrob/build
./build/introrob --Ice.Config=introrob.cfg

Introrob nos da la posibilidad de manejar el robot mediante el joystick y ver lo que ven sus cámaras. Además si le damos al botón de play, se ejecutará el código que hayamos metido en el archivo MyAlgorithms.cpp. Cada vez que se hace un cambio en este archivo hay que recompilar introrob, para ello sólo hay que ir a la carpeta build y hacer make con la terminal para que se puedan ejecutar los cambios.

cd (path)/introrob/build
make

Mi primer programa ha sido implementar un contador de iteraciones, para ello he hecho una variable que sumaba uno cada vez que se entraba en la función de MyAlgorithms y después lo mostraba en la terminal con printf("%d\n",cont);





No hay comentarios:

Publicar un comentario