Sunteți pe pagina 1din 19

DISEÑO E IMPLEMENTACIÓN DE UNA INTERFAZ

GRAFICA DE USUARIO PARA CONTROL INVERSO CON


REDES NEURONALES ARTIFICIALES
Jairo Vargas Caleño Ingeniero en Control – jairocale@yahoo.com
Universidad Distrital “Francisco Jose de Caldas”

RESUMEN

Este trabajo se sitúa en un campo de investigación en el que intervienen en particular la


Teoría del Control, las Ciencias de la Computación, el Análisis Numérico y la
Optimización. Abarca el estudio de las propiedades de las RNA, haciendo énfasis en las
ideas y métodos más relevantes aplicados al control de sistemas, con el objetivo de
utilizar estas propiedades y capacidad de aproximación a través de una Interfaz de
Usuario Grafica (GUI) en MATLAB® que permita aplicar el Esquena de Control Directo
Inverso Generalizado (ECDIG) a plantas clásicas.

ABSTRACT

This work is located in an investigation field in which intervene in particular the Control
Theory the computation, Sciences, the Numeric Analysis and the Optimization. The
project cover the properties studys of the RNA, doing emphasis in ideas and methods
more outstanding aplicated to the of systems control in order to use this properties and
aproximation capacity through of Graphical User Interfaces (GUI) in MATLAB® that
allows to applicate the genarelized Inverse Direct Control outline in classic plants.

1 Introducción amortiguamiento, Brazo robot de un eslabón,


Tanque esférico y Tanque cónico. El objetivo
Las redes neuronales artificiales (RNA) han final de la GUI esta en aplicar aprendizaje
sido utilizadas en el campo del control generalizado y especializado para generar una
Automático por la posibilidad que ofrecen para estructura neuronal con cuatro entradas, una
aproximar funciones no lineales a funciones capa oculta de hasta de 15 neuronas y una
lineales de tal forma que al someter una RNA a salida lineal que permita controlar la planta bajo
procesos de entrenamiento se puede lograr el ECDIG.
identificar o controlar procesos dinámicos sobre
todo aquellos de los cuales no poseemos
información o un modelo. 2 Definición Del Problema De Control

El objetivo de este trabajo es presentar Las redes de neuronas artificiales ocupan un


conceptos introductorios sobre redes neuronales lugar importante en el desarrollo de técnicas de
y esquemas de control incorporando estructuras Control para procesos dinámicos. Cuando se
de esta naturaleza, se hace énfasis en el habla de control de procesos utilizando redes de
esquema de Control Directo Inverso neuronas generalmente se entiende que es una
Generalizado (ECDIG) expuesto por Norgaard red la encargada de calcular la acción de control
en su libro. Como plantas de prueba se emplean: que hay que aplicar al proceso para que se
Motor DC, Sistema masa resorte con
Página 1
alcance el objetivo de control deseado. La
diversidad de los métodos o estrategias de • Control predictivo
control radica en el modo de realizar el • Ubicación de polos aproximada
entrenamiento de la red, así como en el tipo de • Control de varianza mínima
red utilizada. • Control predictivo no lineal

Cuando se utilizan redes neuronales 2.1 Control De Procesos Dinámicos


supervisadas para el control de procesos
dinámicos es necesario disponer de una Un proceso o sistema dinámico puede definirse
respuesta deseada para realizar el entrenamiento como una combinación de elementos o
de la red. Los algoritmos de aprendizaje se componentes relacionados entre sí y que actúan
basan, generalmente, con el método de para alcanzar una determinada meta. El estudio
descenso del gradiente, de manera que los pesos de un proceso dinámico es el estudio de la
o parámetros de la red que actúa como variación a lo largo del tiempo de las variables
controlador se adaptan siguiendo la dirección de salida de dicho proceso, a partir de las
negativa del gradiente de una determinada variables de entrada que afectan al
función error. comportamiento dinámico del proceso.
Desde un punto de vista matemático, un
Básicamente el problema de control neuronal se proceso dinámico se suele representar mediante
puede dividir en dos grupos: una relación (directa o indirecta) entre las
variables de entrada y salida del proceso, es
a. Control directo decir, entre las variables medibles y observables.
En este caso el control lo realiza una red Para la mayor parte de los procesos dinámicos
neuronal. La implementación de este tipo de reales, no es fácil conocer estas relaciones o
control es sencilla mientras que el diseño y representaciones matemáticas. Generalmente, la
sintonización son algo más complicados ya que información disponible viene dada por un
a través del tiempo es necesario modificar conjunto de datos observados, los cuales
parámetros de diseño. requieren una interpretación para obtener una
representación matemática del proceso. El
Dentro de este tipo de controladores existen los problema de determinar dicha representación,
siguientes esquemas: también llamada modelo del proceso, es
• Control Directo Inverso conocido como el problema de modelización e
• Control con modelo interno identificación de procesos dinámicos.
• Linealización por retroalimentación
• Control Neuronal por Retroalimentación Los procesos dinámicos requieren lo que se
(Feedforward Control) conoce como sistemas de control, es decir,
• Control optimo sistemas que mediante la manipulación de
ciertas variables de entrada al proceso (aquellas
b. Control indirecto que puedan ser manipuladas), regulan el
comportamiento de las variables de salida, para
Esta clase de controladores siempre se basan en alcanzar el objetivo deseado.
modelos. El objetivo es utilizar una red
neuronal para modelar el sistema a controlar. El
modelo está entrenado normalmente por 2.2 Esquema del control directo inverso
adelanto y el controlador está diseñado en línea; generalizado Con redes neuronales (CDIG)
esto lo hace muy flexible y por tanto más
adecuado para la mayoría de problemas A continuación se presenta el esquema de
comunes de control. En este grupo podemos Control Directo Inverso Generalizado (CDIG)
encontrar los siguientes esquemas:
Página 2
basado en redes neuronales supervisadas. Existen algunos criterios que determinan que
Pueden utilizarse redes con conexiones hacia tan cerca del inverso ideal se encuentra una
adelante, como redes recurrentes, aunque las buena solución al problema de diseño. Algunos
más utilizadas han sido el perceptron multicapa de estos elementos son:
y las redes parcialmente recurrentes.
 Estabilidad
