You are on page 1of 19

Luis M. Bergasa.

Departamento de Electrnica
1
Luis Miguel Bergasa Pascual
Departamento de Electrnica. Universidad de Alcal.
Email: bergasa@depeca.uah.es
LABORATORIO DE CONTROL NEURONAL Y BORROSO
PRCTICA 1
Diseo y simulacin de un controlador borroso
de un pndulo invertido en entorno
MATLAB/SIMULINK
Luis M. Bergasa. Departamento de Electrnica
2
MODELO FSICO DE UN PNDULO
MODELO FSICO DE UN PNDULO
INVERTIDO (I)
INVERTIDO (I)
F: fuerza aplicada al carrito. M: peso del carrito.
: ngulo de inclinacin del pndulo m: peso de la varilla.
x: posicin del carrito. L: longitud de la varilla.
g: aceleracin de la gravedad.
Luis M. Bergasa. Departamento de Electrnica
3
MODELO FSICO DE UN PNDULO
MODELO FSICO DE UN PNDULO
INVERTIDO (II)
INVERTIDO (II)
Aplicando las ecuaciones de la dinmica de
slidos rgidos en movimiento plano al carrito y a
la varilla:
x M F
x
& &

=
N H x M F + + =
& &

= 0
y
F
V Mg N + =

=
x x
a m F
sen cos
2
+ + =
& & &
& &
l m l m x m H

=
y y
a m F
cos sen
2
=
& & &
l m l m mg V

=
& &
I M
3
cos sen
2


& &

