Sei sulla pagina 1di 6

1

Optimización de Controladores Difusos mediante


Algoritmos Genéticos para el sistema carro -
péndulo
Andres Jaramillo, Bryan Rueda,
Jonathan Tituaña, Daniel Toaquiza
Departamento de Eléctrica y Electrónica, Escuela Politécnica del Ejército, Av. General Rumiñahui
Sangolquí - Ecuador

Resumen—El desempeño de los Controladores Difusos


depende en gran medida de la correcta elección de sus reglas “Usan el conocimiento experto para generar una base de
de control lingüísticas y funciones de pertenencia, por ello es conocimientos que dará a un sistema la capacidad de tomar
muy importante contar con una técnica de ajuste de estos decisiones sobre ciertas acciones que se presenten en su
parámetros de acuerdo al proceso que desea ser controlado. funcionamiento” [2]. La estructura de trabajo se muestra
En este artículo se presenta un método de ajuste de las en la Figura 1.
ganancias proporcionales y derivativas de un Controlador
Difuso previamente establecidos usando Algoritmos Genéticos
y probado con el modelo del péndulo invertido.

Palabras clave: Lógica Difusa, Algoritmos Genéticos,


Optimización, Control difuso.

I. INTRODUCCIÓN .
A lo largo de los años, se han utilizado ampliamente
controladores basados en leyes de control clásico como los
Figura. 1 Arquitectura del control difuso
Controladores Proporcional-Integral-Derivativo (PID). Este
tipo de controladores tienen un buen desempeño cuando son Las etapas de implementación del control difuso se indican
aplicados a sistemas lineales, debido a la reducida a continuación y se basan en la siguiente regla difusa:
información que se tiene de las variables del sistema.
Por esta razón, se han desarrollado nuevas técnicas de SI proposición n Y proposición n (ANTECEDENTE)
control, especialmente aplicadas en procesos industriales, entonces consecuencia(CONSECUENTE)
que permiten implementar controladores en situaciones
donde no es posible obtener una descripción cualitativa  Fusificación: consiste en la traducción de variables
completa tanto de las entradas como de las salidas del medibles en variables difusas.
proceso. Entre estas nuevas técnicas es posible destacar:
 Mecanismo de inferencia: a partir de las variables
Lógica Difusa y Algoritmos Genéticos de Control.
difusas (antecedentes) se desprende
En este trabajo se presenta como ejemplo de prueba el
conclusiones(consecuentes).
sistema del péndulo invertido en donde a partir de una base
 Defusificación: cuando se determina el grado de
de reglas y funciones de pertenencia previamente
pertenencia para los consecuentes en el
establecidas, un Algoritmo Genético es usado para ajustar
procedimiento de inferencia difusa, entonces son
las reglas y funciones pertenencia del Controlador Difuso
traducidas en variables cuantificables, para poder
para mejorar su desempeño. Los diseños de las
ser usados en acciones de control.
arquitecturas son desarrollados en Matlab® para la
simulación.
Las partes fundamentales en el diseño de un control difuso
II. LÓGICA D IFUSA son:
La lógica difusa se considera como: “Forma de expresar el  Variable lingüística: representa a términos del
conocimiento común, el cual es de tipo lingüístico lenguaje natural.
cualitativo, en un lenguaje matemático (cuantitativo) regido  Valor lingüístico: representa los atributos (conjunto
por la teoría de conjuntos difusos y funciones de difuso) que puede adquirir la variable.
pertenencia asociados a estos” [1]. Utiliza expresiones que  Funciones de pertenencia: representa a un conjunto
no son ni totalmente ciertas ni completamente falsas, es difuso mediante una función característica
decir aplica conceptos que pueden tomar un valor  Base de reglas: contiene las reglas difusas de
cualquiera de veracidad dentro de un conjunto de valores control.
que oscilan entre dos extremos, la verdad absoluta y la
falsedad total.

Un sistema de control difuso trabaja de manera muy


