► Introducción teórica a los robots seguidores de líneas con link interactivos (👈).
► Circuitos esquemáticos con regleta QTR8A POLOLU - Regleta de 8 Sensores QRD1114.
► Código base para Robot Seguidor de Líneas.
► Videos con explicación de código para Robot Seguidor de Líneas.
La introducción está basada y enfocada en el robot MECHA 19 👈, pero es válida para el desarrollo de tu propio robot seguidor de líneas.
Los robots seguidores de línea son máquinas móviles capaces de detectar y seguir una línea, la cual se encuentra ubicada en el suelo de una superficie.
Normalmente, el camino que el robot debe de seguir es marcado por una línea negra sobre una superficie blanca, o linea blanca sobre una superficie negra.
Esto permite obtener un enorme contraste entre los dos colores.
La diferencia de contraste permite definir la trayectoria que el robot debe seguir.
Un robot seguidor de líneas básico.👈 puede dividirse en partes principales con diferentes funciones, que son las que vamos a ver.
Alimentación
Motores
Sensores de Posición
Control
Programación
La alimentación es la fuente de poder de nuestro Robot, debemos pensar el diseño del mismo sabiendo que voltaje de alimentación tendremos disponible para la selección de los motores o que tensión y consumo de corriente necesitan estos para la selección de la batería.
Generalmente se utilizan Baterías Lipo 👈 recargables.
En caso de ser necesario podemos elevar la tensión utilizando Elevadores de tensión. 👈
Los motores son con caja reductora que dependiendo de la velocidad que pretendamos lograr será la selección de la relacion.
Para robot velocista generalmente se usan motores con caja reductora de 3000 RPM.👈
La tensión de alimentación de los motores y el consumo de corriente es un dato técnico muy importante a tener en cuenta.
Para poder controlar la dirección del robot tenemos que aumentar la velocidad de un motor con respecto al otro.
Si queremos girar a la derecha, aumentamos la velocidad del motor izquierdo y lo contrario para girar a la izquierda.
El control de la velocidad es por medio de una señal PWM 👈del controlador.
La tensión para el motor, el PWM y sentido de giro se efectúan por medio de un Driver de motores. 👈
Giro de robot con diferencia de rpm de motores
☼ Código para testeo de motores con ARDUINO y DRIVER.👈
A la hora de ponen en funcionamiento nuestro robot terminado, en nuestro código usaremos un control PID 👈 para manejar la velocidad de los motores según la lectura de los sensores IR.
Para guiar a nuestro robot por la linea negra o blanca debemos utilizar sensores IR, estos pueden ser:
Barra de sensores CNY70.👈
Barra de Sensores TCRT5000.👈
Barra de Sensores QRE1113.👈
Regleta de Sensores como la QTR8A 👈de Pololu
Independientemente de los sensores que usemos vamos a leer mediante las entradas analógicas👈 de nuestra placa controladora (ARDUINO)👈 la lectura de estos.
Sensores IR ubicados en la parte frontal de Robot
El microcontrolador tendrá en su código una función para leer los sensores por medio de sus entradas analógicas.
Esos valores leídos en cada bucle del código, serán procesados para conocer la posición de la parte frontal del robot con respecto a la linea a seguir aplicando un promedio ponderado👈 de las lecturas.
Esta información será aplicada para controlar el sentido de giro y la velocidad de los motores con un control PID básico para Seguidor de líneas.
Parte inferior del robot con la regleta QTR8A de pololu.
Podemos encontrarnos con pistas que tengan marcas o también llamadas banderas para indicarnos cambios en la pista.
Generalmente en las entradas a las curvas y a las salidas de estas o en cambios de elevación como pueden ser puentes.
El Código podríamos programar que al entrar en una curva cambie la velocidad de los motores o frenar para que la inercia no nos saque de la pista.
Es importante trabajar y probar el Código para que no nos provoque una mala o falsa lectura.
En el caso de la imagen podemos ver un sensor CNY70 👈a cada lado a una distancia entre ellos que se ajuste con la ubicación de las marcas.
La lectura de los mismos puede ser analógica👈 o digital👈, dependiendo de las conexiones y puertos disponibles en nuestra placa controladora.
Es importante volver a destacar el testeo de las lecturas, ya que es una buena posibilidad de mejora para el robot, pero también podríamos generar errores al tener falsas lecturas.
☼ El robot puede cumplir su función sin leer marcas.
El control de nuestro robot que llamaremos la placa de control posee varios componentes junto al microcontrolador que usemos.
En la placa además se encuentran los pines o borneras para poder conectarnos con los demás componentes fuera de la placa.
Este diseño utiliza piezas impresas en 3D o de MDF como chasis del Robot para bajar los costos, pero también podríamos montar todo diseñando una placa 👈que sea también el chasis.
La placa que diseñemos en la PCB 👈para nuestro robot deberá contar con estos elementos básicos:
LED 👈indicador de Alimentación.
Diodo 👈de protección para alimentación.
LED programable.
Driver👈 para control de motores.
Pulsador👈 para arranque.
Pines 👈de conexión para otros componentes.
Borneras👈 para conectar los motores.
Resistencias 👈para led y pulsadores.
Jumper👈 para cambios en el programa (opcional)
Estos componentes son para un funcionamiento de un robot seguidor de líneas básico.
En el código debemos programar diferente funciones que se relacionen entre si en el bucle de control para lograr que el robot siga la linea de trayectoria a la mayor velocidad posible sin perderla.
Algunas de las funciones o partes de código que debemos programar son:
Calibración de sensores (opcional).
LED indicador programable.
Lectura de sensores posición👈(puede utilizarse librerías de QTR8A).