Control de Un Motor de CD Mediante El Uso de Control Inteligente
-
Upload
marco-castillo -
Category
Documents
-
view
19 -
download
1
description
Transcript of Control de Un Motor de CD Mediante El Uso de Control Inteligente
INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROLINTELIGENTE
TESIS
Que para obtener el título de
INGENIERO EN COMUNICACIONES Y ELECTRÓNICA
PRESENTAN:
JULIETA AGUILERA MUÑOZDAVID HERNÁNDEZ PÉREZ
ASESORES:
DR. JULIO CESAR TOVAR RODRÍGUEZDR. CARLOS ROMÁN MARIACA GASPAR
DR. RODRIGO LÓPEZ CÁRDENAS
MÉXICO, D.F. a 07 de JUNIO 2012
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE AgradecimientosJ.A.M.
4
AGRADECIMIENTOS
JULIETA AGUILERA MUÑOZ
Son tantos los sentimientos encontrados al ver concluida mi meta, que echando un vistazo para
atrás me doy cuenta que llegar hasta aquí no fue fácil, hubo desvelos, preocupaciones, tristezas,
enojos; pero también hubo alegrías, amor, aprendizaje, nuevos amigos, y sobre todo, ese apoyo
de las personas que sé que siempre estarán a mi lado.
A mis padres,
Por ser orgullosamente su hija, que me guiaron y motivaron en todo momento, que estuvieron
conmigo en cada desvelo, que me inculcaron todos los valores necesarios y por todo el apoyo que
me han brindado.
A mi hermano,
Por su preocupación, consejos y estar siempre al pendiente de mi madurez.
A mi novio,
Por estar conmigo en todo momento, apoyar mis decisiones, perdonar mis errores, aguantar mis
altibajos y sobre todo por darme tanto amor para seguir adelante superando los obstáculos.
A mis amigos,
Que siempre me han apoyado en las buenas y malas decisiones que he tomado, pero sobre todo
por todo el cariño y amor recibido.
A mis asesores,
Por su tiempo, paciencia, dedicación y comprensión.
Al IPN,
Por abrirme las puertas a esta maravillosa institución y cobijarme, pero sobre todo a la ESIME,
que me brindo todo lo necesario para llegar hasta aquí y a la que le debo el aprendizaje recibido.
GRACIAS…
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE AgradecimientosD.H.P.
5
DAVID HERNÁNDEZ PÉREZ
“Reír a menudo y mucho; ganar el respeto de gente inteligente y el cariño de los niños, conseguir
el aprecio de críticos honestos y aguantar la traición de falsos amigos; apreciar la belleza, encontrar lo
mejor en los demás; dejar el mundo un poco mejor, sea con un niño saludable, una huerta, un libro o una
condición social remitida; saber que por lo menos una vida ha respirado mejor porque tú has vivido. Eso
es tener éxito”… Ralph Waldo Emerson
El que este trabajo haya sido iniciado y culminado es resultado de todos mis esfuerzos, desvelos y
sacrificios realizados. Pero es gracias a que nunca estuve solo y por tanto este trabajo se lo dedico a toda la
gente que me ha brindado su apoyo incondicional (Familiares, Amigos y Profesores, tanto los presentes
como a los que por una u otra circunstancia han quedado atrás más jamás en el olvido), ya que sin este,
esta meta nunca podría haber sido alcanzada… Este logro es de ustedes!!!
Gracias a todos…
A mi mamá,
Marisela, a quien debo todo incluyendo lo más valioso que tengo… la vida. Por tu infinito amor,
paciencia, comprensión, dedicación, ternura, por sacrificar tu vida en mí, por hacer de mi tu mejor
creación, por llenarme de orgullo y motivación así como por ser un modelo a seguir, por mostrarme el
camino hacia la superación en base al conocimiento, por tu amistad y confianza, por tu apoyo
incondicional, en fin, absolutamente todo te lo debo a ti y tu sola existencia se la agradezco a Dios pues
tenerte como madre ha sido su mejor regalo.
A mi familia,
Quiero agradecer profunda y sinceramente a todos: Agüe, Moña, Tio Rani, Tio George, Citlali;
por inspirarme y hacer de mí un hombre de bien con su apoyo moral que desde siempre me han brindado y
con el cual he logrado terminar una carrera profesional que junto con sus enseñanzas, amor y existencia
son para mí las mejores de las herencias.
A Dios y mi Niña,
Por brindarme su cuidado y protección día con día, por aportarme las herramientas necesarias para
lograr mis metas, por su amor y apoyo y sobre todo por permitirme terminar esta etapa de mi vida con
salud y bienestar.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE AgradecimientosD.H.P.
6
A mi novia,
July, por abrirme tu corazón y permitirme compartir a tu lado una de las mejores etapas de mi
vida, por apoyarme y estar conmigo en las buenas y en las malas, por impulsarme a ser mejor y
superarme, por tu gran amor y paciencia, por comprenderme, tolerar mis arranques, por festejar mis
aciertos y sufrir mis derrotas, por llenar de bellos momentos mi vida y mi paso por esta institución… Este
es el primero de nuestros logros y sueños realizados juntos mi vida!!!
A mis amigos,
En especial a Charly y a Arturo (Cheyenne), por su cariño, por estar ahí cuando más he necesitado
de ustedes, por compartir momentos de alegría, coraje y tristeza, por tolerar mis arranques, disculpar mis
errores y aceptarme tal como soy y por impulsarme a ser mejor día a día.
A mis profesores,
Por aportarme nuevos y valiosos conocimientos. En especial a nuestros directores de tesis los
Doctores Julio Tovar, Carlos Mariaca y Rodrigo López, por brindarnos el material necesario para la
realización de este trabajo y aún más, por su tiempo, apoyo, dedicación y amistad.
Al IPN y a la ESIME,
Por abrirme las puertas, darme una oportunidad en esta gran institución y brindarme los espacios
para concluir mis estudios de ingeniería y así superarme para servir a los demás.
Gracias a todos ustedes, pues son gente de éxito y con su ayuda también yo lo soy… Los AMO!!!
Dicen que toda gloria es efímera, sin embargo he aprendido de todos ustedes que para trascender
no solo basta con un solo logro, hay que luchar día a día para ser mejores y conseguir éxitos diarios.
Por último, a todos aquellos que lean este trabajo y pudieran encontrar una inspiración en él o bien
su contenido les sea de ayuda, de igual manera gracias pues habré cumplido mi cometido, recuerden que:
“Habrá dos fechas en tu tumba, todos tus amigos las leerán. Pero lo relevante será ese pequeño
guión entre ellas”… Kevin Welch.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE ÍndiceGeneral
7
Índice General
Objetivo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1 Introducción a las redes neuronales artificiales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.1 Elementos de una red neuronal artificial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2 Función de salida o de transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.3 Topología de las redes neuronales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.1 Redes mono capa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.3.2 Redes multicapa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4 Mecanismo de aprendizaje. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.4.1 Aprendizaje “corrección por error” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.4.2 Aprendizaje Hebbiano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.4.3 Aprendizaje competitivo y cooperativo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.4.4 Aprendizaje supervisado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.4.5 Aprendizaje no supervisado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5 El perceptrón . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.5.1 Ley de aprendizaje del perceptrón. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.6 El perceptrón multicapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251.6.1 Aprendizaje del PMC- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.6.1.1 Pasos para el cálculo del algoritmo BP . . . . . . . . . . . . . . . . . . . . . . . . 261.6.2 Algoritmo BP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.7 Método diagramático y red adjunta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321.7.1 Representación en diagramas de bloques de la RN . . . . . . . . . . . . . . . . . . . . . . 331.7.2 La red adjunta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341.7.3 Deducción del algoritmo BP utilizando el método diagramático. . . . . . . . . . . . . . 36
1.8 Teorema universal de aproximación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2 Redes Neuronales Recurrentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.1 Red de Hopfield. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.2 Red Neuronal Recurrente Entrenable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.2.1 Propiedad de Observabilidad de la RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.2.2 Propiedad de Controlabilidad de la RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462.2.3 Aprendizaje de la RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472.2.4 Estabilidad de la RNRE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3 Identificación y control de sistemas utilizando RN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.1 Identificación de sistemas utilizando RN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.1.1 Identificación de sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.1.2 Identificación con Redes Neuronales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583.1.3 Identificación con Redes Neuronales Recurrentes . . . . . . . . . . . . . . . . . . . . . . . 61
3.2 Control de un motor utilizando RNRE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.2.1 Sistemas de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.2.1.1 Sistemas de control en el espacio de estados . . . . . . . . . . . . . . . . . . . 633.2.1.2 Sistemas de control adaptable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.2.1.3 Control adaptable directo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE ÍndiceGeneral
8
3.2.2 Control adaptable usando redes neuronales recurrentes entrenables. . . . . . . . . 673.2.2.1 Control adaptable directo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4 Simulaciones y Resultados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.1 Motor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.1.1 Cálculo de los parámetros del motor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.1.2 Modelo matemático del motor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.1.3 Representación de la F.T. en Espacio de Estados. . . . . . . . . . . . . . . . . . . . . . . 734.1.4 Controlabilidad y Observabilidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.1.5 Error en estado estacionario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.1.6 Cambio de polos del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.2 Control de velocidad del motor con PID (Simulación). . . . . . . . . . . . . . . . . . . . . . . . . . . 804.3 Control de velocidad del motor con Control Inteligente ‘RNRE’ (Simulación). . . . . . . . . 844.4 Control de velocidad del motor con PID (Pruebas físicas). . . . . . . . . . . . . . . . . . . . . . . . 924.5 Control de velocidad del motor con Control Inteligente ‘RNRE’ (Pruebas físicas). . . . . . 94
5 Conclusiones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Trabajos futuros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Apéndice A ”Motor”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iA.1 Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iA.2 Motor de Corriente Directa (C.D.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iA.3 Funcionamiento de un motor de C.D. con escobillas. . . . . . . . . . . . . . . . . . . . . . . . . . ii
Apéndice B ”Sensor”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iiiB.1 Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iiiB.2 Sensores de desplazamiento y rotación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
B.2.1 Sensores basados en efecto Hall. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Apéndice C ”PWM”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vC.1 Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vC.2 Funcionamiento del PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Apéndice D ”Control PID” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viD.1 Control Proporcional (P) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viD.2 Control Proporcional – Integral (PI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viD.3 Control Proporcional – Derivativo (PD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiD.4 Control Proporcional Integral Derivativo – (PID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Apéndice E ”Imágenes del sistema físico utilizado”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Apéndice F ”Diagramas de flujo de los programas en los microcontroladores”. . . . . . . . . . xi
Apéndice G ”Manuales de referencia y Hojas de especificaciones”. . . . . . . . . . . . . . . . . . . . . xvi
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Índice deFiguras
9
Índice de Figuras
1.1 Modelo no lineal de una j-ésima neurona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2 Funciones de activación: (a) identidad, (b) escalón, (c) saturación, (d) sigmoide, (e)
tangente hiperbólica, (f) gaussiana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3 Red neuronal Mono capa conectada completamente . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4 Diferentes Topologías Multicapa de Redes Neuronales Artificiales. (a) Un
perceptrón multicapa (MLP) conectado completamente. (b) Un MLP modular. (c)
Una red recurrente conectada completamente. (d) Una red recurrente conectada
parcialmente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5 Diagrama a bloques del aprendizaje supervisado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.6 Diagrama a bloques del aprendizaje no supervisado. . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.7 Diferentes arquitecturas de un PMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.8 Detalles de una neurona j de la capa de salida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.9 Propagación del error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.10 Gráfica de la conexión entre dos neuronas. La i-ésima neurona de la capa oculta
conectada a la j-ésima neurona de la capa de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.11 Descripción gráfica de las partes de una red neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.12 Diagrama de una RN de tres capas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.13 Red Adjunta deducida a partir de la Red Neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.14 Diagrama representativo de una RN y el esquema de la RA. . . . . . . . . . . . . . . . . . . . . . 37
2.1 RN de Hopfield en tiempo discreto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.2 Ejemplo de RNRE con tres entradas, tres salidas y tres nodos en la capa oculta. . . . . . 42
2.3 (a) Diagrama a bloques de una RNRE. (b) Diagrama a bloques de la red adjunta de
una RNRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1 Modelos de Identificación. (a) Modelo I. (b) Modelo II. (c) Modelo III. (d) Modelo IV . . 60
3.2 Identificación dinámica de una planta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.3 Esquema básico de un sistema de control adaptable. . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.4 Esquema de Control Adaptable Directo por Modelo de Referencia. . . . . . . . . . . . . . . . . 66
3.5 Diagrama a bloques para un sistema de control directo adaptable de seguimiento de
trayectoria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.6 Diagrama de bloques para un sistema de control adaptable directo utilizando tres
RNRE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.1 Motorreductor metálico con relación de engranaje 131:1. . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2 Dimensiones del motor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.3 (a), (b), (c), (d) y (e) Álgebra de bloques empleada desde el concepto básico de
máquina eléctrica para determinar la función de transferencia del motor. . . . . . . . . . . . 74
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Índice deFiguras
10
4.4 Función de transferencia del motor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.5 Retroalimentación de estado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.6 Control PID: (a), (b) comparación entre la señal de referencia y la señal de entrada . . . 81
4.7 Control PID: Señal de control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.8 Control PID: (a) Error en estado estacionario, (b) Error cuadrático medio (RMS). . . . . . 83
4.9 Control directo adaptable con tres RNRE´s: (a), (b) Comparación entre la señal de
referencia y la señal de salida de la planta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.10 Control directo adaptable con tres RNRE´s: (a) Señal de Control ff, (b) Señal de
control fb. (c) Señal de control total. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.11 Control directo adaptable con tres RNRE´s: Error instantáneo de Control. . . . . . . . . . . 87
4.12 Control directo adaptable con tres RNRE´s: Error Cuadrático Medio de control. . . . . . . 88
4.13 Control directo adaptable con tres RNRE´s: (a), (b) Comparación entre la señal de
salida de la planta y la señal de identificación de la planta controlada. . . . . . . . . . . . . . 89
4.14 Control directo adaptable con tres RNRE´s: (a) y (b) Estados identificados de la planta. 90
4.15 Control directo adaptable con tres RNRE´s: Error instantáneo de Identificación. . . . . . . 90
4.16 Control directo adaptable con tres RNRE´s: Error Cuadrático Medio de identificación. . 91
4.17 Control PID: (a), (b) comparación entre la señal de referencia y la señal de entrada . . . 93
4.18 Control PID: Error cuadrático medio (RMS). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.19 Control directo adaptable con tres RNRE´s: (a), (b) Comparación entre la señal de
referencia y la señal de salida de la planta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.20 Control directo adaptable con tres RNRE´s: (a) Señal de Control ff, (b) Señal de
control fb. (c) Señal de control total. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.21 Control directo adaptable con tres RNRE´s: Error Cuadrático Medio de control. . . . . . . 97
4.22 Control directo adaptable con tres RNRE´s: (a), (b) Comparación entre la señal de
salida de la planta y la señal de identificación de la planta controlada. . . . . . . . . . . . . . 98
4.23 Control directo adaptable con tres RNRE´s: (a) y (b) Estados identificados de la planta. 99
4.24 Control directo adaptable con tres RNRE´s: Error instantáneo de Identificación. . . . . . . 100
4.25 Control directo adaptable con tres RNRE´s: Error Cuadrático Medio de identificación. . 100
A.1 Principio básico de funcionamiento de un motor de C.D . . . . . . . . . . . . . . . . . . . . . . . . . ii
A.2 Motor de cuatro polos, el campo magnético es producido por la corriente que fluye en
las bobinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
B.1 Efecto Hall en un semiconductor tipo “n”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
C.1 Regulación de Ancho de Pulsos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
D.1 Sistema de control PID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
E.1 Sistema físico en reposo y ubicación de sus partes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
E.2 Sistema físico en funcionamiento a máxima capacidad. . . . . . . . . . . . . . . . . . . . . . . . . . x
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Generalidades
11
OBJETIVO
Controlar la velocidad de un motor de corriente directa utilizando redes neuronales recurrentes
entrenables para el desarrollo de plataformas de enseñanza para las materias de la especialidad de control
de la Ingeniería en Comunicaciones y Electrónica (ICE).
JUSTIFICACIÓN
Se realizará el control de un motor de Corriente Directa con redes neuronales recurrentes para
compararlos con los de un sistema de control clásico (PID), esto, para observar las diferencias y
similitudes en cuanto a su funcionalidad y estabilidad. Además al tenerlo realizado físicamente se le podrá
dar utilidad en alguna aplicación de la vida cotidiana, así como para el desarrollo de plataformas
educativas que coadyuven en la enseñanza de las distintas materias de la especialidad de control.
PLANTEAMIENTO DEL PROBLEMA
En la actualidad, todo el entorno está ligado plenamente en cualquier aspecto al uso de motores (de
cualquier tipo), por lo que como estudiantes de ingeniería y con los conocimientos ya adquiridos y por
aprender, se quiere hacer una mejora en alguna aplicación.
Así, en un principio, se desea controlar la velocidad de un motor de Corriente Directa por medio de
un PID, se observará y se comprenderá su funcionamiento el cual será remplazado por un control
inteligente del tipo Red Neuronal Recurrente Entrenable.
Realizado el PID y la Red Neuronal Recurrente Entrenable se hará una comparación entre ambos
para determinar cuál y por qué funciona mejor en la planta, tomando en cuenta los criterios de precisión,
exactitud y velocidad de respuesta.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
12
Capítulo 1, [25]
Introducción a las redes neuronales artificiales
En los últimos años de exploración en inteligencia artificial, los investigadores se han intrigado
por las redes neuronales. El concepto se basa vagamente en cómo pensamos que funciona el cerebro de un
animal. Un cerebro consiste en un sistema de células interconectadas, las cuales son, aparentemente,
responsables de los pensamientos, la memoria y la conciencia. Una red neuronal artificial puede verse
como una máquina diseñada originalmente para modelar la forma en que el sistema nervioso de un ser
vivo realiza una determinada tarea. Para lograr este objetivo, una red neuronal artificial está formada por
un conjunto de unidades de procesamiento interconectadas llamadas neuronas.
Cada neurona recibe como entrada un conjunto de señales discretas o continuas, las pondera e
integra, y transmite el resultado a las neuronas conectadas a ella. Cada conexión entre dos neuronas tiene
una determinada importancia asociada denominada peso sináptico o, simplemente, peso. En los pesos se
suele guardar la mayor parte del conocimiento que la red neuronal tiene sobre la tarea en cuestión. El
proceso mediante el cual se ajustan estos pesos para lograr un determinado objetivo se denomina
aprendizaje o entrenamiento y el procedimiento concreto utilizado para ello se conoce como algoritmo de
aprendizaje o algoritmo de entrenamiento. El ajuste de pesos es la principal forma de aprendizaje de las
redes neuronales. Las neuronas demuestran plasticidad: una habilidad de cambiar su respuesta a los
estímulos en el tiempo, o aprender; en una red neuronal artificial, se imitan estas habilidades por software,
[16].
Las redes neuronales destacan por su estructura fácilmente paralelizable y por su elevada
capacidad de generalización (capacidad de producir salidas correctas para entradas no vistas durante el
entrenamiento). Otras propiedades interesantes son:
Adaptabilidad. Las redes neuronales son capaces de reajustar sus pesos para adaptarse a cambios
en el entorno. Esto es especialmente útil cuando el entorno que suministra los datos de entrada es
no estacionario, es decir, algunas de sus propiedades varían con el tiempo.
Tolerancia ante fallos. Una red neuronal es tolerante ante fallos en el sentido de que los posibles
fallos operacionales en partes de la red solo afectan débilmente al rendimiento de ésta. Esta
propiedad es debida a la naturaleza distribuida de la información almacenada o procesada en la
red neuronal.
No linealidad. Una red neuronal puede ser lineal o no lineal. Esta última característica es muy
importante, especialmente si se intenta modelar sistemas generados mediante pautas no lineales.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
13
Capacidad para aproximar mapeados no lineales mejor que otros esquemas (polinomios, etc.)
Capacidad para operar con datos numéricos y simbólicos simultáneamente.
Son aplicables a sistemas MIMO.
1.1 Elementos de una red neuronal artificial
Cualquier modelo de red neuronal consta de dispositivos elementales de proceso: las neuronas. A
partir de ellas, se puede generar representaciones específicas de tal forma que un estado conjunto de ellas
pueda significar una letra, un número o cualquier otro objeto. La neurona artificial pretende mimetizar las
características más importantes de las neuronas biológicas.
En el modelo más habitual de neurona se identifican cinco elementos básicos para la j-ésima neurona de
una red de tiempo discreto:
• Un conjunto de n señales de entrada, xi (t ) , i = 1,2,....,n , que suministran a la neurona los datos del
entorno; estos datos pueden ser externos a la red neuronal, pertenecientes a la salida de otras neuronas de
la red, o bien correspondientes a la salida anterior de la propia neurona.
Un conjunto de sinapsis, caracterizada cada una por un peso propio wij, i = 1,2,....,n . El peso wij
está asociado a la sinapsis que conecta la unidad i-ésima con la neurona j-ésima. Un valor constante llamado polarización o bias representado por b cuya presencia aumenta la
capacidad de procesamiento de la neurona y que eleva o reduce la entrada a la neurona, según seasu valor positivo o negativo.
Un sumador o integrador que suma las señales de entrada, ponderadas con sus respectivos pesos, y
el bias.
Una función de activación f que suele limitar la amplitud de la salida de la neurona.
Cada j-ésima neurona está caracterizada en cualquier instante por un valor numérico denominado valor o
estado de activación vj(t). Las señales moduladas que han llegado a la i-ésima unidad se combinan entre
ellas, generando así el estado actual de activación como lo muestra la siguiente ecuación:
1( ) ( )
m
j ij ii
v t w x t b(1.1)
( ) ( ( ))j i jy t f v t (1.2)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
14
La figura 1.1 nos muestra el modelo no lineal de una neurona artificial, en base a los elementos
descritos anteriormente. La dinámica que rige la actualización de los estados de las unidades (evolución de
la red neuronal) suele ser de dos tipos: modo asíncrono y modo síncrono. En el primer caso, cada neurona
evalúa su estado continuamente, según les va llegando la información, y lo hacen de forma independiente.
En el caso síncrono, la información también llega de forma continua, pero los cambios se realizan de
forma simultánea, como si existiera un reloj interno que decidiera cuando deben cambiar su estado. Los
sistemas biológicos quedan probablemente entre ambas posibilidades.
Figura 1.1. Modelo no lineal de una j-ésima neurona.
1. 2 Función de salida o transferencia
La función de activación es la que define finalmente la salida de la neurona. Entre las unidades o
neuronas que forman una red neuronal artificial estas funciones de activación o transferencia forman un
conjunto de conexiones que unen unas neuronas con otras. Las funciones de activación más utilizadas
habitualmente son las siguientes:
1. Función identidad. Tiene la forma f (v) = v y se utiliza cuando no se desea acotar la salida de la
neurona, la figura 1.2 (a) nos representa esta función.2. Función escalón. La figura 1.2 (b) nos presenta la gráfica de una función escalón. Esta función
adopta la forma
1 0( )
1 0
si vf v
si v(1.3)
y proporciona una salida con dos posibles valores. Es habitual encontrársela con el nombre de función de
Heaviside.
FunciónSalida
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
15
3. Función saturación. La figura 1.2 (c) muestra la gráfica de una función de activación saturación,
cuya representación matemática se presenta a continuación:
1
( ) 1
si v c
f v si v c
av en otro caso
(1.4)
4. Función sigmoide. Las funciones sigmoideas son un conjunto de funciones crecientes, monótonas
y acotadas que provocan una transformación no lineal de su argumento. Una de las más utilizadas
es la función sigmoide definida por la siguiente ecuación, donde p es la pendiente de la función de
activación:
1f(v)=
1+exp(-pv)(1.5)
La función sigmoide está acotada entre 0 y 1, en la figura 1.2 (d) se muestra su representación.
5. Otra función sigmoidea es la función tangente hiperbólica:
1 exp( )( )1 exp( )
pvf v
pv(1.6)
La figura 1.2 (e) representa la gráfica de la función de activación tangente hiperbólica.
6. Función de base radial. La figura 1.2 (f) nos muestra un ejemplo de este tipo de funciones deactivación. Las más habituales son funciones gaussianas no monótonas del tipo
2
2( ) exp2
vf v (1.7)
donde define la anchura. La función alcanza su valor máximo cuando la entrada es cero.
(a) (b) (c)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
16
(d) (e) (f)
Figura 1.2. Funciones de activación: (a) identidad, (b) escalón, (c) saturación, (d) sigmoide,(e) tangente hiperbólica, (f) gaussiana.
1.3 Topología de las redes neuronales
La topología o arquitectura de las redes neuronales consiste en la organización y disposición de las
neuronas en la red formando capas o agrupaciones de neuronas más o menos alejadas de la entrada y
salida de la red. En este sentido, los parámetros fundamentales de la red son: el número de capas, el
número de neuronas por capa, el grado de conectividad y el tipo de conexiones entre neuronas.
1.3.1 Redes mono-capa
En su forma más simple, una red neuronal tiene una capa de entrada y una capa de salida.
En las redes mono capa (1 capa) se establecen conexiones laterales entre las neuronas que
pertenecen a la única capa que constituye la red. También pueden existir conexiones auto-recurrentes
(salida de una neurona conectada a su propia entrada). Las redes de una sola capa se utilizan típicamente
en tareas relacionadas con auto-asociación; por ejemplo para regenerar informaciones de entrada que se
presentan a a red incompletas o distorsionadas. La figura 1.3 nos ilustra un ejemplo de esta topología con
5 nodos en la capa de entrada y cuatro en la capa de salida.
Figura 1.3 Red neuronal Mono-capa conectada completamente
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
17
1.3.2 Redes multicapa
Las redes multicapa son aquellas que disponen de conjuntos de neuronas agrupadas en varios
niveles o capas. Normalmente, todas las neuronas de una capa reciben señales de entrada de otra capa
anterior, más cercana a las entradas de la red, y envían señales de salida a una capa posterior, más cercana
a la salida de la red; a estas conexiones se les denomina conexiones hacia adelante o feed forward. Sin
embargo, en un gran número de estas redes también existe la posibilidad de conectar las salidas de las
neuronas de capas posteriores a las entradas de las capas anteriores, a estas conexiones se las denomina
conexiones hacia atrás o feed back.
Redes con conexiones hacia delante (feed forward)
En las redes feed forward, todas las señales neuronales se propagan hacia delante a través de las
capas de la red, no existen conexiones hacia atrás (ninguna salida de neuronas de una capa i se aplica a la
entrada de neuronas de la capa i − 1, i − 2 ) y normalmente tampoco auto-recurrentes (salida de una
neurona aplicada a su propia entrada), ni laterales (salida de una neurona aplicada a neuronas de la misma
capa). Las redes feed forward más conocidas son: Perceptrón, Adaline, Madaline, Drive-Reinforcement,
Back propagation. Todas ellas son especialmente útiles en aplicación de reconocimiento o clasificación de
patrones.
Redes con conexiones hacia atrás
En este tipo de redes circula información tanto adelante (forward), como hacia atrás (backward),
durante el funcionamiento de la red. En general en este tipo de conexiones, existen dos conjuntos de
pesos: los correspondientes a las conexiones feed forward de la primera capa (capa de entrada), hacia la
segunda (capa de salida), y los de las conexiones feed back de la segunda a la primera.
Los valores de los pesos de estos dos tipos de conexiones no tienen por qué coincidir, siendo
diferentes en la mayor parte de los casos. Algunas redes de este tipo tienen un funcionamiento basado en
lo que se conoce como resonancia, de tal forma que las informaciones en la primera y segundas capas
interactúan entre si hasta que alcanzan un estado estable. Este funcionamiento permite un mejor acceso a
las informaciones almacenadas en la red. También en este grupo de redes existen algunas que tienen
conexiones laterales entre neuronas de la misma capa. Estas conexiones se diseñan con conexiones
excitadas (con pesos positivos), permitiendo la cooperación entre neuronas, o como inhibidoras (con peso
negativo), estableciéndose una competición entre las neuronas correspondientes.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
18
Los dos modelos de red feed forward/feed back de dos capas más conocidos son la red ART
(Adaptive Resonante Theory) y la red BAM (Bidirectional Associative Memory). Para ilustrar las
diferentes formas de conectividad presentamos la figura 1.4 en la que podemos visualizar 4 topologías de
redes diferentes: (a) Un Perceptrón multicapa (MLP) conectado completamente. (b) Un MLP modular. (c)
Una red recurrente conectada completamente. (d) Una red recurrente conectada parcialmente.
a) b)
c) d)
Figura 1.4 Diferentes Topologías Multicapa de Redes Neuronales Artificiales. (a) Un Perceptrón multicapa (MLP) conectadocompletamente. (b) Un MLP modular. (c) Una red recurrente conectada completamente. (d) Una red recurrente conectada
parcialmente.
1.4 Mecanismo de aprendizaje
El aprendizaje es el proceso por el cual una red neuronal modifica sus pesos en respuesta a una
información de entrada. Los cambios que se producen durante el proceso de aprendizaje se reducen a la
destrucción, modificación y creación de conexiones. En los modelos de redes neuronales artificiales, la
creación de una nueva conexión implica que el peso de la misma pasa a tener un valor distinto de cero.
Durante el proceso de aprendizaje, los pesos de las conexiones de la red sufren modificaciones,
por tanto se puede afirmar que este proceso ha terminado (la red ha aprendido), cuando los valores de los
pesos permanecen estables.
Un aspecto importante respecto al aprendizaje en las redes neuronales es el conocer cómo se
modifican los valores de los pesos; es decir, cuáles son los criterios que se siguen para cambiar el valor
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
19
asignado a las conexiones cuando se pretende que la red aprenda una nueva información.
Estos criterios determinan lo que se conoce como la regla de aprendizaje de la red. Otro factor que
debe ser considerado es la manera en la cual una red neuronal adopta un conjunto interconectado de
neuronas. En este último contexto se habla de un paradigma de aprendizaje, el cual se refiere a un modelo
del entorno en el que la red neuronal funciona. Los dos tipos de paradigmas que habitualmente se conocen
son: aprendizaje supervisado y aprendizaje no supervisado. La diferencia fundamental entre ambos tipos
de aprendizaje está en la existencia o no de un agente externo (supervisor) que controle el proceso de
aprendizaje de la red.
Otro criterio que se puede utilizar para diferenciar las reglas de aprendizaje se basa en considerar
si la red puede aprender durante su funcionamiento habitual o si el aprendizaje supone la desconexión de
la red; es decir su inhabilitación hasta que el proceso termine. En el primer caso, se trata de un aprendizaje
ON LINE, mientras que el segundo es lo que se conoce como aprendizaje OFF LINE.
En las redes con aprendizaje ON LINE no se distingue entre fase de entrenamiento y de operación,
de tal forma que los pesos varían dinámicamente siempre que se presente una nueva información al
sistema.
Cuando el aprendizaje es OFF LINE, se distingue entre una fase de aprendizaje o entrenamiento y
una fase de operación o funcionamiento, existiendo un conjunto de datos de entrenamiento y un conjunto
de datos de test o prueba que serán utilizados en la correspondiente fase. En estas redes, los pesos de las
conexiones permanecen fijos después que termina la etapa de entrenamiento de la red.
A continuación se presentan tres de las reglas de aprendizaje más populares: aprendizaje
“corrección por error”, aprendizaje Hebbiano, y, aprendizaje competitivo y cooperativo. Al final de estas
reglas, se exponen los dos fundamentales paradigmas de aprendizaje mencionados anteriormente:
aprendizaje supervisado, y aprendizaje no supervisado.
1.4.1 Aprendizaje “corrección por error”
Consiste en ajustar los pesos de las conexiones de la red en función de la diferencia entre los
valores deseados y los obtenidos den la salida de la red; es decir, en función del error cometido en la
salida.
Una regla o algoritmo simple de aprendizaje por corrección de error podría ser el siguiente:
( )( ) ( ) ji i n kw n y e n (1.8)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
20
donde( ) ( ) ( ) k k ke n d n y n (1.9)
siendo Δwij la variación en el peso de la conexión entre las neuronas i y j ; y i (n) es la salida de la i-
ésima neurona, correspondiente a la entrada de la neurona j; dk (n) es el valor deseado para la j -ésima
neurona; yk (n) es la salida de la j -ésima neurona; η es el factor de aprendizaje (0 <η ≤1) que regula la
velocidad del aprendizaje.
Existen varios algoritmos de aprendizaje por corrección de error, por ejemplo la denominada regla
delta generalizada o algoritmo de retro propagación del error (error back propagation), también conocido
como regla LMS (Least-Mean-Square Error) multicapa. Se trata de una generalización de la regla delta
para poder aplicarla a redes con conexiones hacia adelante (feed forward) con capas o niveles internos u
ocultos de neuronas que no tienen relación con el exterior, [15].
1.4.2 Aprendizaje Hebbiano
Este tipo de aprendizaje se basa en el siguiente postulado formulado por Donald O. Hebb en 1949:
Cuando un axón de una celda A está suficientemente cerca cómo conseguir excitar una celda B y repetida
o persistentemente toma parte en su activación, algún proceso de crecimiento o cambio metabólico tiene
lugar en una o ambas celdas, de tal forma que la diferencia de A, cuando la celda a activar es B, aumenta.
Por celda, Hebb entiende un conjunto de neuronas fuertemente conexionadas a través de una intensidad o
magnitud de la conexión; es decir, el peso.
Se puede decir, por tanto, que el aprendizaje Hebbiano consiste básicamente en el ajuste de los
pesos de las conexiones de acuerdo con la correlación (multiplicación en el caso de valores binarios +1 y -
1) de los valores de activación (salidas) de las dos neuronas conectadas:
ij i jw y y (1.10)
Esta expresión corresponde a la idea de Hebb, puesto que si las dos unidades son activas
(positivas), se produce un reforzamiento de la conexión. Por el contrario, cuando una es activa y la otra
pasiva (negativa), se produce un debilitamiento de la conexión. Se trata de una regla de aprendizaje no
supervisado, pues la modificación de los pesos se realiza en función de los estados (salidas), de las
neuronas obtenidas tras la presentación de cierto estímulo (información de entrada de la red), sin tener en
cuenta si se deseaba obtener o no esos estados de activación.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
21
1.4.3 Aprendizaje competitivo y cooperativo
En las redes con aprendizaje competitivo (y cooperativo), suele decirse que las neuronas compiten
(y cooperan), unas con otras con el fin de llevar a cabo una tarea dada. Con este tipo de aprendizaje, se
pretende que cuando se presente a la red cierta información de entrada, solo una de las neuronas de salida
de la red, o una por cierto grupo de neuronas, se active (alcance su valor de respuesta máximo). Por tanto,
las neuronas compiten por activarse, quedando finalmente una, o una por grupo, como neurona vencedora
(winner-take-all unit), quedando anuladas el resto, que son forzadas a sus valores de respuesta mínimos.
El objetivo de este aprendizaje es categorizar los datos que se introducen en la red. De esta forma,
las informaciones similares son clasificadas formando parte de la misma categoría, y por tanto deben
activar la misma neurona de salida. Las clases o categorías deben ser creadas por la propia red, puesto que
se trata de un aprendizaje no supervisado, a través de las correlaciones entre los datos de entrada, [16].
1.4.4 Aprendizaje supervisado
La técnica mayormente utilizada para realizar un aprendizaje supervisado consiste en ajustar los
pesos de la red en función de la diferencia entre los valores deseados y los obtenidos en la salida de la red;
es decir, una función de error cometido en la salida.
Existen varias formas de calcular el error y luego adaptar los pesos con la corrección
correspondiente. Una de las más implementadas utiliza una función que permite cuantificar el error global
cometido en cualquier momento durante el proceso de entrenamiento de la red, lo cual es importante, ya
que cuanto más información se tenga del error cometido, más rápido se puede aprender [Widrow & Hoff,
1960]. El error medio se expresa por la ecuación:
P N
(k) (k)global j j
k=1 j=1
1Error = y d
2P(1.11)
dónde:
N = Número de neuronas de salida.
P = Número de informaciones que debe aprender la red.
dj = Valor de salida deseado para la neurona j.
yj = Valor de salida obtenido para la neurona j.
k = patrón k-ésimo presentado a la red.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
22
Por lo tanto, de lo que se trata es de encontrar unos pesos para las conexiones de la red que
minimicen esta función de error. Para ello, el ajuste de los pesos de las conexiones de la red se puede
hacer de forma proporcional a la variación relativa del error que se obtiene al variar el peso
correspondiente:
global
jiji
Errorw k
w(1.12)
dónde:
Δwji = Variación en el peso de la conexión entre las neuronas i y j.
Mediante este procedimiento, se llegan a obtener un conjunto de pesos con los que se consigue
minimizar el error medio, con la presentación de cada nuevo patrón de entrenamiento a la red.
1.4.5 Aprendizaje no supervisado
Las redes con aprendizaje no supervisado no requieren influencia externa para ajustar los pesos de
las conexiones entre sus neuronas. La red no recibe ninguna información por parte del entorno que le
indique si la salida generada en respuesta a una determinada entrada es o no es correcta; por ello, suele
decirse que estas redes son capaces de auto-organizarse. Estas redes deben encontrar las características,
regularidades, correlaciones o categorías que se puedan establecer entre los datos que se presentan en su
entrada.
En algunos casos, la salida representa el grado de familiaridad o similitud entre la información que
se le está presentando en la entrada y las informaciones que se le han mostrado hasta entonces (en el
pasado). En otro caso podría realizar una clusterización o establecimiento de patrones o categorías,
indicando la red a la salida a qué categoría pertenece la información presentada a la entrada, siendo la
propia red quien debe encontrar las categorías apropiadas a partir de las correlaciones entre las
informaciones presentadas. Una variación de esta categorización es el prototipado. En este caso, la red
obtiene ejemplares o prototipos representantes de las clases a las que pertenecen las informaciones de
entrada.
Finalmente, algunas redes con aprendizaje no supervisado lo que realizan es un mapeo de
características, obteniéndose en las neuronas de salida una disposición geométrica que representa un mapa
topográfico de las características de los datos de entrada, de tal forma que si se presentan a la red
informaciones similares, siempre sean afectadas neuronas de salida próximas entre sí, en la misma zona
del mapa.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
23
Figura 1.5 Diagrama a bloques del aprendizaje supervisado
Figura 1.6 Diagrama a bloques del aprendizaje no supervisado.
1.5 El Perceptrón
El perceptrón es en realidad una neurona artificial conformada por los 5 elementos básicos
descritos en el apartado 1.1; esto es: un conjunto de señales de entrada, sinapsis, bias, un sumador o
integrador y, una función de activación. El modelo del perceptrón como lo conocemos es atribuido a
Rosenblatt [16]. Este modelo está dado por la siguiente expresión:
1( ) ( )
n
i ii
y f w k u k (1.13)
donde y , w , u , y k son definidos como se hizo anteriormente, para el caso del perceptrón f (⋅) es la
función escalón unitario.
El perceptrón fue desarrollado para ejecutar tareas de clasificación de patrones, esto lo hace
definiendo fronteras de decisión lineales, es decir, resuelve problemas de separabilidad de conjuntos
convexos.
Vector quedescribe el estado
del entornoRespuesta deseada
SupervisorEntorno
Sistema deAprendizaje
Respuesta actual
Salida de error
Vector quedescribe el estado
del entorno
Entorno Supervisor
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
24
1.5.1 Ley de aprendizaje del perceptrón
La ley de aprendizaje del perceptrón es un algoritmo conocido comúnmente como Algoritmo
LMS (Least Mean Square, por sus siglas en inglés), y es del tipo de aprendizaje “corrección por error”
descrito anteriormente. Para evaluar el desempeño de las RN se evalúa una función de costo que, para el
caso del perceptrón es:
21( ) ( )2J k e k (1.14)
donde e(k ) es el error en la k-ésima iteración generado por la diferencia en la salida de la RN y la salida
deseada. Por lo tanto en el aprendizaje lo que se desea es minimizar esta función con respecto a los pesosw, dado que en el ajuste de los pesos interviene el error diremos que el perceptrón es una RN con
aprendizaje supervisado. Veamos ahora como es que se obtiene esa ley de aprendizaje.
Derivemos J con respecto a cada uno de los pesos w i, i =1,2,...,m; donde m es el número de
entradas; el error es e = d − y , donde y es la salida del perceptrón y d es la salida deseada; f ´(⋅) , es la
primera derivada de la función de activación.
Entonces:
( )
i
i i
e yf u
w w(1.15)
( )( ) ( )
i
i i
J W eg k e ef u (1.16)
El método del Gradiente Descendente o regla Delta, [5] nos dice que:
( 1) ( ) ( ) i ik k g k (1.17)
donde g (k) es el gradiente de J con respecto a wi (k) , es decir, g (k) = δJ /∂wi ; multiplicando por −1 nos
da la dirección de descenso y η es una constante positiva llamada tasa de aprendizaje. Entonces la
actualización de los pesos del perceptrón es:
( 1) ( ) ( ) `( ) ( ) i i ik k e k f u k (1.18)
En el proceso de entrenamiento, el perceptrón se expone a un conjunto de entrada, y los pesos de
la red son ajustados de forma que al final del entrenamiento se obtengan las salidas esperadas para cada
uno de estos patrones de entrada. La tabla 1.1 muestra un resumen del algoritmo LMS, la cual ilustra
claramente la simplicidad del algoritmo.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
25
Tabla 1.1 Resumen del algoritmo LMS
1.- Se selecciona un vector de entrenamiento u(k) y una respuesta deseada d(k)
2.- Seleccionamos un parámetro de aprendizaje 0 < η <1
3.- Inicialización de los pesos wi(0) = valores aleatorios pequeños uniformemente distribuidos.
4.- Calculamos. Para k = 1,2,...,n tenemos que
( 1) ( ) ( ) `( ) ( )i i ik k e k f u k Donde
( ) ( ) ( )e k d k y k
1.6 El perceptrón multicapa
El perceptrón multicapa (PMC), [15], [16], [50] es un elemento muy importante en la evolución
de las RN, debido a que es una de las primeras RN’s propiamente dichas, su importancia queda manifiesta
en [19]. Un PMC es un arreglo de neuronas (perceptrones) en capas. Una capa es un conjunto de neuronas
que están conectadas al mismo vector de entradas y generan un vector de salida. Cuando la salida. Cuando
la salida de una capa es la entrada de otra capa entonces decimos que el arreglo obtenido es un PMC, a
diferencia del perceptrón, el PMC puede tener múltiples salidas.
La diferencia entre un perceptrón y un PMC radica precisamente en que un perceptrón es una red
de una sola capa, con su respectiva entrada y salida, que contrasta con la arquitectura del PMC, el cual, es
una red de al menos 2 capas, una de entrada y una salida. Cuando en un PMC se tienen más de dos capas
es decir, n +2 capas, decimos que el perceptrón tiene una capa de entrada, una de salida y un número n de
capas a las que llamaremos “ocultas”. La figura 1.7 muestra a dos perceptrones, el primero con una capa
oculta y el segundo con dos.
Figura 1.7 Diferentes arquitecturas de un PMC.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
26
La estructura del PMC es una RN del tipo Feed Forward (RNFF), esto es, que el patrón de la
entrada se propaga hacia delante hasta la salida. Para aclarar este punto supóngase un elemento de entrada
ui (k) y un elemento de la matriz de pesos wij (k) entonces la propagación consiste en realizar el producto
ui(k)⋅wiJ (k) y sumarlo a los demás productos uJ ⋅wkl (k); i ≠ k , j ≠ l , de la misma capa obteniendo una
señal zm(k), la cual, después es introducida como argumento de la función f (⋅) formando una señal zm
(k), es decir, f (vm (k)) = zm (k) ; donde, f (⋅) es la función de activación y zm(k) es la m-ésima
componente del vector de entrada de la siguiente capa; este proceso continúa neurona por neurona, capa
por capa hasta obtener el vector de salida Y(k).
1.6.1 Aprendizaje del PMC
En el apartado 1.6.1 asentamos que el perceptrón tiene una ley de aprendizaje basada en el
algoritmo LMS. El algoritmo para el ajuste de los pesos del PMC es una derivación del LMS y se conoce
como “algoritmo de retro-propagación” o Back propagation (BP). Este algoritmo, como su nombre lo
indica, es una propagación hacia atrás de la señal de error, la cual se forma de la diferencia entre la señaldeseada y la salida de la RN; el(k) = dl(k)−yl(k). Recordemos que cuando se tenía un perceptrón simple se
tomaba el error e(k) y se implementaba en la ecuación (1.19) para actualizar los pesos. En este caso es
más complicado pues se tiene al menos dos vectores de pesos.
1.6.1.1 Pasos para el cálculo del algoritmo BP
En la aplicación del algoritmo BP, se distinguen dos pasos en el cálculo. El primero es llamado
paso hacia adelante, mientras que el segundo es llamado paso hacia atrás.
Paso hacia adelante
En el paso hacia delante los pesos sinápticos permanecen sin alteración a través de toda la red, y las
funciones de activación de la red son evaluadas neurona por neurona. La función de activación que
aparece a la salida de la neurona j es evaluada de la siguiente forma:
( ) ( ) j j jy k f k (1.19)
donde vj(k) es el estado de activación de la neurona j definido por:
0( ) ( ) ( )
m
j ji ii
v k w k y k (1.20)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
27
donde m es el número total de entradas aplicadas a la neurona j y wji(k) es el peso sináptico entre laneurona j y la neurona i , y yi(k ) es la señal de entrada a la neurona j o bien, visto de otra manera es elvalor de la función de salida de la neurona i . Si la neurona j pertenece a la primera capada la red, la cualqueda expresada de la siguiente forma:
( ) ( )i iy k u k (1.21)
donde ui(k) es el i -ésimo elemento del vector de entrada. Por otro lado, si la neurona j pertenece a lacapa de salida de la red, m = mj y el índice j señala la j-ésima señal de salida de la red, la cual, quedaexpresada de la siguiente forma:
( ) ( )J Jy k o k (1.22)
donde oJ(k) es el j-ésimo elemento del vector de salida. Esta salida es comparada con la respuestadeseada dJ(k), obteniendo así, el error de salida eJ(k) para la j-ésima neurona de salida. En la fase delpaso hacia delante el cálculo comienza con la primera capa oculta que presenta el vector de entrada, ytermina con la capa de salida calculando la señal del error para cada neurona de esta capa.
Paso hacia atrás
El paso hacia atrás, por otro lado, comienza en la capa de salida pasando a las señales del error
hacia la izquierda a través de la red, capa por capa, y recursivamente calculando el gradiente local δ para
cada neurona. Para una neurona localizada en la capa de salida, δ es simplemente igual a la señal de error
multiplicada por la primera derivada de la función de activación de esta neurona. El cálculo recursivo es
continuado, capa por capa, propagando los cambios para todos los pesos sinápticos de la red.
1.6.2 Algoritmo BP
Las redes neuronales entrenadas por medio del algoritmo BP son poderosas herramientas para
reconocimiento de patrones, memoria asociativa y filtros adaptables [31], pero también se ha descubierto
que cualquier tipo de RN puede ser entrenada por este algoritmo y realizar tareas como identificación y
control, [18],[29], describamos ahora el algoritmo.
La señal de error de la j -ésima neurona de salida en la k -ésima iteración es definida por:
( ) ( ) ( )J J Je k d k y k (1.23)
El error cuadrático de la j-ésima neurona de salida en la k-ésima iteración es ½e2J(k), el error
cuadrático total de la salida J(k) está definido por:
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
28
21( ) ( )2
JJ C
J k e k (1.24)
donde C es el conjunto de todas las neuronas de salida. Sea N el número total de iteraciones; el error
medio cuadrático medio es obtenido sumando todos los J(k) y normalizando con respecto a N, es decir:
1
1 ( )
PROMk
J J kN
(1.25)
JPROM y J(k) son funciones de los pesos de la red. JPROM representa la función de costo total, por lo tantonuestro objetivo en el aprendizaje es ajustar los pesos tal que JPROM sea mínima. Para el ajuste de los pesosse utiliza el error instantáneo Ec. (1.24), que nos ayudará a crear una corrección que es proporcional algradiente descendente de la función J(k) .
La figura 1.8 describe la j-ésima neurona de una RN alimentada por la señal de salida yi(k) de lai-ésima neurona de la capa anterior. El estado de activación vJ(k) asociado con la j-ésima neurona esdefinido en la Ec. (1.21), donde m es el número total de entradas, y0= −1 es la entrada al umbral θJ
aplicado a la neurona j; y wij es el peso de la j-ésima neurona de la capa anterior. Por lo tanto, la salida dela j-ésima neurona en la iteración k es:
y ( ) ( ) j j jk f k (1.26)
donde f es la función de activación.
j-esima neurona
Figura 1.8 Detalles de una neurona j de la capa de salida.
El método BP aplica la corrección Δwij(k) a los pesos sinápticos que es proporcional a la derivadaparcial ∂J(k)/∂wij(k) Ec. (1.18). De acuerdo a la regla de la cadena tenemos:
wJi(k)
Y0=
yi(k)
ΘJ(k)
vJ(k) yJ(k)
dJ(k)
eJ(k)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
29
( ) ( ) ( ) ( )( )( ) ( ) ( ) ( ) ( )
j j j
ij j j j ij
J k e k y k kJ kw K e k y k y k w k
(1.27)
haciendo los cálculos pertinentes tenemos que:
( )( ) ( ) 1( ) ( )( ) ( )
´ ( ) ( )( ) ( )
jj
j j
j jj j i
j ij
e kJ ke k
e k y k
y k kf k y k
y k w k
donde f ’J(⋅) es la derivada de la j-ésima función de activación con respecto a su argumento.
Por lo tanto:
( ) ( ) ´ ( ) ( )( )
j j j iij
J ke k f k y k
w k(1.28)
La corrección Δwij(k) es definida como, [5]:
( )( )( )
ij
ij
J kw k
w k(1.29)
donde η es la tasa de aprendizaje, el signo (−) es debido a que se desea tener la dirección de máximodescenso para que el cambio de pesos reduzca el valor de J (k) .
Si δJ(k) es el gradiente local de la neurona de salida j, tenemos que:
( ) ( )( ) ( )( )( ) ( ) ( ) ( )
j jj
j j j j
e k y kJ k J kk
k e k y k k(1.30)
entonces
( ) ( ) ´ ( ) j j j jk e k f k (1.31)
por lo tanto
( ) ( ) ( ) ij j iw k k y k (1.32)
con lo que la actualización de los pesos de la capa de salida está dada por:
( 1) ( ) ( 1) ij ij ijw k w k w k (1.33)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
30
donde α es la tasa del término momento de aprendizaje que es usado para eliminar oscilaciones en el error.
La figura 1.9 muestra el comportamiento del BP con respecto a las señales que intervienen.
Figura 1.9 Propagación del error.
Para los pesos de la capa de salida se utiliza la señal deseada y la salida de la red para generar el
error eJ(k) y obtener el gradiente local que nos ayude a actualizar los pesos. Cuando queremos actualizarlos pesos de las capas que no son de salida, el problema radica en que no contamos con una señal deseada,en consecuencia es imposible generar un error ei(k) y obtener el gradiente local en esa capa, entoncesutilizaremos el error de salida para retro propagarlo y obtener un estimado del error en las capas anterioresa la salida y así proporcionar un gradiente local que nos de la capacidad de actualizar los pesos de esascapas. Considere la situación descrita en la figura 1.10, la cual bosqueja una neurona j como un nodooculto en red.
De la ecuación (1.31) podemos definir el gradiente local δi(k) para una neurona oculta i como:
( )( )( )( ) ( )( ) ´ ( )( )
ii
i i
ii
y kJ kk
y k k
J kf k
y k
(1.34)
donde δi(k) es el gradiente de la i-ésima neurona; yi(k) es la salida de la i–ésima neurona; vi(k) es elestado de activación de la i-ésima neurona; fi(⋅) es la derivada de la i -ésima función de activación conrespecto a su argumento, todos pertenecen a la capa anterior a la de salida en la k-ésima iteración.
De la ecuación (1.25) se tiene que:
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
31
j
jj Ci i
eJe
y y(1.35)
aplicando la regla de la cadena:
j ij
j Ci i i
eJe
y y(1.36)
tomando las ecuaciones (1.24) y (1.27) se tiene ej = dj - fj (vj) con lo que:
´( )
j
j jj
ef (1.37)
Figura 1.10 Gráfica de la conexión entre dos neuronas. La i -ésima neurona de la capa oculta conectada a la j –ésima neurona de
la capa de salida.
derivando parcialmente la ecuación (1.21) con respecto a i y se obtiene:
iji
J wy
(1.38)
sustituyendo (1.37) y (1.38) en (1.39) se tiene
´ ( )j j j ijji
J e f wy
(1.39)
de (1.32) se sigue:
j ijji
J wy (1.40)
j-esima neuronai-esima neurona
Θi(k)
wij(k) vi(k) yi(k)
Θj(k)
wij(k) vj(k) yj(k)
di(k)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
32
sustituyendo en la ecuación (1.35) se tiene que:
´( ) i i i j ijj
f w (1.41)
que es el gradiente local de una neurona que no es la capa de salida.
Por último se obtiene que la actualización de los pesos sinápticos para una neurona que no
pertenece a la capa de salida es:
li i lw y (1.42)
donde yl es la entrada a la i-ésima neurona de la capa que no es de salida y a su vez es la salida de la
l -ésima neurona de la capa anterior.
Una restricción para el uso de este algoritmo es que f (⋅) sea una función diferenciable, porejemplo en el caso de que f (v) = tanh (v) entonces f´(v ) = 1 − y2 , donde y = f (v) .
A pesar de que el uso del algoritmo BP es bastante difundido a veces, sin embargo, la deducción
de éste para algunas topologías de redes puede llegar a ser bastante compleja por el cálculo de las
numerosas derivadas parciales. En el siguiente apartado se presenta un método gráfico más directo y
sencillo para obtener las expresiones para actualizar los pesos de las redes.
1.7 Método diagramático y red adjunta, [49]
En varias ocasiones puede resultar muy tedioso o realmente difícil trabajar con redes neuronales
dependientes del tiempo porque pueden requerir numerosas expansiones en cadena y cuidadosas
manipulaciones de los términos, pues todo ello nos conduce a resultados erróneos. Este es un método
alternativo que pretende disminuir todos esos problemas mediante un conjunto de simples reglas de
manipulación de diagramas de bloques. Este método provee una manera bastante sencilla para derivar
algoritmos tan populares como el back propagation.
El método presentado en este apartado usa la teoría de flujos gráficos para construir y manipular
diagramas de bloque que representan RN. Esta teoría originalmente fue usada en el campo de los circuitos
eléctricos, en los 50´s. Esta propuesta consiste en representar la red neuronal mediante diagramas de
bloques y construir una red neuronal adjunta, la cual, directamente especifica la derivación de la fórmula
del gradiente.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
33
En el BP se busca encontrar el conjunto de pesos que minimicen la función de costo J , es decir,encontrar ∂J /∂wji si tomamos en cuenta que ( ) ( )j ji i
i
v k w u k entonces:
j
ji j ji
dJ Jw w
(1.43)
para fines prácticos redefinimos
j
j
J(1.44)
y
ji
jNw
ji
Gw
(1.45)
dondeji
NwG es el jacobiano del vector v; entonces:
ji
Nj w
ji
JG
w(1.46)
1.7.1 Representación en diagramas de bloques de la RN.
Una RN puede ser representada en forma arbitraria como un diagrama de bloques cuyos
elementos esenciales son: sumador, puntos de bifurcación, funciones univaluadas como los pesos y las
funciones de activación, funciones multivaluadas y operadores de retardo. Un peso sináptico por ejemplo
puede ser visto como una línea de transmitancia. La neurona básica es una simple suma de transmitancias
lineales seguidas por una función sigmoidal. La figura 1.11 presenta una descripción gráfica detallada de
las partes de una RN.
Figura 1.11 Descripción gráfica de las partes de una red neuronal.
Señalde
entrada
wijSumador
Función deuna variable
(pesos)
Funciones de variasvariables (funciones
de activación)
Señalde
salida
1
i
m
x
x
x
l
i
n
y
y
y
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
34
A partir de esta relación es fácil representar cualquier RN gráficamente, por ejemplo sea la RN de
tres capas descrita por la siguiente ecuación.
3 3 3
2 2 2
1 1 1
( ) ( ) ; ( ) ( )
( ) ( ) ; ( ) ( )
( ) ( ) ; ( ) ( )
Y k F N k N k W Z k
Z k F N k N k W X k
X k F N k N k WU k
(1.47)
donde Y (k ) es la salida; F (⋅) es el vector de funciones de activación f (⋅) ; Ni (k) son los estados de
activación en la neurona de entrada, oculta y de salida; Wi i=1, 2, 3 son las matrices de pesos de la capade entrada, oculta y de salida; Z(k ) es el vector de salida de la capa oculta; X(k ) es la salida de laneurona de capa oculta; U(k ) es el vector de entrada a la RN. La gráfica que describe esta RN es lamostrada en la mostrada en la figura 1.12.
1.7.2 La red adjunta
Dada la representación gráfica de la RN y el objetivo de determinar el gradiente local, es decir la
Ec. (1.45), sólo necesitamos aplicar un conjunto de reglas simples para construir la RA y determinar el
gradiente en cuestión.
Figura 1.12 Diagrama de una RN de tres capas.
Reglas para la construcción de la red adjunta
1.- Puntos suma son reemplazados por puntos bifurcación
W1 N1f
f
f
f
f
f
f
f
f
W2 N2 N3W3y1
y1
y3
U1
u2
U3
xi
xj
yl
wi
wj
yl
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
35
2.- Puntos de bifurcación son reemplazados por puntos suma
3.- Funciones de una variable son reemplazadas por sus derivadas
Por ejemplo. Funciones de activación: yj = tanh (xi). En este caso, f´´(yj) = 1-x2, ó si yj = sigm (xi)
entonces f´(yj) = xi(1-xi).
4.- Las funciones Multivaluadas son reemplazadas por sus jacobianos.
Casos especiales
- Productos: yj = xixl en cuyo caso TFa l iG x x
- Redes neuronales: Una función multivaluada puede representar una red multicapa. En este caso,el producto
i
Fx yG puede ser obtenido por retro propagación de δy a través de la red sin la
necesidad de calculari
FxG
5.- Operadores de retardo son reemplazados por operadores de avance
6.- Los nodos an=yn salida en la red original se transforman en nodos de entrada en la red adjunta, dondela entrada es generalmente el error en
wl
yi
yj
yi
Yj
xl
yjxi wi yi
y0
yq
yp
xj
wj
xn
y0
yq
yp
xi
xj
xn
yq
ui
uj
y0 -ej
-ei
Redoriginal
Redadjunta
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
36
Este conjunto de reglas son un elemento importante para la construcción de la Red Adjunta, lacual propaga la señal e (k ) que corresponde al error de salida generado por la diferencia entre la salida dela RN y la señal deseada, entonces obtenemos el gradiente δj(k) necesario para la adaptación de los pesos.En la figura 1.13 se muestra la RA obtenida a partir de las reglas anteriores.
La RN y la RA en base a estas reglas son topológicamente equivalentes. La justificación teórica de
las reglas está dada en [49]. A modo de ejemplo mostramos la deducción de la regla BP por este método.
Figura 1.13 Red Adjunta deducida a partir de la Red Neuronal.
1.7.3 Deducción del algoritmo BP utilizando el método diagramático
En la figura 1.14 (a) es mostrada una neurona de capa oculta conectada a otras neuronas y también
se muestra una neurona de salida de una red multicapa. Sea vil la función de activación en la i -ésima
neurona de la l -ésima capa de la RN, 1 ≤ l ≤ L ; L es el número total de capas. El término (k ) se omite
por simplicidad.
En la figura 1.8 (b) podemos observar la red adjunta construida a partir de las reglas descritas
anteriormente. Las ecuaciones para el cálculo del gradiente local δil pueden ahora ser deducidas
inmediatamente a partir de dicha figura.
f’
f’f’
f’
W1 W2f
f
f f
f
fv1
v2
v3 z3
z2
z1
y3
y2
y1
e3
e2
e1
d1
d2
d3
u1
u2
u3
e1
e2
e3
f’f’
W2
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 1
37
1 1
´( )
´( ) 1 1
li
ll l lii j ij
j
ef l L
f w l L(1.48)
el cual es el término deducido matemáticamente en la sección anterior. Como pudimos observar este
método es una alternativa bastante confiable y efectiva para encontrar los gradientes en RN de arquitectura
más complicada.
(a)
(b)Figura 1.14 Diagrama representativo de una RN y el esquema de la RA
1.8 Teorema universal de aproximación
Este teorema nos proporciona la justificación teórica para el uso de RN en la aproximación de
funciones.
Teorema 1.1: Sea f (⋅) una función continua, no constante, acotada y monótona creciente. Sea
Imo un hipercubo unitario de dimensión mo. El espacio de funciones continuas en Imo es denotado por
C(Imo). Entonces, dada cualquier función f ∈C(I mo) y ε > 0 , existe un entero M y conjuntos de
constantes reales αi , βi y wij donde i = 1,...,m1 y j,...,mo tal que definimos
01
011 1
( , , )
mm
m i ij j ii i
F X X f w x
como una realización aproximada de la función f (⋅) ; esto es,
0 01 1( , , ) ( , , ) m mF X X f X X
para todo x1, x2,…, xmo que yace en el espacio de entradas.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
38
Capítulo 2, [25]
Redes Neuronales Recurrentes
En [29], [34], [46], [47], se describen modelos de RN usados para la predicción y control de
sistemas dinámicos. Como mencionamos en el capítulo anterior, las RN pueden derivarse en dos grupos
tomando en cuenta su estructura, RN feed forward (RNFF) (estáticas) y RN recurrentes (RNR). En las RN
estáticas su respuesta es independiente del tiempo. En consecuencia, una vez que se han ajustado sus
parámetros, la respuesta a una entrada determinada será la misma, no importando en que instante la
entrada se presente. Las RN estáticas son muy útiles en los problemas de clasificación de patrones y
aproximación de funciones porque constituyen aplicaciones no lineales entre el espacio de entradas al
espacio de salidas de las variables involucrada. En teoría, se tiene la certeza de que una red neuronal de
conexiones hacia delante con una capa oculta no lineal y una capa de salida lineal puede aproximar
cualquier función con el grado de precisión que se desee [18].
Sin embargo, existen problemas que necesitan de un sistema que tenga una respuesta que dependa
de su estado anterior. Y por tanto, requieren de estructuras que tengan una dinámica interna propia. Si la
respuesta de una red neuronal depende de su pasado se dice que es una red neuronal dinámica. Algunas
tareas para este tipo de RN son: la predicción de series, la identificación y el control de sistemas
dinámicos. Las RNR se han usado para mejorar el desempeño en problemas de clasificación que habían
sido resueltos por medio de RN estáticas. La ecuación de las RNR en tiempo continuo es la siguiente:
1
2
, ,
,
x f x u w
y g x w
(2.1)
donde x representa el estado de la RN, u la entrada externa, 1w y 2w son los parámetros de la red
(pesos), f es una función que representa la estructura de la red y g es una función que representa la
relación entre la salida y la entrada.
2.1 Red de Hopfield
La red de Hopfield es una de las redes neuronales dinámicas que más han sido estudiadas [11],
[18]. Consiste de dos capas, la de entrada y la de Hopfield. Cada nodo de la capa de entrada se conecta
directamente a un solo nodo de la capa de Hopfield. La capa de Hopfield consiste de un conjunto de
neuronas y un conjunto de elementos de retardo que forman un sistema retroalimentado de varios lazos
como se observa en la figura 2.1. La ecuación que representa la red de Hopfield es la siguiente [12]:
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
39
1
1j j
n
j ij i ji
x k f v k
v k w x k
(2.2)
donde f es una función de activación de tipo escalón, ix es el estado de la red, ijw son los pesos y j es
el umbral.
En esta red el número de lazos de retroalimentación es igual al número de neuronas. La salida de
cada neurona se pondera y retroalimenta a través de un elemento de retardo a cada una de las neuronas de
la red. La presencia de retroalimentación en esta red la hace interesante para las aplicaciones de modelado
y control de sistemas dinámicos [6].
Aprendizaje de la red de Hopfield
La red de Hopfield tiene un mecanismo de aprendizaje off-line. Por lo tanto, existe una etapa de
entrenamiento y otra de funcionamiento de la red. En la etapa de aprendizaje se fijan los valores de los
pesos en función de las informaciones que se pretenden almacenar en la red, una vez establecidos, la red
entra en funcionamiento.
Esta red utiliza un aprendizaje no supervisado de tipo Hebbiano, de tal forma que el peso de una
conexión entre neurona y neurona se obtiene mediante el producto de los componentes i -ésimo y
j -ésimo del vector que representa la información o patrón que debe almacenar.
Muchas de las investigaciones acerca de la estabilidad de las redes se basan en el establecimiento
de una función, denominada función de energía de la red, para representar los posibles estados (puntos de
equilibrio) de la red.
La función de energía de una red de Hopfield discreta tiene la siguiente forma:
01 1
12
n n
ij i j ii j
E w x x x
(2.3)
donde ijw es el peso de la conexión entre neurona y neurona, ix entrada de la neurona i , jx entrada de la
neurona j , i es el umbral. Cuando se presenta a la entrada de la red una nueva información, esta
evoluciona hasta alcanzar un mínimo de la función de energía, generando una salida estable.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
40
Figura 2.1 RN de Hopfield en tiempo discreto
2.2 Red Neuronal Recurrente Entrenable
Muchos han sido los investigadores que han experimentado con diferentes arquitecturas de redesneuronales recurrentes (ver [36], [37], [21], [14], [51], entre otros). Por ejemplo la arquitectura Williams-Zipzer [17] permite a cualquier neurona de la red estar conectada a cualquier otra neurona dentro de lamisma red, esto implica que no necesariamente se trata de una red estática o recurrente. La estructuraJordan-Elman [14], [21] en cambio, es más específica ya que tiene una capa extra de neuronas que tomanlas activaciones existentes de la capa de neuronas ocultas y se retardan estos valores por un instante detiempo para después hacer una retroalimentación introduciendo estos valores como entradas adicionales alas neuronas de la capa oculta; en esta red se considera la retroalimentación unitaria, es decir, los pesos deretroalimentación no son entrenables. Ambas estructuras, aunque muy generales presentan algunasdesventajas, entre las más importantes algunos problemas de estabilidad y lenta convergencia.
En trabajos más recientes se han superado estas y otras desventajas, por ejemplo en [39] sepresenta detalladamente una estructura para el caso continuo que podría clasificarse como tipo Hopfield[17], el tipo más simple de esta estructura es considerándola sin capas ocultas, es decir únicamente concapas de entrada y salida.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
41
A continuación se presenta la estructura de la red neuronal recurrente usada en este trabajo. Laestructura de esta red neuronal se basa en un modelo en variables de estado de un sistema no linealdiscreto. Es una red de estructura híbrida, es decir tiene una parte recurrente y una parte feed forward.Todos los parámetros de la red son entrenables a través de un algoritmo de tipo retro propagación delerror.
En los trabajos [4], [3], se presenta esta Red Neuronal Recurrente Entrenable (RNRE) con algunosresultados en los problemas de identificación de sistemas no lineales. Esta RNR está descrita por lassiguientes ecuaciones, ver la figura 2.2
1 ,X k AX k BU k (2.4)
,Z k f X k (2.5)
,Y k f CZ k (2.6)
,iA block diag A (2.7)
1A (2.8)
en donde X es el vector de estados de la red; U es el vector de entrada; y Y es el vector de salida;
Z es un vector auxiliar. Las dimensiones de estos vectores son , , p y , respectivamente. f es
un vector de funciones de activación.
Entre las posibles opciones para estas funciones se tienen la función sigmoide y la funcióntangente hiperbólica. La dimensión de este vector es la apropiada según sea para la capa interna de la red,o bien, para la capa de salida; A es una matriz diagonal por bloques. Los bloques corresponden a lasformas de Jordan de dimensión 1 1 y 2 2 ; iA es el bloque i -ésimo de A . La propiedad (2.8) esla condición de estabilidad de la RNRE indica que los elementos del espectro de A deben estar dentro delcírculo unitario. Esta condición garantiza la estabilidad en la fase de operación de la RN. Las matrices B
y C son los pesos de entrada y salida de la RNRE, respectivamente. Notar que este modelo de RNRE esparamétrico de manera que es útil para tareas de identificación y control de sistemas. En la siguientesección se citan resultados sobre las propiedades de controlabilidad y observabilidad de este modelo deRNRE.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
42
Figura 2.2: Ejemplo de RNRE con tres entradas, tres salidas y tres nodos en la capa oculta.
2.2.1 Propiedad de Observabilidad de la RNRE
Una RN se dice observable si el estado de la red puede ser determinado para un conjunto finito de
entradas/salidas medibles. A continuación ofrecemos una prueba de la observabilidad local de la RNRE
con la idea de que este procedimiento sea aplicado dentro de la vecindad de un punto de equilibrio de la
red.
Teorema de observabilidad local [24]: “Sea la RNRE definida por (2.9) y (2.10), y sea su
versión linealizada alrededor del origen (i.e. punto de equilibrio) definida por las ecuaciones (2.9) y
(2.11). Si el sistema linealizado es observable, entonces la RNRE es localmente observable alrededor del
origen”.
Para demostrar este teorema es preciso hacer algunas consideraciones importantes, la primera
como ya se mencionó es limitarnos a una vecindad alrededor de un punto de equilibrio de la red.Un estado
de la red X se dice que es un punto de equilibrio de la ecuación (2.4) si, para una entrada u , se satisface
la condición:
Z-1
Z-1
Z-1
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
43
0AX BU
Sin pérdida de generalidad, podemos proponer 0X y 0U , en otras palabras, el punto de
equilibrio está representado por el origen (0,0).
También sin pérdida de generalidad, podemos simplificar el procedimiento limitándonos a el caso
una entrada – una salida, es decir un sistema SISO. Podemos reescribir las ecuaciones (2.4), (2.5) y (2.6)
de la siguiente forma:
1x k Ax k Bu k (2.9)
y k f Cf x k (2.10)
En donde B y C son ahora vectores de dimensión ( 1)n y (1 )n respectivamente, ( )u k es una
entrada escalar y ( )y k es una salida escalar. Puesto que f es continuamente diferenciable para las
funciones sigmoideas de las ecuaciones (1.5) y (1.6), podemos entonces linealizar la salida del sistema
descrita por la ecuación (2.10) mediante una expansión en series de Taylor alrededor del punto de
equilibrio (0,0).
En general podemos reescribir la ecuación (2.10) como se muestra a continuación:
( , )y g x u
entonces linealizando alrededor del estado de equilibrio (0, 0)sp mediante expansión en series de
Taylor tenemos que:
( , ) ( ) 0 0S S
sp p
g gg x u g p x u O
x u
donde O representa términos de orden superior, y como ( ) ( ) 0s sy p g p entonces tenemos que la
ecuación linealizada (despreciando los términos de orden superior) queda:
S Sp p
g gy x u
x u
pero como sp es el origen, entonces
0x x x
0u u u
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
44
quedando la ecuación linealizada (en notación matricial) como:
y Cx Du
donde
1S S
np p
g gC
x x
Sp
gD
u
En nuestro caso, de la ecuación (2.10) tenemos que 0Sp
gu
por lo tanto la ecuación
linealizada finalmente queda
y k Cx k (2.11)
entonces
y k Cx k
1 1y k Cx k
CAx k CBu k
1 21 3 2n ny k n CA x k CA Bu k CABu k n CBu k n
donde n es la dimensión del espacio de estados.
Entonces podemos afirmar que el sistema dado por (2.4) y (2.11) es observable [24] si
10 , ,...,T TT nM C CA CA
es de rango pleno. 0M es la matriz de observabilidad del sistema (2.4) y (2.11) y como estamos tratando
con sistemas SISO entonces 0M es de dimensión ( )n n .
Sea 1 , 1 , , 2T
nu k u k u k u k n una secuencia de entradas de la RNRE,
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
45
entonces dado un estado inicial x k , 1nu k genera la secuencia de salidas
, 1 , , 1T
ny k y k y k y k n . Y considerando el siguiente mapeo:
1 1, ,n n nF u k x k u k y k
donde 2 1 2 1: n nF . Entonces podemos expresar el Jacobiano de H con respecto a 1nu k y
x k , evaluado en el origen como se muestra a continuación:
1
1 10,0 0,0(0,0)
1
0,0 0,0
n n
n nobs
n n
u k y ku k u k
Ju k y kx k x k
(2.12)
Es un sencillo ejercicio verificar que el Jacobiano de ny k con respecto a x k , evaluado en el origen,
es igual a la matriz de observabilidad OM , es decir
0,0
nO
y kM
x k
entonces el Jacobiano de F con respecto a nu y x k evaluado en el origen es:
0,000
obsI S
JM
(2.13)
dondeI es la matriz identidad, 0 es la matriz nula y S no tiene un interés de importancia.
Dado que (0,0) 0 0obsDet J Det I Det M Det M tenemos que si 0M es de rango pleno
(0,0)obsJ también lo tendrá.
Ahora recordemos el siguiente teorema:
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
46
Teorema de la función inversa [48]: Supongamos que 11 2, ,..., nh h h h C en un
conjunto abierto nQ , y sea T h Q . Si el determinante jacobiano 0J a en un punto
a Q , entonces existen dos conjuntos abiertos X Q y Y T y una función g unívocamente
determinada tal que:
a) a Q y h a Y
b) Y h X
c) h es uno a uno en X
d) g está definida en Y , g Y X y g h x x , x X
e) 1g C en Y
Aplicando este teorema al análisis anterior puesto que (0,0) 0 0obsDet J Det M donde 0M
es la matriz de observabilidad del sistema linealizado, entonces podemos decir que existe localmente un
mapeo inverso definido por:
11 1, ,n n nu k x k F u k y k
Esto quiere decir que en una vecindad del origen, x k es alguna una función no lineal de
1nu k e ny k , y que esa función no lineal es un observador de la RNRE. Entonces podemos
establecer formalmente que como el sistema linealizado de la red es observable, entonces la RNRE es
localmente observable dentro de una vecindad alrededor del origen [24].
2.2.2 Propiedad de Controlabilidad de la RNRE
Se dice que un sistema es controlable si desde cualquier estado inicial es posible alcanzar a
cualquier otro punto en el espacio de estados completo por medio de una entrada adecuada u . Aquí
nos referimos a controlabilidad local en una vecindad del punto de equilibrio. Supongamos sin pérdida de
generalidad que el origen es un estado de equilibrio, además, que la red es una RN con una entrada y una
salida (SISO).
De la ecuación (2.4) tenemos que:
1x k Ax k Bu k
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
47
entonces
1x k Ax k Bu k
2 1 1 1x k Ax k Bu k A Ax k Bu k Bu k
1 1 ... 1n nx k n A Bx n A Bu k n ABu k Bu k
donde n es la dimensión del espacio de estados.
Entonces podemos afirmar que el sistema (2.4) es controlable [24], si la matriz de controlabilidad
1 ,..., ,nCM A B AB B
es de rango n (es decir de rango pleno).
2.2.3 Aprendizaje de la RNRE
La ley de aprendizaje o regla ajuste de los pesos para la red neuronal recurrente, que se describe
por las ecuaciones (2.4) a (2.7), se obtiene por medio de retro propagación del error de salida (ver sección
(1.6.2). El procedimiento consiste en obtener los gradientes de cada nodo de la red y después aplicar el
algoritmo optimización por gradiente descendente para actualizar los pesos.
Sin embargo con el objetivo de disminuir la complejidad de este procedimiento utilizaremos la
herramienta del método diagramático y la red adjunta descrito en la sección (1.7).
El objetivo de la ley de aprendizaje es minimizar la suma de los cuadrados del error de salida:
2
1
1( ) ( ),
2
p
ii
E k e k
en donde ( ) ( ) ( ),di i ie k y k y k ( )d
iy k es el valor deseado en la i -ésima salida de la RNRE.
La actualización de los pesos de la RNRE se lleva a cabo por medio de la ecuación:
( 1) ( ) ( )w k w k w k (2.14)
en la que
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
48
( )( ) ( 1) ( ) ,
( )ij ij ijij
E kw k w k w k
w k
(2.15)
en donde ( )ijw k representa un peso de la RNRE; ( )( )ij
E kw k
es el gradiente del índice de desempeño de la red
con respecto al peso ijw que se va a ajustar; es la tasa de ajuste.
La ley de ajuste de los pesos de la red (2.15) actualiza el valor del peso en la dirección del mayor
descenso de la función de costo, esperando que al seguir este camino se alcance el punto en donde el peso
define un mínimo global para esta función. Sin embargo, este algoritmo tiene algunos problemas: durante
la actualización del peso puede caer en un mínimo local y estacionarse allí y, por tanto, no alcanzar el
punto mínimo global de la función; la lentitud de este algoritmo es otro problema, esto debido a que el
peso puede estar en una zona plana del gradiente, aquí las iteraciones del algoritmo implican sólo un
cambio pequeño del peso; otro defecto se produce en sistemas con poco amortiguamiento, al llegar a un
punto mínimo (local o global) el algoritmo tiende a oscilar alrededor de este. Una forma sencilla para
reducir estos efectos se logra con la ayuda de un término adicional a la ecuación (2.15) que le añade
amortiguamiento, se llama término momento [35]. La regla de ajuste de los pesos con este término es:
( )( ) ( 1) ( ) ( 1),
( )ij ij ij ijij
E kw k w k w k w k
w k
(2.16)
en donde es la tasa para el término momento. A la ecuación (2.16) se le conoce como regla delta
generalizada.
En [15] se da la siguiente explicación del término momento. Si la regla delta generalizada se
desarrolla como una serie para 0,..., ,k n se obtiene una ecuación de diferencias de primer orden para
( )ijw k , esto es:
0;k 0
0 ,0ij
ij
Ew
w
1;k
1 1 01 0 ,
1 1 0ij ijij ij ij
E E Ew w
w w w
2;k
22 2 1 01 1 ,
2 2 1 0ij ijij ij ij ij
E E E Ew w
w w w w
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
49
;k n
0
1 0; ( )
1 0
( ) ,
( )
nij
ij ij ij
nn r
r ij
E n E n Ek n w n
w n w n w
E rw r
entonces la expresión para el cambio de peso, ( )ijw n es una serie exponencial. Un requisito para la
convergencia es que el parámetro este entre los límites:
0 1a (2.17)
si a se le da un valor entre los límites (2.17), entonces se considera a la ecuación (2.16) como un
algoritmo de ajuste con tasa, o coeficiente, de aprendizaje variable. Si se toma a ( )1
( )ij
E rw r
para toda r , la
ganancia final del algoritmo es:
lim ( ) ,1ij
rw r
(2.18)
lo cual implica que si el algoritmo (2.16) está en una zona en donde ( )( )ij
E rw r
tiene un valor pequeño durante
varias iteraciones, la ganancia del algoritmo se incrementa exponencialmente hasta la ganancia
límite (2.18), esto acelera la variación de la ganancia para salir de tal situación, aumentando así su
velocidad. Sobre el límite de la ganancia, notar que si el valor de se toma de la forma:
1 , (2.19)
la ganancia final será 1, por esta razón la condición (2.19) es una regla para definir el valor de .
El término momento también ayuda a reducir el efecto que ocurre cuando
( )( )ij
E rw r
cambia de signo
de manera alternada. Si se define a
( )
( ),( )ij
E kA k
w ky se obtiene la transformada Z de la ecuación (2.21), se
tiene:
( ),
( )ijW z z
A z z
(2.20)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
50
es decir que la variación del peso ( )ijW z y el gradiente de la función de costo, ( )A z , presenta un
comportamiento de un filtro pasa-bajos, lo cual significa que si el gradiente de la función de costo cambia
de forma alternada de signo, entre más rápido sea este cambio, menor es el efecto sobre la variación del
peso, amortiguando de esta forma las oscilaciones alrededor de un punto mínimo.
De lo anterior se concluye que el término momento (2.16) es útil para acelerar el aprendizaje y
estabilizar el comportamiento de la regla delta (2.15).
Ahora bien, la actualización de los pesos en cada una de las capas de la RNRE puede ser obtenida
siguiendo el diagrama a bloques de la red adjunta de la RNRE (ver figura 2.3), construida utilizando el
método diagramático [49] revisado en el capítulo anterior.
Figura 2.3 (a) Diagrama a bloques de una RNRE. (b) Diagrama a bloques de la red adjunta de una RNRE
Definamos la n n matriz diagonal jacobiana: ´ ´ ;if y k diag f y k 1,...,i l .
Por lo que el 1l vector del error de salida amplificado es dado por la siguiente ecuación:
q-1
A
CB
(a)
(b)
q+1CT BT
A
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
51
1 ´e k f y k e k (2.21)
y la actualización de los pesos de la matriz de salida es:
1TC e k z k (2.22)
la actualización de los pesos de los elementos de la matriz de pesos de la capa oculta, para el modelo en
tiempo discreto de la RNRE, es realizado de la siguiente manera, [35]:
´ij i i ja C e k f z k x k (2.23)
´ij i i jb C e k f z k u k (2.24)
donde ija es la actualización del peso ij -ésimo elemento de la matriz general de pesos A bajo
aprendizaje; iC es el i -ésimo vector renglón, tomado de la matriz transpuesta TC ; e k es el vector
del error de salida amplificado; if z k es el i -ésimo elemento del vector de la primera derivada de la
función de activación, el cual es expresado como función del vector de salida de la primera capa oculta
z k ; jx k es el j -ésimo elemento del vector de estado x k ; ijb es la actualización del peso del
ij -ésimo elemento de la matriz de aprendizaje B ; ju k es el i -ésimo elemento del vector de entrada
u k . La forma matricial de estas dos ecuaciones puede ser obtenida introduciendo algunas matrices y
vectores auxiliares como a continuación se muestra.
Definiendo el 1n vector de error, el cual aparece en la salida de la capa oculta, como:
2 1Te k C e k (2.25)
definiendo también la n n matriz diagonal jacobiana:
´ ´ , 1,...,i if z k diag f z k i n (2.26)
por lo que el 1n vector de error de salida transformado es dado por la siguiente ecuación:
3 2 ´e k e k f z k (2.27)
y la matriz de corrección de pesos de la matriz general de pesos A es:
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
52
3TA e k x k (2.28)
Si la matriz A es una matriz diagonal, ; 1,..., ; 1ii iiA diag A i n A (condición de
estabilidad impuesta), y la diagonal de esta matriz es un 1n vector, denotado por vA , entonces la
actualización de los pesos de este vector es la siguiente:
3vA e k x k (2.29)
la operación se define como el producto de cada uno de los elementos de igual índice k para formar
un nuevo elemento con el mismo índice k en el vector resultado. Ambos vectores deben tener la misma
dimensión 1n
La actualización de la n m matriz de pesos de entrada B , es la siguiente:
3TB e k u k (2.30)
2.2.4 Estabilidad de la RNRE [30]
Es muy importante y fundamental el concepto de estabilidad en cuanto a RNR’s se refiere. La
prueba de estabilidad que se presenta a continuación es en el sentido de Lyapunov. Sea la RNRE descrita
por las ecuaciones (2.4), (2.5) y (2.6);
1 ,X k AX k BU k
,Z k f X k
,Y k f CZ k
y considere la planta no lineal descrita por las siguientes ecuaciones [29]:
1 ( , )k k kx g x u (2.31)
( , )k k ky h x u (2.32)
Las funciones no lineales de la planta y las funciones de activación de la RNRE cumplen con las
siguientes consideraciones:
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
53
Suposición 1. La planta dinámica es localmente Lipschitz, entonces las funciones g , h son tales
que
0 1: , kg g g g g g g x (2.33)
0 1: , kh h h h h h h x (2.34)
Suposición 2. Las funciones de activación f de la RNRE tienen la siguiente aproximación en
series de Taylor
( )( ) ( )
ff f
(2.35)
con el término es acotado por
22
2L (2.36)
el error de aproximación es definido como
ˆk k ke y y (2.37)
1 1 1ˆ ˆ( ) ( ) ( , )k k k k k k k ke y y f C x f Cx h x u (2.38)
ahora definamos el error de estimación del estado como
ˆk k kx x (2.39)
1 1 1ˆk k kx x ˆ( ) ( ) ( , )k k k k k k k kf A x B u f Ax Bu g x u (2.40)
entonces el error de aproximación y el error de estimación de estado son acotados.
Si se cumplen las condiciones anteriores, el algoritmo para la actualización de los pesos de la
RNRE está dado por las ecuaciones (2.14) y (2.16), y reescribiéndolas de la siguiente manera tenemos:
1 1k k k kW W W W (2.41)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
54
Definamos una función candidata de Lyapunov
2 2 2
k k k kL A B C ;2 2 2
1 1 1 1k k k kL A B C (2.42)
Si el algoritmo de aprendizaje para la actualización de los pesos está dado por (2.41) entonces
tenemos que:
2 2 22 2 22 21 1 1 1
2 2 22 2 22 21 1 1
2 2 22 2 22 21 1 1
2 2 2
2 2 2
2 2 2
k k k k k k k k k k
k k k k k k k k k
k k k k k k k k k
L A A A tr A A tr A A tr A A
B B B tr B B tr B B tr B B
C C C tr C C tr C C tr C C
(2.43)
considerando las leyes de actualización de las matrices A , B y C dadas por las ecuaciones (2.22),
(2.28) y (2.30) tenemos que:
3 3 1 3 3 1
3 3 1 3 3 1
3 3 3
2 2 2 22 22 21 1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1
2 2
2
T T T T T Tk k k k k k k k k k k k k k k
T T T T T Tk k k k k k k k k k k k k k k k k k k
T T Tk k k k k k k
L L e x e u e z e x e u e z
tr A e x B e u C e z tr A e x B e u C e z
tr e x e x e u e 3 1 11 1 T T Tk k k k ku e z e z
(2.44)
Ahora debido a la definición de error dada en las ecuaciones (2.37) y (2.38), sacando a éste como
término común, usando propiedades de la traza y utilizando una propiedad de desigualdad establecida en
[39], pueden ser obtenidas las siguientes sentencias:
2 2 2 22 2 1max 3 max 5
2 2 2 22 1 21 1 1 1 1 1 1 1 1 1 max 3 max 5 1
ˆ( ( ( ) ( ) ( ) ( ) ( ) ( ) ( ) 2) )
ˆ( ( ( ) ( ) ( ) ( ) ( ) ( ) ( ) 2) )
T T T T Tk k k k k k k k k k k k
T T T T Tk k k k k k k k k k k
L f z C f y x f z C f y u f y z e
f z C f y x f z C f y u f y z e d
2 2
1k k kL e e d (2.45)
Donde las dinámicas no modeladas, perturbaciones, errores de aproximación están representados
por el término d como se muestra a continuación:
1 1 146 6 3 1 2
2 2 2 2 2 22 2 2 21 1 1 1 1:
k k k k k k k k k k kd e e e e (2.46)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 2
55
La ecuación (2.45) nos permite establecer el siguiente teorema, cuya demostración se ha
presentado:
Teorema de estabilidad [30]: Sea la RNRE con una estructura canónica de Jordan, [59],
descrita por las ecuaciones (2.4), (2.5), (2.6) y (2.7); y el modelo de la planta no lineal dado por las
ecuaciones (2.31) y (2.32). Y aplicando el algoritmo BP para la actualización de las matrices de pesos
kA , kB y kC dado por la ecuación (2.41), con parámetros de aprendizaje y derivados utilizando la
siguiente función de Lyapunov (ecuación (2.42))
222 ~~~kkkk CBJL
Entonces el error de identificación es Acotado.
2 21k k kL e e d
donde los parámetros de aprendizaje y son acotados como se muestra a continuación:
0 1 ; 0 1
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 3
56
Capítulo 3, [25]
Identificación y control de sistemas utilizando RN
3.1 Identificación de sistemas utilizando RN
Para realizar el control Mediante una Red Neuronal es necesario construir un modelo matemático
en el espacio de estados de la planta a controlar para, posteriormente, hacer una identificación paramétrica
y utilizar estos resultados en el diseño del controlador. La identificación del sistema es un proceso
fundamental previo al control del o los procesos que se lleven a cabo por la planta, ya que nos permite
obtener información medular del comportamiento del sistema, el cual, hasta antes de la identificación
aparece ante nosotros como una “caja negra”. El objetivo de la identificación es conocer los estados y
parámetros de la estructura de la planta, así como obtener un modelo que tenga un comportamiento
aproximado a esta.
El uso de las redes neuronales para la identificación de sistemas se ha extendido de manera
importante debido a que permiten aproximar una gran variedad de clases de funciones no lineales con
suficiente precisión, haciendo de ellas las principales candidatas para utilizarse en modelos dinámicos,
para la representación de plantas no lineales.
3.1.1 Identificación de sistemas
La caracterización e identificación son problemas fundamentales en la teoría de sistemas. El
problema de caracterización consiste en la representación matemática de un sistema; el modelo de un
sistema es expresado como un operador P de un espacio de entrada U a un espacio de salida Y y el
objetivo es caracterizar la clase P a la cual P pertenece. Dada la clase P y el hecho que P P , el
problema de identificación es determinar la clase ˆ P P tal que P aproxime a P en algún sentido
deseado.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 3
57
El problema de reconocimiento de patrones es un ejemplo típico de identificación de sistemas
estáticos. En estos problemas, conjuntos compactos niU R son mapeados a elementos m
iy R ;
1,2,...,i en el espacio de salida por una función de decisiónP . Los elementos de iU denotan los
vectores de patrones correspondientes a la clase iy . En sistemas dinámicos, el operadorP , que representa
a una planta dada, es definido implícitamente por el par de entrada-salida de las funciones del tiempo ( )u t ,
( )y t , [0, )t T . En ambos casos el objetivo es determinar P tal que
ˆˆ ( ) ( ) ,y y P u P u u U (3.1)
para algún 0 deseado y con una norma apropiadamente definida en el espacio de salida (denotada
). En la ecuación (3.1) ˆ ˆ( )P u y denota la salida del modelo de identificación de ahí que
y y e , donde e es el error de salida generado por P y la salida observada y .
En el campo de los sistemas lineales invariantes en el tiempo con parámetros desconocidos la
obtención de modelos de identificación ha sido bastante bien estudiada, por ejemplo:
Sea
1 ( ) ( )
( )
x k A k Bu k
y k Cx k
(3.2)
una planta SISO controlable y observable, la matriz A y los vectores B y C pueden ser elegidos de tal
forma que la ecuación (3.2), puede ser escrita como:
1 1
0 0
1n m
p i ji j
y k y k i u k j
(3.3)
donde i y j son parámetros constantes desconocidos. Esto implica que la salida al tiempo 1k es
una combinación de sus entradas y salidas pasadas.
La ecuación (3.3) motiva la construcción de los siguientes modelos de identificación, [29]:
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 3
58
Modelo Paralelo
La salida de este modelo al tiempo 1k es una combinación lineal de sus entradas y salidas
pasadas como se muestra a continuación:
1 1
0 0
ˆˆ ˆ ˆ1 ( ) ( )n m
i ji j
y k k y k i k u k j
(3.4)
donde i , 0,1,..., 1i n y j , 0,1,..., 1j m son parámetros ajustables.
Modelo Serie-Paralelo
La salida de este modelo al tiempo 1k es una combinación lineal de sus entradas y salidas
pasadas de la planta como se muestra a continuación:
1 1
0 0
ˆˆ ˆ1 ( ) ( )n m
i ji j
y k k y k i k u k j
(3.5)
donde i , 0,1,..., 1i n y j , 0,1,..., 1j m son parámetros ajustables.
3.1.2 Identificación con Redes Neuronales
Ha sido extensa la aplicación de las redes neuronales en el campo de la identificación gracias a su
capacidad en la aproximación de funciones, [6], [11], [13], [20], [29], [10], entre muchos otros.
En [29] son presentadas cuatro estructuras de sistemas no lineales básicas, las cuales son descritas
a continuación, aunque se han dado para sistemas SISO es posible generalizar para el caso multivariable.
Modelo I:
1
0
1 , 1 ,..., 1n
ii
y k y k i g u k u k u k m
Modelo II:
1
0
1 , 1 ,..., 1m
ii
y k f y k y k y k n u k i
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 3
59
Modelo III:
1 , 1 ,..., 1 , 1 ,..., 1y k f y k y k y k n g u k u k u k m
Modelo IV:
1 , 1 ,..., 1 ; 1 ,..., 1y k f y k y k y k n u k u k m
donde u k y y k representan la entrada y salida de la plantas SISO al tiempo k , y m n . En la
figura 3.1 se muestran el conjunto de modelos. Las funciones : nf en los modelos I y II y
: n mf en IV, así como : mg en I y III son asumidas a ser funciones diferenciables en
sus argumentos. En los cuatro modelos, la salida de la planta al tiempo 1k depende de sus entradas y
salidas pasadas. La dependencia de y k i , 0,1,..., 1i n es lineal para el modelo I, mientras que
en el modelo II la dependencia lineal es con respecto u k j , 0,1,..., 1j m . En el modelo III la
dependencia no lineal con respecto a y k i y u k i es separable. En el modelo IV se tiene
también una dependencia no lineal con respecto a y k i y u k i , y se considera como una
subsuma de los modelos I-III. Si una planta no lineal no puede ser descrita por la ecuación (3.2) y es
observable, entonces esta puede ser representada por alguno de los modelos. A pesar de ser más general el
modelo IV es analíticamente menos tratable y por lo tanto para aplicaciones prácticas es preferible
cualquiera de los otros modelos.
Tomando estos modelos como referencia se puede hacer identificación utilizando RN. Supóngase
desconocidas las funciones f y g entonces una RN es aplicada para identificar las funciones dadas. Es
posible que una sola RN sea capaz de identificar las dos funciones, en otras palabras, empleando una RN
con múltiples entradas y múltiples salidas. Más adelante se mostrará mediante resultados en simulación la
prueba de esta afirmación. En base a lo anterior los modelos de identificación I-IV son representados de la
siguiente forma:
Modelo IRN:
1
0
1 , 1 ,..., 1n
ii
y k y k i N u k u k u k m
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 3
60
(d)
(b)(a)
(c)
Modelo IIRN:
1
0
1 , 1 ,..., 1m
ii
y k N y k y k y k n u k i
Modelo IIIRN:
1 21 , 1 ,..., 1 , 1 ,..., 1y k N y k y k y k n N u k u k u k m
Modelo IVRN:
1 , 1 ,..., 1 ; , 1 , 1y k N y k y k y k n u k u k u k m
donde N , 1N y 2N representan RN.
Figura 3.1 Modelos de Identificación. (a) Modelo I. (b) Modelo II. (c) Modelo III. (d) Modelo IV.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 3
61
Estos modelos IRN-IVRN representados en esta forma asumen que las respectivas RN son del
tipo RNFF como el PMC, sin embargo también es posible utilizar RNR en lugar de éstas. Las estructuras
anteriormente mostradas son útiles para una clase de sistemas bien definidos, en los cuales, se tiene cierto
conocimiento de su estructura, lo cual, hace limitado su uso, especialmente, en sistemas no lineales.
3.1.3 Identificación con Redes Neuronales Recurrentes
Existen diferentes arquitecturas y procedimientos para identificar sistemas utilizando redes
neuronales recurrentes. Trabajos como [20], [44], [45] distinguen la gran aplicabilidad de las RNR en
tareas de identificación, sin embargo, experimentan ciertas limitaciones como lo es el conocimiento del
orden del sistema, o como en [46] en donde se muestra una RNR que es capaz de identificar con un
esquema paralelo, pero no genera sus estados. La RNRE además de ser capaz de generar su propio estado,
el cual es retroalimentado, no está sujeta a consideraciones del orden del sistema. El procedimiento que
utilizamos para entrenar una red neuronal con la finalidad de representar la dinámica de una planta se
conoce como modelado directo, el cual se ilustra en la figura 3.1. En este esquema de identificación la red
neuronal se conecta en paralelo con la planta y el error de identificacióne , el cual, se forma con la
diferencia que existe entre la salida real y la salida estimada, es decir ˆikE Y Y . Este error de
identificación es el que se utiliza para alimentar al algoritmo de aprendizaje de la red neuronal para
actualizar los pesos, esto con la finalidad de que y se aproxime a py .
Figura 3.2 Identificación dinámica de una planta.
Planta
RNR
Algoritmo de
Aprendizaje
Perturbaciones
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 3
62
Esta es una estructura de aprendizaje supervisado clásica en donde el tutor, en este caso la planta,
proporciona los valores deseados directamente en el sistema coordenado de la red neuronal.
3.2 Control de un motor utilizando RNRE
En esta sección de la tesis se abordarán los fundamentos básicos del control de sistemas utilizandoRNRE, los tipos de control que existen en esta modalidad, topologías y ejemplos de su desempeño.
El uso de Redes neuronales en el control de sistemas no es novedoso [2], [3], [18]; sin embargo,su implementación no es tan popular en aplicaciones industriales, debido a que el controlador clásico PIDha respondido con eficacia a la mayoría de éstas. A pesar de ello las RN han demostrado un desempeñosobresaliente en el control de ciertos sistemas particulares, como por ejemplo los sistemas MIMO. En estaocasión, se hará la comparación entre controladores clásicos y neuronales para un motor.
3.2.1 Sistemas de control
La teoría de control trata del análisis y síntesis de sistemas dinámicos en el cual una o más variablescumplen ciertas condiciones. Sea el sistema no lineal
1 ,x k x k u k (3.6)
y k x k
donde : n m n y : n son funciones suaves que se asumen conocidas. El problemade control es diseñar un controlador que genere una señal de control u k basado en toda la informacióndisponible al instante k . En el campo de los sistemas lineales existe un vasto conocimiento en técnicas decontrol, sin embargo, para sistemas no lineales esto no es así.
Un problema muy común en Control Automático es proporcionar una entrada de control correctade tal forma que una planta no lineal sea llevada de un estado inicial ox hasta un estado final o deseado
dx . La forma en que usualmente se resuelve el problema es linealizando la planta alrededor de un ciertonúmero de puntos de operación, construir un modelo lineal de espacio de estados en esos puntos deoperación y entonces construir un controlador, pero para plantas no lineales es requerido un esfuerzocomputacional importante.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 3
63
3.2.1.1 Sistemas de control en el espacio de estados
En la teoría de control clásico, solo se consideran importantes las señales de entrada, de salida yde error; el análisis y diseño se efectúan utilizando funciones de transferencia junto con una serie detécnicas gráficas como los diagramas de lugar de las raíces y de bode [32].
La desventaja principal de la teoría de control convencional, es que en general, solo se aplica asistemas lineales invariantes en el tiempo, con una entrada una salida. A veces resulta inútil para sistemasvariantes en el tiempo, sistemas no lineales y sistemas MIMO. Entonces las técnicas convencionales, notienen aplicación en sistemas de control óptimo o adaptable, que en su mayoría son variantes en el tiempoy/o no lineales.
En el método de espacio de estados se pueden diseñar sistemas con los polos en lazo cerradodeseados. O sistemas de control óptimos respecto a índices de desempeño determinados e incluircondiciones iniciales en caso de que sean necesarias, no obstante se requiere una descripción matemáticaprecisa de la dinámica del sistema en contraste con los métodos convencionales donde, por ejemplo, lascurvas experimentales de respuesta en frecuencia que no tiene exactitud suficiente, se puede incorporar aldiseño sin sus descripciones matemáticas.
3.2.1.2 Sistemas de control adaptable
Uno de los métodos de control más usados en el espacio de estados es el control adaptable ya quees un método versátil ante situaciones de cambio en los parámetros de la planta y/o desconocimiento delos mismos.
Considere primero el caso cuando los parámetros del modelo dinámico de la planta sondesconocidos pero constantes. En tal caso, mientras la estructura del controlador puede no depender engeneral de los parámetros de la planta, el correcto ajuste del controlador no puede ser hecho sin elconocimiento de tales valores. Las técnicas de control adaptable [1], [23], [26], [42], proveen unprocedimiento de sintonización en lazo cerrado para los parámetros del controlador. En tales casos elefecto de la adaptación desaparece con el tiempo, y cambios en la operación provoca un nuevo comienzoen el proceso de adaptación.
Considera ahora el caso en el que los parámetros del modelo de la planta cambian aleatoriamenteen el tiempo. Esto ocurre porque las condiciones ambientales cambian o porque hemos consideradomodelos lineales de sistemas no lineales. Estas situaciones también ocurren cuando los parámetros delsistema varían lentamente. El control adaptable es considerado cuando un gran cambio, del que no se tieneconocimiento, en los parámetros de la planta, ocurre de modo que se tenga un nivel de desempeño
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 3
64
aceptable del controlador y éste se mantenga. En tales casos la adaptación puede ser continua.
El desconocimiento y variaciones no medidas de los parámetros del proceso degradan eldesempeño de sistema de control. Similarmente a las perturbaciones actuando sobre las variables decontrol, uno puede considerar que las variaciones en los parámetros del proceso son causadas porperturbaciones actuando sobre los parámetros. Estas perturbaciones en los parámetros pueden afectar eldesempeño del sistema de control.
Figura 3.3: Esquema básico de un sistema de control adaptable.
Asociado a la figura 3.3 podemos considerar la siguiente definición de sistema de control
adaptable, donde el mecanismo de adaptación en un algoritmo que calcula los componentes del gradientede la función de costo con respecto a los parámetros de ajuste.
Definición 3.2.1: “Un control adaptable mide un cierto índice de desempeño del sistema decontrol usando las entradas, los estados las salidas y las perturbaciones conocidas. De la comparacióndel índice de desempeño medido con otro deseado, el mecanismo de adaptación modifica los parámetrosdel controlador ajustable y/o genera un control auxiliar tal que mantenga el índice de desempeño medidocercano del deseado”.
Mientras el control por retroalimentación convencional es orientado primeramente a laeliminación de los efectos de las perturbaciones sobre las variables de control, el control adaptable esorientado hacia la eliminación de los efectos sobre el desempeño del sistema de control cuando existenvariaciones de los parámetros de la planta. Un controlador adaptable puede ser interpretado como uncontrol por retroalimentación donde la variable de control es el índice de desempeño.
El control adaptable se fundamenta en la siguiente hipótesis: “Para cualesquiera valores posiblesde los parámetros del modelo de una planta existe un controlador con una estructura fija y complejidadtal, que el desempeño especificado puede ser alcanzado con valores apropiados en los parámetros decontrol [23]”. Así pues, para sistemas discretos así como para sistemas continuos, lineales ambos, leyes de
+
Perturbaciones
ControlAdaptable Planta
Mecanismode
Adaptación
Referencia
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 3
65
control estables pueden ser determinadas si está disponible información concerniente a la función detransferencia de la planta. En el caso de sistemas no lineales es necesario ver que el controlador tiene losgrados de libertad necesarios para alcanzar el objetivo deseado, es decir, primero mostrar que existe paracada valor de parámetros de la planta la matriz de parámetros óptimos del controlador, y segundodeterminar leyes de control estables que ajusten a los parámetros del controlador conforme el error decontrol tiende a cero [29].
Como vemos la forma en que los parámetros del controlador se adapten es de vital importancia, enla figura 3.3 el mecanismo de adaptación es relativo a este aspecto. Un método usado para este propósitose basa en la teoría del gradiente descendente, igual que la regla delta utilizada para actualizar los pesos deuna RN se busca minimizar un índice de desempeño, esto es, si el error e es el generado por la diferenciaentre la señal de referencia dy y a salida de la planta y , de y y y los parámetros del controlador,el índice de desempeño o función de costo es
212e (3.7)
Buscamos reducir al máximo este criterio, para esto modificamos los en dirección negativa algradiente de , esto es que
(3.8)
que es igual a la forma en que adaptamos los pesos de la RN con el BP, es llamada constante deentrenamiento. Esta representa la forma más sencilla e adaptar los parámetros, pero existen otros métodosmás complicados como es el caso del uso de la función de Lyapunov [38], [43].
Así pues la ecuación que describe un control adaptable en tiempo discreto es la siguiente:
1 2, ,..., ,nu k r k (3.9)
1i ik k
(3.10)
donde 1: n m es una función lineal y i son los parámetros del controlador.
Según Astrom [1], este esquema de control proporciona ciertas ventajas como:
No es necesario conocer exactamente el modelo del sistema. Puede ser aplicado a sistemas no lineales. La adaptación es buena si es pequeña.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 3
66
Existen cuatro diferentes formas en que se implementa el control adaptable, estas son: I) ControlAdaptable en Lazo Abierto [42], II) Control Adaptable Directo, III) Control Adaptable Indirecto [29] yIV) Control Adaptable con Modelo Interno [29], [27]. En este capítulo abordaremos únicamente elControl Adaptable Directo pues es el que se aplicará para nuestro sistema.
3.2.1.3 Control adaptable directo
En el control adaptable directo, los parámetros del controlador son ajustados directamente parareducir cierto índice de desempeño. En muchos casos, el desempeño deseado del control adaptable directopuede ser especificado en términos de las características de un sistema dinámico el cual es una realizaciónde la conducta deseada del sistema en lazo cerrado. En estos casos, el controlador es diseñado tal que paraun modelo de una planta dada, el sistema en lazo cerrado tiene las características de la dinámica buscadadel sistema.
Establecido lo anterior, el diseño de un control adaptable directo puede ser equivalentementeformulado como en la figura 3.4. El modelo de referencia de esta figura es una realización del sistema condesempeño deseado. La construcción del control es ahora hecho de tal forma que:
1. El error entre la salida de la planta y la del modelo de referencia sean idénticamente cero paracondiciones iniciales iguales.
2. Un error inicial debe desaparecer con una cierta dinámica.
Entonces cuando los parámetros de la planta son desconocidos o cambian con el tiempo, de modo quese alcance o se mantenga un desempeño dado, se debe tomar en cuenta un esquema de Control AdaptableDirecto por Modelo de Referencia y es mostrado en la figura 3.4 [18], [23], [29].
Figura 3.4 Esquema de Control Adaptable Directo por Modelo de Referencia.
Este esquema es basado en la observación de que el error de la planta y el modelo de referencia es
una medición de la diferencia entre el desempeño real y el deseado. Esta información es usada por el
ControlAdaptable Planta
Mecanismo deAdaptación
Referencia
Modelo deReferencia
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 3
67
mecanismo de adaptación para directamente ajustar los parámetros del controlador en tiempo real de talforma que el error entre la planta y el modelo de referencia tienda a cero.
La ecuación que describe el Control Adaptable Directo en tiempo discreto, cuando la adaptaciónes realizada utilizando la regla delta es:
1 2, ,..., ,nu k r k (3.11)
i ik k
(3.12)
donde u es la señal de control, es una función no lineal, son los parámetros del controlador, r es la
señal de referencia, e es el error generado por la diferencia entre la salida de la planta y la señal de
referencia, es el índice de desempeño y es la constante de entrenamiento. Nótese que las ecuaciones
3.11 y 3.12 son similares a las ecuaciones 3.9 y 3.10, esto se debe a que el control adaptable directo es el
esquema de control adaptable más usado.
A pesar de su elegancia, el uso del control adaptable directo es limitado por la hipótesis relativa alsubyacente diseño lineal en el caso de parámetros conocidos. Mientras el desempeño en muchos casospuede ser especificado en términos de un modelo de referencia, las condiciones para la existencia de unposible control permitiendo que el modelo de referencia actúe en lazo cerrado son restrictivas. Una de laslimitaciones básicas es la suposición de tener el modelo de la planta ceros estables en todos los casos, elcual en tiempo discreto es bastante restrictivo, [23].
3.2.2 Control adaptable usando redes neuronales recurrentes entrenables
Por definición un esquema de control que use redes neuronales es un control adaptable, ya que lared neuronal siempre ajusta sus pesos tratando de minimizar un cierto índice de desempeño. En contrastecon los sistemas lineales para los que existe una extensa teoría sobre control adaptable [28], muy poco seha investigado respecto al control adaptable de sistemas no lineales. Recientemente las redes neuronales sehan dado a conocer como unas poderosas herramientas en el aprendizaje de la dinámica de sistemas nolineales. Debido a su paralelismo masivo, rápida adaptación e inherente capacidad de aproximación, [15],las RN han concentrado a un gran número de científicos e investigadores, especialmente en el área deidentificación y control. En la literatura uno puede encontrar trabajos interesantes sobre este tema, [10],[9]. A continuación se presentan dos esquemas de control adaptable.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 3
68
3.2.2.1 Control adaptable directo, [3]
La figura 3.5 muestra el esquema de control directo adaptable utilizando dos redes RNRE. LaRNRE-1 es un identificador (estimador) de los estados de la planta que se usan como entradas a la red decontrol RNRE-2 tiene una segunda entrada que es la señal de referencia. El error de identificación ie sirvepara ajustar los parámetros de la RNRE-1, mientras que el error de control ce sirve para ajustar losparámetros de la RNRE-2. Cabe mencionar que este diagrama, así como los anteriores y precedentes estánplasmados desde un punto de vista SISO, pudiéndose adecuar a sistemas MIMO sin ninguna dificultad,simplemente cambiando las señales simples de entrada y salida por vectores de entrada y salida.
Figura 3.5 Diagrama a bloques para un sistema de control directo adaptable de seguimiento de trayectoria.
Teniendo en cuenta lo anterior podemos obtener una expresión para el control. Consideremos un
sistema definido por la siguiente ecuación.
1 ,x k x k u k
y k x k
(3.13)
donde x es el estado de la planta, y es la salida y u la entrada; y son funciones continuas
diferenciables y sin pérdida de generalidad asumimos que son, cualquiera de las dos, lineales o no lineales.Entonces dada la RNRE definida por la ecuaciones (2.9), (2.10) y (2.11), podemos decir que para unsistema de la forma (3.13) una entrada de control está dada por:
1
,
c c
c
c
i
x k Ax k Bv k
z k f x k
y k f Cx k
v k r k x k
(3.14)
IdentificadorEstados
RNRE-2 PLANTA
RNRE-1Controlador
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 3
69
donde cx , A , B y C son el estado y las matrices de pesos ajustables respectivamente; ix es el vector deestados de la red de identificación; u y r son la señal de control y la señal de referencia respectivamente;o equivalentemente
,
, ,
c
c i
u k N x k v k
u k N x k r k x k
(3.15)
donde N representa una RNRE. En la figura 3.5 se muestra el esquema de este tipo de control usandoRNRE.
El esquema de control mostrado en la figura 3.5 representa el control adaptable directo usando unaRNRE como controlador. La RNRE-1 ajusta sus pesos para obtener una señal y tal que y k y k ,donde y es la salida de la planta y y la salida del sistema aproximado, los pesos de la RNRE-1 sonajustados en línea utilizando el error de identificación ie k y k y k . La RNRE-2 ajusta suspesos para obtener una señal u k tal que y k r k , donde y es la salida de la planta y r señal dereferencia. Los pesos de la RNRE-2 son ajustados en línea usando el error de control
ce k r k y k .
En la figura 3.6 se presenta el esquema de control directo adaptable utilizando tres RNRE. Dos deellas forman parte del controlador, y la tercera es un identificador (estimador) de los estados de la plantaque se usan como entrada de una de las redes de control. De esta forma el control estará formado por unaparte feed forward, dependiente de la trayectoria de referencia, y otra parte feed back, dependiente de losestados que genera el identificador neuronal.
La ley de control está dada por la suma siguiente:
( ) ( )ff fbU k u k u k (3.16)
donde ffu k ya ha sido definida previamente por la ecuación (3.8), es decir:
1 1 ,ff cu k N x k r k (3.17)
donde 1N es el control generado por la RNRE-2, que depende de la señal de referencia.
La expresión para fbu k es una variación de la ecuación (3.10), pues en este caso
iv k x k , quedando la expresión como se muestra a continuación:
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 3
70
2 2
2 2
,
,
fb c
fb c i
u k N x k v k
u k N x k x k
(3.18)
donde 2N es el control de retroalimentación generado por la RNRE-3, y depende del vector de estadosgenerado por la red de identificación.
Sustituyendo la ecuación (3.12) en la ecuación (3.11) obtendremos la siguiente expresión:
1 1 2 2, ,c c iU k N x k r k N x k x k (3.19)
Tanto las RNRE’s de control 2 y 3 como la RNRE de identificación están definidas por lasecuaciones (2.9), (2.10) y (2.11). La RNRE-1 ajusta sus pesos para obtener una señal y tal que
y k y k , donde y es la salida de la planta y y la salida del sistema aproximado, los pesos de laRNRE-1 son ajustados en línea utilizando el error de identificación ie k y k y k . La RNRE-2 yla RNRE-3 ajustan sus pesos para obtener una señal U k tal que y k r k , donde y es la salida dela planta y r señal de referencia. Los pesos de la RNRE-2 y la RNRE-3 son ajustados en línea usando elerror de control ce k r k y k .
Figura 3.6 Diagrama de bloques para un sistema de control adaptable directo utilizando tres RNRE.
RNRE-2 PLANTA
RNRE-1
IdentificadorRNRE-3
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
71
CAPÍTULO 4
Simulaciones y resultados
En este apartado se presentan los resultados tanto de simulación como prácticos de los dos
diferentes esquemas de control (PID y RNRE), aplicados a nuestra planta, así como los cálculos y
procedimientos que fueron necesarios para el desarrollo de este sistema.
4.1 Motor
4.1.1 Cálculo de los parámetros del motor
Primeramente se compró el motor de C.D. que vamos a utilizar:
Figura 4.1 Motorreductor metálico con relación de engranaje 131:1.
Rango de voltaje de operación: 6 a 12Vdc.
Características a 12Vdc:
-Velocidad: 80RPM.
-Corriente sin carga:300mA
-Corriente máxima: 5A
-Torque máximo: 18 Kg-cm (250oz-in).
Características a 6Vdc:
-Velocidad: 40RPM.
-Corriente sin carga:250mA
-Corriente máxima: 2.5A
-Torque máximo: 9 Kg-cm (125oz-in).
Dimensiones: 37D x 57L mm
Peso: 193gramos
Largo del eje: 12mm en forma de "D".
Dimensiones (mm) : 26.5 mm
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
72
Figura 4.2 Dimensiones del motor
Encoder
Es un codificador de dos canales de efecto hall, se utiliza para detectar la rotación de un disco
magnético en una protuberancia posterior del eje del motor.
Proporciona una resolución de 64 conteos por revolución del eje del motor, lo que corresponde a
8384 conteos por revolución del eje de salida de la caja de cambios.
Sensor requiere una tensión de entrada, entre 3.5 y 20 V y dibuja un máximo de 10 mA. Las
salidas A y B son ondas cuadradas de 0 V a Vcc aproximadamente 90 º fuera de fase. La
frecuencia de las transiciones que le dice a la velocidad del motor, y el orden de las transiciones
que indica la dirección. Contando tanto los flancos de subida y la caída tanto de las salidas A y B,
es posible obtener 64 conteos por revolución del eje del motor. Utilizando sólo un solo borde de
un canal de resultados en 16 conteos por revolución del eje del motor, por lo que la frecuencia de
la salida de un osciloscopio en la captura anterior es 16 veces la frecuencia de giro del motor.
Ya teniendo nuestro motor, se calcularon todos los parámetros necesarios para calcular el modelo
matemático de este.
Se midió la resistencia de la armadura (resistencia interna) y la inductancia del motor, dando como
resultado los valores presentados a continuación:
Cabe mencionar que en el caso de la resistencia de la armadura, fue necesario realizar varias
mediciones y tomar el promedio debido al efecto que producen las escobillas en el sistema al realizar la
medición de este parámetro.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
73
RESISTENCIA INTERNA A 6 V
1.- 5.9 Ω
2.- 6.0 Ω
3.- 3.6 Ω
4.- 7.0 Ω
5.- 5.6 Ω
6.- 5.1 Ω
7.- 4.6 Ω
8.- 5.7 Ω
9.- 5.6 Ω
10.- 4.9 Ω
PROMEDIO: 5.4 Ω
RESISTENCIA INTERNA A 12 V
1.- 10.3 Ω
2.- 8.0 Ω
3.- 7.2 Ω
4.- 8.8 Ω
5.- 9.3 Ω
6.- 7.5 Ω
7.- 10.3 Ω
8.- 11.5 Ω
9.- 11.2 Ω
10.- 10.4 Ω
PROMEDIO: 7.97 Ω
INDUCTANCIA: 1.602 mH
4.1.2 Modelo matemático del motor
Partiendo de:
-+ W(s)
Kb
KT
(b)
-+
-+ W(s)
Kb
KT
T
(a)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
74
( ) ( ) ( )
( ) ( ) 1 ( )( ) 1 ( )
( ) ( ) ( )
T TT
a a m a a ma a m T
T T b a a m T b a a m T bb
a a m a a m a a m
K KK
R sL J s R sL J sR sL J s K
K K K R sL J s K K R sL J s K KK
R sL J s R sL J s R sL J s
Dividiendo entre LaJm:
Figura 4.3 (a), (b), (c), (d) y (e) Álgebra de bloques empleada desde el concepto básico de máquina eléctrica para determinar lafunción de transferencia del motor.
Donde:
Va = 12 V
ia = 300 mA
ω= 80 rpm
em= 12 V
Tg= 250 oz in
La= 1.602 mH
Ra= 7.97 Ω
Kb= = 0.15 V
KT= = 833.33
Jm= 20.7 oz in s2
-+G(s)
W(s)
Kb
(c)
W(s)G(S)
(d)
W(s)G(s)
(e)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
75
Figura 4.4 Función de transferencia del motor
Una vez obtenida nuestra función de transferencia, se calculan los siguientes polos:
P1= -0.76
P2= -4974.27
al encontrarse ambos polos en el semiplano izquierdo, se determina que el sistema es estable.
Posteriormente se realiza el cálculo de ξ:
2 ξ ωn = 4975.03ξ= 40.51
40.51 > 1∴ el sistema es sobre amortiguado
4.1.3 Representación de la F.T. en Espacio de Estados
Para obtener la forma canónica controlable, es necesario partir de la función de
transferencia:
Y(s) =2
158.52
4975.03 3769.29s s (4.1)
teniendo que:
A0 = 3769.29
A1 = 4975.03
n = 2
b0 = 158.52
m = 0
por lo tanto m < n
G(s) W(s)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
76
Y la forma canónica controlable quedaría:
1 1
2 0 1 2
0 1 0
1
X Xu
X A A X
1
0
2
0X
y bX
1 1
2 2
0 1 0
3769.29 4975.03 1
X Xu
X X
1
2
158.52 0X
yX
4.1.4 Controlabilidad y Observabilidad
Para saber que nuestro sistema es controlable realizamos lo siguiente.
Partiendo de la ecuación 4.3 y sabiendo que la matriz de controlabilidad (Q) está definida como:
2 1 nQ B AB A B A B
Se tiene que la matriz de controlabilidad del sistema es:
1 4975.03
0 1Q
donde su det ≠ 0 y es de rango = 2 ∴ si es controlable.
Ahora, para saber que el sistema es observable se realizó lo siguiente partiendo de la
ecuación 4.3, sabiendo que la matriz de observabilidad (O) está definida como:
2
1n
C
CA
O CA
CA
(4.2)
(4.3)
(4.4)
(4.5)
(4.6)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
77
Se tiene que la matriz de observabilidad del sistema es:
158.52 00
0 158.52
Donde su det ≠ 0 y es de rango = 2 ∴ si es observable.
4.1.5 Error en estado estacionario
Sabiendo que:
ℓss =
0
1 12
1lims
sGo s
(4.8)
ℓss =
0
12
1lims Go
(4.9)
donde:
Go = Gc (s) G(s) (4.10)
Go =
2 T
a m m a T b
KKiKp Kds
s s L J sJ R K K(4.11)
Go =
2
152.38
4975.03 3769.42
KiKp Kds
s s s(4.12)
Go =
2
2
152.38
4975.03 3769.42
Kps Ki Kds
s s s(4.13)
Go =
2
2
152.38( )
( 4975.03 3769.42)
Kps Ki Kds
s s s(4.14)
ℓss =
2
2
0
12
152.38( ) 1
( 4975.03 3769.42)
lims Kps Ki Kds
s s s
(4.15)
(4.7)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
78
ℓss =
2 2
2
0
12
( 4975.03 3769.42) 152.38( )
( 4975.03 3769.42)
lims s s s Kps Ki Kds
s s s
(4.16)
ℓss =
2
2 20
12 ( 4975.03 3769.42)
( 4975.03 3769.42) 152.38( lims
s s s
s s s Kps Ki Kds(4.17)
ℓss = (4.18)
4.1.6 Cambio de polos del sistema
Para cambiar los polos del sistema, se parte de la ecuación 4.3:
1 1
2 2
0 1 0
3769.29 4975.03 1
X Xu
X X
1
2
158.52 0X
yX
sabiendo que los polos del sistema son:
1
0.76s
1
4974.27s
el polinomio característico deseado es:
2 3 2 0s s
la matriz retroalimentada deseada es:
0 1
2 3rA A Bk
(4.19)
(4.20)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
79
20 0 1 1
det 3 20 2 3 2 3r
s sSI A s s
s s
donde k es la matriz incógnita:
1 2
0 1 0 0 1
3769.29 4975.03 1 2 3k k
1 2
0 1 0 0 0 1
3769.29 4975.03 2 3k k
1 2
0 1 0 1
3769.29 4975.03 2 3k k
donde:
1
3769.29 2k
2
4975.03 3k
1
3767.29k
2
4972.03k
3767.29 4972.03k
Figura 4.5 Retroalimentación de estado
01 - -
++ y(t)( )
[3767.29 4972.03]
[158.52 0]∫0 1−3769.29 −4975.03
(4.21)
(4.22)
(4.23)
(4.24)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
80
4.2 Control de velocidad del motor con PID (Simulación)
Proponiendo Ki: 2.4
Kp = Ki Ti (4.25)
Kp = (2.4) (1.5416)
Kp = 3.7
Kd = Td Kp (4.26)
Kd = (2.7x10-6) (3.7)
Kd = 0.0001
Cabe señalar que todas las variables anteriores pueden modificar sus valores sin
necesariamente estar relacionadas una con las otras dado que se debe realizar un ajuste de los mismos
hasta obtener los resultados deseados a la salida del sistema controlado. Estos valores fueron los que
mejor se adaptaron al sistema utilizado en este apartado.
Para controlar la velocidad del motor antes descrito bajo este enfoque, se utilizó el esquema
de control mostrado en la figura D.1, haciendo uso de la planta descrita en la figura 4.5 y con señal
de entrada dada por la siguiente expresión:
r (k ) = WN (Tm , p, s ) = WN ( 25,[0.25],[2, 3,5, 1, 4]) (4.27)
donde WN (⋅) es una señal de ruido blanco con parámetros Tm, p y s . Se trata de secuencias de
pulsos de amplitud variable acotada por el intervalo [−0.5, 0.5].
Todas las simulaciones se realizaron en MATLAB® Simulink™ en tiempo continuo, el tiempo
de duración de la simulación fue de 1 minuto.
Las figura 4.6 (a) muestra la señal de referencia (azul) y la salida de la planta (roja)
controlada, y la figura 4.6 (b) muestra las mismas señales pero en un intervalo de tiempo menor para
apreciar a manera de “zoom” el control del sistema en los primeros instantes de tiempo. La figura 4.7
muestra la señal de control y por último las figuras 4.8 (a) y 4.8 (b) muestran el error en estado
estacionario y el Error Cuadrático Medio de control (el cual presenta un desempeño aceptable menor
al 2.4% del error), respectivamente.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
81
Figura 4.6 Control PID: (a), (b) Comparación entre la señal de referencia y la señal de salida de la planta.
(a)
0 100 200 300 400 500 600
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
Tiempo
ReferenciavsSalida
Comparación de Control
ReferenciaSalida
(b)
0 10 20 30 40 50 60 70 80 90 100
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
Tiempo
ReferenciavsSalida
Comparación de Control
ReferenciaSalida
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
82
Figura 4.7 Control PID: Señal de control.
0 100 200 300 400 500 600
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Tiempo
Error
Error en Estado Estacionario
(a)
0 50 100 150 200 250 300 350 400-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Tiempo
SeñaldeControl
Señal de Control
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
83
Figura 4.8 Control PID: (a) Error en estado estacionario, (b) Error cuadrático medio de control.
0 50 100 150 200 250 300 350 4000
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1Error Cuadrático Medio
Tiempo
ErrorCuadráticoMedio
(b)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
84
4.3 Control de velocidad del motor con Control Inteligente ‘RNRE’ (Simulación)
El segundo esquema de control empleado para controlar la planta antes mencionada fue el
Control Adaptable Directo utilizando tres RNRE´s, una de ellas para la identificación de los estados y
las otras dos para llevar a cabo las tareas de control, el cual quedará dividido en dos partes (uc = uff
+ ufb ), como se mostrará más adelante, para tal efecto se construyó el sistema mostrado en la figura
3.6. La topología de la RNRE de control Feedforward es (1,3,1) es decir tiene 1 entradas, 3 neuronas
en la capa oculta y 1 neuronas en la capa de salida, los parámetros de aprendizaje fueron: ηC1 = 0.01,
αC1 = 0; La topología de la RNRE de control Feedback es (3,10,1) es decir tiene 3 entradas,
10 neuronas en la capa oculta y 1 neuronas en la capa de salida, los parámetros de aprendizaje fueron:
αC2 = 0, ηC2 = 0.001; La topología de las RNRE de identificación es (1,3,1) es decir tiene 1 entradas,
3 neuronas en la capa oculta y 1 neuronas en la capa de salida, los parámetros de aprendizaje fueron:
αi = 0.001, ηi = 0.7; el tiempo de muestreo utilizado en todos los casos fue Ts = 0.01 minutos, las
funciones de activación de las redes son del tipo tangente hiperbólica; la identificación y el control del
sistema fue realizado en tiempo real, aprovechando las características de las RNRE; el tiempo de
duración de la simulación fue de 2:30 minutos. La señal utilizada como referencia es la misma
utilizada en el esquema de control anterior, descrito por la ecuación 4.27:
r (k ) = WN (Tm , p, s ) = WN ( 25,[0.25],[2, 3,5, 1, 4])
Todas las simulaciones se realizaron en MATLAB® Simulink™ en tiempo discreto.
La figura 4.9 (a) muestra la señal de referencia (azul) y la salida de la planta (roja) controlada, la
figura 4.9 (b) muestra la misma señal pro en un intervalo de tiempo menor a manera de “zoom” para
apreciar de manera más clara el control del sistema en los primeros instantes de tiempo; La figura 4.10 (a),
4.10 (b), 4.10 (c) muestran las señales de control; La figura 4.11, muestra el error instantáneo de control,
podemos observar que este error es acotado, lo cual indica que el sistema es estable; La figura 4.12
muestra el ECM de control, el cual presenta un desempeño aceptable menor al 3.03% del error. La figura
4.13(a) muestra la señal de salida de la planta (azul) controlada y la de identificación (roja) de la planta
controlada, la figura 4.13 (b) muestra las mismas señales pero en un intervalo de tiempo menor para
apreciar a manera de “zoom” la comparación de identificación en los primeros instantes de tiempo; Las
figuras 4.14 (a) y (b) muestra los estados identificados de la planta, con diferencia de intervalos de tiempo
para su mejor observación; La figura 4.15 muestra el error instantáneo de identificación para la salida de
la planta y finalmente la figura 4.16 muestra el ECM de identificación el cual presenta un desempeño
aceptable menor al 0.54% del error.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
85
Figura 4.9 Control directo adaptable con tres RNRE´s: (a), (b) Comparación entre la señal de referencia y la señal de salida de laplanta.
0 5000 10000 15000
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
Tiempo
ReferenciavsSalida
COMPARACIÓN DE CONTROL
ReferenciaSalida
0 200 400 600 800 1000 1200 1400 1600 1800 2000
-0.14
-0.12
-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
Tiempo
RefvsSalida
COMPARACIÓN DE CONTROL
ReferenciaSalida
(a)
(b)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
86
0 5000 10000 15000
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Tiempo
Señaldecontrolff
SEÑAL DE CONTROL I (FEEDFORWARD)
0 5000 10000 15000-0.12
-0.1
-0.08
-0.06
-0.04
-0.02
0
Tiempo
Señaldecontolfb
SEÑAL DE CONTROL II (FEEDBACK)
(a)
(b)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
87
Figura 4.10 Control directo adaptable con tres RNRE´s: (a) Señal de Control ff, (b) Señal de control fb. (c) Señal de control total.
Figura 4.11 Control directo adaptable con tres RNRE´s: Error instantáneo de Control.
0 5000 10000 15000
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Tiepo
Señaldecontroltotal
SEÑAL DE CONTROL TOTAL
0 5000 10000 15000
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Tiempo
Errorinstantáneo
ERROR INSTANTÁNEO DE CONTROL
(c)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
88
Figura 4.12 Control directo adaptable con tres RNRE´s: Error Cuadrático Medio de control.
0 5000 10000 150000
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
Tiempo
ErrorMedioCuadrático
ERROR MEDIO CUADRÁTICO DE CONTROL
0 5000 10000 15000-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
Tiempo
SeñaldelaplantavsSeñaldeidentificación
COMPARACIÓN DEL IDENTIFICADOR
PlantaIdentificador
(a)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
89
Figura 4.13 Control directo adaptable con tres RNRE´s: (a), (b) Comparación entre la señal de salida de la planta y la señal de
identificación de la planta controlada.
2 4 6 8 10 12 14-0.03
-0.025
-0.02
-0.015
-0.01
-0.005
0
0.005
0.01
0.015
0.02
Tiempo
SeñaldelaplantavsSeñaldeidentificación
COMPARACIÓN DEL IDENTIFICADOR
PlantaIdentidicador
0 5000 10000 15000
-0.1
-0.05
0
0.05
Tiempo
Estados
ESTADOS IDENTIFICADOS
x1(k)x2(k)x3(k)
(b)
(a)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
90
Figura 4.14 Control directo adaptable con tres RNRE´s: (a) y (b) Estados identificados de la planta.
Figura 4.15 Control directo adaptable con tres RNRE´s: Error instantáneo de Identificación.
1 1.5 2 2.5 3 3.5 4 4.5 5-0.12
-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
Tiempo
Estados
ESTADOS IDENTIFICADOS
x1(k)x2(k)x3(k)
0 5000 10000 15000-5
0
5
10
15
20x 10
-3
Tiempo
ErrorInstantáneo
ERROR INSTANTÁNEO DEL IDENTIFICADOR
(b)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
91
Figura 4.16 Control directo adaptable con tres RNRE´s: Error Cuadrático Medio de identificación.
0 5000 10000 150000
0.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04
0.045
0.05
Tiempo
ErrorMedioCuadrático
ERROR MEDIO CUADRÁTICO DEL IDENTIFICADOR
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
92
4.4 Control de velocidad del motor con PID (Pruebas físicas)
Para controlar la velocidad de la planta real bajo este enfoque, se utilizó nuevamente el esquema
de control mostrado en la figura D.1, con los valores siguientes en el PID:
Kp = 3.7
Ki = 2.4
Kd = 0.0001
Y utilizando una señal de entrada continua de 0.65.
Todas las pruebas se realizaron en MATLAB® Simulink™ en tiempo continuo, el tiempo de
duración de la simulación fue de 3:20 minutos.
Las figura 4.17 (a) muestra la señal de referencia (azul) y la salida de la planta (roja) controlada, y
la figura 4.17 (b) muestra las mismas señales pero en un intervalo de tiempo menor para apreciar a manera
de “zoom” el control del sistema en los primeros instantes de tiempo y por último la figura 4.18 muestra el
Error Cuadrático Medio de control (el cual presenta un desempeño aceptable menor al 4% del error),
respectivamente.
(a)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Tiempo
ReferenciavsSalida
COMPARACIÓN DE CONTROL
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
93
Figura 4.17 Control PID: (a), (b) Comparación entre la señal de referencia y la señal de salida de la planta.
Figura 4.18 Control PID: Error cuadrático medio de control.
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Tiempo
Referencia
ERROR MEDIO CUARÁTICO DE CONTROL
(b)
0 500 1000 1500 2000 2500 3000 3500 40000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Tiempo
ReferenciavsSalida
COMPARACIÓN DE CONTROL
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
94
4.5 Control de velocidad del motor con Control Inteligente ‘RNRE’ (Pruebas físicas)
El segundo esquema de control empleado para controlar la planta real fue al igual que en el
apartado de simulación, el Control Adaptable Directo utilizando tres RNRE´s, una de ellas para la
identificación de los estados y las otras dos para llevar a cabo las tareas de control, el cual quedará
dividido en dos partes (uc = uff + ufb ), como se mostrará más adelante, para tal efecto se construyó el
sistema mostrado en la figura 3.6. La topología de la RNRE de control Feedforward es (1,3,1) es decir
tiene 1 entradas, 3 neuronas en la capa oculta y 1 neuronas en la capa de salida, los parámetros de
aprendizaje fueron: ηC1 = 0.01, αC1 = 0; La topología de la RNRE de control Feedback es (3,10,1) es
decir tiene 3 entradas, 10 neuronas en la capa oculta y 1 neuronas en la capa de salida, los parámetros de
aprendizaje fueron: αC2 = 0, ηC2 = 0.001; La topología de las RNRE de identificación es (1,3,1) es decir
tiene 1 entradas, 3 neuronas en la capa oculta y 1 neuronas en la capa de salida, los parámetros de
aprendizaje fueron: αi = 0.001, ηi = 0.7; el tiempo de muestreo utilizado en todos los casos fue Ts =
0.01 minutos, las funciones de activación de las redes son del tipo tangente hiperbólica; la identificación
y el control del sistema fue realizado en tiempo real, aprovechando las características de las RNRE; el
tiempo de duración de la simulación fue de 1:40 minutos. La señal utilizada como referencia es la misma
utilizada en el esquema de control anterior, una señal continua de 0.65.
Todas las simulaciones se realizaron en MATLAB® Simulink™ en tiempo discreto.
La figura 4.19 (a) muestra la señal de referencia (azul) y la salida de la planta (roja) controlada, la
figura 4.19 (b) muestra la misma señal pro en un intervalo de tiempo menor a manera de “zoom” para
apreciar de manera más clara el control del sistema en los primeros instantes de tiempo; La figura 4.20 (a),
4.20 (b), 4.20 (c) muestran las señales de control; La figura 4.21, muestra el error instantáneo de control,
podemos observar que este error es acotado, lo cual indica que el sistema es estable; La figura 4.22(a)
muestra la señal de salida de la planta (azul) controlada y la de identificación (roja) de la planta
controlada, la figura 4.22 (b) muestra las mismas señales pero en un intervalo de tiempo menor para
apreciar a manera de “zoom” la comparación de identificación en los primeros instantes de tiempo; Las
figuras 4.23 (a) y (b) muestra los estados identificados de la planta, con diferencia de intervalos de tiempo
para su mejor observación; La figura 4.24 muestra el error instantáneo de identificación para la salida de
la planta y finalmente la figura 4.25 muestra el ECM de identificación el cual presenta un desempeño
aceptable menor al 0.54% del error.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
95
Figura 4.19 Control directo adaptable con tres RNRE´s: (a), (b) Comparación entre la señal de referencia y la señal de salida de la
planta
(a)
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Tiempo
ReferenciavsControl
COMPARACIÓN DE CONTROL
ReferenciaSalida
(b)
0 200 400 600 800 1000 1200 1400 1600 1800 20000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Tiempo
ReferenciavsControl
COMPARACIÓN DE CONTROL
ReferenciaSalida
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
96
(a)
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Tiempo
Referencia
SEÑAL DE CONTROL I (FEED FORWARD)
(b)
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
Tiempo
Referencia
SEÑAL DE CONTROL II (FEED BACK)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
97
Figura 4.20 Control directo adaptable con tres RNRE´s: (a) Señal de Control ff, (b) Señal de control fb. (c) Señal de control total.
Figura 4.21 Control directo adaptable con tres RNRE´s: Error Cuadrático Medio de control.
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Tiempo
ErrorMedioCuadrático
ERROR MEDIO CUADRÁTICO DE CONTROL
(c)
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Tiempo
Referencia
CONTROL TOTAL
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
98
Figura 4.22 Control directo adaptable con tres RNRE´s: (a), (b) Comparación entre la señal de salida de la planta y la señal de
identificación de la planta controlada.
(a)
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Tiempo
PlantavsIdentificador
COMPARACIÓN DEL IDENTIFICADOR
PlantaIdentificador
(b)
0 100 200 300 400 500 600 700 800 900 1000-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Tiempo
PlantavsIdentificador
COMPARACIÓN DEL IDENTIFICADOR
PlantaIdentificador
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
99
Figura 4.23 Control directo adaptable con tres RNRE´s: (a) y (b) Estados identificados de la planta.
(a)
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
Tiempo
Referencia
ESTADOS IDENTIFICADOS
x1(k)x2(k)x3(k)
(b)
0 500 1000 1500 2000 2500 3000 3500 40000
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
Tiempo
Referencia
ESTADOS IDENTIFICADOS
x1(k)x2(k)x3(k)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 4
100
Figura 4.24 Control directo adaptable con tres RNRE´s: Error instantáneo de Identificación.
Figura 4.25 Control directo adaptable con tres RNRE´s: Error Cuadrático Medio de identificación.
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Tiempo
ErrorInstantáneo
ERROR INSTANTÁNEO DEL IDENTIFICADOR
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
Tiempo
ErrorMedioCuadrático
ERROR CUADRÁTICO MEDIO DEL IDENTIFICADOR
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 5
101
CAPÍTULO 5
Conclusiones
La descripción del sistema, el cual es el ejemplo central de este trabajo se presentó en el capítulo4. Se obtuvo el modelo matemático de un motor de corriente directa aplicando técnicas de simplificación,cambio de polos y representación es espacio de estados. Al evaluar el modelo resultante se obtuvorespuestas bastante aproximadas a las que se obtendrían de un sistema real, además de que permitióconocer la dinámica interna del sistema.
Las Redes Neuronales Artificiales son poderosas herramientas para la identificación y el controlde sistemas. Para poderlas ocupar correctamente y obtener buenos resultados mediante su implementaciónes fundamental conocer y manejar los conceptos básicos de los elementos que las conforman, lastopologías y los diferentes tipos de aprendizaje que existen, los cuales son tratados brevemente a lo largode este trabajo. También se presentó el método diagramático para poder derivar los algoritmos deaprendizaje como el BP de una forma más sencilla.
Todas las simulaciones y resultados presentados en este trabajo se realizaron utilizando RNRE,debido a las ventajas que presentan sobre otro tipo de redes estáticas. En los capítulos 2 y 3 se hapresentado una teoría general acerca de las RN, abarcando tópicos importantes como lo son las topologías,estructura, controlabilidad, observabilidad, aprendizaje y estabilidad. La marcada limitación queexperimentan las RN estáticas en cuanto a no poseer dinámica en su estructura y el tener que requerir unagran cantidad de neuronas para llevar a cabo la mayoría de los procesos son sus mayores desventajas antelas RNR.
La identificación es de gran importancia e interés para el control de procesos, ya que permiteobtener información del comportamiento del sistema, por lo que es necesario conocer las herramientaspara poder llevar a cabo esta tarea. Tales elementos son dados a conocer en el capítulo 5; en dichocapítulo, quedó de manifiesto el poder de adaptación que tiene la RNRE para la identificación de sistemas,en donde se mostró que la RNRE se puede adaptar a condiciones y fenómenos externos al modelado de laplanta como lo son retardos en la alimentación del sistema. La RNRE utilizada fue capaz de hacer elseguimiento de la salida y la identificación paramétrica del sistema con excelentes resultados.
Finalmente el objetivo más importante de este trabajo fue alcanzado: el control del sistemapropuesto; como sabemos, existen diferentes esquemas y topologías para llevar a cabo esta tarea, elprincipal enfoque fue desarrollar un esquema de control adaptable directo utilizando 3 RNRE´s, estodebido a su sencillez de operación y a que utiliza una RNRE para sintetizar la ley de control. Losresultados obtenidos de las simulaciones fueron bastante satisfactorios, pues se propusieron diversos tipos
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Capítulo 5
102
de señales de referencia y la RNRE de control fue capaz de adaptarse a todas ellas con una velocidadconsiderable, pudiéndose realizar todos los experimentos en tiempo real, únicamente se documentó un tipode entrada pues es la que se muestra más interesante y difícil de realizar para el sistema al finalizar laspruebas.
Este sistema se comparó en funcionamiento con el de un controlador clásico muy difundido, elPID; y aunque éste presento muy buenos resultados en la salida de la planta y el error es más pequeño,este no dista tanto en valores entre un esquema de control y otro. Al observar los resultados entre ambosesquemas, se hace énfasis en la utilización de las RN’s pues el PID si muestra una significativa ventaja enprecisión y exactitud en el control de un sistema como este pero es necesario conocer todos los parámetrosde la planta para su correcto y adecuado funcionamiento así como que únicamente funciona para esaplanta en específico y por el contrario en un sistema en donde se apliquen las RN’s como se hizo en estecaso, puede ser aplicable a casi cualquier sistema incluso del tipo MIMO (con algunas modificaciones enla topología de las redes), obteniendo satisfactorios resultados con errores menores al 4%.
Los resultados de este trabajo serán enviados a algunos congresos y estarán a la espera de sufutura publicación.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE TrabajosFuturos
103
Trabajos futuros
Debido a los buenos resultados obtenidos en este trabajo, a futuro y como primer paso se
pretenderá ajustar este sistema para el control de 2 o incluso 3 variables: Velocidad (que hasta el
momento ya se tiene), Posición y/o aceleración, para así poder llevar este sistema a una aplicación real que
beneficie en algún aspecto de la vida o bien aporte algo a la ciencia y tecnología en nuestro país
principalmente, por ejemplo controlando varios motores se podría realizar un brazo mecánico de precisión
o incluso podría aplicarse para controlar el movimiento de una prótesis en el cuerpo humano, etc.
Por otra parte, al realizar estudios de posgrado en esta área será bastante interesante ahondar en el
control de sistemas multivariables con retardo utilizando RNR´s y encontrar matemáticamente un criterio
que nos permita conocer hasta donde es posible llevar la estabilidad y el control del sistema.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Bibliografía
104
Bibliografía
[1] Astrom, K. J., Wittenmark, B., “Adaptive Control”, Addison-Wesley, E. U., 1989, 524.
[2]
Baruch, I., Flores, J. M., Thomas, F., Garrido, R “Adaptive Neural Control of Nonlinearsystems”. In: Dorfner, G., Bischof, H., Hornik, K. (eds): Artificial Neural Networks –ICANN 2001.Lectura Notes in Computer Science, Vol. 2130. Springer-Verlag, Berlin Heidelberg New Cork(2001), 930-936.
[3]Baruch, I., Garrido, R., Flores, J. M., “Redes Neuronales para la identificación y control desistemas no lineales”, Científica, No. 14, Marzo-Abril 1999, ESIME, pp. 39-45.
[4]Baruch, I., Gorcheva, E y Garrido, R., “Redes Neuronales para la identificación de objetos nolineales”, Científica, No. 14, Marzo-Abril 1999, ESIME, pp. 39-45.
[5] Burden, R. L., Faires, j. D., “Análisis Numérico”, Ed. Iberoamericana México.
[6]
Calderon, G Draye, J. P., Pasivic, D., Teran, R. And Libert, G., “Nonlinear Dynamic systemidentification with Dynamic Recurrent Neural Networks,” Proc of IASTED Inter. Workshop onNeural Network0 for Identification, Control, Robotics and Signal/Image Processing, pp. 49-54,1996.., May 5-8, 1999, Philadelphia, Pensylvania US, pp. 326-331.
[7]Carletti, Eduardo J., Control de motores de CC - Control por Ancho de Pulso (PWM), RobotsArgentina, Argentina, 2007.
[8] Chapman, Sthephen J., “Máquinas Eléctricas” 3ra. Edición, Mc Graw Hill, Mèxico, 1998.
[9]Chen, Fu-C., “Back-Propagation Neural Networks for nonlinear self-tunning Adaptive control”,IEEE Control Syst. Mag., Vol. 10, No. 3, 1990. pp. 44-48.
[10]Chen, S., Billings, S. A. y Grant, P. A., “Nonlinear Systems Identification Using NeuralNetworks”, Int. J. Control, Vol. 51, No. 6, 1990, pp. 44-48.
[11]Chu, S. R., Shoureshi, R. and Tenorio, M “Neural networks for system identification”, IEEEControl Syst. Mag., Vol. 10, No. 3, 1990. pp. 31-35.
[12]Cichoki, A. and Unbehauen, R., “Neural Networks for optimization and Signal Processing”, Ed.John Wiley & Sons, 1993
[13]Cincotti, S. y Daneri, I., “Neural Network Identification of a Nonlinear Circuit Model ofHysteresis” IEEE Electronics Letters, Vol 33, No. 13, June, 1997, pp. 1154-1156.
[14] Elman, J. L., “Finding structure in time”. Cognitive Science, vol 14, pp. 179-211, 1990.
[15]Haykin, S., “Neural Networks, A Comprehensive Foundation”, Prentice Hall U. S., 2nd Ed.1999.
[16]Hilera, J. R. y Martínez V. J., “Redes Neuronales Artificiales, fundamentos, modelos yaplicaciones”, Ed. RA-MA, 1995.
[17]Hopfield, J. J., “Neurons with grade response have collective computational properties likethose of two-state neurons”, In Proc. Nat. Academy Sci. USA. Vol. 81. pp. 3088-3092. 1984.
[18]Hunt, K. J., Sbarbaro, D., Zbicowski, R., and Gawthrop, P. J., “neural Networks for ControlSystems. A survey”, Automatica, vol. 28, No. 6, pp. 1083-1112, 1992.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Bibliografía
105
[19]Irie, B., and miyake, S., “Capabilities of Three-layered Perceptrons”, Proc. IEEE Anual Int.Conf. Neural Networks, 1998, pp. 1641-1648.
[20]Jin, L., Gupta, M. M. y Nikiforuk, P. N., ”Adaptive model Referent Control of Discrete TimeNonlinear Systems Using Neural Networks”, Control Theory an Advanced Technology, Vol. 10,No.4 , Part3, sept. 1995, pp. 1379-1399
[21]Jordan, M. I., “Supervised learning and systems with excess degrees of freedom”.Massachusetts Institute of Technology. COINS Technical report 88-27, May. 1988.
[22]Kleiner Effekt – Große Wirkung, elektronik industrie 7, Alemania, 2006, Traducción “SensorHall”, Josef Janisch, Julio de 2007.
[23]Landau, I. D., Lozano, R., and M´ Saad, M., “Adaptive Control”, Springer Verlag, Great Britain,1998.
[24]Levin, A. V., and K. S. Narendra.1996. “Control of nonlinear dynamical systems using neuralnetworks- Part II Observability, identification and control,” IEEE Transactions on NeuralNetworks, vol. 7, pp 30 – 42.
[25]Mariaca, Carlos R., “Identificación y Control de Plantas Industriales Multivariables UtilizandoRedes Neuronales Recurrentes”, Tesis de Maestría, CINVESTAV-IPN, México D.F., Febrerode 2005.
[26]Miller III, W. T., Sutton, R. S., y Werbos, P. J., “Neural networks for control”, Addison Wesley,E. U. 1989, 526.
[27] Morari, m. and Zafiriou, E, “Roust Process Control”, Prentice Hall, E. U., 1989.
[28] Narendra, K. S. y Annaswamy, A. M.,”Stable Adaptive Systems” Prentice Hall, E. U, 1989.
[29]Narendra, K. S., Parthasarathy, K “Identification and control of Dynamical Systems UsingNeural Networks”, IEEE Trans. On NN, Vol 1, no. 1, pp. 4-27, March 1990.
[30]Nava, F., Baruch, I., Poznyak A., 2004. Stability Proofs of Advanced Recurrent NeuralNetworks Topology and Learning, Competes Rendus. (Proceedings of the Bulgarian Academyof Sciences) ISSN 0861-1459, Vol 57, No. 1, pp. 27 -32.
[31]Nguyen, D. H. and Widrow, B., “Neural Networks for Self-Learning Control Systems”, IEEEControl Systems Magazine, Vol,. 10, pp. 18-23, 1990.
[32]Ogata, Katsuhiko, “Ingeniería de Control Moderna” 3ra. Edición, Prentice Hall, Cap. 10,México, 1998.
[33]Ogata, Katsuhiko, “Sistemas de Control en Tiempo Discreto” 2ra. Edición, Prentice Hall, Cap.10, México, 1996.
[34]Pham, D. T. and Yildirim, S. “Robot Control using Jordan Neural Networks”, Proc. Of theInternat. Conf. On Recent Advances in Mechatronics, Istanbul, Turkey, Aug. 14-16, 1995, Vol.II, pp. 888-893.
[35]Phansalkar, V. V., and Sastry, P. S., “Analysis of the Back-Propagation Algorithm withMomentum”, IEEE Trans. On Neural Networks, Vol 5, No 3., pp. 5005-506, 1994.
[36]Pineda, F. J., “Dynamics and architecture for neural computation in recurrent networks”.Journal of Complexity, Vol. 4, pp. 165-199,1988.
[37]Pineda, F. J., “Recurrent Back propagation and the dynamical approach to adaptive neuralcomputation”. Neural computation, Vol. 1, pp. 161-172,1989.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Bibliografía
106
[38]Polycarpou, M. M., “Stable Adaptive Neural Control Scheme for Nonlinear Systems,” IEEETrans. On Atomatic Control, Vol. 41, No. 3, March 1996, pp. 447-451.
[39]Poznyak, A. S., Yu, W., Sanchez, E. N., and Perez, J. P., Nonlinear Adaptive TrajectoryTracking Using Dynamic Neural Networks, IEEE Transactions on Neural Networks, 10, 1999,1402-1411.
[40]Recurso en línea, “Maquinas Eléctricas Rotativas”, Mc Graw Hill, Cap. 7, http://www.mcgraw-hill.es/bcv/guide/capitulo/8448127641.pdf, España, 2011.
[41]Recurso en línea, “Motores Eléctricos”, Ed. Mc Graw Hill, Cap. 11, www.mcgraw-hill.es/bcv/guide/capitulo/8448173104.pdf, España, 2011.
[42]Rodríguez R. F., y López, S., M. J., “Control Adaptivo y Robusto”, Universidad de Sevilla,España 1996.
[43]Rovithakis, G. A., and Christodolou, M. A., “Adaptive Control of Unknown Plants UsingDynamical Neural Networks”, IEEE Trans. On Systems, Man an Cybernetics, Vol. 24, No. 3,March 1994, pp. 400-412.
[44]Sánchez E. N., y Bernal, M. A., “Nonlinear System Adaptive Trajectory Tracking by Dynamicneural Control”, Int. Joint Conf. On Neural networks, Vol. 3, pp. 2114-2118, 1999.
[45]Sánchez, E. N., Poznyak, A. S. y Wen Yu, “Dynamic Multilayer Neural Network for NonlinearSystem Identification”, Proc. 33th IEEE CDC, Dec. 1994, pp. 2480-2484.
[46]Sastry, P. S., Santharam, G. and Unnikrishnan, K. P., “Memory neuron Networks forIdentification and Control of Dynamical Systems” IEEE Trans. On Neural Networks, Vol. 5, No.2 March 1994, pp. 306-319.
[47]Tsoi, A. C. and Back, A. D., “Locally Recurrent Globally Feedforward Networks: A CriticalReview of Architectures”, IEEE Trans. On neural Networks, Vol 5. No. 2. March 1994, pp. 229-239.
[48]Vidyasagar, M., 1993. Nonlinear Systems Analysis, 2nd edition, Englewood Cliffs, NJ: Prentice-Hall.
[49]Wan E. A. and Beaufays, F., “Diagrammatic Methods for Deriving and Relating TemporalNeural Networks Algorithms”, Neural computations, Vol. 8, No. 4, pp. 182-201.
[50]Widrow, B., “30 years of Adaptive Neural Networks: Perceptrón, Madeline andBackpropagation”, Proc. IEEE, Vol 78, No. 9, Sep. 1990, pp. 1415-1442.
[51]William, R. J., and Zipser, D., “A learning Algorithm for continually running recurrent neuralNetworks”. Neural computation, Vol. 1 pp. 270-280, 1989.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice A
i
APÉNDICE A
Motor
A.1 Definición, [8], [40]
Los motores eléctricos son máquinas eléctricas rotatorias que transforman la energía eléctrica en
energía mecánica. Se pueden clasificar en dos grandes grupos: los motores de Corriente Directa (CD) y los
motores de Corriente Alterna (CA).
Los motores eléctricos son los más ágiles de todos en lo que respecta a variación de potencia y
pueden pasar instantáneamente desde la posición de reposo a la de funcionamiento al máximo.
Estos motores se fabrican en potencias que varían desde una pequeña fracción de caballo hasta
varios miles, y con una amplia variedad de velocidades, que pueden ser fijas, ajustables o variables.
La conversión de energía en un motor eléctrico se debe a la interacción entre una corriente eléctrica
circulante dentro de un devanado de cobre y un campo magnético formado entre dos polos opuestos de un
imán. El motor aprovecha este tipo de fuerza para hacer girar un eje, transformándose así la energía
eléctrica en movimiento mecánico.
Los dos componentes básicos de todo motor eléctrico son el rotor y el estator.
El rotor es una pieza giratoria, un electroimán móvil, con varios salientes laterales, que llevan cada
uno a su alrededor un embobinado por el que pasa la corriente eléctrica. El estator, situado alrededor del
rotor, es un electroimán fijo, cubierto con un aislante. Al igual que el rotor, dispone de una serie de
salientes con embobinados eléctricos por los que circula la corriente.
A.2 Funcionamiento de un motor de Corriente Directa (C.D.), [40], [41]
Cuando una corriente fluye a través de un circuito de alambre conductor que puede rotar y se
encuentra dentro de un campo magnético, el circuito experimentará una fuerza en aquellas partes que se
encuentran en ángulo recto al campo magnético, haciendo que el circuito gire hasta alcanzar una posición
vertical (Figura A1). Para que el circuito continúe su giro, es necesario que la corriente que fluye a través
de él invierta su flujo.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice A
ii
Figura A1. Principio básico de funcionamiento de un motor de C.D.
A.3 Motor de C.D. con escobillas, [41]
En un motor de C.D. con escobillas el circuito de alambre se transforma en un conjunto de bobinas
montadas en las ranuras de un material magnético cilíndrico llamado armadura o rotor, (Figura A2).La
armadura, se coloca dentro del campo magnético producido por los polos del campo y se encuentra libre
para girar. Cada bobina de la armadura es conectada a través de contactos eléctricos a los segmentos
adyacentes de un anillo segmentado llamado conmutador.
Figura A2. Motor de cuatro polos, el campo magnético es producido por la corriente que fluye en las bobinas.
Los contactos eléctricos se hacen a través de contactos de carbón llamados escobillas. El
conmutador invierte la corriente de cada bobina, según la armadura se mueva entre los polos del campo,
esto para asegurar que la armadura sigua girando en la misma dirección. La dirección de rotación de un
motor de C.D. se puede cambiar invirtiendo la corriente de la armadura o la corriente del campo.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice B
iii
APÉNDICE B
Sensor
B.1 Definición
Un sensor es un dispositivo eléctrico y/o mecánico que transforma una magnitud física en un valor
que puede ser medido.
La información que es suministrada al sensor debe ser preparada de manera que pueda ser tratada y
procesada. Así, el sensor provee una señal que es interpretable para el usuario o el sistema que lo utiliza.
Las características de construcción de un sensor lo harán idóneo para una aplicación determinada y
por ello existe una gran variedad de tipos de sensores.
B.2 Sensores de desplazamiento y rotación
Los sensores de desplazamiento y rotación permiten medir, con respecto a un punto de referencia, la
distancia lineal o el ángulo que se ha movido un elemento de un sistema. Para ello cuentan con un sistema de
medición que les permite convertir un desplazamiento, ya sea lineal o rotacional, a un nivel de tensión que
permitirá evaluar la cantidad de desplazamiento.
B.2.1 Sensores basados en efecto Hall [22]
Los sensores de efecto Hall utilizan la presencia de un campo magnético para generar cambios en la
corriente que circula por un semiconductor y así proporcionar un determinado nivel de tensión.
En la (figura B1), se muestra una placa de metal semiconductor tipo “n” que conduce una corriente
eléctrica. Cuando el semiconductor es inmerso en un campo magnético, se genera un campo eléctrico,
debido a que las cargas en el semiconductor se polarizan. El campo eléctrico generado compensa al campo
magnético que se ejerce sobre el semiconductor.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice B
iv
Figura B1. Efecto Hall en un semiconductor tipo “n”.
La polarización de cargas en los extremos del semiconductor genera una diferencia de potencial V,
cuyo valor está dado por la siguiente ecuación.
V= KH( )( ) (B.1)
Donde: KH es una constante denominada coeficiente Hall.Bf es la densidad de flujo magnético.i es la intensidad de la corriente que fluye por el semiconductor.d es el grosor del conductor.
En este tipo de sensores la variación en la intensidad del flujo magnético en presencia de una
intensidad de corriente constante, provocará una variación en la diferencia de potencial a consecuencia del
efecto Hall, pudiendo determinar de ésta manera un desplazamiento o proximidad de un objeto.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice C
v
APÉNDICE C
PWM, [7]
C.1 Definición
La modulación por anchura de pulsos (PWM, del inglés pulse – width modulation) es una técnica
de modulación en la que se modifica el ciclo de trabajo de una señal periódica para, entre otras cosas,
variar la velocidad de un motor.
C.2 Funcionamiento del PWM
La Regulación por Ancho de Pulso de un motor de C.D. está basada en el hecho de que si se recorta
la corriente de alimentación en forma de una onda cuadrada, la energía que recibe el motor disminuirá de
manera proporcional a la relación entre la parte alta (habilita corriente) y baja (cero corriente) del ciclo de
la onda cuadrada. Controlando esta relación se logra variar la velocidad del motor de una manera bastante
aceptable.
Figura C1. Regulación de Ancho de Pulsos
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice D
vi
APÉNDICE D
Control PID
D.1 Control Proporcional (P), [32]
El controlador de tipo continuo más simple utilizado en los sistemas realimentados es el
controlador proporcional (P).
Con un controlador proporcional la acción correctiva, o acción de control, es proporcional al error
del proceso, es decir, proporcional a la diferencia entre la referencia y la variable medida. La relación
lineal entre el error y la señal de salida del controlador se puede expresar por medio de la siguiente
ecuación:
p pP K E (D.1)
Donde: P es la señal de salida del controladorKp es la ganancia proporcionalEp es el error del proceso (referencia menos variable medida).
El controlador proporcional no puede eliminar completamente el error del proceso. Esto se debe a
que para mantener la señal de salida del controlador con un valor dado, se requiere un error de régimen.
Generalmente, a este error se le llama desviación proporcional o error en estado estacionario, y representa
la principal desventaja de los controladores proporcionales.
Se puede ayudar a hacer mínimo el error en estado estacionario, aumentando en lo posible la
ganancia proporcional. Lamentablemente, incrementando la ganancia proporcional, también se aumenta la
tendencia hacia la inestabilidad. En realidad, cuando la ganancia es muy elevada, el controlador presenta
oscilaciones alrededor de la referencia. Por lo tanto, aumentar la ganancia proporcional no es una
solución ideal para eliminar el error de estabilidad de un proceso.
D.2 Control Proporcional - Integral (PI), [32]
Uno de los métodos para eliminar el error en estado estacionario en un sistema de control, que
cuenta únicamente con un controlador proporcional, es agregando una desviación en la salida del
controlador.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice D
vii
Para que el error del proceso resulte nulo, el valor de esa desviación se ajusta manualmente con el
valor nominal de la carga.
Este método suele llamarse reposición manual. Cuando se agrega una desviación en la salida del
controlador, la forma de la ecuación que relaciona el error del proceso y la señal de salida del controlador,
se transforma en:
P=KpEp +Po (D.2)
Dónde: Po es la desviación en la salida del controlador.
Este método para eliminar el error del proceso funciona para una carga dada. Si ésta cambia, ese
error ya no es cero. Por lo tanto, este método se puede emplear en los sistemas de control de procesos en
que el valor medio de la carga es constante.
El método por el cual conseguimos incluir un término que varíe de acuerdo al tamaño y duración
del error en estado estacionario, es utilizar una acción integral, la cual permite acumular la diferencia
existente entre la variable de proceso y la referencia durante el tiempo que dura el error.
La acción integral nos permite corregir el error en estado estacionario, con ciertas limitantes, talescomo la tendencia a oscilaciones o inestabilidad.
D.3 Control Proporcional – Derivativo (PD), [32]
El control derivativo responde a la rapidez de cambio de error y puede producir una corrección
significativa antes de que la magnitud real del error sea grande. Por esta razón se dice que el control
derivativo se anticipa al error e inicia una prematura corrección del error, sin embargo, a pesar de su
utilidad no puede usarse solo, porque no responde a un error en estado estable, por lo tanto, debe usarse
en combinación con otras acciones de control.
Acción Derivativa= kd( ) (D.3)
donde: ( ) es un cambio en el error.
Kd es la ganancia del control derivativo.
Algunas de sus características principales son que tiene efecto únicamente en la parte transitoria,
por eso disminuye las oscilaciones, estabilizándose más rápido; se basa en la pendiente del error; en
estado estable nunca actúa y por eso nunca se encuentra un control derivativo solo; entre otras.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice D
viii
D.4 Control Proporcional Integral Derivativo (PID), [32], [33]
Se le denomina de esta forma a un proceso controlado por un sistema de compensación en lazo
cerrado, basado en un regulador de acciones proporcional, integral y derivativo o PID, de tal forma que se
logran características dinámicas estables, o dicho de otra forma se logra que el sistema responda a
cambios en sus variables en una forma estable.
En el regulador PD, es reducido el sobrepaso inicial, y se consiguen buenas características en
cuanto a tiempo de respuesta, pero se sigue, teniendo problemas en reducir el error en estado estacionario.
Con el regulador PI, se consigue corregir el error en estado estacionario, pero el efecto integral
puede provocar un sobrepaso aún más elevado que el producido por un regulador P solamente,
aunque con la sintonía adecuada se pueden obtener buenas características de respuesta.
En el caso del regulador PID, se logra un equilibrio entre tiempo de respuesta, corrección del error
en estado estacionario y un aceptable grado de sobrepaso inicial, por lo que el regulador PID, combina las
buenas características de cada una de las acciones de regulación.
Figura D.1 Sistema de control PID
En la figura anterior (D.1), se muestra el diagrama a bloques de un sistema controlado mediante el
enfoque de control PID, sin embargo, este diagrama es aplicable para todos los tipos de control antes
mencionados, sustituyendo el bloque de PID por el control deseado.
+ PID Planta-u(k) y(k)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice E
ix
APÉNDICE E
Imágenes del sistema físico utilizado
En las siguientes imágenes se ilustra el sistema físico construido así como todos las partes que loconforman.
1. Alimentación: Batería Kapton recargable de 12 V a 4 A.
2.- Adquisición de Datos: DAQ NI-USB 6008
3.- Planta a Controlar: Motorreductor 131:1 con Encoder Marca Pololu, Mod.1447
4.- Circuitería: Conformada por 2 Microcontroladores Texas MSP430G2553 programados y electrónicadiscreta convencional para el correcto funcionamiento del sistema.
5.- Gráfica: Display genérico 16X2 caracteres
PC para visualización del comportamiento del sistema y análisis de gráficas mediante el softwareMatLab Simulink (No se muestra en las imágenes).
Figura E.1 Sistema físico en reposo y ubicación de sus partes.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice E
x
Figura E.2 Sistema físico en funcionamiento a máxima capacidad.
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice F
xi
APÉNDICE F
Diagramas de flujo de los programas en los microcontroladores
Frecuencímetro y LCD
o RUTINA PARA DESPLEGAR LETRERO EN EL LCD (IMP_LET)
o ENVÍO DE DATOS AL LCD (DATO_LCD)
Si
No
RET
LETRA APUNTADO R15
POR R4, R4= R4 + 1
DATO = 0
CALL #DATO_LCD
CALL #IMP_LET
INICIO
RET
RS = 1 (P1.0 = 1)
CALL#ENVIO_4BITS
ESPERA 40s
INICIO
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice F
xii
o RUTINA PARA ENVIAR 8 BITS A TRAVÉS DE UN BUS DE 4 BITS (ENVIO_4BITS)
o RUTINA DE SERVICIO DE INTERRUPCION (P1_ISR)
RET
TOMAR BYTE ALTO R15
MANDARLO A P1OUT(LCD)
DAR PULSO A LINEA E(P1.3)
INICIO
MANDARLO A P1OUT(LCD)
TOMAR BYTE BAJO R15
DAR PULSO A LINEA E(P1.3)
No
Si
RET
PULSOS =
PULSOS <
CLRPULSOS
PULSOS2 =PULSOS2 + 1
INICI
BORRAR BANDERAP1IFG
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice F
xiii
o INT_CCR0
RET
DETENER INT P1
PARA EL TIMER
INICIO
PULSOS2 DAC (P2OUT)
PULSOS2 = 2 x PULSOS2
CALL #BIN_A_BCD
PULSOS2 DATO
CALL #IMP_DATOS
CLR PULSOS2
ACTIVA INTERRUPCIÓN P1IE
BORRAR BANDERA P1IFG
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice F
xiv
o SUBRUTINA DE IMPRIMIR DATOS (IMP_DATOS)
RET
#2 #CMD_LCD
#LETRERO2 R4CALL #IMP_LET
INICIO
#C6 CMD_LCD
’ ‘, R15CALL #DATO_LCD
DMILAR R15CALL #DATO_LCD
UMILAR R15CALL #DATO_LCD
CENTENA R15CALL #DATO_LCD
DECENA R15CALL #DATO_LCD
UNIDAD R15CALL #DATO_LCD
’ ‘, R15CALL #DATO_LCD
‘R’ A R15CALL #DATO_LCD
‘M’ A R15CALL #DATO_LCD
‘P’ A R15CALL #DATO_LCD
Continúa
Continúa
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice F
xv
Si
Si
No
No
Si
No
No
Si
RETI
#30h UNIDAD#30h DECENA
#30h CENTENA#30h UMILLAR#30h DMILLAR
DATO > 0?
#10000 DATO
INICIO
DMILLAR =DMILLAR +1
#10000 DATO
UMILLAR =UMILLAR +1DATO > 0?
No
CENTENA =CENTENA +1
DATO + UNIDAD = UNIDAD
QUITA CEROS A LAIZQUIERDA EXCEPTO LA
UNIDAD
DATO > 0? UNIDAD =UNIDAD +1
#10000 DATO
#10000 DATO
DATO > 0?
o SUBRUTINA QUE CONVIERTE DE BINARIO A BCD (BIN_A_BCD)
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice G
xvi
APÉNDICE G
Manuales de Referencia y hojas de especificaciones
Microcontrolador Texas Instruments “MSP430G2553”
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice G
xvii
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice G
xviii
Tarjeta de adquisición de datos National Instruments “NI-USB 6008”
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice G
xix
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice G
xx
Convertidor Analógico a Digital “DAC 0830 LNC”
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice G
xxi
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice G
xxii
LCD 16X2
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice G
xxiii
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice G
xxiv
Regulador de Voltaje a 5V. ¨L7805CV¨
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice G
xxv
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice G
xxvi
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice G
xxvii
Regulador de Voltaje a 3.3V. ¨LF33CV¨
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice G
xxviii
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice G
xxix
CONTROL DE UN MOTOR DE CD MEDIANTE EL USO DE CONTROL INTELIGENTE Apéndice G
xxx
Transistor tipo Darlington ¨TIP110¨