Diferencia entre revisiones de «Butia reconocimiento marcas»

De Proyecto Butiá
Saltar a: navegación, buscar
(Generación de marcas)
(Generación de marcas)
Línea 30: Línea 30:
  
 
<oflash  
 
<oflash  
file="http://flash.tarotaro.org/ar/MGO2.swf" />
+
file="http://flash.tarotaro.org/ar/MGO2.swf"  
 +
width=1423
 +
height=769 />
  
 
== Trabajos a Futuro ==
 
== Trabajos a Futuro ==

Revisión del 11:42 5 sep 2012

Integrantes

  • Nicolás Fúrquez
  • Carlos Lima
  • Rafael Sisto

Objetivos

  • Utilizando ARToolKit construir un plugin para Tortugarte/Tortublocks que permita reconocer las marcas. Esto puede ser utilizado para que el robot se localice y navegue en un entorno.

Documentación de la solución

Se desarrolló un api que obtiene la información almacenada de las marcas y mediante la ayuda de ARToolKit se detectan las mismas en las capturas de la cámara.

El código fuente e instrucciones de instalación se pueden encontrar en el repositorio utilizado: multiPatternRecognition

Diagrama de componentes

TODO: diagrama de componentes (ARToolKit, library, plugin)

Paleta reconocimiento de marcas

TODO: imágenes de la paleta y documentar cada elemento

Desafíos y problemas encontrados

  • La librería ARToolKit requiere la librería libglut.so.3 para funcionar, sin embargo en las XO no es posible instalar la librería en carpetas del sistema. Esto causa que al intentar cargar la librería con C types en python se devuelva el error OSError: libglut.so.3: cannot open shared object file: No such file or directory. Para evitar este problema, se adjunta la librería en la carpeta del plugin y se carga en python previo a cargar la librería de ARToolkit con el siguiente comando: cdll.LoadLibrary("lib/libglut.so.3").

Instalación de plugin

TODO: imágenes de la paleta

Generación de marcas

TODO: incluir flash para generar marcas TODO: Instalación de marca

<oflash file="http://flash.tarotaro.org/ar/MGO2.swf" width=1423 height=769 />

Trabajos a Futuro

TODO:

  • Mayor versatilidad para marcas: El reconocimiento de marcas con ARToolKit facilitó el desarrollo de la solución, ya que al ser utilizado en otras actividades en las terminales XO acortaba el tiempo del proyecto, ya que no se tuvo que hacer un análisis de factibilidad y se tenía la librería ya compilada para los mismos, además que la generación de patrones ya viene resuelta. Sin embargo, al utilizar este API, las marcas están limitadas a una forma cuadrada y que estén contenidas dentro de un recuadro negro. Para poder evitar estas limitantes se sugiere utilizar un API de más bajo nivel como OpenCV para poder reconocer otros tipos de marcas, como por ejemplo, personas, caras, objetos, etc.
  • Paleta para obtener distancia a marca: La librería creada en C actualiza el estado de las marcas cuando detecta la presencia de las mismas. Entre esa información, se encuentra una matriz que tiene la posición de la marca respecto a la cámara. Se sugiere que con esta información se cree un nuevo bloque Distancia a la marca, similar al detectar marca, que reciba como parámetro el id de marca y devuelva la distancia a la marca.
  • Internacionalización: La paleta desarrollada se realizó en idioma español, pero sería recomendable internacionalizar las etiquetas para que pueda ser localizado a otros idiomas de TurtleArt, por lo menos en inglés.