2.2.1 Descripción  Causalidad
 Causalidad
El concepto de inversión se origina cuando se  Incertidumbre
intenta resolver el problema de seguimiento, 
para ello, podemos considerar una planta (el Adicionalmente, una descripción lineal es
sistema a ser controlado) con una entrada u(t) y siempre una aproximación de la planta real en
salida y(t), las que están relacionadas por el una región de operación, ya que toda la planta
modelo de entrada-salida: real posee rasgos no lineales, incluyendo
saturación en la entrada. Por lo tanto, el
y(t)=gt[u(t)], t∈ R
objetivo es encontrar un inverso aproximado.
En esta descripción gt(0) es un operador Se suele decir que se tiene un buen inverso, si
generalizado, incluso variante en el tiempo, no ese inverso aproximado es estable, realizable,
lineal y dinámico, que captura la forma en que robusto, y si genera comandos de control dentro
la salida depende de la entrada. Se supone de límites aceptables.
inicialmente, que esta planta es estable, eso es,
que el operador gt(0) es estable, en el sentido El esquema de control CDIG, fue uno de los
que la salida y(t) permanece acotada, para primeros métodos propuestos. La red neuronal
cualquier entrada acotada u(t). Se requiere que se entrena para aprender la dinámica inversa de
la salida siga la señal de referencia arbitraria y la planta, el que al conectarse en serie con la
acotada r(t).Se debe tener en cuenta una planta nos permite obtener una ganancia
elección adecuada para ct(c) tal que u(t) = ct, cercana a la unidad.
r(t) e y(t) = r(t )como se describe en la
siguiente figura:

Figura 2. Red de neuronas actuando como


controlador
Figura 1. Problema fundamental de
seguimiento Este esquema de control consiste en aproximar
mediante una red de neuronas la dinámica
En la figura 1., (1.0) inversa del proceso. Suponiendo que la salida
Entonces, para lograr y(t) = r(t), la ley de de un proceso dinámico se puede expresar de la
control debe ser: forma Y(t + 1) = S[u(t)], siendo u la entrada al
proceso, la relación inversa es una expresión de
la forma u(t )  s 1[ y(t  1)] . Por tanto, en una
(1) estrategia de control inverso la red de neuronas
se utiliza para aproximar la relación S 1 .
De modo que el controlador ct (0) realice una
operación inversa de aquella realizada por el Cuando se plantea un esquema de control
inverso utilizando redes de neuronas, el
operador g t (0) .
aprendizaje de la red puede llevarse a cabo
Página 3
mediante dos formas diferentes, denominadas Figura 3. Esquema de control inverso con
aprendizaje generalizado y aprendizaje aprendizaje generalizado
especializado, las cuales se describen a
continuación. 2.2.3 Aprendizaje especializado

2.2.2 Aprendizaje generalizado Mediante el aprendizaje especializado, la red


aproxima la dinámica inversa local del proceso,
En este caso, la red de neuronas se entrena para es decir, la dinámica inversa en una
que aprenda la dinámica inversa del proceso en determinada región de interés y no en todo el
su totalidad. Para ello, se utiliza un conjunto de rango de operación de la acción de control.
datos representativo de dicha dinámica inversa,
los cuales se obtienen manipulando la acción de
control en sus diferentes rangos de operación y
observando o midiendo la salida del proceso
para dicha señal.

En la Figura 3, se muestra el esquema del


aprendizaje generalizado. Se puede observar
que la entrada al proceso actúa como la salida Figura.3 Esquema de control inverso con
deseada para la red, mientras que la salida del aprendizaje especializado
proceso es la entrada a la red. Por tanto, el Como se muestra en la Figura 1.3., la entrada a
aprendizaje de la red se realiza siguiendo la la red es el objetivo de control y la salida de la
dirección negativa del gradiente de la siguiente red es la acción de control que se aplica al
función error: proceso dinámico. El aprendizaje de la red se
realiza para minimizar la diferencia entre la
salida del proceso y el objetivo de control
deseado, es decir:

(2)
Una vez realizado el entrenamiento de la red,
ésta puede utilizarse para el control; basta
sustituir la entrada a la red y(t + 1) por el (3)
objetivo de control, ydes como se muestra en la Para poder realizar el aprendizaje de la red
siguiendo la dirección negativa del gradiente
Figura 1
del error dado por la Ecuación (3), es necesario
conocer el Jacobino del proceso, es decir, la
variación de la salida del proceso respecto de la
du
entrada . Esto es debido a que el proceso se
dy
coloca entre la red que actúa como controlador
y la función error a minimizar. En el caso de
que dicho Jacobiano sea desconocido, es
necesario utilizar una aproximación.

Página 4
3 Principios básicos para aplicar control siguiente manera.
directo inverso generalizado (CDIG)

Figura.4. Esquema de control CDIG

Inicialmente se parte de la premisa que una


