Está en la página 1de 19

Sistemas de control difuso y Sistemas

de control Robusto

UNIVERSIDAD TECNOLGICA DEL PER


FACULTAD DE INGENIERA DE SISTEMAS Y ELECTRNICA
CARRERA DE INGENIERA MECATRNICA

Sistemas de control difuso y sistemas de control robusto

Gua para el desarrollo del trabajo N2

Sistemas de control Difuso


Control con lgica difusa

Autor: Bohrquez Bendez, Jos Luis

1
Sistemas de control difuso y Sistemas
de control Robusto

NDICE
1. Objetivos: _________________________________________________________________________ 3
2. Descripcin general: ________________________________________________________________ 3
3. Script del proceso de diseo del controlador difuso _______________________________________ 3
3.1. Consideraciones generales: ______________________________________________________________ 3
4. Proceso de diseo del controlador difuso para el mvil_____________________________________ 5
4.1 Resumen del procedimiento: ____________________________________________________________ 5
4.1.1 Determinar las variables de entrada y salida del controlador. _______________________________________________ 5
4.1.2 Determinar el Rango de variacin de cada entrada y salida, de manera que el punto medio coincida con el valor
deseado ( , ) ____________________________________________________________________________________ 6
4.1.3 Particionar cada rango de variables en un nmero impar y simtrico de particiones; asignando un valor lingstico a
cada participacin. ____________________________________________________________________________________ 6
4.1.4 Asignar una funcin de pertenencia (En qu medida pertenece a la particin) a cada particin. _________________ 6
4.1.5 Construir la Base de reglas usando la experiencia de un operador u operario humano (Respetar simetra). ________ 7
4.2 Prueba del controlador difuso en el que se desea mejorar las reglas y funciones de perteneca. _______ 8
4.2.2 Consideraciones:______________________________________________________________________________ 8
4.2.2.1 Prueba del sistema difuso sin mejoras : ______________________________________________________ 8
4.2.2.2 Lo que se busca lograr una vez mejoradas el conjunto de reglas y funciones de perteneca. ____________ 9

5. Descripcin del trabajo #5 __________________________________________________________ 11


Apndice A: Conjunto reglas y funciones de partencia, empleando el Toolbox Fuzzy para control del
mvil ________________________________________________________________________________ 12
Apndice B: Conjunto reglas y funciones de partencia, empleando el Toolbox Fuzzy para control
motor _______________________________________________________________________________ 15

2
Sistemas de control difuso y Sistemas
de control Robusto

Trabajo N5
Control con lgica difusa

1. Objetivos:

Mejorar la base de reglas del programa Fuzzycarx.m, del control de posicion del robot mvil;
evitando las oscilaciones (usando 7 funciones de pertencia).

2. Descripcin general:
Lo que se busca en el presente trabajo aplicativo es disear un sistema difuso:
Para disear el sistema difuso se parte del objetivo de control, e inmediatamente despus se sigue el
siguiente procedimiento:

Figura 1 Arquitectura del sistema Fuzzy Logic.

3. Script del proceso de diseo del controlador difuso


3.1. Consideraciones generales:
Command Window:
BaseReg = [ 1 1 1 7 7 7 7
7 7 1 1 1 1 1
7 7 1 1 1 1 1
7 7 7 4 1 1 1
7 7 7 7 7 1 1
7 7 7 7 7 1 1
1 1 1 7 7 7 7 ];

Script para el sistema difuso:


% El angulo del timon delta esta entre 50 y -50 grados
clear;
clc;
PI = 3.141592;
close all;
xini = input('Introduce coordenada inicial x : ');
yini = input('Introduce coordenada inicial y : ');
Pini = input('Introduce inclinacion inicial P : ');
xdeseado = input('Introducir coordenada final de x : ');

3
Sistemas de control difuso y Sistemas
de control Robusto

%Define cantidad de divisiones de la variables


kX = 7;
kP = 7;
kD = 7;

%Define los rangos de cada una de las divisiones


%de X. (X viene a ser el valor de la coordenada en eje X)
%LE LC CE RC RI
Xrango= [-50 25
10 40
30 50
48 55
50 70
60 90
75 150];

LE0 = Xrango(1,1); LE1 = 10; LE2=Xrango(1,2); LEC1=Xrango(2,1); LEC2=25;


