Está en la página 1de 6

2019 IEEE 2nd Colombian Conference on Applications in Computational Intelligence

(ColCACI) June 5-7, 2019. Universidad del Norte, Barranquilla, Colombia.

Modeling and Control of a Two Tank System Using


Artificial Neural Networks
Jhon J. Lara line 1: 2nd Given Name Surname Jesus A. López
Ingeniería Mecatrónica Ingeniería Mecatrónica Departamento de Automática y Electrónica
Universidad Autónoma de Occidente Universidad Autónoma de Occidente Universidad Autónoma de Occidente
Cali, Colombia Cali, Colombia Cali, Colombia
jhon.lara@uao.edu.co sergio.cantillo@uao.edu.co jalopez@uao.edu.co

Abstract—En el presente trabajo se muestra el modelado, Para el desarrollo del artículo se empleará un sistema no
identificación y control de un sistema de tanques en cascada. El lineal de control de nivel de líquido, el cual se halla compuesto
sistema fue construido a escala para de esta manera poder realizar por 2 tanques en cascada, con una entrada (flujo de alimentación
la parte experimental del proyecto sobre un sistema real. q) y una salida (nivel en el tanque de dosificación #2 h) que, a
Inicialmente se realizó una toma de datos con que se obtuvo un través de un prototipo físico, se puedan obtener datos que
modelo basado en redes neuronales para identificar el permitan el entrenamiento de las RNA con el fin de modelar y
comportamiento dinámico del sistema. Posteriormente, controlar el sistema con los vectores de regresión descritos con
empleando la misma toma de datos, fue entrenada una red anterioridad. Estos elementos serán simulados en primer lugar
neuronal para controlar este sistema a través de un esquema de
por medio de un software como MATLAB y luego serán
control neuronal inverso. Ambas redes neuronales fueron
implementadas en la plataforma Arduino con que se pudo emular
implementados en un sistema micro controlado de la familia
y controlar el sistema de tanques real. Lo anterior permite mostrar ATMEGA a través de la plataforma de desarrollo de Arduino
la versatilidad de dicha plataforma para este tipo de aplicaciones que será interfaz con el prototipo.
logrando implementaciones de bajo costo El artículo se halla conformado del siguiente modo. En
primera instancia en la sección II se aborda el tema de
Keywords— ARX, Control Inverso Neuronal, Modelo Directo, construcción y modelado físico del prototipo, así como las
Planta de Nivel, Teorema de Aproximación Universal de Funciones.
medidas y consideraciones correspondientes; luego en la sección
III se describen brevemente temas generales de identificación y
control por redes neuronales como el teorema de aproximación
I. INTRODUCCIÓN universal de funciones, modelo directo, modelo inverso, entre
Un controlador es todo dispositivo que permite realizar otros, para una mejor comprensión; en la sección IV se aborda
cambios en el comportamiento original de un sistema dinámico, la identificación del prototipo a través del modelo directo, con
teniendo en cuenta los requerimientos de diseño dados por el la respectiva toma de datos, entrenamiento de la red y los
proceso a realizar [1]. Estos controladores se pueden realizar resultados de simulación en MATLAB y aplicación sobre el
tanto de forma analógica por medio de circuitos compuestos de prototipo mediante Arduino; posteriormente en la sección V, en
amplificadores operacionales, como de manera digital a través un primer momento se realiza el modelo inverso neuronal con
del diseño de algoritmos en software de programación, los datos obtenidos en la sección anterior, entrenando la red y
implementables en sistemas de cómputo o microcontroladores posteriormente validando como en la sección anterior tanto en
en contacto con los sistemas a controlar; En esta última rama, se MATLAB como a través del Arduino como interfaz de
destacan los distintos tipos de controladores que utilizan redes adquisición y el prototipo su funcionamiento, en un segundo
neuronales artificiales (RNA). momento se realiza el control por modo interno, donde se
emplean los modelos neuronales directo e inverso desarrollados
Estas técnicas de control inteligente no requieren en las secciones anteriores, comprobando la característica de
exclusivamente de un modelo matemático que represente el rechazo a perturbaciones de este modelo frente al modelo
sistema dinámico que se desea controlar; de hecho, es una inverso; Finalmente en la sección VI, se expresan las
técnica mucho más versátil con respecto a la información que conclusiones y aspectos clave con respecto al desarrollo del
puede recibir, dado que puede realizar su labor si se cuenta con artículo en sus diferentes secciones.
los datos correspondientes al comportamiento de la entrada y
salida del sistema, que por lo general es la información a la que II. CONSTRUCCIÓN Y MODELADO DEL PROTOTIPO FÍSICO
se tiene más fácil acceso del sistema. En el caso de realizar Para la aplicación de técnicas de control inteligente a este
identificación o control de sistemas, se pueden emplear redes sistema, fue requerida la construcción del prototipo físico
neuronales dinámicas que utilicen vectores de regresión [2], respectivo, el cual constó de 2 recipientes que cumplían la
[3]en sus entradas y el conjunto de datos requerido para el función de tanques dispuestos en forma de cascada, donde la
entrenamiento. unión entre ambos tanques y la salida del segundo tanque son
controladas por restricciones; como se representa en el diseño necesaria del mismo empleando RNA; para este propósito se
final del prototipo en la figura 1. emplea el teorema universal de funciones, el cual permite hallar
los parámetros como los pesos sinápticos de las neuronas
empleadas, de modo que se aproxime al valor de la función, que
en este caso sería la salida del sistema, dicha función está
definida por (1).

M  n 
F ( x1 ....xn ) =  α i ⋅ ϕ   ωij ⋅ x j − θ i  (1)
i =1  j =1 
Donde:
M: Número de neuronas en la capa oculta
n: Número de entradas a la red neuronal
Figura 1. Diseño a escala de la planta de nivel
xj : Vector de entrada a la red neuronal
Sin embargo, para este caso puntual, el prototipo no cuenta
con la restricción en el segundo tanque que realice el control del ωij : Peso entre la capa oculta y las neuronas de entrada
nivel de forma automática, dado que esta restricción funciona θi : Pesos de tendencia o umbrales de la neurona de la capa oculta
manualmente por medio de una llave de paso, modificando el
planteamiento de este sistema dinámico; esta situación conlleva αi Pesos entre la capa oculta y la capa de salida
a realizar el control de una sola variable (nivel del tanque 2). Las ϕ: Función de activación de las neuronas de la capa oculta,
características físicas del prototipo realizado se encuentran generalmente de tipo sigmoidal (logsig, tansig)
especificadas en la figura 2.
Del mismo modo, la función del error se encuentra
definida por (2):

F ( x1 ....xn ) − f ( x1 ....xn ) < ε (2)

Esta ecuación indica que es posible encontrar los parámetros


(pesos, numero de neuronas) adecuados que definan una red
neuronal de tal manera que la salida generada por la red neuronal
(F) se aproxime al valor de una función (f), en un valor de
tolerancia o error definido por el parámetro ε.
Una red neuronal para este tipo de aplicaciones, al recibir los
valores pasados de la salida y entrada del sistema a identificar,
Figura 2. Características físicas del diseño a escala de la planta de nivel. realiza una estimación de la salida actual de dicho sistema; del
mismo modo al ser el valor de la salida del sistema conocido, es
En este prototipo adicionalmente, se empleó una válvula posible calcular el error entre la salida real y la estimada por la
compuesta por un servo-actuador que junto a un sistema red como se describe en (2).
mecánico se encargaría de abrir y cerrar el paso del líquido, para
así controlar el flujo de líquido de un tanque al otro, dependiendo Este error puede ser considerado como la guía para que el
del grado de apertura al que se encuentre sometido (8 - 168°), algoritmo que la red emplea para aprender la dinámica del
esta información angular se utilizó como la variable de entrada sistema pueda modificar los pesos sinápticos para minimizar
para el entrenamiento de las redes neuronales a emplear. dicho error y de esta manera, la salida estimada sea lo más
parecida a la salida real; un modelo general de identificación por
Igualmente, para medir la variable de interés que para este redes neuronales se asemeja a la mostrada en la figura 3[4].
caso fue el nivel del tanque 2, ubicado en la parte inferior del
prototipo; para ello se empleó un sensor ultrasónico ubicado en
la parte superior de dicho tanque, de modo que constantemente
recopile datos de la distancia del agua respecto a su posición,
esta información se utilizó como la salida del modelo para el
entrenamiento de las redes mencionadas anteriormente.
III. TÉCNICAS DE CONTROL INTELIGENTE PARA
IDENTIFICACIÓN Y CONTROL DE SISTEMAS

A. Identificación de sistemas empleando redes neuronales


artificiales
El objetivo de esta técnica es identificar la dinámica del
comportamiento del sistema, sin importar la información Figura 3. Características físicas del diseño a escala de la planta de nivel.
Para realizar este proceso de identificación con RNA, se va Para este tipo de control, existe una modificación que mejora
a emplear un modelo ARX, que posee una relación entrada y su comportamiento respecto a los problemas mencionados
salida como la que se presenta en la figura 4, conformada por inicialmente, es conocida como control por modo interno, el cual
valores pasados tanto de la entrada como de la salida del sistema, involucra en su estructura, el modelo directo de identificación
donde la red se encarga de estimar el valor actual de la respuesta de la planta como parte de la referencia necesaria para el control,
del modelo [4, 5, 6]. esto se debe a que la entrada a este controlador es la comparación
entre la salida del sistema y el estimado por el modelo directo
quien al mismo tiempo tiene como entrada la salida de este
controlador, como se describe en la figura 7 [7].

Figura 4. Estructura básica del modelo neuronal ARX.

B. Control de sistemas empleando redes neuronales


artificiales Figura 7. Diagrama de Modelo Interno..

Cuando las RNA fueron empleadas como controladores IV. IDENTIFICACIÓN DEL SISTEMA CON REDES NEURONALES
tanto de sistemas lineales como no lineales, inicialmente se ARTIFICIALES
entrenaban con el fin de anular el comportamiento dinámico del
sistema, actuando como el inverso del sistema [2], con el fin de Para realizar el modelo de identificación al sistema de tanque
que la entrada y la salida del sistema fueran idénticos; la doble empleando el modelo ARX, se tomaron los valores
estructura de control por modo inverso es presentada en la figura correspondientes al comportamiento dinámico de la planta a
5. través del prototipo físico construido y empleando el sistema
embebido Arduino para la captura de datos de entrada (ángulos
Como se puede apreciar, este tipo de control de lazo cerrado de apertura del servo actuador entre 8° y 168°) y salida (nivel
se puede implementar con relativa facilidad; sin embargo, del tanque #2 entre 0 y 10 cm, medidos por un sensor
también presenta inconvenientes debido a alta sensibilidad al ultrasónico), que son representados en la figura 8, para realizar
ruido y altos esfuerzos de control; no obstante, para mejorar este el entrenamiento de la red, de modo tal que lograra imitar
último ítem se pueden emplear otros elementos como filtros fielmente al sistema en un rango definido.
paso bajos, entre otras técnicas.

Figura 5. Estructura básica del control neuronal inverso.

El Objetivo de entrenamiento para este tipo de redes es


minimizar el error entre la salida de la RNA que en este caso es
la estimación de la acción de control y la acción de control
medida [5] como se puede apreciar en la en la figura 6.

Figura 8. Datos de ángulos del servo (azul) y nivel del tanque (naranja) del
sistema.

Con la información obtenida anteriormente, se procedió a


entrenar la red, para ello se determinó que un regresor de
segundo orden con una configuración [2,2,1], es decir 2 retrasos
en el tiempo de la entrada del sistema iniciando desde el instante
t − 1 , y 2 retrasos en el tiempo de la salida del sistema es
suficiente para emular el comportamiento dinámico del sistema,
como se muestra en la figura 9.

Figura 6. Entrenamiento control neuronal inverso.


para la interfaz de MATLAB se utilizó el modelo directo, dado
a su buen comportamiento respecto a los datos originales y a que
no se emplearon funciones de transferencia, y para suavizar el
comportamiento del sistema al igual que eliminar componentes
de ruido, se implementó un filtro de segundo orden.

Figura 9. Esquema Modelo directo de la planta.

A partir de este modelado, se realizó el entrenamiento de la


red que realiza el modelo directo de la planta, utilizando el 70 %
del conjunto de datos disponible, teniendo en cuenta que se
utilizó una capa oculta con 50 neuronas, se realizaron 1000 Figura 11. Modelo inverso creado en MATLAB con red neuronal.
iteraciones para el entrenamiento y se emplearon funciones de
activación tangente sigmoidal en la capa oculta y función de Para tener una simulación más realista, se incluye un
activación lineal en la capa de salida. saturador, que se encarga de limitar la ley de control dado que
para este modelo de control son de valores elevados, y se hace
Luego del entrenamiento, se realizaron pruebas para necesario usar este elemento como un emulador del actuador que
verificar el adecuado entrenamiento de la red con los datos el prototipo físico de la planta posee. Para este caso, el saturado
obtenidos en la etapa de recolección; empleando el 30% de datos tiene un límite inferior de -20 y uno superior de 0, con estos
del conjunto que no fueron incluidos en el entrenamiento; el datos, al realizar la simulación se obtuvo el gráfico de respuesta
resultado de esta validación se presenta en la figura 10. del sistema con el controlador en la figura 12.

Figura 10. Respuesta temporal del modelo directo y la respuesta real de la Figura 12. Respuesta en el tiempo del modelo de la planta junto al control
planta (altura (cm) vs tiempo (s)). inverso neuronal (Altura del tanque (cm) vs tiempo (s)).

V. CONTROL NEURONAL Para corroborar los resultados obtenidos en las simulaciones


en MATLAB, se implementó esta red neuronal, así como la
A. Control Neuronal Inverso. generación aleatoria de valores en el sistema de prototipado
Para realizar el control neuronal por medio de MATLAB y electrónico Arduino MEGA (microcontrolador ATMEGA
posteriormente a través del prototipo físico, fue necesario 2560). En Arduino fue implementada la red neuronal del
entrenar otra red neuronal de modo tal que por medio de la controlador previamente entrenada en MATLAB; para la
estructura que se muestra en el evidenciando una ventaja interacción entre el prototipo y el equipo de cómputo, se utilizó
matemática y de proceso ante los sistemas controlados por una comunicación por puerto serial a 115200 baudios para la
estructura como el PID, especialmente en sistemas con recepción y el envío de información de las variables de entrada
elementos de no linealidad [9, 10, 11]. y salida que provienen del prototipo, como lo muestra el
esquema de control en la figura 13.
Para realizar este proceso, fueron requeridas 500 iteraciones
y 50 neuronas en su capa oculta; hay que tener en cuenta que
Figura 13. Diagrama de implementación en microcontrolador ATMEGA 2560 apoyado en MATLAB.

La interacción entre Arduino y el equipo de cómputo, Por tal motivo es pertinente la implementación de un control
permitió el control del prototipo físico de los tanques[12]; donde por modo interno, dado que una de sus mejores características
se obtuvo la respuesta presentada en la figura 14, evidenciando es el rechazo a las perturbaciones a las que el sistema puede estar
que el modelo entrenado y simulado en MATLAB, puede expuesto. Se debe tener en cuenta que el control por modo
controlar el prototipo adecuadamente. interno reviste mayor complejidad que el control inverso
neuronal, dado que el modelo interno debe contar con dos redes
neuronales en donde, una de ellas es el control inverso neuronal
realizado en la subsección anterior y el otro es modelo directo
del comportamiento de la planta. Bajo esas consignas el modelo
obtenido en MATLAB es el mostrado en la figura 16.

Figura 14. Respuesta en el tiempo del modelo de la planta junto al control


inverso neuronal implementado en Arduino (Altura del tanque (cm) vs
tiempo (s)).

B. Control por Modo Interno. Figura 16. Modelo interno en MATLAB


Para mitigar la debilidad del control inverso respecto las Al realizar la simulación con el modelo presentado en la
perturbaciones en el sistema, situación que se puede evidenciar figura anterior, donde se representaron un par de perturbaciones
en la figura 15, donde se aprecia que el sistema adquiere error para comprobar el comportamiento del sistema controlada ante
de estado estacionario al ser perturbado (en este caso un las mismas, como se evidencia en la figura 17.
escalón).

Figura 15. Respuesta en el tiempo del modelo de la planta junto al control por Figura 17. Respuesta en el tiempo del modelo de la planta junto al control por
modo interno implementado en Arduino (Altura del tanque (cm) vs modo interno (Altura del tanque (cm) vs tiempo (s)).
tiempo (s)).
Al igual que en el caso de control inverso, se realizó la correctamente, y de este modo eviten el traslado de
implementación de este controlador a través de Arduino como errores al modelo interno, lo que podría provocar
sistema embebido de captura de datos y control del sistema; con errores en estado estacionario o la desestabilización
un esquema de interfaz y control, similar al presentado en la completa del sistema.
figura 13, se realizó el control de la planta por modo interno en
el prototipo a través de la electroválvula, donde se obtuvo la • La incursión de tarjetas de prototipado electrónico
respuesta temporal obtenida en la figura 18; en esa figura como Arduino permiten realizar la implementación de
también se puede evidenciar que el prototipo puede ser diferentes esquemas de control inteligente a un bajo
controlado aún bajo escenario de perturbaciones. costo.

REFERENCIAS
[1] K. Ogata, Ingeniería de Control Moderna, 5th ed. Madrid: Pearson, 2016,
p. 23.
[2] M. Norgaard, O. Ravn, N.K. Poulsen, L.K. Hansen. Networks for
Modelling and Control of Dynamic Systems, Springer, Technical
University of Denmark. 2003.
[3] J. Guarnizo, C. Trujillo and J. López, Diseño Y Simulación de
Identificador Neuronal Y Controlador Inverso Generalizado Para Un
Reductor de Tensión, 1st ed. Bogotá, 2007, pp. 2-5.
[4] E. F. Caicedo, J A. López and M. A. Muñoz, “Control Inteligente”
Universidad del Valle, Cali, Colombia. 2009.
[5] J. Garrido Meléndez, P. Reyna Guerra, M. Vázquez Briones and A.
García Sosa, Control de Nivel a través de Redes Neuronales, 1st ed.
Universidad Tecnológica del Sureste de Veracruz. Nanchital, Veracruz,
Figura 18. Respuesta en el tiempo del modelo de la planta junto al control por
México 2009, pp. 2-4.
modo interno implementado en Arduino (Altura del tanque (cm) vs
tiempo (s)). [6] S A. Billings, Nonlinear System Identification NARMAX Methods in the
Time, Frequency and Spatio - Temporal Domains. 1st ed. Wiley, Sussex
2013, pp. 18-20.
CONCLUSIONES
[7] S A. Cantillo, L F. Chacón, J C. Arenas, J A. López, "Modelling and
• En el prototipo de la planta, se puede apreciar que en Control using Neural Networks of Quanser Flexible Joint Module".
los recipientes existen áreas que no son constantes Universidad Autónoma de Occidente, Cali, Colombia. 2017
cercanas a los puntos de salida, generando no [8] S. Sung, J. Lee and I. Lee, Process identification and PID control.
linealidades en el modelado dinámico del sistema. Es Singapore: Wiley, 2009.
importante mencionar que, a pesar de esta situación, los [9] P. Moby and K. Bipin, "Identification of Empirical Model and Tuning of
PID Controller for a Level Control System", Engineering Vibration,
esquemas de control neuronal implementados, Communication and Information Processing, 2019. vol. 478, pp. 385-
funcionaron adecuadamente. 397.
[10] Y. Chang and H. Wang, "Control system design for ionic polymer metal
• En la implementación realizada en Arduino, se composite using a single neuron based adaptive PID approach," 2015
obtuvieron pequeños retrasos de la señal de salida. Esto International Conference on Advanced Mechatronic Systems
se produjo por el tiempo del proceso que requiere la (ICAMechS), Beijing, 2015, pp. 349-352.
conversión que sufre la señal en el puerto serial en [11] G. Manohar, V. Elakkiya, P. Stanley and R. Sudha, "Neural network-
ambas direcciones. based level control in two tank conical interacting system," 2013 7th
International Conference on Intelligent Systems and Control (ISCO),
• Se recomienda probar los modelos directo e inverso del Coimbatore, 2013, pp. 194-196.
sistema de forma individual, esto con el objetivo de [12] S. Parra, Control ANFIS a Planta de Nivel dos tanques. Universidad
garantizar que ambos modelos funcionan Autónoma de Occidente Cali, Colombia. Disponible en:
https://www.youtube.com/watch?v=Rp2ccZYBi3w, 2018.

También podría gustarte