diferente a los sistemas de control convencionales.
conoce como Hijo. 2
III. ALGORITMOS GENETICOS De esta manera al realizar el cruce entre diferentes
Cromosomas, se crean nuevos Hijos los cuales crearán la
Se han desarrollado nuevos métodos de optimización que son nueva Generación de Cromosomas del problema.
conceptualmente diferentes a las técnicas de programación
matemática tradicional. Este conjunto de métodos recibe el Mutación Al finalizar el proceso de cruce, si puede realizar
nombre de Técnicas Modernas o No tradicionales de la operación de Mutación. Este operador, tiene como
optimización. Éstos se caracterizan porque son inspirados en propósito cambiar al azar uno o varios Genes de cada uno
algunas propiedades y comportamientos biológicos y/o de los Hijos de la nueva Generación. Es así como en la
moleculares, sistemas neurológicos y los enjambres de Mutación, primero se elige algún valor dentro del espacio
insectos. Una de estas técnicas modernas, son los Algoritmos de diseño de las variables de decisión, posteriormente se
Genéticos los cuales se basan en los principios de genética escoge el Gen o los Genes que van a ser sustituido(s) por el
humana y el proceso de Selección Natural. valor (los valores) determinado en el paso inicial.
Finalmente, el Gen (los Genes) es (son) cambiado(s)
Este tipo de método difiere de los algoritmos tradicionales siguiendo una probabilidad definida a priori a la
por cuanto: implementación del método de optimización.
 Usan los valores de la función objetivo, pero no
utilizan las derivadas en el proceso de búsqueda de IV. FUNCIONAMIENTO DEL
la solución óptima. SISTEMA PENDULO INVERTIDO
 Las variables de diseño se representan en una
cadena de caracteres, lo cual permite que este tipo El sistema de prueba utilizado en este trabajo es el del
de método sea aplicable tanto a problemas en el péndulo invertido, este sistema es usado regularmente como
dominio discreto como problemas en el dominio una prueba de rendimiento para diferentes tipos de
continuo. controladores, se muestra en la figura 2, el objetivo de
 Estos algoritmos usan técnicas aleatorias de control es balancear el péndulo aplicando una fuerza F al
búsqueda y la información de la generación actual carro.
para encontrar el mínimo de la función objetivo.

Representación de la Población: Para representar cada


una de las variables de diseño del problema de
optimización, se han creado diferentes formas de
realizar este procedimiento, las más usadas son la
Codificación Binaria y la Combinación de Valores.

 La Población se define como la unión de un


número determinado de Cromosomas.
Normalmente el tamaño de la Población se Figura. 2 Sistema péndulo invertido
selecciona de tal forma que sea entre el doble y
el cuádruple de Genes que tiene un
Cromosoma. El péndulo al estar suspendido verticalmente de un eje
horizontal puede oscilar con movimiento armónico simple,
Operadores Genéticos que genera un momento de inercia respecto al eje de
rotación.
Selección: Este operador genético, se encarga de seleccionar
los Cromosomas de la población actual y copiarlos a un A. Modelo matemático del sistema de péndulo invertido
conjunto que utilizará el operador genético denominado en Simulink.
cruce. Para el proceso de selección de los Cromosomas, no
existe un criterio único de escogencia, sin embargo,
usualmente éstos son clasificados de acuerdo con el valor de
la función objetivo (fitness), al ser evaluada en cada uno de
los cromosomas, este valor le da a los Cromosomas una
probabilidad de ser escogidos, así un Cromosoma cuyo valor
de fitness sea menor, tendrá mayor probabilidad de ser
escogido que uno cuyo fitness asociado sea mayor.

Cruce Una vez acabado el proceso de Selección, se realiza el


cruce. El objetivo de este operador genético, consiste en
intercambiar información entre los individuos del conjunto
seleccionado. Es así como, normalmente se escogen al azar
dos miembros de dicho conjunto y algunos Genes son Figura. 3 Modelo matemático del sistema de péndulo invertido en
intercambiados entre los dos Cromosomas escogidos. El Simulink
resultado de este intercambio de formación genética se
Diagrama de bloques del sistema de péndulo invertido triangular y trapezoidal como se muestra en la figura 5. 3
con la implantación de los controladores. Estas funciones de pertenencia son asignadas a los
conjuntos de entrada y salida en este controlador.
r e FUZZY u PÉNDULO
go INVERTIDO
CONTROL

d/dt g1

Figura. 4 Diagrama de bloques del sistema de péndulo invertido