LEC3 = Xrango(2,2); LC1 = Xrango(3,1); LC2 = 40; LC3 = Xrango(3,2);
CE1 = Xrango(4,1); CE2 = 50; CE3=Xrango(4,2); RC1=Xrango(5,1); RC2=60;
RC3 = Xrango(5,2); RIC1 = Xrango(6,1);RIC2 = 75; RIC3 = Xrango(6,2);
RI1= Xrango(7,1); RI2 = 90; RI3 = Xrango(7,2);
% Grafico de las funciones de pertenencia de X
Xx = [ LE0 LE1 LE2 LEC1 LEC2 LEC3 LC1 LC2 LC3 CE1 CE2 CE3 RC1 RC2 RC3 RIC1 RIC2 RIC3
RI1 RI2 RI3 ];
Xy = [ 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0
0 1 1 ];
figure(1);
subplot(3,1,1);
plot(Xx,Xy,'r');
title('Funciones de Pertenencia');
ylabel('X');
grid;
%Define los rangos de cada una de las divisiones
%de P. (P viene a ser el angulo de inclinacion
%de Vehiculo con respecto a la horizontal)
%RB RU RV VE LV LU LB
Prango = [ -95 10
-10 55
45 88
85 95
92 135
125 190
170 275 ];
RB1 = Prango(1,1); RB2 = -45; RB3 = Prango(1,2);
RU1 = Prango(2,1); RU2 = 22.5; RU3 = Prango(2,2);
RV1 = Prango(3,1); RV2 = 66.5; RV3 = Prango(3,2);
VE1 = Prango(4,1); VE2 = 90; VE3 = Prango(4,2);
LV1 = Prango(5,1); LV2 = 113.5; LV3 = Prango(5,2);
LU1 = Prango(6,1); LU2 = 157.5; LU3 = Prango(6,2);
LB1 = Prango(7,1); LB2 = 222.5; LB3 = Prango(7,2);
Phx = [ RB1 RB2 RB3 RU1 RU2 RU3 RV1 RV2 RV3 VE1 VE2 VE3 LV1 LV2 LV3 LU1 LU2 LU3 LB1
LB2 LB3 ];
Phy = [ 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1
0 ];

figure(1);
subplot(3,1,2);
plot(Phx,Phy,'r');
ylabel('Phi');
grid;

4
Sistemas de control difuso y Sistemas
de control Robusto

%Define los rangos de cada una de las divisiones


%de D. (D viene a ser el angulo de giro
%de las ruedas con respecto al vehiculo)
%NB NM NS ZE PS PM PB
Drango= [ -50 -15
-25 -6
-12 -1
-4 4
1 12
6 25
15 50 ];

NB0 = Drango(1,1); NB1 = Drango(1,1); NB2 = Drango(1,2); NM1 = Drango(2,1);


NM2 = -15.5; NM3 = Drango(2,2); NS1 = Drango(3,1); NS2 = -6.5;
NS3 = Drango(3,2); ZE1 = Drango(4,1); ZE2 = 0; ZE3 = Drango(4,2);
PS1 = Drango(5,1); PS2 = 6.5; PS3 = Drango(5,2); PM1 = Drango(6,1);
PM2 = 15.5; PM3 = Drango(6,2); PB1 = Drango(7,1); PB2 = Drango(7,2);
PB3 = Drango(7,2);

Dex = [ NB0 NB1 NB2 NM1 NM2 NM3 NS1 NS2 NS3 ZE1 ZE2 ZE3 PS1 PS2 PS3 PM1 PM2 PM3 PB1
PB2 PB3 ];
Dey=[1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 1]
figure(1);
subplot(3,1,3);
plot(Dex,Dey,'r');
set(gcf,'Color','w');
ylabel('Delta');
grid on;
%Define la base de reglas (Muy importante definir correctamente)
BaseReg = [ 1 1 1 7 7 7 7
7 7 1 1 1 1 1
7 7 1 1 1 1 1
7 7 7 4 1 1 1
7 7 7 7 7 1 1
7 7 7 7 7 1 1
1 1 1 7 7 7 7 ];

UU = [ NB0 NM2 NS2 ZE2 PS2 PM2 PB3 ]';





4. Proceso de diseo del controlador difuso para el mvil

4.1 Resumen del procedimiento:


4.1.1 Determinar las variables de entrada y salida del controlador.
La estructura del sistema difuso es la que se muestra en Figura 2la cual consta de dos entradas ([ ] y [
])

5
Sistemas de control difuso y Sistemas
de control Robusto

Figura 2 Estructura del controlador Difuso.


4.1.2 Determinar el Rango de variacin de cada entrada y salida, de manera que el punto medio
coincida con el valor deseado ( , )

Figura 3 Representacin del robot mvil tipo carro.

4.1.3 Particionar cada rango de variables en un nmero impar y simtrico de particiones;


asignando un valor lingstico a cada participacin.

Figura 4 Particin de cada rango con valores lingsticos asignados.

4.1.4 Asignar una funcin de pertenencia (En qu medida pertenece a la particin) a cada particin.
Notas: Debe haber traslape entre funciones de pertenencia contiguas.

6
Sistemas de control difuso y Sistemas
de control Robusto

Funciones de Pertenencia
1

0.5
X

0
-50 0 50 100 150

1
Phi

0.5

