Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ROBOT SEGUIDOR DE LINEA Y DE Odometry was carried out based on the position
TRAYECTORIA CONTROLADO POR PID formulas on the x axis and on the y axis, the angular
position was also evaluated. Subsequently, a graph
Valbuena, Nicolás1. Botias, Diego2. was made showing its trajectory and location in real
nicolas.valbuena@unillanos.edu.co time.
diego.botias@unillanos.edu.co
Universidad de los Llanos Keywords— PID, PWM, RPM, odometry control.
I. INTRODUCCIÓN
Resumen— En este artículo se presenta el diseño e Los sistemas de control son herramientas versátiles
implementación de un controlador PID para un robot que proporcionan una facilidad al momento de
seguidor de línea, programado en la tarjeta de modelar y desarrollar procesos en la industria, la
desarrollo ESP-32 desde el IDE Visual Studio Code electrónica y otros campos.
empleando lenguaje C. Se tomaron varias muestras de
datos de RPM en relación con varios PWM que se Estos permiten que los procesos que componen un
fueron estipulando, estos datos tienen un tiempo de sistema tengan cierto nivel de estabilidad y que sean
muestreo de 50 ms. Luego los datos se exportaron al manipulables según algunos parámetros
software MATLAB donde se genera la función de preestablecidos, enfocando así su funcionamiento a
transferencia y con ésta, las constantes de control por una finalidad deseada. Por ejemplo, si se desea
medio de la herramienta SISOTOOL. manipular ciertas variables de entrada en una planta o
La parte de alimentación se manejó con un puente H sistema para generar una respuesta determinada a la
L298N al cual se le ingresa una batería de 7.5V - 3.3A salida del mismo, se diseñan diferentes controles que
para alimentar todo el sistema, de ahí se distribuye generan una estabilidad y a su vez un comportamiento
voltaje al módulo regulador LM2596 que nos bajara la adecuado que permita el cumplimiento del objetivo
tensión a 5V para la alimentación de la tarjeta de principal del sistema [1]. Esto también se puede
desarrollo. evidenciar en los sistemas de los robots móviles,
Con ayuda de los sensores IR TCRT5000 se realizó el especialmente los que usan ruedas, también
seguimiento de trayectoria la cual está dada por una denominados carros robóticos, estos en muchos casos
línea negra trazada sobre una pista blanca, dicha pista son robots no holonómicos que se aplican en sistemas
tiene altibajos. La odometría se efectuó en base a las de riesgo y en industrias en el área de la electrónica,
fórmulas de posición en el eje x y en el eje y, también están comprendidos por una mecánica no muy
se evaluó la posición angular. Posteriormente se sofisticada, pero bastante útil, no tienen un
realizó un gráfico donde se plasma su trayectoria y desplazamiento libre a los costados, por tanto, son muy
ubicación en tiempo real. utilizados en el seguimiento de trayectorias [2].
Gracias a un controlador PID de velocidad este robot
Palabras claves: Control PID, PWM, RPM, es capaz de avanzar sin presentar cambios bruscos en
odometría. su aceleración siguiendo un recorrido estipulado,
siendo bastante apropiados en acciones de rescate con
Abstract— This article presents the design and recorridos precisos o seguimientos de trayectoria para
implementation of a PID controller for a line follower la distribución de un determinado objeto [3].
robot, programmed on the ESP-32 development board
from the Visual Studio Code IDE using C language. Desde el control análogo se han encontrado problemas
Several RPM data samples were taken in relation to de optimización, es por ello que surge una tecnología
various PWM that were stipulated, this data has a como respuesta a dicho problema, la cual es el control
sampling time of 50 ms. Then the data was exported to digital, donde prácticamente todos los sistemas de
the MATLAB software where the transfer function is control se basan en microcontroladores y
generated and with it, the control constants by means microprocesadores que permiten un control desde una
of the SISOTOOL tool. computadora, haciendo frente a necesidades mayores
The power part was managed with a L298N H bridge y de mayor exigencia. La optimización de estas
to which a 7.5V - 3.3A battery is entered to power the tecnologías logra un alto nivel de confianza que
entire system, from there voltage is distributed to the consecuentemente da un producto de alto nivel de
LM2596 regulator module that will lower the voltage calidad [4]. Dicha optimización también obedece a los
to 5V for the power supply. the development card. principios fundamentales de constantes del control
With the help of the TCRT5000 IR sensors, the PID, donde se encuentra una acción proporcional (kp)
trajectory was followed, which is given by a black line que se ajusta por medio de la ganancia la cual sucede
drawn on a white track, said track has ups and downs. cuando el cambio presente en la salida del controlador
Universidad de los Llanos. Valbuena, Nicolás. Botias, Diego. Robot seguidor de línea con controlador
PID y seguimiento de trayectoria.
es múltiplo del porcentaje del cambio en la medición. ● Diseño del controlador PID.
Se tiene también una acción integral (ki) que elimina ● Implementación del controlador PID.
el error en el régimen estacionario (cuando el tiempo ● Seguidor de línea.
de establecimiento es mayor igual que el periodo de ● Seguimiento de trayectoria.
oscilación). Por último, una acción derivativa (kd), la
cual disminuye la cantidad de sobre oscilaciones. [5]
Diseño y construcción del robot.
En la aplicación del mundo de los sistemas de control
digital encontramos diferentes alternativas para él Para el diseño del chasis del robot se estableció un
diseño y evaluación de dispositivos y vehículos diseño según los requerimientos adecuados de peso y
enfocados al desarrollo de actividades en las cuales se dimensiones, los parámetros del modelo fueron
necesita precisión y un buen manejo de diferentes ingresados en Fusion 360 para imprimirlo con ayuda
variables físicas que pueden alterar de manera súbita de una impresora 3D.
el sistema [6]. Técnicas como PSO (Particle Swarm
Optimization) se utilizan para buscar un punto
particular en el espacio multidimensional con el fin de
ser encontrado por medio de múltiples vectores que
apuntan en una sola dirección. Los Controladores PID
adaptativos o difusos y controladores PID
convencionales constituyen una amplia variedad de
métodos para establecer procesos óptimos que pueden
ser totalmente identificados y aplicados a nivel
industrial, académico y científico, por lo cual el mundo
del control digital y su gran desarrollo va en
crecimiento a un ritmo acelerado generando múltiples Fig1. Diseño del chasis en Fusion 360.
técnicas que brindan soluciones eficaces y optimas [7]. Fuente: Autor.
.
Materiales
• 1 Puente H L298N.
• 2 Sensor IR TCRT5000.
• 1 Tarjeta de desarrollo ESP-32. Fig2. Diseño final del chasis (parte superior) en
• 2 Motores con encoder relación 1:34 de 12kg- Fusion 360.
12V. Fuente: Autor.
• 1 bola loca.
• Frame. (Chasis) Fig3. Frame impreso.
• Baterías.
• 2 Ruedas.
• Módulo regulador LM2596
Metodología.
infrarrojos, la bola loca y el puente H con el fin de Para hallar la función de transferencia de la planta, se
termina el prototipado del robot según los diseños utilizo un motor DC con encoder de sensor magnetico,
iniciales. una alimentacion de 12V para el motor y una de 5V
para el encoder, una tarjeta de desarrollo ESP-32 para
Una vez tenemos ensamblado el chasis, observamos la programación y la recolección de datos que seran
el siguiente resultado: guardados en una computadora.
Adquisición de datos entrada-salida del motor por Posteriormente los datos se exportaron en forma de
medio del encoder. variables al software Matlab, cada PWM con sus
respectivos RPM y en el System Identification se
Para realizar la caracterización del motor DC, se toman generaron las variables en el tiempo para calcular la
datos según un tiempo de muestreo y se registran para función de transferencia segun cada valor de PWM.
observar la variación de las RPM del motor en cada
ciclo de trabajo de la señal PWM ingresada. Si se
requiere una mayor precisión es necesario registrar
estos datos en una tabla donde se realice mas de una
toma de datos para cada valor de PWM y finalmente
promediarlos.
.
Fig 9. Gráfica RPM con entrada PWM de 180.
Universidad de los Llanos. Valbuena, Nicolás. Botias, Diego. Robot seguidor de línea con controlador
PID y seguimiento de trayectoria.
Fig 15. Respuesta al escalon de la funcion de Fig 17. Respuesta en lazo cerrado en tiempo discreto
transferencia en lazo abierto en tiempo discreto. compensado
Fuente: Autor. Fuente: Autor.
Universidad de los Llanos. Valbuena, Nicolás. Botias, Diego. Robot seguidor de línea con controlador
PID y seguimiento de trayectoria.
Implementación del controlador PID Los valores describen la dirección en la cual debe
moverse el robot para no desviarse de la línea negra
Se plantea un código en el cual los RPM captados (su trayectoria), manteniendo su trayectoria fija
por el encoder de cada motor sirven como constantemente.
realimentación y comparación en el error en cuanto
a la entrada, que en este caso es el valor de PWM Seguimiento de trayectoria
estipulado.
Varios métodos de navegación para robots móviles
1. void controlPID(){ requieren medir la posición y orientación del robot
2. currentError = inputRPM- en su espacio de trabajo. En el caso de los robots
currentRPM; móviles con ruedas, las técnicas basadas en la
3. if (currentError > 300) odometría permiten determinar la ubicación del
currentError = 300;
robot mediante la integración de medidas de los
4. integral = integral +
(currentError * dt); desplazamientos incrementales de sus ruedas.
5. derivativo = (currentError -
previousError) / dt; Sin embargo, esta técnica está sujeta a errores que
6. PID = (Kp * currentError) + (Ki se acumulan con la distancia recorrida por el robot,
* integral) + (Kd * derivativo); lo que impide su uso exclusivo.
7. if (PID > 255) PID = 255;
8. else if (PID < 0) PID = 0;
9. previousError = currentError; Otros métodos se basan en la detección de hitos
10. } naturales o artificiales, cuya ubicación se conoce,
presentes en el medio ambiente. Aunque esta
técnica no genera errores acumulativos, puede
Esto permite un avance con una velocidad
requerir un tiempo de procesamiento mucho más
constante sin importar el nivel de inclinación del
largo que el uso de la odometría [8].
terreno.
Para poder saber en qué posición se encuentra el
Seguidor de línea
robot, nos basamos en la odometría y sus fórmulas.
En el seguidor de línea se aplicó una comparación
Lo primero que hicimos fue saber cuál es el ancho
proporcional para identificar los valores digitales
de nuestro robot y el radio de sus llantas, esto para
generados por los dos sensores infrarrojos, los
saber las distancias recorridas por la parte derecha
cuales nos servirán como guía del robot sobre una
(DR) y la parte izquierda (DI).
línea negra, con el fin de seguir una trayectoria
determinada.
Una vez tenemos estos datos, promediamos la
distancia recorrida central (DC) de esta manera:
Una vez se identifican los valores, se determina la
siguiente tabla: 𝐷𝑅+𝐷𝐿
𝐷𝐶 =
2
Comportamien-
Sensor 1 Sensor 2
to del robot Ecuación 6. Promedio de las distancias
0 0 Estático. recorridas.
Acciona motor
0 1 derecho (Giro a
De esta manera tenemos que la actualización en la
la izquierda).
Acciona motor distancia en el eje x será igual a posición actual en
1 0 izquierdo (Giro a x más la distancia recorrida centralmente por el
la derecha). coseno de 𝜑:
Acciona ambos 𝑋́ = 𝑋 + 𝐷𝐶 ∗ 𝐶𝑂𝑆𝜑
1 1 motores
(Avanza).
De igual forma tenemos ecuaciones similares para
Tabla 2. Acciones del robot según los sensores IR la posición en el eje Y, y para la posición angular:
Fuente: Autor.
𝑌́ = 𝑌 + 𝐷𝐶 ∗ 𝑆𝐼𝑁𝜑
Universidad de los Llanos. Valbuena, Nicolás. Botias, Diego. Robot seguidor de línea con controlador
PID y seguimiento de trayectoria.
𝐷𝑅 + 𝐷𝐿
𝜑́ = 𝜑 +
𝐿
Fig 20. Simulación trayectoria hacia la derecha Se observa que, al someter a una entrada escalón de
Fuente: Autor. diferentes valores a la planta, el sistema no logra
estabilizarse al valor de RPM deseados. Por ello es
necesario implementar un control PID, en este caso
III. RESULTADOS control PI para lograr la estabilización correcta del
robot.
Obtencion de trayectorias en python
En la siguiente figura se ve la respuesta del sistema en
Se realizaron diferentes registros en una interfaz lazo abierto ante entradas escalón de diferentes
basica desarrollada en python de trayectorias cortas valores.
realizadas por el robot movil, estas se definen según su
velocidad lineal y angular.
Universidad de los Llanos. Valbuena, Nicolás. Botias, Diego. Robot seguidor de línea con controlador
PID y seguimiento de trayectoria.
IV. CONCLUSIONES
Fig 23. Respuesta del sistema sin controlar una Al diseñar e implementar el control de velocidad se
entrada escalón. notó buena precisión debido a la robustez del
Fuente: Autor. controlador sin embargo el control se vio limitado
debido a la naturaleza del motor que usamos el cual
Una vez hemos encontrado los valores del controlador, responde significativamente a partir del valor de 100
se procede a multiplicar la función de transferencia del en el rango de 0 a 255 del PWM con una frecuencia de
controlador por la función de transferencia de la planta 1Khz, si se introduce un valor menor no genera
(Compensador) y cerrar el lazo del sistema. La movimiento y por lo tanto no se acciona el control.
respuesta del sistema controlado en lazo cerrado ante
entradas escalón de diferentes valores se aprecia en la La aplicación de las constantes de acción proporcional,
siguiente figura. integral y derivativa son suficientes para tener
resultados positivos, aun así, se ven algunos errores en
la implementación por causas externas del motor, por
lo cual se infiere que Matlab no tiene la capacidad de
diseñar un controlador 100% optimo.
V. REFERENCIAS