r: es la entrada al sistema
e: error Figura. 5 Función de partencia
g1 y g2: conjuntos generados por el algoritmo genético. Ejemplo de premisa
V. CONTROLADOR  Si 𝜃 es GP y velocidad es PN entonces señal
de control PP o
DIFUSO PROPORCIONAL DERIVATIVO
En esta sección se tiene como objetivo complementar el
accionar del controlador mediante el diseño de un  Si error es GN y cambio de error PP entonces
controlador difuso PD. En una primera etapa trabaja el señal de control PP
controlador logrando balancear el péndulo y ubicándolo en la V-C. Base de reglas
zona de estabilización es entonces que en una segunda etapa
trabaja el controlador difuso PD dentro de los límites de esta Se ha dispuesto trabajar con 25 reglas que se presentan
zona para ubicar el péndulo en la posición vertical estable. en la figura 6., las cuales guardan la misma estructura de
composición en los dos controladores difusos PD.
Se realiza un controlador difuso PD para la posición angular
del péndulo el controlador tiene dos entradas y una salida.
Tabla 3 base de reglas en MatLab

Tabla 1 Variables asignadas para el control de posicion ERROR


2 2 2 1 0
CAMBIO DE

Controlador difuso PD péndulo 2 2 1 0 -1


Tipo Variable Etiqueta 2 1 0 -1 -2
ERROR

Entrada Error de posición angular del Error


péndulo 1 0 -1 -2 -2
Entrada Cambio Error de posición angular Cambio 0 -1 -2 -2 -2
del péndulo (velocidad angular) error
Salida Control u
ALGORITMO DE CONTROL DIFUSO

V-A. Definición de variables y valores lingüísticos Se implementará un algoritmo que generará los
Las variables asignadas para el control de posición angular controladores usando lógica difusa. Primeramente se
del péndulo, se indican en la tabla 1. define las funciones de pertenencia con sus respectivos
intervalos, posteriormente se calcula los valores de
Los valores lingüísticos que han sido escogidos para las salida del error y cambio de error según las funciones de
variables de entrada y salida del controlador difuso PD pertenencia, posteriormente se calcula los centros y las
péndulo, como se indica en la tabla 2. áreas, para finalmente calcular la acción de control.

function u_crisp=control_difuso1(in)
Tabla 2 valores lingüísticos
%Error y cambio de error localizados en
Valor lingüístico Etiqueta el puerto 1 y puerto 2
error=in(1);
Grande negativo GN
cambio_error=in(2);
Pequeño negativo PN
%Funciones de pertenencias para los
Cero Z casos: Grande negativo, pequeño
Pequeño positivo PP %negativo,zero , pequeño positivo,
Grande positivo GP grande positivo.
%error
uegn=fneg([-pi/2,-pi/4],error);
V-B. Funciones de pertenencia uepn=zero([-pi/2,-pi/4,0],error);
uez=zero([-pi/4,0,pi/4],error);
Las funciones de pertenencia utilizadas en los conjuntos uepp=zero([0,pi/4,pi/2],error);
difusos del controlador difuso PD péndulo son de tipo uegp=fpos([pi/4,pi/2],error);
%cambio de error Se han escogido los 3 controladores más óptimos, y a 4
ucegn=fneg([-pi/4,-pi/8],cambio_error); continuación se han graficado su respectiva acción de
ucepn=zero([-pi/4,-pi/8,0],cambio_error); control vs tiempo, y también el error que produce vs
ucez=zero([-pi/8,0,pi/8],cambio_error); tiempo.
ucepp=zero([0,pi/8,pi/4],cambio_error);
ucegp=fpos([pi/8,pi/4],cambio_error); Contorlador 1: J= 109.66
%valores de salida del error y cambio de
error según las gráficas de
%función de pertenecia.
ue=[uegn uepn uez uepp uegp]';
uce=[ucegn ucepn ucez ucepp ucegp];

uf=ue*uce;
%Tabla de reglas
reglas=[2 2 2 1 0;
2 2 1 0 -1;
2 1 0 -1 -2;
1 0 -1 -2 -2;
0 -1 -2 -2 -2];
%Centro de las gráficas
centros=10*reglas;
%cálculo de las áreas Figura 7: Acción de control
areas=20*(uf-uf.^2/2);
%centro de masa
centros_por_areas=centros.*areas;
%acción de control
u_crisp=
sum(sum(centros_por_areas))/sum(sum(areas
));
end