planta puede ser descrita con la ecuación (4):
y(t +1) = g[y(t), ... , y(t − n +1), u(t), ... , u(t −
m)] (4)
Figura 5. Implementación del ECDIG
La red neuronal que se seleccione para aprender
la dinámica inversa de la planta tendrá que a. Obtención de los datos de la planta
estimar la función uˆ(t) como: Los datos de la planta se obtienen realizando
un experimento con el fin de adquirir una buena
uˆ(t) = gˆ −1 [y(t +1), y(t), ... , y(t − n +1), cantidad de datos que logren describir el
u(t), ... , u(t − m)] (5) comportamiento del sistema sobre todo el
Suponiendo que esa red ha sido entrenada y rango de operación que se desea trabajar. Así,
obtenida de alguna manera, esta puede el objetivo de esta etapa se centra en excitar el
utilizarse para controlar el sistema mediante la sistema con una entrada conocida y observar
sustitución de la salida y(t +1) por la referencia cómo se comporta la salida del sistema. Estos
deseada representada como r(t +1) . datos, se utilizaran para entrenar y validar el
modelo del controlador.
uˆ(t) = gˆ −1 [r(t +1), y(t), ... , y(t − n +1), b. Selección de la arquitectura del controlador
u(t), ... , u(t − m)](6) la selección de la arquitectura se refiere al
número más conveniente de entradas, capas
Los pasos para la implementación del ocultas, número de neuronas y la conectividad
controlador pueden resumirse entonces de la entre ellas. Según Kolgomorov, una única capa
oculta con un mínimo número de neuronas
permite identificar cualquier función continua
(Valishevsky,1998). Sin embargo, otros autores
como Hertz recomendaron la utilización de dos
capas ocultas, como mínimo, para alcanzar un
buen nivel de precisión (Hertz,1994). El
sobredimensionamiento de una red puede
favorecer el proceso de aprendizaje y también
resentir su capacidad de generalización. La

Página 5
arquitectura del controlador seleccionado debe tener una estructura flexible que permite la
representar la dinámica inversa de la planta con incorporación de cambios definidos por el
el menor grado de error posible. usuario según los requerimientos del problema
que se esté estudiando. Estas características
c. Entrenamiento del controlador fueron las que se utilizaron y permitieron el
El entrenamiento del controlador se efectúa desarrollo final de la GUI.
para que el modelo aprenda la dinámica inversa
de la planta y consiste en la obtención de los En las siguientes secciones se expondrán los
parámetros que mejor realizan la asociación conceptos generales pertenecientes a las
entre entradas y salidas. Este es un proceso de diferentes etapas en las cuales se estructuro la
estimación paramétrica convencional. interfaz para aplicar el Esquema de Control
Directo Inverso Generalizado (CDIG)
d. Validación del controlador utilizando las funciones presentes en el Toolbox
En esta etapa la gran incógnita es conocer si el NNCTRL; para ello se utilizaron las
modelo entrenado corresponde a una herramientas de MATLAB®: GUIDE Quick
representación suficiente del proceso estudiado. Start y Toolbox de Redes Neuronales. La GUI
En esta etapa se debe definir un criterio para se estructuro y diseño buscando una
evaluar la calidad del modelo. Esto se puede metodología simple y fácil de utilizar para el
llevar a cabo evaluando el error obtenido entre diseño y simulación de los controladores.
la salida del modelo y la salida de la planta real
al aplicar la misma. La interfaz se compone de cinco bloques
principales:
e. Aplicación del esquema de Control Directo 1) Obtención de los datos de la planta,
Inverso Generalizado 2) Selección de la arquitectura del controlador,
Finalmente, cuando se cuenta con el modelo del 3) Entrenamiento del controlador,
controlador entrenado bajos los requerimientos 4) Validación del controlador y
exigidos, basta colocar planta y controlador en 5) Aplicación del esquema de Control Directo
serie para implementar el esquema de control. Inverso Generalizado.

Aplicación del esquema de control directo


3.1 Estructura General Del Toolbox Nnctrl inverso Generalizado (CDIG)
De Norgaard
Cuando el modelo neuronal del controlador
El Toolbox NNCTRL de Magnus Norgaard inverso ha sido entrenado se puede aplicar el
permite aplicar varios esquemas de control concepto de control inverso colocando en serie
neuronal a plantas de estudio definidas por el el controlador neuronal con la planta.
usuario. Incluye una colección de archivos para
el diseño y simulación de diferentes tipos de
controladores como: control directo inverso,
control con modelo interno, control Figura 6..Esquema del CDIG
retroalimentado, control óptimo, control con
linealización retroalimentada, control predictivo Este esquema de control consiste en aproximar
y control instantáneo sobre la base de la dinámica inversa del proceso con la red
linealización. El Toolbox está orientado neuronal entrenada.
principalmente a plantas invariantes en el
tiempo con una entrada y una salida (SISO). 3.2 Características Generales De La GUI
NNCTRL está conformado por archivos 'm-
files' típicos de MATLAB® y se caracteriza por 3.2.1. Generalidades

Página 6
En la Figura 7., se muestra la apariencia de la
interfaz implementada. El botón [Descripción
General] proporciona una descripción básica de
la interfaz. El botón [Ejecutar GUI] abre la
interfaz de trabajo y los restantes botones
muestran las características principales de las
etapas necesarias (descritas en apartados
anteriores) para el diseño e implementación de
controladores, así como datos de autores y
referencias bibliográficas.

Figura 8. Interfaz de trabajo

Al presionar el botón [Ejecutar GUI] se abre la


interfaz de trabajo; se pueden distinguir nueve
zonas de trabajo cuyo propósito es el siguiente:

1) Selección de la planta y señal de entrada, 2)


