Está en la página 1de 9

Universidad de los Llanos. Valbuena, Nicolás. Botias, Diego.

Robot seguidor de línea con controlador


PID y seguimiento de trayectoria.

ROBOT SEGUIDOR DE LINEA Y DE downs. Odometry was carried out based on the
TRAYECTORIA CONTROLADO POR PID position formulas on the x axis and on the y axis, the
angular position was also evaluated. Subsequently, a
Valbuena, Nicolás1. Botias, Diego2. graph was made showing its trajectory and location in
nicolas.valbuena@unillanos.edu.co real 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 - salida del mismo, se diseñan diferentes controles que
3.3A para alimentar todo el sistema, de ahí se generan una estabilidad y a su vez un
distribuye voltaje al módulo regulador LM2596 que comportamiento adecuado que permita el
nos bajara la tensión a 5V para la alimentación de la cumplimiento del objetivo principal del sistema [1].
tarjeta de desarrollo. Esto también se puede evidenciar en los sistemas de
Con ayuda de los sensores IR TCRT5000 se realizó los robots móviles, especialmente los que usan
el seguimiento de trayectoria la cual está dada por ruedas, también denominados carros robóticos, estos
una línea negra trazada sobre una pista blanca, dicha en muchos casos son robots no holonómicos que se
pista tiene altibajos. La odometría se efectuó en base aplican en sistemas de riesgo y en industrias en el
a las fórmulas de posición en el eje x y en el eje y, área de la electrónica, están comprendidos por una
también se evaluó la posición angular. mecánica no muy sofisticada, pero bastante útil, no
Posteriormente se realizó un gráfico donde se plasma tienen un desplazamiento libre a los costados, por
su trayectoria y ubicación en tiempo real. tanto, son muy utilizados en el seguimiento de
trayectorias [2]. Gracias a un controlador PID de
Palabras claves: Control PID, PWM, RPM, velocidad este robot es capaz de avanzar sin presentar
odometría. cambios bruscos en su aceleración siguiendo un
recorrido estipulado, siendo bastante apropiados en
Abstract— This article presents the design and acciones de rescate con recorridos precisos o
implementation of a PID controller for a line follower seguimientos de trayectoria para la distribución de un
robot, programmed on the ESP-32 development determinado objeto [3].
board from the Visual Studio Code IDE using C
language. Several RPM data samples were taken in Desde el control análogo se han encontrado
relation to various PWM that were stipulated, this problemas de optimización, es por ello que surge una
data has a sampling time of 50 ms. Then the data was tecnología como respuesta a dicho problema, la cual
exported to the MATLAB software where the es el control digital, donde prácticamente todos los
transfer function is generated and with it, the control sistemas de control se basan en microcontroladores y
constants by means of the SISOTOOL tool. microprocesadores que permiten un control desde una
The power part was managed with a L298N H bridge computadora, haciendo frente a necesidades mayores
to which a 7.5V - 3.3A battery is entered to power the y de mayor exigencia. La optimización de estas
entire system, from there voltage is distributed to the tecnologías logra un alto nivel de confianza que
LM2596 regulator module that will lower the voltage consecuentemente da un producto de alto nivel de
to 5V for the power supply. the development card. calidad [4]. Dicha optimización también obedece a
With the help of the TCRT5000 IR sensors, the los principios fundamentales de constantes del
trajectory was followed, which is given by a black control PID, donde se encuentra una acción
line drawn on a white track, said track has ups and
Universidad de los Llanos. Valbuena, Nicolás. Botias, Diego. Robot seguidor de línea con controlador
PID y seguimiento de trayectoria.

proporcional (kp) que se ajusta por medio de la ● Diseño y construcción del robot.
ganancia la cual sucede cuando el cambio presente en ● Adquisición de datos entrada-salida del
la salida del controlador es múltiplo del porcentaje motor por medio del encoder.
del cambio en la medición. Se tiene también una ● Obtención de la función de transferencia.
acción integral (ki) que elimina el error en el régimen ● Diseño del controlador PID.
estacionario (cuando el tiempo de establecimiento es ● Implementación del controlador PID.
mayor igual que el periodo de oscilación). Por último, ● Seguidor de línea.
una acción derivativa (kd), la cual disminuye la ● Seguimiento de trayectoria.
cantidad de sobre oscilaciones. [5]