0
-100 -50 0 50 100 150 200 250 300

1
Delta

0.5

0
-60 -40 -20 0 20 40 60
Figura 5 Funciones de pertenencia correspondientes a las entradas y salidas del sistema difuso.

4.1.5 Construir la Base de reglas usando la experiencia de un operador u operario humano


(Respetar simetra).
Tabla 1 Base de Reglas generada a partir de un operador con valores lingsticos.
X MI IZ PI CE PD DE MD

HD

VD

PD

VE DF MD MD MD

PI

VI

HI

La base de reglas que se elabor se le asignan valores numricos para ejecutarlo con facilidad en el programa
desarrollado, como se muestra en la

7
Sistemas de control difuso y Sistemas
de control Robusto

Trayectoria de Rob
Tabla 2 Tabla 1 Base de Reglas generada a partir de un operador con valores numricos asignados.
X MI IZ PI CE PD DE MD

HD

VD

PD

VE 4 1 1 1

PI

VI

MI
4.2 Prueba del controlador difuso en el que se desea mejorar las reglas y funciones de perteneca.
4.2.2 Consideraciones:
Se muestra en la Figura 3 el sistema de control, el cual parte de unas condiciones iniciales entre los rangos del
eje comprendidos en:
50 150 ,
Considerando una mayor rea de trabajo del robot mvil respecto a la inicial 0 100 , para que este
pueda recorrer fcilmente la superficie sin limitadas restricciones. Para el rango de variacin del ngulo
del robot mvil se considera que estar comprendida entre los valores de:
90 270 ,
4.2.2.1 Prueba del sistema difuso sin mejoras :
En MATLAB se crea un Script para solucionar el problema considerando (ejecutando el programa):
Introduce coordenada inicial x : 10
Introduce coordenada inicial y : 10
Introduce inclinacin inicial P : 30
Introducir coordenada final de x : 50 %Posicion final del eje Y q recorrer el mvil
Lo mostrado en este cuadro es lo solicitado por el programa. Los tres primeros datos:
Introduce coordenada inicial x : 10
Introduce coordenada inicial y : 10
Introduce inclinacin inicial P : 30
10
Estos 3 datos [ ] = [10] , solicitados hacen referencia las condiciones iniciales del Robot mvil, este parte
30
de las coordenadas iniciales ( , )=(10,10) y el mvil parte con un Angulo de inclinacin de 30
Y

8
Sistemas de control difuso y Sistemas
de control Robusto

Resultados con la Base de reglas sin mejorar:


El robot mvil tipo carro parte con un ngulo de inclinacin inicial de = 120 Una posicion den el plano :
(, ) = (80,20); y la coordenada final deseada es = 50 los cual indica que el movil debe llegar al eje de
las ordenadas y seguir aquella recta (eje ).

Trayectoria de Robot Movil


100

50

-50
-50 0 50 100 150
Figura 6 Control (falta mejorar) de posicin del Robot mvil con oscilaciones presentes.

4.2.2.2 Lo que se busca lograr una vez mejoradas el conjunto de reglas y funciones de perteneca.
En MATLAB se crea un Script para solucionar el problema considerando:
Introduce coordenada inicial x : 80
Introduce coordenada inicial y : 20
Introduce inclinacin inicial P : 210
Introducir coordenada final de x : 50

Resultados con la Base de reglas mejorada:


El robot mvil tipo carro parte con un ngulo de inclinacin inicial de = 210 Una posicion den el plano :
(, ) = (80,20); y la coordenada final deseada es = 50 los cual indica que el mvil debe llegar al eje de
las ordenadas y seguir aquella recta (eje ).

9
Sistemas de control difuso y Sistemas
de control Robusto

Trayectoria de Robot Mvil


100

50
Eje Y

-50
-50 0 50 100 150
Eje X

Figura 7 Control de posicin del Robot mvil.

En MATLAB se crea un Script para solucionar el problema considerando:


Introduce coordenada inicial x : 25
Introduce coordenada inicial y : 70
Introduce inclinacin inicial P : 200
Introducir coordenada final de x : 80
Resultados con la Base de reglas mejorada:
El robot mvil tipo carro parte con un ngulo de inclinacin inicial de = 200 Una posicion den el plano :
(, ) = (25,70); y la coordenada final deseada es = 80 los cual indica que el mvil debe llegar al eje de
las ordenadas y seguir aquella recta (eje ).
Trayectoria de Robot Mvil
100

50
Eje Y

-50
-50 0 50 100 150
Eje X
Figura 8 Control de posicin del Robot mvil.

10
Sistemas de control difuso y Sistemas
de control Robusto

5. Descripcin del trabajo #2

Consideracin para el control de posicin del robot mvil:


