Está en la página 1de 18

TECNIA,Vol 8 N03, pgs.

11-17, 1999
Universidad Nacional de Ingeniera
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 Ingeniera Elctrica y Electrnica
Universidad Nacional de Ingeniera
Av. Tupac Amaru 210
Lima 25 - Per

RESUMEN
En este trabajo se plantea el problema de identificacin y seguimiento de trayectoria de
sistemas no lineales empleando redes neuronales. Los resultados tericos se verifican
mediante un estudio experimental donde el sistema no lineal est conformado por un motor
DC de imn permanente con reduccin, que adems 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 tensin de armadura
aplicada al servomotor.
Palabras clave: Redes Neuronales, Identificacin, PID, Control Inteligente, Realimentacin.

I INTRODUCCION
La solucin al problema de identificacin y seguimiento de trayectoria del sistema no lineal BR1L se ha divido en
dos etapas. La primera etapa consiste en la identificacin de los elementos no lineales del BR1L, que son las
fricciones esttica y de Coulomb y la carga no lineal de la varilla (componente sinusoidal), que es una funcin de
la posicin angular de la carga. Estas no linealidades son identificadas por dos redes neuronales multicapa de
alimentacin directa, entrenadas mediante el algoritmo de retropropagacin (back-propagation) que fue
empleada debido a la caracteristica esttica de las funciones a identificar. Los resultados de la identificacin
sern usados para la linealizacin del sistema BR1L utilizando una compensacin por realimentacin 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 consideracin se utiliza con el fin de tener acceso a los elementos no lineales
del sistema BR1L mediante una simple traslacin de los mismos hacia la tensin de entrada del servomotor,
pudiendo stos eliminarse mediante una realimentacin de compensacin.
La segunda etapa consiste en la realizacin 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 posicin, un
decodificador de cuadratura diseado en un PLD (Dispositivo Lgico Programable) que tambin integra
contadores, y, la interfaz a la PC para medir la posicin absoluta del BR1L. El sistema es controlado mediante
un driver PWM (Pulse Width Modulation) de potencia con configuracin tipo H.
Se utiliz una PC con un procesador Pentium de 100 Mhz y una tarjeta de adquisicin de datos. El Software se
desarroll en lenguaje C y comprende los siguientes mdulos: (1) identificacin y control utilizando redes
neuronales; (2) algoritmo de entrenamiento de la red neuronal (retropropagacin); (3) algoritmo de los
controladores implementados.
El contenido del articulo es como sigue. En la seccin II se describen las redes neuronales utilizadas. En la
seccin III se realiza una descripcin del sistema a controlar. Los modelos de identificacin utilizados se explican
en la seccin IV. La deduccin de los algoritmos de control se muestra en la seccin V. En la seccin VI se
nuestran los resultados experimentales y finalmente la en seccin VII las conclusiones.

