39
DISEÑO E IMPLEMENTACIÓN DE UN REGULADOR PID DEL
FLUJO DE UN LEVITADOR NEUMÁTICO
Laura Colín Rivas
1
Juan Fernando García Mejía
2
Allan Antonio Flores Fuentes
3
Recibido: 01/10/2020
Aprobado: 30/10/2020
Resumen
Los algoritmos evolutivos son un área de las tecnologías de la información que
permiten problemas de optimización, tanto combinatorios como numéricos. Un ejemplo
de problema de optimización numérica es el ajuste de las ganancias de un controlador
Proporcional-Integral-Derivativo, el cual, en esta propuesta, es aplicado a la regulación
de altura de un levitador neumático. Este es un dispositivo electromecnico que eleva de
manera controlada un objeto a partir de las variaciones de un determinado flujo de aire.
El algoritmo aplicado fue una Evolucin Diferencial, que tiene como objetivo la
minimización del error cuadrático medio del levitador a una entrada escalón. Esto permite
obtener un controlador con mejores índices de desempeño que el obtenido por el criterio
de Zigler-Nichols.
Palabras-clave: Levitador neumático-Criterio de Zingler-Nichols-Evolución
Diferencial
Abstract
Evolutionary algorithms are an area of information technologies that allow
optimization problems, both combinatorial and numerical. An example of a numerical
optimization problem is the adjustment of the gains of a Proportional-Integral-Derivative
controller, which, in this proposal, is applied to the height adjustment of a pneumatic
levator. This is an electromechanical device that lifts an object in a controlled manner
1
M. en Ciencias de la Computación. Universidad Autónoma del Estado de México.
lcolinr@uaemex.mx
2
Dr. en Proyectos. Universidad Autónoma del Estado de México. fgarciam@uaemex.mx
3
Dr. Ciencias de la Electrónica. Universidad Autónoma del Estado de México.
aafloresf@uaemex.mx
40
based on variations in a certain air flow. The applied algorithm was a Differential
Evolution, which aims to minimize the mean square error of the levitator at a step input.
This allows obtaining a controller with better performance indices than that obtained by
the Zigler-Nichols criterion.
Keywords: Pneumatic levator-Zingler-Nichols Criterion-Differential Evolution
41
Introducción
Los levitadores neumáticos son dispositivos electromecánicos que tiene como
propósito elevar un objeto a partir de las variaciones de un determinado flujo de aire,
suministrados por medio de un ventilador. Tienen aplicación en la industria alimenticia,
en los sistemas de seguridad de algunos comercios en donde se realiza el traslado de
valores de un punto a otro y como objeto de estudio de ingeniería de control, dado que
tienen una construcción simple permiten el diseño, desarrollo y pruebas de nuevas
estrategias de control. La Ilustración 1 muestra los bloques de un levitador neumático
constituidos por un sensor de distancia, ya sea ultrasónico o laser, como objeto levitante
una esfera de material ligero como el unicel, un tubo de acrílico transparente que permite
visualizar la elevación del objeto y un ventilador (Chitoide, 2008).
Ilustración 1. Diagrama esquemático de un levitador
neumático constituido por un ventilador y un
tubo de acrílico transparente
El comportamiento de los levitadores neumáticos pueden regularse por medio de
sistemas de control que están formados por una combinación de componentes con
interacciones en común, que tienen como objetivo lograr un funcionamiento y respuesta
determinada, regulada con relación a una señal de entrada determinada, con el menor
error, el cual se define como la diferencia entre la entrada y salida de un sistema a
controlar (Duarte, 2007); un sistema de control formado por un elemento denominado
42
planta, que puede ser constituido por un elemento mecánico o eléctrico cuya respuesta es
regulada por un dispositivo conocido como controlador que suele ser implementado
mediante circuitos electrónicos. Una topología usada comúnmente es la mostrada en la
Ilustración 2 y se conoce como PID.
Ilustración 2. Esquema clásico de un regulador tipo PID analógico donde 𝒖(𝒔) es la salida del
regulador 𝒓(𝒔) la referencia y 𝒄(𝒔) la salida regulada
La expresión matemática muestra que la salida u(s) es una combinación de las
acciones antes descritas, de tal forma que tiene componentes de los errores acumulados
y el gradiente de los errores actuales y pasados (Du y Swamy, 2016).
.
Factorizando la expresión anterior se obtiene
Este controlador al combinar estas acciones permite que la salida
c
(
s
) tenga un
error en estado estable tendiente a cero, mientras que el tiempo de establecimiento se
disminuye con respecto al lazo abierto. La ecuación 2 muestra que el problema de diseño
es el cálculo de los parámetros proporcional 𝐾
𝑝
, integral 𝑇
𝑖
y derivativo 𝑇
d
. Esto es
conocido como sintonización del controlador. Para el ajuste de las ganancias de un
controlador PID, el más común es el ajuste de Ziegler-Nichols. Una alternativa a este es
el uso de técnicas de optimización numérica, en específico han mostrado ser de especial
interés para la literatura especializada los algoritmos evolutivos.
Una forma de diseñar controladores clásicos y óptimos tanto en dominio continuo
o discreto, así como de funciones de membresía de reguladores difusos es por medio de
43
la optimización, la cual se puede definir como una de las áreas de la ingeniería. Es un
conjunto de ideas que encuentran el mejor resultado posible o la óptima solución bajo la
presencia o ausencia de ciertas consideraciones denominadas restricciones (García, Colín,
Torres, Pérez y García, 2016) de problemas de la vida cotidiana en entornos económicos,
sociales y naturales si y solo si estos son modelables a través de funciones matemáticas
del formato 𝑓(𝑥1,𝑥2,…𝑥𝑛), lo que permite que estas puedan ser maximizadas o
minimizadas a través de un vector 𝑥 ={𝑥1,𝑥2,…𝑥𝑛} (Lovay, Peretti y Romero, 2017).
Matemáticamente se puede formular un problema 𝑃 de optimización sin
restricciones como una terna 𝑃= (𝑓,𝑆𝑆,𝐹), definida como lo muestra la ecuación
(Muñoz, 2007)
donde 𝑓 es la función para optimizar (se desea encontrar su máximo o mínimo), 𝐹 el
conjunto de soluciones factibles y SS el espacio de soluciones.
La optimización combinatoria es aquella que permite encontrar el valor 𝑥 ximo
o nimo para determinada función 𝑓, sobre un conjunto 𝐹 de posibilidades finitas de
soluciones. Dicha 𝑥∈𝑍 puede establecerse como un número entero 𝑍, una permutación o
una estructura de grafo (o subgrafo). Por otra parte, la optimización numérica encuentra
un valor 𝑥 máximo o mínimo para determinada función 𝑓, sobre un conjunto de
posibilidades infinitas 𝐹. Dicha 𝑥∈𝑍 puede establecerse como un 𝑍 real que puede
representarse en forma de vector. La optimización numérica o continua se define como el
conjunto de técnicas que tienen como finalidad maximizar o minimizar una o más
funciones con un número finito de variables, las cuales pueden estar sujetas a
determinadas restricciones. La condición para emplear técnicas de optimización numérica
es que se cumpla 𝑥 ={𝑥1, 𝑥2,…𝑥𝑛} ∀𝑥∈(Novoa, Pavel, Cruz y Pelta, 2014). Una forma
de resolver problemas de optimización, tanto determinísticos como estocásticos es
mediante el uso de algoritmos computacionales, por lo tanto, es posible aseverar que
optimización es una de las áreas de aplicación de las tecnologías de la información.
Un ejemplo de algoritmo evolutivo es la Evolución Diferencial (Differential
Evolution, DE, por sus siglas en inglés) que surgió como una técnica de optimización
numérica, desarrollado en 1994 por Kenneth Price y Rainer Storn profesores de Berkeley
44
California. La DE utiliza un operador de mutación simple que se basa en la diferencia de
pares de soluciones (llamadas vectores), que permite determinar una dirección de
búsqueda con base en el conjunto de vectores que se denomina población (Ogata, 2014).
La recombinación y la mutación son los operadores de variación usados para
generar nuevas soluciones y un mecanismo de reemplazo provee la capacidad de
mantener un tamaño en la población. La estrategia de reemplazo se basa en la
competencia realizada entre los vectores descendientes del proceso de recombinación
(hijos) con los de la población original, la cual es generada por medio de una distribución
de probabilidad normal. La mutación tiene como objetivo generar variaciones que
desplacen a los vectores solución en la dirección y magnitud correcta y en su forma más
simple se encuentra representado en la ecuación [9].
donde
𝐹𝜖 [0,1] es un factor de escala que controla la diferencia vectorial que se describe
en 𝑥 𝑟
1,
𝐺
𝑥 𝑟
2,
𝐺
𝐺 generación actual
𝑟1≠𝑟2≠𝑟3 representan los índices de los vectores usados en el operador de
mutación
Por otra parte, la recombinación permite el intercambio de información entre el
vector padre y del vector mutante generando un descendiente , donde cada uno de los
elementos del hijo puede ser tomado del vector padre o del vector de mutación con una
probabilidad determinada por el parámetro 𝐶𝑅 el cual se encuentra dentro del intervalo
[0,1]. Este operador se describe en la ecuación
En la Ilustración 3 se muestra el diagrama de flujo de un algoritmo de Evolución
Diferencial.
45
Ilustración 3. Diagrama esquemático de un algoritmo de Evolución Diferencial canónico o simple
para una función
Metodología
Para el desarrollo de esta propuesta se usó el levitador neumático implementado en
[Laura] el cual se muestra en la Ilustración 4. Tiene como características un tubo de
acrílico de 0.9 metros de altura con un diámetro de 50.8 mm, una esfera de unicel de 40
gramos de peso y un ventilador de 6000 rpm, estos elementos se han colocado en una
estructura de madera.
Ilustración 4. Dimensiones y elementos del levitador neumático usado para esta propuesta
46
La función de transferencia del levitador a lazo abierto se muestra en la ecuación y
su respuesta a un escalón de 4.5 volts de entrada se muestra en la Ilustración 5
Ilustración 5. Respuesta a lazo abierto de un levitador neumático con un escalón de entrada de 4.5volts
A partir de la función de transferencia a lazo abierto y los conceptos desarrollados
en la sección de introducción es posible definir la siguiente función de transferencia a
lazo cerrado.
Para ajustar las ganancias de un regulador PID se propone como problema de
optimización maximizar el inverso del error cuadrático medio por su simplicidad de
interpretación analítica en relación con otros criterios de desempeño. Esto supondría una
mejora en resultados obtenidos de la sintonización con respecto a técnicas analíticas como
el método de Ziegler-Nichols; de tal forma que se puede escribir una función objetivo en
términos de la minimización del error cuadrático medio expresado en términos de las
ganancias del controlador.
47
La tabla 1 muestra las características del algoritmo de Evolución Diferencial
implementado. Cabe mencionar que las soluciones se expresan en forma de un vector
𝑠𝑜𝑙=[𝑘
𝑝
,𝑘
𝑖
,𝑘
𝑑
]
Característica
Valor
Número de soluciones
100
Factor de escala (F)
Random [0,1]
Probabilidad de
recombinación
Random [0,1]
Tabla 1. Características del algoritmo de evolución diferencial propuesto
Análisis de los resultados
Como lo muestra el esquema metodológico de la Ilustración 3 debe de aplicar el test
de Lilliefors con la finalidad de determinar la normalidad de los datos. En este caso el p-
valor del test es de 0.5505, mayor al valor de significancia 0.05. Como lo muestra el
esquema metodológico propuesto el siguiente paso es el cálculo de los valores promedio,
máximo y mínimo, así como del coeficiente de variabilidad.
Parámetro estadístico
Valor
Media
22.97891
Desviación Estándar
0.658852
Valor Máximo
24.53605
Valor Mínimo
21.70608
Coeficiente de variación
2.867204%
Tabla 2. Estudio estadístico aplicado a los resultados obtenido con la evolución diferencial
Otro parámetro importante para valorar el desempeño de un algoritmo evolutivo es la
convergencia, que puede representarse en forma gráfica como lo muestra la Ilustración 6
donde se observa que la convergencia de una ejecución del algoritmo es alrededor de la
ejecución 100; de tal forma que los valores del controlador PID determinados por el
algoritmo evolutivo y por el criterio de Zigler-Nichols es mostrado en la tabla 3.
48
Ilustración 6. Convergencia del Algoritmo de Evolución Diferencial
Método
kp
ki
kd
Algoritmo Evolutivo
0.07128612
0.006703178
0.1772441
Criterio de Zigler-
Nichols
0.021
0.0042
0.0525
Tabla 3. Valores de los controladores propuestos por el criterio de Zigler-Nichols y por el Algoritmo de
Evolución diferencial
Después de hacer la evaluación del algoritmo de Evolución Diferencial y haber
determinado las ganancias del controlador PID por medio del algoritmo propuesto y del
criterio de Zigler-Nichols es necesario realizar la valoración de los criterios de desempeño
del sistema de control. En primer termino se muestra en la Ilustración 7 la gráfica de
respuesta, donde el color rojo corresponde a la respuesta de la regulación de altura con
un PID ajustado por la ED y con negro la correspondiente al criterio de Zigler Nichols.
49
Ilustración 7. Respuesta a lazo cerrado de los sistemas de control, en color rojo ajuste por medio del
Algoritmo de Evolución Diferencial y en negro criterio de Zigler-Nichols
A partir de la Ilustración 7 es posible construir la tabla 4 con los criterios de
desempeño para ambos sistemas de control
Método
Tiempo de
establecimie
nto
Error en
estado
estable
Algoritmo
Evolutivo
39s
0.000471305
9%
Criterio de
Zigler-
Nichols
75s
0.8960436%
Tabla 4. Criterio de desempeño de los controladores obtenidos
Conclusiones
A partir de los resultados expuestos en la tabla 4 se observa que los valores de los
criterios de desempeño para el controlador propuesto por el algoritmo de Evolución
Diferencial son menores que el propuesto por Zigler-Nichols. La convergencia es un área
de oportunidad, dado que es factible trabajar en la reducción de este parámetro, a partir
de la variación de los operadores de la Evolución Diferencial. Una segunda alternativa
puede ser el uso de micro heurísticas como lo propone Chitode (2008) pero aplicada a la
ED. Una tercera alternativa radica en pruebas con otras heurísticas basadas en ruta. Es
destacable como aportación a la optimización de controladores el uso de prueba
estadísticas que tiene como finalidad determinar el comportamiento del algoritmo, en este
caso se usa el test de Lilliefors una alternativa mas robusta al test de Kolmogorov Smirnov
50
que garantiza la determinación de la normalidad de los resultados reportados por un
algoritmo evolutivo, esto es la diferencia fundamental con el trabajo desarrollado en
Chitode (2008) donde no existe una comprobación estadística que garantiza el
funcionamiento del algoritmo.
Referencias
Chitode, J. S. (2008). Numerical Techniques. Pune, India: Technical Publications Pune.
Du, K.-L., y M.N., Swamy (2016). Search and Optimization by Metaheuristics:
Techniques and Algorithms Inspired by Nature. Suiza: Springer.
Duarte Muñoz, A. (2007). Metaheurísticas. Madrid, España: Universidad Rey Juan
Carlos Servicio de Publicaciones.
García Mejía, J.F., Colín Rivas, L., Torres Reyes, C.E., Pérez Martínez, J.A. y García
Mejía, J.A. (2016). “Control de Levitador Neumtico con base en un PID y micro
algoritmos genéticos” Journal CIM. Vol.4, Num. 1
Lovay, M., Peretti, G., & Romero, E. (2017). Aplicación del algoritmo evolución
diferencial en un método de dimensionamiento para filtros cuadráticos. Jornadas
Argentinas de Informática e Investigación Operativa (JAIIO)
Muñoz, G. (2007). Entorno para la optimización de problemas científicos. En
Tecnologías del Software: Seminario de Investigación e Innovación en Teconolgías del
Software (págs. 141-149). Madrid, España: Universidad Rey Juan Carlos Servicio de
Publicaciones.
Novoa-Hernández, P., Cruz Corona, C., & Pelta, D. (2014). Un estudio comparativo sobre
evolución diferencial auto-adaptativa en ambientes dinámicos. Revista Cubana de
Ciencias Informáticas, 8(4), 86-99 [9]
Ogata, K. (2014). Ingeniería de control moderna. Madrid, España: Pearson Johnson, M.
A., y M. H., Moradi (2005). PID Control: New Identification and Design Methods.
Londres, Reino Unido: Springer.