- Se debe controlar la posicion del robot mvil evitando las oscilaciones.
- En el programa Fuzzycarx.m, Se ha tomado el rango de la posicion de X entre -50 y 150 para que
pueda desplazarse sin restricciones limitantes (por seguridad), se seleccion 7 funciones de
perteneca, con rangos pequeos, para la funcin de pertenencia central se recomienda
seleccionar un rango de variables pequeo (entre -5 y +5), para mejorar la precisin del control de
posicin.
- Como se muestra en la Figura 3 el sistema de control parte de unas condiciones iniciales entre los rangos
del eje , comprendidos en:
0 100 ,
0 100 ,
- Para el rango de variacin del ngulo del robot mvil se a considerado en el programa dado el
rango de variacin que est comprendida entre los valores de:
90 270 ,
Manteniendo al valor central de la variable como el valor objetivo (X *, *=90).

11
Sistemas de control difuso y Sistemas
de control Robusto

Apndice A: Conjunto reglas y funciones de partencia, empleando el Toolbox Fuzzy para control
del mvil

Tambin se puede pasar el conjunto de reglas y funciones de partencia, empleando el Toolbox Fuzzy, el
programa dado inicialmente est desarrollado en lenguaje C que es mas fcil de llevar a un sistema
embebido. Una desventaja de usar el Toolbox de Matlab es que emplea mucha memoria y es ms lento ya
que es un entorno visual.
Pasando las Reglas al Toolbox Fuzzy de Matlab para el Mvil

- Rango y funciones de pertenencia para el estado medido X (posicin):

12
Sistemas de control difuso y Sistemas
de control Robusto

- Rango y funciones de pertenencia para el estado medido V (velocidad):

13
Sistemas de control difuso y Sistemas
de control Robusto

Resultados en todo instante de la posicion del eje X del mvil hasta que converge a 50 m

Posicin de masa m
80

75

70
Posicin [metros]

65

60

55

50

45
0 50 100 150
Tiempo [seg]

Resultados en todo instante del ngulo u orientacin el mvil hasta que converge a 90

Angulo del movil


180

170

160

150
Posicin angular

140

130

120

110

100

90

80
0 50 100 150
Tiempo [seg]

14
Sistemas de control difuso y Sistemas
de control Robusto

Apndice B: Conjunto reglas y funciones de partencia, empleando el Toolbox Fuzzy para control
motor

Ajustando: Rangos de particin, Funciones de pertenencia y base de reglas; Para que el Sistema motor
tornillo sin fin, sea robusto a la friccin (empleando el Toolbox Fuzzy )

Figura 9 Estructura del controlador Difuso.

Figura 10 Representacin del sistema Motor con tornillo sin fin, con entrada u(t)=V(voltaje) y salida
y(t)=x (posicin del apoyo de la mesa).
Resumen del procedimiento:
1) Se ajust los rangos de particin como se muestra en la imagen para mejorar la respuesta del sistema:

Figura 11 Sistema Difuso.

15
Sistemas de control difuso y Sistemas
de control Robusto

2) Se mejor el Rango de variacin de cada entrada y salida, de manera que el punto medio coincida con el valor deseado.

16
Sistemas de control difuso y Sistemas
de control Robusto

Command Window:
En MATLAB se crea un Script para solucionar el problema considerando:
Posicion inicial x : 0
Posicion deseada : 1

xdeseado =

Script para el sistema difuso:


.
.
xx(2,1) = 0;
xx(3,1) = 0;
Vmax = 24;
Fseca = 1*70; % Robusto a la friccin
motfuzzy = readfis('motorx_tarea_p5');
.
.
.

17
Sistemas de control difuso y Sistemas
de control Robusto

Posicin de masa m
1.2

0.8
Posicin [metros]

0.6

0.4

0.2

0
0 5 10 15
Tiempo [seg]

Resultados con los rangos y la Base de reglas mejorada:


El sistema difuso es Robusto a la friccin y llega al
valor deseado con un tiempo de establecimiento de
aproximadamente 6 segundos en llegar a la posicion
X* deseada=1.

Voltaje Aplicado al Motor CC


25

20

15
Voltale [voltios]

10

-5
0 5 10 15 20
Tiempo [seg]

Figura 12 Voltaje aplicado.

18
Sistemas de control difuso y Sistemas
de control Robusto

Para el Sistema motor tornillo sin fin:

- El sistema difuso es Robusto a la friccin y llega al valor deseado con un tiempo de establecimiento
d aproximadamente 6 s en llegar a la posicion X* deseada=1.
- Para hacer ms robusto el sistema de control se redujo el rango de variacin de las variables en las
funciones de pertenencia para la entrada y la salida del sistema difuso, la cual es la seal de control.
- Al reducir los rangos de variacin de la salida (voltaje) se gener una seal de voltaje y por ende
giro ms rpido del tornillo sin fin acoplado al eje del motor.

19

También podría gustarte