Está en la página 1de 12

UNIVERSIDAD DE FUERZAS ARMADAS “ESPE”

DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA


ASIGNATURA: CONTROL INTELIGENTE

Actividad No 23. El control difuso de un péndulo invertido. Sintonización del controlador

Fecha: 20/07/2014
Nombre alumno: Mayerly Sáenz, Jhonnatan Borja
NRC: 2053

Introducción Escriba el significado de la sintonización y sobre los métodos de sintonización


de control difuso en base a la lectura del libro de Control difuso de Passino.

Sintonización: A lo largo de nuestra carrera de control y automatización hemos aplicado varios


tipos de controladores siempre buscando que nuestra planta funcione de la mejor forma posible
sea cual sea la salida que buscamos, pero no siempre se obtienen valores deseados, es por eso
que se requiere de una mejor sintonización, esto es realizar pequeños ajustes que permitan
acercarnos más al valor deseado.

Para la sintonización de un controlador difuso se utilizan las ideas convencionales de la


ingeniería de control a la conclusión de que debemos tratar de afinar la "ganancia derivativa."
Para hacer esto introducimos ganancias en los términos proporcionales y derivados, como se
muestra en la Figura, y al mismo tiempo colocamos una ganancia h entre el controlador difuso y
el péndulo invertido.

Ilustración 1Conjunto planta controlador - 1era sintonización

Si se aumenta la ganancia proporcional g0 la respuesta del controlador se hace mucho más


rápido. Un efecto similar se puede lograr mediante el aumento de la ganancia de salida h.

Aumentos adicionales en h generalmente resultan en el equilibrio más rápido a expensas de una


entrada de control grande, y para una gran suficiente h La entrada puede ser más grande que lo
que está permitido en el sistema físico. En ese momento, la simulación no reflejaría la realidad
ya que si el controlador se implementa realmente, la entrada a la planta saturaría y el
comportamiento adecuado equilibrio no puede ser alcanzado.

Página 1
1. A partir del modelo matemático del sistema del péndulo invertido descrito, construya el
esquema de simulación respectivo en Simulink.

Ilustración 2 Diagrama de bloques

Página 2
2. Usando la herramienta Fuzzy de Matlab construya el sistema de control difuso para el
sistema del péndulo invertido del numeral 1. Transcriba las funciones de pertenencia de las
entradas y salida, la base de reglas y el código para crear el bloque de control difuso.

- Ejecutamos la instrucción fuzzy

Ilustración 3 Fuzzy Matlab

- insertamos cada uno de los conjuntos difusos de las entradas: error y cambio de error y
de la salida fuerza con su función de pertenencia

Ilustración 4 Conjuntos difusos para el error

Página 3
Ilustración 5 Conjuntos difusos para cambio de error

Ilustración 6 Conjuntos difusos para la salida

Página 4
- Creación de la base de reglas:

Ilustración 7 Base de reglas

- Verificamos con un ejemplo activando la regla uno y vemos que si cumple con la
premisa hecha

Página 5
Ilustración 8 Ejemplo de la base de reglas

- Código para crear el bloque de control difuso

%grado de certeza de error


uegn=(e<-pi/2)*1+(e>=-pi/2 && e<=-pi/4)*(-4/pi*e-1)+(e>-pi/4)*0;
uepn=(e<-pi/2)*0+(e>=-pi/2 && e<=-pi/4)*(4/pi*e+2)+(e>=-pi/4 &&
e<=0)*(-4/pi*e)+(e>0)*0;
uez=(e<-pi/4)*0+(e>=-pi/4 && e<=0)*(4/pi*e+1)+(e>=0 && e<=pi/4)*(-4/pi*e+1)+
(e>pi/4)*0;
uepp=(e<0)*0+(e>=0 && e<=pi/4)*4/pi*e+(e>=pi/4 && e<=pi/2)*(-4/pi*e+2)+
(e>pi/2)*0;
uegp=(e<pi/4)*0+(e>=pi/4 && e<=pi/2)*(4/pi*e-1)+(e>pi/2)*1;

%grado de certeza de cambio de error


ucegn=(ce<-pi/4)*1+(ce>=-pi/4 && ce<=-pi/8)*(-8/pi*ce-1)+(ce>-pi/8)*0;
ucepn=(ce<-pi/4)*0+(ce>=-pi/4 && ce<=-pi/8)*(8/pi*ce+2)+(ce>=-pi/8 &&
ce<=0)*(-8/pi*ce)+(ce>0)*0;
ucez=(ce<-pi/8)*0+(ce>=-pi/8 && ce<=0)*(8/pi*ce+1)+(ce>=0 &&
ce<=pi/8)*(-8/pi*ce+1)+(ce>pi/8)*0;
ucepp=(ce<0)*0+(ce>=0 && ce<=pi/8)*8/pi*ce+(ce>=pi/8 &&
ce<=pi/4)*(-8/pi*ce+2)+(ce>pi/4)*0;
ucegp=(ce<pi/8)*0+(ce>=pi/8 && ce<=pi/4)*(8/pi*ce-1)+(ce>pi/4)*1;

ue=[uegn uepn uez uepp uegp]';


uce=[ucegn ucepn ucez ucepp ucegp];

uf=ue*uce;

reglas=[2 2 2 1 0;
2 2 1 0 -1;
2 1 0 -1 -2;
1 0 -1 -2 -2;

Página 6
0 -1 -2 -2 -2];
centros=10*reglas;

areas=20*(uf-uf^2/2);

ucrisp=sum(sum((centros.*areas)))/sum(sum(areas));

end

3. Obtenga la superficie de control del controlador difuso.


- Superficie de control generada por código

Ilustración 9 Superficie de control 1

- Superficie de control generada por fuzzy toolbox

Página 7
Ilustración 10 Superficie de control 2

4. Construya un sistema que permita ajustar los Universos de Discurso del controlador
mediante bloques de ganancia a las entradas y salidas de controlador difuso.
Indique en detalle el efecto que producen estos bloques de ganancia.

- Diagrama de bloque con ganancias para modificar el universo de discurso

Ilustración 11 Diagrama de bloques con ganancias G0,G1,G2

Página 8
La sintonización de las ganancias para los sistemas difusos se refiere al “escalamiento de los
sistemas difusos”, es decir modificación de los universos de discurso. Si para el ejemplo del
péndulo el universo de discurso efectivo para todas las entradas y salidas son [-1, +1], la entrada
que está más hacia la izquierda con una función de pertenencia que se satura con un pico de -1 y
la entrada ubicada más hacia la derecha con una función de pertenencias que se satura más hacia
la derecha con un pico de +1, entonces se dice que el controlador esta normalizado. Claramente,
las ganancias escaladas pueden ser usadas para normalizar el controlador del péndulo. Con lo
que se dice que las ganancias g0, g1, g2, logran normalizar el universo de discurso para las
funciones de pertenencia.

5. Presente los resultados que se obtienen al variar las ganancias y compárelos con los
indicados:

- Sin ganancias

Página 9
Ilustración 12 Valor de ganancias 0

- G0=1, G2=0.1 G2=1

Ilustración 13 G0=1, G2=0.1 y G2=1

- G0=2, G1=0.1 y G2=1

Página 10
Ilustración 14 G0=2, G1=0.1 y G2=1

- G0=2, G1=0.1 y G2=5

Ilustración 15 G0=2, G1=0.1 y G2=5

Anexos:
--control difuso…
function ucrisp=control_difuso14jul(x)
e=x(1);
ce=x(2);

Página 11
%Ecuaciones para el error
ez = 0*(e<=-pi/4) + (4/pi*e+1)*(e>-pi/4&e<=0) + (-4/pi*e+1)*(e>0&e<=pi/4) +
0*(e>pi/4);
egn = 1*(e<=-pi/2) + (-4/pi*e-1)*(e>-pi/2&e<=-pi/4) + 0*(e>-pi/4);
epn = 0*(e<=-pi/2) + (4/pi*e+2)*(e>-pi/2&e<=-pi/4) + (-4/pi*e)*(e>-pi/4&e<=0)
+ 0*(e>0);
epp = 0*(e<=0) + (4/pi*e)*(e>0&e<=pi/4) + (-4/pi*e+2)*(e>pi/4&e<=pi/2) +
0*(e>pi/2);
egp = 0*(e<=pi/4) + (4/pi*e-1)*(e>pi/4&e<=pi/2) + 1*(e>pi/2);

%Ecuaciones para la variacion de error


cez = 0*(ce<=-pi/8) + (8/pi*ce+1)*(ce>-pi/8&ce<=0) +
(-8/pi*ce+1)*(ce>0&ce<=pi/8) + 0*(ce>pi/8);
cegn = 1*(ce<=-pi/4) + (-8/pi*ce-1)*(ce>-pi/4&ce<=-pi/8) + 0*(ce>-pi/8);
cepn = 0*(ce<=-pi/4) + (8/pi*ce+2)*(ce>-pi/4&ce<=-pi/8) + (-8/pi*ce)*(ce>-
pi/8&ce<=0) + 0*(ce>0);
cepp = 0*(ce<=0) + (8/pi*ce)*(ce>0&ce<=pi/8) +
(-8/pi*ce+2)*(ce>pi/8&ce<=pi/4) + 0*(ce>pi/4);
cegp = 0*(ce<=pi/8) + (8/pi*ce-1)*(ce>pi/8&ce<=pi/4) + 1*(ce>pi/4);

%vectores de error y de la variación del error

ev = [egn epn ez epp egp];


cev = [cegn cepn cez cepp cegp];

%matriz de certeza de la base de reglas


h = ev'*cev; %h= altura del trapezoide para el cálculo de áreas
%áreas de cada conjunto difuso
areas = 20*(h-(h.*h)/2);
% Grafico
% y=[30 27.5 25 22.5 20 17.5 15 12.5 10 7.5 5 2.5 0 -2.5 -5 -7.5 -10 -12.5 -
15 -17.5 -20 -22.5 -25 -27.5 -30];
%
% for i = 1:5
% k = 0;
% for j = 1:5
% plot(y,
[0,zeros(1,k),h(i,j),h(i,j),h(i,j),h(i,j),h(i,j),h(i,j),h(i,j),zeros(1,17-
k)]);
% hold on;
% k = k+4;
% end
% end
% hold off;

centros = [20 20 20 10 0; %centros necesarios para la desfusificacion


20 20 10 0 -10;
20 10 0 -10 -20;
10 0 -10 -20 -20;
0 -10 -20 -20 -20];

ucnum = sum(sum(areas.*centros));%suma ponderada numerador para el Ucrisp


ucden = sum(sum(areas)); %suma ponderada denominador para el Ucrisp
ucrisp = ucnum/ucden; %grado de pertenecia de crisp

end

Yo Mayerly Sáenz y Jhonnatab Borja afirmo que esta actividad es de mi autoría y establezco
que para la elaboración de la misma he seguido los lineamientos del Código de Ética de la
Universidad de las Fuerzas Armadas ESPE

Página 12

También podría gustarte