Sie sind auf Seite 1von 18

TECNIA,Vol 8 N°03, págs.

11-17, 1999
Universidad Nacional de Ingeniería
Lima - Perú

CONTROL DE SERVO SISTEMAS NO LINEALES USANDO


REDES NEURONALES
Luis A. Ponce Dioses, Arturo Rojas Moreno (Asesor)
E-mail: lponce@tp.com.pe, arojas@uni.edu.pe

Facultad de Ingeniería Eléctrica y Electrónica


Universidad Nacional de Ingeniería
Av. Tupac Amaru 210
Lima 25 - Perú

RESUMEN

En este trabajo se plantea el problema de identificación y seguimiento de trayectoria de


sistemas no lineales empleando redes neuronales. Los resultados teóricos se verifican
mediante un estudio experimental donde el sistema no lineal está conformado por un motor
DC de imán permanente con reducción, que además tiene una varilla acoplada al eje del
motor a manera de un robot de un grado de libertad. En este sistema, se denominado
BRAZO ROBOTICO DE UN GRADO DE LIBERTAD (BR1L), la varilla es capaz de moverse
en un plano perpendicular al eje del motor y es controlada por la tensión de armadura
aplicada al servomotor.

Palabras clave: Redes Neuronales, Identificación, PID, Control Inteligente, Realimentación.

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.

III DESCRIPCION DEL SISTEMA A CONTROLAR

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.

Figura 2: Esquema general del sistema implementado

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.

Figura 3: Esquema de la planta a controlar

La nomenclatura usada es la siguiente:

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:

Donde C2 > C1 , C4 > C3 y Ci > 0, i=1...4.

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.

El problema de identificación consiste en encontrar un modelo conveniente de identificación y ajustar los


parámetros del modelo para optimizar una función de rendimiento basado en el error entre la planta y la salida
del modelo de identificación. En [3] se ilustran dos modelos de identificación utilizando redes neuronales: el
modelo de identificación paralelo y el serie-paralelo. El modelo serie-paralelo se ilustra en la Fig. 4 , que se
diferencia con el paralelo en que la salida de la planta es realimenta al modelo de identificación. Para el caso de
la Fig. 4 se deduce que el modelo de identificación tiene la forma:
Figura 4: Modelo de identificación serie-paralelo

A Identificación del sistema BR1L

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:

donde , y son los parámetros lineales y la velocidad angular respectivamente, estimados en el


k-ésimo instante de tiempo. La red NNT1(nwk) es la salida de la red neuronal para una entrada discreta nwk. El
error en el instante k se define como la diferencia entre la velocidad angular real y la estimada

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.

A.2 Identificación de los parámetros del sistema BR1L

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].

V CONTROL DEL SISTEMA BR1L

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).

A.1 Modificación de la Respuesta Lineal

La siguiente aproximación de la función de transferencia s Td , es conveniente para atenuar el ruido:

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:

A.2 Aproximación Discreta

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):.

La parte derivativa utilizando una diferenciación atrazada toma la forma:


Por tanto, la señal de control viene dada por:

B. Controladores utilizando modelos de referencia

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.

B.1 Diseño del primer controlador

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:

La función de transferencia, utilizando la transformada de Laplace es la siguiente:

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.

La planta a controlar se muestra en la ecuación (11); entonces, si definimos a Vb como:

y la reemplazamos en la ecuación (11) obtenemos la siguiente ecuación de la planta resultante:

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: .

B.2 Diseño del segundo controlador

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 .

Reemplazando e(t) = q-r en la ecuación (26) tenemos:

Reordenando la ecuación (27) y utilizando la ecuación (22) tenemos:

Por tanto, la señal de control Vb viene a ser:


De igual forma que en la sección anterior, para la implementación de este algoritmo de control en una PC se
lleva a cabo una aproximación discreta [5], resultando la siguiente señal de control: .

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.

A.1 Identificación de f(nw)

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

A.2 Identificación de g(q) y los parametros lineales del BR1L

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.

B.1 Controlador PID

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

Figura 7: Señal de control PID


B.2 Primer controlador utilizando modelo de referencia

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.

B.3 Segundo controlador utilizando modelo de referencia

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

Figura 11: Señal de control para la Fig. 10.


VII CONCLUSIONES

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

A la sección de Postgrado de la Facultad de Ingeniería Electrica y Electrónica de la UNI que me proporcionó el


equipamiento y las facilidades del caso, sin los cuales no habria podido realizar este trabajo.

REFERENCIAS

[1] James A. Freeman / David M. Skapura, Redes Neuronales. Algoritmos, aplicaciones y


técnicas de programación, Addison Wesley Iberoamericana, S. A. 1993.
[2] Simon Haykin, Neural Networks, Macmillan College Publishing Company. Inc 1994
[3] Kumpati S. Narendra and Kannan Parthasarathy, Identification and Control of
Dynamical Systems Using Neural Networks, IEEE Transactions on Neural Networks.
Vol. I. No. 1, March 1990.
[4] Octave, Sofware para cálculos matemáticos., University of Wisconsin-Madison,
ftp://ftp.che.wisc.edu/pub/octave.
[5] Astrom, K.J. y Wittenmark B., Computer Controlled Systems: Theory and Desing.,
Prentice Hall, 2da edición, 1990.
[6] Luis A. Ponce D., Luis G. Herrera B. y Arturo Rojas M., Control de servo sistemas no
lineales usando redes neuronales., Revista Técnico-Científica TECNIA, publicación de la
Universidad Nacional de Ingeniería, LIMA - PERU. Agosto 1998.

Para mayores referencias diríjase a la siguiente dirección


igi@uni.edu.pe

Das könnte Ihnen auch gefallen