Control Fuzzy
Control Fuzzy |
||
|
|
Introducción
El trabajo consiste en diseñar un regulador Fuzzy para elpéndulo invertido mediante:
* Sistemas de reglas
* Conjuntos Fuzzy
Para ello dispondremos de un archivo donde figuran los rangos de las variables. En él debemos definir los fuzzy sets de lasvariables y las reglas.
En este caso, hemos diferenciado 4 niveles de ángulo, velocidad y fuerza: nulo, bajo, medio y alto. Para cada uno de ellos se ha diferenciado entre negativo y positivo,obteniendo por tanto 48 reglas.
FUZZIFY TETA
TERM nulo:= (-3,0) (0,1) (3,0);
TERM bajop:= (3,0)(5,1)(10,1)(16,0) ;
TERM bajon:= (-16,0)(-10,1)(-5,1)(-3,0);
TERM mediop:= (15,0)(20,1)(35,0) ;
TERMmedion:= (-35,0)(-20,1)(-15,0) ;
TERM altop:= (32,0)(40,1)(55,1)(65,0) ;
TERM alton:= (-65,0)(-55,1)(-40,1)(-32,0) ;
END_FUZZIFY
FUZZIFY TETA_DOT
TERM cero:= (-3,0) (0,1) (3,0);
TERM lentap:=(3,0)(5,1)(10,1)(16,0) ;
TERM lentan:= (-16,0)(-10,1)(-5,1)(-3,0);
TERM mediap:= (15,0)(20,1)(35,0) ;
TERM median:= (-35,0)(-20,1)(-15,0) ;
TERM rapidap:=(32,0)(40,1)(55,1)(65,0) ;
TERM rapidan:=(-65,0)(-55,1)(-40,1)(-32,0) ;
END_FUZZIFY
FUZZIFY FUERZA
TERM nada:= (-3,0) (0,1) (3,0);
TERM pocap:= (0,0)(1,1)(10,1)(16,0);
TERM pocan:= (-16,0)(-10,1)(-1,1)(0,0);
TERM medp:=(15,0)(18,1)(23,1)(28,0);
TERM medn:= (-28,0)(-23,1)(-18,1)(-15,0);
TERM muchap:= (25,0)(30,1)(38,1)(42,1);
TERM muchan:= (-42,0)(-38,1)(-30,1)(-25,1);
END_FUZZIFY
DEFUZZIFY valve
METHOD: CoG;
END_DEFUZZIFYRULEBLOCK first
AND:MIN;
ACCUM:MAX;
RULE 0: IF bajop AND lentap THEN pocap;
RULE 1: IF bajon AND lentan THEN pocan;
RULE 2: IF bajop AND mediap THEN medp;
RULE 3: IF bajon AND median THEN...
Regístrate para leer el documento completo.