Beruflich Dokumente
Kultur Dokumente
11-17, 1999
Universidad Nacional de Ingeniería
Lima - Perú
RESUMEN
I INTRODUCCION
La solución al problema de identificación y seguimiento de trayectoria del sistema no lineal BR1L se ha divido en
dos etapas. La primera etapa consiste en la identificación de los elementos no lineales del BR1L, que son las
fricciones estática y de Coulomb y la carga no lineal de la varilla (componente sinusoidal), que es una función de
la posición angular de la carga. Estas no linealidades son identificadas por dos redes neuronales multicapa de
alimentación directa, entrenadas mediante el algoritmo de retropropagación (back-propagation) que fue
empleada debido a la caracteristica estática de las funciones a identificar. Los resultados de la identificación
serán usados para la linealización del sistema BR1L utilizando una compensación por realimentación con la red
neuronal. El sistema utilizado se puede considerar como un sistema de primer órden si se desprecia el efecto de
la inductancia de la armadura. Esta consideración se utiliza con el fin de tener acceso a los elementos no lineales
del sistema BR1L mediante una simple traslación de los mismos hacia la tensión de entrada del servomotor,
pudiendo éstos eliminarse mediante una realimentación de compensación.
La segunda etapa consiste en la realización del control. Se implementaron dos tipos de controladores utilizando
redes neuronales: (1) un controlador PID, (2) dos tipos de controladores utilizando modelos de referencia .
El sistema experimental BR1L esta constituido, ademas del servomotor, de un sensor óptico de posición, un
decodificador de cuadratura diseñado en un PLD (Dispositivo Lógico Programable) que también integra
contadores, y, la interfaz a la PC para medir la posición absoluta del BR1L. El sistema es controlado mediante
un driver PWM (Pulse Width Modulation) de potencia con configuración tipo H.
Se utilizó una PC con un procesador Pentium de 100 Mhz y una tarjeta de adquisición de datos. El Software se
desarrolló en lenguaje C y comprende los siguientes módulos: (1) identificación y control utilizando redes
neuronales; (2) algoritmo de entrenamiento de la red neuronal (retropropagación); (3) algoritmo de los
controladores implementados.
El contenido del articulo es como sigue. En la sección II se describen las redes neuronales utilizadas. En la
sección III se realiza una descripción del sistema a controlar. Los modelos de identificación utilizados se explican
en la sección IV. La deducción de los algoritmos de control se muestra en la sección V. En la sección VI se
nuestran los resultados experimentales y finalmente la en sección VII las conclusiones.
II REDES NEURONALES
Para el tratamiento en detalle de redes neuronales referirse a [1], [2]. En la identificación de los elementos no
lineales del motor se utilizó una red multicapa, con una capa de entrada, una de salida y dos capas ocultas, tal
como se muestra en la Fig.1 . Notar que en la salida de cada elemento de una capa se utiliza la función no lineal
sigmoidal g = [(1-e-x)/( 1+e-x)].
En la practica, esta red ha sido utilizada para la identificación de sistemas estáticos. Los pesos de la red se
ajustan con el algoritmo de retropropagación [1], [2], [3], que consiste en minimizar una adecuada función de
error e entre la salida y de la red y una salida deseada yd.
Figura 1: Una red neuronal de tres capas
Las rutinas de entrenamiento de la red se programaron en C; las operaciones con matrices se implementaron en
base a rutinas optimizadas Blas de Octave [4]. Las redes a utilizar poseen un elemento en la capa de entrada, 20
elementos en la primera capa oculta, 10 elementos en la segunda capa oculta, y, un elemento en la capa de
salida.
En esta sección se presenta una descripción del sistema implementado, (Fig. 2) y se realiza el modelamiento
matemático de la planta.
Para el control del BR1L, se usó un actuador que consiste de un servomotor DC de campo magnético
permanente y escobillas conmutadas.
Para accionar al actuador se construyó un driver PWM, cuya etapa de potencia consiste de 4 conmutadores en
configuración H y una lógica de disparo de tales conmutadores.
Para el sensado de posición y del sentido de giro del motor se cuenta con un codificador óptico montado en el
mismo. La información se envía por dos salidas seriales (vía trenes de pulsos desfasados 90 grados) a un PLD
EPM7128E de la familia MAX 7000, en donde fue integrado un circuito sensor de posición que consiste de un
LS7083 y 4 contadores (74193). Estos elementos ocupan un 20% de la capacidad del PLD.
Una tarjeta LAB-PC+ fue utilizada para la adquisición de datos y envío de la señal de control.
En la Fig. se muestra un esquema general del BR1L. En este sistema se observan dos partes importantes: (1) un
sistema mecánico y (2) un sistema eléctrico.
Considerando como positivo el movimiento de la varilla en sentido antihorario y despreciando la inductancia del
motor (L=0), la ecuación diferencial que modela este sistema es la siguiente:
Como se observa en la ecuación (1), el modelo de la planta es no lineal debido a las funciones torque [(gLo m)/
2n] sin(q) y f* (nw). La función f* (nw) se modela por la siguiente ecuación:
IV IDENTIFICACION DE PARAMETROS
Redes neuronales multicapa han sido utilizadas exitosamente en problemas de reconocimiento de patrones y en
numerosas aplicaciones que son sugeridas en la literatura [1], [2]. Retropropagación estática es uno de los
métodos estándar usados en estos casos para el ajuste de pesos (parámetros) de la red neuronal.
En [3] se introduce la idea de utilizar redes neuronales en modelos dinámicos para la representación de plantas
no lineales.
La respuesta en frecuencia del servomotor DC utilizado nos mostró que éste se puede considerarse como un
sistema de primer orden en el rango de operación. Por tanto, su inductancia puede despreciarse. Discretizando y
reescribiendo la ecuación (2) en una forma mas conveniente:
En la ecuación (4) se muestra que las no linealidades han sido trasladas hacia la tensión de entrada; esto es útil
porque se tiene acceso directamente a Vb . Por tanto se puede operar sobre esta variable para eliminar mediante
una realimentación de compensación las no linealidades del motor (g(qk) = -[(RgLo m)/( 2nKKact)]sin(qk) y
f(nwk) = -[R/( KKact)]f* (nwk)). Escribiendo la ecuación (4) en forma compacta tenemos:
A.1 Identificación de f(nwk )
Para identificar la función f(nwk) se considera al servomotor si la varilla. Por tanto, haciendo m = 0 en la
ecuación (4) y luego utilizando la ecuación (5), tendremos el siguiente modelo discreto del servomotor:
Los esquemas de identificación serie-paralelo y paralelo se deducen de la ecuación (6) y están dados por las
ecuaciones (7) y (8) respectivamente:
Entonces, el objetivo de identificación se reduce a minimizar el error ek utilizando algún método de optimización.
El método selecionado fue el algorítmo del gradiente por su simplicidad. Este algorítmo minimiza la función de
costo J = [(ek2)/ 2] en función de los parámetros estimados. Por tanto, la ley de identificación discreta deducida
para la actualización de los parámetros lineales es la siguiente:
donde g1 y g2 determinan la velocidad de convergencia del algoritmo de optimización empleado. Los pesos de
NNT1 son actualizados utilizando el algoritmo de retropropagación.
El modelo discreto de este sistema se muestra en la ecuación (5). Los parámetros lineales y g(qk) son
identificados utilizando NNT1, red neuronal que identificó f(nwk). La ley de identificación de los parametros
lineales se deduce de la misma forma que en la sección anterior y se muestra a continuación:
NNT2 es una red neuronal que identifica un período de g(qk). Para su entrenamiento se usó el algoritmo de
retropropagación. Para detalles de la identificación y entrenamiento de las redes neuronales referirse a [6].
Se estudió tres tipos de controladores para el BR1L. El primer controlador fue PID y los dos siguientes
controladores fueron deducidos a partir de dos modelos de referencia. La característica no lineal de estos
controladores está dada por el uso de las redes neuronales NNT1 y NNT2 en estos. Reescribiendo la ecuación
(1) adecuadamente, el modelo matemático de la planta utilizada en el desarrollo de los controladores se muestra
en la ecuación (11):
A. Control PID
Para poder utilizar un controlador PID, hay que linealizar el modelo matemático de la planta dado por la
ecuación (11). Si NNT2 y NNT1 identificaron (con un error aceptable) g(q) y f(nw) respectivamente, entonces
podemos definir la señal de control Vb como: Vb = V* b -NNT1-NNT2. Por tanto, la ecuación de la planta a
controlar es la siguiente:
Como se puede observar, la realimentación de compensación realizada linealiza la planta no lineal (ecuación
(11)) en todo su rango de operación. Entonces, el problema de control se reduce a diseñar una señal de control
V* b .
La ecuación que describe al controlador PID es la siguiente:
donde el error e(t) es la diferencia entre la señal de comando r(t) (trayectoria a seguir) y la salida del proceso
q(t) (la variable medida).
En [5] encontraron ventajoso no dejar que la parte derivativa actúe sobre la señal de comando y dejaron que
sólo una fracción b de la señal de comando actúe sobre la parte proporcional. De esta manera el algorítmo del
controlador PID toma la forma:
El controlador PID de la ecuación (15) se puede aproximar discretamente como sigue. La parte proporcional no
requiere aproximación y la parte integral utiliza una aproximación rectangular como se muestra en la ecuación
(16):.
Se realizó dos tipos de controladores utilizando modelos de referencia. El primer controlador fue diseñado para
que la respuesta del sistema BR1L se aproxime a la de un sistema de segundo órden, y el segundo controlador
se diseñó para que la salida del sistema BR1L (posición q) se aproxime a la señal de referencia.
Sea qd la salida deseada del sistema BR1L. Entonces, para una entrada dada r(t), el modelo de referencia viene
dado por la siguiente ecuación diferencial:
Por tanto, se deben calcular k1 y k2 adecuados de tal forma que qd siga a la señal de referencia r(t) con un error
tolerable.
Por consiguiente debemos diseñar la señal u1 para que la respuesta del sistema BR1L se aproxime a la del
modelo deseado. Comparando la ecuación (22) con la ecuación (19) se deduce que u1 tiene que ser de la forma
siguiente:
Por tanto, la señal de control Vb viene a ser:
Para la implementación de este algoritmo de control en una PC se realizó una aproximación discreta [5], la cual
consiste en separar la parte lineal y la no lineal para realizar dicha aproximación. El algoritmo de control
implementado fue el siguiente: .
Ahora se diseñará un controlador para que la salida q del sistema BR1L siga a la señal de referencia r(t) con un
error tolerable e(t) = q-r. Nuevamente si aplicamos la tensión Vb de la ecuación (21), la nueva planta a controlar
está dada en la ecuación (22). Entonces se debe diseñar la señal de control u1 para que q siga a r(t) con un error
razonable. Si se define que el error de seguimiento e(t) está caracterizado por la siguiente ecuación diferencial:
luego la evolución del error en el tiempo va a estar determinado por los valores de k1, k2. Estos valores definen
el máximo error alcanzado y el tiempo de establecimiento para el cual e(t) » 0 .
VI RESULTADOS EXPERIMENTALES
En esta sección se muestran los resultados experimentales obtenidos de la implementación de los algoritmos
identificación y control encontrados en secciones anteriores.
A Identificación
A continuación se muestra la identificación de los parámetros lineales y no lineales mas significativos del sistema
BR1L realizado por las redes neuronales NNT1 y NNT2.
Como se explicó en la sección IV-A.1, para la identificación de f(nw) se consideró al sistema BR1L sin la
varilla. Por tanto, utilizando la ley de identificación de la ecuación(9), la red neuronal NNT1 identifica a f(nw)
como se muestra en la Fig. 5.
Figura 5: La primera figura muestra la identificación de g(q) ví a la red neuronal NNT2 y la segunda figura
muestra la identificación de f(nw) ví a la red NNT1
Utilizando la ley de identificación de la ecuación (10), la red neuronal NNT2 identificó a g(q), como se muestra
en la Fig. 5. Los parametros lineales converguieron en los siguientes valores: G1 = 0.9973 y G2 = 0.0416.
B. Control
Los algoritmos de control se implementaron con las redes neuronales NNT1 y NNT2 y con los parámetros
lineales encontrados en la sección anterior. Cada algoritmo de control implementado fue diseñado para seguir la
señal de referencia r(t) = 0.8t-2sin(4t) en el rango de 0 £ t £ 5. La posición del eje del BR1L con respecto a la
señal de referencia r(t) es mostrada por cada controlador, así como también la señal de control proporcionada al
sistema BR1L. El periodo de muestreo utilizado en todos los experimento es Ts = 0.001 seg.
Los parámetros utilizados para este controlador (ecuación (18)) fueron los siguientes: Kp = 6.0048, Ti =
0.1867, Td = 0.0934. La posición del eje del BR1L con respecto a r(t) se muestra en la Fig. 6 y la señal de este
controlador en la Fig.7.
Figure 6: Posición del eje del BR1L, lí nea continua y r(t), lí nea punteada
Los parámetros utilizados para este controlador (ecuación (25)) fueron los siguientes: k1 = 26.0, k2 = 665.2924.
La posición del eje del BR1L con respecto a r(t) se muestra en la Fig. 8 y la señal de este controlador se
muestra en la Fig. 9.
Figura 8: Posición del eje del BR1L, lí nea continua y señaal r(t), lí nea punteada
Figura 9: Señal de control para la Fig. 8.
Los parámetros utilizados para este controlador (ecuación (30)) fueron los siguientes: k1 = 32.0, k2 = 300.0,. La
posición del eje del BR1L con respecto a r(t) se muestra en la Fig.10 y la señal de este controlador se muestra
en la Fig.11.
Figura 10: Posición del eje del BR1L, lí nea continua y señal r(t), lí nea punteada
En este trabajo se ha demostrado que las redes neuronales son capaces de identificar elementos no lineales tales
como la fricción Estática y de Coulomb y la carga no lineal de la varilla (componente sinusoidal). También se ha
demostrado que las redes neuronales convenientemente entrenadas pueden formar parte de los algoritmos de
control, compensando las no linealidades más significativas del motor dentro de su rango de operación. Con el
actuador utilizado, un controlador PID no es capaz de hacer que siga la señal de referencia r(t). El seguimiento
de r(t) es mejorado notablemente al utilizar modelos de referencia, comparando los resultados del primero y
segundo controlador de referencia, el segundo resultó mejor debido a que su algoritmo incluye las derivadas de
r(t). La velocidad puede ser hallada a partir de la posición sin serias consecuecias, pero es recomendable utilizar
el filtro de la ecuación (14) en el cálculo de la velocidad, teniendo en cuenta que la distorción de fase de la
velocidad puede afectar la compensación de linealización del controlador.
AGRADECIMIENTOS
REFERENCIAS