=
l m
H l V l
m M
l m F
x
+
+
=
) cos sen (
2

& & &
& &
( )


+
+

=
m M
m
l
l m F
m M
g

2
2
cos
3
4
sen
cos
sen
&
& &
Luis M. Bergasa. Departamento de Electrnica
4
MODELO EN SIMULINK DEL
MODELO EN SIMULINK DEL
PNDULO INVERTIDO (I)
PNDULO INVERTIDO (I)
1entrada F y 4 salidas: ang, dang, x y dx
Utilizar los bloques Fcn de SIMULINK para implementar las
ecuaciones anteriores
Los parmetros (g,m,M,l) se definirn mediante variables
Asignar bloques de entrada y salida para las variables
Fuerza
PENDULO
INVERTIDO
ngulo
Velocidad angular
Posicin x
Velocidad lineal
Luis M. Bergasa. Departamento de Electrnica
5
MODELO EN SIMULINK DEL
MODELO EN SIMULINK DEL
PNDULO INVERTIDO (II)
PNDULO INVERTIDO (II)
Luis M. Bergasa. Departamento de Electrnica
6
MODELO EN SIMULINK DEL
MODELO EN SIMULINK DEL
PNDULO INVERTIDO (III)
PNDULO INVERTIDO (III)
Agrupacin de todos los bloques: botn derecho Create Subsystem
Enmascarar el bloque: botn derecho Mask subsystem
Icon:
Drawing commands: plot(-4,-1,4,6,[0 3 2.8 -0.2 0],[1 5 5.15 1.15 1],[-1 -1 1 1 -1],
[1 0 0 1 1],[-3.5 3.5],[0 0]). Dibuja el smbolo del pndulo en el bloque
Examples of drawing command: port_label(label specific ports)
Parameters:
Condiciones Iniciales (ngulo, vel_ang, pos, vel_lineal)
Variable: init_cond
Especificaciones Fisicas ( L, m, M, g)
Variable: specs
Initialization commands:L=specs(1)/2; m=specs(2); M=specs(3); g=specs(4); Indica
como se asignan los datos iniciales a introducir por el usuario a las variables
Initialization:
l=specs(1)/2;m=specs(2);M=specs(3);g=specs(4);
Documentation:
Mask type: Pendulo
Mask Description:Pndulo invertido (mvil y barra)
Mask Help: Ecuaciones de un pndulo invertido con su carretilla y su barra. Es el
mensaje que saldr cuando se teclee la ayuda
Una vez enmascarado el bloque para poder acceder a su interior de nuevo hay
que desenmascararlo
Luis M. Bergasa. Departamento de Electrnica
7
MODELO EN SIMULINK DEL
MODELO EN SIMULINK DEL
PNDULO INVERTIDO (IV)
PNDULO INVERTIDO (IV)
Luis M. Bergasa. Departamento de Electrnica
8
MODELO EN SIMULINK DEL
MODELO EN SIMULINK DEL
PNDULO INVERTIDO (V)
PNDULO INVERTIDO (V)
Luis M. Bergasa. Departamento de Electrnica
9
MODELO EN SIMULINK DEL
MODELO EN SIMULINK DEL
PNDULO INVERTIDO (VI)
PNDULO INVERTIDO (VI)
Luis M. Bergasa. Departamento de Electrnica
10
CONSTRUCCIN DE UN SISTEMA
CONSTRUCCIN DE UN SISTEMA
BORROSO CON MATLAB (I)
BORROSO CON MATLAB (I)


E NTRADA SALIDA FIS Editor




REGLAS Rule Editor




Trminos de Trminos de Membership Function
Entrada Salida Editor
(interpretar) (asignar)




Luis M. Bergasa. Departamento de Electrnica
11
CONSTRUCCIN DE UN SISTEMA
CONSTRUCCIN DE UN SISTEMA
BORROSO CON MATLAB (II)
BORROSO CON MATLAB (II)
FIS EDITOR
Luis M. Bergasa. Departamento de Electrnica
12
CONSTRUCCIN DE UN SISTEMA
CONSTRUCCIN DE UN SISTEMA
BORROSO CON MATLAB (III)
BORROSO CON MATLAB (III)
MEMBERSHIP FUNCTION EDITOR
Luis M. Bergasa. Departamento de Electrnica
13
CONSTRUCCIN DE UN SISTEMA
CONSTRUCCIN DE UN SISTEMA
BORROSO CON MATLAB (IV)
BORROSO CON MATLAB (IV)
RULE EDITOR
Luis M. Bergasa. Departamento de Electrnica
14
CONSTRUCCIN DE UN SISTEMA
CONSTRUCCIN DE UN SISTEMA
BORROSO CON MATLAB (V)
BORROSO CON MATLAB (V)
RULE VIEWER
Luis M. Bergasa. Departamento de Electrnica
15
CONSTRUCCIN DE UN SISTEMA
CONSTRUCCIN DE UN SISTEMA
BORROSO CON MATLAB (VI)
BORROSO CON MATLAB (VI)
SURFACE VIEWER
Luis M. Bergasa. Departamento de Electrnica
16
DISEO DEL CONTROLADOR
DISEO DEL CONTROLADOR
BORROSO (I)
BORROSO (I)
Pegar en una hoja de simulink el modelo del pndulo
Aadir de la librera de simulink: Fuzzy Logic Toolbox el
bloque Fuzzy Logic Controller
Introducir como parmetro del controlador FIS File or
Structure una etiqueta: fismatrix
Cargar en el fichero de inicializacin initcp.m la matriz del
controlador a la etiqueta:
fismatrix=readfis(controlador.fis)
CONTROL
BORROSO
PENDULO
INVERTIDO
Posicin x
ngulo
Velocidad angular
Velocidad lineal
Pos.
Final
+
_
Luis M. Bergasa. Departamento de Electrnica
17
DISEO DEL CONTROLADOR
DISEO DEL CONTROLADOR
BORROSO (II)
BORROSO (II)
% INITCP Fichero de inicializacin de variables
% Copyright 1994-2000 The MathWorks, Inc.
% $Revision: 1.8 $
global AnimCpFigH AnimCpAxisH
winName = bdroot(gcs);
fprintf('Initializing ''fismatrix'' in %s...\n', winName);
fismatrix = readfis(controlador.fis');
fprintf('Done with initialization.\n');
Luis M. Bergasa. Departamento de Electrnica
18
DISEO DEL CONTROLADOR
DISEO DEL CONTROLADOR
BORROSO (III)
BORROSO (III)
Complete el esquema de Simulink
Luis M. Bergasa. Departamento de Electrnica
19
DATOS A PRESENTAR
DATOS A PRESENTAR
Modelo en SIMULINK del pndulo
Tipo de controlador diseado, mtodo AND, OR, Implicacin,
Agregacin y Defuzzificacin utilizado.
Funciones de pertenencia para las variables de entrada-salida
Reglas utilizadas
Superficie de salida del sistema borroso
Grficas de la evolucin de las variables (ngulo del pndulo, velocidad
angular del pndulo, error de posicin, velocidad del carrito y fuerza
aplicada) para los siguientes casos:
a) Posicin final de 1m partiendo de condiciones iniciales nulas, es decir,
posicin inicial del carrito en el centro del carril y el pndulo inicialmente
en equilibrio.
b) Posicin final de 1 m partiendo de una inclinacin inicial del pndulo de
0.4 (23 grados)
c) Respuesta si la posicin final viene dada por una seal cuadrada de
amplitud 1 y una frecuencia de 0.25 Hz, con condiciones iniciales nulas.

You might also like