3 - Cenidet

Anuncio
S.E.P.
S.E.I.T.
D.G.I.T.
CENTRO NACIONAL DE INVESTIGACION
Y DESARROLLO TECNOLOGICO
cenidet
IMPLEMENTACIÓN DE CONTROLADORES PARA
SISTEMAS NO LINEALES USANDO REDES
NEURONALES ARTIFICIALES
E
T
I
S
PARA OBTENER
S
EL GRADO DE:
MAESTRO E N CIENCIAS
E N INGENIERÍA ELECTRONICA
P
E
R
S
E
N
T
A:
ING. JUAN CARLOS ALARCÓN ROCHA
DIRECTORES DE TESIS
M.C. RAFAEL PARRAHERNÁNDEZ
DR JAIME ÁLVAREZ GALLEGOS
CUERNAVACA, MORELOS
NOVIEMBRE 1999
CENTRO NACIONAL DE INVESfIGACIÓN Y DESARROLLO TECNOLÓGICO
cerridet
ACADEMIA DE LA MAESTRiA EN ELECTRÓNICA
FORMA R11
ACEPTACION DEL TRABAJO DE TESIS
Cuemavaca, Mor.
Dr. Juan Manuel Ricaño Castillo
Director del cerridet
Presente
Jefe del Depto. de Electrónica
At’n. Dr. Jaime E. Arau Roffiel
Después de haber revisado el trabajo de tesis titulado: “IMPLEMENTACIÓN DE
CONTROLADORES PARA SISTEMAS NO LINEALES USANDO REDES NEURONALES
ARTIFICIALES”, elaborado por el alumno Juan Carlos Alarcón Rocha, bajo la dirección del M.C.
Rafael Parra Hernández y co-director Dr. Jaime Álvarez Gallegos, el trabajo presentado se
ACEPTA para proceder a su impresión.
ATENTAMENTE
M.C. Carlos Daniel García Beltrán
Dr. Luis Gerard0 Vela Valdés
Expediente
INTERIOR INTERNADO PALMIRA SIN. CUERNAVACA. MOR. MÉXICO
AP 5-164 CP 62050, CUERNAVACA,
TELS. (73112 2314.12 7613.18 7741. FAX 1731 12 2434
Dr. Jaime Arau Rolfielliefe del Depto de Eiectrónico
EMAlL [email protected]
cenidet
Centro Nacional de Investigación y Desarrollo Tecnológico
Cuernavaca, Morelos
Ing. Juan Carlos Alarcón Rocha
Candidato al grado de Maestro en Ciencias
en Ingeniería Electrónica
Presente
Después de haber sometido a revisión su trabajo final de tesis titulado: “IMPLEMENTACIÓN DE
CONTROLADORES PARA SISTEMAS NO LINEALES USANDO REDES NEURONALES
ARTIFICIALES’, y habiendo cumplido con todas las indicaciones que el jurado revisor de tesis le hizo, le
comunico que se le concede autorización para que proceda a la impresión de la misma. como requisito
para la obtención del grado.
Reciba un cordial saludo.
I
.-\
I
C.C.P. expediente.
INTERIOR INTERNADO PALMiRA S/N. CUERNAVACA. MOR. MCXICO
AP 5-164 CP62050, CUERNAVACA,
TELS. 1731122314, 127613. 187741. FAX 173) 122434
Or. Ja’ime Arau RoffielIJefe del Depto d e Electrónica
EMAlL [email protected]
cenidet
A quienes debo la vida,
quienes me formaron y me
inculcaron los principios de
superación sin importar condiciones
Iimitantes...
Quienes me enseñaron que las
restricciones materiales son solo
una ilusión cuando en verdad
se desea alcanzar una meta...
Por despertar en mi la inquietud
de buscar nuevas metas...
Que Dios los guarde
I
I
Muy lejos donde brilla el sol,
se encuentran mis más altas aspiraciones
probablemente nunca las alcance; pero puedo
alzar la vista, contemplar su belleza
creer en ellas y tratar de
seguir su rumbo...
Dedicatoria
A Dios por darme la vida
Con todo mi amor a tres grandes mujeres
Mi madre Maria de los Angeles,
Mi abuelita Macaria,
Mi tia Maria del Carmen.
quienes me han dado toda su ternura, cariño, amor y han inculcado en mi el
sentido de la responsabilidad.
A mi abuelito Aurelio
por todos sus consejos, que Dios lo tenga en su reino (t).
A mi tío Manuel
por su apoyo incondicional.
Con todo respeto,
a mi amigo Ricardo Valladolid (t).
A mi hermano G. Iván
por darme su apoyo, confianza, cariño
y por todos los momentos que desde
niños hemos compartido.
Y a una persona muy especial,
mi hermanito José Manuel, te amo pequeñito.
A quien con su cariño me apoyo
en todo momento. Nadira, te quiero.
Agradecimientos
A mi familia. gracias por su incondicional apoyo y cariño
A mis asesores M.C. Rafael Parra Hernández y Dr. Jaime Álvarez Gallegos, por
haber Compartido sus conocimientos y darme paciencia en momentos dificiles,
además de su amistad.
AI comité de revisión por sus comentarios y sugerencias para mejorar y enriquecer
este tema de investigación: M.C Carlos Daniel Garcia Beltrán, M.C. Guadalupe
Madrigal Espinosa y Dr. Luis Gerard0 Vela Valdés.
A rnis maestros por su amistad y apoyo durante mi formación académica
'
AI Dr. Rafael Castro Linares por sus comentarios para mejorar este trabajo de
tesis.
A la Lic. Margarita Martinez Leal, por su ayuda en la revisión de este trabajo.
A rnis compañeros de la generación de los patos: Amin, Pedro, Beristain, Lalo,
Ricardo, Javier, Freddy, Rubén y Jorge por todos los momentos que compartimos
juntos.
A rnis amigos Iván, Elias, Toño, Nacho, Victor, Jhonson, Mario, Ciro, Marco,
Miguel y Morcillo por su apoyo incondicional.
A la Sra. María Elena y al Dr. J.Arau por su apoyo en todo momento
A mis amigas Esmeralda, Ari, Lucero, Liliana, Ale, Sofia, Gaby y Carla gracias por
su amistad.
A todo el personal administrativo y del área de electrónica de esta institución
AI pueblo de México, que a través de CONACYT y SEP me permitió realizar rnis
estudios.
neuroidentificador ................................................................................
I
9
I
<".
2.4 Identificación para el control de sistemas ..................................................
f
't<
4
~
I
i .
,..
..>
;.._! .
.
Capítulo'3 Análisis de ,sensibilidad
y optimización sin
) I
$*'.
:
3-
2-23
''
'
*
restricciones
%
...
,. .
3.1 Analisis de sensibilldad ................................................................................
5':
3-1
11
....
* .
. . .
3.1.2 Análisis de sensibilidad para el modelo de regulación de'flujo...........3-7
I
.
't
.,.
3.2 Optimizacion ............................................... P................................................ 3-9
..
It
.3.2.1 Funciones de una variable ....1.......................................................... 3-10
11
i
'
,I.
.
, b
3.2.2 Funciones de n variables ..................................................................
3-12
?
ii
.
.....
......
d
-/
Agradecimientos
A mi familia, gracias por su incondicional apoyo y cariño.
A mis asesores M.C. Rafael Parra Hernández y Dr. Jaime Áivarez Gallegos, por
haber compartido sus conocimientos y darme paciencia en momentos difíciles,
además de su amistad.
AI comité de revisión por sus comentarios y sugerencias para mejorar y enriquecer
este tema de investigación: M.C Carlos Daniel Garcia Beltrán, M.C. Guadalupe
Madrigal Espinosa y Dr. Luis Gerard0 Vela Valdés.
A mis maestros por su amistad y apoyo durante mi formación académica.
'
AI Dr. Rafael Castro Linares por sus comentarios para mejorar este trabajo de
tesis.
A la Lic. Margarita Martinez Leal, por su ayuda en la revisión de este trabajo
A mis compaiieros de la generación de los patos: Amin, Pedro, Beristain, Lalo,
Ricardo, Javier, Freddy, Rubén y Jorge por todos los momentos que compartimos
juntos.
A mis amigos Iván, Elias, Toño, Nacho, Victor, Jhonson, Mario, Ciro, Marco,
Miguel y Morcillo por su apoyo incondicional.
A la Sra. Maria Elena y al Dr. J.Arau por su apoyo en todo momento
A mis amigas Esmeralda, Ari, Lucero, Liliana, Ale, Sofía, Gaby y Carla gracias por
su amistad.
A todo el personal administrativo y del area de electrónica de esta institución
~ l ' ~de ~México,
~ bque
l a~través de CONACYT y SEP me Permitió realizar mis
estudios.
TABLA DE CONTENIDO
Tabla de contenido . . . . . . .
..............
Lista de figuras ......................................
Lista de tablas ........................................
Introduccion.. .........................................
. I
............................
......................................................
"
..................................................... ix
..............................
....................... x
Capítulo
1 ,Redes neuronales artificiales
..
1.1 Introduccm .................................................................................................
1.2 Descripción de una neurona biológica .........................................................
1.3 Redes neuronales artificiales .................................................................
1.3.1 Arquitectura ..............
1-1
1-4
.....................................................
1-5
1.3.2 Conexiones.........................................................................................
1-7
1.3.3 Aprendizaje
..<..
..........................................
.................. 1-8
1.4 Clasificación.............................
...............:......
..................1-8
1.5 Las redes neuronales artificiales como elementos de control ...................... 1-9
1.5.1 Esquema de control indirecto usando redes neuronales artificiales. 1-10
.........................
1.6 Algoritmos de entrenamiento.
.....................
Capítulo 2 Identificación de sistemas
dinámicos usando redes
neuronales
artificiales
.,
2.1 Conceptos básicos y notacion .....................................................................
2.2 Identificación de sistemas estáticos y dinámicos .........................................
2.2.1 Representación de sistemas ..............................................................
2-1
2-2
2-2
2.2.2Identificaci6n~.
.......................................................................................
.
r
, s
,.
. ' 2 " i ,>*~,
,
':2:2.3Esquemas ge identific i6n .....;..............:...........................................
2-4
2.3.1 lntercambiador de calor RCT 100.............................................................
2-7
~
:
2-6
~
2.3 Casos de aplicacibn.....................................................................................
2-7
2.3.1.I Identificación del sistema con un neuroidentificador
empleando el algoritmo OLL ................................................................
2.3.1.2Pruebas de. .generalizaci6n del modelo obtenido con el
neuroidentificador ..............................................................................
2.3.2CEllO Servo Trainer ..... ......................................................................
2.3.2.1Identificación del sistema con un neuroidentificador
empleando el algoritmo OLL ...............................................................
2.3.2.2Pruebas de generalización del modelo obtenido con el
*
2-15
>.
2.3.3
de flujo .................................................................
. . ' ~Módulo.de regulación
," . .
empleando el algoritmo OLL ................................................................
<
2-20
neuroidentificador ................................................................................
2-21
,. -
i
'
2-1O
2-13
2-17
2-19
neuroidentificador ..............................................................................
.
2-8
I.
I
..
%,
8,
2.3':3.1Identificación del sistema con un neuroidentificador
~
2.3.2.2Pruebas de
. .generalización del modelo obtenido con el
2.4 Identificación Para el control de sistemas ..................................................
' Capítulo
2-23
3 Análisis de sensibilidad
y optimización sin
restricciones
..
-
, . de sensibilidad ................................................................................ 3-1
3.1 Analisis
3.1.1Análisis de sensibilidad para el modelo del CEI 10.Servo Trainer......3-4
3.1.2Análisis de sensibilidad para el modelo de regulación de flujo ...........3-7
3.2 Optimización ................................................................................................ 3-9
.
.
~1 : . ' . ,
, .
3.2.1'Funciones de una variable ................................................................. 3-10
, < -
. I
3.2.2Funciones de n variables..................................................................
, .
ii
3-12
Capítulo 4 Programación cuadrática
secuencial y. su aplicación
en las redes neuronales
artificiale s
4.1 Optimización no lineal con restricciones ...................................................... 4-1
4.2 Condiciones necesarias y suficientes para un mínimo local ........................ 4-2
4.3 Programación cuadratica secuencial (SQP) ................................................ 4-3
4.4 Identificación del CE110 Servo Trainer empleando el algoritmo SQP .........4-3
4.4.1 Pruebas de generalización del modelo obtenido con el
neuroidentificador ................................................................................... 4-6
4.5 Identificación del módulo de regulación de flujo empleando el algoritmo
SQP ..............................................................................................................
.
I
4.5.1 Pruebas de generalización del modelo obtenido con el
neuroidentificador ..................................................................................
Ca&ulo 5 Resultados
I
4-7
4-10
5.1 Implementación del esquema de control indirecto .......................................
5.2 Control del CE110 Servo Trainer .................................................................
5-1
5-5
5.2.1 Regulación y seguimiento sin perturbación ........................................
5-5
5.2.2 Estrategia de control para rechazo a perturbaciones .........................
5-6
5.2.3 Regulación con perturbación..............................................................
5-7
5.2.4 Regulación y seguimiento de una trayectoria con una no linealidad
en la seiíal de control y sin perturbación ............................................
5-8
5.2.5 Regulación con una no linealidad en la señal de control sin perturbación y
en presencia de perturbación......................................................................
5-9
5.3 Control del módulo de regulación de flujo ..................................................
5-10
5.3.1 Seguimiento sin perturbación.................................................................
5-10
5.3.2 Regulación con perturbación ............................................................
5-11
iii
Capítulo
..
'6 Gkclusiones
1
,
.
.
.y,
.......... ....................
6.1 Resultados'obte
6.2 Trabajos futuros
.:...................
.....................................................
?
héndice A
I
,A.I Ejemplo de optimización de los parametros de una red neuronal
artificial empleando SQP ......................................................................... A-?
héndice B
I
B . l Programa de comunicación ........................................................................
B-I
B.l .IConexión cliente-servidor ..................................................................
B-2
B.l .2 Conexión servidor-cliente ..................................................................
8-2
B.2 Programa general de RNA .........................................................................
B-3
héndice C
I
C.1 Metodología propuesta para identificar una planta SISO usando redes
neuronales artificiales ............................ :.................................................. C-I
Referencias ......................... :I..............................................................................
Bibliografía ...........................................................................................................
iv
R-I
S-1
LISTADE FIGURAS
Figura 1.1 Esquema de control directo adaptable con modelo de referencia ......1-3
Figura 1.2 Esquema de control indirecto adaptable con .modelo de referencia ... 1-3
Figura 1.3 Diagrama esquemático de una neurona biológica ..............................
1-4
Figura 1.4 Modelo básico de una neurona...........................................................
1-6
Figura 1.5 Configuraciones de las redes neuronales artificiales ..........................
1-9
Figura 1.6 Esquema de control indirecto usando RNA ......................................
1-10
Figura 1.7 Red neuronal recurrente simple ...........;............................................
1-12
Figura 2.1 Sistema visto como una caja negra ....................................................
2-4
Figura 2.2 Esquema de una red neuronal...........................................................
2-5
Figura 2.3 Esquema de identificación serie-paralelo ...........................................
2-6
Figura 2.4 Esquema de identificación en paralelo ...............................................
2-6
Figura 2.5 Esquema del intercambiador de calor RCT 100 de DIDATEC
TECHNOLOGIE .................................................................................. 2-8
Figura 2.6 Patrones de entrenamiento tomados del intercambiador de calor
RCT 100, las muestran fueron tomadas cada 10 segundos ...............2-8
Figura 2.7 Esquema serie paralelo para la identificación de la planta RCT
100 ...................................................................................................
2-9
Figura 2.8 Respuesta del intercambiador de calor RCT 100 y del modelo, las
muestran fueron tomadas cada 10 segundos................................... 2-10
Figura 2.9 Doscientos sesenta y siete datos extraidos de la respuesta de
intercambiador de calor RCT 100 ante rampas para pruebas de
generalización de la RNA, cada muestra fue tomada por intervalos
de 10 segundos ................................................................................ 2-11
Figura 2.10 Salida de la planta y salida del modelo (entrenado con el
algoritmo OLL) para los datos de entrada de la figura 2.9. ...............2-12
V
Figura 2.1 1 Trescientos datos extraídos del intercambiador de calor RCT 100
para pruebas de generalizacit~n del modelo obtenido con el
neuroidentificador, cada muestra fue tomada por intervalos de I O
segundos. ......................................................................................... 2-12
Figura 2.12 Respuesta del modelo obtenido con el neuroidentificador para
los datos de la figura 2.1 I.
..............................................................
2-13
Figura 2.13 CEI 10 Servo Trainer ......................................................................
2-14
Figura 2.14 Esquema paralelo para la identificación de la planta CEI 10
Servo Trainer..................................................................................
2-15
Figura 2.15 Patrones de entrenamiento tomados del CEI 10 Servo Trainer,
el tiempo de muestreo fue de 0.4 segundos. ...................................
2-16
Figura 2.16 Respuesta del CEllO Servo Trainer y del modelo obtenido con
la RNA, el tiempo de rnuestreo fue de 0.4 segundos. ........................ 2-16
Figura 2.17 Señal senoidal para evaluar el modelo del C E l l O Servo Trainer y
respuesta del mismo, el tiempo de muestreo fue de 0.4 segundos. .2-17
Figura 2.18 Respuesta del CEI 10 Servo Trainer y del modelo obtenido con
la RNA, el tiempo de muestreo fue de 0.4 segundos. ....................... 2-17
Figura 2.19 Ciento cinco datos obtenidos del CEllO Servo Trainer para
pruebas de generalización de la RNA, cada muestra fue tomada
por intervalos de 0.4 seg................................................................... 2-18
Figura 2.20 Respuesta del CEI 10 Servo Trainer y del modelo obtenido con
la RNA, el tiempo de muestreo fue de 0.4 segundos....................... 2-18
Figura 2.21 Módulo de regulación de flujo .........................................................
2-19
Figura 2.22 Esquema paralelo para la identificación del módulo de regulación
de flujo..............................................................................................
2-20
Figura 2.23 Patrones de entrenamiento tomados del módulo de regulación
de flujo, el tiempo de muestreo fue de 0.4 segundos....................... 2-20
Figura 2.24 Respuesta del módulo de regulación de flujo y del modelo
obtenido con la RNA, el tiempo de muestreo fue de 0.4
segundos.......................................................................................... 2-21
Figura 2.25 Ciento cinco datos obtenidos del módulo de regulación de flujo
para pruebas de generalización de la RNA, cada muestra fue
2-22
tomada por intervalos de 0.4 seg
Figura 2.26 Respuesta del módulo de regulación de flujo y del modelo
obtenido con la RNA, el tiempo de rnuestreo fue de 0.4 segundos. 2-22
Figura 2.27 Esquema de control indirecto .......................................................
Figura 3.1 Gráfica del error cuadrático medio ......................................................
vi
2-23
3-2
Figura 3.2 Estructura del neuroidentificador empleado para la identificación
3-5
de CE110 Servo Trainer usando OLL .................................................
Figura 3.3 Respuesta del modelo obtenido con RNA para el C E l l O Servo
Trainer para una señal que contiene datos con los que no se entrenó
la RNA................................................................................................. 3-6
Figura 3.4 Respuesta del modelo obtenido con RNA para el módulo de
regulación de flujo para una señal que contiene datos con los que no
se entrenó la RNA ............................................................................... 3-8
Figura 3.5 Aproximación de dos puntos con una RNA ........................................
3-9
Figura 3.6 Representación de una función de una variable ...............................
3-10
Figura 4.1 Esquema paralelo para la identificación de la planta CEI 10 Servo
Trainer .............................................................. :..................................
4-4
Figura 4.2 Estructura del neuroidentificador empleado para la identificación
de CEI 10 Servo Trainer usando SQP ................................................ 4-4
Figura 4.3 Patrones de entrenamiento tomados del CEIIO Servo Trainer, el
tiempo de muestreo fue de 0.4 segundos. .......................................... 4-5
Figura 4.4 Respuesta del CEllO Servo Trainer y del modelo obtenido con la
RNA, el tiempo de rnuestreo fue de 0.4 segundos .............................. 4-6
Figura 4.5 Señal senoidal para evaluar el modelo del CEI 10 Servo Trainer,
el tiempo de muestreo fue de 0.4 segundos. ...................................... 4-6
Figura 4.6 Respuesta del CEI 10 Servo Trainer y del modelo obtenido con la
RNA, el tiempo de muestreo fue de 0.4 segundos .............................. 4-7
Figura 4.7 Esquema paralelo para la identificación de la planta módulo de
regulacion de flujo ............................................................................... 4-8
. I
Figura 4.8 Patrones de entrenamiento tomados del módulo de regulación de
flujo, el tiempo de muestreo fue de 0.4 segundos............................... 4-9
Figura 4.9 Respuesta del módulo de regulación de flujo y del modelo
obtenido con la RNA, el tiempo de rnuestreo fue de 0.4 segundos. ...4-9
Figura 4.10 Señal senoidal para evaluar el modelo del módulo de regulacióri
de flujo, el tiempo de rnuestreo fue de 0.4 segundos........................ 4-10
Figura 4.11 Respuesta del módulo de regulación de flujo y del modelo
obtenido con la RNA, el tiempo de muestreo fue de 0.4 segundos. .4-11
Figura 5.1 Esquema de control indirecto basado en redes neuronales
...
artificiales .............................................................................................
5-1
Figura 5.2 lnterfaz gráfica ....................................................................................
5-3
vii
Figura 5.3 Implementación del esquema de control indirecto con la ayuda de
computadoras personales .......:................................ ;.......................... 5-4
Figura 5.4 Gráfica de la respuesta del Servo Trainer en .-seguimiento y
regulación sin perturbación ..................................... : .......................... 5-6
Figura 5.5 Estrategia de control en regulación con perturbación .........................
5-7
Figura 5.6 Regulación sinkon carga para el CEI 10 Servo Trainer ...................:.5-7
Figura 5.7 Señal de control con histéresis y offset aplicada al CEI 1O Servo
Trainer y su respuesta ........................................................................ 5-8
Figura 5.8 Respuesta del sistema en regulación y seguimiento de una
trayectoria, sin'carga y en presencia de una no linealidad en la'
señal de control................................................................................... 5-9
Figura 5.9 Respuesta del sistema a) en presencia de una no linealidad en la
señal de control para parámetros del neuroidentificador
desconocidos;
b) perturbación en el sistema .............................
......5-10
,.
~
Figura 5.1 O Respuesta del seguimiento de un flujo deseado sin perturbación ..5-1 1
Figura 5.1 1 Regulación sinlcon perturbación en la válvula ................................
5-1 1
Figura A.l Estructura de una red neuronal artificial ............................................
A-I
viii
LISTADE TABLAS
Tabla 3.1 Parámetros del neuroidentificador usado para copiar la dinámica del
CEI 10 Servo Trainer usando OLL ........................................................ 3-5
Tabla 3.2 Parámetros del neuroidentificador usado para copiar la dinámica del
módulo de regulación de flujo usando OLL.......................................... 3-7
Tabla 4.1 Parámetros de la RNA entrenada con SQP para identificar el CEI 10
Servo Trainer ......................................................................................... 4-4
Tabla 4.2 Parámetros de la RNA entrenada con SQP para identificar el módulo
.,
de regulacion de Rujo.......................................................................... 4-8
Tabla A.l Patrones de entrenamiento para una RNA ...........................................
Tabla A.2 Valor de los parámetros de la RNA optimizada ..................................
A-2
A-6
ix
'
Antecedentes
El control clásico ha solucionado de manera eficiente la mayoría de los problemas
de control que se han presentado. Sin embargo, debido a que se basa en la teoría
de los sistemas lineales, se requiere que el sistema.a controlar sea lineal o que
tenga un comportamiento lineal en la región de operación.
El problema de control de sistemas no lineales es muy complejo y en algunas
aplicaciones presenta una gran cantidad de procedimientos heuristicos. El método
clásico de linealización de sistemas no lineales se realiza de manera local, es
decir en diversos puntos de operación del sistema para el cual se obtienen
modelos lineales. Este procedimiento tiene la desventaja de que habrá de diseñar
un controlador lineal para cada modelo obtenido en cada punto de trabajo.
Además, al pasar de un modelo lineal al siguiente, no existen garantías de que el
control funcione correctamente, ya que aparecen fenómenos no lineales de mayor
complejidad [I].
Más recientemente se ha utilizado una metodología que produce
una linealización global y exacta del sistema no lineal original a través de una
transformación de variables y una retroalimentación de estados [2]. Este último
método se restringe a determinados sistemas, pero cubre casos muy prácticos
como los robots manipuladores. Entre otras técnicas para el análisis y diseño de
controladores para sistemas no lineales se pueden mencionar:
1) técnicas de control geométrico basado en la geometría diferencial.
2) control predictivo.
3) control adaptable con conocimiento parcial del modelo matemático de la
planta y
4) control basado en el teorema de Lyapunov.
desafortunadamente en todos estos análisis se requiere conocer el modelo
matemático de la planta o al menos tener un conocimiento parcial del mismo.
Se han propuesto numerosas técnicas de control adaptable [3] para reemplazar
los métodos de control clásico; la habilidad de adaptarse a las variaciones de las
dinámicas de la planta ha hecho que la importancia de los controladores
adaptables se incremente en muchas aplicaciones. Sin embargo, antes de ser
implementados tiene que establecerse el modelo matemático de la planta que
muchas veces es difícil y laborioso. Si agregamos a esto el error de modelado de
la planta ello nos lleva a una degradación en el desempeño de los controladores.
.
Por otro lado, el reciente surgimiento del paradigma de las redes neuronales
artificiales como una poderosa herramienta de aprendizaje, ha atraído el interés de
los investigadores en diferentes áreas. Se ha mostrado que las RNA presentan un
buen desempeño en la identificación y el control de sistemas, independientemente
de las no linealidades que presente. Usando estructuras de control basadas en la
obtención de modelos numéricos es Dosible, en teoría, realizar el control de
cualquier sistema no lineal sin requerir de un modelo matemático a priori [4].
Una búsqueda computacional [5] mostró que durante 1990-1995 fueron
publicados, en el área de ingeniería, 9955 artículos con títulos conteniendo las
palabras "redes neuronales artificiales". De estos artículos, 8000 trataban sobre
aproximación de funciones y reconocimiento de patrones, es decir sistemas
estáticos; 1955 artículos estaban relacionados con el control de sistemas usando
redes neuronales, de estos últimos sólo 355 artículos fueron ubicados en el área
de aplicaciones. De estos, 45% estaban relacionados con aspectos teóricos,
aproximadamente el 28% eran estudios de simulación, 23% estaban relacionados
con experimentos de laboratorio y un 4% (14 artículos) estaban relacionados con
aplicaciones reales. Las estadísticas también revelan que el área de interés de
aplicación de las redes neuronales artificiales son los sistemas estáticos,
particularmente el reconocimiento de patrones y además, que las aplicaciones
prácticas no han tenido un papel importante. Lo anterior se debe sin duda a la
complejidad en el diseño, síntesis e implernentaciones suficientemente rápidas de
controladores basados en redes neuronales artificiales aplicados a sistemas no
lineales reales.
Objetivo
El objetivo de este trabajo de tesis es el sigue/nte: Desarrollar, implemenfar y
evaluar controladores de alto desempetio, basados en redes neurona/es
artificiales, aplicados a sistemas no lineales.
xi
Propuesta
Una propuesta interesante para el desarrollo e implementación de controladores
para sistemas no lineales es el uso de redes neuronales para la obtención de
modelos numéricos adaptabies. Se pretende implementar el esquema de control
, .
indirecto basado en redes neuronales artificiales.
I
Los aspectos relevantes a evaluar del controlador basado en redes neuronales
serán:
Desempeño del esquema de control en la regulación aplicado a dos
prototipos de laboratorio.
Desempeño del esquema de control en el seguimiento de trayectorias
predefinidas.
Robustez práctica del sistema ante perturbaciones tales como: error en
el conocimiento de los valores de los parámetros del modelo y variación
de los valores de los parámetros.
Alcances
A través del presente proyecto de investigación se pretende:
+
+
t
Desarrollar controladores, de alto desempeño basados en redes neuronales
artificiales, aplicados a sistemas no lineales.
lmplementar prácticamente el esquema de control indirecto basado en redes
neuronales artificiales.
Evaluar el desempeño del controlador en regulación, seguimiento y robustez.
Organización de la tesis
En el CAPiTULO 1 se expone la problemática del modelado de sistemas
dinámicos usando técnicas de control convencional y técnicas de control moderno;
también se proponen las redes neuronales artificiales corno una alternativa para
la identificación y el control de sistemas no lineales.
En el CAPITULO 2 se presenta la identificación de sistemas dinámicos y se
aplican las redes neuronales artificiales a la identificación de dos prototipos de
laboratorio.
En el CAPITULO 3 se realiza un análisis de sensibilidad del identificador basado
en redes neuronales artificiales (neuroidentificador) y se expone la optimización
sin restricciones.
En el CAPiTULO 4 se expone el método de estimación paramétrica con
restricciones, en particular el método de programación cuadrática secuencia1
(SQP).
El CAPITULO 5 corresponde a las pruebas y análisis de resultados de la
evaluación del esquema de control indirecto implementado en dos prototipos de
laboratorio.
En el APÉNDICE A se presenta un ejemplo de la implementación del algoritmo
SQP en la estimación paramétrica de una red neuronal artificial.
En el APÉNDICE B se explica como trabaja el programa de comunicación entre
dos computadoras personales, empleando la plataforma de Labwindows.
xiii
Capítulo 1
Redes neuronales artificiales
1.Iintroducción
El primer paso en el estudio de un sistema físico es derivar las ecuaciones
matemáticas que lo describen. Esta descripción que deberá ser conveniente
computacionalmente y, al mismo tiempo deberá ser una representación adecuada
del sistema, es conocida como el modelo matemático.
Si sólo interesa el comportamiento final del sistema, una descripción entradasalida o una función de transferencia será adecuada para representarlo. Si, por el
contrario, interesa el comportamiento interno del sistema, entonces será útil una
descripción en el espacio de estados.
Un modelo es una representación aproximada de un sistema físico; se usa para
organizar y/o reducir esfuerzos computacionales requeridos en el análisis y diseño
de sistemas. Desarrollar un modelo adecuado para un sistema físico complejo es
una tarea importante y difícil que requiere la habilidad para determinar cuáles
variables físicas o relaciones son importantes para la precisión del modelo y
cuáles pueden ser despreciadas. Esto implica que el sistema físico pueda tener
varios modelos dependiendo de la cuestión de interés.
Capitulo 1. Redes neuronales artificiales
Una representación matemática de un sistema fisico se obtiene describiendo
matemáticamente la cantidad de diferentes interacciones en los componentes del
sistema. Esto se logra aplicando las leyes flsicas que gobiernan tales
interacciones de los modelos del sistema.
Pero ¿por qué se necesita un modelo matemático para describir un proceso? El
objetivo es desarrollar un sistema de control, el cual garantice que los objetivos de
operación del sistema sean satisfechos en presencia de ciertas perturbación.
El modelo matemático del sistema ayuda en la simulación ya que existen casos en
los cuales resulta demasiado costosa o peligrosa la experimentación directa con el
sistema; también ayuda para el entrenamiento de personal, y con base en él es
posible encontrar una ley de control de tal forma que la salida de la planta siga a
una referencia deseada (e.g. en los esquemas de control adaptable).
I
La teoria de control trata sobre el análisis y sintesis de sistemas dinámicos, en los
cuales una o más variables son preestablecidas dentro de ciertos límites. Si las
funciones que representan al sistema (modelo matemático), tanto en los estados
como en la salida, son conocidas, el problema de control es diseñar un
controlador, el cual genere la entrada de control. uconc(k),deseada, basada en toda
la información disponible en un instante k. Mientras una amplia variedad de
técnicas en el dominio del tiempo y de la frecuencia existen para la síntesis y
diseño de controladores para los sistemas lineales, no existen métodos similares
para los sistemas no lineales.
En las Últimas tres décadas ha existido un gran interés en el control de sistemas
en los cuales están presentes las incertidumbres de sus dinámicas. Para asegurar
un tratamiento matemático adecuado, la mayoría de los esfuerzos han sido
encaminados al control adaptable de plantas lineales invariantes en el tiempo con
parámetros desconocidos. Sin embargo, el interés de este trabajo de tesis va
enfocado al control de sistemas dinámicos no lineales cuyo modelo matemático
no es conocido.
I”
LOS esquemas de control basados en los sistemas adaptables hacen explícito el
uso de modelos para el control, es por ello que han sido estudiados ampliamente.
Uno de los sistemas de control adaptable es el sistema de control adaptable con
modelo de referencia (MRAC).
En la teorla convencional del control adaptable se distinguen dos etapas en el
proceso de adaptación al emplear un MRAC para el control de una planta. La
primera se denomina parte algebraica, que busca demostrar que el controlador
tiene la capacidad suficiente para lograr el objetivo deseado. Es decir, si se
conoce alguna información a priori de la planta, se demuestra que el vector de
parámetros del controlador, O*, existe para cualquier valor del vector de
parámetros, p , de la planta, tal que la salida de la planta controlada junto con el
controlador se aproxime asintóticamente a la salida del modelo de referencia. La
1-2
Capítulo 1. Redes neuronales artificiales
=
segunda etapa es la parte analítica del problema, que consiste en determinar
leyes adaptables estables, para ajustar e(k) tal que Iim B(k) = 8* y asegurar que el
3:
k-r-
error de salida tienda a cero.
Y,&)
Modelo de
referencia
:
error
I
Con olador
Planta
.-fYpla"(t)
J
Modelo de
referencia
I
/
I
Y-U)
V
t+
Co rolador
ir
I
I
Figura 1.2 Esquema de control indirecto adaptable con modelo de referencia
El problema de control de sistemas no lineales es muy complejo y en algunas
aplicaciones presenta una gran cantidad de procedimientos heurícticos. El método
1-3
Capíiiilo 1. Redes iteiiri~i~alc.s
ariijicialcs
clásico de linealización de sistemas no lineales se realiza de manera local, es
decir, en diversos puntos de operacibn del sistema para el cual se obtienen
modelos lineales. Este procedimiento tiene la desventaja de que habrá que
diseñar un controlador lineal para cada modelo obtenido en cada punto de trabajo.
Además, al pasar de un modelo lineal al siguiente, no existen garantías de que el
control funcione correctamente, ya que aparecen fenómenos no lineales de mayor
complejidad [6,7].
"Para superar estas dificultades, el uso de las redes neuronales artificiales (RNA),
en control, se ha incrementado de forma significativa en los últimos años. Su gran
habilidad de aprendizaje, ayuda a que el diseño del controlador sea más flexible,
especialmente cuando la planta presenta dinámicas complejas y altamente no
lineales, según afirma Nguyen y Widrow. Esta es una ventaja distintiva sobre las
técnicas de diseño de controladores usando la teoría de control clásico" [8].
1.2 Descripción de una neurona biológica
"Una neurona es una célula viva y, como tal, contiene los mismos elementos que
forman parte de todas las células biológicas. Además, contienen elementos
característicos que las diferencian. En general, una neurona consta de un cuerpo
esférico, de 5 a 10 micras de diámetro, del que salen una rama principal, el axón,
y varias ramas más cortas, llamadas dendritas (ver figura 1.3). A su vez, el axón
puede producir ramas en torno a su punto de arranque, y con frecuencia se
ramifica extensamente cerca de su extremo" [9,10].
Una de las características que diferencian a las neuronas del resto de las células
vivas, es su capacidad de comunicarse. En términos generales, las dendritas y el
cuerpo celular reciben señales de entrada; el cuerpo celular las combina e integra
1-4
-
Capitulo I . Redes neuronales artificiales
y emite señales de salida. El axón transporta esas señales a las terminales
axónicos, que se encargan de distribuir información a un nuevo conjunto de
neuronas. Por lo general, una neurona recibe información de miles de otras
neuronas y. a su vez, envia información a miles de neuronas más. Se calcula que
en el cerebro humano existen del orden de I O l 5 conexiones [I1,121.
La señal generada por la neurona y transportada a lo largo del axón es un impulso
.eléctrico, mientras que la señal que se transmite entre los terminales axónicos de
una neurona y las dendritas de las neuronas siguientes es de origen quimico;
concretamente, se realiza mediante moléculas de sustancias transmisoras
(neurotransmisores) que fluyen a través de unos contactos especiales, llamados
sinapsis, que tienen la función de receptor y están localizados entre los terminales
axónicos y las dendritas de la neurona siguiente [13].
'
Para establecer una similitud directa entre la actividad sináptica y la analogía con
las redes neuronales artificiales, vamos a fijar los siguientes aspectos: las señales
que llegan a la sinapsis son las entradas a la neurona; éstas son ponderadas
(atenuadas o amplificadas) a través de un parámetro denominado peso, asociado
a la sinapsis correspondiente. Estas señales de entrada pueden excitar a la
neurona (sinapsis con peso positivo) o inhibirla (peso negativo). El efecto es la
suma de las entradas ponderadas. Si la suma es igual o mayor que el umbral de
la neurona, entonces la neurona se activa (proporciona salida). Esta es una
situación todo o nada; cada neurona se activa o se desactiva [14].
1.3 Redes neuronales artificiales
I.3.1 Arquitectura
La arquitectura de las RNA está definida por elementos básicos de procesamiento
y por la forma en que están interconectados. El elemento básico de
procesamiento es la neurona, llamada asi por su analogía con las neuronas
biológicas, aunque también es llamada perceptrón (Rosenblati( 1958)) o adaline
(Widrow y Hoff (1960)). La mayoría de los elementos básicos de procesamiento
está formada por dos componentes (ver figura 1.4) [15,16]:
1) un sumador ponderado,
2) una función de activación.
Capitulo I . Redes neuronales artificiales
a
Función
no lineal
r'
Yi
Figura 1.4 Modelo bdsico de una neurona
Sumador ponderado
El sumador ponderado está descrito por:
N
...
II
xi(t) = za,yj(t)
i=1
+ z b j k u k ( f +) w j
k=l
esto da una suma ponderada xi en términos de las salidas de todos los elementos
fi ={yi,...,y,& entradas externas uk={u&..unz) y los pesos correspondientes au y bik
junto con una constante wi llamada umbral. N de estos sumadores ponderados
pueden ser convenientemente expresados en una forma matricial, dada por:
x(t) = A y ( t ) + Bü(f) + w
donde:
(14
A es una matriz de N x N elementos a,
B es una matriz de N x M elementos bik
w es un vector de N elementos wi
y es un vector de N elementos yi
Función de activación
La función de activación puede ser una simple función lineal o de cualquier otro
tipo, por ejemplo una función no lineal tal que g ( . ) proporciona el elemento de
salida yi en términos de la salida del sumador ponderado x i [ 1 7 ] , es decir:
Y,
=
dx;)
(1.3)
La RNA que se utilizará en el desarrollo de este trabajo de tesis se empleará en la
neurona de la capa de salida una función de activación lineal y en las neuronas de
la capa intermedia una función de activación sigmoidal. La función sigmoidal ha
sido empleada en el campo de las redes neuronales artificiales debido a que
Cybenko demostró que las RNA con este tipo de función son capaces de
1-6
-
Capitulo 1. Redes neuronales artijíciales
representar funciones continuas [I 81. Esta función está descrita matemáticamente
por:
I.3.2Conexiones
1
Las neuronas por si solas no son poderosas en términos de computación o
representación, pero el paralelismo de sus interconexiones permiten establecer
relaciones entre variables obteniendo grandes capacidades de procesamiento.
Se tiene una hipótesis sobre la noción de memoria en las redes biológicas para
hacer conexiones sinápticas. Basados en esta hipótesis, los valores o pesos de
las conexiones (sinapsis), determinan la “memoria” o “conocimiento” de la red
neuronal [19,20].
Algunas de las neuronas en una RNA son llamadas neuronas de entrada y otras
de salida, estos dos conjuntos proveen un medio a la red para comunicarse con el
mundo exterior. El resto de las neuronas de la red que no entran en estos
conjuntos son llamadas neuronas ocultas. En general, las neuronas de entrada
pueden conectarse a las neuronas de salida o a las neuronas ocultas, las
neuronas pueden conectarse mutuamente a otras neuronas y también pueden
conectarse a sí mismas. AI conjunto de neuronas ya sean de entrada, salida u
ocultas se le llama capa. Partiendo de este tipo de organización, a través de
capas, se distinguen dos sistemas de interconexión de las neuronas:
I.Conexiones dentro de capa. Son conexiones entre las neuronas de una misma
capa.
2. Conexiones entre capas. Son conexiones entre neuronas de diferentes capas.
Las conexiones entre capas permiten que la señal de entrada a la red neuronal
pueda fluir a través de ésta en dos formas diferentes dependiendo del tipo de
red:
i) Flujo en una sola dirección. La señal de entrada a la red sólo fluye en
una sola dirección desde las neuronas de entrada hasta las neuronas
de salida.
ii) Flujo con retroalimentación. En este caso la red tiene una estructura de
retroalimentación debido a que las salidas de las neuronas de una capa
están conectadas a las entradas de las neuronas de una capa anterior
(por ejemplo capa de salida - capa de entrada) [21].
1-7
1.3.3 Aprendizaje
La mayoria de las redes neuronales son sometidas a un procedimiento de
"aprendizaje" durante el cual se determinan los valores adecuados de los pesos y
umbrales, con el fin de que la RNA logre aprender un comportamiento deseado;
para este procedimiento de aprendizaje se requiere el empleo de métodos de
estimación de parámetros.. El aprendizaje puede ser supervisado o no
supervisado. En el aprendizaje supervisado se le muestra a la RNA la respuesta
demandada de ella ante una entrada particular. A través de métodos para
minimizar el error entre la salida de la RNA y la salida deseada, se supervisa el
aprendizaje. En el aprendizaje no supervisado no se le proporciona a la red la
respuesta deseada. La RNA con base en la información o características de los
patrones de entrada los acomoda por grupos o secciones [22,23].
1.4 Clasificación
Las RNA pueden clasificarse en dos grupos: el de las RNA no recurrentes
(RNANR), mejor conocidas como RNA feedforward, y el de las RNA recurrentes
(RNAR).
"Las RNANR no tienen capacidad de memoria, su salida está determinada,
únicamente, por las entradas actuales y los valores de los pesos, por lo que su
entrenamiento se realiza a través de un mapeo estático"[24,25].
"Lac RNAR se denominan así,. por poseer conexiones de retroalimentación, ya
sea: entre las neuronas de la capa de salida y las de la capa de entrada, entre las
neuronas de la misma capa o entre neuronas de diferentes capas. La existencia
de retroalimentación origina que la salida de la RNA se encuentre determinada por
las entradas actuales y las entradas previas, teniendo importantes capacidades,
tales como la de almacenar información o la de memoria"[26,27] (ver figura 1.5).
b) Red neuronal recurrente
Figura 1.5 Configuraciones de /as redes neuronales artificiales
1.5 Las redes neuronales artificiales como elementos de
control
La gran diversidad de sistemas no lineales es la primera razón del por qué no se
sistematiza y generaliza la teoría para el diseño de controladores no lineales.
Existe un rango de métodos tradicionales en el análisis y síntesis de controladores
no lineales, para clases específicas de sistemas no lineales, como por ejemplo:
métodos de plano fase, técnicas de linealización y funciones descriptivas [28].
"En aplicaciones prácticas, resulta difícil expresar las dinámicas reales de la planta
en ecuaciones matemáticas. Si se agrega a esto las aproximaciones que se
realizan en el modelado, el desempeño del controlador, que se diseña con base
en el modelo, es deficiente. Los esquemas de control adaptable pueden ajustar al
controlador de acuerdo a las características del proceso, previendo un alto nivel
de desempeño" [29].
"El control adaptable presenta algunas desventajas. Por ejemplo. existen
algoritmos adaptables que trabajan para problemas específicos y no trabajan para
un amplio rango de problemas, de tal forma que cada aplicación tiene que ser
analizada individualmente. Tales algoritmos utilizan algún conocimiento acerca del
proceso para una correcta selección de la identificación del modelo" [30].
En los Últimos años, las RNA han atraído el interés de los investigadores en
diferentes áreas, por su capacidad de modelar sistemas no lineales y porque
presentan como características principales la capacidad de aprendizaje,
procesamiento en paralelo, toma de decisiones, capacidad de generalización y
tolerancia a fallas [31,32,33].
1-9
Capíiulo I . Redes neuronales ani‘ciales
1S.1 Esquema de control indirecto usando redes neuronales
artificiales
Existen muchas situaciones donde una persona provee en un control la acción de
retroalimentación para una tarea particular, donde resulta difícil el diseñar un
controlador automático empleando las técnicas convencionales de la teoría de
control. Sin embargo, actualmente es deseable diseñar un controlador automático
que minimice la acción del ser humano, esto ha sido llamado control supervisado
WI.
El esquema de control indirecto es un esquema de control supervisado. En este
esquema de control, el controlador es usualmente conectado en serie con la
planta que será controlada. Sin embargo, para el diseño de tal controlador es
necesario conocer el modelo de la planta, que puede obtenerse a través de algún
método de identificación.
‘
Es posible emplear una RNA para el control e identificación de una planta en el
esquema de control indirecto, en el cual los parámetros de ajuste de la red
neuronal artificial del controlador (neurocontrolador) necesitan actualizarse usando
el error que está determinado por la diferencia entre la salida de la planta y la
referencia deseada. Debido a que el neurocontrolador está conectado en serie
con la planta y sus parámetros iniciales son aleatorios, se tiene una señal de
control desconocida, lo cual produce un error inicial. Esto lleva a emplear un
algoritmo de entrenamiento eficiente, con el finLde obtener una señal de control
adecuada. El esquema del control indirecto basado en redes neuronales
artificiales se muestra en la figura 1.6 [35].
error
refer(k)
ucon,(k)
J
YPb”W
*.
+
.
”...._......sensibilidad
........................’....,.
Figura 1.6 Esquema de control indirecto usando RNA
Capliulo 1. Redes neuronales ariifciales
El objetivo de control está definido de la manera siguiente:
donde yp/an(k)=f(üconi(k))y uconi(k)=neurocontrolador(refer(k),wc,vc)
w, y v, representan los parámetros del neurocontrolador.
Como se mencionó anteriormente, la salida de la red neuronal se compara con la
salida de la planta, de tal forma que se emplea como indice de desempeño para
minimizar un error cuadrático medio:
Un mínimo de la función descrita en (1.6) puede estar dado por:
Partiendo del hecho que el modelo de la planta no está disponible o no es
conocido, entonces no es posible conocer la sensibilidad, es decir:
Sin embargo, esta expresión puede ser estimada a través del uso de una RNA
como identificador de la planta, como se muestra en la figura 1.6. Después del
entrenamiento del neuroidentificador, e.g. cuando ymo,,(k)=yp/an(k) (basado en un
índice de desempeño) se puede suponer que la sensibilidad del neuroidentificador
es semejante a la de la planta. Usando ymod(k)en lugar de yPfan(k),el objetivo de
control (1 5 )se puede lograr ya que es posible encontrar el mínimo de (1.7).
El tipo de RNA originalmente empleado como neuroidentificator es la red neuronal
recurrente simple (RNRS) [36],la cual es mostrada en la figura 1.7.
1-11
99- 0555
Capitiilo I . Redes neuronales ariijiciales
(b) Capa de salida de la RNRS
(a)Estructura de RNRS
Figura 1.7 Red Neuronal Recurrente Simple
La salida de la RNRS se define como
br = vo + CV,f
j=r
!"C
w,x: + o;-'
i=0
1
(1 .sa)
(1.9b)
donde:
v y w representan los parámetros de la RNA
f(s) representa la función de activación sigmoidal
Como se mencionó anteriormente, es necesario emplear un algoritmo de
entrenamiento para las redes neuronales artificiales, de tal forma que en el
esquema de control indirecto basado en RNA, el neurocontrolador pueda
proporcionar una señal de control adecuada con el fin de asegurar que el error
entre la salida de la planta y la referencia deseada sea igual a cero. También es
necesario emplear un algoritmo de entrenamiento que estime los parámetros del
neuroidentificador, de tal forma que se copie la dinámica de la planta y que el
error entre la salida de la planta y la salida del modelo (neuroidentificador)
también sea igual a cero.
1.6 Algoritmos de entrenamiento'
"El desarrollo y popularización de la regla de aprendizaje de retropropagación
(backpropagation) ha estimulado fuertemente la investigación en esta área. Sin
embargo, el algoritmo de aprendizaje retropropagación (backpropagation)
presenta algunas desventajas como son: muy lenta velocidad de convergencia y
la necesidad de tener parámetros predeterminados, lo cual limitan el uso práctico
de este algoritmo".
"Se han reportado muchos algoritmos de entrenamiento para las RNA en la
literatura. Algunos son reglas heuristicas para encontrar los parámetros óptimos
para el aprendizaje. Otros refinan el método de gradiente descendente para
acelerar la convergencia. Otros más, emplean diferentes métodos de optimización
no lineal como gradientes conjugados, el método de Newton o las técnicas quasiNewton".
"Todos estas mejoras logran mejores velocidades de convergencia y para muchas
aplicaciones son suficientes. Sin embargo, para aquellas aplicaciones en las que
se requiere una alta precisión en la salida, tal como la predicción de series
caóticas de tiempo, los algoritmos conocidos son muy lentos e ineficientes".
Para reducir las dificultades descritas se ha propuesto en la literatura un nuevo
algoritmo de aprendizaje el cual no realiza una evaluación de gradientes locales.
Este algoritmo está basado en la optimización capa por capa de la red neuronal
artificial y es llamado algoritmo de aprendizaje mediante optimización capa por
capa (aprendizaje OLL por sus siglas en inglés).
Las capas son optimizadas alternativamente en un proceso iterativo. El algoritmo
de optimización capa por capa se aplica a una red neuronal artificial como la
mostrada en la figura 1.5, y se procede como sigue:
Se inicia con pesos aleatorios. Con ayuda de estos pesos se calculan los pesos
de las conexiones de la capa intermedia con la capa de salida, dejando
constantes los pesos de las conexiones entre la capa de entrada y la capa
intermedia. Cabe aclarar aquí que no se calculan incrementos en esta capa, se
calculan directamente los pesos que hacen que disminuya el error, esto ya es una
diferencia con la regla backpropagation que para todas las capas calcula
incrementos. Con este primer grupo de pesos optimizados se prueban los
patrones de entrenamiento y si el error entre la salida de la planta y la salida del
neuroidentificador todavía no llega a la cota establecida entonces se pasa a
optimizar el grupo de pesos de las conexiones entre la capa de entrada con la
capa intermedia. Aquí sí se calculan incrementos que corresponden solamente a
esta capa entrada-intermedia. Nuevamente, una vez optimizado este grupo de
pesos se prueban los patrones de entrenamiento y si no se ha alcanzado la cota
1
Este apartado se basa en la referencia [37] y [38]
1-13
~~~
~
~
~
Capíiulo I . Redes neuronales artificiales
establecida se regresa a optimizar nuevamente los pesos del primer grupo. Y así
se entra en un ciclo hasta que se encuentren los mejores pesos o, en su defecto,
hasta que lleguen a un número de iteraciones establecido por el usuario.
Otro punto importante que usa el algoritmo OLL es que en la optirnización de los
pesos de la capa entrada-intermedia, a pesar de que se presenta un problema no
lineal por causa de la función sigmoidal, el algoritmo OLL lo traduce a un
problema lineal.
1-14
Capítulo 2
Identificación de sistemas dinámicos
usando redes neuronales artificiales
2.1 Conceptos básicos y notación
La caracterización de sistemas es uno de los problemas de gran interés dentro de
la teoría de control; este problema consiste en encontrar una representación
matemática del sistema a la que se denomina modelo. El modelo de un sistema
puede ser representado por medio de un operador P, con base en el espacio de
entrada U y el espacio de salida Y. El objetivo es caracterizar la clase P, a la cual
pertenece P.
Dada una clase P donde el operador P E P , el problema de identificación es
determinar una clase P c P y un operador P E P tal que, P se aproxime a P. En
sistemas estáticos los espacios U y Y son subconjuntos de R" y Rm,
respectivamente, mientras que en un sistema dinámico se asume que son
funciones integrables definidas en un intervalo de [O,T] Ó [O, a).En ambos casos,
el operador P está definido intrínsecamente por pares de entrada-salida.
A
Capítulo 2. Idrnii/icacion de sisicmas dinámicos
La elección de la clase de modelos de identificación P , así como la especificación
del método usado para determinar P , depende de una gran variedad de factores
relacionados con la precisión deseada, la manipulación analítica, la manera en la
A
cual el modelo P puede representar a P, su simplicidad, la facilidad con la que
puede ser extendido el modelo y finalmente, si P será usado fuera de línea o en
linea. En aplicaciones prácticas muchas de estas decisiones dependen
naturalmente de la información a priori que se conozca de la planta que será
identificada [39].
.
2.2 Identificación de sistemas estáticos y dinámicos
El problema del reconocimiento de patrones es un ejemplo típico de identificación
de sistemas estáticos. Los conjuntos compactos de U i c % ” , son mapeados dentro
de elementos y,eXrn;(i=l,2,...,m) en el espacio de salida a través de una función
P. Los elementos de U, denotan el vector de patrones correspondientes a la clase
y,. En los sistemas dinámicos, el operador P se define por funciones de tiempo de
pares de entrada-salida u(t), y(f), t E [O,T].En ambos casos el objetivo es
determinar P , tal que
para todo
E
> O y una norma definida convenientemente (denotada porllll) sobre el
espacio de salida. En (2.1), P ( u ) denota la salida del modelo identificado mientras
que y- y = E , es el error entre la salida generada por el modelo y la salida de la
planta [40].
2.2.1 Representación de sistemas
Existen diferentes métodos para representar sistemas dinámicos, unos de ellos es
representarlos a través de ecuaciones diferenciales o de diferencias, el cual se
encuentra actualmente bien establecido en la teoría de control y se aplica a una
amplia variedad de sistemas. Por ejemplo, las ecuaciones diferenciales:
Capitulo 2. Idenfificacidn de sistemas dinamicos
Y ( t ) = y/[x(t)l
dónde
x u ) = [Xl(t)>XZ(f)'.-, x , ( t ) Y .
u ( t )= [u,(t),u*(f),...,up(f)]T Y
y ( t ) = Iv,(t>,y,(t),...,y,( t)l'representan un vector de entrada p y un vector de
salida rn de un sistema de orden n, u,(t)denota las entradas, x , ( t ) las variables
de estado y y , ( t ) las salidas del sistema. @ y Y son mapeos estáticos no lineales
definidos como: @:gin x 9lp + F?", y Y :%" -+ 93"'. El vector x(f)denota el estado
del sistema en un tiempo f y es determinado por el estado anterior, en un tiempo
f, < t , y por la entrada u definida sobre el intervalo [to,t), así la salida y(f), está
determinada por el estado del sistema en un tiempo t. Como se puede observar, la
ecuación (2.2) es una representación estado. El sistema representado en la
ecuación (2.2) puede ser expresado en tiempo discreto de la siguiente forma:
donde u ( . ) , x(.)y y(.) son secuencias de tiempo discretas. Si se considera al
sistema lineal e invariante en el tiempo, las ecuaciones que gobiernan su
comportamiento son:
donde A , B y C son matrices de ( n x n ), ( n x p ) y ( rn x n) respectivamente.
Entonces, el sistema es representado por la triada (C,B,A), y empleando la teoría
de los sistemas lineales invariantes en el tiempo, que involucra los conceptos de
controlabilidad, observabilidad y estabilidad que han sido estudiados
extensivamente en las últimas tres décadas, es posible encontrar una solución
para u(.). La señal de control u ( . ) ,también puede ser determinada con base en la
optimización de un criterio de desempeño. El estudio de estos diferentes
problemas puede ser fundamentalmente encaminado al hecho de que pueden ser
reducidos a una solución de n ecuaciones lineales. En contraste con ésto, los
problemas que involucran ecuaciones no lineales de la forma de (2.2), donde las
funciones @ y Y son conocidas, conducen a un sistema de ecuaciones
algebraicas no lineales cuya solución es difícil de obtener y muchas de las veces
es válida solamente para casos particulares [41].
2-3
Caniiuln 2. Idenfificacih de sisfemas dinámicos
2.2.2 Identificación
Cuando las funciones @ y Y en (2.3). o las matrices A, B y C en (2.4) no se
conocen, surge entonces un problema de identificación
de un sistema
desconocido. Esto puede establecerse formalmente como sigue:
La entrada y salida de una planta dinámica, invariante en el tiempo, causal y
discreta, está dada por u(.) y ypfan(.),
respectivamente, donde u(.) es una función
del tiempo uniforme y acotada; la planta se asume estable con una representación
conocida, pero con los valores de los parámetros desconocidos. El objetivo del
proceso de identificación es construir un modelo que pueda sustituir a la planta,
de tal forma que cuando se le aplique una señal de entrada, u ( k ) , como a la
planta, produzca una señal de salida y,,,,(k), la cual se aproxime a yp,an(k)en el
sentido descrito en la ecuación (2.1).
'
Los modelos pueden ser construidos y desarrollados de diversas maneras: en
forma totalmente teórica, basados en las relaciones físicas que rigen el
comportamiento de la planta, o bien en forma empírica con experimentos sobre la
planta ya existente, o inclusive mediante una combinación de ambas técnicas.
Una forma empirica de realizar una identificación es ver a la planta como una caja
negra (ver figura 2.1), a la cual se le aplican señales de entrada y se observan la
señal o señales de salida [42].
Figura 2. I Sistema visto como una caja negra
El problema de identificación consiste, entonces, en encontrar la relación
existente, en términos de ecuaciones matemáticas, entre las señales aplicadas al
sistema, u ( k ) y u ( k - I ) , y la respuesta del mismo, ~ ~ , ~ ~ ( k ) , y ~y ~ ~ ~
ypfa,,(k-2). Dependiendo de la dinámica del sistema, es conveniente
retroalimentar señales atrasadas tanto del control como de la salida y así emplear
diferentes estructuras para la identificación de la planta.
En general, se desea que el modelo represente fielmente al sistema bajo las más
variadas condiciones de operación, pero es conveniente también que el modelo
2-4
Capitulo 2. Idenrijicación de sisremas dhamicos
sea sencillo, lo que conlleva un compromiso entre sencillez y representación fiel
del comportamiento de la planta.
En la práctica, muchas veces es difícil y complicado determinar el modelo
matemático de un sistema físico, por lo que generalmente se realiza una serie de
aproximaciones, y algunas veces no es posible incluir en el modelo todas las no
linealidades que pudiera presentar la dinámica de la planta.
Resulta interesante el emplear una técnica de control inteligente para la
identificación de sistemas físicos, de tal forma que la herramienta que se emplee
obtenga el modelo de la planta.
El reciente surgimiento del paradigma de las redes neuronales artificiales como
una poderosa herramienta de aprendizaje, ha mostrado su buen desempeño en la
identificación, control y predicción de cualquier sistema, independientemente de
las no linealidades que presente, por ello se decidió emplearlo como una
estrategia alterna para la identificación y el control de un sistema físico.
'
Como se mencionó en el capítulo anterior, una red neuronal artificial se define
como "una colección de unidades llamadas neuronas, que se comunican unas con
otras por medio de conexiones llamados pesos". El aprendizaje de la red neuronal
se lleva a cabo a través de un entrenamiento, que consiste en encontrar los
valores adecuados de los..pesos (wi,vj)y de los umbrales (bi) que satisfacen un
conjunto de datos entrada-salida de la planta (ver figura 2.2).
AI proceso de encontrar los valores adecuados de los pesos (wi,v,) y de los
umbrales (bJ,se le denomina estimación paraméfrica.
En el presente trabajo, la identificación de la planta se llevó a cabo a través del
esquemas de identificación paralelo y del esquema de identificación serieparalelo.
2-5
Capiirrio 2. Idrnlificacidn de sisirmas dimimicos
2.2.3 Esquemas de identificación
c-
.'7
En el esquema de identificación serie-paralelo, tanto la señal de entrada como la
señal de salida de la planta son conectadas directamente a la entrada del
identificador, y la diferencia entre la respuesta del identificador y la respuesta de la
planta, e@). se usa como un índice de desempeño para satisfacer un conjunto de
datos entrada-salida en el proceso de estimación paramétrica. De esta forma el
identificador no sólo se encuentra en serie, sino que también en paralelo con la
planta (ver figura 2.3).
Planta
G
I,)k(t"oc"
Y p l A
.......
r'
ldentificador
F
e(k)
Y
k(),
Figura 2.3 Esquema de idenlificacibn serie-paralelo
En tanto que en el esquema de identificación paralelo, la entrada de la planta se
conecta a la entrada del identificador y la diferencia entre la respuesta del
identificador y la respuesta de la planta, e@), se usa como un índice de
desempeño para satisfacer un conjunto de datos entrada-salida en el proceso de
estimación paramétrica. De esta forma el identificador solamente se encuentra en
paralelo con la planta (ver figura 2.4) [43,44,451.
ldentificador
F
Figura 2.4 Esquema de identificación en paralelo
Durante el proceso de identificación se encuentran los parámetros de un modelo
propuesto y se ajustan (sintonizan), con el fin de optimizar una función de
desempeño basada en el error, e@), entre la salida del modelo y la salida de la
planta. El proceso de identificación con una red neuronal artificial consiste en
ajustar los parámetros de la RNA (umbrales y pesos) empleando algún algoritmo
de estimación paramétrica (etapa de entrenamiento de la RNA), basado en el
error entre la salida del neuroidentificador y la salida de la planta. En las
identificaciones realizadas a los procesos que se describen a continuación se
empleó el algoritmo de entrenamiento de optimización capa por capa (OLL), para
2-6
Capitulo 2. Identificación de risIemas dinamicos
redes neuronales artificiales recurrentes simples [46]. En el apéndice C se
propone una metodología para el entrenamiento de una RNA.
Se consideran tres casos de estudio para la etapa de identificación a través de
una RNA usando el algoritmo de entrenamiento OLL.
I.lntercambiador de calor RCT 100
2. CEI 10 Servo Trainer.
3. Módulo de regulación de flujo.
'
2.3 Casos de aplicación
2.3.1 lntercambiador de calor RCT I100
'
Un caso de estudio es un módulo de temperatura RCT 100 de DIDATEC
TECHNOLOGIE, que se muestra en la figura 2.5 [47].
El intercambiador de calor consiste de dos tubos, uno dentro del otro, en el tubo
de menor diámetro (línea dentro del tubo de mayor diámetro) circula agua caliente
que proporciona el termorregulador, la circulación de esta agua caliente provoca
que el agua que fluye en el tubo de mayor diámetro incremente su temperatura
debido al intercambio de energía calorífica. Aquí lo que interesa es mantener a
una cierta temperatura el agua que fluye en el tubo de mayor diámetro, agua fría.
Si se requiere una mayor temperatura en el agua fría se abrirá la válvula de
regulación, en caso contrario se cerrará.
El problema consiste en mantener la temperatura de un fluido, en este caso agua,
a una temperatura deseada, mediante la transmisión de calor que proporciona un
fluido caliente (agua caliente), a mayor flujo de agua caliente más rápido es el
calentamiento del agua fría. El flujo de agua caliente es controlado por una válvula
de regulación, mientras que el flujo de agua fría es controlado por la válvula de
perturbación. El agua caliente es suministrada por el termorregulador, el agua fría
es suministrada por la red. La entrada del actuador es para controlar el porcentaje
de apertura de la válvula de regulación. La salida del sensor caliente es para
monitorear la temperatura del agua caliente que proporciona el termoregulador, lo
mismo se aplica para el caso de la salida del sensor frío para la temperatura
deseada del agua fria.
I.
2-7
Capiftilo 2. IdenfiJicaridn de sisfemas dinámicos
+
IConvefiidorF-
. Salida del
sensor Caliente
-----pGziz++ . Salida del
sB”so, lri0
Grupa
lemorregulador
Figura 2.5 Esquema del intercambiador de calor RCT 100
de DlDATEC TECHNOLOGE.
2.3.1 .IIdentificación del sistema con un neuroidentificador empleando
el algoritmo OLL
Para la etapa de identificación se requirió de la adquisición de datos de la
temperatura de la planta, y,,=”, (con un tiempo de muestre0 de 10 seg ,[48]) al
aplicar una trayectoria predefinida u,,, , en la válvula de control, con ésto se
,y,,,,) (ver figura 2.6).
obtuvo un conjunto de datos de entrada-salida(u,,,,
Muestras (Tiempo de muestre0 10 seg)
Figura 2.6 Patrones de entrenamiento tomados del intercambiador de calor
RCT 100, las muestran fueron tomadas cada 10 segundos.
2-8
Capitulo 2. Identificación de sistemas dinamicos
El proceso de identificación con redes neuronales artificiales, se realiza a través
del entrenamiento de la misma, es decir, se estiman los parámetros de la RNA
para satisfacer el conjunto de datos entrada-salida mostrados en la figura 2.6. Lo
anterior es hecho de tal forma que logre copiar la dinámica de la planta y las no
linealidades que pudiera presentar ante la señal de entrada aplicada.
La forma de identificar la planta usando una RNA se debería hacer, en principio,
dando como entrada a la red el porcentaje de apertura de la válvula del RCT 100
y como salida la temperatura correspondiente, usando los datos que se muestran
en la figura 2.6. Esto correspondería a un esquema de identificación en paralelo,
es decir, la RNA tendría una neurona en la capa de entrada y una neurona en la
capa de salida. Sin embargo, la RNA no puede aprender dos comportamientos
distintos para una misma señal de entrada y los datos de la figura 2.6 presentan
esta caracteristica. Esto se debe a que la dinámica de la planta es muy lenta.
Para solucionar el problema se agrega a la RNA una entrada extra, la cual es
simplemente la salida retardada en una unidad de tiempo (ver figura 2.7) y
después se vuelve a entrenar.
Figura 2.7 Esquema serie paralelo para la identificación
de la planta RCT 100
Con esto lo que se logra es cambiar los datos de entrada y hacer que obedezcan
al comportamiento de una función, es decir, se cambió de dominio. Por lo tanto,
para hacer la identificación la red se entrena con dos vectores de entrada y un
Único vector de salida. Los vectores de entrada están conformados, uno por el
porcentaje de apertura de la válvula y el otro por la salida de la planta retrasada
una unidad de tiempo, en este caso la unidad de tiempo corresponde al tiempo de
muestre0 de 1O segundos. La salida deseada es la salida actual de la planta.
Asi, para llevar a cabo la identificación del RCT 100 por medio de una RNA se
usaron 1699 datos. La estructura de la RNA propuesta consiste de 2 neuronas en
la capa de entrada, 10 neuronas en la capa intermedia y 1 neurona en la capa de
salida, así que se tienen que estimar 51 parametros; fue necesario realizar 100
iteraciones para cumplir con el criterio de error propuesto. La figura 2.6 muestra
los patrones de entrenamiento de la RNA mientras que en la figura 2.8 se muestra
la respuesta del intercambiador de caioi RCT 100 y la respuesta del modelo
obtenido a través del neuroidentificador.
2-9
Capifiilo 2. Identificacidn de sisfemas dinamicos
I;2
:
O
200
400
600
800 1000 1200 1400 1600
Muestras (Tiempo de muesireo 10 seg)
Figura 2.8 Respuesta del Nitercambiador de calor RCT 100 y de/ modelo,
las muestran fueron tomadas cada 10 segundos.
2.3.1.2 Pruebas de generalización del modelo obtenido con el
neuroidentificador
El proceso de generalización en una RNA consiste en evaluar el comportamiento
del modelo obtenido con el neuroidentificador, ante datos no empleados en el
entrenamiento; se desea que la salida del modelo sea igual a la salida de la
planta.
Existen tres condiciones necesarias, pero no suficientes para lograr una buena
generalización:
a) La primera condición establece que los datos de entrada a la red neuronal
artificial deben de contener suficiente información del comportamiento de la
planta, de tal forma que exista una función matemática que pueda
representar dicho comportamiento en forma precisa, esto puede lograrse al
aplicar una señal tipo rampa o senoidal.
b) La segunda Eondición necesaria implica que la función que se desea
aprender sea suave. En otra palabras, que ante un pequeño cambio en las
entradas debe producirse un pequeño cambio en las salidas. Muchas
funciones no suaves, como las producidas por secuencias pseudoaleatorias
no pueden ser generalizadas por las redes neuronales artificiales, por ello no
puede aprender el comportamiento que presenta una planta al ser excitada
por este tipo de señales 1491.
2-10
Capítulo 2. Identijieacidn de sistemas dimimicos
c) La tercera condición necesaria para una buena generalización, establece que
el conjunto de casos de entrenamiento es representativo del subconjunto de
casos que se desean generalizar.
A continuación se presenta la primera prueba de generalización, para ésto se
usan 267 datos. Para obtener estos datos el intercarnbiador de calor RCT 100 se
excitó con un conjunto de rampas cuya pendiente creciente llega hasta 70% de
apertura en la válvula de control, después decrece hasta cerrar completamente la
válvula de control, el incremento y decremento en la válvula fue del 2.5% en cada
tiempo de muestreo, y se obtuvieron las salidas que se muestran en la figura 2.9.
,
I
Muesiras (Tiempo de muestre0 10 seg)
Figura 2.9 Doscientos sesenta y siete datos extraídos de la respuesta de
, intercambiador de calor RCT 100 ante rampas para pruebas de
generalización de la RNA, cada muestra fue tomada por intervalos
de 10 segundos.
Después se aplicó el mismo conjunto de rampas al modelo obtenido con el
neuroidentificador y entrenado con el algoritmo OLL. Cabe hacer la aclaración que
una de las entradas a la RNA es la señal de salida de la planta retrasada en una
unidad de tiempo. Como la RNA ha sido entrenada con anterioridad y ha copiado
la dinámica del intercambiador de calor RCT 100, su respuesta debe ser la misma
que la de la planta, la figura 2.10 muestra que ésto se cumple.
Como se puede observar en la misma figura, la RNA tiene la capacidad de
generalización, ya que la diferencia entre la temperatura de la planta y la del
modelo es mínima.
I)
wr
B
'lb
1
.¡I
'
I¡
,
1
.
50
~
100
150
200
Mue~iras(Tiempa de rnuesireo 10 589)
11
i
.I
250
Figura 2.10 Salida de la pianfa y salida del modelo (entrenado con el
algoritmo OLL) para los datos de entrada de la figura 2.9.
11
'
Para la segunda prueba de generalización se tomaron 300 patos, los cuales se
muestran en la figura 2.1 I . Los datos de entrada correspoqde al porcentaje de
apertura de la válvula y los datos de salida corresponden allla temperatura de la
planta. La señal de apertura de la válvula está descrita por
I1
u,,,,(k)= 15.0*(sin(0.0062* k)+sin(0.031*/0)+3.0.
'1
II
M~eslras(Tiempa de r n u e s V ~10 leg)
'I
Figura 2.1 ITrescienios datos extraídos del intercarnbiador de calor
RCT 100 para pruebas de generalización d d modelo
obtenido con el neuroidentificador, cada muestra fue
tomada por intervalos de 10 segundos.
I1
En esta segunda prueba de generalización se realizó el mismo procedimiento que
para la primera. En la figura 2.12 se puede observar la temperatura de salida del
intercambiador de calor y la salida de temperatura del modelo. AI igual que en la
prueba anterior, se puede observar que la RNA !tiene la capacidad de
generalización, ya que la diferencia entre la temperatura de la planta y la del
modelo es mínima.
'I
11
I1
I
-
't
2-12
--.------
.lb
~
~~
.
..
. ~ . ~.
~~
.
.
-~
II
. .
-.
3.
'.
. *. '
,
.I^
~
.r
.-
,1
:
. .Capitulo 2. Ideniifícacidn de sisiemas dinanlicos
-
I*
., ..
L
r:I
:,..
'
I
"
'I
Figura 2.'12 Respuesta del modelo obtenido con el neuroidentificador
para los datos de la figura 2.11.
..
f.
.
.
1.
- .
2.3.2 CEI 10 Servo Trainer
. , '
.
,
.
1
,7,
-
El CEI 10 Servo Trainer esta enfocado 'específicamente a los problemas de
velocidad y posición que son comunes en la industria. Esta planta puede ser
usada para el diseño práctico de controladores clásicos y es posible evaluar su
desempeño [50].
I t ,
Es posible examinar el control de velocidad de la flecha rotatoria con diferentes
cargas e inercias. Incluye la facilidad de adicionar un engrane como carga,
operado por un embrague eléctrico, unacarga en la flecha con una caja de
cambios y un sensor de posición.
Una característica especial del CEI 10 Servo Trainer es que incluye un conjunto
de elementos no lineales típicos los cuales son asociados con el control en el
seguimiento de una trayectoria.
El CEI 10 Servo Trainer se muestra en la figura 2.13. Éste incluye un motor de CD
con flecha rotatoria en la cual pueden ser montados los siguientes componentes:
Una carga inercial.
Un tacómetro para la medición de velocidad de la flecha.
Un generador que es usado como carga eléctrica al motor.
Un amplificador para el motor, el cual provee la potencia para que la flecha
gire.
" .
.
.
2-13
Capifuío2. Idenfificacidn de sisfemas dinamicos
.. .
5
,
,
n
Muesiras(Tiempo de muestreo 0.4 seg)
.
i
!
.
Figura 2.15 Patrones de entrenamiento tomados del CEllO Servo
Trainer, el tiempo de muestreo fue de 0.4 segundos.
.?
' .,
.. , . . .,
,
i
.
-
Una vez que se entrenó la RNA, se le aplicó el mismo conjunto de datos de
entrada que fueron aplicados al motor (planta), con el fin de comparar su
comportamiento contra el comportamientó real de la planta ante la misma señal
de excitación (ver figura 2.1 6).
!
i
Y
!
I
I
i
i
I
I
O
2
4
6
8
10
12
14
16
18
20
Muestras(Tiemp0 de muestre0 0.4 seg)
Figura 2.16 Respuesta del CEI 10 Servo Trainer y del modelo obtenido
con la RNA, el tiempo de muestreo fue de 0.4 segundos.
Como lo muestra la figura 2.1 6, el comportamiento del modelo es el esperado y la
diferencia entre las señales es mínima.
2-16
Capitulo .2. Idenfificacidn de sisfemas dinámicos
50
. .
100
150
200
250
Muestras (Tiempo de muesireo 10 seg)
IO
Figura 2.12 Respuesta del modelo obtenido con el neuroidentificador
para los datos de la figura 2.11.
2.3.2 CEI 1O Servo Trainer
El CEllO Servo Trainer está enfocado específicamente a los problemas de
velocidad y posición que son comunes en la industria. Esta planta puede ser
usada para el diseño práctico de controladores clásicos y es posible evaluar su
desempeño [50].
Es posible examinar el control de velocidad de la flecha rotatoria con diferentes
cargas e inercias. Incluye la facilidad de adicionar un engrane como carga,
operado por un embrague eléctrico, una carga en la flecha con una caja de
cambios y un sensor de posición.
Una característica especial del CEI 10 Servo Trainer es que incluye un conjunto
de elementos no lineales típicos los cuales son asociados con el control en el
seguimiento de una trayectoria.
El CEI 10 Servo Trainer se muestra en la figura 2.13. Éste incluye un motor de CD
con flecha rotatoria en la cual pueden ser montados los siguientes componentes:
Una carga inercial.
Un tacómetro para la medición de velocidad de la flecha.
Un generador que es usado como carga eléctrica al motor.
Un amplificador para el motor, el cual provee la potencia para que la flecha
gire.
2-13
Capitulo 2. Identificacidn de sistemas dinámicos
Un embrague operado eléctricamente para habilitar el amplificador del
motor, el cual se conecta a una flecha secundaria llamada la posición de la
flecha de salida. Esta se conecta a:
6 Una caja de engranes reductora en un radio 30:1, que sirve como carga
mecánica,
6 Un sensor de posición para la flecha con un indicador visual de
calibración.
La velocidad del motor se determina por el voltaje CD aplicado al amplificador de
entrada. De igual manera, la carga del generador se determina por una entrada
externa. Ambas son arregladas para operar en el rango de +1OV (O a 1OV en el
caso del generador). El sensor de velocidad y de posición de la flecha dan una
salida en el rango de O a IOV. Una puerta en la parte trasera del lado izquierdo
permite el acceso para cambiar el tamaño de la carga inercia1 adicionando o
quitando los discos de inercia.
Además de estos componentes, el CEI10 Servo Trainer contiene una serie de
elementos no lineales . Estos se encuentran localizados en la parte superior del
panel principal.
Un bloque de anti-zona muerta para eliminar cualquier zona muerta
introducida deliberadamente o inherente al motor CEI 10.
Un bloque de zona muerta para introducir una zona muerta que puede ser
estudiada.
Un bloque de saturación que permite saturar el amplificador del servo-drive.
Un bloque de histéresis que puede ser aplicado al sistema.
Unidad de no linealidades
- Salida de la
unidad no lineal
salida del
tac(imetro
o-riov
generador
- l o a +1OV
Conmutador
entrada al motor
electnw
Figura 2.13 CE11O Servo Trainer
2-14
Capítulo 2. Ideniificacidrr de sisiemas dinámicos
2.3.2.1 Identificación del sistema con un neuroidentificador empleando
el algoritmo OLL
Para poder realizar el proceso de entrenamiento de la red neuronal artificial
recurrente, fue necesario aplicar la señal de entrada u,,, en el amplificador que
proporciona la señal adecuada al motor, y obtener los datos de la velocidad de la
planta, ypran.
Con ésto se obtuvo un conjunto de datos de entrada-salida.
Como se mencionó el proceso de identificación con redes neuronales artificiales,
se realiza a través del entrenamiento de las mismas, de tal forma que logre copiar
la dinámica de la planta.
La constante de tiempo de este sistema es aproximadamente de 1.5 seg [51]. Se
recomienda un tiempo de muestreo entre 0.1 a 0.3 veces la constante de tiempo
del sistema [52,53]. Para el caso específico se propuso un tiempo de muestre0 de
0.4 seg. Debido a que la dinámica del sistema es rápida, es posible emplear un
modelo de identificación paralelo, como se muestra-en la figura 2.14
umnt(k)
, 14-
SeNo
Trainer
,
+p(k)
Figura 2.14 Esquema paralelo para la identificación
de la planta CE1 I O Servo Trainer
Para llevar acabo el entrenamiento de la RNA se usó la rampa de 21 datos, que
se muestran en la figura 2.15. La señal de entrada es u,,, ( k )= u,,, ( k - I)+
0.5
volts, el tiempo de muestreo es de 0.4 segundos. La configuración usada para la
red neuronal artificial recurrente fue de 1 neurona en la capa de entrada, 4
neuronas en la capa intermedia y 1 neurona en la capa de salida. Se requirió de
50 iteraciones para lograr satisfacer el criterio de error propuesto.
2-15
Caphilo 2. iúeniiflcacidn de sisiemas dinámicos
I
1
Muestras(Tiemp0de muestre0 0.4 seg)
Figura 2.15 Patron& de entrenamiento tomados del CE110 Servo
Trainer, el tiempo de muestreo fue de 0.4 segundos.
.
Una vez que se entrenó la RNA, se le aplicó el mismo conjunto de datos de
entrada que fueron aplicados al motor (planta), con el fin de comparar su
comportamiento contra el comportamiento real de la planta ante la misma señal
de excitación (ver figura 2.16).
9
,
,
,
,
,
,
,
,
,
,
,
8.
765.
4.
3-
t.
1.
0 % " " '
,
I
Muestras(Tiernp0de muestre0 0.4 seg)
Figura 2.16 Respuesta del CE110 Servo Trainery del modelo obtenido
con la RNA, el tiempo de muestreo fue de 0.4 segundos.
Como lo muestra la figura 2.16, el comportamiento del modelo es el esperado y la
diferencia entre las señales es mínima.
2-16
-
Capitulo 2. Idenrifiración de sistemas dinamicos
2.3.2.2 Pruebas de generalización del modelo obtenido con el
neuroidentificador
En la primera prueba de generalización, se usó un conjunto de 163 datos. Para
obtener estos datos, el Servo Trainer se excitó con una señal senoidal descrita por
uco,,,(k)= 2.8 + 1.2 sin(0.2454 k) volts. La señal de excitación y la respuesta de
la planta se muestran en la figura 2.1 7.
I
Mueslras(Tiempode muestre0 0.4 sea)
Figura 2.17 Señal senoidal para evaluar el modelo del C E l l O Servo Trainer
y respuesta del mismo, el tiempo de muestreo fue de 0.4 segundos.
Después se aplicó el mismo conjunto de datos de entrada al modelo obtenido con
el neuroidentificador y entrenado con el algoritmo OLL. En la figura 2.18 se puede
observar la velocidad del motor y la velocidad del modelo.
Mueslas(Tiemp3de muestre0 0.4 seg)
Figura 2.18 Respuesta de/ C E l l O Servo Trainery de/ modelo obtenido con
la RNA, el tiempo de muestreo fue de 0.4 segundos.
Capitiilo 2. Ideniijicación de sisfemas dinámicos
Como muestra la figura 2.18, el comportamiento del modelo es el esperado, la
salida de la planta en la parte inferior de la señal de cotitrol del motor es ypian(45)=
1.0686 volts y la salida del modelo es aproximadamente y"od(45) = 0.9647volts. io
cual corresponde a un error del 10.76%.
Muerbas(Tiemp de rnUesVen ü.1 seg)
Figura 2.19 Ciento cinco datos obtenidos del CEllO Servo-Trainer
para pruebas de generalización de la RNA, cada muestra
fue tomada por intervalos de 0.4 seg.
;
Para la segunda prueba de generalización, se tomaron 105 datos, los cuales se
muestran en la figura 2.19. La señal de excitación está descrita por
u,,,, (k)= 5.0+ 2.0 * sin(0.2454 k).
Después se aplicó el mismo conjunto de datos de entrada al modelo obtenido con
el neuroidentificador y entrenado con el algoritmo OLL. En la figura 2.20 se puede
observar la velocidad del motor y la velocidad del modelo, y se muestra que existe
una diferencia de 0.1747 volts en la región inferior de la senoidal, lo cual equivale
a un error de 7.869%.
MUeSbas(TiernpO de rnueslren 0.4 reg)
Figura 2. 20 Respuesta de/ CEI 1 O Servo Trainer y de/ modelo obtenido
con /a RNA, e/ tiempo de muestre0 fue de 0.4 segundos.
Capitirlu 2. Idenlifcación de sistemas dinamicus
Por lo tanto, se puede concluir que el modelo obtenido para el CEllO Servo
Trainer a través del neuroidentificador representa el comportamiento esperado de
la planta.
2.3.3 Módulo de regulación de flujo
ES un módulo de regulación de flujo de FESTO DIDACTIC (ver figura 2.21) [54].
La idea principal es controlar, a través de una bomba de CD, el flujo de un liquido
que se encuentra en un contenedor. Este sistema presenta los siguientes
componentes:
Una bomba de CD que permite la circulación continua del líquido y a través
de la cual se controla el flujo; tiene un rango de operación de O a 10
litros/min; su señal de excitación corresponde a un rango de O a 24 VCD.
Un sensor de flujo que va montado sobre la tubería; presenta un rango de
medición de 0.5 a 15 litroslmin; su señal de salida es una onda cuadrada
con amplitu'd de 5 a 12 V, y con base en la frecuencia se determina el flujo
del líquido.
Un contenedor para almacenar el líquido; en este caso agua.
Una válvula manual que se emplea para aplicar una perturbación
sistema.
I
1
periurbación
Bomba
Figura 2.21 M6dulo de regulacidn de flujo
al
Capirido 2. Ideniijicacidn de sisiemos dinámicos
2.3.3.1 Identificación del sistema con un neuroidentificador empleando
el algoritmo OLL
La etapa de identificación se requirió de la adquisición de datos del flujo de la
planta, Y ~ , ~ "al
, aplicar una trayectoria predefinida u,,, , en la bomba de CD, Con
ésto se obtuvo un conjunto de datos de entrada-salida.
Figura 2.22 Esquema paralelo para la identificación
del módulo de regulación de flujo
Para llevar acabo el entrenamiento de la RNA se usó la rampa de 16 datos, que
se muestran en la figura 2.23. La señal de entrada es u,,,(k)=u,,(k-1)+0.5
volts, el tiempo de muestre0 es de 0.4 segundos. La configuración usada para la
red neuronal artificial recurrente fue de 1 neurona en la capa de entrada, 4
neuronas en la capa intermedia y 1 neurona en la capa de salida. Se requirió de
50 iteraciones para lograr satisfacer el criterio de error propuesto.
Muestras(Tiempnde muestren 0.4 seg)
Figura 2.23 Patrones de entrenamiento tomados del módulo de regulación
de flujo, el tiempo de muestreo fue de 0.4 segundos.
2-20
Cap¡iulo 2. Identificación de sisiemas dinamicos
Una vez que se entrenó la RNA, se le aplicó el mismo conjunto de datos de
entrada que fueron aplicados al motor (planta), con el fin de comparar su
comportamiento contra el comportamiento real de la planta ante la misma señal
de excitación (ver figura 2.24).
12
I
.
Muesiras(Tiempo de rnuesireo 0.4 seg)
Figura 2.24 Respuesta del mddulo de regulacidn de flujo y
del modelo obtenido con la RNA. el tiempo de
muestreo fue de 0.4 segundos.
Como lo muestra la figura 2.24, el comportamiento del modelo es el esperado y la
diferencia entre las señales es mínima.
2.3.3.2
Pruebas. de generalización
neuroidentificador
del
modelo
obtenido
el
En la primera prueba de generalización, se usó un conjunto de 163 datos. Para
obtener estos datos, el módulo de regulación de flujo se excitó con una señal
senoidal descrita por u,,,, (k)= 5.0 +2.0 sin(0.2454* k ) volts. La señal de
excitación y la respuesta de la planta se muestran en la figura 2.25.
2-2 1
Copitulo 2. Identificacidn de sistemas dindmicos
O
20
40
KO
80
1w
Muestras(Tiernp0 de muestre0 0.4 seg)
Figura 2.25 Ciento cinco datos obtenidos de/ módulo de regulación de
flujo para pruebas de generalización de la RNA, cada muestra
fue tomada por intervalos de 0.4 seg.
Después se aplicó el mismo conjunto de datos de entrada al modelo obtenido con
el neuroidentificador y entrenado con el algoritmo OLL.En la figura 2.26 se puede
observar el flujo del módulo y el flujo del modelo.
O
20
40
KO
80
103
I
Muestras(Tiemp0 de muestre0 0.4 seg)
Figura 2.26 Respuesta del módulo de regulación de flujo y
del modelo obtenido con la RNA, el tiempo de
muestre0 fue de 0.4 segundos.
'
Se puede observar que la RNA tiene la capacidad de generalización, ya que la
diferencia entre el flujo de la planta y el flujo del modelo es mínima.
2-22
Capítulo 2. Ideniifiración de sistemas dinamicos
2.4 Identificación para el control de sistemas
Uno de los esquemas de control en los cuales se puede implementar la RNA, es
el esquema de control indirecto, que se muestra en la figura 2.27.
error
UC0"ik)
Planta
Ypi,"(k)
+
.
.
..
'..,
Neuroidentificador
/
'..
"...._______.......______.
sensibilidad '...
..............
Figura 2.27 Esquema de control indirecto
Este esquema de control consta de dos etapas:
1. La primera etapa consiste en realizar una identificación del sistema; en este
caso a través de un neuroidentificador(RNA), el cual copia la dinámica del
sistema. El neuroidentificador ajusta sus parámetros con base en un índice
de desempeño o criterio de error que está dado por la diferencia de la
.,
salida del sistema y la salida del modelo.
2. La segunda etapa consiste en encontrar una ley de control adecuada, a
través del neurocontrolador, de tal forma que la salida de la planta siga a
una referencia deseada.
AI implementar la segunda etapa del esquema de control indirecto para los casos
de estudio anteriormente planteados, no fue posible lograr el comportamiento
deseado, es decir, que la salida de la planta, yplan(kJ.siga a la referencia deseada,
refer(k).
El neurocontroiador necesita dos elementos para el ajuste de sus parámetros; uno
es el índice de desempeño que está dado por la diferencia entre la salida de la
planta y la referencia deseada y es una función que se propone. El otro elemento
es un elemento llamado sensibilidad del modelo.
La sensibilidad del modelo se define como "la razón de cambio que existe en la
salida respecto a la razón de cambio de la entrada en un instante de tiempo".
2-23
Capitulo 2. Ideniificacidn de sistemas dinámicos
Sensibilidad =
ay pia0 ( kU,,",
1
a"C0"l
(2.5)
En las gráficas de respuesta del intercambiador de calor RCT 100 y del CEl10
Servo Trainer, se puede observar que ambas plantas tienen un comportamiento
monótono, es decir, si la señal de entrada u,,
crece, la señal de salida yPian
también crece, y viceversa, si la señal de entrada u,,,,
decrece, por lo tanto la sensibilidad es positiva.
I
decrece, la salida y,,=,
Con los métodos generalmente usados para la estimación parametrica, de los
parámetros W , y V, que son los pesos de la capa intermedia y de la capa de salida
del neuroidentificador respectivamente, existe la posibilidad que la sensibilidad del
modelo no siempre sea positiva. Esto se debe a que dichos métodos se basan en
la generación y solución de un sistema de ecuaciones lineales, en las cuales, si la
solución existe es única y el vector solución puede estar formado por valores
positivos y negativos. Así que siempre es posible la existencia de un conjunto de
datos entrada-salida para los cuales el comportamiento del modelo no sea el
adecuado.
Como se mencionó con anterioridad, en el esquema de control indirecto basado
en redes neuronales artificiales se calcula una ley de control con base en el
modelo numérico obtenido con el neuroidentificador. Sin embargo, si éste modelo
numérico no representa adecuadamente a la planta, aún cuando se tenga un
método eficaz para calcular la ley de control, ésta no será la adecuada para
controlar a la planta, será adecuada para controlar al modelo. Por esto se requiere
tener un buen modelo numérico para encontrar una ley de control adecuada y así
satisfacer el objetivo de control.
En el siguiente capítulo se hará un análisis de sensibilidad para demostrar que los
modelos numéricos obtenidos no siempre pueden presentar un buen
comportamiento cualitativo, por lo que el esquema de control indirecto no tuvo el
desempeño adecuado en el control de los casos de estudio.
2-24
Capítulo 3
Análisis de sensibilidad .y optimización
. .
restricciones
SUI
3.1 Análisis de sensibilidad
Para llevar a cabo el análisis de sensibilidad, se comenzará por mencionar el
objetivo de control, el cual está definido de la siguiente manera [55,56]:
/imllrefer(k)-y,,,,(k.u,,,
k+m
]I
E
(3.1)
donde E es un criterio de error, que puede ser definido como un error cuadrático
medio [57,58]:
1
E =-(refer(k)-y,,(k.u,,,,
2
>)’
(3.2)
Como puede observarse, el error está en función de k, que es el tiempo discreto, y
de
que es la señal de entrada a la planta. El error varía sólo si la señal de
Capitulo 3. ~liialisisde seiisihilidadg optimizacihi sin resrrircioni*s
entrada, uconl,varía, de tal forma que para un valor deseado de salida, refer(k), el
valor de salida de la planta, yPi,,, puede ser mayor o menor (ver figura 3.1).
error
t
Figura 3.1 Gráfica del error cuadrático medio
Es evidente que el mínimo de (3.2) se puede encontrar derivando la ecuación
respecto a u,,,~. Así.
(3.3)
El término
dY pla"(kJ
UCO"1
I es
llamado sensibilidad de la planta [59,60,61]. La
'
duc,*t
sensibilidad se define como la variación que existe en la salida respecto a la
variación existente en la entrada para un tiempo k. Sin embargo, no se conoce la
expresión matemática que describe el comportamiento de la planta y por ello
dY pian fkUcont I
no es conocida. Si se propone un modelo, tal que:
dUCO",
Ym,(k~,,,,,P)=
Ypian(kUcon,)
(3.4)
donde p es el vector de parámetros del neuroidentificador, se puede establecer
que [62]:
dYmo~(k,ucon~
P P I = dYpm
dU,"l
con^
dumt
(3.5)
La obtención del modelo (neuroidentificador) se realiza en la etapa de
identificación, el objetivo del neuroidentificador es copiar la dinámica de la planta.
El criterio de error de este modelo puede establecerse también como un error
cuadrático medio, el cual está dado por la siguiente ecuación:
3 -2
Capitulo 3. Analisis de sensibilidad y oprimizacidn sin restricciones
el minimo se encuentra expresado por:
(3.7)
") es la sensibilidad del modelo respecto a los parámetros,
dP
p=[w;,vJ, del neuroidentificador.
donde
dYmod(k'Uconf
Recordando que para satisfacer el objetivo de control se debe conocer el término
Suponiendo un sistema monótono, es decir, si la entrada crece la salida crece y
viceversa, si la entrada decrece la salida decrece, entonces la sensibilidad de la
planta es positiva.
La salida para una red neuronal recurrente simple [63].está dada por:
(3.8.a)
(3.8.b)
(3.8. c)
La función de activación de cada neurona es una función sigmoidal definida como
4
I
f ( s )= __
1+ e-'
y su derivada es:
f'(S)=
f(s)[l-f(s)]-
(3.9)
ds
W 0 " l
(3.10)
Capiiulo 3. Analisis de sensibilidad y oprimiración sin resiricciones
Por lo tanto, la sensibilidad de una red neuronal recurrente simple está dada de la
siguiente manera:
(3.11 )
De la ecuación (3.11) se puede observar que como f(sh) varía entre O y 1 y su
complemento entre 1 y O, para obtener una sensibilidad positiva los pesos whj y Vh
de la red neuronal deberán ser ambos positivos o ambos negativos.
Con los métodos de estimación paramétrica generalmente usados para las RNA,
aun y cuando se asegura que y,,(k,u,,)=Y,,~~(k,u,,,,)
Y que
dymo,j(k,UcOn,
% dYpian(k,ucanr )
, la sensibilidad no se cumple de manera general,
du,,,
es decir, siempre es posible la existencia del conjunto de datos entrada-salida
para los cuales el comportamiento del modelo no sea el adecuado. Esto se debe a
que tales métodos consisten en la generación y solución de un sistema lineal, por
lo que la solución, si existe, es Única y los parámetros de solución pueden ser
positivos o negativos.
duce,,
'
Con el propósito de mostrar la falla de estos métodos a continuación se hará un
análisis de sensibilidad para una planta.
3.1.1 Análisis de sensibilidad para el modelo del CE110
Servo Trainer.
El CEllO Servo .Trainer es un sistema monótono debido a que cuando se
incrementa la señal de voltaje de entrada, uconf.existe un incremento en la
velocidad, y,,
y viceversa, es decir, cuando existe una disminución en la señal
de entrada, también la velocidad disminuye. Por lo tanto la sensibilidad de la
planta es positiva.
Como se mencionó en el capítulo anterior, se obtuvo un modelo válido a través de
un proceso de identificación con una red neuronal artificial recurrente simple. El
algoritmo empleado para la estimación de los parámetros de la RNA es el
algoritmo de optimización capa por capa (OLL); la estructura de la RNA es la que
se muestra en la figura 3.2.
3 -4
Capitulo 3. Análisis de sensibilidad y optimización sin restricciones
Entra
Pesos de la capaf
u
Figura 3.2 Estructura del neuroidentificador empleado
para la identificación de/ CEllO Servo Trainer
usando OLL
Los parámetros de la red neuronal artificial son los umbrales, bi, Ips pesos de la
capa intermedia, wi, y los pesos de la capa de salida, vi,. Así, la entrada de la RNA
es ponderada a través de los pesos de la capa intermedia, wi,se le suma el
umbral y se aplica la función de activación de la neurona, en este caso una
función sigmoidal, la respuesta de cada neurona es ponderada con los pesos de
la capa de salida, vi. Se debe aclarar que los umbrales son multiplicados por la
unidad.
1
2
3
4
5
Pesos w
-0.4715922
0,1768026
-0.4534636
-0.3835130
Pesos v
358.0178299
9.2206202
-0.4452780
-262.0147885
Umbrales
-0.4716069
0.1767707
-0.4534508
-0.3844735
1.7373304
Capitulo 3. Análisis de sensibilidod y optimizoción sin restricciones
(3.12)
Una prueba experimental de la sensibilidad de la planta fue realizada al CEllO
Servo Trainer una vez que se obtuvo un modelo de la planta, cuyo desempeño era
el adecuado, con los parámetros que se muestran en la tabla 3.1. La señal de
excitación para obtener el conjunto de datos entrada-salida con los que se entrenó
la RNA fue una rampa que parte de 5.5 volts hasta llegar a los 8 volts. Sin
embargo, al aplicar una señal de excitación u,,,(k) =u,,,,(k)+0.01
volts al
modelo, que contiene datos con los que no se entrenó la RNA, es decir, señales
de entrada menores a 5.5 volts, se tiene un comportamiento no esperado, esto es
debido a que la sensibilidad del modelo no es semejante a la sensibilidad de la
planta para dicha señal. Analizando la figura 3.3 en la región A, mientras que la
salida de la planta es creciente, la salida del 'modelo es decreciente, y su
sensibilidad es negativa. En la región B la salida del modelo es creciente al igual
que la de la planta, y la sensibilidad es positiva, en esta región la sensibilidad del
modelo es semejante a la sensibilidad de la planta. Así se muestra que la
sensibilidad se cumple de manera local y no de manera global como se desea.
Tiempo
Figura 3.3 Respuesta de/ modelo obtenido con RNA para el CE110
Servo Trainerpara una señal que contiene datos con los
que no se entren6 la RNA
3-6
Capitulo 3. Análisis de sensibilidad y optimi:acidn sin restricciones
1
2
3
4
5
Pesos w
-0.4715953
0,1768094
-0.4534600
-0.3832502
Pesos v
91.7683751
11.9406781
-0.4452780
-90.1691994
Umbrales
-0.4715909
0.1767518
-0.4534679
-0.3851798
-1.1317161
Capifulo 3. Andlisis de sensibilidad y opfimizacidn sin resfricciones
sensibilidad es positiva, en esta región la sensibilidad del modelo es semejante a
la sensibilidad de la planta, sin embargo cuando la salida del modelo es mayor a
5.5 volts (datos con los que no se entrenó la RNA, región C) la sensibilidad
cambia de pendiente y empieza a existir mayor error entre la salida de la planta y
la salida del modelo. Así se muestra que la sensibilidad se cumple de manera
local Y no'de manera global como se desea.
'
Y
o
>
c
ia
o
. .
100
,
,
200 3w 400
.
. . . .
5M)
wo
700 800
900
100
Tiempo
Figura 3.4 Respuesta del modelo obtenido con RNA para el módulo
de regulacidn de flujo para una señal que contiene datos
con los que no se entrenó la RNA
Esto es claramente atribuible al método de estimación paramétrica, en esencia el
método trata de satisfacer un
conjunto de puntos, haciendo que el
comportamiento de la RNA se asemeje al de una función que aproxima dichos
puntos; en la figura 3.5a se muestra el comportamiento de una RNA al aproximar
dos puntos, A y B. con sensibilidad positiva. Por ejemplo, se sabe que la RNA
aprendió el comportamiento entre estos dos puntos, sin embargo, no se sabe cuál
es el comportamiento de la RNA para puntos intermedios, por ejemplo para el
punto C. En la figura 3.5b se muestra que para un punto intermedio C, la
respuesta del modelo (neuroidentificador) es diferente a la respuesta de la planta,
por lo que la sensibilidad es negativa entre el punto A y el punto C debido a que
L&
!!!!
AUcon,
< O , mientras que entre el punto C y el punto B la sensibilidad es positiva
AY pian
debido a que __ > O .
AUcon,
3-8
Capiiulo 3. Análisis de sensibilidady opiimización sin resiricciones
B
aj Aproximación de dos puntos con una RNA
B
b) Gráfica de sensibilidad positiva y
sensibilidad negativa
Figura 3.5 Aproximación de dos puntos con una RNA
Es evidente que la sensibilidad puede ser positiva o negativa para puntos con los
cuales la RNA no fue entrenada. Es por ello que se propone el empleo de un
método de estimación paramétrica con restricciones (optimización con
restricciones), de tal forma que se asegure que los pesos de la capa intermedia y
los pesos de la capa de salida de la RNA sean siempre positivos o siempre
negativos y así cumplir con la condición de que la sensibilidad sea positiva y se
cumpla de manera global.
3.2 Optimización'
El problema de optimización consiste en encontrar el máximo o el mínimo de una
función objetivo. Esta puede representar el costo, energía o beneficio en términos
de las variables de interés del proceso que será analizado. El modelo del proceso
y las restricciones describen las relaciones ent're las variables de interés.
Una gran variedad de problemas en el diseño, construcción, operación y análisis
de plantas pueden resolverse empleando un procedimiento de optimización.
Un problema tipico de ingeniería se puede describir de la siguiente manera: se
tiene un proceso que puede ser representado a través de ecuaciones
matemáticas o por datos experimentales. Se establece un criterio de desempeño
tal que se minimice un costo. El objetivo de optimizar es encontrar los valores de
las variables del proceso con los cuales se obtenga el mejor valor para el criterio
' Este apartado se basa en la referencia [64]
3-9
Capitulo 3. Análisis de sensibilidad y optimizacidn sin restricciones
de desempeño. Esto involucra un compromiso entre el capital y el costo de
operación. Los elementos descritos (proceso o modelo y el criterio de desempeño)
constituyen el problema de "optimización".
Los problemas típicos en el diseño de ingeniería química u operación de plantas,
tienen muchas o un número infinito de soluciones. La optimización está enfocada
a seleccionar la mejor solución del conjunto total de soluciones, a través de
métodos cuantitativos eficientes.
En la operación de plantas, los beneficios surgen del desempeño de la planta,
esto lleva a la reducción de contaminantes, reducción en el consumo de energía,
lograr velocidades altas de procesamiento, etc.; la optimización puede también
reducir los costos de mantenimiento, menor uso de la maquinaria y su mejor
empleo.
Existen algunos aspectos que deben considerarse para establecer un problema
de optimización. A continuación se establecerán las condiciones para optimizar,
es decir encontrar una máximo o un mínimo en funciones de una o varias
variables.
3.2.1 Funciones de una variable2
hi
f(X)
Figura 3.6 Representación de una función de una variable
,
* Este apartado se basa en la referencia [65]
~~
3-10
~~~
..
iún siir restricciones
La aproximación clásica al problema de encontrar los valores xo y x* es encontrar
ecuaciones que se satisfagan para xo y x*. La función representada en la figura
3.6, así como sus derivadas son funciones continuas, y se puede observar que en
ambos puntos xo y x* la derivada f ' ( x ) (gradiente de la función), es cero.
fyx) = o
(3.13)
Los valores en el punto x,,, , en el cual se encuentra un máximo local, y x,, que es
un punto de inflexión, también satisfacen esta ecuación. Entonces, la ecuación
(3.13) es sólamente una condición necesaria para la existencia de un mínimo en
la función f(x), pero no es una condición suficiente.
Sin embargo, se aprecia que en los valores xo y x', f ' ( x ) cambia de signo
negativo a signo positivo. En x, el cambio de signo es de positivo a negativo,
mientras que en x, la derivada no cambia de signo mientras x pasa a través del
valor x,. Entonces, en un mínimo la derivada es un incremento de la función y
como la razón de cambio en el incremento de f ' ( x ) es medida por la segunda
derivada, se espera que:
f"(xo) > O, f"(x*)>O
mientras que f"(xm) < O
(3.14)
Los resultados intuitivos pueden demostrarse considerando la serie de expansión
de Taylor de f(x) en xo (o x* o x,,,). Es necesario que la función y sus derivadas
sean continuas.
f (X,
hZ
+ h ) - f ( X , ) = hf'( X , ) + f"(X , ) + ...
2!
(3.15)
Si xo es un punto en el cual se tiene un mínimo, entonces el término de la parte
izquierda de la ecuación (3.15) es positivo para todo huh1 < 6). Entonces f ' ( x , )
tiene que ser cero, y ésta es la condición necesaria para la existencia de un
mínimo de f(x) (ver ecuación 3.13). Si f ' ( x , ) > O un valor negativo Suficientemente
pequeño para h, haria que el término del lado derecho de (3.15) sea negativo; si
por el contrario, f ' ( x , ) < O un valor positivo suficientemente pequeño para h, haría
que el término del lado derecho de (3.15) también sea negativo.
Como el siguiente término involucra h2, se observa que si:
f " (x, ) > o
se tendrá un mínimo de la función f(x). Si f ' ( x , ) = O
argumentos similares, x, es' un máximo.
-
(3.16)
y f"(x,,,) < O, entonces por
3-1 I
Capitrrln 3. AiiRlisis de sensibilidad y npiiniiznciÚn sin resiriccioiics
El caso ambiguo dónde f " ( x ) = O puede resolverse si se continua con la serie de
expansión de Taylor:
h2
h3
h4
(3.17)
f ( X , + h ) - f ( x , ) = h f ' ( x , ) + -f " ( X , ) + -f " ' ( x, ) + -f""( X , ) + ...
2!
3!
4!
Se puede establecer entonces una regla:
Si f(x) y sus derivadas son continuas, entonces xg es un punto extremo
(máximo o mínimo) si y sólo si n es par, donde n es el orden de la primera
derivada en xg. Si f " ( x , ) < O , entonces xg es un máximo; si f " ( x , ) > O ,
entonces xo es un rninirno.
3.2.2 Funciones de n variables3
Consideremos la función de n variables reales:
f ( x i , x ~ ~ x 3 , . . . =~ nf(x)
)
(3.18)
El punto con coordenadas (xr,xz,...,xn) en el espacio Euclidiano n es denotado por
un vector columna x. El gradiente de la función ( a f / a x , , a f / a x , ,...,af/ax,,) es
denotado por V f ( x ) . La matriz Hessiana de f(x) es denotada por H(x) y es una
matriz simétrica de n x n con elementos:
(3.19)
f(x) tiene un mínimo en xo si existe una vecindad alrededor de xg tal que f(x) es al
menos un poco mayor que f(xo) para todos los puntos de la vecindad; es decir,
existe un 6positivo, tal que para Ix - x,I < 6 , f(x) .: f(xo).
Para un mínimo global en x*, f(x) 2 f(x*) para todo x.
Con estas definiciones y suposiciones ciertas, se puede generalizar la ecuación
(3.15). de la manera siguiente:
= hTV f (x,
' Este apartado se basa en
3-12
1
) + -- h r H ( x , )h + .._
2
la referencia [65]
(3.20)
Capitulo 3. .halisi.s de scnsihilidad y opiinii:acid~i si11 resfriccio~ies
Entonces, si xo es un minimo para f(xJ. cada primera derivada parcial
d f j a x , ( i = l .....n) desaparecerá en XO. En el caso en que xo sea un máximo
escogiendo apropiadamente hj se puede hacer que f(xo+h) - f(xoxo)sea negativo.
Así, la condición necesaria para la existencia de un mínimo en xo es:
V f (x , )
=o
(3.21)
De esta forma, si los términos de orden superior en la ecuación (3.20) se
desprecian, el signo de f(xo+h) - f(xo) esta determinado por:
1
2
- h r H ( x , )h
(3.22)
Si H(xo) es positiva definida, entonces la ecuación (3.22) es positiva para toda h.
Entonces, las condiciones suficientes para la existencia de un mínimo son:
Of( x, ) = O ,
H( xo ) sea positiva definida
(3.23)
H ( x , ) sea negativa definida
(3.24)
Para un máximo se requiere que
Vf(x,)=O,
Hasta el momento, se han establecidos los conceptos para la optimización sin
restricciones; sin embargo, como se mencionó anteriormente el problema que
concierne es la optimización con restricciones. En el siguiente capítulo se hablara
de este problema.
:
3-14
..
Capítulo 4
Programación cuadratica secuencia1
1
-
ysu aplicación en las redes
neuronales artificiales
4.1 Optimización no lineal con restricciones
El problema general de optimización con restricciones consiste en minimizar una
función no lineal sujeta a restricciones. Existen dos formulaciones equivalentes de
este problema [66,67], ellas son:
rnin {f(x):
gj(x) SU,
jsI, h,(x) = O, j c E }
(4.1)
donde cada gj y hj es un mapeo de 91" a 91, e I y E son los indices para los
conjuntos de restricciones de desigualdad y de igualdad, respectivamente.
y la otra formulación es:
'
8,
h(x) = O ,
rnin{f(x):
I S X ~ U ]
I
donde h se mapea de 91" a 91m, y I y u son los límites inferiores y superiores del
vector x .
La función no lineal f(x), así como las funciones g(x) y h(x) que describen a las
restricciones, deben de ser suaves [68].
Como se mencionó en el capítulo anterior, se han propuesto diferentes técnicas de
solución al problema de optimización con restricciones. Sin embargo, el que
reporta la literatura como el más poderoso para la solución de este tipo de
problemas es el método de programación cuadrática secuencia1 (Sequential
Quadratic Programming SQP) [69,70].
La base de estos métodos de solución es la función de Lagrange o Lagrangiano.
Éste se forma incluyendo la función objetivo, las restricciones de igualdad con su
respectivo multiplicador de Lagrange y las restricciones de desigualdad con un
multiplicador de Lagrange adicional. La expresión que representa al Lagragiano es
la siguiente:
(4.3)
4.2 Condiciones necesarias y suficientes para un mínimo
local
Las condiciones necesarias.para que x* sea un mínimo local de f(x). son: [71]
1. Que el gradiente del Lagrangiano sea igual a cero, es decir
m
VL(x,w,u)= V f ( X ) + - p , V h , ( X ) ,=1
P
~u,Vg,(x)=
o
,=,,,+l
(4.4)
2. Que 1a.s funciones f(x), hj(x), g,(x) sean doblemente diferenciables en x*.
3. Que los multiplicadores de Lagrange existan.
Las condiciones suficientes para que x* sea un mínimo de f(x), requieren que la
matriz Hessiana del Lagrangiano sea positiva definida para todos los valores del
4-2
'.
..-
vector v, para los cuales v T V g j ( x * ) = O ,y v'Vh,(x*)=O, esto es, que para todas
las restricciones se cumple la condición siguiente:
VTV2[L(X*,W*,U*)b
>o
(4.5)
Las condiciones mencionadas con anterioridad son conocidas como las
condiciones para optimización de Kuhn-Tucker [72,73]. Estas condiciones son la
base para el diseño de algunos algoritmos y como criterio de terminación para
otros.
4.3 Programación cuadrática secuencial (SQP)
El algoritmo de programación cuadrática secuencial es una generalización del
método de Newton [74] para problemas de optimización sin restricciones, en el
que se encuentra una longitud de paso a partir del punto actual, minimizando el
modelo cuadrático del problema.
En el presente trabajo de tesis se empleó una función de MATLAB (ver apéndice
A) que soluciona el problema de programación cuadrática secuencial [75].
4.4 Identificación del CEllO Servo Trainer empleando el
algoritmo SQP
AI igual que en las identificaciones realizadas con el algoritmo OLL. fue necesario
aplicar una señal de entrada, u,,,,(, en el amplificador que proporciona la señal
adecuada al motor, para obtener los datos de la velocidad de la planta, yplan,con
ésto se obtuvo un conjunto de datos de entrada-salida. Con este conjunto se
realizó el entrenamiento del neuroidentificador y se estimaron sus parámetros, con
el fin de copiar la dinámica de la planta.
Para realizar la identificación de la planta CEllO Servo Trainer se empleó el
algoritmo de estimación paramétrica de programación cuadrática secuencial
(SQP). La función que se minimiza es semejante a la que se muestra en el
apéndice A.
El esquema empleado para la identificación se muestra en la figura 4.1.
4-3
Figura 4.I Esquema paralelo para la identificación
de la planta CE1 I O Servo Trainer
La estructura del neuroidentificador sigue siendo de una neurona en la capa de
entrada, cuatro neuronas en la capa intermedia y una neurona en la capa de
salida, pero ahora la RNA es estática (ver figura 4.2).
Enlrad
Pesos de la capa
Intermedia
Pesos de la capa
de salida
Figura 4.2 Estructura del neuro identilicador empleado para /a
idenfificacion del CE110 Servo Trainer usando SOP
*
Los parámetros de la red neuronal artificial empleada para la identificacion del
Servo Trainer, son los umbrales ( b ) ,los pesos de la capa intermedia ( w ) y los de la
capa de salida (v). Asi, la entrada de la RNA se pondera a traves de los pesos de
la capa intermedia, w, se le suma el umbral y se aplica la funcion de activacion de
la neurona, en este caso una funcion sigmoidal; la respuesta de cada neurona, es
ponderada pero'con los pesos (v) de la capa de salida. Se debe aclarar que los
umbrales son multiplicados por la unidad.
I
___
2
3
4
5
4-4
Pesos w
0.066746
7.397896
-0.068960
-0.017636
.
Pesos v
.~
15.621801
0.0000000
-36.981 109
-42.928650
Umbrales
___-0.0230381
0.1447089
-0.4825632
-0.0969537
164.5463893
-
.-
Se sabe que la sensibilidad de una RNA como la mostrada en la figura 4.2 está
dada por la siguiente ecuación
Si se analiza la sensibilidad a través del camino de conexión de la tercera neurona
de la capa intermedia, desde la entrada hasta la salida, se puede observar que al
multiplicar los pesos, la sensibilidad es positiva. Para el resto de las neuronas es
positiva la sensibilidad, por lo que se cumple con que la sensibilidad del modelo es
semejante a la sensibilidad de la planta.
Fue necesario realizar 1303 iteraciones para lograr satisfacer el criterio de error
cuadrático medio propuesto, cuyo valor fue de 0.082645 unidades. Los patrones
con los que se entrenó la RNA son los que se muestran en la figura 4.3.
iq
O
,
,
,
,
,
,
,
,
,
2
4
6
8
10
12
14
16
18
20
Muestras(Tiempo de muestre0 0.4 seg)
Figura 4.3 Patrones de entrenamiento tomados del CE110 Servo
Trainer, el tiempo de muestre0 fue de 0.4 segundos.
Para llevar a cabo el entrenamiento de la RNA se usó una rampa de 21 datos, que
se muestra en la figura 4.3. La señal de excitación está descrita por:
ucOni(k)
= ucon,
( k ) + 0 . 5 volts, el tiempo de muestre0 es de 0.4 segundos.
Una vez que se entrenó la RNA, se le aplicó el mismo conjunto de datos de
entrada que fue aplicado al motor (planta), con el fin de comparar su
comportamiento contra el comportamiento real de la planta ante la misma señal de
excitación (ver figura 4.4).
Capífrrlo 4. Progrnnracióii crrodrrilica scmerrcial (SQP)
9,
,
,
,
J'
s u a p l i c a c i h cn RNA
I
I ;.
Muestras(Tlemp0 de muestre0 O 4 seg)
Figura 4.4 Respuesta del CE11O Servo Trainer y del modelo obtenido
con la RNA, el tiempo de muestre0 fue de 0.4 segundos.
Como lo muestra la figura 4.4, el comportamiento del modelo es el esperado y se
cumple con la condición de sensibilidad positiva.
4.4.1 Pruebas de generalización del modelo obtenido con el
neuroidentificador
En la primera prueba de generalización, se uso un conjunto de 163 datos. Para
obtener estos datos, se excitó con una señal senoidal al Servo Trainer; su
respuesta y la señal de excitación se muestran en la figura 4.5. La señal de
excitación esta descrita por u,,, ( k )= 2.8 + 1.2 * sin(0.2454* k ) .
Muesimas(Tiernpo de muerlreo 0.4 seg)
Figura 4.5 Señal senoidal para evaluar el modelo del CEllO Servo
Trainer, el tiempo de muestre0 fue de 0.4 segundos.
. *- .
..
.,
Después se aplicó el mismo conjunto de datos de entrada al modelo obtenido con
el neuroidentificador y entrenado con el algoritmo SQP. En la figura 4.6 se puede
observar la velocidad del motor y la velocidad del modelo.
Mueslras(Tiernpo de muesireo 0.4 seg)
Figura 4. 6 Respuesta del CE110 Sew0 Trainery del modelo obtenido
con la RNA, el tiempo de muestre0 fue de 0.4 segundos.
En la misma figura se observa que el modelo obtenido para el C E l l O Servo
Trainer a través del neuroidentificador entrenado con el algoritmo SQP, representa
el comportamiento esperado de la planta y la sensibilidad del modelo es
semejante a la sensibilidad de la planta.
Como las gráficas anteriores muestran el buen desempeño cualitativo del modelo
y se asegura que la sensibilidad del modelo es semejante a la sensibilidad de la
planta al usar el método de estimación paramétrica con restricciones, se procedió
a la identificación de una planta, cuya variable de interés es el flujo de un liquido.
4.5 Identificación del módulo de regulación de flujo
empleando el algoritmo SQP
Para la identificación del módulo de regulación de flujo fue necesario aplicar una
señal de entrada, u,,,, , en la bomba de CD, para obtener los datos del flujo la
planta, yPi,,, con ésto se obtuvo un conjunto de datos de entrada-salida. Con este
conjunto se realizó el entrenamiento del neuroidentificador y se estimaron sus
parámetros, con el fin de copiar la dinámica de la planta.
.
.
4-7
Capiriilu 4. Pro~graniacihcuadrática scriwricial (SQP)y sii apliracih cii RN:I
Para realizar la identificación de la planta se empleó el algoritmo de estimación
paramétrica de programación cuadrática secuencia1 (SQP). La función que se
minimiza es semejante a la que se muestra en el apéndice A.
El esquema empleado para la identificación se muestra en la figura 4.7
de flujo
Figura 4.7 Esquema paralelo para la identificación
de la planta módulo de regulación de flujo
La estructura del neuroidentificador es de una neurona en la capa de entrada,
cuatro neuronas en la capa intermedia y una neurona en la capa de salida, y la
RNA es estática (ver figura 4.2).
Los parámetros de la red neuronal artificial empleada para la identificación del
módulo de regulación de flujo, son los umbrales ( b ) , los pesos de la capa
intermedia (w) y los de la capa de salida (v). Así, la entrada de la RNA se pondera
a través de los pesos de la capa intermedia, w, se le suma el umbral y se aplica la
función de activación de la neurona, en este caso una función sigmoidal; la
respuesta de cada neurona, es ponderada pero con los pesos (v) de la capa de
salida. Se debe aclarar que ¡os umbrales son multiplicados por la unidad.
El vector de pesos y umbrales para el neuroidentificador obtenido es:
1
2
3
4
5
Pesos w
0.074348
3.507698
-0.023078
-0.010662
Pesos v
0.097957
76.01 5352
-298.497568
-292.714007
Umbrales
399.930104
1.970191
-1.025592
La sensibilidad de una RNA como la mostrada en la figura 4.2 está dada por la
siguiente ecuación 4.29.
Si se analiza la sensibilidad a través del camino de conexión de la tercera neurona
de la capa intermedia, desde la entrada hasta la salida, se puede observar que al
multiplicar los pesos, la sensibilidad es positiva. Para el resto de las neuronas es
positiva la sensibilidad, por lo que se cumple con que la sensibilidad del modelo es
semejante a la sensibilidad de la planta.
4-8
-
: , . .d- ,
,'
.
Cnpiiirlu 4. Propamociún ciraúrriiicn .smiorciul .(SUI') y s u aplicucioti
eti
RNA
Fue necesario realizar 1309 iteraciones para lograr satisface[- el criterio de error
cuadráiico medio propuesto, cuyo valor fue de 0.481443 unidacles.
Para llevar a cabo el entrenamiento de la RNA se usó una rariipa de 8 datos, que
se muestra en la figura 4.8. La señal de excitación esta descrita por:
uConI
( k ) = u,,,, ( k )+ 1 .O volts, el tiempo de rnuestreo es de 0.4 s(::gundos.
Muestras(Tiempo de rnuestreo 0.4 seg)
Figura 4.8 Patrones de entrenamiento tomados del riióilulo
de regulación de flujo, el tiempo de mueslreo
fue de 0.4 segundos.
Una vez que se entrenó la RNA, se le aplicó el mismo conjunto de datos de
entrada que fue aplicado al módulo de regulación de flujo (planta), con el fin de
comparar su comportamiento contra el comportamiento real de la planta ante la
misma señal de excitación (ver figura 4.9).
11 r
11,
10-
,_---
a-
7-
Muestras(Tiemp0 de muestreo 0.4 seg)
Figura 4.9 Respuesta del módulo de regulación de f k j o
y del modelo obtenido con la RNA, el liempo de
muestreo fue de 0.4 segundos.
Cupífrrlo 4. Progruiiruci6ii cirurlraricu secrreirciui (SQP) J! s u uplicucioir cii RNA
-
Como lo muestra la figura 4.9, el comportamiento del modelo es el esperado y se
cumple con la condición de sensibilidad positiva.
4.5.1.1 Pruebas de generalización del modelo obtenido con el
neuroidentificador
En la prueba de generalización, se usó un conjunto de 320 datos. Para obtener
estos datos, se excitó con una señal senoidal al módulo de regulación de flujo; su
respuesta y la señal de excitación se muestran en la figura 4.10. La señal de
excitación está descrita por u,,~ ( k ) = 4.88 + 2.12 * sin(0.2454 * k ) .
O
50
100
150
200
250
300
I
Muesiras(Tiemp0de muestre0 0.4 seg)
Figura 4.10 Sei,al senoidal para evaluar el modelo del
modelo de regulación de flujo, el tiempo
de muestre0 fue de0.4 segundos.
Después se aplicó el mismo conjunto de datos de entrada al modelo obtenido con
el neuroidentificador y entrenado con el algoritmo SQP. En la figura 4.1 1 se puede
observar el flujo de la planta y el flujo del modelo.
En la misma figura se observa que el modelo obtenido para el modulo de
regulación de flujo a través del neuroidentificador entrenado con el algoritmo SQP,
representa el comportamiento esperado de la planta y la sensibilidad del modelo
es semejante a la sensibilidad de la planta.
4-10
-
I
O
50
100
150
200
250
300
I
Mueslras(Tiempa d e muestreo 0 . 4 seg)
Figura 4.11 Respuesta del módulo de regulación de flujo y
del modelo obtenido con la RNA, el tiempo de
muestreo fue de 0.4 segundos.
Como las gráficas anteriores muestran el buen desempeño cualitativo L-. modelo
y se asegura que la sensibilidad del modelo es semejante a la sensibilidad de la
planta al usar el método de estimación paramétrica con restricciones, se procedió
a la implernentación del esquema de control indirecto, el cual será descrito en el
capítulo siguiente.
Cabe señalar que para los prototipos de laboratorio CE110 Servo Trainer y para el
módulo de regulación de flujo la sensibilidad siempre es positiva en toda su región
de operación, ya que para un incremento en la señal de control, corresponde un
incremento en la señal de salida de la planta.
Para un sistema altamente no lineal el cuál tenga una sensibilidad positiva en
algunos puntos dentro de su región de operación, y una sensibilidad negativa en
otros puntos de su región de operación, es posible emplear el método de
estimación paramétrica con restricciones (SQP) para calcular los parámetros de
un neuroidentificador. Esto se puede lograr estableciendo nuevas restricciones,
que van a depender de los valores para los cuales la sensibilidad es positiva y de
los valores para los cuáles la sensibilidad es negativa. Mientras que los métodos
de estimación paramétrica generalmente empleados para el entrenamiento de un
neuroidentificador, van a seguir adoleciendo de que sus parametros (pesos y
umbrales) pueden ser positivos o pueden ser negativos.
4-1 I
Capirirlo J. Pro~ramariónciradráfica sccrrcncial (SQP)
4-12
.v
SII
apliraci<iii CII RiV.4
Capítulo 5
Resultados
5.1 Implementación del esquema de control indirecto
El esquema de control implementado con redes neuronales artificiales es el
esquema de control indirecto [76], que se muestra en la figura 5.1
refei
-
L/
/
Neurocontrolador
/,
UC0"Sk)
YP."('
Planta
+
-
Neuroideniificador
I
I
'.............sensibilidad
'...,
......................
.._<
Figura 5.1 E s y u m a de control indirecto basado
en redes neuronales artificiales
Capítulo S. Resrrltatlns
Como ya se mencionó, este esquema de control consta de dos etapas:
La primera etapa consiste en realizar una identificación de la planta, en este caso
a través de un neuroidentificador (RNA), el cual copia la dinámica de la planta:
Ym(k,uc,,,1 P ) = Y d a n (k,u,,m ) '
9
(5.1)
donde p=[wi,vJ es el vector de parámetros del neuroidentificador.
Mediante el uso de un algoritmo de estimación paramétrica con restricciones
(SQP) se asegura que la sensibilidad del modelo es semejante a la sensibilidad de
la planta de forma global, como lo indica (5.2):
(5.2)
El neuroidentificador ajusta sus parámetros con base en un indice de desempeño
o criterio de error que está dado por la diferencia de la salida de la planta y la
salida del modelo:
La segunda etapa consiste en encontrar una ley de control adecuada, a traves del
neurocontroiador, de tal forma que la salida de la planta siga a una referencia
deseada, es decir:
Ypia"(k>UcOnr
) = refew)
(5.4)
y el objetivo de control está definido de la siguiente manera:
donde E es un criterio de error, éste puede ser definido como un error cuadrático
medio:
Es evidente que el minim0 de (5.6) se puede encontrar derivando la ecuación
As¡,
respecio a uconf.
(5.7)
-~
5-2
,,
.II
>
-
-
Capifulo5. Kmrifados
donde:
m=O
h 4
La derivada parcial de (5.7) respecto a cada uno de los parámetros genera un
sistema de nxn ecuaciones lineales cuya solución se encuentra empleando el
método de Levenberg-Marquardt [77] ( n es el número de parámetros del
neurocontrolador).
En lo referente a la adquisición y envío de señales de los prototipos de laboratorio,
se empleó una tarjeta ATMIO-16X de National Instruments No. parte 776578-01
[78]. Para señales analógicas se tienen 16 canales de entrada y 2 canales de
salida. Como los procesos son SISO, se emplearon dos canales analógicos, uno
de entrada y otro de salida.
La interfaz gráfica empleada es la que se muestra en la figura 5.2. En la pantalla
superior se grafica la señal de control, mientras que en la pantalla inferior se
grafica la señal de salida de la planta y la señal de referencia.
'
1
.......
j
lo1x I
.....
- ......
a 20 ,.'.i'40
' 59;. ' 7 9 , 9 9 1 . ~
... Acuakacví? del bdle, DiA . . . . . . .
. . . . . . .
....
F-"
,~.
O
~
.I
i ,
..
.............
. . . . .
Figura 5.2 Intedaaz gráfica
. .
Fue necesario el empleo de dos computadoras personales para la implernentación
del esquema de control, debido a que el algoritmo de estimación de los
parámetros del neuroidentificador es complejo y toma tiempo considerable la
5-3
obtención de modelos. Así que, mientras en una PC se realiza la adquisición de
los datos de la salida de la planta y la generación (estimación paramétrica del
neurocontrolador) y envío de la señal de control, en la otra PC se realiza el
proceso de estimación paramétrica del neuroidentificador, con el fin de entrenar a
la RNA y de esta manera se logra el aprendizaje de la dinámica de la planta y
tener un control en tiempo real (ver figura 5.3). Las computadoras se encuentran
conectadas a través de un protocolo TCPllP haciendo uso de la red.
La programación fue desarrollada en lenguaje C y se empleó la plataforma de
Labwindows v.5.2 [79] debido a la facilidad que presenta para realizar la interfaz
gráfica y las herramientas de programación para establecer comunicación entre
dos computadoras.
Planta
Adquisicion de la seiial de la planta
y envio de la seiial de control
@ E n v i o del conjunto de datos
entrada-salida para la estimación
de parámetros
@
Estimacion
parametrica
@ Enviodelosparámetros
estimados del neuroidentificador
Figura 5.3 lmplemenfación del esquema de control indirecto
con la ayuda de computadoras personales
Para realizar el control a través de las redes neuronales artificiales empleando el
esquema de control indirecto mostrado en la figura 5.1, se consideran dos
prototipos de laboratorio:
I.CEI 10 Servo Trainer.
2. Módulo de regulación de flujo
El prototipo del intercambiador de calor RCT 100 ya no fue empleado para la
implementación del esquema de control, debido a que la dinámica de este sistema
es muy lenta y en las pruebas de identificación (ver figura 2.8 del capítulo 2) fue
necesario invertir hasta 4.72 hrs con el fin .de obtener un conjunto de datos
entrada-salida que serían útiles para lograr una identificación. Se propone usar el
prototipo de laboratorio de regulación de flujo, debido a que presenta una
dinámica mucho más rápida que la del intercambiador de calor RCT 100.
5 -4
r.tx*
-a,..-
i ,,r (“it‘
.~
Capitulo 5. Resultados
5.2 Control del CE11O Servo Trainer
La constante de tiempo de este sistema es aproximadamente de 1.5 seg [80]. Se
recomienda un tiempo de muestreo entre 0.1 y 0.3 veces la constante de tiempo
del sistema [81,82]. Para el caso específico se propuso un tiempo de muestreo de
0.4 seg.
Las pruebas que se realizaron en este prototipo son las siguientes:
I.Regulación y seguimiento sin perturbación.
2. Regulación con perturbación.
3. Regulación y seguimiento de una trayectoria con una no linealidad en la
señal de control y sin perturbación.
4. Regulación con una no linealidad en la señal de control sin perturbación y
en presencia de la misma.
A continuación se explica cada una de ellas y se muestran las gráficas de
respuesta.
5.2.1 Regulación y seguimiento sin perturbación
Para el CEllO Servo Trainer se realizó una prueba de seguimiento y regulación
sin perturbación empleando el esquema de control indirecto.
En la región A de la figura 5.4, se aplica una referencia de velocidad
descrita por la ecuación refer(k) = 2.8 + 1.2 * sin(0.2454 * k ) volts, en la
misma figura es posible apreciar el buen desempeño de la estructura de
control. En este caso, el neuroidentificador tenía un buen modelo numérico
de la planta, debido a que se encontraba previamente entrenado, es por
ésto que es posible seguir inmediatamente a la referencia.
Posteriormente se hace un cambio de referencia para lograr el control del
motor en regulación a refer(k) = 2.5 volts en la región B.
En la región C se muestra otro cambio de referencia, en esta región se
realiza el seguimiento de una trayectoria de velocidad cuyo comportamiento
está descrito por la ecuación refer&) = 5.0 + 2.0 *sin(0.2454 k ) volts.
Finalmente se aplica otro cambio de referencia de refer(k)=5.0 volts,
como se muestra en la región D.
5- 5
La figura 5.4 muestra que la señal de la planta sigue satisfactoriamente a la señal
de referencia predefinida, tanto en seguimiento, como en regulación.
r
I
Muestras(Tiemp0 de rnuesireo 0.4 Seg)
Figura 5. 4 Gráfica de /a respuesfa de/ Servo Trainer en
seguimiento y regulación sin perturbación
5.2.2 Estrategia de control para rechazo a perturbaciones
La regulación en presencia de perturbación se realiza empleando la siguiente
estrategia de control.
Partiendo del hecho que se tiene controlada a la planta, se aplica una
perturbación en el región A como puede observarse en la figura 5.5, y se hace la
conside;ación que. la salida de la planta decrece. El control detecta que existe un
error mayor al permitido, en este caso 2.5%, deshabilita la señal de control del
neurocontrolador e inyecta como señal de control una rampa, de tal forma que la
salida de la planta tienda a incrementarse hasta alcanzar a la referencia. La
respuesta de la planta y la señal de control son almacenados en una tabla y con
ellos se obtiene un modelo a través del proceso de estimación paramétrica, el
)
modelo se usa en la etapa de control para lograr que ~ ~ , ~ , , (=krefer(k).
Se supone ahora que la señal de la planta se incrementa debido a otra
perturbación, como se muestra en la región B de la figura 5.5. La señal del
neurocontrolador se deshabilita y se introduce una rampa pero con pendiente
negativa, con el fin de que la señal de la planta tienda a disminuir y así se logre
alcanzar a la referencia. Nuevamente, la salida de la planta y la señal de control
aplicada son almacenados en una tabla y con ellos se obtiene un nuevo modelo a
5-6
través del procedimiento de estimación paramétrica, y así encontrar una ley de
control adecuada para lograr el objetivo de control.
5.2.3 Regulación con perturbación
En la figura 5.6 se muestra la respuesta del sistema en una prueba de regulación
sin carga, la referencia de velocidad es refer(k)= 2.5 volts. En la región A se logra
controlar a la planta y se tiene un error del 1.7%; en el punto A se aplica una
perturbación y se puede observar en la gráfica que la sintonización de los
parametros se lleva a cabo hasta que se obtiene otro modelo con el cual
nuevamente se logra controlar a la planta y tener un error del 3.6% en la región B.
.
Muesbas(Tiemp0 de mwslreo 0.4 segl
Figura 5.6 Regulación sin/con carga para el CEllO Servo Traine:
Capitulo 5. Resullados
5.2.4 Regulación y seguimiento de una trayectoria con una
no linealidad en la señal de control y sin perturbación
La siguiente prueba que se realizó fue aplicar una no linealidad al sistema CEllO
Servo Trainer, la cual consistió en sumar un nivel de 1.8 volts a la señal de
control, y además de un bloque de histéresis. En la figura 5.7 se muestra la señal
de control y la respuesta del motor ante tal señal de control y la respuesta del
sistema.
Muestras
Figura 5.7 Sena1 de control con histéresis y offset ap :ai
ai CE110 Sew0 Trainer y su respuesta
S
3
Una de las pruebas consistió en la regulación de una señal descrita por un
escalón refer(k) = 4.0 vo/ls, una vez que se logró que la salida del motor fuera de
aproximadamente 4.068 volts, que corresponde a un error de 1.72%, como se
observa en la región A de la figura 5.8. En la muestra k=764 se aplicó una señal
de referencia senoidal descrita por refer(k) = 5.0 + 2.0 sin(0.2454 * h ) VOMS como
se muestra en la región B de la figura 5.8. En la misma figura se puede observar
el buen desempeño del esquema de control indirecto.
5-8
1.5
2.5
I
O
50
1W
150
200
250
300
I
Muesiras(Tiempo de muestre0 0.4 seg)
Figura 5.8 Respuesta del sistema en regulación y seguimiento de
una trayectoria, sin carga y en presencia de una
no linealidad en la sena1 de control
5.2.5 Regulación con una no linealidad en la señal de control
sin perturbación y en presencia de perturbación
Otra prueba fue la regulación de la salida a una señal de referencia de 5 volts. El
modelo inicial que tiene el neuroidentificador (pesos y bias) no corresponde al
modelo de la planta con la no linealidad, así que al principio el error es de 35.2%,
como se muestra en la figura 5.9. AI detectar un error mayor al 2.5%, el esquema
global de control inicia el proceso de sintonización de parámetros del
neuroidentificador, con el fin de lograr copiar la dinámica de la planta. El nuevo
modelo obtenido se emplea en el esquema de control para sintonizar los
parámetros del neurocontrolador (basados en la sensibilidad del modelo y el error
entre la salida de la planta y la referencia deseada) con el objeto de logar que la
salida de la planta siga a la referencia.
En la región A de la figura 5.9, se puede observar que se ha logrado controlar al
sistema para la referencia deseada con un error menor al 1%. Una vez que se
logra realizar el control, se aplica una carga al motor en el punto A, de tal forma
que su salida disminuye y el error se incrementa a 30.6%. Nuevamente inicia el
proceso de sintonización descrito, hasta que se logra controlar al sistema en la
región B con un error de 0.6%.
5-9
-
Capitulo 5. Rtwltados
_--___m____
2W
250
Muestras(Tiernp0 de muestre0 0.4 Seg)
50
100
150
I
Figura 5.9 Respuesta del sistema a)en presencia de una no
linealidad en la señal de control para parámetros
de/ neuroidentificador desconocidos; b) perturba.
cion en el sistema
5.3 Control del módulo de regulación de flujo
El otro caso de estudio para implementar el esquema de control indirecto, es un
módulo de regulación de flujo de FESTO DIDACTIC. Las pruebas que se
realizaron en este prototipo son las siguientes:
1. Seguimiento sin perturbación.
2. Regulación con perturbación.
5.3.1. Seguimiento sin perturbación
En la gráfica que se muestra en la figura 5.10, se observa una prueba donde la
señal a seguir es refer(k) = 2.8 + 1.2 * sin(0.2454 * k ) . En la parte inferior del
primer periodo de la señal senoidal, se tiene un error de 18% entre la salida de la
planta y la señal de referencia y conforme transcurre el tiempo se obtienen nuevos
modelo en linea, de tal forma que se logra llegar a un 13% de error en la zona
inferior de la senoidal, en tanto para el resto de la señal se logra realizar un buen
seguimiento.
5-10
O
50
100
150
200
250
3W
I
Muesiras(Tiempo de rnuestreo 0.4seg)
Figura 5.10 Respuesta del seguimiento de un
flujo deseado sin perturbación
5.3.2. Regulación con perturbación
En la figura 5.1 1, se muestra una prueba de regulación a la que se le aplica una
períurbación, por medio de la válvula manual.
Punto
Muestras(Tiernpo de rnuectreo 0.4 seg)
Figura 5.11 Regulación sin/con perturbación en la válvula
5-1 1
-
Capifrrlo 5. Resirifados
-
El sistema se arranca con un modelo que no corresponde a la dinámica del
proceso, aún así se logra tener un error en regulación del 6.6%. Sin embargo
debido a que se desea que el error sea menor que el 2.5%0,inicia el proceso de
sintonización de los parámetros del neuroidentificador a través de la estimación
paramétrica hasta obtener un modelo, este modelo (como se mencionó
anteriormente) es usado para ajustar los parámetros del neurocontrolador, de tal
forma que se logre que la salida de la planta siga a la referencia. Como se
muestra en la región A de la figura 5.1 1, se 1,ogra que el error sea menor al 1%.
En el punto A de la figura 5.1 1, se aplica una perturbación al cerrar la válvula
manual, no completamente, pero sí de manera considerable, de tal forma que el
flujo del líquido disminuye por lo que genera que el error se incremente hasta
47.3%, as¡ que se inicia nuevamente el proceso de sintonización descrito y se
logra regular el flujo del liquido con un error del 1.3% en la región B.
5-12
Capítulo 6
Conclusiones de los resultados
.
..
obtemdos
6.1 Resultados obtenidos
Con base en los resultados obtenidos en el desarrollo de este tema de
investigación, se concluye lo siguiente:
1. Para la identificación de sistemas no lineales se ha mostrado que los
algoritmos de entrenamiento generalmente empleados en las redes neuronales
artificiales, cumplen que la sensibilidad del modelo numérico obtenido sea
semejante a la sensibilidad de la planta de manera local. De tal forma que
siempre existe la posibilidad de la existencia de un conjunto de datos entradasalida para el cual el comportamiento del modelo no sea el esperado. Por lo
tanto debe de tenerse cuidado en la selección del algoritmo de entrenamiento
para las redes neuronales artificiales.
2 . Se logró mostrar el buen desempeño de las redes neuronales artificiales en la
identificación de sistemas no lineales, empleando un algoritmo de estimación
parametrica. con restricciones, de tal forma que la sensibilidad del modelo
numérico obtenido es igual a la sensibilidad de la planta para cualquier
conjunto de datos de entrada-salida.
..
3. Los métodos de estimación paramétrica generalmente empleados en las redes
neuronales artificiales son capaces de encontrar un mínimo global de la función
objetivo, el método de estimación ' paramétrica con restricciones encuentra un
mínimo local de la función objetivo. Sin embargo, cuando se obtienen modelos
numéricos usando RNA y empleando el método de estimación paramétrica con
restricciones se cumple que la sensibilidad del modelo sea semejante a la
sensibilidad de la planta.
4. Si la sensibilidad de una planta cambia dependiendo del punto de operación de
ésta, es posible emplear el método de estimación paramétrica para calcular los
parámetros del neuroidentificador teniendo cuidado de establecer
correctamente las restricciones que serán función de la sensibilidad.
5. AI lograr tener un buen modelo numérico del sistema no lineal, se asegura que
el neurocontrolador encontrará una ley adecuada, al menos en sentido, de tal
forma que es altamente probable que se satisfaga el objetivo de control.
6. Con el presente trabajo se muestra que con la implementación del esquema de
control indirecto basado en redes neuronales artificiales y empleando el
método' de estimación parametrica de programación cuadrática secuencia1
(SQP) se obtienen,resultados satisfactorios aplicándolo en linea en los dos
problemas del control: regulación' y seguimiento de trayectorias predefinidas,
logrando errores hasta de 0.6% entre la señal de referencia y la salida de la
planta.
7. El tiempo que se lleva el sistema en controlar a la planta no se debe a que el
neurocontrolador realice un número considerable de iteraciones para lograr
encontrar una ley de control adecuada, sino que se debe al número de
iteraciones que realiza el neuroidentificador para lograr copiar la dinámica de la
planta. En este sentido, el tiempo para la obtención de modelos numéricos a
través de las redes neuronales artificiales es hasta de 80 seg., los mejores
casos fueron de 40 seg. Sin embargo no es posible mejorar de manera
considerable este tiempo, ya que es debido al tiempo de procesamiento de la
máquina.
8. Cabe señalar que, por la forma de adquirir los datos, es decir, estableciendo
que la derivada de la señal de la planta respecto al tiempo de muestre0 fuera
menor al 2%. dy,,(k)/dk
<0.02, de tal forma que se aseguraba que el
sistema estaba en estado estacionario cuando se realizaba la lectura, fue
posible emplear redes neuronales artificiales estáticas para la identificación de
las plantas dinámicas empleando el algoritmo de estimación paramétrica SQP.
9. Se tiene la necesidad de contar con dos computadoras personales para la
implementación del esquema de control indirecto basado en redes neuronales
artificiales, debido a que el método de estimación paramétrica es complejo y
6-2
.vsCfif?.!.v;*"'+--*
Capítulo 6. Conclusiones
requiere de una cantidad considerable de iteraciones(l300 aproximadamente)
para encontrar modelos numéricos adecuados.
10.Un problema de las redes neuronales artificiales es que no existe una
metodología para la selección del tipo de RNA a utilizar, el número de patrones
para el entrenamiento, número de capas, número de neuronas en cada una de
las capas, etc. La selección de la estructura de la RNA se hizo a través de un
proceso de prueba y'error, es decir, se proponía una estructura sencilla, se
entrenaba a la RNA y si no se lograba el comportamiento deseado, se
agregaban patrones de entrenamiento y nuevamente se entrenaba a la RNA.
Si aún así no se lograba tener el comportamiento deseado, se procedía
entonces a agregar neuronas en la capa intermedia de la RNA, con ello se
aumenta el número de parámetros que es necesario estimar, es por ésto que
mientras más sencilla sea la estructura de la RNA, se tiene un menor número
de parámetros a estimar.^ es menor el tiempo de cómputo para realizar el
aprendizaje de la RNA.
11. Para sistemas SISO, se recomienda proponer inicialmente una RNA cuya
estructura sea sencilla, por ejemplo una RNA con una neurona en la capa de
entrada, tres neuronas en la capa de salida y una neurona en la capa de
salida. Los patrones de entrenamiento representan un elemento primordial en
la etapa de aprendizaje o entrenamiento de la RNA, y durante la etapa de
experimentación se observó que el aprendizaje se altera cuando se presentan
repeticiones o ausencias de datos en ciertas regiones o zonas. Una forma de
solucionar ésto es intentar distribuir los patrones de entrenamiento en toda la
región de trabajo, lo cual se puede lograr muestreando adecuadamente y
aplicando una señal de excitación que distribuya los patrones de entrenamiento
lo mejor posible, en la etapa de obtención de datos para entrenamiento. A
diferencia de la identificación para sistemas lineales, a partir de un análisis de
frecuencia en donde la señal impulso, escalón o una señal pseudoaleatoria
tienen preferencia por excitar más modos del sistema, los patrones de
entrenamiento para una RNA deben estar distribuidos en la región de trabajo
de tal forma que se logre copiar la dinámica del sistema en todo el rango de
operación de la planta y se prefiere que no estén repetidos o que no se
encuentren tan juntos, de esta forma la RNA puede llegar a copiar de forma
adecuada el comportamiento de la planta o sistema.
12.La estructura del neuroidentificador, ya sea MISO o SISO, depende de la
dinámica del sistema, ya que para dinámicas muy lentas, por ejemplo el
intercambiador de calor RCT 100, fue necesario incluir una entrada extra a la
RNA con el fin de lograr copiar su dinámica. En cambio, para sistemas cuya
respuesta dinámica es mas 'rápida' (CE110 Servo Trainer o módulo de
regulación de flujo) bastó con tener una entrada en la RNA para lograr copiar la
dinámica del sistema.
6-3
Capitulo 6. Conclusiones
13.Se logró trabajar en el control indirecto en línea, lo cual muestra la capacidad
de las redes neuronales artificiales estáticas para la identificación y control de
cualquier sistema no lineal.
14.Usando el algoritmo de estimación paramétrica SQP para el entrenamiento del
neuroidentificador, se han obtenido resultados que indican robustez del
esquema de control ante perturbaciones aún cuando el aquel este en lazo
abierto.
15. El entrenamiento del neuroidentificador permite obtener modelos numéricos
eficientes de tal forma que se copia la dinámica de la planta. Se trabajó con
plantas SISO, para las cuales las estructuras del neuroidentificador fueron
SISO (CE110 Servo Trainer o módulo de regulación de flujo) y MISO (
intercambiador de calor RCT 100). Sin embargo, es posible realizar la
identificación de planta MIMO o SIMO, para lo cual basta con agregar en la
función de error que se propone el término que representaría a la salida extra
de la planta en función de la entrada. Se empleó una ' RNA en el
neuroidentificador, aunque es posible también trabajar con RNA dinámicas, la
Única modificación que se realizaría es agregar la recurrencia en la función de
error que se propone.
6.2 Trabajos futuros
Trabajar con redes neuronales artificiales dinámicas empleando el algoritmo de
estimación paramétrica SQP, con el fin de comparar el desempeño del
neuroidentificador empleando ambas estructuras de redes neuronales artificiales.
Investigar, además de la estructura de control indirecto basada en redes
neuronales artificiales, nuevos esquemas de control basados en redes neuronales
artificiales, tales como el esquema de control inverso, esquema de control con
modelo de referencia, por nombrar algunos.
Resulta interesante investigar acerca de la implementación en hardware de la
RNA, así como también del método de estimación paramétrica.
Otro punto de interés es investigar la posibilidad de desarrollar algoritmos con
técnicas de búsquedas múltiples para la solución del problema de optimización.
Esto es, si tenemos una superficie que representa la respuesta del sistema, nos
colocamos en un punto deseado, y allí proponemos una función de error
cuadrático medio, el punto deseado puede tocar en algún lado al paraboloide
generando dicha función de error, pero no sabemos si este punto representa al
mínimo. La idea es encontrar este mínimo de tal forma que el comportamiento del
modelo sea semejante al comportamiento de la planta real en ese punto. Cuando
se tiene un conjunto de patrones de entrenamiento, el procedimiento anterior se
realiza para cada uno de los patrones de entrenamiento.
6-4
Apéndice A
A.l Ejemplo de optimización de los parámetros de una
red neuronal artificial empleando SQP
Como se mencionó con anterioridad, se empleó el método de programación
cuadrática secuencial (SQP)para encontrar los parámetros del neuroidentificador,
de tal forma que satisfaga un criterio de desempeño dado por la diferencia entre la
salida del neuroidentificador (modelo) y la salida de la planta.
En este apéndice se muestra como se aplica el método de programación
cuadrática secuencial descrito en la sección 4.2, para encontrar los parametros
que hagan que la RNA de la figura A . l , aprenda el conjunto de datos presentados
en la Tabla A.1.
W
Figura A 1 Esfrucfura de una red neuronal artificial
-
Apdiidice A. Ejemplo de In nptimizacióir de los pnrinieiros dc roin RNA
Con base en los experimentos realizados al minimizar una función f, se observó
que al usar una RNA como la que se muestra en la figura A.1 se obtenía un menor
error cuadrático medio de dicha función f, cuando los pesos ( w f , w2) y umbrales
(blib2)de las conexiones entre la neurona de la capa de entrada y las neuronas
superiores de la capa intermedia y de éstas con la neurona de la capa de salida
(v1,v2)eran positivos; los pesos (w3, w4) y umbrales (b3,b4) de las conexiones
entre la neurona de la capa de entrada y las neuronas inferiores de la capa
intermedia y de éstas con la neurona de la capa de salida (v3,v4)eran negativos.
Tabla A. 1 Pafrones de entrenamiento ara una RNA
Patrón k
4
5
Entrada u
6.58424
7.242672
7.966939
8.763633
9.574268
Salida
3.613434
4.177094
4.719238
6.2448 12
6.393890
Para llevar a cabo este procedimiento, se emplea la función de MATLAB v.4.2 o
superior, constr que soluciona una ecuación no lineal sujeta a restricciones a
través del método de programación cuadrática secuencia1 (SQP), de tal forma que
los parametros de la RNA se optirnizan todos a la vez.
La estructura de la función constr se muestra a continuación:
x = consfr('fun :XO)
x = constr('fun:xo,options)
x = constr('fun',xo,options,vlb,vub)
x = constr('fun',xo,options,vlb,vub, 'grad')
[x,opfions] = constr('fun',xo, ...)
donde xo es el punto inicial y puede ser cualquier valor.
x = consfr('fun',xo) inicia en xo y encuentra el mínimo de una función fun, definida
en un archivo con extensión rn llamado funm La función fun regresa dos
argumentos: un valor escalar f, de la función que ha sido minimizada y una matriz
de restricciones g.
fW=
fun(x)
Alternativamente, puede usarse una expresión con x representando a las variables
independientes y con f y g representando a la función y a las restricciones.
x = constr('fun',xo,options) define un vector de parámetros opcionales, en donde:
opfions(2) controla la precisión de x en la solución.
opfions(3) controla la precisión de f e n la solución.
A-2
Para mayor información en el vector options, ir a la sección del tutorial de [84]
x = constr('fun:xo,options,vlb,vub) define un conjunto de limites superiores e
inferiores en x a través de las matrices vlb y vub. Esto restringe la solución en el
rango vlb < x < vub. Las variables vlb y vub, son de la misma dimensión de x.
x = constr('fun',xo,options,vlb,vub,'gradj) llama a la función grad que regresa las
derivadas parciales de la función y de las restricciones, a/¿%, en el punto x.
a/¿%,
[dcdg] = grad(x)
La columna de dg contiene las derivadas parciales de cada una de las
restricciones, es decir, la i-ésima columna de dg corresponde a la derivada parcial
de la i-ésima restricción respecto a cada unos de los elementos de x.
El vector options y la función grad pueden contener matrices vacías, en tal caso el
vector options toma valores definidos por default y las derivadas parciales no se
calculan con la función grad, sino que se calculan a través del método de
diferencias finitas.
Un segundo argumento en el lado izquierdo regresa los parámetros de
optimización. Por ejemplo:
[x, options] = constr('fun ',xo)
regresa los parámetros usados en la optimización. Por ejemplo, options(l0) que
contiene el número de iteraciones empleadas para encontrar el mínimo de la
función.
Una de las limitaciones del método es que la función que será minimizada y las
restricciones deben de ser continuas.
A continuación se usará esta función en la optimización de los parámetros de una
red neuronal artificial. Como se ha mencionado con anterioridad, la salida de la
RNA está dada por:
y,",
k
= E v , f ( w h ü k+ b k )
4
@.I)
h=l
se propone un índice de error cuadrático medio descrito por la ecuación:
E,,
= 2(Ym,(k.U..P)-Ypi,,(k.U))2
1
=0
(A4
A-3
Apindice A. Ejemplo de l a o p l i ~ ~ i i z a c de
i ó ~losp~rametror
~
de I I I I R RNA
donde p representa los parámetros de la red neuronal artificial.
Interesa que la sensitividad sea positiva, como se describe en el capítulo 3,
~=~vnf(s)[l-f(s)fVih
esto
, se logra sólo si ambos pesos son positivos o
du
h=i
ambos negativos. Esta condición será manejada como la restricción en el
problema de optimización.
Así, la función f que será minimizada empleando la función constr de MATLAB,
estaría dada por la siguiente expresión:
Se realiza un cambio de variables, de tal forma que los parámetros de la RNA
están contenidos en el vector x , esto se debe a que MATLAB requiere que la
función este en términos del vector x.
La forma de la función de error f, para el ejemplo descrito esta dada por (funm):
% Función de error que se minimiza
f = 0.5 * (...
(x( 1O)/( 1+exp(-6.584247*~(2)-~(1
)))+x(l 1)I(1+exp(-6.584247*~(4)-~(3)))+...
x( 12)/(1+exp(-6.584247*~(6)-~(5)))+~(
13)/(1+exp(-6.584247*~(8)-~(7)))+...
~ ( 9-)3.613434)"2+ ...
(x(lO)/(I +exp(-7,242672*~(2)-x(l
)))+x( 11)I(1+exp(-7.242672*~(4)-~(3)))+...
x(l2)/( 1+exp(-7.242672*~(6)-~(5)))+~(
13)/(1+exp(-7.242672*~(8)-~(7)))+...
x(9)-4.177094)"2+ ...
(x(lO)/(I +exp(-7.966939'x(2)-x(l)))+x(l1)/(1+exp(-7.966939*~(4)-~(3)))+...
x( 12)/(1+exp(-7.966939'~(6)-~(5)))+~(13)/(
1+exp(-7.966939*~(8)-~(7)))+...
~ ( 9-)4.719238)"2+ ...
Apéndice A. Ejemplo de la opiimiración de los parómetros de una RNA
(x(lO)/(I +exp(-8.763633*x(Z)-x(l)))+x(l
l)/(l+exp(-8.763633'~(4)-~(3)))+
...
x( 12)/(1 +exp(-8.763633'~(6)-~(5)))+~(
13)/(1 +exp(-8.763633'~(8)-~(7)))+...
~ ( 9-) 6.244812)A2+...
(x(lO)/(I +exp(-9.574268*x(2)-x(l)))+x(l1)/(1
+exp(-9.574268*~(4)-~(3)))+...
x( 12)/(1 +exp(-9.574268*~(6)-~(5)))+~(
13)/(1 +exp(-9.574268*~(8)-~(7)))+..
.
~ ( 9-) 6.393890)A2);
% Restricciones no lineales
...
g = 0.0;
Las restricciones se incluyen como vectores de los límites inferiores y superiores
El vector de los parámetros iniciales que se optimizan es:
xo = [ 0.71588294817297
0.89284160814575
0.27310247022514
0.25476929556228
0.86560347774475
0.23235037062753
0.80487174411571
0.90839754344852
0.23189431811233
0.23931256446899
0.04975448407125
0.07838407477005
0.64081540987002]';
Empleando la función constr la solución al probiema esta dado por:
El vector solución esta dado por:
x = [ 0.06347019474110
0.00000000000000
0.00006418969283
O.12779590262248
-0.00133039001240
-0.14618531471238
0.00000000000000
-0.14464367523348
0.00607423357905
5.18972821136005
12.09350354975058
-13.68771654303776
-1 3.76957413744724 ]
Apéndice A. Ejemplo de la optimizacidn de los parbmelros de una RNA
El valor del error cuadrático medio es: 0.16042841611389 y se logra obtener en
930 iteraciones empleando el algoritmo de estimación paramétrica SQP.
En la tabla A.2 se muestran los valores de los pesos y umbrales de la red neuronal
artificial optimizados.
1
2
3
4
5
Pesos w
0.000000
0.127796
-0.146185
-0.144644
Pesos v
5.189728
12.093504
-13.687717
-13.769574
Umbrales
0.063470
0.000064
-0.00133
0.000000
0.006074
Se prueban los nuevos pesos en la RNA ésta proporciona las siguientes salidas
yrna(l) =
yrna(2)=
yrna(3) =
yma(4) =
Yrna(5) =
3.517504
4.248850
5.013891
5.806860
6.561194
El programa en MATLAB empleado es so1.m
clear all
CIC
% Vector de parámetros inicial
XO = [ 0.71588294817297
0.89284160814575
0.27310247022514
0.25476929556228
0.86560347774475
0.23235037062753
0.80487174411571
0.90839754344852
0.23189431811233
0.23931256446899
0.04975448407125
0.07838407477005
0.64081540987002]';
x=xo;
options = O;
% Restricciones
vlb = [O O O O -1000 -1000 -1000 4 0 0 0 O O O -1000 -1000];
v u b = [IO00 1000 1000 1000 O O O O 1000 1000 1000 O O];
A-6
.
_.
%Límite inferior
%Límite superior
NNE = 1; %no. de neuronas en la capa de entrada
NNI = 4; %no. de neuronas en la capa intermedia
NNS = 1; %no. de neuronas de la capa de salida
.
.o
.I
YOOptimiza la función f(x) descrita en el archivo fun.m
[x,options] = constr('fun'.x,options,vlb,vub);
% Una solución a este problema a sido encontrada en:
.fprintf('x = %nn',x)
% El valor de la función en el punto solución es:
fprintf('f = %nn',options(8))
YO El número total de iteraciones fue:
fprintf('1teraciones = %Rn'.options( 1O))
% Asigna pesos y umbrales de la capa intermedia en el vector de umbrales (b) y en el de
pesos (P)
cont=l ;k=l ;
for(j=l :"I)
%no. de umbrales
b(j) = x(cont);
cont=cont+l;
for(i=l:NNE)
%no de entradas
p(k) = x(cont);
cont=cont+l ;k=k+l;
end
end
% Asigna pesos y umbrales de la capa de salida en el vector de umbrales (b) y en el de
pesos (PI
j= NNI+NNS;
b(j) = x(cont);
cont=cont+l;
for(i=l:NNI) %no de entradas
p(k) = x(cont);
cont=cont+l ;k=k+l;
end
Escribe en el archivo pesos.ide el vector solución de pesos
pesos = fopen('pesos.ide','w');
fprintf(pesos,'%nn',p);
fclose(pesos);
o/o
Yo Escribe en el archivo bias.ide el vector solución de umbrales
bias = fopen('bias.ide','w');
fprintf(bias.'%nn', b);
fclose(bias);
A-I
Ap<’ndice A. Ejcmplo de la oprimiración de los parameiros dc una RNA
..
A-8
Apéndice B
$
6.1 Programa de comunicación
En este apéndice, se explica los archivos que se generan y los' que se requieren
para lograr la comunicación entre la dos computadoras personales con las que es
necesario implementar la adquisición y control de los sistemas expuestos en este
trabajo de tesis.
Una de las computadoras es denominada servidor y la otra cliente. Se cuenta con
un programa de comunicación bajo la plataforma de Labwindows. El proyecto que
la ruta
se maneja en
PC-Cliente se encuentra ubicado en
c:\atarjeta\cliente\tcpclntf.prj. mkntras que el que en la PC-Servidor se encuentra
ubicado en: c:\atarjeta\servidoAtcpserv.prj .
Cuando se ejecuta el programa del cliente en la PC-Cliente, se tiene que dar la
dirección TCP/IP de la PC-Servidor y también una dirección de memoria, en
nuestro caso se le otorgaba la dirección 3000, que corresponde a la misma de la
de PC-Servidor. Cuando se ejecuta el programa del servidor en la PC-Servidor, se
teclea la misma dirección de memoria que se le dió a la PC-Cliente y entonces se
establece la comunicación entre ambas máquinas.
Apéndice A. Ejemplo de la oprimizacidn de los parametros de una RNA
8.1.1 Conexión cliente-servidor
Una vez que se establece la comunicación, la PC-Cliente envía un vector con el
conjunto de datos entrada-salida de la planta. Este vector tiene una dimensión fija
de 500 posiciones, en donde se almacenan los parámetros que se estiman del
neuroidentificador, por lo que sblo se emplean algunas de estas posiciones para
almacenar dato y en la posición 450 del vector que envía PC-Cliente. se tiene la
información acerca del número de datos del conjunto entrada-salida a usar en el
entrenamiento (patrones de entrenamiento), de tal forma que la PC-Servidor sabe
cuántos datos ha recibido. Este conjunto de datos se encuentra almacenados en
el archivo c:\atarjeta\matlab\data.dat de PC-Cliente; el primer número del archivo
indica el número total de renglones y el segundo número indica el total de
columnas de datos que contiene el archivo, de tal forma que la PC-Cliente sabe la
longitud del vector de datos que envía a la PC-Servidor.
Con este vector de datos, la PC-Servidor genera un archivo
c:\atarjeta\rnatlab\fun.m, el cual contiene la ecuación de la función que será
minimizada. Este proceso se lleva a cabo cada 3 segundos.
, Mientras se realiza lo anterior, el programa c:\atarjeta\matlab\sol.m de la PC-
Servidor, puede estar ejecutándose bajo MATLAB v.5.01. El programa se inicializa
con valores aleatorios en el vector solución. Como la función que minimizará debe
estar contenida en el archivo c:\ atarjeta\matlab\fun.m checa si éste se encuentra
vacío. Si esto sucede, entra en un ciclo de espera hasta que detecta que el
archivo c:\ ...\fun.m contiene la función que se va a minimizar y la solución es
almacenada en c:\.atarjeta\matlab\ini.m.
Cada vez que la función cambia, se guarda en un archivo c:\atarjeta\matlab\a-#.m,
donde # = 0,1,2, ...n,
con el fin de ir almacenando los modelos que se fueron
resolviendo, así como el vector solución para cada uno de ellos. Esto con el
objetivo de analizar los datos con los que se entrena cuando surge algún problema
como el que no sea posible encontrar un modelo adecuado.
I
-
_
6.1.2 Conexión servidor-cliente
Cuando se ha encontrado la solución del problema, es decir se han estimado los
parámetros del neuroidentificador, la PC-Servidor lee del archivo
c:\.atarjeta\matlabkini.m el vector solución y lo escribe al cliente. El cliente lo lee y
lo almacena en un vector. Sin embargo, es necesario que el vector solución sea
separado en pesos y umbrales del neuroidentificador, así que la PC-Cliente realiza
este proceso y almacena los pesos en el archivo c:\atarjeta\rnatlab\pesos.ide y los
umbrales en el archivo c:\atarjeta\matlab\bias.ide del cliente. Los archivos
c:\ ...\pesos.ide y c:\ ...\bias.ide contienen en su primer línea el número 31, el cual
indica que el archivo contiene ya todos los pesos y umbrales del
neuroidentificador. Esto es debido a que el programa general de RNA en algún
B -2
momento necesita leer tales archivos y si éstos se encuentran vacios (ésto sucede
sólo mientras el cliente guarda a disco los datos que ha recibido) espera hasta que
el archivo que contienen los datos esta grabado, esto lo hace checando que la
primer línea del archivo se igual a 31.
B.2 Programa general de RNA
El programa general de RNA, se encuentra en la ruta c:\atarjeta\easyio\aowave.prj
de la PC-Cliente. Los parámetros del neuroidentificador se encuentran en la ruta
c:\atarjeta\matlab\pesos.ide y c:\atarjeta\matlab\bias.ide. Los parámetros del
neurocontrolador
se
encuentran
en
c.\atarjeta\easyio\pesos.con
y
c:\atarjeta\easyio\bias.con.
La adquisición de los datos de la planta se realiza en el programa
c:\atarjeta\easyio\ai-async.c y el envio de los datos se lleva a cabo en
c:\atarjeta\easyio\ao_async.c . Estos archivos, son una modificación de los
programas originales de LabWindows.
B-3
I
B-4
.
'.
Apéndice C
C.l Metodología propuesta para identificar una planta
SISO usando redes neuronales artificiales
Con base en la experiencia adquirida en el desarrollo de este trabajo de tesis, se
propone la siguiente metodología para realizar la identificación de una planta
usando redes neuronales artificiales (neuroidentificador).
1. Determinar la dinámica de la planta con base en la variable de interés, es decir,
cuando la variable es temperatura la dinámica de la planta es lenta, mientras
que en el caso de variables de fluido, presión, velocidad, etc., la dinámica es
rápida.
Si la dinámica de la planta es lenta y además presenta un retardo de
tiempo tal como el intercambiador de calor, es muy probable que presente
dos comportamientos distintos para una misma señal de entrada. Este
conjunto de datos la RNA no los puede aprender, por lo que se
recomienda emplear un esquema de identificación serie-paralelo, usando
como entradas a la RNA la señal de control, u,,,, ( k ) , y la señal de salida
de la planta retardada en una unidad de tiempo, yD,="(k-1).
Si la dinámica de la planta es rápida, es recomendable usar un esquema
de identificación paralelo, de tal forma que la entrada a la RNA es la señal
de control, u,, ( k ) .
2. Usar una RNA estática con una configuración simple en la capa intermedia, se
recomienda usar de tres a cuatro neuronas con el fin reducir la cantidad y el
tiempo de cómputo para estimar los parámetros en la RNA. Proponer utilizar
una neurona en la capa de salida mientras que el número de neuronas en la
capa de entrada depende de la dinámica del sistema como se mencionó
anteriormente.
3. Aplicar a la planta una señal de excitación tipo rampa con el fin de distribuir sus
datos de salida, los cuales (conjunto de datos entrada-salida) serán empleados
como patrones de entrenamiento representando un elemento primordial en la
etapa de aprendizaje de la RNA. Una buena distribución de los datos a lo largo
de toda la región de trabajo radicará en una mejor identificación de la dinámica
de la planta.
4. Se recomienda emplear una cantidad de datos de entrenamiento mayor a diez,
los cuales representen la región de operación de la planta, de esta forma se
asegura que el neuroidentificador logre copiar la dinámica de la planta además
de las no linealidades que pudieran existir en el comportamiento de la misma.
5. Si los datos de entrenamiento de la RNA varían, por ejemplo, en el rango de O
a 100 unidades, se recomienda normalizarlos a un rango de O a 1 y la
separación entre ellos (Idato(k - 1) -dato(k - 2)1< 5% ) se recomienda que sea
de un 5% al 10%. Si el rango de los datos varía de O a ' l 0 , es posible trabajar
directamente con ellos teniendo una separación de 0.5 unidades. ...
6. El siguiente paso es entrenar la RNA con el conjunto de datos entrada-salida
(patrones de entrenamiento) obtenidos. Si no se logra el comportamiento
deseado, agregar más datos al conjunto de entrada-salida y entrenar
nuevamente a la RNA.
7. Si aún así no se logra obtener el comportamiento deseado, entonces será
necesario agregar neuronas en la capa intermedia de la RNA, pero con ello se
aumenta el número de parámetros de la RNA que se estiman, es por ésto que
mientras más sencilla sea la estructura de la RNA, se tiene un menor número
de parámetros-a estimar y es menor el tiempo de cómputo para realizar el
aprendizaje de la RNA. Continuar agregando neuronas en la capa intermedia
hasta lograr copiar la dinámica de la planta.
e-2
Referencias
[ l ] Narendra, K. "Neural network for control theory and practice", Proceedings of
the /€€E, vol. 84, no. 10, pp. 1385-1406, 1996.
[2] lsidori Alberto, Nonlinear Control Systems, introduction, Springer-Verlag third
edition, 1995.
[3] Khalid Marzuki, Omatu S. and Yusof R.. "Temperature regulation with neural
networks and alternative control schemes", /€€E Transactions on Neural
Networks, vol. 6, no. 3, pp.572-582, 1995.
2
[4] Alves da Silva A.P., et al.. "A nonparametric neural networks for adaptive real
time control '", /€€E lnternational Conference on Systems, Man and
Cybernetics. vol. 3, pp. 2488-93, 1995.
[5] Narendra op.cit. p.1385
[6] Idem p.1401
[7] Rao D.H., "Neural networks in robotics and control: some perspectives",
/€E€ lnternational
.
Conference on lndustrial Automation and control, p.451,
1995
[8] lsidori Alberto, op.cit. p.5
[9] Khalid Manuki, op.cit. pp.572-582.
[IO] Young-Moon, Myeon-Song Choi, Kwang Y. Lee, "An optimal tracking neurocontroller for nonlinear dynamic systems", /€E€ Transactions on neural
networks, vol. 7, no. 5, p.1099, 1996.
[ll]Hilera José y Martínez Victor J., Redes neuronales artificiales.
Fundamentos, modelos y aplicaciones, fundamentos de las redes
neuronales, Addison-Wesley Iberoamericana, Madrid, España 1995. p.45
[12] Rao D.H. op.cit., p.451
[I31 Idem
[I41 Hilera José op.cit. p.45
[I51 Idem p.46
[I61 Ibidem, p.49
[I71 Hunt K.J. et al.. "Neural networks for control systems-A survey",
Autmáfica(/FAC), vo1.28, no.6, p.1086, 1992
[I81 Jin Liang and Madan M. Gupta, "Dynamic feedback control of unknown
nonlinear systems using dynamic neural networks", /€E€ lnternafional
conference on systems, man and cybernetics. lnteligent systems for the 21"
century, vol 2, p. 1261, 1995
[I91 Hunt K.J., op.cit. p.1087
[20] Hernandéz Reyes A,, "Neuro-observador de flujo magnético para el control de
flujohelocidad de un motor de inducción" (Tesis de maestría en ciencias en
ingeniería electrónica), Centro Nacional de Investigación y Desarrollo
Tecnológico, Cuernavaca, Morelos, 1997, p. 2-2
[21] Hunt K.J., op.cit. p. 1087
[22] Rao D.H., op.cit., p.451
[23] Parra Hernández R. "Sistema de control supervisorio y control de velocidad
para una turbina de gas basado redes neuronales artificiales'' (Tesis de
maestría en ciencias en ingeniería electrónica), , Centro Nacional de
Investigación y Desarrollo Tecnológico, Cuernavaca, Morelos, 1996, p.2-4.
[24] Rao D.H., op.cit., p.451
[25] Parra Hernández R. op.cit. p.2-4.
[26] Chao-Che Ku and Kwang Y. Lee "Diagonal recurrent neural networks for
dynamic systems control", /€€E Transactions O R neural networks. vo1.6, no.1,
p.144,1995
[27] Jin Liang, op.ct. p. 1261
[28] Idem
[29] Chao Che Ku, op cit. p.144
[30] Hunt K.J., op.cit, p.1084
[31] Alves da Silva, op.cit. p.2488
[32] Idem
[33] Ibidem
[34] Hunt K.J. and Sbarbaro D.. "Neural networks for nonlinear internal model
control", /€E€ Proccedings-D, ~01.138,no.5. p.431, 1991
[35] Narendra, K.op.cit. p.1400
I .
[36] Hunt K.J.. op.cit., p.1101, 1996
[37] Xianzhong Cui y Kang G. Shin, "Direct control and coordination using neural
networks". /E€€ Transactions on systems, man and cybernetics, vo1.23, no.3,
p.686, 1993
1381 Hernandez Reyes A,, op.cit. pp. 3.3-3.5
[39] Idem pp.3.6-3.15
[40] Ergezinger S. and Thomsen E., "An accelerated learning algorithm for
multilayer perceptrons: Optimization layer by layer" /€E€ Transactions on
neural network, vol 6, no.1, pp.31,33, 1995.
[41] Narendra K. and Parthasarathy., "Identification and control of dynamic
systems using neural networks", /E€€ Transactions on neural networks, vol.
1. no. 1, p. 5, 1990.
[42] Idem
[43] Ibidem p.6
-
[44] Sjoberg J. and De Raedt P., "Nonlinear systems identification: a software
concept and examples", In 'Proceedings lFAC Symposium on Identification,
Japan, p.3, 1997.
[45] Narendra K., pp. 13.14 1990
[46] Hunt K.J., et a/. ."Neural Networks for control systems-. A survey",
Automatica(lFAC), vol 28, no.6, pp.1097,1098, 1992
[47] Henson Michael A. and Seborg Dale E., "Nonlinear Process Control", Chapter
7, Prentice-Hall 1997,. pp. 378-380
[48] Hernández Reyes A,, op.cit., pp. 3.3-3.5
[49] Manual del intercambiador de calor RCT 100, GRUPO DIDATEC Ingeniería
Pedagógica y Didáctica, S.A. de C.V.
[50] Stephanopoulos G.. Chemical Process Control-An introduction tolheory
and Practice, Chapter 30, Prentice-Hall 1984, p.639
[51] ft~://ft~.sas.mm/~ub/neural/FAQ3.html/questions
[52]TecQuipment Limited, "CEI 10 Servo Trainer Guide Reference",
PWIPElajpIOl97, Distribuido en Mexico por: Harry Mazal, S.A. de C.V. con
dirección en Laguna de Tamiahua No. 204, Col. Anáhuac, 11320, México, D.F.
e-mail: [email protected]
1
[53] Idem
[54] Astrom Karl J., "Computer Controlled Systems-Theory and Design", Chapter 6,
Prentice-Hall, 1984, p.187.
[55] Stephanopoulos G., op.cit. p.640
[56] Narendra K., op.cit., p.6. 1990
[57] Hunt K.J., op.cit., p.1101. 1992
[58] Xianzhong Cui, op.cit. p.688.
[59] Drucker Harris and Yann Le Cun, "Improving Generalization Performance
Using Double Backpropagation", /€E€ Transactions on Neural Networks, vo1.3,
no.6, p.991, 1992.
[60] Young-Moon op.cit., p.1103.
[61] Hunt K.J., op.cit., p.688, 1991
[62] Chao-Che Ku,op.cit., p.147
[63] Lennari Ljung, System Identification: Theory for the User, Chapter 10
Computing the estimate, Prentice-Hall, 1987, p.295
[64] Hernandez Reyes A,. op.cit. p. 3.7
[65] Himmelblau D.M. and Edgar T.F., Optimization of chemical process,
Chapter 1 , p. 4-14, McGraw-Hill 1989
[66] Brian D. Bunday, Basic Optimisation Methods, Part I Unconstrained
Optimization-Chapter 1, Edward Arnold Ltd, pp.4-7 1985
R-4
.
.
.- .
,
[67] Hirnrnelblau D.M., op.cit. p.300
[68] http://www-fp.rncs.anI.qov/otc/GuidelO~tWeblcontinuous/constrained/,..
nonlinearcon/
[69] Panier Eliane R and Tits André L.. "On Combining Feasibility, Descent and
Superlinear.Convergence in Inequality Constrained Optimization", pp.2,3 "
[70] Idern pp.1-15
[71] flp://plato.la.asu.edu/pub/donlp2/README.donlp2
[72] Hirnrnelblau D.M., op.cit. pp.221,222
[73] Idern
[74] Brian D. Bunday, op.cit. p.83
~
[75] Hirnrneiblau D.M., opcit. pp. 208-213
[76] Grace Andrew, Optimization Toolbox for use with MATLAB, User's
Guide,
_._
Section 2, pp.2.26-2.32, The Math Works Inc, 1994.
[77] Chao-Che Ku, op.cit. pp145-147
[78] Hernandez Reyes A,, op.cit. pp. 3.3-3.5
[79] AT-M10-16X User Manual, National Instruments, 1994 Edition Part number
320640-01
[80] LabWindowslCVl User Interface Reference Manual, National Instruments,
1998
[81] TecQuipment Limited, CEllO Servo Trainer Guide Reference, Section 5, pp.
5.9-5.10.
[82] Astrorn Karl J., op.cit. p.187
[83] Stephanopouios G., op.cit. p. 639
[84] Grace Andrew, op.cit. pp 1.13-1.15,2.22-2.32.3.9-3.12
SEI'
CENEDET DGIT
CEI\I$RO DE BNFBRMACIBN
99- 0555
R-5
~
Referencias
Bibliografía
Alves da Silva A.P. et al., "A nonparametric neural networks for adaptive real time
control ", /E€€ lnternational Conference on Systems, Man and Cybernetics. vol. 3,
pp.2488-2493. 1995.
Astrom Karl J., Computer Controlled Systems-Theory and Design, Chapter 6.
Prentice-Hall, 1984, p.187.
AT-MIO-16X User Manual, National Instruments. 1994 Edition
320640-01
Part number
Bunday Brian D., Basic Optimisation Methods, Part I Unconstrained Optimization
Edward Arnold Ltd, pp.4-7, 1985
2
Chao-Che Ku y Kwang Y. Lee "Diagonal recurrent neural networks for dynamic
systems control", /€€E Transactions on neural networks, vo1.6, no.1, pp.144155,1995
Drucker Harris and Yann Le Cun, "Improving Generalization Performance Using
Double Backpropagation", /€E€ Transactions on Neural Networks, vo1.3. no.6,
pp.991, 1992.
Ergezinger S. and Thomsen E., "An accelerated learning algorithm for multilayer
perceptrons: Optimization layer by layer" /€E€ Transactions on neural network, vol
6, no.l, pp.31-42, 1995.
ftp://ftp.sas.com/pu b/neural/FAQ3.html/questions
Grace Andrew, Optimization Toolbox for use with MATLAB, User's Guide, The
Math Works Inc, 1994
Henson Michael A. and Seborg Dale E., Nonlinear Process Control, Chapter 7,
Prentice-Hall, 1997
.~
Hernández Reyes A., "Neuro-observador de flujo magnético para el control de
flujo/velocidad de un motor de inducción" (Tesis de maestría en ciencias en
BibliograJia
ingenierla electrónica), Centro Nacional de Investigación y Desarrollo Tecnol6gico.
Cuernavaca, Morelos, 1997, pp.2.1-2.18
Hilera José y Martinez Víctor J., Redes neuronales artificiales. Fundamentos,
modelos y aplicaciones, Fundamentos de las redes neuronales. AddisonWesley Iberoamericana, Madrid, EspaAa 1995
Himmelblau D.M. and Edgar T.F. Optimization of chemical process, McGrawHill 1989
Hunt K.J., et al. "Neural networks for control systems-A survey", Autmática(lfAC),
vo1.28, no.6, pp.1083-1111, 1992.
Hunt K.J. and Sbarbaro,D., "Neural networks for nonlinear internal model control",
/€E€ Proccedings-D, vol.138, no.5, pp.431-438, 1991
httD://www-fo.mcs.anI.qov/otc/Guide/OptWeb/continuous/constrained/...
nonlinearconl
lsidori Alberto, Nonlinear Control Systems, Introduction. Springer-Verlag third
edition, 1995.
_I_
Jin Liang and, Madan M. Gupta, "Dynamic feedback control of unknown nonlinear
systems using dynamic neural networks", /E€€ international conference on
systems, man and cybernetics. lnteligent systems for the 21'' century, vol 2, pp.
1261-1266,2995
Khalid Marzuki, Omatu S. and Yusof R., "Temperature regulation with neural
networks and alternative control schemes", /E€€ Transactions on Neural
Networks, vol. 6, no. 3, pp.572-582, 1995.
LabWindowslCVl User Interface Reference Manual, National Instruments, 1998
Lennart Ljung, System Identification: Theory for the User, Chapter 10, PrenticeHall, 1987
Narendra K. and Parthasarathy. "Identification and control of dynamic systems
using neural networks", /€E€ Transactions on neural nehuorks, vol. 1. no. 1. p. 5,
1990.
Narendra. K. "Neural network for control: theory and practice", Proceedings of the
/€€E,vo1.84. no. 1O, pp.1385-1406, 1996.
. *,,
Panier Eliane R. and Tits André L., "On combining feasibility, descent and
superlinear convergence in inequality constrained optimization", pp.1-15.
s-2
BibliograJia
Parra Hernández R. “Sistema de control supervisorio y control de velocidad para
una turbina de gas basado redes neuronales artificiales” (Tesis de maestría en
ciencias en ingeniería electrónica), Centro Nacional de Investigación y Desarrollo
Tecnológico, Cuernavaca, Morelos, 1996.
Rao D.H. “Neural networks in robotics and control: some perspectives”, /€€E
International Conference on lndustrial Automation and control, pp.451-456,1995
Sjoberg J. and De Raedt P., “Nonlinear systems identification: a software concept
and examples”, In Proceedings lFAC Symposium on identification, Fukukoka,
Japan 1997.
Stephanopoulos G., Chemical Process Control-An introduction toTheory and
Practice, Prentice-Hall 1984
TecQuipment Limited, C E l l O Servo Trainer Guide Reference, PW/PE/ajp/O197
Xianzhong Cui y Kang G. Shin, “Direct control and coordination using neural
networks”, /€E€ Transactions on systems, man and cybernetics, vo1.23, no.3,
pp.686-697, 1993
Young-Moon, Myeon-Song Choi, Kwang Y. Lee, “An optimal tracking neurocontroller for nonlineal dynamic systems”, /€E€ Transactions on neural networks,
vol. 7, no. 5, pp.1099-1110, 1996.
Bibliografía
.
s-4
.
Descargar