Laboratorio 5 - Control inteligente

Anuncio
CONTROL INTELIGENTE 1
TRABAJO FINAL: APLICACIÓN DE ALGORITMOS DENETICOS
CONTROL PID A UN SISTEMA DE SEGUNDO ORDEN CON RETARDO
Profesor: Juan Pablo Rivera.
OBJETIVO
Realizar por medio de los algoritmos genéticos una aplicación al área de Instrumentación
y control.
INTRODUCCIÓN
La necesidad de optimizar una función de costo dada es un problema que se presenta en
las más diversas áreas del conocimiento humano, ya que es lógico esperar que al diseñar
un equipo o sistema se desee que éste funcione de la mejor forma posible, según algún
criterio de calidad previamente establecido.
Los Algoritmos Genéticos (AG) son una forma novedosa de atacar el problema de buscar
la optimización de funciones, lo cual es una tarea que puede ser complicada en
aplicaciones con máximos locales; como en nuestro caso los parámetros de ganancia,
constantes derivativas e integrales.
PROCEDIMIENTO
1. Se supone que se tiene el siguiente de sistema de control con un controlador
PID, en donde se realizó la simulación de este como se observa en la figura 2.
x
Clock
1
Step
To Workspace1
6.3223 s2 +17 .9996 s+12 .8112
s
s3 +6s2 +5s
Transfer Fcn 1
Transfer Fcn
Scope
To Workspace
y
Figura 1
Control PID
RESPUESTA DEL SISTEMA CON EL CONTROLADOR PID
1.8
1.6
SP
RESPUESTA DEL SISTEMA
RESPUESTA DEL SISTEMA
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0
5
10
15
TIEMPO
Figura 2
REPUESTA ANTE EL PID CLASICO
SISEÑO DEL ALGORITMO GENETICO
Utilizando el software init_PID.m, se observa la respuesta del mismo sistema ante un
controlador PID, solo que esta vez este no es hallado de la manera convencional
explicada en la teoría de control clásico, sino que utiliza un algoritmo genético para
encontrar los valores ideales de las ganancias Ki, Kp, Kd, que son las ganancias
integral, proporcional y derivativa respectivamente.
Step Response
1.4
1.2
1
Amplitude
0.8
0.6
0.4
0.2
0
0
1
2
3
4
5
Time (sec)
6
7
Figura 3
REPUESTA ANTE EL PID POR AG
8
9
10
Figura 4
VALOR DE LAS GANANCIAS POR AG EN EL TIEMPO
Comparando los resultados obtenidos en la respuesta del sistema ante un controlador PID
convencional (Figura 2), con la respuesta del mismo ante un controlador PID por AG
(Figura 3), se observa que el sistema controlado con el algoritmo genético presenta un
menor sobre impulso ante el set point deseado (escalón unitario); además el sistema
alcanza su estabilización de manera más rápida lo que hace este sistema mas eficaz y
eficiente contra el control tradicional.
En la figura 4 se puede observar las ganancias como fueron optimizadas en el tiempo,
logrando así el control cuasi-ideal del sistema.
2. Descripción y análisis de los programas:
init_PID.m

Son definidas variables globales de tiempo y el sistema.

Es creada la planta para la cual se va a diseñar el controlador PID, definiendo la
función de transferencia.

Se procede a iniciar el algoritmo genético creando la población inicial de 80,
además se definen los limites de las ganancias en el rango de [ -100 , 100 ]

Desde aquí son llamados subprogramas elaborados con anterioridad por los
programadores, como lo son initializeaga, evalOps, entre otros.

Se realizan los ajustes de los parámetros del algoritmo genético y se comienza a
realizar iteraciones hasta con el fin de encontrar las ganancias ideales para el
controlador PID.

Se genera el control con los parámetros de las ganancias y se plotea la respuesta
y se subplotean loa parámetros de las ganancias obtenidos con la ayuda del
algoritmo genético.
PID_objfun_MSE.m

Se definen las variables globales y valores de las ganancias los cuales son
mandados desde el programa principal con la variable x_pop.

Una vez más se define la función de transferencia del sistema a controlar, además
se crea el controlador PID a partir de las ganancias actuales, teniendo en cuenta
de que el controlador va en serie con la función de transferencia y hay
realimentación unitaria.

Se procede a aplicar un estimulo tipo escalón a el sistema ya realimentado, a su
vez es calculado el error cuadrático generado por este estimulo,

Finalmente con un ciclo IF se valora la estabilidad obtenida por medio de los polos
del sistema; una vez se evalué con este ciclo IF se obtiene el valor deseado con la
función fx_val
gato.m

Se evalúa si la función nargin tiene los parámetros suficientes, esto con el fin de
obtener un óptimo resultado en el algoritmo genético.

Luego de determinar el número de entradas, se comienza a hacer una serie de
comparaciones para darle los valores necesarios para elaborar los cruces.

Si luego de evaluada, la variable opts está vacía o contiene muy pocos parámetros
(< 5), se le asigna un valor con la línea opts = [1e-6 1 0];

Se dan valores a diferentes variables y se comienzan a hacer a hacer la función
objetivo, la función de costo y las mutaciones, guardando los resultados de las
mismas en otras variables.

Utilizamos un ciclo FOR para representa un modelo probabilístico de operadores
genéticos con el fin de obtener vectores como: la población final, matriz con los
mejores promedios, entre otros.

Se obtiene un vector x, que representa la mejor solución al problema.
3. Describa de manera breve qué hacen los programas:
maxGenTerm.m
Este código hace que el programa retorne un 1 cuando y si se alcanza el número
máximo de generaciones a obtener.
normGeomSelect.m
Es una función de selección, basada en la distribución normalizada de los
parámetros. Se encarga de seleccionar una nueva población a partir de la población
vigente.
Es una función que clasifica los valores en base a la distribución geométrica
normalizada, es decir, realiza una interpolación; esto con el fin de seleccionar una
nueva población a partir de la ya existente.
arithXover.m
Esta función elige un padre y una madre para realizar una interpolación a lo largo de
los valores tomados por los dos padres para crear las funciones hijas.
unifMutation.m
Esta función realiza las mutaciones a la población vigente, es decir, cambia uno de
los parámetros de alguna de las funciones padres, basada en una probabilidad de
distribución uniforme, buscando asi mejorar la siguiente generación.
4. Conclusiones respecto al uso de algoritmos genéticos en aplicaciones de
control. ¿Qué otras aplicaciones en el área puede tener el uso de AG´s?.
Complementar apreciaciones con una investigación seria en bases de datos
adecuadas.

A la hora de implementar control PID a un sistema es mucho más eficiente
emplear una técnica de control moderno como los algoritmos genéticos, no
obstante la gran desventaja que tiene esta técnica es su compleja
programación.

Los algoritmos genéticos se pueden utilizar en casi todos los problemas de
identificación procesos, ya que simulan muy bien cualquier tipo de datos
presentados.

Pienso que otra aplicación para la que se puede utilizar el matlab es en el
diseño de rutas de robots, en la cual encuentren el mejor camino dentro de un
laberinto; esto puede considerarse útil a la hora del diseño de robots para la
búsqueda de sobrevivientes en desastres tales como terremotos en donde
estas maquinas pueden buscar con facilidad en lugares donde ni rescatistas ni
animales entrenados pueden.

Otra posible aplicación de los algoritmos genéticos es en el Routing: En la
elección
de
rutas
de
transporte
de
información,
especialmente
en
telecomunicaciones, en donde si una ruta esta atiborrada de datos, el sistema
busca otra ruta más despejada para el envió de información.
Descargar