II REDES NEURONALES
Para el tratamiento en detalle de redes neuronales referirse a [1], [2]. En la identificacin 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 funcin no lineal
sigmoidal g = [(1-e
-x
)/( 1+e
-x
)].
En la practica, esta red ha sido utilizada para la identificacin de sistemas estticos. Los pesos de la red se
ajustan con el algoritmo de retropropagacin [1], [2], [3], que consiste en minimizar una adecuada funcin de
error e entre la salida y de la red y una salida deseada y
d
.
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 seccin se presenta una descripcin del sistema implementado, (Fig. 2) y se realiza el modelamiento
matemtico de la planta.
Para el control del BR1L, se us un actuador que consiste de un servomotor DC de campo magntico
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
configuracin H y una lgica de disparo de tales conmutadores.
Para el sensado de posicin y del sentido de giro del motor se cuenta con un codificador ptico montado en el
mismo. La informacin se enva por dos salidas seriales (va trenes de pulsos desfasados 90 grados) a un PLD
EPM7128E de la familia MAX 7000, en donde fue integrado un circuito sensor de posicin 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 adquisicin de datos y envo de la seal de control.
En la Fig. se muestra un esquema general del BR1L. En este sistema se observan dos partes importantes: (1) un
sistema mecnico y (2) un sistema elctrico.
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 ecuacin diferencial que modela este sistema es la siguiente:
Como se observa en la ecuacin (1), el modelo de la planta es no lineal debido a las funciones torque [(gL
o
m)/
2n] sin(q) y f
*
(nw). La funcin f
*
(nw) se modela por la siguiente ecuacin:
Donde C
2
> C
1
, C
4
> C
3
y C
i
> 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]. Retropropagacin esttica es uno de los
mtodos estndar usados en estos casos para el ajuste de pesos (parmetros) de la red neuronal.
En [3] se introduce la idea de utilizar redes neuronales en modelos dinmicos para la representacin de plantas
no lineales.
El problema de identificacin consiste en encontrar un modelo conveniente de identificacin y ajustar los
parmetros del modelo para optimizar una funcin de rendimiento basado en el error entre la planta y la salida
del modelo de identificacin. En [3] se ilustran dos modelos de identificacin utilizando redes neuronales: el
modelo de identificacin 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 identificacin. Para el caso de
la Fig. 4 se deduce que el modelo de identificacin tiene la forma:
Figura 4: Modelo de identificacin serie-paralelo
A Identificacin 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 operacin. Por tanto, su inductancia puede despreciarse. Discretizando y
reescribiendo la ecuacin (2) en una forma mas conveniente:
En la ecuacin (4) se muestra que las no linealidades han sido trasladas hacia la tensin de entrada; esto es til
porque se tiene acceso directamente a V
b
. Por tanto se puede operar sobre esta variable para eliminar mediante
una realimentacin de compensacin las no linealidades del motor (g(q
k
) = -[(RgL
o
m)/( 2nKK
act
)]sin(q
k
) y
f(nw
k
) = -[R/( KK
act
)]f
*
(nw
k
)). Escribiendo la ecuacin (4) en forma compacta tenemos:
A.1 Identificacin de f(nw
k
)
Para identificar la funcin f(nw
k
) se considera al servomotor si la varilla. Por tanto, haciendo m = 0 en la
ecuacin (4) y luego utilizando la ecuacin (5), tendremos el siguiente modelo discreto del servomotor:
Los esquemas de identificacin serie-paralelo y paralelo se deducen de la ecuacin (6) y estn dados por las
ecuaciones (7) y (8) respectivamente:
donde , y son los parmetros lineales y la velocidad angular respectivamente, estimados en el
k-simo instante de tiempo. La red NNT1(nw
k
) es la salida de la red neuronal para una entrada discreta nw
k
. El
error en el instante k se define como la diferencia entre la velocidad angular real y la estimada
Entonces, el objetivo de identificacin se reduce a minimizar el error e
k
utilizando algn mtodo de optimizacin.
El mtodo selecionado fue el algortmo del gradiente por su simplicidad. Este algortmo minimiza la funcin de
costo J = [(e
k
2
)/ 2] en funcin de los parmetros estimados. Por tanto, la ley de identificacin discreta deducida
para la actualizacin de los parmetros lineales es la siguiente:
donde g1 y g2 determinan la velocidad de convergencia del algoritmo de optimizacin empleado. Los pesos de
NNT1 son actualizados utilizando el algoritmo de retropropagacin.
A.2 Identificacin de los parmetros del sistema BR1L
El modelo discreto de este sistema se muestra en la ecuacin (5). Los parmetros lineales y g(q
k
) son
identificados utilizando NNT1, red neuronal que identific f(nw
k
). La ley de identificacin de los parametros
lineales se deduce de la misma forma que en la seccin anterior y se muestra a continuacin:
NNT2 es una red neuronal que identifica un perodo de g(q
k
). Para su entrenamiento se us el algoritmo de
retropropagacin. Para detalles de la identificacin 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 caracterstica no lineal de estos
controladores est dada por el uso de las redes neuronales NNT1 y NNT2 en estos. Reescribiendo la ecuacin
(1) adecuadamente, el modelo matemtico de la planta utilizada en el desarrollo de los controladores se muestra
en la ecuacin (11):
A. Control PID
Para poder utilizar un controlador PID, hay que linealizar el modelo matemtico de la planta dado por la
ecuacin (11). Si NNT2 y NNT1 identificaron (con un error aceptable) g(q) y f(nw) respectivamente, entonces
podemos definir la seal de control V
b
como: V
b
= V
*
b
-NNT1-NNT2. Por tanto, la ecuacin de la planta a
controlar es la siguiente:
Como se puede observar, la realimentacin de compensacin realizada linealiza la planta no lineal (ecuacin
(11)) en todo su rango de operacin. Entonces, el problema de control se reduce a disear una seal de control
V
*
b
.
La ecuacin que describe al controlador PID es la siguiente:
donde el error e(t) es la diferencia entre la seal de comando r(t) (trayectoria a seguir) y la salida del proceso
q(t) (la variable medida).
A.1 Modificacin de la Respuesta Lineal
La siguiente aproximacin de la funcin de transferencia s T
d
, es conveniente para atenuar el ruido:
En [5] encontraron ventajoso no dejar que la parte derivativa acte sobre la seal de comando y dejaron que
slo una fraccin b de la seal de comando acte sobre la parte proporcional. De esta manera el algortmo del
controlador PID toma la forma:
A.2 Aproximacin Discreta
El controlador PID de la ecuacin (15) se puede aproximar discretamente como sigue. La parte proporcional no
requiere aproximacin y la parte integral utiliza una aproximacin rectangular como se muestra en la ecuacin
(16):.
La parte derivativa utilizando una diferenciacin atrazada toma la forma:
Por tanto, la seal 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 diseado 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 (posicin q) se aproxime a la seal de referencia.
B.1 Diseo del primer controlador
Sea q
d
la salida deseada del sistema BR1L. Entonces, para una entrada dada r(t), el modelo de referencia viene
dado por la siguiente ecuacin diferencial:
La funcin de transferencia, utilizando la transformada de Laplace es la siguiente:
Por tanto, se deben calcular k
1
y k
2
adecuados de tal forma que q
d
siga a la seal de referencia r(t) con un error
tolerable.
La planta a controlar se muestra en la ecuacin (11); entonces, si definimos a V
b
como:
y la reemplazamos en la ecuacin (11) obtenemos la siguiente ecuacin de la planta resultante:
Por consiguiente debemos disear la seal u
1
para que la respuesta del sistema BR1L se aproxime a la del
modelo deseado. Comparando la ecuacin (22) con la ecuacin (19) se deduce que u
1
tiene que ser de la forma
siguiente:
Por tanto, la seal de control V
b
viene a ser:
Para la implementacin de este algoritmo de control en una PC se realiz una aproximacin discreta [5], la cual
consiste en separar la parte lineal y la no lineal para realizar dicha aproximacin. El algoritmo de control
implementado fue el siguiente: .
B.2 Diseo del segundo controlador
Ahora se disear un controlador para que la salida q del sistema BR1L siga a la seal de referencia r(t) con un
error tolerable e(t) = q-r. Nuevamente si aplicamos la tensin V
b
de la ecuacin (21), la nueva planta a controlar
est dada en la ecuacin (22). Entonces se debe disear la seal de control u
1
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 ecuacin diferencial:
luego la evolucin del error en el tiempo va a estar determinado por los valores de k
1
, k
2
. Estos valores definen
el mximo error alcanzado y el tiempo de establecimiento para el cual e(t) 0 .
Reemplazando e(t) = q-r en la ecuacin (26) tenemos:
Reordenando la ecuacin (27) y utilizando la ecuacin (22) tenemos:
Por tanto, la seal de control V
b
viene a ser:
De igual forma que en la seccin anterior, para la implementacin de este algoritmo de control en una PC se
lleva a cabo una aproximacin discreta [5], resultando la siguiente seal de control: .