Selección del número de muestras, tiempo de
muestreo, número de épocas para
entrenamiento especializado y características de
la señal de referencia: amplitud, frecuencia y
nivel DC, 3) Ejecución del experimento, 4)
Configuración de la arquitectura de la red,
5) Gráfica de los datos de entrada-salida y
respuesta del controlador con entrenamiento
general, 6) Entrenamiento general de la red
Figura 7. GUI para diseño y simulación de
neuronal, 7) Entrenamiento especializado de la
controladores neuronales bajo el esquema
red neuronal, 8) Cerrar la interfaz de trabajo y 9)
CDIG
Región para visualizar las gráficas de los
datos de entrada-salida y respuesta del
La interfaz permite diseñar y simular controlador con entrenamiento general.
controladores neuronales bajo el Esquema de
Control Directo Inverso Generalizado (ECDIG) Para diseñar y simular un controlador neuronal
empleando una metodología sencilla y eficiente. con la interfaz es necesario seguir los
Para ello se tomaron como base las funciones siguientes pasos:
presentes en el Toolbox NNCTRL de Norgaard.
Primero: Configuración de la planta y
señal de entrada.

Inicialmente se parte del modelo de la planta


realizado en Simulink. Es importante, utilizar
los bloques “inport” y “outport”, ya que todos
los datos son ingresados y leídos en la planta a
través de ellos.

Página 7
Cuando se tiene el modelo de la planta es
necesario cargarlo en la Interfaz. Para ello se
presiona el botón [Plantas], con lo cual se
visualiza la ventana de la Figura 3.17;

Figura 10. Configuración de la señal de


entrada
Figura 9 Configuración del modelo de la
El Toolbox NNCTRL utiliza la señal tipo PRS
planta
y ha sido empleado en numerosos trabajos de
La señal de entrada se configura presionando el maestría e investigaciones, es así, que con
botón [Señal Entrada], el cual despliega la seguridad los resultados que se obtienen al
ventana “señal_entrada1” de la Figura 10. aplicarla son bastante satisfactorios en este tipo
En general, para realizar un experimento de aplicaciones.
exitoso es necesario aplicar una señal de En nuestro caso de estudio, aplicaremos la señal
entrada frecuencialmente rica. Para garantizar PRS, con 500 muestras, amplitud variable
que los algoritmos de estimación converjan a entre -12 y 12 y un rango de frecuencias (shift
una solución única, es necesario imponer unos frequency) de 0.85. La gráfica de esta señal
requerimientos mínimos en las señales de test. aparece en la Figura 11.a.
Esto se denomina condiciones persistentemente
excitadas (persistent excitation). En la ventana
mostrada en la Figura 10, se puede configurar
cuatro tipos de señales, utilizadas amplia y
regularmente en procesos de identificación.
Para mayor información se puede consultar la
ayuda en línea de MATLAB®.
a) PRS b) RGS

c) RBS d) Seno
Figura 11. Señales de entrada

Página 8
Segundo: Configuración de los parámetros Figura 14. Gráfica que muestra el porcentaje
para el experimento de ejecución de un proceso

En la sección de “Parámetros”, configuramos Este conjunto de datos también puede ser


de igual forma 500 muestras, 3 épocas para el graficado utilizando los botones [Datos Entrada]
entrenamiento especializado (si resulta y [Datos Salida] de la sección “Gráficas”
necesario), 0.2 segundos de tiempo de muestreo
y una señal de referencia de 0.5 de amplitud, 2
de nivel DC y una frecuencia de 0.2 segundos.

Figura 15 gráficas datos de entrada-salida

Cuarto: Selección de la arquitectura de la


red neuronal
Figura 12. Parámetros para ejecución del La interfaz utiliza un modelo con una
experimento arquitectura que se basa en unidades perceptrón
multicapa con tres capas de neuronas. Una apa
de entrada, una capa oculta y una capa de salida.
Tercero: Realización del experimento La capa de entrada cuenta con dos muestras
retardadas de la salida y de la entrada,
El experimento se lleva a cabo presionando el siguiendo el esquema establecido en el Toolbox
botón [Organizar] de la sección “Obtención y NNCTRL. La capa oculta puede ser
adecuación de datos”. configurada por el usuario con función de
activación Tangente hiperbólica. La capa de
salida posee una neurona con salida lineal.

La selección de la arquitectura se realiza


presionando el botón [Definir] de la sección
Figura 13. Obtención conjunto de datos “Arquitectura RNA”, y consiste en ingresar el
entrada-salida número de neuronas presentes en la capa oculta
y el número de entradas y salidas pasadas. Se
Al iniciarse este proceso, se visualiza una pude seleccionar hasta máximo 15 neuronas y
ventana como la que aparece en la Figura 14. cualquier número de salidas y entradas pasadas.
donde se puede observar el porcentaje de
ejecución.

Figura 16. Configuración del número de


neuronas de la capa oculta y salidas-entradas
pasadas.

Página 9
Figura 19. RN implementada y entrenada

El proceso de validación se ejecuta presionando


el botón [Evaluar]. Para ello se evalúa el
modelo de la red entrenada utilizando el
segundo grupo de datos obtenidos en el
Figura 1.7. Ventana configuración # de experimento, con esto, se calcula el error entre
neuronas capa oculta y # salidas-entradas la salida del modelo y el conjunto de datos que
pasadas. se le presenta y que actúa como una señal de
control. El error deseado es cero (0), pero como
Quinto: Proceso de entrenamiento general es bien conocido, esta tarea es muy difícil de
El entrenamiento de la Red Neuronal (RN) cumplir debido a las limitantes que se tienen,
consiste en la búsqueda de las interconexiones sin embargo, el objetivo es encontrar un valor
W(pesos) que representen más correctamente a próximo a cero, en nuestro caso se fijo un valor
los pares de datos entrada-salida (patrones de igual a 0.1.
entrenamiento), y que a su vez generalicen esta
representación sobre un conjunto de pares
definidos para la validación del modelo.
Inicialmente se empieza con el proceso de
entrenamiento general aplicando una versión
del algoritmo Levenberg Marquard (LM).

