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: [email protected], [email protected]
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
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 [(gLom)/ 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) = -[(RgLom)/( 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):.
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:
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
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 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
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