VI RESULTADOS EXPERIMENTALES
En esta seccin se muestran los resultados experimentales obtenidos de la implementacin de los algoritmos
identificacin y control encontrados en secciones anteriores.
A Identificacin
A continuacin se muestra la identificacin de los parmetros lineales y no lineales mas significativos del sistema
BR1L realizado por las redes neuronales NNT1 y NNT2.
A.1 Identificacin de f(nw)
Como se explic en la seccin IV-A.1, para la identificacin de f(nw) se consider al sistema BR1L sin la
varilla. Por tanto, utilizando la ley de identificacin de la ecuacin(9), la red neuronal NNT1 identifica a f(nw)
como se muestra en la Fig. 5.

Figura 5: La primera figura muestra la identificacin de g(q) v a la red neuronal NNT2 y la segunda figura
muestra la identificacin de f(nw) v a la red NNT1
A.2 Identificacin de g(q) y los parametros lineales del BR1L
Utilizando la ley de identificacin de la ecuacin (10), la red neuronal NNT2 identific a g(q), como se muestra
en la Fig. 5. Los parametros lineales converguieron en los siguientes valores: G
1
= 0.9973 y G
2
= 0.0416.
B. Control
Los algoritmos de control se implementaron con las redes neuronales NNT1 y NNT2 y con los parmetros
lineales encontrados en la seccin anterior. Cada algoritmo de control implementado fue diseado para seguir la
seal de referencia r(t) = 0.8t-2sin(4t) en el rango de 0 t 5. La posicin del eje del BR1L con respecto a la
seal de referencia r(t) es mostrada por cada controlador, as como tambin la seal 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 parmetros utilizados para este controlador (ecuacin (18)) fueron los siguientes: Kp = 6.0048, Ti =
0.1867, Td = 0.0934. La posicin del eje del BR1L con respecto a r(t) se muestra en la Fig. 6 y la seal de este
controlador en la Fig.7.