Para aplicar este algoritmo se utiliza una rutina


que calcula la función a minimizar, un vector
de observaciones o valores deseados de la
función y una estimación inicial aleatoria Figura 20. Respuesta de la RN, función de auto
(Fletcher,1987). correlación del error de predicción y error de
predicció.n

Por último, cuando el error de predicción es lo


bastante cercano a cero y la respuesta del
modelo entrenado aceptable, se puede proceder
Figura 18.. Proceso de entrenamiento general a simular el esquema de control, esto se lleva a
Cuando se mantiene la configuración de dos cabo colocando en serie controlador y planta.
retardos tanto de la entrada como de la salida,
presionando el botón [Modelo RNA], se La Simulación del Controlador Inverso con
mostrara la arquitectura de la red neuronal Entrenamiento General (CIEG) se ejecuta
seleccionada y entrenada, Figura 19. presionando el botón [Simular CIEG].
Página 10
Nuevamente se desplegara la ventana de la Sexto: Proceso de entrenamiento
Figura 14., que indica el porcentaje de la especializado
simulación; al finalizar la simulación la ventana Aunque el controlador neuronal con
se cierra y se crean las gráficas de las Figura 21 entrenamiento general mostró un desempeño
y 22., las cual contienen la respuesta de la aceptable, podemos realizar un segundo
planta (verde), la señal de referencia (azul) y proceso de entrenamiento más especializado.
la señal de control (azul). Para ello, necesitamos un modelo directo de la
planta el cual se inicializa con los datos
obtenidos del entrenamiento general. La
arquitectura de este modelo es idéntica a la del
controlador y corresponde a una estructura
NNARX. Este proceso se lleva a cabo
presionando el botó [Entrenar] de la sección
“Entrenamiento Especializado”.

Figura 23.. Proceso de entrenamiento


Figura 21. Respuesta de la planta con CIEG y Especializado
señal de control
Al presionar el botón [Entrenar], aparecerá una
ventana donde se podrá elegir el algoritmo de
entrenamiento. Después de muchas pruebas, se
pudo comprobar que el algoritmo Gauss
Newton es el que converge más rápido y genera
mejores resultados. Sin embargo, el lector
puede aplicar el de su preferencia. Las
principales diferencias están en el número de
iteraciones, muestras y épocas necesarias para
Figura 22. Respuesta de la planta con CIEG al obtener el conjunto de pesos que generen el
presionar el botón [Respuesta] de la sección mejor desempeño del controlador.
“Gráficas”

Al analizar las gráficas de las Figura 21 y 22.,


se puede observar que existe un pequeño sobre
impulso (over-shot) lo que indica que el modelo
inverso no es perfecto. Sin embargo, estas Figura 24.. Algoritmos disponibles para el
imprecisiones, no impiden que el controlador proceso de entrenamiento especializado
logre controlar el sistema de forma aceptable.
Otro efecto que salta a la vista es que la señal Durante el proceso de entrenamiento
de control está muy activa y asume valores muy especializado se puede observar una gráfica
grandes. Este es un resultado bastante común donde aparece el error cuadrático medio (SSE)
cuando se utiliza el actual esquema de control. y la señal de control actual, obtenidos durante
cada época de entrenamiento. Finalizado este
proceso, presionando el botón [CIEE] se podrá
Página 11
Simular el Controlador Inverso con W1 : Pesos de las entradas hacia la capa oculta.
Entrenamiento Especializado (CIEE). La Figura La dimensión de la matriz es:
25., muestra la respuesta de la planta con el
controlador CIEE. [(# Unidades ocultas) por (entradas + 1)]
W2 : Pesos de la capa oculta hacia la salida.

La dimensión de la matriz es:


[(Salida) * (# Unidades ocultas + 1)].El 1
corresponde a los valores Bias, los cuales se
almacenan en la última columna. Como las
variables utilizadas durante todo el proceso de
diseño del controlador se almacenan en una
carpeta establecida por MATLAB®
(C:\Documents and Settings\Administrador\Mis
documentos\MATLAB), estos pueden ser
borrados utilizando un comando, para ello se
escribe limpiar en el “Command Window”.
Esta acción nos permite evitar el uso de datos
erróneos.
Figura 25. Respuesta de la planta con CIEE y Finalmente al presionar el botón [Aceptar] de la
señal de control sección “Salir del programa”, la interfaz de
trabajo se cerrara.
Para consultar la información obtenida, en el
“Workspace” de MATLAB®, se podrán
encontrar las variables Inverse y Forward con
las matrices de pesos originados.

Las matrices W1i y W2i contienen los pesos


correspondientes a la red neuronal que actúa
como controlador y se almacenan en la variable Figura 26. Salida de la interfaz de trabajo
Inverse.

3.3 Esquema De Control Neuronal Con


Modelo De Referencia

A continuación se diseñaran y aplicaran dos


controladores neuronales, el primero utilizando
Las matrices W1f y W2f contienen los pesos del el Toolbox de MATLAB® para Control con
modelo directo de la planta y se almacenan en Modelo de Referencia (Model Reference
la variable Forward. Control) y el segundo con la GUI, haciendo un
comparativo con el fin de evaluar su desempeño.

La estructura de estas matrices es la siguiente:


Página 12
Figura 29. Esquema del controlador neuronal
con modelo de referencia
Figura 27. Esquema de control neuronal con
modelo de referencia (mrefrobotarm) Identificación de la planta y entrenamiento
del controlador

Antes de entrenar la red neuronal que actuara


como controlador, es necesario identificar un
modelo de la planta con otra red neuronal.
Nosotros utilizaremos para este fin la
herramienta de identificación presente en el
Toolbox.
Para mayor información el lector puede
consultar la ayuda en línea de MATLAB®.
De forma general, los parámetros básicos para
implementar el algoritmo de entrenamiento son
los siguientes:

1) Tamaño de la capa oculta: Numero de


neuronas en la capa oculta del controlador.
2) Modelo de la referencia: Archivo en
Simulink, con puertos de entrada y salida
Figura 28. .Toolbox para control con modelo (inport-outport).
de referencia (MRC) 3) Numero de retardos de la entrada de
referencia para el controlador.
El esquema de Control MRC se implementa 4) Numero de retardos de la salida del
empleando dos redes neuronales diferentes. La controlador.
primera para modelar la planta y la segunda 5) Numero de retardos de la salida de la planta:
para implementar el controlador. usados para alimentar el controlador.
En primer lugar se realiza un proceso de 6) Valores máximos y mínimos de la señal de
identificación de la planta para luego entrenar el referencia: Define los límites de la señal de
controlador de tal manera que la salida de la entrada aleatoria al modelo de la referencia.
planta logre seguir la salida de referencia del 7) Intervalo de valores máximos y mínimos:
modelo. Define los límites del intervalo (por arriba)
en el que permanecerá constante de la señal
referencia aleatoria.
8) Muestras para el entrenamiento del
controlador: Define el número de valores
aleatorios generado por modelo de la referencia
usados para entrenar el controlador.
9) Épocas para entrenamiento del controlador:

