Proyecto Fin de Carrera

Robótica, software y telecomunicaciones.

Instalar un plugin en KDevelop 4

Una de las ventajas de KDevelop es que su propia concepción está basada en una serie de plugins, simplemente no se aprecian porque están muy bien integrados y normalmente nos vienen instalados por defecto todos los plugins que están estables y bien  probados, esto nos da la ventaja de que no tendremos que ir a buscar los plugins a una página para ir descargándolos e instalándolos pero también es cierto que el número de ellos no es demasiado elevado, comparándolo con otros programas como podría ser Firefox.

En KDevelop 4.2 tenemos unos 32 plugins cargados, pero hay algunos en los que que el equipo de desarrollo trabaja y podría interesarnos probar, o bien crear nuestro propio plugin.

Tenemos 2 remositorios principales donde buscar este tipo de plugins, el Extragear y el Playground, y hasta donde yo entiendo, el Playground es más novedoso e inestable y el Extragear es más estable y probado. Dichos repositorios son los siguientes:

Uno de los plugins que tengo ganas de probar es el Control Flow Graph que permite ver diagramas de flujo de cada función seleccionada con el ratón en KDevelop. Este plugin está alojado en el siguiente repositorio:

Bien lo primero que debemos hacer es bajarnos el plugin con el comando:

git clone git://anongit.kde.org/kdev-control-flow-graph

Antes de continuar tenemos que tener satisfechas las dependencias, en este caso, este plugin tiene dependencia del paquete GraphViz que debe estar instalado en el sistema para que la compilación sea correcta. Las dependencias las podemos ver en los archivos Readme que suele incluir normalmente cualquier software. Si de un paquete no sabemos sus depencencias tampoco importa mucho, en el sentido de que al hacer cmake obtendremos un error diciendo que nos falta tal o cual paquete de software en el sistema.

Para instalar GraphViz en Ubuntu 10.10 podemos instalarlo desde Synaptic o desde consola con apt-get o aptitude, el paquete necesario es graphviz-dev (a la hora de probarlo también pide el paquete kgraphviewer con el mensaje “Could not find the KGraphViewer factory”, no es un problema porque también se encuentra disponible en repositorios de Ubuntu):

sudo aptitude install graphviz-dev
sudo aptitude install kgraphviewer

Nos movemos al directorio que se acaba de crear con el comando:

cd kdev-control-flow-graph/

Y compilamos como lo solemos hacer con cmake . y make:

cmake .
make
sudo make install

Cerramos KDevelop y cuando lo abramos ya tendremos el plugin instalado y funcionando.

Si por algún motivo necesitamos desinstalar el plugin, desde el directorio del plugin ejecutamos el siguiente comando:

make uninstall

Nota*: Aleix Pol, uno de los desarrolladores de KDevelop 4, nos recomienda que al compilar hagamos “cmake -DCMAKE_INSTALL_PREFIX=/usr” en lugar del “cmake .” para que se instale en /usr que normalmente es mejor. Y nos recuerda que la manera correcta de compilar con cmake es:

 mkdir build
 cd build
 cmake ..
 make
 sudo make install

La forma que yo he expuesto inicialmente es el método de compilación personalizada que usamos para construir componentes de RoboComp, aunque en principio también es válido en este caso.

Es posible que KDevelop explote (se cierra repentinamente) ocasionalmente mientras usamos el plugin Control Flow Graph, si te ocurre esto una vez, las próximas veces que habras KDevelop 4 y cargues el plugin también te explotará. La solución en este caso, es iniciar KDevelop y cerrarlo sin intentar cargar el plugin, la próxima vez que vuelvas a iniciar KDevelop volvarás a poder usar Control Flow Graph sin problemas.

Hasta donde lo he probado, KDevelop explota cuando pinchas en el gráfico para que te lleve el cursor a la línea de código correspondiente. Pero aún no estoy seguro de que esto sea muy común o se debe a que estoy con varios workspaces.

Os dejo un video (no es mío) con Control Flow Graph funcionando:

Gracias a todos los desarrolladores de KDevelop por seguir adelante con este fantástico IDE, y en especial a Aleix Pol por su ayuda y a Sandro Andrade, el autor principal del plugin Control Flow Graph.

Anuncios

10 mayo 2011 Posted by | all | , , , | 1 comentario

Usando OSGArt en RoboComp

Ayer Luiky me creó un componente “en blanco” llamado moleComp el cual sería el punto de partida para integrar OSGArt en Camimic.

OSGArt es una integración de Open Scene Graph (OSG) con ARToolKit (la librería más popular para Realidad Aumentada), de forma que ARToolKit detecta y sigue las marcas de Realidad Aumentada, así como sus tranformaciones en el espacio, y OSG toma estos valores como referencia para construir todo un mundo en tres dimensiones sobre la marca.

La idea es usar OSGArt para crear un juego que se base en el tracking de una marca pero que cuando tenga el tracking del color/dedos pueda sustituir a la marca sin mucha complicación, lo más importante es que OSG necesita una referencia.

Ayer fue un día duro en el que después de muchas horas, todos los problemas se solucionaron en unos 30 minutos. En parte tengo la suerte de que el ordenador que uso en Sala Beta ya tenía OSGArt instalado correctamente, aunque la parte negativa es que no puedo contar como se instala OSGArt porque no lo he hecho.

Resumo las soluciones que tanto nos costó encontrar ayer en 2 notas importantes:

Nota Importante 1:  en nuestro caso (con RoboComp) es importante configurar OSGArt para que capture el vídeo por GStreamer en lugar de con V4L, sino podremos obtener un invalid pilex format que nos consuma toda la tarde.

Nota Importante 2:  inicializar los objetos de OSGArt entre el setupUi y el show, como en las siguientes líneas.

 setupUi(this);
 osgArt = new OsgArt(frameOsgArt );
 show();

Gracias a Luiky por toda su ayuda.

10 mayo 2011 Posted by | all | , , , , , , | 1 comentario

Camimic en Mayo

Hace apenas un mes que subía un vídeo con el estado de mi componente, ahora subo otro para que se puedan ver las mejoras en este tiempo.

La diferencia más importante es que ahora puedo trastear con OpenCV, que es lo que más tiempo me ha llevado, principalmente por la documentación y la forma de hacer las cosas, que desde mi punto de vista, no son nada claras.

10 mayo 2011 Posted by | all | 2 comentarios

   

A %d blogueros les gusta esto: