You are on page 1of 12

CONTROL INTELIGENTE CONTROL FUZZY PARA UN PENDULO INVERTIDO Xavier Flores Manuel Montenegro Diana Noboa Luis Prez

DCIMO ELECTRONICA 2012-1-14

1. OBJETIVOS a. Objetivo general


Disear un controlador fuzzy para el ejercicio planteado en clases (pndulo invertido).

b. Objetivo especifico
Utilizar las ecuaciones caractersticas del pndulo invertido para la simulacin en simulink. Mediante las ganancias del controlador fuzzy sintonizarlo de la mejor manera. Escribir un algoritmo que permita realizar el proceso de fusificacin. Observar el grado de certeza que se cumple una proposicin en el algoritmo gentico a desarrollarse. Obtener las funciones de pertenencias del proceso ` Implementar un controlador Fuzzy en Matlab para un sistema de pndulo invertido. Disear un controlador difuso a travs de la herramienta FUZZY de matlab.

2. INTRODUCCION La lgica difusa ha cobrado una fama grande por la variedad de sus aplicaciones, las cuales van desde el control de complejos procesos industriales, hasta el diseo de dispositivos artificiales de deduccin automtica, pasando por la construccin de artefactos electrnicos de uso domstico y de entretenimiento, as como tambin de sistemas de diagnstico. Se dice que la lgica difusa es esencialmente lgica multivaluada que extienden a las lgicas clsicas. Estas ltimas imponen a sus enunciados nicamente valores falso o verdadero, procurando crear aproximaciones matemticas en la resolucin de ciertos tipos de problemas Las principales razones para que la lgica fuzzy crezca rpidamente es quizs por la sencillez conceptual, la facilidad para adaptarse a casos particulares con pocas variaciones de parmetros, la habilidad para combinar en forma unificada expresiones lingsticas con datos numricos, y el no requerir de algoritmos muy sofisticados para su implementacin En esencia un controlador lgico difuso, contiene un algoritmo que es capaz de convertir una estrategia de control lingstica en una estrategia de control automtico. Con la lgica difusa se pueden disear aplicaciones para que las mquinas respondan con mayor inteligencia a la imprecisin y a las condiciones del mundo exterior, con lo que se busca imitar el comportamiento humano. La creacin de una mquina con lgica difusa, es forjar un sistema experto, en donde el comportamiento de la mquina, va a estar basado totalmente en el conocimiento del experto o de la persona que aporta sus conocimientos empricos para el

Control Fuzzy para un pndulo invertido Control Inteligente funcionamiento de sta. El conocimiento del experto es el conocimiento emprico de cmo controlar el fenmeno, sin conocer ningn modelo del sistema a controlar.

3. MARCO TEORICO: Pndulo Invertido El modelo del pndulo invertido es un ejemplo clsico en la literatura de control y tiene mltiples aplicaciones: desde el control de misiles hasta el anlisis de la biomecnica de la marcha, balance y postura humana. El sistema a considerar consiste en un carro sobre el cual se encuentra un pndulo invertido sujetado mediante un pivote sin friccin (vase Figura 1). El carro es movido por un motor que en el instante t ejerce una fuerza u(t) en sentido horizontal, que es la accin de control. Suponemos que todos los movimientos ocurren en un plano, es decir que el carro se mueve a lo largo de una recta. Las ecuaciones que gobiernan el sistema representado en la Figura 1 son:

Figura 1: Grfico interpretativo del pndulo invertido.

Control Fuzzy para un pndulo invertido Control Inteligente

La primera ecuacin representa la suma de las fuerzas en la direccin horizontal, mientras que la segunda es la suma de los torques alrededor del punto pivote. Considerando valores de pequeos, el sistema lineal aproximado queda:

La lgica difusa se basa en lo relativo de lo observado como posicin diferencial. Este tipo de lgica toma dos valores aleatorios, pero contextualizados y referidos entre s. As, por ejemplo, una persona que mida 2 metros es claramente una persona alta, si previamente se ha tomado el valor de persona baja y se ha establecido en 1 metro. Ambos valores estn contextualizados a personas y referidos a una medida mtrica lineal. a. FUNCIONAMIENTO: La lgica difusa se adapta mejor al mundo real en el que vivimos, e incluso puede comprender y funcionar con nuestras expresiones, del tipo "hace mucho calor", "no es muy alto", "el ritmo del corazn est un poco acelerado", etc. La clave de esta adaptacin al lenguaje, se basa en comprender los cuantificadores de nuestro lenguaje (en los ejemplos de arriba "mucho", "muy" y "un poco"). En la teora de conjuntos difusos se definen las operaciones de: Unin Interseccin Diferencia Negacin Complemento y otras operaciones sobre conjuntos, en los que se basa esta lgica.

Control Fuzzy para un pndulo invertido Control Inteligente Para cada conjunto difuso, existe asociada una funcin de pertenencia para sus elementos, que indican en qu medida el elemento forma parte de ese conjunto difuso. Se basa en reglas heursticas de la forma SI (antecedente) ENTONCES (consecuente), donde el antecedente y el consecuente son tambin conjuntos difusos, ya sea puros o resultado de operar con ellos. Sirvan como ejemplos de regla heurstica para esta lgica o SI hace muchsimo calor ENTONCES aument drsticamente la temperatura o SI voy a llegar un poco tarde ENTONCES aumento levemente la velocidad.

Los mtodos de inferencia para esta base de reglas deben ser simples, veloces y eficaces. Los resultados de dichos mtodos son un rea final, fruto de un conjunto de reas solapadas entre s. Para escoger una salida concreta a partir de tanta premisa difusa, el mtodo ms usado es el del centroide, en el que la salida final ser el centro de gravedad del rea total resultante. Las reglas de las que dispone el motor de inferencia de un sistema difuso pueden ser formuladas por expertos, o bien aprendidas por el propio sistema, haciendo uso en este caso de redes neuronales para fortalecer las futuras tomas de decisiones. Los datos de entrada suelen ser recogidos por sensores, que miden las variables de entrada de un sistema. El motor de inferencias se basa en chips difusos, que estn aumentando exponencialmente su capacidad de procesamiento de reglas ao a ao. Lgica fuzzy

A mediados de la dcada del 60 el Profesor Lotfi Zadeh, de la Universidad de California en Berkeley, introdujo su teora de los conjuntos fuzzy , donde la idea de pertenencia de un elemento a un determinado conjunto no era ya pertenece o no pertenece, sino que pertenece en un cierto grado. Las funciones que vinculan al elemento con su grado de pertenencia, se llaman membership functions. Basandose sobre esta idea, se construy nuevamente toda la teora de conjuntos, redefiniendo inclusin, unin, operadores lgicos ( AND, OR ), otras operaciones y sus propiedades. En lo referente a la lgica, aparecen nuevas alternativas respecto de la lgica tradicional, puesto que, al evaluar una proposicin, ya no es verdadera o falsa sino que la misma tiene un cierto grado de veracidad, y que a su vez depende del grado de veracidad de sus premisas. De aqu que al utilizar fuzzy logic en la evaluacin de reglas, todas las reglas cuyas premisas tengan algn grado de veracidad, influirn tambin en cierto grado a la solucin del problema. Es decir toda regla que sepa algo opina

Controladores fuzzy.

Los controladores fuzzy, igual que otros controladores, toman el valor de las variables de entrada, procesan, y actan sobre sus salidas a fin de controlar la planta. En fuzzy control se utilizan sistemas basados en reglas, que emplean fuzzy logic, como elemento central. Dado su estado, y los valores de las variables de entrada, estos sistemas evalan la veracidad de cada regla, y as, toman decisin sobre los cambios a realizar en las variables de salida. Una vez actualizadas las mismas, estas producirn un cambio sobre la planta, luego se vuelven a obtener los valores de las variables de entrada, comenzando un nuevo ciclo. 4

Control Fuzzy para un pndulo invertido Control Inteligente

Al utilizar este tipo de resolucin de problemas, es importante observar que lo que se est procesando no son ya ecuaciones, nmeros o tablas crudas sino, reglas, es decir se procesan cosas tales como: SI la temperatura es baja ENTONCES aumente el ciclo de actividad del calefactor Tal tipo de procesamiento est mucho mas cercano al razonamiento del experto humano, ya que permite realizar operaciones entre palabras como mas bajo, subir un poquito etc.

b. Ventajas: Es fcil de entender conceptualmente: o Los conceptos matemticos detrs de sta son muy simples. Lo que la hace atractiva es la naturalidad con la que uno puede expresar problemas de cierta complejidad. Es flexible: o Una vez diseado un algoritmo fuzzy es fcil cambiar las reglas de comportamiento. Los datos pueden ser imprecisos y sin embargo, el sistema funcionar igualmente. Se pueden modelizar sistemas no-lineales de complejidad arbitraria. El sistema fuzzy puede ser construido en base a la experiencia de expertos. Esto es una gran ventaja si lo comparamos con las redes neuronales donde la red entrenada es como una caja negra, en problemas complejos. Puede combinarse con tcnicas de control convencionales.

4. PRODEDIMIENTO
Implementar un controlador fuzzy en Matlab, el mismo que d a conocer el procedimiento del control difuso, es decir la fusificacin, mecanismo de inferencia, base de reglas y defusificacin, para controlar un pndulo invertido.

Figura 5: pndulo invertido

Control Fuzzy para un pndulo invertido Control Inteligente

Para poder realizar el controlador fuzzy, se debe modelar el pndulo invertido, el mismo que se representa de la siguiente manera:

a. DESARROLLO Para poder dar una solucin a este problema, se debe introducir cada uno de los componentes del controlador difuso para poder equilibrar el pndulo invertido sobre el carro. r: posicin angular deseada u: fuerza de entrada y: angulo con la vertical

El objetivo es equilibrar el pndulo en la posicin vertical hacia arriba (r=0) , cuando se inicia por primera vez con un ngulo distinto de cero fuera de la vertical.

Figura 6: pndulo invertido Es necesario conocer acerca de las Descripciones Linguisticas proporcionadas a este problema para poder describir las reglas que deber seguir el controlador a fin de obtener una

Control Fuzzy para un pndulo invertido Control Inteligente solucin adecuada al sistema. Existen "variables lingsticas" que describen cada una de las variables en el tiempo las entradas y salidas del controlador para el pndulo invertido como:

Por lo tanto se puede en el pndulo el error, charges in errory forc se asume que toman los siguientes valores: neglarge negsmall zero possmall poslarge

Donde en la lgica de las reglas estos valores vendran a ser:

b. REGLAS: a) Si el error es neglare y cambio de error es neglare, entonces la fuerza es poslarge b) Si el error es zero y el cambio de error es negsmall, entonces la fuerza es negsmall c) Si el error es poslarge y el cambio de error es negsmal, entonces la fuerza es negsmall

Figura 7: Reglas

Como se explico anteriormente cada regla es una regla lingstica, tiene variables lingsticas y valores lingsticos, entonces teniendo estas reglas y al transformar el lenguaje se tiene las siguientes reglas que han sido interpretadas de forma numrica:

Control Fuzzy para un pndulo invertido Control Inteligente Fuerza u Error e -2 -1 0 1 2 cambio de error e -2 -1 0 1 2 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

Una vez obtenidas las reglas se procede a ingresar cada valor a Matlab, para poder empezar hacer el controlador fuzzy. En el workspace de Matlab se debe escribir fuzzy y darle enter, se abrir una nueva ventana llamada FIS Editor, como se indica en la siguiente figura:

Figura 8: ventana de FIS Editor Esta herramienta permitir realizar el controlador fuzzy de una forma mucho mas rpida y clara, aqu se debe escoger cada uno de los puntos a analizar posteriormente, definir las entradas, las salidas y tambin definir y generar el logaritmo adecuado para las reglas del problema. Este controlador debe tener dos entradas, una salida y el bloque de reglas. La ventana de FIS edition muetsra las variables de entrada y salida Como segundo paso, es necesario definir los conjuntos difusos de la svariables de entrada y salida, para esto se debe tomar en cuenta que:

Control Fuzzy para un pndulo invertido Control Inteligente

Figura 9: variables de entradas y salida En esta ventana se puede definir la forma de los conjuntos difusos los cuales pueden ser triangulares, gaussiana, trapezoidal, entre otros. Una vez generadas las seales de entrada, la de salida, se procede a ingresar la sreglas en el bloque de mamdani

Figura 10: ingreso de reglas Una vez generadas las seales de entrada, salida y reglas, se debe guardar el archivo con extensin .fis, este luego se lo utilizar al momento de generar el controlador con el bloque fuzzy del simulink. Para guardar el archivo se debe exportar el archivo tipo file.fis Por otro lado, es necesario implementar el modelo matematico en el simulink, y tambin el controlador difuso que se desea implementar se indica en la siguiente figura: En el bloque de Pendulo Invertido se debe realizar el siguiente diagrama en Simulink: 9

Control Fuzzy para un pndulo invertido Control Inteligente

Figura 11: bloque de pndulo invertido

Controlador difuso para el pndulo invertido

Scope MATLAB Function MATLAB Fcn


dy /dt

1 Gain

u y

Pendulo Invertido

-1 Gain1 -.1 Gain2

Figura 12: controlador difuso En el workspace debemos escribir el siguiente comando para que el controlador empiece a funcionar: Control=readfis(difuso) De esta manera el controlador se ejecutara dando los diferentes resultados. c. ANLISIS DE RESULTADOS Al momento de ejecutar el controlador, se debe ir al simunlink para verificar y observar las graficas que se han obtenido Bsicamente el valor deseado al que se debe llegar es tomando como referencia las siguiente graficas: 10

Control Fuzzy para un pndulo invertido Control Inteligente .

Figura 13: Graficas del equilibrio del controlador difuso del pndulo invertido Las graficas obtenidas por el controlador implementado son la siguientes:
0.12

0.1

0.08

0.06

0.04

0.02

0.5

1.5

2.5

Figura 14: Salida del pndulo invertido Posicin (y) = 0.1 radianes Condicin inicial para el estado del actuador (dy/dt) = 0 Tiempo se simulacin = 3 seg.

Fuerza aplicada al pndulo invertido

11

Control Fuzzy para un pndulo invertido Control Inteligente


20

15

10

-5

0.5

1.5

2.5

Figura 15: fuerza aplicada al pndulo invertido La figura indica que la fuerza aplicada y la posicin angular, tienen cierta convergencia muy aceptable con respecto a la grafica de muestra que se ha indicado anteriormente. La estabilidad de la seal se acerca al valor de cero, , esto quiere decir que le pndulo esta en equilibrio, tanto la fuerza como el ngulo estn en equilibrio manteniendo al pndulo de forma vertical con respecto a la normal del carro.

5. CONCLUSIONES
El controlador difuso con las entradas de error y cambio de error, en el sistema mejora los tiempos de respuesta, al comprara este controlador con un controlador PD, se puede concluir que este controlador Fuzzy es mucho ms recomendable utilizar que un controlador PD Difusifisidad esta relacionada al grado con el cual los eventos ocurren sin importar la probabilidad de su ocurrencia En cada uno de los casos, se ha generado una matriz de reglas bien definidas y analizadas, como es el caso del pndulo invertido se ha generado el conjunto de reglas tomando en cuenta la forma de movimiento del pndulo invertido y segn la fuerza aplicada. Se concluyo viendo cada uno de los resultados lo que expresa la lgica fuzzy, es decir que un conjunto difuso puede o no tener parte del conjunto, pero tiene un grado de certeza que indica que puede o no puede pertenecer al conjunto. Analizar el grado de pertenencia, esta ligado a la premisa de las variables que se van a analizar, debido a las premisas de las reglas, estn compuestas de varios trminos, el mecanismo de fusificacin evala el resultado de la combinacin de trminos La lgica difusa no esta completamente definida, ya que la curva difusa se caracteriza por ser no precisa pero permite un enlace entre el lenguaje numrico y lingstico. Es decir se permite dar valores lingsticos asociados a las variables fsicas, en este caso velocidad, distancia.

12

You might also like