Introducción a la Robótica
(práctica 2 - Sigue lineas)

Página de la documentación de la práctica de Introducción a la robótica

Enlaces

Inicio
Configuración entorno de Trabajo
Práctica 0 (Hello World)
Práctica 1 (Bump & Go!)

Práctica 2 (Sigue lineas)
Práctica 3 (Radar)

ENUNCIADO

(Descargar enunciado)

En esta práctica, el elumno debe diseñar, construir y programar un robot que sea capaz de seguir una línea negra sobre una superficie blanca.

El programa debe poder cumplir la tarea en cualquier condición de luz ambienta, por lo cual habrá que programar algún modo de calibración de los colores.

SOLUCIÓN

La idea básica, es tener un sensor de luz, mirando al suelo para detectar la línea, si el robot detecta que se ha salido de la linea, se pone a buscarla hasta que la encuentra y continúa recto.

La línea a seguir es negra, por lo que dará valores bajos, mientras que el fondo es blando y da valores grandes, ya que el blanco refleja bien la luz, por lo que tomando un valor como "frontera", si el valor detectado por el sensor es menor a la "frontera" estaremos por línea negra, si es mayor, estaremos fuera, ejecutando el método "LocalizaLinea".

Lo primero que tendremos que averiguar es el valor de la "frontera". Al iniciar el robot, se llama a "calibrar" que primero pide el valor del negro, cuando apretemos al botón derecho, recogerá el valor, cuando apretemos el botón izquierdo, recogerá el valor del blando, calculará la mitad y ese será el valor de la frontera.

Para localizar la línea, primero nos paramos, hacemos barridos de izquierda a derecha, con amplitudes de ángulo cada vez mayores, hasta que encontremos la línea.

VIDEOS


CÓDIGO FUENTE

sigueLineas.java