Figure 6: Posicin del eje del BR1L, l nea continua y r(t), l nea punteada

Figura 7: Seal de control PID
B.2 Primer controlador utilizando modelo de referencia
Los parmetros utilizados para este controlador (ecuacin (25)) fueron los siguientes: k
1
= 26.0, k
2
= 665.2924.
La posicin del eje del BR1L con respecto a r(t) se muestra en la Fig. 8 y la seal de este controlador se
muestra en la Fig. 9.

Figura 8: Posicin del eje del BR1L, l nea continua y seaal r(t), l nea punteada

Figura 9: Seal de control para la Fig. 8.
B.3 Segundo controlador utilizando modelo de referencia
Los parmetros utilizados para este controlador (ecuacin (30)) fueron los siguientes: k
1
= 32.0, k
2
= 300.0,. La
posicin del eje del BR1L con respecto a r(t) se muestra en la Fig.10 y la seal de este controlador se muestra
en la Fig.11.

Figura 10: Posicin del eje del BR1L, l nea continua y seal r(t), l nea punteada

Figura 11: Seal 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 friccin Esttica y de Coulomb y la carga no lineal de la varilla (componente sinusoidal). Tambin se ha
demostrado que las redes neuronales convenientemente entrenadas pueden formar parte de los algoritmos de
control, compensando las no linealidades ms significativas del motor dentro de su rango de operacin. Con el
actuador utilizado, un controlador PID no es capaz de hacer que siga la seal 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 posicin sin serias consecuecias, pero es recomendable utilizar
el filtro de la ecuacin (14) en el clculo de la velocidad, teniendo en cuenta que la distorcin de fase de la
velocidad puede afectar la compensacin de linealizacin del controlador.

AGRADECIMIENTOS
A la seccin de Postgrado de la Facultad de Ingeniera Electrica y Electrnica 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
tcnicas de programacin, 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 clculos matemticos., 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 edicin, 1990.
[6] Luis A. Ponce D., Luis G. Herrera B. y Arturo Rojas M., Control de servo sistemas no
lineales usando redes neuronales., Revista Tcnico-Cientfica TECNIA, publicacin de la
Universidad Nacional de Ingeniera, LIMA - PERU. Agosto 1998.
Para mayores referenci as di rj ase a l a si gui ente di recci n
i gi @uni .edu.pe

También podría gustarte