Proyecto Fin de Carrera

Robótica, software y telecomunicaciones.

RoboComp con KDevelop 4

Ayer mismo subí 2 vídeos los cuales espero que sirvan de ayuda para cualquiera que empiece a desarrollar en RoboComp (aunque también puede servir para cualquier programación) pueda trabajar cómodamente con KDevelop 4.

Me hubiera gustado doblar o subtitular los vídeos explicando lo que se hace en cada momento, pero como eso me llevaría su tiempo, veo la necesidad de publicarlos para que puedan ser de utilidad desde ahora. Sabéis que si tenéis cualquier duda, dejar un comentario en el blog es una buena opción, pues intentaré solucionarla lo más rápido posible.

Anuncios

11 mayo 2011 Posted by | all | , | Deja un comentario

Cómo integrar OSRGart en RoboComp

Anteriormente os había hablado sobre OSGArt y algunos truquillos que nos costó mucho esfuerzo dar con ellos. Por ahora tengo el componente moleComp para estudiarlo e integrar OSGArt en Camimic.

Damos por hecho que tememos OSGArt correctamente instalado en nuestro sistema, si no fuera el caso lo explico en esta entrada.

Necesitamos, para no partir de cero, lo siguiente:

  • La clase de OSGArt creada por Luiky (que se llama precisamente OSGArt) que se compone de los archivos osgArt.h y osgArt.cpp
  • Los patrones de las marcas, para que ARToolKit pueda comparar la imagen a procesar con los patrones, y localizar y hacer tracking de las marcas. Estos patrones tienen el formato patt.* donde el asterisco es el nombre de la marca(patt.hiro, patt.play…), por decirlo de aún modo, estos archivos tienen la extensión patt. a la izquierda del nombre de archivo. Todos estos archivos deben ir en una carpeta de nombre Data en la carpeta de los ejecutables de tu componente …micomponenteComp/bin/ junto al binario micomponenteComp.
  • Modificar el CMakeLists.txt para indicarle que use los archivos osgArt.cpp y osgArt.h durante la compilación.
  • Declararnos un objeto de tipo OSGArt en nuestro worker.h, inicializar el objeto en el constructor de worker.cpp, y dentro del compute() de worker.cpp llamar a la función mienbro updateArt(image) del objeto creado.
  • Las marcas impresas y en soporte rígido para interactuar con la parte de OSGArt de nuestro compoente.

En el final de la entrada adjunto mi CMakeLists.txt para que veáis las modificaciones necesarias en ese archivo. Aunque en realidad podéis mirar cualquier CMakeLists.txt de los componentes que usan OSGArt como pueden ser sevillaComp o armtrackerComp.

El código necesario para declarar el objeto en el worker.h es el siguiente:

    OsgArt *myOsgArtObject;

La línea para inicializar dicho componente en el contructor (Worker::Worker(…){}) del worker.cpp es esta:

    myOsgArtObject = new OsgArt(myQframeToShow);

*ATENCIÓN: La línea anterior es necesario escribirla entre el setupUi(this) y el show(), como se explica en esta entrada.

Por último, necesitamos escribir lo siguiente en el método compute(){} del worker.cpp, donde img es una imagen de tipo RoboComp (imgType) :

    myOsgArtObject->updateART(img);

Ahora, para dibujar a nuestro antojo sólo tendríamos que editar osgArt.h y osgArt.cpp, pero eso lo explicaremos en otra entrada.

CMakeLists con OSGArt en RoboComp

11 mayo 2011 Posted by | all | , , , , | Deja un comentario

   

A %d blogueros les gusta esto: