Implementación De Un Control Difuso En Cascada Para El Sistema Ball And Bean

Resumen

En este artículo se diseña un controlador difuso en cascada para el sistema Ball and Beam, con el objetivo de posicionar la bola metálica en cualquier punto de la viga. El control se hace en tiempo real utilizando un sistema en arquitectura abierta compuesto por una computadora, una tarjeta de adquisición de datos PCI (Quanser-PIDe), un servomotor (Quanser-SRV02), un sensor de posición (BB01), una bola metálica y una fuente de voltaje con etapa de potencia (Quanser- VoltPAQ –X1). La programación del controlador se realiza en la plataforma Simulink® de Matlab®.


Palabras clave: Sistema Ball and Beam, control en cascada, variables lingüísticas, funciones de membresía, control difuso.

Abstract

In this study, we design a fuzzy cascade controller for the Ball and Beam system, the control objective is to change the equilibrium position of the ball by measuring its position on the beam. The control is done in real time through a data acquisition card PCI (Quanser-PIDe), a servomotor (Quanser-SRV02), a position sensor (BB01), a metal ball and a power amplifier (Quanser- VoltPAQ –X1). The programming of the controller is done in Matlab®/Simulink®.


Keywords: Ball and Beam system, cascade control, linguistic variables, membership functions, fuzzy control.

Introducción

El sistema Ball and Beam es un modelo clásico de laboratorio para el diseño de algoritmos de control y la enseñanza de la ingeniería, debido a que introduce el tema de sistemas no lineales e inestables (López et al., 2011). Éste consiste de una viga sostenida por un motor y una bola situada sobre la viga. Se encuentra clasificado como un sistema subactuado debido a que cuenta con un solo actuador y dos grados de libertad, los cuales corresponden a la inclinación de la viga y al desplazamiento de la bola.

Para el control del sistema se diseña un controlador PD difuso en cascada, debido a que la posición de la bola está determinada a través del control de un servomotor. El cambio del desplazamiento de la posición de la bola requiere el cambio del ángulo de la viga determinado por el ángulo de posición de un servomotor (Sung-Kwun et al., 2009).

Para implementar el control en tiempo real se utiliza el Toolbox Fuzzy Logic de Matlab y la librería QUARC Target con la tarjeta PCI Quanser-PIDe.

Descripción del sistema ball and beam

El sistema Ball and Beam consiste en una bola de metal que rueda libremente sobre una viga, la cual cuenta con sensores analógicos que determinan su posición a través de la diferencia de potencial. La viga está sujeta al servomotor que controla con exactitud su posición para hacer rodar por la viga la bola metálica como se puede observar en la Figura 1 (Control Tutorials For MATLAB® & SIMULINK®, Ball & Beam System Modeling, 2012).

La función del sistema consiste en mantener la bola metálica en cualquier punto de la viga, y ante cualquier perturbación o movimiento de la bola metálica ésta deberá retomar su posición de equilibrio deseada

 

Figura 1. Sistema Ball and Beam de la marca Quanser.

 

El equipo experimental de la marca Quanser® que se utilizó, el cual se presenta en la Figura 2, está en el Laboratorio de Robótica de la Facultad de Ingeniería Electromecánica de la Universidad de Colima, y lo conforman una tarjeta de adquisición de datos PCI (Quanser-PIDe), un servomotor (Quanser-SRV02), un sensor de posición (BB01), una bola metálica y una fuente de voltaje con etapa de potencia (Quanser- VoltPAQ –X1), una computadora personal con Windows 7 que cuenta con la librería QUARC Target y el software Matlab para realizar el diseño de los dos controladores.

 

Figura 2. Equipo Experimental

 

En la Tabla I se muestran las características y especificaciones del sistema Ball and Beam de la marca Quanser, estas especificaciones son muy importantes para plantear el universo de discurso del controlador difuso (Quanser® Ball and Beam, User Manual, BB01,Quanser® Inc, 2011).

 

Tabla 1. Características del ball and beam

 

En la Figura 3 se identifican las variables presentadas en la Tabla I, que existen en el sistema y muestran su comportamiento. Para el diseño del controlador difuso se utiliza la experiencia y el conocimiento del comportamiento del sistema.

 

Figura 3. Variables del sistema.

 

Diseño del controlador difuso

La lógica difusa es una rama de la inteligencia artificial, que ofrece una nueva alternativa en la estrategia de control, ya que se basa en información con alto grado de imprecisión, en esto se diferencia de la lógica clásica que trabaja con información bien definida y precisa.