En la aplicación del mundo de los sistemas de control Diseño y construcción del robot.
digital encontramos diferentes alternativas para él
diseño y evaluación de dispositivos y vehículos Para el diseño del chasis del robot se estableció un
enfocados al desarrollo de actividades en las cuales se diseño según los requerimientos adecuados de peso y
necesita precisión y un buen manejo de diferentes dimensiones, los parámetros del modelo fueron
variables físicas que pueden alterar de manera súbita ingresados en Fusion 360 para imprimirlo con ayuda
el sistema [6]. Técnicas como PSO (Particle Swarm de una impresora 3D.
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 técnicas que brindan soluciones Fig1. Diseño del chasis en Fusion 360.
eficaces y optimas [7]. Fuente: Autor.
.

II. MATERIALES Y MÉTODOS

Materiales

Los materiales empleados fueron:

 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 Fusion 360.
12kg-12V. Fuente: Autor.
 1 bola loca.
 Frame. (Chasis) Fig3. Frame impreso.
 Baterías.
 2 Ruedas.
 Módulo regulador LM2596

Metodología.

Para la realización de un robot seguidor de línea con


controlador PID y seguimiento de trayectoria se tuvo
en cuenta las siguientes consideraciones:
Fuente: Autor
Universidad de los Llanos. Valbuena, Nicolás. Botias, Diego. Robot seguidor de línea con controlador
PID y seguimiento de trayectoria.

Donde K es la ganancia del sistema y τ es la


Una vez impreso, se procede a ensamblar y hacer los constante de tiempo que indica la rapidez con la que
montajes de los motores con encoder, sensores responde ante una perturbación.
infrarrojos, la bola loca y el puente H con el fin de
termina el prototipado del robot según los diseños Para hallar la función de transferencia de la planta, se
iniciales. utilizo un motor DC con encoder de sensor
magnetico, una alimentacion de 12V para el motor y
Una vez tenemos ensamblado el chasis, observamos una de 5V para el encoder, una tarjeta de desarrollo
el siguiente resultado: ESP-32 para la programación y la recolección de
datos que seran guardados en una computadora.

Adicional a esto, se utilizo un módulo puente H


L298N para enviar los pulsos PWM al motor y asi
lograr variar la velocidad.

Para calcular los RPM se implemento la siguiente


ecuación:

60∗Numpulsos
RPM =
PPR∗N∗T s∗X

Ecuación 2.Calculo de RPM

Donde PPR son los pulsos por revolución, N es la


resolución del encoder, T s tiempo de muestreo, y X
es el número de conteos por pulso.

Los datos tomados de RPM para cada ciclo de trabajo


de PWM fueron muestreados bajo un tiempo de 50
Fig4. Robot con sus partes ensambladas ms hasta 4 segundos y se consignaron en una tabla de
Fuente: Autor. excel para un mejor analisis.
Adquisición de datos entrada-salida del motor por Obtención de la función de transferencia
medio del encoder.
Posteriormente los datos se exportaron en forma de
Para realizar la caracterización del motor DC, se variables al software Matlab, cada PWM con sus
toman datos según un tiempo de muestreo y se respectivos RPM y en el System Identification se
registran para observar la variación de las RPM del generaron las variables en el tiempo para calcular la
motor en cada ciclo de trabajo de la señal PWM función de transferencia segun cada valor de 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.

Segun los datos obtenidos, se puede deducir que la


funcion de transferencia de la planta se puede
modelar como un sistema de primer orden, el cual es
representado por la siguiente funcion:

K
G ( s )=
τs+1
Fig 5. Herramienta para identificar la funcion de
Ecuación 1. Función de transferencia de un sistema transferencia
de primer orden.
Universidad de los Llanos. Valbuena, Nicolás. Botias, Diego. Robot seguidor de línea con controlador
PID y seguimiento de trayectoria.

Como se quiere hallar una función de transferencia


que sea similar a la planta para cada entrada de
PWM, se realiza un promedio de las funciones de
transferencias encontradas y así finalmente obtener la
función de transferencia de la planta.

Las respectivas gráficas y funciones de transferencias


para cada valor de PWM son:

.
Fig 9. Gráfica RPM con entrada PWM de 180.
Fuente: Autor.

Fig 6. Gráfica RPM con entrada PWM de 100


Fuente: Autor.

Fig 10. Gráfica RPM con entrada PWM de 200.


Fuente: Autor.

Fig 7. Gráfica RPM con entrada PWM de 120.


Fuente: Autor.

Fig 11. Gráfica RPM con entrada PWM de 220.


Fuente: Autor.

Fig 8. Gráfica RPM con entrada PWM de 140.


Fuente: Autor.

Fig 12. Gráfica RPM con entrada PWM de 250.


Fuente: Autor.
Universidad de los Llanos. Valbuena, Nicolás. Botias, Diego. Robot seguidor de línea con controlador
PID y seguimiento de trayectoria.

La función de transferencia obtenida luego de


promediar las funciones de transferencia y reducir
los terminos necesarios es la siguiente:

174.9
G ( S )= 2
S + 37.99 S+ 240
Ecuación 3.Funcion de transferencia promedio.

Fig 15. Respuesta al escalon de la funcion de


transferencia en lazo abierto en tiempo discreto.
Fuente: Autor.

Fig 13. Respuesta al escalon de la funcion de


transferencia en lazo abierto.
Fuente: Autor.
Fig 16. Respuesta al escalon de la funcion de
transferencia en lazo cerrado en tiempo discreto.
Fuente: Autor.

Diseño de controlador PID


Con la ayuda de una poderosa herramienta de
MATLAB que facilita en gran medida el diseño de
controles llamada “Sisotool”, se introduce la
función de transferencia final, a la cual se le hace
un control PI el cual permitirá variar la velocidad
de cada una de las ruedas del vehículo logrando
Fig 14. Respuesta al escalon de la funcion de que se estabilicen a la velocidad deseada.
transferencia en lazo cerrado. Los valores del controlador corresponden a:
Fuente: Autor.
X Valores del controlador
Luego, con ayuda del metodo ZOH o retenedor de
orden cero, se convierte la funcion de tiempo Kp 1.81
continuo a una funcion de transferencia en tiempo Ki 9.68
discreto, con un sample time de 0.05 segundos. Kd 0
Tabla1. Constantes del PID.
0.12178( z+ 0.5331) Fuente: Autor.
Gz=
(z−0.6702)(z−0.2232)
La función de transferencia correspondiente al
Ecuación.4.Funcion de transferencia en tiempo controlador obtenido es:
discreto.
1.6957(z−0.4657)2
C=
(z−1)
Universidad de los Llanos. Valbuena, Nicolás. Botias, Diego. Robot seguidor de línea con controlador
PID y seguimiento de trayectoria.

Ecuación.5.Funcion de transferencia controlador Sensor 1 Sensor 2


Comportamien-
to del robot
0 0 Estático.
Acciona motor
0 1 derecho (Giro a
la izquierda).
Acciona motor
1 0 izquierdo (Giro a
la derecha).
Acciona ambos
1 1 motores
(Avanza).

Tabla 2. Acciones del robot según los sensores IR


Fig 17. Respuesta en lazo cerrado en tiempo discreto Fuente: Autor.
compensado
Fuente: Autor. Los valores describen la dirección en la cual debe
Implementación del controlador PID moverse el robot para no desviarse de la línea
negra (su trayectoria), manteniendo su trayectoria
Se plantea un código en el cual los RPM captados fija constantemente.
por el encoder de cada motor sirven como
realimentación y comparación en el error en Seguimiento de trayectoria
cuanto a la entrada, que en este caso es el valor de
PWM estipulado. Varios métodos de navegación para robots
móviles requieren medir la posición y orientación
1. void controlPID(){ del robot en su espacio de trabajo. En el caso de
2. currentError = inputRPM- los robots móviles con ruedas, las técnicas basadas
currentRPM;
3. if (currentError > 300) en la odometría permiten determinar la ubicación
currentError = 300; del robot mediante la integración de medidas de
4. integral = integral + los desplazamientos incrementales de sus ruedas.
(currentError * dt);
5. derivativo = (currentError - Sin embargo, esta técnica está sujeta a errores que
previousError) / dt;
se acumulan con la distancia recorrida por el
6. PID = (Kp * currentError) + (Ki
* integral) + (Kd * derivativo); robot, lo que impide su uso exclusivo.
7. if (PID > 255) PID = 255;
8. else if (PID < 0) PID = 0; Otros métodos se basan en la detección de hitos
9. previousError = currentError; naturales o artificiales, cuya ubicación se conoce,
10. } 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
proporcional para identificar los valores digitales Lo primero que hicimos fue saber cuál es el ancho
generados por los dos sensores infrarrojos, los de nuestro robot y el radio de sus llantas, esto para
cuales nos servirán como guía del robot sobre una saber las distancias recorridas por la parte derecha
línea negra, con el fin de seguir una trayectoria (DR) y la parte izquierda (DI).
determinada.
Una vez tenemos estos datos, promediamos la
Una vez se identifican los valores, se determina la distancia recorrida central (DC) de esta manera:
siguiente tabla:
Universidad de los Llanos. Valbuena, Nicolás. Botias, Diego. Robot seguidor de línea con controlador
PID y seguimiento de trayectoria.

DR + DL
DC=
2

Ecuación 6. Promedio de las distancias


recorridas.

De esta manera tenemos que la actualización en la


distancia en el eje x será igual a posición actual en
x más la distancia recorrida centralmente por el
Fig 20. Simulación trayectoria hacia la derecha
coseno de φ : Fuente: Autor.
X́ =X + DC∗COSφ

De igual forma tenemos ecuaciones similares para III. RESULTADOS


la posición en el eje Y, y para la posición angular:
Obtencion de trayectorias en python
Ý =Y + DC∗SINφ
Se realizaron diferentes registros en una interfaz
basica desarrollada en python de trayectorias cortas
DR + DL realizadas por el robot movil, estas se definen según
φ́=φ+
L su velocidad lineal y angular.

Donde L es el ancho de nuestro robot.

Simulaciones en Matlab de la trayectoria


registrada y programada

Se realizaron diferentes simulaciones para ver el


comportamiento del robot en diferentes entornos y
la viabilidad de algunos movimientos y giros.

Fig21. Trayectoria circular


Fig 18. Simulación trayectoria circular Fuente: Autor.
Fuente: Autor.

Fig 19. Simulación trayectoria hacia la izquierda


Fuente: Autor.
Universidad de los Llanos. Valbuena, Nicolás. Botias, Diego. Robot seguidor de línea con controlador
PID y seguimiento de trayectoria.

transferencia de la planta (Compensador) y cerrar el


lazo del sistema. La respuesta del sistema controlado
en lazo cerrado ante entradas escalón de diferentes
valores se aprecia en la siguiente figura.

Fig22. Trayectoria circular pista


Fuente: Autor.
Fig 24. Respuesta del sistema controlado ante una
entrada escalón.
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 De manera consecutiva se tiene que el seguidor de
control PI para lograr la estabilización correcta del línea presentaba ciertos retrasos debido a una falta de
robot. optimización en el código.

En la siguiente figura se ve la respuesta del sistema El seguidor de línea genera algunos problemas de
en lazo abierto ante entradas escalón de diferentes estabilidad si la línea no es lo suficientemente ancha
valores. para ser reconocida, es recomendable calcular un
diámetro de al menos 3 cm para este modelo.

Fig 25. Robot siguiendo la trayectoria delimitada


por la línea negra
Fuente: Autor.

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
responde significativamente a partir del valor de 100
controlador, se procede a multiplicar la función de
en el rango de 0 a 255 del PWM con una frecuencia
transferencia del controlador por la función de
Universidad de los Llanos. Valbuena, Nicolás. Botias, Diego. Robot seguidor de línea con controlador
PID y seguimiento de trayectoria.

de 1Khz, si se introduce un valor menor no genera


movimiento y por lo tanto no se acciona el control. [3] G. Unal y E. Kiyak, “Modelling and pid controller
design for a quadrotor”, European Simulation and
La aplicación de las constantes de acción
Modelling Conference 2016, ESM 2016, pp. 398–
proporcional, integral y derivativa son suficientes
para tener resultados positivos, aun así, se ven 400, 2016.
algunos errores en la implementación por causas
externas del motor, por lo cual se infiere que Matlab [4] i. waldman, «introducción al control digital,»
no tiene la capacidad de diseñar un controlador 100% Universidad Nacional de San Martin, 2015, pp. 1-3
optimo.
[5] Campos Martínez, Ludeber Josmell y
El software Matlab cuenta con herramientas capaces
colaboradores. Control de temperatura de una
de establecer diferentes controladores y modelos que
permiten el desarrollo pleno de diferentes prototipos incubadora microbiológica utilizando un controlador
en la robótica móvil PID. ALICIA. [en línea]. 2015. [Consulta: 25 de
enero de 2020]. Disponible en formato PDF en:
La respuesta del sistema en cuanto al seguidor de http://repositorio.unac.edu.pe/handle/UNAC/1483
línea se puede mejorar aumentando la cantidad de
sensores para reducir el error, además, la respuesta [6] R. Kandiban y R. Arulmozhiyal, “Speed control
del PID debe ser lo suficientemente rápida para evitar
of BLDC motor using adaptive fuzzy PID controller”,
que el robot sufra una aceleración en las curvas
delimitadas por la línea negra. Procedia Engineering, vol. 38, pp. 306–313, 2012,
doi: 10.1016/j.proeng.2012.06.039.
La efectividad del controlador varía según la
corriente proporcionada por la fuente implementada, [7] T. Y.Abdalla y A. A. A, “PSO-based Optimum
por lo tanto, es recomendable utilizar una batería de Design of PID Controller for Mobile Robot
12 voltios con una corriente mayor a los 3.3 A para Trajectory Tracking”, International Journal of
un correcto funcionamiento del diseño.
Computer Applications, vol. 47, núm. 23, pp. 30–35,
La odometría es muy útil en la robótica móvil, 2012, doi: 10.5120/7497-0601.
permitiendo por medio de fórmulas matemáticas la [8] Bezerra, C. G. (2004). Localização de um robô
ubicación del robot y su respectiva visualización. En móvel usando odometria e marcos naturais (Master's
cuanto a su respuesta y gráfica, es necesario thesis, Universidade Federal do Rio Grande do
implementar un sistema más efectivo que permita Norte).
registrar diferentes movimientos para generar un
registro mucho más completo.

V. REFERENCIAS

[1] M. Kalyoncu y F. Demirbaş, “differential drive


mobile robot trajectory tracking with using pid and
kinematic based backstepping controller”, Selcuk
University Journal of Engineering ,Science and
Technology, vol. 5, núm. 1, pp. 1–15, mar. 2017, doi:
10.15317/Scitech.2017.65.

[2] C. S. Shijin y K. Udayakumar, “Speed control of


wheeled mobile robots using PID with dynamic and
kinematic modelling”, Proceedings of 2017
International Conference on Innovations in
Information, Embedded and Communication
Systems, ICIIECS 2017, vol. 2018-January, pp. 1–7,
2018, doi: 10.1109/ICIIECS.2017.8275962.

También podría gustarte