Sunday, April 7, 2013

Practica 1: Retos y Planteamiento

Una vez tenemos ya el entorno completamente preparado para el desarrollo solo nos falta empezar a programar. Pero antes es importante analizar el objetivo de la practica, que retos podemos encontrarnos y que soluciones proponemos.

El objetivo principal de la practica es conseguir que el robot pioner con el uso de una única cámara sea capaz de dar una vuelta completa al mapa "jaramaSigueLinea.world" siguiendo la linea azul que hay pintada en el suelo. El objetivo "secundario" es que dicha vuelta la de lo mas rápido posible.

Los problemas que nos podemos encontrar son de diversos tipos y con mayor o menor importancia y los listare a continuación.
  • Problemas del entorno:
    • Linea azul del mismo color que el cielo.
    • Cámaras con ruido.
    • Linea azul interrumpida por lineas de otros colores.
    • Inercia.
    • Curvas .
  • Problemas de desarrollo:
    • Como detectar la linea.
    • Decisión de la velocidad/dirección.
    • Perdida de la linea por parte del robot.
    • Tiempo de ejecución (FPS).
Hay que plantearse las diversas soluciones e ideas para estos problemas y los que surgirán en el futuro.
  • Soluciones a problemas del entorno:
    • Afortunadamente el cielo esta arriba y la linea abajo, solo analizaremos lo que nos interesa.
    • Con el ruido poco se puede hacer excepto un PID que sea robusto.
    • Se tratara de rellenar los huecos o ver el tamaño de esas lineas y coger varios puntos.
    • Para la inercia y las curvas hará falta bajar la velocidad a su llegada.
  •  Soluciones a problemas de desarrollo:
    • Tomaremos puntos en tres zonas diferentes de la mitad inferior de la imagen. En cada zona tomaremos 3 puntos separados por 2px o 3px para asegurarnos no caer en una linea negra. Con ello sabremos donde esta la recta y en que dirección apunta.
    • Se tratara de ir mas rápidos en las rectas y frenar a tiempo para las curvas.
    • Se implementara un modulo que en el caso de perder la linea sea capaz de encontrarla de nuevo.
    • Se tratara de ser todo lo eficiente posible, por ejemplo no utilizando toda la imagen y solo procesando "x" puntos.
En la próxima entrada hablaremos de el primer intento y  pondremos algunas imagenes del proceso de desarrollo.

No comments:

Post a Comment