Line Tracker

Uno de los robots más clásicos es el "line tracker" o "busca líneas" para los no versados en la lengua de Shakespeare.

Consiste en un vehículo con una serie de sensores que buscan una línea de un cm de grosor dibujada en el suelo que conforma un circuito y la sigue a la mayor velocidad posible.

Así de sencillo. O no.

El kit de robots móviles trae las instrucciones para hacer un robot con dos sensores pero que en realidad sólo trabaja efectivamente con uno. La lógica es bastante sencilla y sigue la línea a base de avanzar a saltitos con una rueda u otra y ver si se ha salido de la línea o no.

Se pueden hacer aproximaciones al problema como la descrita muy sencillas con un sólo sensor o empezar a complicarlo/optimizarlo usando más sensores.

En mi caso dispongo sólo de tres fototransistores tal y como se puede apreciar en la foto (son las tres cajitas amarillas en el centro). Están iluminados por dos lámparas posicionadas delante de ellos:(haz click en la imagen para ampliarla)






 y la lógica que he utilizado es la siguiente:

  • Si los tres sensores ven blanco (entiéndase "no línea") comenzar una búsqueda de circuito (gira unos 30º, avanza unos 20 cm, gira unos 30º, avanza...). hasta que encuentra la línea con cualquiera de sus sensores.
  • Si el sensor central está sobre la línea y ninguno de los laterales ve la línea, avanza a máxima velocidad.
  • Si el sensor central ve la línea y el sensor derecho o izquierdo también ve la línea frena la cadena del lado que ve la línea a la mitad de la velocidad dejando la otra cadena a máxima velocidad.
  • Si sólo el sensor de la derecha o el de la izquierda ven la línea y el central no la ve, la cadena del lado que ve la línea gira marcha atrás a máxima velocidad dejando la del otro lado girando hacia delante a máxima velocidad
  • Si los tres sensores ven la línea. Comenzar búsqueda de circuito (es prácticamente imposible que se produzca esta situación y si ocurre es que estoy cruzando perpendicularmente la linea por lo que al girar 30º ya deshago la situación y estoy sobre la línea)

Esta lógica se efectúa en un bucle continuo y el resultado es un robot que sigue la linea de manera suave y eficiente.

Se puede optimizar más el código para saber negociar cruces. Con sólo tres sensores es bastante ineficaz.

Para construir un robot así, hay que tener en cuenta el eje de giro. Al acercar o alejar los sensores del eje de giro, disminuimos o aumentamos la capacidad de negociar giros pronunciados a costa de aumentar o reducir los cambios de dirección y por lo tanto la velocidad del robot. En esta foto podéis ver el riel en el que van sujetos los sensores que permite posicionarlos a cualquier distancia del centro de giro.



Os dejo un par de fotos más del robot: