Download modelado mediante redes neuronales de sistema de

Document related concepts

Red neuronal artificial wikipedia , lookup

Redes neuronales convolucionales wikipedia , lookup

Perceptrón wikipedia , lookup

Red neuronal prealimentada wikipedia , lookup

Red neuronal de impulsos wikipedia , lookup

Transcript
MODELADO MEDIANTE REDES NEURONALES DE SISTEMA DE
LEVITACIÓN CON PROPULSIÓN POR HÉLICE
E. González Sarabia, L. Alonso Rentería, J.R. Llata García, J. Pérez Oria
Departamento de Tecnología Electrónica e Ingeniería de Sistemas y Automática
E. T. S. de Ingenieros Industriales y de Telecomunicación, Universidad de Cantabria
Avda. Los Castros s/n, 39005, Santander, Cantabria, SPAIN
E-mail: [esther, alonso, llata, oria]@teisa.unican.es
Resumen
El análisis completo del sistema puede verse en [1].
En el presente trabajo se realiza el modelado de un
sistema de levitación con propulsión por hélice
mediante redes neuronales. Debido a las grandes
no linealidades del sistema se ha escogido este
método por la gran capacidad que poseen las redes
de backpropagation para reproducir sistemas no
lineales.
La planta consiste en una barra de aluminio que
puede girar en torno a un eje horizontal, en uno de
cuyos extremos va colocado el motor con la hélice
que proporciona la propulsión; en el extremo
opuesto se coloca un contrapeso.
salida
Palabras Clave: Modelado, Redes neuronales,
backpropagation, sistemas no lineales.
entrada
1
potencia
INTRODUCCIÓN
Figura 2: Representación del sistema
El objeto del trabajo es el modelado de una barra
giratoria en torno a un eje horizontal por su punto
medio, propulsada por medio de una hélice
acoplada a un motor de corriente continua, el cual
estará colocado en uno de los extremos de la barra,
y cuya velocidad se regula variando la tensión de
alimentación. La no linealidad del sistema se debe a
dos factores: en primer lugar, la hélice proporciona
una fuerza de propulsión y un par resistente
debidos a la fricción con el aire, que son funciones
cuadráticas de la velocidad de giro; en segundo
lugar, el propio diseño mecánico del sistema hace
que la fuerza necesaria para mantener una posición
angular determinada dependa de dicha posición
(coseno del ángulo respecto de la horizontal).
Para el funcionamiento del sistema se introduce la
tensión de referencia al circuito de potencia. Éste
proporciona la tensión de alimentación del motor de
corriente continua, con la cual se regula su
velocidad. En función de dicha velocidad, la hélice
proporciona un par de fricción con el aire que actúa
como carga para el motor, y una fuerza de
propulsión que actúa sobre el sistema mecánico, el
cual se colocará en una determinada posición
angular respecto de la horizontal. Dicha posición
(salida del sistema) se traduce a tensión mediante
un potenciómetro colocado en el eje de giro. La
figura 3 muestra un diagrama de bloques del
sistema mecánico y las variables que intervienen:
F
2
rm/J
+
-
DESCRIPCIÓN DEL SISTEMA
El diagrama de bloques se muestra en la figura 1:
Tensión de
entrada
V
motor
1
omega
s
1
theta
s
*
(Pm·rm P
- c·rc) / J
w
potencia
alfa
cos(u)
Figura 3: diagrama de bloques
hélice
Donde:
Tensión de
salida
θ
potenciómetro
TL
sistema
mecánico
Figura 1: diagrama de bloques
F
Pm = peso del conjunto motor – hélice;
Pc = peso del contrapeso;
F = fuerza de la hélice;
rm = distancia del eje del motor al eje de giro;
rc = distancia del contrapeso al eje de giro;
theta = ángulo de la barra con la horizontal.
La figura 4 muestra el diagrama de bloques
correspondiente al motor de corriente continua.
3
ESTRUCTURA
EMPLEADA
PARA EL MODELO DE REDES
NEURONALES DEL SISTEMA
TL(s)
V(s)
+
-
I(s)
1
kt
T(s)
Ls+R
+
W(s)
1
Js+f
Para el sistema descrito anteriormente se ha tratado
la obtención de un modelo por medio de redes
neuronales. Para ello se han utilizado redes de tipo
feedforward de dos capas.
E(s)
kv
Debido a las grandes no linealidades que presenta el
sistema se han utilizado redes formadas por dos
capas de neuronas, donde la primera capa
corresponde a neuronas no lineales de tipo sigmoide
logarítimica, y la segunda capa está formada por
una neurona lineal.
Figura 4: diagrama de bloques del motor
donde:
SALIDA
ENTRADAS
R = resistencia del inducido, ohm
TL = par de carga
J = momento de inercia del rotor
W= velocidad del motor
f = coeficiente de fricción viscosa
kv = constante de tensión
kt (= kv) = constante de par
L = inductancia del inducido
V = tensión de alimentación
I = corriente de alimentación
T = par en el árbol del motor
E = fuerza contraelectromotriz
La hélice es otro elemento de alinealidad en el
sistema total.
La figura 5 muestra su diagrama de bloques.
Jh
*
Capa 1
dw/dt
w
b1*u+b2*u^2
+
+
T
L
F
a 1*u+a2*u^2
Figura 5: diagrama de bloques de la hélice.
Capa 2
Figura 6: Estructura de red neuronal utilizada
En la figura 6 puede verse la estructura de la red.
Por medio del modelo de redes neuronales se desea
obtener la posición angular del levitador en todo
instante de tiempo cuando la entrada al sistema es la
tensión de alimentación del motor de corriente
continua.
f(u)
Tensión
de entrada
Entrada
f(u)
Posición
du/dt
f(u)
Mux
Deriv
Velocidad
Capa 1 Capa 2
du/dt
f(u)
Red
Red
Deriv1 Aceleración
neuronal neuronal
f(u)
Coseno
Mux
Figura 7: Esquema de la red para el caso 1.
.
f(u)
Fcn2
Posic
4
ESQUEMAS DE DATOS
ENTRADA EMPLEADOS
DE
Como se desea obtener el modelo dinámico del
sistema y las redes neuronales de tipo feedforward
no poseen memoria dinámica se ha optado por crear
un modelo donde en cada instante la información
presente en las entradas al modelo sea además de la
tensión de entrada y de la posición, la velocidad, la
aceleración y el coseno del ángulo formado por el
eje del levitador con la horizontal.
Para el entrenamiento se han utilizado datos de la
respuesta del sistema en un rango de tensiones de
entrada que varía entre 0v y 5v, por medio de la
introducción al sistema de escalones y rampas de
diferentes valores de tensión en el rango
considerado. Todos los datos utilizados para las
redes neuronales han sido normalizados entre 0 y 1.
Se analizan a continuación tres casos para el
modelado del sistema, en el primero se considera
solamente la información correspondiente al
instante anterior para obtener la siguiente posición
del levitador. En el segundo caso se utiliza la
información de las dos últimas muestras de cada
señal de entrada al sistema. Y por último en el
tercer caso se utiliza la información de las tres
últimas muestras de las entradas.
4.1
CASO 1: PARA CADA SEÑAL SE
UTILIZA LA MUESTRA ANTERIOR
Para ello, el esquema inicial utilizado ha sido el
mostrado en la figura 7. En este caso se consideran
como variables de entrada al modelo, la tensión del
motor, la posición, la velocidad, la aceleración y el
coseno del ángulo formado con la horizontal, en el
instante anterior.
En la figura 8 puede verse la respuesta del sistema
original ante una señal de entrada que corresponde
con un escalón de tensión de entrada de 3.3 voltios
que dura desde el tiempo 0 segundos hasta los 25
segundos. En la figura puede verse por tanto la
evolución del sistema cuando la entrada pasa de 0v
(reposo del sistema) a un valor de entrada de 3.3v,
observándose su transitorio y régimen permanente,
así como la respuesta del sistema al anular de nuevo
la entrada a los 25 segundos.
lineales. Puede observarse que según se aumenta el
número de neuronas no lineales el modelo se adapta
mejor a la dinámica del sistema.
0
-0.5
-1
-1.5
0
10
20
30
40
Tiempo (seg)
Figura 8: Respuesta del sistema ante escalón de
3.3V de entrada.
0
-0.5
-1
-1.5
0
10
20
30
40
Tiempo (seg)
Figura 9: Respuesta del modelo con 5 neuronas no
lineales
0
-0.5
-1
En línea continua se representa la posición del
levitador y en línea discontinua la velocidad
adquirida. Esta gráfica servirá de comparación para
las respuestas obtenidas con los diferentes modelos
de redes neuronales considerados.
-1.5
La figura 9 representa la respuesta del modelo con 5
neuronas en la capa no lineal. Y la figura 10
representa la respuesta considerando 6 neuronas no
Figura 10: Respuesta del modelo con 6 neuronas no
lineales.
0
10
20
30
40
Time (seg)
4.2
CASO 2: PARA CADA SEÑAL SE
UTILIZAN
DOS
MUESTRAS
ANTERIORES.
En este caso, para la construcción del modelo se
han utilizado los mismos parámetros que en el caso
anterior pero considerando las dos ultimas muestras
de cada una de las señales según se muestra en la
figura 11.
figura 13 puede verse la respuesta de este modelo
cuando se han utilizado 8 neuronas no lineales.
0
-0.5
0.5
-1
0
-1.5
-0.5
0
-1
20
Time (seg)
30
40
Figura 13. Respuesta con dos datos de cada señal y
8 neuronas no lineales.
-1.5
4.3
-2
0
10
10
20
30
40
CASO 3: PARA CADA SEÑAL SE
UTILIZAN
TRES
MUESTRAS
ANTERIORES.
Time (seg)
Figura 12. Respuesta con 2 datos de cada señal y 5
neuronas no lineales.
Comparando la respuesta con la obtenida en la
figura 9, puede observarse que para el mismo
número de neuronas, el sistema de la figura 12 es
capaz de memorizar mejor la dinámica del sistema
aunque presenta todavía grandes diferencias
respecto al modelo real.
Si se aumenta el número de neuronas no lineales se
mejora la respuesta del modelo visiblemente. En la
Entrada
En este caso en la figura 15 puede observarse los
resultados obtenidos para el ejemplo considerando 5
neuronas no lineales. Puede compararse la respuesta
del sistema con la de la figura 13. Se observa que se
obtienen resultados similares utilizando 5 neuronas
en vez de 8.
f(u)
Tensión t
f(u)
Posición t
du/dt
Deriv
Por último se ha tomado como modelo una red
neuronal con 15 entradas que representan las
señales anteriormente indicadas pero considerando
las tres últimas muestras de cada señal. Ver figura
14.
Tensión t-1
Posición t-1
f(u)
Velocidad t
Mux
Velocidad t-1
du/dt
f(u)
Deriv1 Acelación t
f(u)
Coseno t
Capa 1 Capa 2
Red
Red
neuronal neuronal
Aceleración t-1
Coseno t-1 Mux
Figura 11. Esquema de la red para el caso 2.
f(u)
Posición
Posic
f(u)
Tensión
t
Entrada
Tensión t-1
Tensión t-2
f(u)
Posición t
Posición t-1
Posición t-2
du/dt
f(u)
Deriv1 Velocidad t
Mux
Velocidad t-1
du/dt
f(u)
Deriv2Aceleración t
Capa 1 Capa 2
Red
Red
neuronal neuronal
Velocidad t-2
.
f(u)
Norm
Posic
Aceleración t-1
Aceleración t-2
f(u)
Coseno t
Coseno t-1
Coseno t-2
Mux
Figura 14. Esquema de la red para el caso 3.
Tabla 1: Tiempos y errores de entrenamiento.
0
Tipo de red
Error
Iterac.
Sin retardos
Nº
Neuronas
5
0.39
15
Sin retardos
6
0.28
15
Sin retardos
7
0.19
23
1 retardo
5
0.15
20
1 retardo
1 retardo
6
7
0.21
0.21
16
12
1 retardo
8
0.13
15
2 retardos
5
0.13
14
-0.5
-1
-1.5
0
10
20
30
40
Time (seg)
Figura 15: Respuesta del modelo con dos retardos y
5 neuronas ocultas.
La tabla 1 muestra un resumen de las estructuras
utilizadas, el número de neuronas consideradas y
los tiempos de entrenamiento necesarios expresado
en forma de iteraciones del proceso de
entrenamiento.
Se presentan también en dicha tabla los errores
mínimos alcanzados para cada una de las diferentes
estructuras consideradas para obtener el modelo del
sistema.
5
CONCLUSIONES
Las redes neuronales son un método útil para la
identificación de sistemas y creación de modelos de
sistemas dinámicos. Es especialmente útil para el
caso de los sistemas no lineales. Este procedimiento
puede ser una alternativa diferente a los métodos
clásicos para el modelado de sistemas.
Por medio de las redes neuronales se ha obtenido un
modelo para un sistema no lineal que reproduce el
funcionamiento del sistema original para el rango
de valores que halla sido definido en el
entrenamiento. Para ello sólo es necesario conocer
suficiente información numérica de la respuesta del
sistema que se desea modelar en dicho rango de
valores de entrada.
Referencias
[1]
Alonso, L., Elorduy, P, Llata J.R. , Arce J.,
“Sistema de control de levitación con
propulsión por hélice”, XX Jornadas de
Automática , 1999.
Comparando los resultados obtenidos para las
diferentes estructuras puede verse cómo según se
van incrementando el número de neuronas se
consigue un mejor ajuste del modelo, esto es cierto
hasta un límite de neuronas añadidas, donde el
modelo comenzaría de nuevo a degradarse debido a
los problemas de sobreajuste que pueden aparecer.
Por tanto el número de neuronas debe ajustarse sin
añadir más de las necesarias para el mínimo error
deseado.
[2]
Fausett, L. “Fundamentals of Neural
Networks”, Prentice Hall, 1994.
[3]
Narendra and Parthasathy, “Identification
and Control of Dynamical Systems Using
Neural Networks”, IEEE Transactions on
Neuroal Networks, March 1990, pp 4-27.
[4]
Neural Network Toolbox. The Mathworks,
1994.
[5]
Von Mises, R., Theory of flight
Se ha visto también cómo otro posible medio para
mejorar el ajuste del modelo es la introducción de
memoria a la red por medio del incremento de
entradas al modelo, donde se incluyen para cada
una de las variables consideradas las muestras
anteriores a la actual. Esto permite a la red un mejor
control de la dinámica del sistema. Cuanto mayor
sea el número de datos de instantes anteriores
considerados mejor es también el comportamiento
del modelo.