La lógica difusa es un conjunto de principios matemáticos basados en grados de membresía o pertenencia, cuya función es modelar información. Este modelado se hace con base en reglas lingüísticas que aproximan una función mediante la relación de entradas y salidas del sistema (composición). Esta lógica presenta rangos de membresía dentro de un intervalo entre 0 y 1, a diferencia de la lógica convencional, en la que el rango se limita a dos valores: cero o uno (Ponce. 2010).

En la Figura 4 se presenta el diagrama de bloques para desarrollar la metodología de la lógica difusa para el control, consta de tres etapas:

Fusificación, que consiste en pasar los valores medidos a un rango de pertenencia entre cero y uno.

Creación de reglas, que sirven de guía para que el sistema se comporte de la manera deseada. Se plantean en base a la experiencia sobre el comportamiento del sistema.

Desfusificación, que consiste en el proceso de convertir el grado de pertenencia de las variables lingüísticas de salida en variables nítidas o reales.

 

Figura 4. Diagrama de control difuso.

 

El diseño del controlador difuso consiste en establecer, con base en la experiencia de la operación del sistema Ball and Beam, las funciones de membresía que son fusificaciones consistentes en la transformación de la variable exacta a una variable difusa, llamada “error”.

El sistema Ball and Beam es inestable en lazo abierto porque la salida del sistema puede incrementarse sin límite como respuesta a una entrada constante, el esquema que se maneja para el control es de lazo cerrado en cascada, el cual está compuesto por dos bloques difusos unidos, en donde uno depende del otro directamente, principalmente consiste en un lazo de control externo y un lazo de control interno como se muestra en la Figura 5. En donde el lazo de control externo es para el control de la posición y el control para el servomotor es el lazo de control interno (Sung-Kwun et al., 2009).

 

Figura 5. Control en cascada.

 

Los valores difusos utilizados, para la variable difusa “error” en la posición deseada, están definidos por los conjuntos difusos de la Figura 6a, los cuales son etiquetados de la forma siguiente: ENM, Error Negativo Mucho; EN, Error Negativo; ENP, Error Negativo Poco; CC, Cercano a Cero; EPP, Error Positivo Poco; EP, Error Positivo; y, EPM, Error Positivo Mucho. Para la variable difusa “ángulo deseado”, los valores difusos están definidos por los conjuntos difusos de la Figura 6b, los cuales son etiquetados de la forma siguiente: SNM, Salida Negativa Mucha; SN, Salida Negativa; SNP, Salida Negativa Pequeña; SCC, Salida Cercana a Cero; SPP, Salida Positiva Pequeña; SP, Salida Positiva; y, SPM, Salida Positiva Mucha.

 

Figura 6. Conjuntos difusos para el control del ángulo deseado

(a) Variable de entrada y (b) Variable de salida.

 

Los valores difusos utilizados para la variable difusa “error” en el ángulo deseado están definidos por los conjuntos difusos de la Figura 7a, los cuales son etiquetados de la forma siguiente: NM, Negativo Mucho; N, Negativo; NP, Negativo Poco; C, Cercano a Cero; PP, Positivo Poco; P, Positivo; y, PM, Positivo Mucho. Para la variable difusa “voltaje aplicado al servomotor”, los valores difusos están definidos por los conjuntos difusos de la Figura 7b, los cuales son etiquetados de la forma siguiente: SNM, Salida Negativa Mucha; SN, Salida Negativa; SNP, Salida Negativa Pequeña; SCC, Salida Cercana a Cero; SPP, Salida Positiva Pequeña; SP, Salida Positiva; y, SPM, Salida Positiva Mucha.

 

Figura 7. Conjuntos difusos del control para el servomotor (Segundo bloque fuzzy): (a) Variable de entrada y (b) Variable de salida.

 

El mecanismo de relacionar la entrada y salida se hace con base a la experiencia en la operación de la planta. Se relaciona la entrada con la salida creando reglas; en la Figura 8 y Figura 9, se presentan las reglas creadas en el editor de reglas del Toolbox Fuzzy Logic de Matlab.

 

Figura 8. Editor de reglas del primer bloque fuzzy, para el control del ángulo deseado

 

 

Figura 9. Editor de reglas del segundo bloque fuzzy, para el control del servomotor.

 

Análisis de resultados

Es importante resaltar que las pruebas están hechas en unidades de cm. La viga cuenta con un sensor que mide posición negativa en -20 cm y posición positiva en 20 cm. Para comprobar el control en cascada aplicado al sistema Ball and Beam se realizaron las pruebas siguientes.

La primera prueba consistió en llevar a la bola metálica desde una posición inicial 0 hasta la posición 10 cm, después a 20 cm y regresarla a 0. Los resultados de esta prueba se observan en la Figura 10. El tiempo empleado en posicionarse la bola metálica en el punto de referencia (SP) es de 7 s, con un error de 0.01; en el caso de 10 cm a 20 cm no tiene ningún sobreimpulso y logra posicionarse en 2.3 s, con un error de 0.07. En la transición que hay de 20 cm a 0 tiene una pequeña oscilación y se logra posicionar en 8 s, con un error de 0.01.

 