Página 13
Un segmento de datos se presenta a la red, y 5) Identificación de la planta: es necesario
entonces se realiza el entrenamiento el número identificar la planta antes de realizar el
de epocas especificado. El próximo segmento entrenamiento del controlador.
se presenta entonces, y el proceso se repite
hasta que todos los segmentos de datos se
hayan presentado. 3.4 Brazo Robot De Un Eslabón
10) Segmentos para entrenamiento del
controlador: Define en cuántos segmentos los El modelo del brazo robot corresponde a una
datos de entrenamiento se dividen. variación del modelo del péndulo mostrado en
11) Entrenamiento acumulativo: Si se la Figura 29. En los cursos de física elemental,
selecciona, el entrenamiento inicial se hace con el péndulo se aproxima por una ecuación lineal
un segmento de datos. Los entrenamientos simple, que sólo es válida para pequeñas
futuros se llevan a cabo agregando los amplitudes de oscilación. En el presente
segmentos de datos anteriores al entrenamiento, ejercicio no haremos esta aproximación, sino
hasta que el conjunto de datos de entrenamiento que supondremos que el péndulo puede llegar
entero se use. El tiempo de entrenamiento incluso a dar vueltas completas sobre sí mismo.
aumenta considerablemente por tal motivo es En ese caso se puede comprobar, mediante las
necesario usarlo con precaución. leyes básicas de la mecánica newtoniana, que la
12) Uso de pesos actuales: Si selecciona este ecuación que rige el movimiento del péndulo es:
parámetro, los pesos actuales del controlador se
usan como los pesos iníciales para el
entrenamiento del controlador. Por otra parte,
se generan los pesos iníciales aleatorios. Si la
estructura de la red del controlador es
modificada, opción arrojara error y se usarán (7)
los pesos aleatorios. En esta ecuación, φ es la posición angular del
péndulo respecto al eje vertical, medida en
Los datos de entrenamiento se generan con el radianes. Se ha considerado también un término
botón “Generate Taining Data” y se obtienen de amortiguamiento proporcional a la velocidad,
del modelo de referencia. Estos datos se pueden siendo b la constante de amortiguamiento del
importar de otra fuente como por ejemplo de un sistema. Este sistema tiene dos puntos fijos, uno
archivo de Excel o simplemente del Workspace estable y el otro inestable. El punto fijo estable
de MATLAB®. se tiene para una posición 0 y una velocidad 0,
Finalmente cuando se cuenta con una buena y corresponde a un péndulo colgando
colección de datos se puede proceder de la verticalmente hacia abajo y en reposo. El punto
siguiente forma: fijo inestable se tiene para una posición π y una
1) Entrenamiento del controlador. velocidad 0, y corresponde a un péndulo
2) Almacenamiento: Los pesos son guardados colgado "hacia arriba". Esta situación es muy
en el bloque del controlador. Es posible simular inestable, especialmente si el amortiguamiento
el sistema mientras esta ventana permanezca es pequeño.
abierta.
3) Confirmación: Los pesos son guardados en Si el término de amortiguamiento b es igual a 0,
el bloque de la red neuronal del controlador y la el sistema es conservativo. Esto quiere decir
ventana se cierra que no se pierde energía en la trayectoria y hace
4) Cancelación: La ventana es cerrada y ningún que el comportamiento del sistema sea
valor es guardado. periódico. La solución de la ecuación anterior
es una oscilación, pero no una oscilación lineal.
Por ello, a diferencia del comportamiento de un
péndulo simple, en este caso el periodo no es
Página 14
independiente de la amplitud. En la El brazo robot se puede representar con la
aproximación lineal el periodo siempre es el siguiente ecuación de movimiento:
mismo, sea cual sea el valor de la amplitud de
las oscilaciones. Esta es una aproximación
válida en muchos casos, pero como es bien
sabido, no es cierta para oscilaciones grandes. (9)
En definitiva, el péndulo es un sistema no lineal Donde es el ángulo del brazo y u corresponde al
bastante simple, pero no es fácil de resolver. torque suministrado por un motor de corriente
Un sistema derivado del anterior y que tiene continua.
también mucho interés es el péndulo
amortiguado y forzado. En este caso, añadimos El objetivo es entrenar y obtener un controlador
al modelo anterior un término que da cuenta de neuronal con modelo de referencia. Este
una fuerza periódica que actúa sobre el péndulo modelo está representado por la ecuación:
mientras este realiza su movimiento oscilatorio.
Llamando F a la amplitud de la fuerza periódica,
que supondremos sinusoidal, y omega a su (10)
frecuencia, la ecuación que gobierna el Donde corresponde a la salida del modelo de
comportamiento de este sistema es: referencia y r a la señal de entrada.
Inicialmente se utilizara una arquitectura de tres
(8) capas tipo perceptrón. La capa de entrada con
Esta ecuación, en la suposición de oscilaciones dos retardos de la entrada y salida, una capa
de pequeña amplitud, es una ecuación lineal, y oculta y una capa de salida. Este esquema se
como tal se estudia en los cursos elementales de aplicara para el proceso de identificación y para
física, donde se observa que presenta el proceso de entrenamiento del controlador.
comportamientos interesantes tales como Los parámetros básicos de configuración inicial
fenómenos de resonancia. La versión no lineal, se muestran a continuación:
sin embargo, tiene un comportamiento mucho
más rico, dando lugar a movimiento periódico Capa oculta: 5 neuronas
para muchos valores de los parámetros, pero Muestras: 500
caótico para otros. Tiempo de muestreo: 0.2 segundos
Épocas de entrenamiento para identificación de
la planta: 300
Épocas de entrenamiento para entrenamiento
del controlador: 10 y 20 segmentos

