Mochilo el robot sigue línea

31 03 2008

Creo que este se merece ser uno de los primeros post, ya que este pequeño proyecto es uno de lo más curiosos que he realizado hasta ahora y de los que más me ha gustado a mí y a la gente que lo ha visto. El vídeo sólo dura hasta el minuto 4.15 aproximadamente.

Se trata de un pequeño robot que es capaz para de seguir una línea (negra sobre fondo blanco, o viceversa) y evitar los obstáculos que encuentre en su camino y retomar la línea para continuar con su recorrido. Éste era el objetivo de la primera práctica de la asignatura Biocibernética Computacional (www.educandorobots.es). En esta asignatura Roberto Moreno Díaz jr. nos introdujo a la rama de la ciencia informática orientada a la creación de sistemas artificiales tomando características sistemas biológicos, agradeciéndose su gran habilidad didáctica así como su experiencia en el campo.

Las instalaciones donde realizamos las prácticas fueron las del Instituto Universitario de Ciencias y Tecnologías Cibernéticas. Están situadas en el parque tecnológico en el sur del campus universitario de Tafira. Disponíamos del último set educacional de los lego minstorm, los NXC para ser más exactos, así como diferentes piezas de lego.

Los componentes básicos y más relevantes de la estructura del robot son los siguientes:

  • El bloque NXT: Se trata de la unidad central de proceso, se encarga de todos los cálculos, así como el almacenaje del programa y la interconexión con los sensores y actuadores.
  • Servomotores: es un dispositivo similar a un motor de corriente contínua, que tiene la capacidad de ubicarse en cualquier posición dentro de su rango de operación, y mantenerse estable en dicha posición. No tienen excesiva potencia, y a veces cuesta sincronizarlos.
  • Sensor de luz: Se trata de un sensor que nos permite percibir variaciones en la luz, nosotros usamos el modo de luz reflejada. Muy dependiente del entorno.
  • Sensor de Ultrasonidos: Sencillo sensor que mide el tiempo que tarda un sonido emitido en ser refractado y captado de vuelta por el sensor, luego se traduce el tiempo en una distancia aproximada. Lo malo es que depende mucho del material contra el que “impacta” el sonido.

desvio-linea.jpg

Abstractamente para el seguimiento de la línea seguimos un principio de lógica difusa, que más o menos consiste en valorar algo de manera no precisa si no aproximada y actuar en consecuencia, algo así a rasgos generales como si estamos muy desviados, rectificar un poco, si estamos mucho rectificar bastante, esta condición se verifica constantemente y se refina el proceso. Es algo bastante más complicado pero que no es del todo relevante, en un futuro se dedicará un artículo en exclusiva si fuese necesario. Simplificando nos basábamos que mientras mayor fuera la región observada por el sensor que se encontrase fuera de la línea (mayor índice de luz reflejaba, o sea más blanco percibido) más corregiamos la trayectoria por medio de la modificación de la velocidad de los dos motores, así si nos desviábamos por el lado derecho, aumentábamos la velocidad del motor derecho y disminuíamos la del izquierdo para que continuase su recorrido pero rectificando la trayectoria. El problema es que ante cambios muy bruscos de la dirección de la línea el robot la pierde, por lo que deben implementarse mecanismos para reencontrarla.

Para evitar un objeto simplemente mientras se sigue la línea se verifica que no hay un objeto cercano en la trayectoria del robot, si se encontrase se pasaría al modo de evitar obstáculos donde realizamos un pequeño giro en el sentido que vamos a evitar el obstáculo para perder la línea. A continuación se bordea el obstáculo hasta encontrar la línea, para ello nos alejamos más de él si estamos muy cerca y nos acercamos si nos alejamos, de manera análoga al seguimiento de la línea. Una vez hemos encontrado de nuevo el camino nos volvemos a alinear y proseguimos con el recorrido. Cabe destacar que hay ciertas situaciones que se producen con algunos obstáculos complejos tales como esquinas, los cuales se resuelven con métodos un poco más elaborados (Nótese que el sensor de ultrasonidos gira para ver obstáculos en diversas direcciones).

Este proyecto fue llevado a cabo con Valerio, Javier y Luis, todos compañeros de clase. En la segunda práctica de la asignatura el robot evolucionó para poder resolver laberintos, a este proyecto se le dedicará otra entrada en un futuro próximo si es posible.


Acciones

Información

Deja un comentario

Tienes que iniciar sesión para escribir un comentario.