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

Documentos relacionados