a. Identificación del modelo de la


planta

Figura 29. Sistema Péndulo

El objetivo de la práctica es controlar el


movimiento del péndulo que corresponde al
modelo de un brazo robot de un eslabón, tratado
en los ejemplos de aplicación de MATLAB®.
Para ello inicialmente se definen las ecuaciones Figura 30. Datos de entrada-salida para
de movimiento que describen la planta de la identificación
siguiente manera.
b. Entrenamiento del controlador neuronal
Página 15
Figura 34. Respuesta de la planta con 10
neuronas y 1000 muestras

Observando las graficas de la salida de la planta


con la acción del controlador MRC (Control
con modelo de referencia) entrenado, notamos
que la respuesta es aceptable. La salida trata de
seguir la señal de referencia tan rápido como le
es posible pero el error de estado estacionario
Figura 31. Proceso de entrenamiento
no es cero. Para mejorar el desempeño del
c. Respuesta de la planta con el controlador se incrementaron el número de
neuronas en la capa oculta y la cantidad de
controlador
muestras, de esta forma, el error de estado
estacionario disminuye y la planta sigue mejor
la señal de referencia.

3.5 Esquema de control Directo Inverso


Generalizado para la planta
A continuación utilizamos la GUI para diseñar
32. Respuesta de la planta con 5 neuronas y y simular un controlador inverso (CI). Los
500 muestras parámetros básicos son los siguientes: Capa
oculta: 5 neuronas, Muestras: 500, Tiempo de
Ahora utilizando 10 neuronas en la capa oculta muestreo: 0.2 segundos y 5 épocas de
la respuesta de la planta con el controlador entrenamiento especializado. Primero se
entrenado es la siguiente: aplicara al controlador inverso con
entrenamiento general (CIEG) y luego con
entrenamiento especializado (CIEE).

Figura 33. Respuesta de la planta con 10


neuronas y 500 muestras

Utilizando 10 neuronas en la capa oculta y


aumentando el número de muestras a 1000.

Figura 35. Datos de entrada-salida y error de


predicción

Página 16
CONCLUSIONES

Luego de observar y evaluar los resultados


obtenidos con las diferentes plantas de prueba
que se emplearon para verificar el grado de
desempeño de los Controladores neuronales
diseñados con la GUI podemos afirmar que el
esquema de Control Directo Inverso
Generalizado (CDIG) es una alternativa
apropiada de control. Básicamente, lo que se
comprobó fue el buen desempeño que presentan
las redes basadas en perceptrones multicapa
para aprender la dinámica inversa de la planta y
luego ser utilizados como controladores.
Figura 36. Respuesta de la planta con CIEG
El desempeño mostrado por este tipo de
Entrenando el controlador haciendo uso del
controladores neuronales basados en
algoritmo “Gauss Newton”, se lograron los
perceptrones se debe primero a la capacidad
siguientes resultados:
que tienen para aproximar funciones no lineales,
lo que permite modelar sistemas complejos y
construir controladores para los mismos. Se
comprobó, que toda red que disponga de por lo
menos una capa oculta y contenga en ella una
adecuada cantidad de unidades entrenadas,
adquirirá el carácter de aproximador universal y
será capaz de reproducir cualquier función
continua y no lineal, que pueda estar definida
Figura 37.Respuesta de la planta con CIEE en cierto hiper-espacio, y así permitir la
implementación de controladores capaces de
Si analizamos las graficas de las Figuras 36 y operar sobre sistemas en principio
37, observamos que el desempeño del CI desconocidos.
formado con entrenamiento general, muestra un
mejor desempeño que el obtenido con el La segunda propiedad está relacionada con la
controlador MRC inicial. La planta sigue la capacidad de aprendizaje de las redes
señal de referencia tan rápido como le es neuronales artificiales (RNA), lo que hace
posible y el error de estado estacionario es casi posible alcanzar un elevado grado de autonomía.
cero. Sin embargo, se observa un pequeño sobre Es importante observar que las RNA trabajan
impulso. Para mejorar el desempeño del como sistemas paralelos, que basan su
controlador aplicamos entrenamiento Capacidad de aprendizaje a través de la
especializado logrando que el error de estado modificación de los pesos de interconexión
estacionario sea prácticamente cero y ya no entre sus neuronas, con lo cual, pueden adecuar
exista sobre impulso. Este resultado se obtiene dinámicamente su desempeño para responder a
con parámetros más bajos que los usados en el cambios en el sistema o su entorno a lo largo
proceso de entrenamiento del controlador MRC. del tiempo, sin mayor información que la
obtenida de su experiencia con el proceso.
Al comparar el desempeño de los controladores
inversos con los esquemas de control

