Diferencia entre revisiones de «Plugin colores»

De Proyecto Butiá
Saltar a: navegación, buscar
(Introducción)
(Motivación)
Línea 15: Línea 15:
 
=== Motivación ===
 
=== Motivación ===
  
Durante el año 2013 cursamos la materia Butia interactuando con docentes, alumnos, personas interesadas en la robótica. Aquí tuvimos distintas experiencias con los robots tanto en el mundo del hardware como software.
+
Durante el año 2013 cursamos la materia Butiá interactuando con docentes, alumnos y personas interesadas en la robótica. Aquí tuvimos distintas experiencias con los robots tanto a nivel de hardware como de software.
  
Al comenzar la materia se fijaron las pautas para la aprobación donde entre estas se detallaba un proyecto para aprobar la materia. Aprobadas las instancias previas requeridas para realizarlo nos permitieron elegir un tema de interés sobre el cual trabajar. Debido a nuestra experiencia e inquietudes al ver funcionar los plugins reconocimiento de marcas y followme decidimos embarcarnos en esta camino para lograr nuestras metas en cuanto a la materia y las personales en cuanto al funcionamiento de estas tecnologías de reconocimiento.
+
Al comenzar la materia se fijaron las pautas de aprobación entre las que se detallaba un proyecto. Aprobadas las instancias previas requeridas para realizarlo nos permitieron elegir un tema de interés sobre el cual trabajar. Debido a nuestra experiencia e inquietudes al ver funcionar los plugins reconocimiento de marcas y followme decidimos embarcarnos en esta camino para lograr las metas de la materia y las personales en cuanto al funcionamiento de las tecnologías de reconocimiento.
  
 
=== Objetivos ===
 
=== Objetivos ===

Revisión del 09:23 18 jun 2014

Integrantes

  • Andrés Aldado
  • Alejandro Fontes
  • Kyria Márquez

Actualmente estamos

Proyecto finalizado! Esperamos que este espacio sea útil para que futuros estudiantes puedan extender este proyecto.

Documentación

Introducción

A continuación presentamos el proyecto Plugin para detección de Colores. En el mismo buscamos permitir al usuario interactuar con la cámara para utilizarla como un sensor de colores de manera ágil, amigable e interactiva a través de TurtleBots. Dando la posibilidad a los usuarios de utilizar estructuras de control y decidir acciones en base a los resultados obtenidos.

Motivación

Durante el año 2013 cursamos la materia Butiá interactuando con docentes, alumnos y personas interesadas en la robótica. Aquí tuvimos distintas experiencias con los robots tanto a nivel de hardware como de software.

Al comenzar la materia se fijaron las pautas de aprobación entre las que se detallaba un proyecto. Aprobadas las instancias previas requeridas para realizarlo nos permitieron elegir un tema de interés sobre el cual trabajar. Debido a nuestra experiencia e inquietudes al ver funcionar los plugins reconocimiento de marcas y followme decidimos embarcarnos en esta camino para lograr las metas de la materia y las personales en cuanto al funcionamiento de las tecnologías de reconocimiento.

Objetivos

  • Reconocer el color predominante en un escenario mediante la cámara web de un PC de manera eficiente utilizando libreria pygame.
  • Lograr un conjunto de funcionalidades que permita a los usuarios de manera ágil y amigable utilizar la cámara como sensor de color comparando el resultado obtenido con la paleta de colores nativa. Permitiendo tomar decisiones si el resultado obtenido es el esperado e interactuando con el resto de las funcionalidades de la paleta.

Desarrollo del problema

  • Configuración del entorno: A continuación se detallan los requisitos, dependencias y pasos para utilizar las funcionalidades del plugin para detección de colores a través de la cámara.
 - Dependencias: gcc, git, gettext, libusb-devel, sugar-emulator
 -


  • Re elevamiento de funcionalidades y algoritmos existentes

Se probaron diferentes plugins que actualmente existen en la plataforma butia, entre ellos observamos el comportamiento del plugin followme y reconocimiento de marcas. De estos dos plugins decidimos basarnos en followme para lograr concretar la funcionalidad deseada.

Dentro de los algoritmos existentes en la web encontramos muchos desarrollos en lenguaje C o matlab. Algunos de estos son Euclester o Mahalanobis. Según algunas comparaciones de los resultados el algoritmo de Mahalanobis es mas efectivo que Euclester.


  • Implementación de nuevas funcionalidades

Este desarrollo agrega la posibilidad de utilizar en una estructura de control un condicional, que compara el color que la cámara detecta con un color de la paleta nativa.


  • Herramientas utilizadas para resolver el problema

Pygame: es un conjunto de librerías de phyton que generalmente se utiliza para creación de video juegos en 2D. De aquí utilizamos la función average_color la cual nos devuelve el promedio de color en un cuadrado que fue seteado en la cámara.

Librería numpy: Es una extensión de phyton agrega soporte para vectores y matrices. La utilizamos básicamente para convertir un arrays en vectores.

Libreria math: Provee funciones para hacer cálculos matemáticos. Los cálculos que utilizamos fueron raíz, cuadrado.


  • Diagramas de flujo:


1- Funcionalidad comparar_color.


Comparar color.png

2- Funcionalidad setearBrillo:

Setear brillo.png

3- Funcionalidad setarTolerancia:

Set tolerancia.png

Plugin

A continuación se presentan las funcionalidades que ofrece el plugin y algunos ejemplos de uso.

Funcionalidadescolorview.png

Descripción de las funcionalidades

Comparar color: permite seleccionar un color de la paleta de colores nativa y comparar con el color que esta detectando la camara.

Ver camara: Visualizar lo que esta viendo la cámara en este momento.

Setear tolerancia:

Setear brillo:


Ejemplos

Video usando el plugin

Conclusiones

Trabajo a futuro