Controlador Difuso Experimental para sistema “Ball and Beam
Transcripción
Controlador Difuso Experimental para sistema “Ball and Beam
Controlador Difuso Experimental para sistema “Ball and Beam”, empleando realimentación por visión artificial. Mauricio Reyes A., Marcelo Moisan N., Renato Salinas S., Ph.D. Departamento de Ingeniería Eléctrica, Universidad de Santiago de Chile [email protected] Resumen: El presente trabajo presenta los resultados obtenidos de la implementación de un controlador difuso aplicado a un sistema bola-balancín (“ball and beam”), donde se incorporó visión artificial como realimentación del sistema. Este trabajo se enmarca dentro de las experiencias de laboratorio para alumnos de pregrado del área de control automático, con el agregado que el sistema electromecánico fue construido por los autores. Las pruebas realizadas tienen el objetivo de visualizar las ventajas y desventajas que el empleo conjunto de lógica difusa y técnicas de visión artificial tiene para este sistema en particular. Abstract: This paper shows results obtained from the implementation of a fuzzy controller applied to a balland-beam system, where machine vision represents the feedback path for the system. This work corresponds to an undergraduate control laboratory, with the particular case in which the electromechanical system was also designed as a part of the project. Tests were performed to show the strenghts and weaknesses of the proposed method. KEYWORDS: fuzzy logic controller, artificial vision, intelligent control systems 1. Introducción Aplicaciones de control difuso a sistemas electromecánicos, tales como, el péndulo invertido, el control de velocidad de motores de DC, entre otros, ya han sido suficientemente descritos y analizados en la literatura, con el propósito de mostrar las ventajas y desventajas de esta técnica de control con respecto a las técnicas de control clásico o convencional. Muchas de estas implementaciones han demostrado la facilidad y eficiencia que conlleva el uso de controladores basados en lógica difusa así como su aplicabilidad al ámbito industrial (Pant y Daruwala, 1995). Dichas aplicaciones utilizan variados sistemas sensoriales de realimentación, como por ejemplo sensores fotoeléctricos (Yurkovich y Passino, 1999), sensores de presión, de corriente, etc. Su empleo requiere efectuar mediciones que involucran interactuar directamente con el sistema y que en ciertas aplicaciones prácticas resultan difíciles de efectuar. En el caso del sistema desarrollado, que consiste en un balancín, con una bola en su superficie, que puede girar y desplazarse a lo largo de un riel (balancín), y donde se busca controlar la posición de la bola a lo largo del balancín, ha sido probado previamente mediante sensores fotoeléctricos, u otros dispositivos semejantes, instalados a lo largo del balancín. La extensión aquí propuesta, considera la incorporación de una cámara de video como una forma de medición que no involucra la interacción física directa con el sistema. Este enfoque se puede pensar como una analogía natural con el proceder del ser humano para realizar esta misma tarea. De esta forma, se busca determinar y cuantificar las ventajas y desventajas que pueda presentar la implementación de un control fuzzy de un sistema no lineal usando visión artificial como realimentación. Si se considera que el ser humano puede procesar alrededor de 25 imágenes por segundo (Magaña y Holzapfel, 1998) y puede realizar el control de un sistema como lo es el sistema “bola-balancín”, es interesante verificar con qué precisión o grado de exactitud la implementación de técnicas de control fuzzy y de visión artificial se pueden acercar o incluso mejorar el desempeño que una persona pudiera realizar. 1 2. Equipamiento y montaje experimental. El sistema de control del sistema bola-balancín propuesto consiste de los siguientes componentes: • sistema mecánico del balancín, realizado a través de un motor del tipo paso a paso, • sistema de video cámara, • computador personal Pentium 400 MHz con tarjeta capturadora de video, • controlador difuso implementado por software en el computador personal, • driver de manejo de la secuencia de operación del motor paso a paso. A. Sistema mecánico de actuación El balancín, donde la bola se desplazará, se encuentra acoplado al eje de un motor del tipo paso a paso, también conocido como stepper motor. Este tipo de motor presenta la ventaja con respecto a un motor de DC, que puede ser rotado en múltiplos de una base en grados, o giro mínimo del eje del motor, es decir, se puede ajustar el número de pasos o en definitiva, el número de grados que se requiere que el eje gire. El giro mínimo del motor paso a paso definirá la precisión con que se podrá rotar el eje, y por lo tanto, la precisión de giro del balancín. El motor empleado trabaja con una tensión nominal de 12 V, y tiene un paso de 2º, que es adecuado para los requerimientos de control deseados. El balancín escogido es de 40 cm de longitud, y está fabricado de aluminio para no agregar al eje del motor un excesivo peso e inercia cuando éste gire, y la fijación del balancín al eje del motor se realizó de manera que la relación entre la rotación del eje del motor y la rotación del balancín sea lo más correspondiente posible. Es decir, se intentó que el eje del motor estuviera centrado con respecto a los ejes principales del balancín. B. Sistema de realimentación visual. Otro componente que forma parte de cualquier sistema de control de procesos es el sensor o transductor de la información a ser realimentada. Como se mencionó, la realimentación es realizada a través de visión, esto es, a través de una video cámara se informa al sistema de control la posición de la bola a lo largo del balancín. La cámara corresponde a una Sony Handycam modelo AC-V25A Esta es montada y ubicada por sobre el balancín, de manera de visualizar toda la longitud del mismo. La señal de video proveniente de la cámara, es transmitida hacia la tarjeta digitalizadora para su posterior procesamiento en el computador personal. C. Sistema controlador El controlador difuso utilizado es implementado por software, empleando algoritmos codificados en Visual C++5. Estos algoritmos son procesados en un computador personal Pentium de 400Mhz y 64 MB de memoria RAM Estos algoritmos, realizan tanto el procesamiento de detección de la bola dentro de la escena, así como la generación de la señal de control, a través del algoritmo de lógica difusa. Debido a la dinámica del proceso, es necesario tener tiempos de procesamientos breves que sean capaces de generar respuestas lo suficientemente rápidas, es decir, en tiempo real, para manejar el giro del motor paso a paso y lograr el objetivo de control. Por lo que la elección del software debe ser la adecuada para cumplir con los requerimientos de velocidad ya nombrados. El enlace entre el controlador y el sistema mecánico de actuación se realiza a través de un circuito electrónico que traduce el byte enviado a través del puerto paralelo del computador personal y entrega la alimentación de voltaje a las bobinas específicas que permiten el giro del motor paso a paso. Está claro que estos niveles de tensión son diferentes, y los niveles de potencia también, por lo que el circuito electrónico trabaja como un “driver” entre el controlador y el actuador. La figura 1, muestra un diagrama esquemático de la situación planteada y el 2 montaje desarrollado junto con los dispositivos necesarios. La Fig. 2 muestra una Sensor video cámara Señal de video Señal de control TTL Variable de actuación Driver controlador-actuador Actuador motor paso a paso PC con tarjeta digitalizadora, algoritmos de procesamiento de imagen y algoritmo de control fuzzy Figura 1. Diagrama del montaje realizado fotografía del sistema desarrollado. Fig. 2 Implementación física del sistema ball and beam. 3. Sistema de Visión Para lograr el objetivo de control en forma exitosa, se requiere de un efectivo sistema de adquisición de datos y manipulación de éstos, que permitan detectar la posición de la bola dentro del balancín y generar la señal de control apropiada. Esto se puede desglosar en el sistema de visión utilizado y en el algoritmo de detección de la bola dentro del riel. (Gonzalez y Woods, 1996). a) Configuración del sistema de visión: El sistema de visión empleado, consta de una cámara Sony Handycam modelo AC-V25A, la cual es la encargada de enviar la señal de video a la tarjeta digitalizadora Matrox, la cual se encuentra conectada al bus PCI del PC y entrega al programa una matriz de 3 640x480 cuyos elementos corresponden a los pixeles de la imagen adquirida en niveles de grises, con 8 bits de resolución. El sistema es capaz de procesar un máximo de 12 muestras por segundo, lo que supone un procesamiento de 0.083 segundos para calcular el valor de la variable de actuación una vez adquirida la imagen. (7 para errork y 3 para cerrork ). .Para efectos de inicialización, se ha considerado: errork = cerrork = 0 (3) Para el conjunto de salida del controlador, se emplearon 7 funciones tipo singleton, las cuales indican la cantidad de pasos que se debe mover el motor y su sentido de giro. Teniendo en cuenta la dinámica no lineal que presenta el sistema a controlar, se determinó experimentalmente el universo de discurso de variables de los conjuntos de entrada (intervalo [-320,320] pixeles) y salida (intervalo [-9,9] pasos), así como la posición de las funciones de membresía de cada variable (ver figura 3). b) Detección de la bola: Como fase inicial del algoritmo de control, se requiere de un procedimiento que tome la matriz generada por la Matrox y determine la posición de la bola dentro del balancín, lo que permitirá el posterior cálculo de la variable de actuación. Es de suma importancia que este procedimiento se realice en forma eficiente, ya que cualquier ruido que se interprete como bola dentro del riel puede derivar en el cálculo de una variable de actuación errónea. Para esto se procede a un escanéo bidireccional de la matriz de la imagen digitalizada, comparando el valor de cada elemento con un umbral (se trabaja con una bola negra sobre un riel blanco). Esto le da mas robustez al proceso de detección NA NM -150 NP -70 C -10 PP 10 PM PA 70 150 4. Controlador de Lógica Difusa N El controlador de lógica difusa usado en este experimento tiene como entradas el error ( errork ) y el cambio del error entre cada muestreo ( cerrork ). Se considera el error como la diferencia entre el set-point (ingresado por software) y la posición actual de la bola dentro del balancín ( p k ), medido en pixeles: errork = s. p. − p k MMI MPI -20 C P MPD 20 MMD MAD P (1) El cambio del error se define la diferencia entre el error actual y el error producido en el muestreo anterior: cerrork = errork − errork −1 MAI C (2) Para ambas entradas se han considerado funciones de membresía de tipo triangulares -9 -6 -3 0 3 6 9 Fig. 3. Reglas de entrada y salida donde las etiquetas corresponden a: N: Negativo, P: Pequeño-Positivo, A: Alto, M: Medio, B: Bajo, M: Mover, I: Izquierda, D: Derecha, C: Cero. 4 El valor de salida del controlador difuso, corresponde al número de pasos que debe realizar el motor paso a paso (actuador). Dicho valor es enviado a través de la puerta paralela del PC. El accionamiento del motor corresponde a la etapa más lenta del proceso completo, ya que hay que añadir un delay a la secuencia enviada al motor, de modo que éste no pierda sincronismo y realize los pasos requeridos por el controlador en forma correcta. La base de reglas if-then empleada se puede observar en la figura 4. E R R O R NA N MAD CERROR C MAD NM MMD MMD MMD NP MPD MPD MPD C MPD C MPI PP MPI MPI MPI PM MMI MMI MMI PA MAI MAI MAI P MAD Figura 4. Base de reglas del controlador De este modo, el proceso completo se puede ver en el diagrama de Fig. 5. Se puede observar que el error oscila en forma subamortiguada hasta llegar a ser nulo después de transcurridos aproximadamente Inicio Adquisición de imagen Digitalización de imagen Algoritmo detector de posición de bola .-Fuzzificación .-Base de conocimientos .-Lógica de toma de decisiones .-Defuzzificación Generación de señal de actuación Fig. 5 Diagrama de flujo 13 seg. De las pruebas realizadas, se pudo comprobar la existencia de un error permanente de posición con respecto al valor del set point escogido, el cual se debe principalmente a que el motor paso a paso no proporciona un movimiento continuo (2 grados por paso). 5. Resultados Obtenidos Se realizaron pruebas para evaluar el comportamiento del sistema. Para esto se trabajó con una bola de 2 cm. de diámetro y masa de 5 gr. Se fijó un set point de modo que la posición final de la bola sea el centro del balancín (s.p.=320). Para iniciar la prueba se instaló la bola en uno de los extremos del riel (error inicial positivo alto) y se corre el programa desde el PC. La gráfica del error con respecto al tiempo se puede ver en la Fig. 6. Fig. 6 Gráfico de error versus tiempo 5 Durante la implementación física del sistema y las pruebas preliminares desarrolladas, se pudo deducir que el punto crítico del sistema completo corresponde a la detección de la bola dentro del riel. Para esto se desarrolló un algoritmo que fuera capaz de otorgar robustez y rapidez al proceso. 6. Conclusiones Se ha desarrollado un controlador experimental basado en lógica difusa para el sistema bola-balancín, empleando visión artificial como elemento sensor o de retroalimentación. La incorporación de visión artificial como realimentación del sistema, en conjunto con un controlador basado en lógica difusa, resultó satisfactoria, destacando para este caso la similitud con el accionar del ser humano, tanto al nivel de detección, como de lógica de control. Dentro del sistema de detección de la bola, es importante considerar las condiciones de luminosidad que se presentan en la escena, puesto que un buen ajuste de estas condiciones, permitirán la utilización de un algoritmo de detección más simple y a la vez efectivo, logrando a la vez tiempos de procesamiento más cortos. El empleo de visión artificial para detectar la posición de la bola permite una mayor precisión en la detección de ésta que en el caso de utilizar otros tipos de sensores de posición utilizados en otras aplicaciones en donde la detección finalmente es del tipo discreto. El conocimiento de las características físicas de los materiales empleados (característica de roce de la bola, inercia de ésta, etc.) es fundamental para lograr un buen desempeño del controlador Education. Vol 41, N°2, Mayo, pp. 165170. González, R. y R. Woods (1996) “Tratamiento digital de imágenes”. Editorial Addison-Wesley/Díaz de Santos, EEUU. Pant, G. y R. Daruwala (1995) “Fuzzy control of robotics gripper using a dsp2101”. ICSPAT Boston, MA, USA, octubre 24-26. Yurkovich, S. y K. Passino (1999) “A Laboratory Course on Fuzzy Control”. IEEE Trans. on Education. Vol 42, N°1, Febrero, pp. 15-21. Agradecimientos Los autores agradecen el apoyo del Proyecto Dicyt 069913SS. 7. Referencias. Magaña , E. y F. Holzapfel (1998) “Fuzzy Logic Control of an Inverted Pendulum with Vision Feedback". IEEE Trans. on 6