martes, 3 de junio de 2008

Practica 3: El Rescate (1)

Enunciado

La idea de esta práctica es programar el robot para que siga una línea en la cual se encontrará discontinuidades, obstáculos (latas) y heridos, el comportamiento debe ser adecuado en cada situación como se indica en la guía.

Lo primero que hemos hecho es programar un sigue lineas básico que es capaz de seguir un camino completo, recuerda el último giro realizado de modo que para el siguiente giro toma la curva en la misma dirección, esto ayuda para que las curvas largas se hagan mas rápido.

Para las discontinuidades se comienza el mismo procedimiento de giro y si tras un numero n de iteraciones no se ha conseguido de nuevo encontrar la línea se alinea con la posición anterior y avanza hasta encontrar la linea o repetir el procedimiento.

Los heridos son de dos tipos, los plateados se toman como un caso especial de las discontinuidades, al encontrar un valor de luz menor que el de la línea puede ser el de un herido plateado o el del fondo. Si es un herido el robot hace un sonido y sigue.

Los heridos de color verde se consideran parte de la línea, de modo que solo se encuentran cuando se está avanzando, de esta manera durante el avance se comprueba el color encontrado, si es parecido al verde se comprueba que realmente está sobre un herido girando 10 grados y recomprobando.

Hicimos esto porque existe la posibilidad de que el borde de la línea se confunda con el verde.


Por último añadimos la funcionalidad de esquivar obstáculos, en nuestro caso una lata. Para poder identificarlo usamos el sensor de ultrasonidos que va tomando medidas constantemente, en el momento que identifica que hay un obstáculo cercano deja de seguir la línea y bordea la lata. Una vez bordeada vuelve a buscar la línea y sigue con el recorrido.










Rescue.java

No hay comentarios: