Download sy ∅qs - Portal de Revistas Electrónicas

Document related concepts

Perceptrón multicapa wikipedia , lookup

Red neuronal artificial wikipedia , lookup

ART (RNA) wikipedia , lookup

Propagación hacia atrás wikipedia , lookup

Redes neuronales probabilísticas wikipedia , lookup

Transcript
SIMULACIÓN DE MÁQUINAS A.C. CONTROLADAS VECTORIALMENTE USANDO REDES
NEURONALES ARTIFICIALES
C. Seijas. (1), I. Rodríguez (2)
( )Escuela de Eléctrica. Dpto. de Electrónica y Comunicaciones. Facultad de Ingeniería.
Universidad de Carabobo. e-mail [email protected] Telf.: 0241-8679331,8667829
(2) Escuela de Eléctrica. Dpto. de Potencia. Facultad de Ingeniería. Universidad de Carabobo.
e-mail [email protected] Telf.: 0241-8667829
1
Resumen
Las Redes Neuronales Artificiales (RNA) han mostrado prometedoras aplicaciones en el campo de la ingeniería
de procesos y de la electrónica de potencia, particularmente se han aprovechado como estimadores en sistemas
con dinámica altamente no lineal. En el presente artículo se presenta una aplicación donde las RNA modelan a
una máquina de inducción la cual está siendo controlada por un accionamiento electrónico controlado
vectorialmente. El modelo neuronal de la máquina permite simular variables de salida de interés para el control,
tales como torque electromagnético, flujo rotórico y la posición angular del mismo, siendo el comportamiento
de estas variables, la respuesta de la máquina a la excitación proveniente de la fuente alterna de alimentación
modelada como un inversor operando en modo de voltaje y controlado vectorialmente por el accionamiento
electrónico y la carga mecánica acoplada al eje de salida. El sistema completo (accionamiento mas máquina) es
simulado mediante el paquete de simulación Simnon, y datos de salida de esta simulación se usan como
conjunto de entrenamiento de la RNA, la cual es del tipo multicapa recurrente con entrenamiento
"Back-propagation " . Se presentan los resultados de la simulación con el modelo en variables de estado de la
máquina y se comparan con los generados por la RNA para cada una de las variables de salida nombradas,
finalmente se discuten los interesantes y positivos resultados.
Palabras claves: Redes Neuronales Artificiales, control vectorial de máquinas AC, estimación de
funciones no lineales usando RNA, control de procesos usando RNA.
INTRODUCCIÓN
Una aplicación donde las RNA han demostrado tener un desempeño prometedor es el de la estimación en
sistemas de control con importantes no linealidades. En particular, las RNA “feed forward” multicapas se han
usado en varias aplicaciones aprovechando la capacidad de estas de aproximar funciones no lineales arbitrarias.
En el caso del control vectorial de máquinas de inducción, las ecuaciones que permiten determinar a las
variables de realimentación del control, tales como el par electromagnético (Te), flujo del rotor (ψr ), y posición
angular del flujo rotórico (Cos0c, sen0c) son altamente no lineales. Estas señales son calculadas a partir de los
voltajes (flujos estatóricos en el sistema "qdo", ∅dss y ∅qss) y corrientes terminales (idss e iqss) de la máquina
usando las siguientes ecuaciones [4]:
DESCRIPCIÓN GENERAL DE UNA RNA
Una RNA es una malla de nodos y conexiones altamente interconectados. En la figura 1 se ilustra la
arquitectura típica de una RNA "feedforward", donde como puede apreciarse el flujo de señal es unidireccional
de la entrada a la salida, a través de conjuntos de neuronas agrupadas en capas.
Fig. 1 Arquitectura de una red neuronal "Feedforward"
El número de capas es variable, desde un mínimo de dos (solo capas de entrada y salida), con un uso muy
restringido por su capacidad de procesamiento (pero de gran importancia histórica, ya que fue la arquitectura
pionera en RNA) y crecerá dependiendo del número de capas escondidas (la casi generalidad de problemas
pueden resolverse con un máximo de dos capas escondidas).
Así mismo, en general, es diferente el número de neuronas por capas. En la entrada, habrán tantas neuronas
como entradas tenga el sistema a modelar más una, que está fija en el valor normalizado "I" y que permite
acelerar el proceso de convergencia en los cálculos' . El número de neuronas en las capas escondidas no está
explícitamente determinado y varía dependiendo del problema, no conociéndose formulación precisa para
obtenerlo, aunque algunos autores han trabajado en generación de métodos para establecer esta cifra (KOSKO
B. 1992). Cada nodo se conoce como una neurona y representa unidad básica de procesamiento, las líneas de
interconexión conocen como sinapsis en analogía a la topología del cerebro humano y tienen asociado un factor
de peso (peso sináptico Una neurona se comporta como una función traduciendo una entrada generalmente
normalizada X(t) (0 a 1 ó -1 a 1) en el instante "t" en una señal de salida S(x(t)) , que en el caso de la función
S(x(t)) es de la forma (ec.1.5):
En general los investigadores en el área de los RNA han usado como función de señal o función de
transferencia S(x(t)) ,otras funciones tales como: la función escalón, tangente hiperbólica, senoidal y la función
gaussiana (usada en redes conocidas como del tipo de funciones de base radial).
El procesamiento de la señal de una neurona se ilustra en la figura 2.
Fig. 2 Procesamiento en una neurona.
En dicha figura se observa que las entradas x(i) a ponderadas a través de los correspondientes pesos sinápticos
w(i) se suman
y este resultado es aplica a la función de transferencia. La usual función no lineal transferencia asociada a las
neuronas provee a la red de propiedad de transformación no lineal, lo que le permite ejecutar cálculos altamente
no lineales (tales como multiplicación, división, y potenciación entre otras) y de ese modo aproximar los
comportamientos caprichosos de funciones tales como 1 observadas en índices económicos.
1
Es posible en la capa de entrada colocar algunas neuronas con conexiones desde las capas intermedias, incluso de sí mismas, en una configuración realimentación
("feedback"). De hecho en el modelo ARN usado en este trabajo, así se hizo ya que ha demostrado ser útil en los procesos de estimación detección de secuencias
(WARD S., 1993).
ENTRENAMIENTO
Para que la RNA pueda procesar información previamente necesita aprender el cálculo a ejecutar. Esta fase en
la evolución de una RNA se conoce como entrenamiento o aprendizaje. El aprendizaje codifica información. Un
sistema aprende un patrón al codificar el patrón en su estructura. La estructura del sistema cambia a medida que
el sistema aprende la información, en el caso de una RNA, el cambio en la estructura se traduce en una
determinación de los pesos en las conexiones sinápticas.
El entrenamiento puede ser supervisado o no supervisado dependiendo de si el algoritmo de entrenamiento usa
información clase-patrón. En el caso que nos ocupa, una RNA "feedforward", el entrenamiento es del tipo
supervisado y el algoritmo más extensamente usado es el denominado "BackPropagation".
Este algoritmo propuesto en 1986 por Rumelhart et at (quienes lo llamaron Regla Delta Generalizada) sigue el
siguiente procedimiento con la red inicialmente desentrenada (pesos sinápticos asignados aleatoriamente) el
patrón de señal obtenida difiere totalmente del patrón de salida deseado o verdadero para un patrón de entrada
dado. La diferencia entre el patrón obtenido o actual para la RNA y el patrón deseado se usa para corregir los
pesos sinápticos de la capa anterior a la salida y así sucesivamente hasta llegar a la capa de entrada con un flujo
de señal en dirección contraria a la establecida por la RNA.
Es decir: sea el patrón de entrada p-ésimo, con salida deseada actual dp y salida de la RNA yp, el error al
cuadrado Ep es:
siendo S el número de neuronas en la capa de salida. Para un conjunto de P elementos de información Patrón /
clase, el error al cuadrado total es:
Las conexiones o pesos sinápticos cambian para minimizar el funcional de energía E, luego,
donde la variación dewij , Dwij, es en la dirección de la minimización del funcional de energía E y se expresa
por la ecuación de diferencias de primer orden, en la k-ésima iteración, como:
en esta expresión los índices i y j corresponden a neuronas en campos o capas contiguas (KOSKO B., 1992). El
coeficiente ηk denominado coeficiente de aprendizaje determina la rapidez con que cambia el peso por iteración
y esencialmente disminuye con k, para evitar oscilaciones. Un factor adicional se incluye en la ec. (5) para
evitar que la convergencia de la función de entrenamiento sea capturado por un mínimo local, este factor
conocido como momento suaviza la curvatura local entre superficies de error al cuadrado sucesivo; con este
término la ecuación anterior para ωij (k+l) se transforma en la siguiente ecuación de diferencias de 2do. orden.
En general η se selecciona inicialmente tan grande como pueda ser posible sin que ocurran oscilaciones (ηk=0 ≅
0,7 típico) de modo de garantizar una alta velocidad de convergencia, valores iniciales para β ≅ 0.4 , luego se
reducen en cada iteración usualmente con la regla 1/k.
ESTRUCTURA DEL ESTIMADOR NEURONAL
El diagrama de bloques que ilustra la ubicación del estimador basado en RNA se muestra en la fig. 3.
Fig. 3. Ubicación del estimador RNA en el diagrama de bloques del control de velocidad del motor de
inducción.
La RNA usada es del tipo "feed-forward" [6] y es básicamente una red de reconocimiento de patrones con tres
capas:
-
la capa de entrada que consta de cinco neuronas: cuatro neuronas, una para cada variable de entrada de
entrada (∅dss, ∅qss, idss, iqss) y una quinta neurona de polarización.
la capa dé salida tiene cuatro neuronas, una para cada una de las variables de salida (Tl , ∅r, cos0c,
sen0c).
la capa intermedia posee 8 neuronas, la cual es la cifra óptima lograda después de intensa simulación, y
varios intentos con números cercanos a Nescondidas, cantidad sugerida por autores, que depende del
número establecido de neuronas de entrada y de salida.
ENTRENAMIENTO DEL ESTIMADOR A RNA
El entrenamiento de la RNA es completamente fuera de línea ( "off-line" ), pero altamente automatizado, lo cual
minimiza el consumo de tiempo típico del entrenamiento, usando el algoritmo "Back-propagation".
El procedimiento de entrenamiento usado en el presente proyecto es el siguiente:
1.- Simulación del sistema de accionamiento del motor de inducción mostrada en la fig. 3. En dicha figura,
los bloques MIRV1, MIRT1 y MIRF1, representan los controladores Proporcional-Integral de las
variables de realimentación: velocidad (wrotor), par ( Te ) , y flujo (fr), respectivamente, mientras que los
bloques ROT1 y MIND corresponden al módulo de rotación de ejes (de giratorio a estatórico) y al
módulo de simulación del motor de inducción.
2.- Construir la tabla de datos Entrada /Salida a partir de Simnon para diferentes condiciones de operación .
Los datos de entrada de esta tabla son las variables ∅dss, ∅qss, idss, iqss y el tiempo, mientras que las
variables de salida son: par electromagnético (Te), flujo del rotor (fr ), y el correspondiente ángulo de
dicho flujo expresado en funciones seno y coseno. Esta tabla debe ser editada (con EDIT MS-DOS) para
acondicionarla a la hoja de cálculo de EXCEL (WINDOWS).
3.- Transformar la tabla (Ascii) Entrada / salida que se obtiene de SIMNON a una hoja de datos EXCEL
(archivo XLS), la cual será leída por la RNA, la cual está basada en el paquete NEURO-WINDOWS y
codificada en lenguaje VISUAL-Basic.
4.- Entrenamiento "Back-propagation" en el programa "MOTVEC.MAK " (este es el programa que
implementa la RNA) hasta alcanzar un error preestablecido (error cuadrático promedio total), lo cual se
traduce en corrección de pesos en la RNA en desarrollo.
5.- Repetir los pasos anteriores para los diferentes conjuntos de entrenamiento (diferentes condiciones de
simulación: par de carga, "Set-poinC de velocidad, región de debilitamiento de campo, entre otras).
La tabla I presenta una sección de la hoja EXCEL obtenida para entrenamiento en la condición de operación de
par inercial y velocidad nominal.
Los parámetros de entrenamiento usados en este desarrollo fueron : h , el coeficiente de aprendizaje en 0.4, y b,
el momento, en 0.2. El error promedio cuadrático tolerado fue de 1 %.
La tabla II representa una carta EXCEL donde se superponen la salida obtenida con Simnon y la entrenada con
la red neuronal para propósitos de comparación. En la fig. 4 y en la fig. 5, se tiene el comportamiento de la señal
a estimar ( Te en este caso ) en el intervalo de simulación con los valore, obtenidos de la RNA y del simulador
respectivamente, donde se manifiesta que la máxima diferencia ocurre en condiciones; cercanas al régimen
permanente, ya que, la red "aprende" el "ripple" del transitorio de encendido, lo cual se enfatiza en la fig. 6
donde se superponen en una sola gráfica los resultados.
Las fig. 7 a 9 muestran el comportamiento del resto de las variables estimadas con la RNA y las variables
estimadas con el simulador.
Tabla I. Sección de hoja EXCEL con datos de entrenamiento para la condición de torque inercial.
VALIDACIÓN DEL ESTIMADOR A RNA
El procedimiento de validación consistió en generar otros conjuntos de datos de simulación usando SIMNON y
se logró chequear la capacidad de generalización de la red con un conjunto de datos SIMNON, en condiciones
diametralmente opuestas a las establecidas para el conjunto de entrenamiento, esto es, se entrenó con carga
inercia¡ (Te = 0) y se validó con carga nominal (Te = 1). La red se comportó de modo similar al sistema
simulado, con error menor al 1 %, entre la estimación neuronal y la simulación. Los resultados gráficos del
vector de salida obtenido con el simulador, y el vector de salida obtenido con la red neuronal se presentan para
la comparación en las próximas figuras.
Tabla II. Sección de hoja EXCEL con la salida obtenida con el simulador y la obtenida con la RNA.
Figura 4. Torque electromagnético estimado con la RNA.
Figura 5. Torque Electromagnético estimado con el simulador.
Figura 6. Comparación de Torque de salida obtenidos con RNA Vs. Salida obtenida con el simulador en
condiciones de carga nominal (generalización de la RNA).
Figura 7. Comparación de los valores de flujo obtenidos con RNA Vs. Salida obtenida con el simulador.
Fig. 8. Comparación de los valores de Cos0e obtenidos con RNA Vs. los obtenidos con el simulador.
Fig. 9. Comparación de los valores de Sen0e obtenidos con RNA Vs. los obtenidos con RNA Vs. los
obtenidos con el simulador.
ANÁLISIS DEL MODELO DE SIMULACION DEL ESTIMADOR A RNA
La discusión planteada en los párrafos anteriores evidencia que el estimador neuronal de las variables de
realimentación señaladas para el accionamiento descrito no puede operar en línea en una implementación física,
a menos que se construya con un circuito integrado del tipo neuro-chip, tal como el INTEL80170NX,
previamente entrenado con el procedimiento fuera de línea recién indicado.
La razón fundamental para la no operación en línea del estimador presentado, es que el trabajo computacional
debería hacerse a muy alta velocidad de procesamiento si se pretende cerrar el lazo con las variables estimadas
en una realización física del accionamiento. Esta alta rata de procesamiento requeriría de procesamiento masivo
(paralelo), lo cual se refleja en costos prohibitivos para fines prácticos.
Incluso para fines de simulación los procedimientos de entrenamiento y validación del estimador presentado
hacen excesivamente lenta la verificación de la operación exitosa del estimador a lazo cerrado. Observe que
cada instante en el horizonte de simulación, requiere de un paso de los algoritmos de cálculo numérico en
SIMNON, generación y transporte de los vectores calculados ( o de entrada) a la hoja EXCEL ejecución de la
red neuronal, y el proceso inverso, para retorna al "lazo" modelado.
Una alternativa para simulación en línea del estimado dentro del lazo, es reducir la complejidad de la red
neuronal, lo cual permitirá modelar en la plataforma de simulación. El modelo reducido de la RNA implica en
primer lugar reducir número de variables a realimentar, tomando solo una, que pudiera eventualmente ser el
torque electromagnético, y en segundo lugar, se debe reducir el número de capas a solo dos, de entrada y la de
salida, conduciendo a una red de tipo Adaline.
CONCLUSIONES
En este trabajo se demuestra la potencialidad de las red neuronales como estimadores. La red neuronal
construida tipo multicapa, recurrente, entrenada con retropropagación del error ("Back-propagation") o modo de
entrenamiento supervisado aprendió la función no lineal subyacente entre las variables estimadas: torque
electromagnético, flujo rotórico y ángulo d campo del rotor , y las variables de entrada: componentes de flujo y
corrientes estatóricas en el marco de referencia estacionario (∅dss, ∅qss, idss, iqss).
Para verificar el aprendizaje se comparó la salida de cada variable estimada, con el comportamiento "real" (
simulado por el simulador no lineal , "SIMNON" ) usando como conjunto de datos de validación, el mismo
conjunto de entrenamiento hasta lograr un error de comparación relativo porcentual promediado en el dominio
de este conjunto menor del 1 %.1 conjunto de entrenamiento se obtuvo de la simulación del modelo del motor
de inducción, en condiciones de cara únicamente inercial.
Para chequear la capacidad de generalización de la red se evaluó la misma con un conjunto de datos obtenidos
de simulación, en condiciones diametralmente opuestas a 1. establecidas para el conjunto de entrenamiento, esto
es , con carga nominal ( " T1 = 1 ", en p.u.), y nuevamente los resultado de la comparación fueron altamente
satisfactorios. La red , se comportó de modo similar al sistema simulado, con un error menor del 1 %, de
diferencia entre las señales simuladas y las señales determinadas por la red.
Ya que el conjunto de pesos sinópticos y cambios en los pesos (factor de momento b) es disponible como una
tabla EXCEL, es inmediata la implementación práctica de u accionamiento de control vectorial para máquinas
de inducción sin realimentación de velocidad, usando neuro-chips ( circuito integrados para implementación en
hardware de redes neuronales artificiales) programados con los conjuntos de pesos y cambio de pesos sinópticos
de la red entrenada "off-line" ( entrenada con datos de simulación).
La red neuronal se construyó usando la plataforma NEURO-WINDOWS, el lenguaje de programación fue
VISUALBASIC y se tomaron de NEURO-WINDOWS las funciones para construir redes ( MAKENET ),
entrenar ( BPTRAIN ), etc. Se comprobó la flexibilidad que provee NEURO-WINDOWS al diseñador de RNA
al incorporar en sus archivos un numeroso conjunto de funciones para implementación, entrenamiento y
validación de diferentes topología.
RECOMENDACIONES
1. En primer lugar la implementación física del accionamiento usando como red neuronal, un chip
dedicado, tal como el neuro-chip 80170NX de INTEL.
2. Ensayar otras topologías para la implementación de la red neuronal, tal como las redes de Regresión
General (GRNN para "General Regression Neural Network") que han demostrado ser especialmente
útiles para aproximación de funciones continuas [ Wards, 1992]. Otra característica interesante de las
GRNN es que aprenden de modo supervisado, con pocos ejemplos, lo cual sugiere la efectividad en
sistema de entrenamiento en tiempo real ("on-line").
3. Usar como simulador para la obtención de las tablas de entrenamiento y validación, otros paquetes
ambientados en WINDOWS (por ejemplo Simulink de Mathlab) de modo de simplificar los procesos de
transferencia de datos desde el simulador hacia la red y viceversa. Esto permitiría la simulación del
modelo con la-red neuronal incluida en el lazo del sistema.
BIBLIOGRAFÍA
1. ACHAVAL , M. , "Visual Basic 3.0 " , Editorial Métodos S.A., México, 1994
2. BEN-BRAHIM, L., "Motor Speed Identification via Neural Networks", IEE Industry Applications,
Magazine, January 1995.
3. DUBEY, G. K., " Power Semiconductor Controlled Drives", Prentice-Hall International, Inc., London.,
1988.
4. GODOY, M. y BOSE, B: K., " Neural Network Based Estimation of Feedback Signals for a Vector
Controlled Induction Motor Drive ", IEEE Transactions on Industry Applications, May/June 1995.
5. HILERA, J. y MARTINEZ, V., " Redes Neuronales Artificiales ", Addison-Wesley Iberoamericana,
Madrid, España, 1995.
6. KOSKO, B., " Neural Networks and Fuzzy Systems", Prentice Hall International Editions, USA, 1992.
7. KRAUSE, P. C., WASYNCZUK, O., y SUDHOFF, S. D., " Analysis of Electric Machinery ",
McGraw-Hill, New York, 1986.
8. KRAUSE P.C., "Simulation of Symmetrical Induction Machinery", IEEE Transactions on Power
Apparatus and Systems, November 1965.
9. LAZHAR B., "Motor Speed Identification Via Neural Networks", IEEE Industry Applications
Magazine, January/February 1995
10. LIAW CH., KUNG Y, WU CH., "Design and Implementation of a High-Performance Field-Oriented
Induction Motor Drive", IEEE Transactions on Industrial Electronics, august 1991.
11. LOW T., LEE, T., y LIM, H., " A Methodology for Neural Network Training for Control of Drives with
Nonlinearities " IEE Transactions on Industrial Electronics, April 1993.
12. MURPHY, J.M.D., y TURNBULL, F:G:, " Power Electronic Control of AC Motors ", Pergamon Press,
Oxford, England, 1988.
13. NOVOTNY, D.W. y LORENTZ, R.D., " Introduction to Field Orientation and High Performance AC
Drives ", Conf. Rec. IEE Ind. Appl. Soc. Annual Meeting, Toronto, Canada, 1985.
14. OSMAN, R. y BANGE, J., " A Regenerative Centrifuge Drive using a Current-Fed Inverter with Vector
Control ", IEE Transactions on Industry Applications, November 1991.
15. SATHIKUMAR, S., "Digital Simulation of Field-Oriented Control of Induction Motor", IEEE
Transactions on Industrial Electronics, May 1984
16. WISHART, M. y HASLEY, R., " Identification and Control of Inductions Machines using Artificial
Neural Networks", IEEE Transactions on Industry Applications, May 1995.