Showing posts with label Programas. Show all posts
Showing posts with label Programas. Show all posts

Tuesday, June 18, 2013

Laboratorios de Percepción: Reconocimiento, resolución y seguimiento de un laberinto mediante visión por computador



Resumen:

Este trabajo fue realizado para la asignatura de Laboratorios de Percepción del Máster Universitario en Automática y Robótica de la Universidad Politécnica de Madrid.

El trabajo consiste en el desarrollo de una aplicación con capacidad de reconocer y solucionar una impresión de un laberinto, realizar un seguimiento del laberinto que puede ser sometido a movimientos de traslación, rotación, acercamiento, alejamiento o perspectiva y mostrar la solución del laberinto sobre la imagen del mismo.

El sistema desarrollado en este trabajo está formado, a nivel de hardware, por un ordenador portátil y un sensor Kinect, y, a nivel de software, por una aplicación programada en el lenguaje C# en el entorno Visual Studio 2010 empleando las bibliotecas EmguCV y Kinect SDK.

El reconocimiento del laberinto se realiza en la imagen de bordes buscando contornos cerrados por líneas rectas con área mayor que 10.000 píxeles2, cuatro lados y ángulos entre 70 y 110º. Por su parte, la solución del laberinto se determina generando una serie de nodos, generando las aristas que unen los nodos, construyendo el grafo y aplicando un algoritmo A*. Por último, la visualización de los resultados se realiza convirtiendo la solución del laberinto del sistema de coordenadas del laberinto al sistema de coordenadas de la imagen.


Presentación:



Vídeo:

Monday, December 10, 2012

Robots Cooperativos: Algoritmos de exploración de un mapa para robots cooperativos

















Resumen:

Este trabajo fue realizado por dos personas para la asignatura de Robots Cooperativos del Máster Universitario en Automática y Robótica de la Universidad Politécnica de Madrid.

El trabajo consiste en el desarrollo de algoritmos para que un conjunto de robots cooperativos exploren una serie de mapas y de una plataforma para visualizar su ejecución. Los robots tienen capacidad para percibir las posiciones cercanas, elaborar sus propios mapas e intercambiar información con otros robots que se encuentren dentro de su área de comunicaciones y con una estación central. El objetivo de los algoritmos es explorar la mayor área y encontrar el mayor número de objetivos posibles en un contexto competitivo.

















Características:

Mundo:
- Mapa de 100 x 100 bits.
- Celdas libres (blancas), obstáculos (negros), objetivos (verdes) y robots (rojos).

Robots:
- Número: 10 robots.
- Tamaño: 1 celda.
- Visión: 2 celdas (área de 25 celdas).
- Comunicación: 10 celdas (área de 441 celdas).

Búsqueda:
- Tiempo: 500 movimientos.
- Objetivos: Explorar la máxima área y conseguir los máximos objetivos posibles.

Algoritmos: 
- Algoritmo 1: Probabilístico con umbrales variables según las casillas cercanas (libres, obstáculos, objetivos, robots...), las casillas lejanas (exploradas o no exploradas) y los objetivos de los robots (puntos en sus áreas de trabajo). Resultados del 80% del mapa y el 90% de los objetivos.
- Algoritmo 2: Planificación en A* con puntos generados de forma aleatoria en las zonas inexploradas de las áreas de trabajo de los robots. Resultados del 98,5% del mapa y el 100% de los objetivos. Utilizado en la competición.

Aplicación:
- Lenguaje: C#.
- Plataforma: Visual C#.