Página 17
neuronales RMC de MATLAB® y Control [11] The MathWorks (2008): “Control System
Predictivo (GPC) del Toolbox NNCTRL, se Toolbox, User’s Guide, Version 4.2” The
observo como utilizando una arquitectura más MathWorks, Inc.
sencilla y con menores parámetros en los [12] K.J. Hunt, D. Sbarbaro (1991): “Neural
procesos de entrenamiento, se igualaba y Networks for Nonlinear Internal Model
mejora el desempeño y rendimiento del Control,” IEE, Proceedings-D, Vol. 138, No. 5,
controlado. pp. 431-438.

REFERENCIAS [13] K.J. Hunt, D. Sbarbaro, R. Zbikowski, P.J.


[1] Martín del Brío, Bonifacio, Sanz Molina, Gawthrop (1992): “Neural Networks for
Alfredo, Redes Neuronales y Sistemas Borrosos, Control Systems - A Survey,” Automatica, Vol.
2ª edición, Universidad de Zaragoza, Editorial 28, No. 6, pp. 1083-1112.
RA-MA, 2001. [14] L. Ljung (1987):“System Identification -
[2] Isasi Viñuela, Pedro, Galvan leon, Ines M., Theory for the User,” Prentice-Hall, 1987.
Redes de Neuronas Artificiales un enfoque [15] M. Nørgaard (2000): “Neural Network
practico, Pearson, Prentice Hall, Madrid, 2004. Based System Identification Toolbox, Ver. 2”
[3] M. Norgaar O, Ravn, N.K., Poulsen and Tech. report 00-E-891, Department of
L.K Hansen, Neural Networks For Modelling Automation, Technical University of Denmark.
and Control of dinamic Systems. [16] M. Nørgaard, O. Ravn, N. K. Poulsen, L.
[4] Charles M. Close, Dean K. Frederick, K. Hansen (2000): “Neural Networks for
Jonathan C. Newell, Modelling and Analysis of Modelling and
Dynamics Systems, Editorial Jonh Wiley & Control of Dynamic Systems,” Springer-Verlag,
Sons Inc., Third edition., USA, 2002. London, 2000.
[5] K. J. Hunt, D. Sbarbaro, R. Zbikowski y P. [17] D. Psaltis, A. Sideris, A.A. Yamamure
Gawthrop, "Neural Networks for Control (1988): “A Multilayered Neural Network
Systems- A Survey". Automática, Vol 28. No. 6. Controller,” Control
1992. Sys. Mag., Vol. 8, No. 2, pp. 17-21.
[6] K.S. Narendra y A.M. Annaswamy, “Stable [18] M.E. Salgado, G. Goodwin, R.H.
Adaptive Systems”, Englewood Cliffs, NJ: Middleton (1988): “Modified Least Squares
Prentice Hall, 1989. Algorithm
[7] K.J. Astrom y B. Wittenmark, “Adaptive Incorporating Exponential Forgetting and
Feedback Control” New York: Addison-Wesley, Resetting,” Int. J. Control, 47, pp. 477-491.
1989. [19] K.J. Åström, B. Wittenmark (1995):
[8] Valverde Gil Ricardo, Tesis Doctoral: “Adaptive Control,” 2nd. Edition, Addison-
Control de sistemas mediante redes neuronales Wesley.
Aprendizaje por refuerzo, Universidad Carlos [20]Alanís García Alma Yolanda, Anzurez
III de Madrid, Madrid, 1999, Páginas 1 a 13. Marin Juan, Castro Maldonado Victor, Control
[9] Giró , Juan F., Olariaga, Sandra, Stuardi, e
José E., Evaluación de modelos neuronales identificación neuronal aplicados a sistema de
destinados a operar sistemas inteligentes de tanques, Cinvestav, Centro de Investigaciones
control, Departamento de Ingeniería de y estudios avanzados del IPN, Guadalajara ,
Sistemas 2007
de Información, Facultad Regional Córdoba, [21] Guarnizo Marin, Jode Guillermo, Lopez
Universidad Tecnológica Nacional, Córdoba, Rodriguez, Juan Carlos, Simulación de
Argentina, 2006. identificadores a traves de redes neuronales y
[10] R. Fletcher (1987): “Practical Methods of control inverso generalizado, Universidad
Optimization,” Wiley, 1987 Distrital “Francisco Jose de Caldas”, Facultad
de Ingenieria, Grupo de Investigación Línea de

Página 18
Investigación en fuentes alternativas de energía
LINFAE, Bogotá D.C., 2007
[22] Hernández, M. Hernández, A., Magallón,
J., Urrego, D., Identificación, control
neuronal y difuso aplicado a un helicóptero de
base fija, Cinvestav, Centro de Investigaciones
y estudios avanzados del IPN, Guadalajara ,
2007

Página 19

S-ar putea să vă placă și