Figura 10. Posición real (línea continua) y la posición de deseada SP (línea discontinua).

 

En la Figura 11, se muestra la señal de error que tuvo la bola metálica durante sus transiciones, este error es la diferencia de la posición deseada contra la posición real de la bola metálica.

 

Figura 11. Error de posición

 

En la Figura 12 se presenta la señal de control aplicada al actuador para lograr la posición deseada.

 

Figura 12. Señal del actuador

 

La segunda prueba consistió en llevar a la bola metálica desde una posición inicial 0 hasta la posición -20 cm, después a -10 cm y regresarla a 0. Los resultados de esta prueba se observan en la Figura 13. El tiempo empleado para establecerse en el SP de 0 a -20 cm es de 9 s, con un error de 0.02. En la transición que hace de -20 cm a -10 cm hay un sobreimpulso y se posiciona en 5 s, con un error de 0.01. En el cambio de -10 cm a 0 hay una pequeña oscilación en la bola metálica, pero se estabiliza en 5 s, con un error de 0.01.

 

Figura 13. Señal de posición y SP.

 

En la Figura 14, se muestra la señal de error que tuvo la bola metálica durante sus transiciones, este error es la diferencia de la posición deseada contra la posición real.

 

Figura 14. Señal Error.

 

En la Figura 15, se presenta la señal de control aplicada al actuador para lograr la posición deseada.

 

Figura 15. Señal del actuador.

 

Conclusiones

La lógica difusa se puede usar para el control de sistemas muy complejos o sistemas no tan complejos, permitiendo una metodología de diseño sencilla del control, en el presente trabajo se diseñó un controlador difuso para el sistema Ball and Beam, el cual requiere de una respuesta muy rápida de las salidas para lograr mantener en equilibrio la viga y por tanto posicionar la bola en el SP deseado. Durante la experimentación se estableció un diseño en cascada para este sistema subactuado, donde primero se determina el ángulo deseado para el servomotor y posteriormente se realiza una comparación de éste con el presente en el brazo de la viga para enviar la señal de control al servomotor.

Se aplicaron pruebas experimentales para probar el desempeño del controlado difuso, mediante la instalación, en una computadora, de la tarjeta de adquisición de datos PCI (Quanser-PIDe) y el software necesario para lograr la comunicación en tiempo real con los diferentes elementos que conforman el sistema.

El controlador genera un error en estado estable de 0.02 cm, y un tiempo de establecimiento desde la posición cero a uno de los extremos de la viga de 9 s; aun cuando presenta sobreimpulso, no existen oscilaciones alrededor del SP.

Trabajos futuros incluyen el análisis del controlador difuso en cascada incluyendo la integral del error con el objetivo de disminuir el error en estado estable.

Reconocimientos

Los autores agradecen el apoyo a la Facultad de Ingeniería Electromecánica de la Universidad de Colima.

Referencias

Control Tutorials For MATLAB® & SIMULINK®, Ball & Beam System Modeling, 2012. Disponible en: http://ctms.engin.umich.edu/CTMS/index.php?example=BallBeam& section=SystemModeling

López, F., Monroy, P., & Rairan, J.D. (2011). Control de posición de un sistema bola y viga con actuadores magnéticos. Tecnura, 15(30) 12-23. Disponible en: http://www.redalyc.org/articulo.oa?id=257020895002

Ponce, P. (2010). Inteligencia Artifical con Aplicaciones a la Ingeniería. Ed. Alfaomega, México.

Quanser® Ball and Beam, User Manual, BB01,Quanser® Inc, 2011. Disponible en: http://www.eecs.ucf.edu/~abehal/eel4612/lab/General/BB01_User_Manual.pdf

Sung-Kwun, O., Han-Jong, J. & Witold, P. (2009). The design of a fuzzy cascade controller for ball and beam system: A study in optimization with the use of parallel genetic algorithms. Engineering Applications of Artificial Intelligence. ELSEVIER. disponible en: http://www.journals.elsevier.com/engineering-applications-of-artificial-intelligence



[a] Profesor Investigador de la Facultad de Ingeniería Electromecánica, de la Universidad de Colima. scharre@ucol.mx, jglau@ucol.mx, Janeth_alcala@ucol.mx.

[b] Profesor Investigador del Área Académica de Ingenierías, en la Escuela Superior de Tlahuelilpan, de la Universidad Autónoma del Estado de Hidalgo. daniel@uaeh.edu.mx