ALGORITMO GENÉTICO

Para obtener el Controlador Difuso optimizado primero en


reglas y después en funciones de membresía se utilizó un
Algoritmo Genético con los parámetros mostrados en la tabla Figura 8: Error
4.
En la Figura 7, podemos ver que la acción de control no es
Tabla 4 Parámetros algoritmo genético muy fuerte, además de que tiene una variación en el tiempo
muy lenta, como resultado podemos ver en la Figura 8, que
Tamaño de la población 8x8 la variación del error es muy lenta, y se llega al cero en casi
Numero de generaciones 20 10 segundos, de donde concluimos que este controlador no
Probabilidad de cruce 0.9 es óptimo ni eficiente para la aplicación
Probabilidad de mutación 0.01
Tiempo de simulación 10 seg Contorlador 2: J= 131.40

VI. ANALISIS DE RESULTADOS

Una vez realizada la optimización la matriz de los


controladores que se obtiene en la generación 20 se muestra
en la Figura 6, con sus respectivos coeficientes Kp, Kd y su
eficiencia J.

Figura 9: Acción de Control


Figura 6: Población de controladores
En la Figura 11, podemos ver que la acción de control se 5
dispara al infinito, y además tiene una variación muy rápida
en el tiempo, como resultado podemos ver en la Figura 12,
que la variación del error es muy rápida, y se llega al punto
estable casi inmediatamente.

Se concluye finalmente que el controlador 2 es el más


óptimo para la aplicación ya que si bien es cierto que el
controlador 3 elimina casi de inmediato el error, posee una
acción de control que inicialmente se dispara hacia el
infinito, dado que es imposible la implementación física de
un circuito que soporte tal acción de control, entonces se
procede a descartar la opción del controlador 3, y tomando
como la opción más óptima al Controlador 2, con un tiempo
de estabilización de 1,5 segundos.
Figura 10: Error
VII. CONCLUSIONES
En la Figura 9, podemos ver que la acción de control es un
poco mayor que en el caso anterior, y además tiene una
variación en el tiempo bastante rápida, como resultado  La identificación y cuantificación de las reglas difusas
podemos ver en la Figura 10, que la variación del error es que tienen correspondencia con la dinámica de la planta
bastante rápida, y se llega al punto estable en 1,5 segundos, física son esenciales en la generación de un algoritmo
de donde concluimos que este controlador es bastante optimo de control apropiado.
y eficiente para la aplicación.
 El desempeño de los Controladores Difusos depende en
gran medida de la correcta elección de sus reglas de
Contorlador 3: J= 191.038 control lingüísticas y funciones de pertenencia, por ello
es muy importante contar con una técnica de ajuste de
estos parámetros de acuerdo al proceso que desea ser
controlado.
 Al momento de escoger el controlador más óptimo, ha
sido de gran importancia analizar si su respectiva acción
de control se podría implementar físicamente, ya que
por eficiencia era el mejor, sin embargo no era
físicamente implementable, para el problema del
péndulo invertido.
 Se ha logrado sintonizar exitosamente un controlador de
lógica difusa, mediante el uso de algoritmos genéticos
para optimizar la eficiencia para el modelo del péndulo
invertido.
Figura 11: Acción de Control

VIII. BIBLIOGRAFÍA

[1] Kevin M. Passino. Fuzzy Control. Department of


Electrical Engineering. The Ohio State University.
Stephen Yurkovich. Department of Electrical
Engineering.

[2] Karr, C.L., and Gentry, J.;"Fuzzy Control of pH


Using Genetic Algorithms"; IEEE Transactions on
Fuzzy Systems, Vol 1, No 1, pp. 46-53, February
(1993).

[3] M. C. Mejía Olvera M. C. López. Optimización de


Controladores Difusos mediante Algoritmos
Genéticos. INSTITUTO TECNOLÓGICO Y DE
Figura 12: Error
ESTUDIOS SUPERIORES DE MONTERREY.
Atizapán de Zaragoza, México.
6

Potrebbero piacerti anche