Professional Documents
Culture Documents
Director
JESS ALFONSO LOPEZ SOTELO
Ingeniero Electricista
JIMMY TOMBE
Jurado
Jurado
3
AGRADECIMIENTOS
4
CONTENIDO
Pg.
RESUMEN 16
INTRODUCCIN 17
1. PROBLEMA DE INVESTIGACIN 19
2. JUSTIFICACIN 20
3. OBJETIVOS 21
4. MARCO DE REFERENCIA 22
5
5. RECONOCIMIENTO Y MODELADO DE LOS SISTEMAS 36
PENDULARES
6
7.2.4. Cdigo de mecanismo de inferencia difusa 74
8. IMPLEMENTACIN CONTROLADORES 82
7
8.5.1 Lectura de los ngulos del doble pndulo invertido 101
8.5.2 Implementacin Control Fusin Labview 2012 102
9. CONCLUSIONES 106
BIBLIOGRAFA 107
8
LISTA DE FIGURAS
Pg.
9
Figura 16. Diagrama de bloques del sistema pendular simple con el
52 controlador difuso
Figura 17. Respuesta del controlador difuso (accin de control y
52 posicin del pndulo)
10
Figura 32. Salida de control para el servomotor 66
Figura 35. P s gu s v m 67
11
Figura 48. Pestaa de ayuda de modelo virtual del sistema pendular doble
80
Figura 50. Animacin del modelo virtual del sistema pendular doble 81
Figura 53. Conectores tipo 6 pin mini din a 6 pin mini din 83
Figura 62. Nodo de frmula que representa los conjuntos difusos del error
92
12
Figura 64. Implementacin completa del control difuso en pndulo
invertido 93
Figura 66. Edicin de los conjuntos difusos (erro, derivada del erro) 94
13
LISTA DE CUADROS
Pg.
14
LISTA DE ANEXOS
Pg.
ANEXO D. Cdigo para generar cada uno de los conjuntos difusos 119
pndulo invertido en Matlab.
15
RESUMEN
16
INTRODUCCIN
El control automtico es una de las reas que ha sufrido mayor impacto; uno de
los aportes en este campo son los laboratorios basados en Web como entornos
de experimentacin en el que los usuarios pueden operar sobre una serie de
componentes grficos cada uno representando un elemento importante del
experimento (planta fsica), destacando como claros ejemplos los laboratorios
virtuales donde la interfaz de experimentacin trabaja sobre una simulacin del
proceso y los laboratorios remotos donde el proceso es real y se tiene acceso a
la planta fsica a travs de Internet2.
Instituto Internacional de Fsica Terica y Aplicada [Online] Paris: UNESCO. 2000. [Citado: 10
de Febrero de 2007] Disponible en: http://
unesdoc.unesco.org/images/0011/001191/119102S.Pdf
VARGAS, H., N. Duro and S. Dormido (2006). Creacin de laboratorios virtuales y remotos
2
17
Con este trabajo se pretende desarrollar un laboratorio virtual de control
inteligente, implementando la tcnica del control difuso en los mdulos Rotary
Inverted Pendulum (pndulo invertido rotatorio) yDouble Inverted Pendulum
Rotary (pndulo doble invertido rotatorio), adems de la implementacin de
los controladores difusos sobre las planta reales, complementando de esta
manera los trabajos realizados en la universidad autnoma de occidente en
esta rea. Este proyecto esta seccionado en 2 etapas: La etapa inicial se
dedicara al desarrollo de las interfaces virtuales de los controladores difusos
para los procesos de las plantas mencionadas, y la etapa final se enfocara en
la implementacin de estos controladores en los mdulos.
18
1. PROBLEMA DE INVESTIGACIN
[Online] Kluwer Academic Publishers. [Visitado: Enero 2013] Agosto, 1993, vol. 1, no. 1, p. 27-
56. Disponible en: http://www3.nd.edu/~pantsakl/book1/Download/downloadpage.htm
19
2. JUSTIFICACIN
20
3. OBJETIVOS
21
4. MARCO DE REFERENCIA
Luego, a mediados de los aos 806, se produce el desarrollo terico por parte
de grupos de trabajo universitarios que plantean el fundamento terico de este
tipo de sistemas, desde la perspectiva de la inteligencia artificial, el control y la
interaccin de sistemas jerrquicos7.
4
MEYSTEl A Alexander. Intelligent Control: Issues and Perspectives. IEEE Workshop on
Intelligent Control. 1985
5
MEYSTEL, Alexander y BHATT, R. Learning in a Multiresolutional Conceptual Framework.
En: IEEXplore, Digital Library. Arlington: Agosto 1988. vol. 1,no. 1, p. 1.
6
SARIDIS, George, y VALAVANIS, Kimon. Aftchitecriral models for intelligent machine. En:
Decision and Control, 1986 25th IEEE Conference on IEEE. Diciembre, 1986, vol. 1, no. 1, p.
1-5.
7
TZAFESYAS, Spyros, LIGEZA, Antoni. A Framework for knowledge based control. En:
Journal of intelligent and Robotic System. Septiembre , 1988, vol 1 No 4, pg 407-426.
8
SHIRLEY, Richard. Some lessons learned using expert system for process control. En: IEEE
control system Magazine. Junio, 1987,vol. 7, no. 1, p. 1342-1345.
9
STELZNER, Marilyn, DYNIS, Jack. CUMMINS, Fred. The simkit system knowledge-based
simulation and modeling tools in KEE. En: Proceedings of the 21st conference on Winter
simulation. Agosto, 1987, vol. 2, no. 2, p. 232-234.
22
Pero ha sido en las dcadas de los 90 cuando el control inteligente ha
alcanzado su desarrollo. Los centros de investigacin, libros, conferencias,
congresos y reuniones cientficas dedicados al tema son muy numerosos,
adems de las aplicaciones de estos sistemas a la industria bajo la ayuda de
entidades europeas y americanas que ayudaron al desarrollo de esta nueva
forma de control industrial11.
10
VOSS, H. Architectural issues for expert systems in real-time control. En: Engineering
Applications of Artificial Intelligence. Julio, 1988, vol. 1, no 3, p. 211.
SANZ, R, SEGARRA M y otros. Heterogeneous integration architecture for intelligent control
11
systems. En: the Hint Project Control of complex Systems Workshop. Septiembre, 1994, vol. 3,
no 1, p. 138 152.
23
Pasando a 1995, encontramos una descripcin detallada de los requisitos que
un laboratorio virtual debe cumplir encontrando, a la vez, una serie de
similitudes con las caractersticas de otra tecnologa Web desarrollada en los
ltimos aos. En la conferencia IMTC (IEEE Instrumentation and Measurement
Technology Conference) celebrada en 1996 empiezan a presentarse distintos
aspectos de lo que es un laboratorio virtual, y aparecen varios artculos donde
se indica los elementos necesarios para el xito de un sistema de educacin a
distancia y se definen las caractersticas que deba tener un laboratorio virtual.
24
tecnologas como CGI, ISAPI, COM+, o los ltimos desarrollos para
intercomunicacin multimedia con ConferenceXP.12
Planta de nivel
Servomotor
Bola Viga
A cada una de estas plantas se le diseo un control PID, un control Fuzzy y
control por Redes Neuronales. Tambin se disearon las interfaces grficas
para el laboratorio virtual donde cada una contena una animacin de la planta,
los controladores, las seales temporales y la referencia.
KIM, Y.H. y LEWIS, F.L. Optimal design of CMAC neural-network controller for robot
12
manipulators. En: Systems, Man, and Cybernetics, Part C: Applications and Reviews. Febrero,
2000, vol. 3, no. 1, p. 22-31.
LPEZ, Jess y DELGADO, Mnica. Laboratorio Virtual de Control Inteligente. En: revista
13
25
4.4. ANTECEDENTES DEL CONTROL A LOS SISTEMAS PENDULARES
LIBREROS Jos, Laboratorio Virtual de Redes Neuronales, Trabajo de grado para optar al
14
26
En 1999, Olfati - Saber, propusieron la estabilizacin semi-global para el
pndulo Furuta, usando controladores de puntos jos19. Luego, en el 2000,
Olfati20 introdujo nuevas formas de cascada normal para los sistemas
mecnicos sub actuados. Actualmente el pndulo Furuta est siendo
implementado en diferentes universidades del mundo. La Universidad de Illinois
en Estados Unidos, utiliza el Furuta en el laboratorio de la clase de control
inteligente y plantea que con el experimento los alumnos aprenden de forma
prctica y didctica las tcnicas de diseo de controladores que se les ensea
en el curso terico21.
19
OLFATI S, Reza. Fixed point controllers and stabilization of the cart-pole system and the
rotating pendulum. En: In Proceedings of the 38th IEEE Conf. on Decision and Control.
Diciembre, 1999, vol. 3, no 1, p. 1174-1181
20
OLFATI S, Reza. Cascade normal forms for underactuated mechanical systems. En:
Proceedings of the 39th IEEE Conf. on Decision and Control. Diciembre, 2000 , vol. 3, no. 1, p.
1174-1181
21
IWASHIRO, Masafumi. Op, cit. Pg. 5.
27
4.5 MARCO TERICO
http://www.quanser.com/english/downloads/products/Rotary/SRV02_ROTFLEX_PIS_031108.p
df > [citado 3 de septiembre de 2012].
28
En este caso el servo hace girar el brazo en un extremo en el plano
horizontal. El extremo opuesto del brazo est equipado con una articulacin
cuyo eje es a lo largo de la direccin radial del motor. El primer pndulo (aprox.
2 pulgadas de longitud) con otro conjunto est montado en la primera
articulacin. El segundo pndulo est unido a la segunda articulacin.
29
Figura 3. Planta Doble Pndulo invertido rotatorio
HACE, Ales, SAFARIE, Riko y KAREL, Jezernik, Artificial neuronal networks control for
23
manipulators and lyapunov theory. En: University of Maribor. Septimbre, 1995, vol, 1, no, 1, p.
1-6.
30
En la actualidad las metodologas del control inteligente estn siendo aplicadas
a la robtica, las comunicaciones, la manufactura, el control de trfico, por
mencionar algunas pocas. Las reas donde se est realizando trabajo
alrededor de este control son: redes neuronales, control difuso, algoritmos
genticos, sistemas de planeacin, sistemas expertos y sistemas hbridos24.
VIVAS A, Oscar A, Control predictivo de un robot tipo scara. En: Inginiare. Revista chilena
24
31
Figura 4. Representacin de un sistema basado en tcnicas de lgica
difusa
32
4.5.4.3. Sistema de inferencia tipo sugeno. En este sistema de inferencia las
entradas se definen como conjuntos difusos, pero las salidas se definen en
funcin de las entradas, usualmente como una combinacin lineal. La principal
ventaja de este sistema es su simplicidad a la hora de ser implementado, ya
que no se hace necesario llevar a cabo el proceso de defuzzificacin ya que la
salida al estar definida por funciones es un valor numrico.
Para calcular la salida del sistema difuso se ponderan los diferentes
consecuentes teniendo en cuenta el valor que se activ el antecedente de cada
una de las reglas, para un sistema con dos reglas de salida el sistema difuso
seria:
(1)
Teorema LQR
Considere el espacio estados:
( )
( )
Y el criterio de desempeo
33
( ) ( ) ( ) ( ) ( )
( ) ( )( )
Con
( )
( )
34
relazaran las prcticas sobre los Laboratorios virtuales para pasar
posteriormente al Laboratorio Real (presencial o remoto) [28]
35
Figura 5. Simulacin desarrollada en Java de un sistema pendular
invertido
36
5. RECONOCIMIENTO Y MODELADO DE LOS SISTEMAS
PENDULARES
37
Se considera al pndulo separado del brazo, este tiene dos puntos de
equilibrio: uno estable, abajo; y otro inestable, arriba. El objetivo del control es
cambiar la dinmica del sistema para que en la posicin vertical, arriba, se
tenga un punto de equilibrio estable. En otras palabras, la idea es encontrar la
fuerza que debe aplicarse al brazo para que el pndulo no caiga incluso si se le
perturba con un impulso.
38
(7)
(8)
( )
( )
( )
( )
[ ( ) ]
[ ]
39
Para determinar el modelo matemtico es necesario conocer las caractersticas
fsicas del pndulo, las cuales estn expresadas en la tabla 1.
[ ]
[ ]
40
5.2. MODULO CUBE PNDULO INVERTIDO.
Fuente: Quanser cube. [en lnea] Data Acquisition system. Estados Unidos.
[Consultado el 20 de abril de 2014]. Disponible en:
http://www.quanser.com/Products/cube
41
Cuadro 2. Lista de componentes del Cube Quanser.
No descripcin No descripcin
1 Chasis de aluminio 10 Brazo rotatorio
2 Modulo conector 11 Buje Brazo rotatorio
4 USB DaQ conector 12 Imanes de sujecin
5 Mdulo de conexin de Encoder 13 Encoder del penulo
6 Alimentacin de tensin
7 LED de alimentacin
8 Disco de inercia
9 Pndulo link
42
5.2.1. Modelo Matemtico Cube Quanser. El sistema de pndulo rotatorio,
tambin conocido como el pndulo de Furuta , es un sistema clsico a menudo
utilizado para ensear modelado y control en la fsica y Ingeniera. El diagrama
de cuerpo libre de un pndulo giratorio bsico se representa en la figura 10.
Las ecuaciones de la energa cintica y potencial del pndulo vienen dadas por
las expresiones siguientes:
( )
[( ) ( ) ] ( )
( )
( ) ( )
43
( ) ( ) ( )
La representacin del sistema lineal en el espacio de estados viene dada por la
ecuacin de estado siguiente:
[ ] [ ]
[ ] [ ]
( )
( )
( )
( )
Sustituyendo la expresin de :
[ ] [ ]
[ ] [ ]
44
Los parametro del pendulo Cube Quanser se describe continuacin (tabla 3).
45
Figura 10. Sistema pendular doble
Fuente: Manual de Usuario. [En lnea] del Sistema Pendular doble. Canad
[Consultado el 22 de abril de 2014] Quanser. Disponible:
http://www.quanser.com/Products/rotary_double_pendulum.
El brazo rotatorio transmite la fuerza del motor para que los pndulos se
estabilicen en una posicin verticalmente, hacia arriba. (Ver Figura 11). El
Encoder utilizado en el sistema pendular doble es un codificador de eje ptico
de una sola terminal digital, que ofrece una alta resolucin de 4096 pulsos por
revolucin en el modo de cuadratura (1.024 lneas por revolucin), igual que en
el mdulo simple. Adicionalmente este mdulo cuenta con otro encoder en el
eslabn largo, lo que permite saber la posicin adems de este, con respecto al
eslabn corto.
46
ngulo de giro para el primer pndulo es , y creer en sentido horario y para el
segundo pndulo el ngulo est representado por y crece tambin en sentido
de las manecillas del reloj, ambos son cero cuando el pndulo est
perfectamente erguido, la articulacin que acopla los dos eslabones posee
una masa (Figura 12).
Fuente: Manual de Usuario. [En lnea] del Sistema Pendular doble. Canad
[Consultado el 22 de abril de 2014] Quanser. Disponible en:
http://www.quanser.com/Products/rotary_double_pendulum.
Las matrices obtenidas para la ecuacin (9) del pndulo invertido doble
son las siguientes.
( )
( )
[ ]
Donde
47
Y
( )
( )
[ ]
Para determinar el modelo matemtico es necesario conocer las caractersticas
fsicas del pndulo doble, las cuales estn expresadas en la tabla xx.
48
Cuadro 5: (continuacin)
[ ]
[ ]
[ ]
49
6. DISEO DE LOS CONTROLADORES DIFUSOS PARA LOS
SISTEMAS PENDULARES
Si el error es negativo significa que la posicin del sistema pendular est por
debajo de la referencia y si se presenta una ( ) negativa indica que el sistema
pendular cada vez se est alejando ms de esta referencia; en caso contrario,
si el error fuese negativo y se tiene una ( ) positiva, indica que el sistema est
por debajo de la seal de referencia pero con una tendencia hacia esta seal.
Siendo el caso de que el error fuese cero y la DE tambin fuese cero, indica
que el sistema pendular est en la posicin de referencia y est en un estado
estable (quieto).
50
Las funciones de pertenencia usadas en los controladores difusos para los
sistemas pendulares, brindan informacin acerca del grado de pertenencia de
un elemento a un conjunto, es decir, es un valor numrico con el cual se
expresa la medida en que un elemento cumple con un determinado predicado.
Para este tipo de controladores, se implement funciones de pertenencia tipo
triangulares debido a que no requieren de un clculo complicado y son
funciones sencillas de implementar en el software de simulacin virtual.
Adems las funciones que son ms complicadas no aportan mayor precisin en
el clculo de la seal de control.
51
Figura 12. Comportamiento y orientacin de las entradas del controlador
52
En la figura 14 y 15, se puede observar las entradas correspondientes al
controlador difuso; estas entradas se deben expresar en etiquetas lingsticas,
por lo que se establece (tanto para el error ( ) como para la ( )):
MN: Muy Negativo; N: Negativo; C: Cero; P: Positivo; MP: Muy Positivo.
Figura 14. u s
MN N C P MP
53
Figura 15. Salida de control para el servomotor
MN N C P MP
Voltaje
MN N C P MP
MN MN MN MN N C
N MN N N N C
C N N C P P
P C P P P MP
MP C P P MP MP
54
Figura 16. Diagrama de bloques del sistema pendular simple con el
controlador difuso
55
Figura 18. Respuesta del controlador difuso (accin de control y posicin
del pndulo) [B]
56
Figura 19. Comportamiento del error y su derivada en el pndulo invertido
Quanser [A]
( (+)
)
( ) ( )
(+) (-)
57
funcionamiento como es el comportamiento del controlador difuso dependiendo
del estado en el que se encuentren sus dos variables de entrada.
58
Figura 22. Funciones de perteneca de la derivada del error ((e))
MMN MN N C P MP MMP
59
Cuadro 6. Reglas difusas
MMN MN N C P MP MMP
MMN MMN MMN MMN MMN MN N C
MN MMN MMN MMN NM N C P
N MMN MMN NM N C P MP
( ) C MMN MN N C P MP MMP
P NM NS Z P MP MMP MMP
MP N C P MP MMP MMP MMP
MMP C P MP MMP MMP MMP MMP
60
Figura 25. Respuesta del controlador difuso (accin de control y posicin
del pndulo A)
6.3.1. Diseo del control LQR. El pndulo doble invertido tiene seis
variables de estado ( ), Si utilizamos el control difuso normal, el
61
nmero de reglas es igual a , esto puede causar "explosin regla". Para
resolver este problema, se usa la combinacin de le teora del control LQR y
la estrategia de control difusa. Transformamos mltiples variables en una
integral de error y la velocidad de cambio del error de , que en gran medida
simplificado el controlador de FLC (controlador de lgica difusa).
El diseo del control LQR (regulador cuadrtico lineal) se realiz haciendo uso
de la herramienta de Matlab LQR, el cual recibe cuatro atributos, los cuales son
las matrices y de la ecuacin de estados del sistema, la matriz Q y la matriz
R (cuyos elementos deben ser positivos o cero). Esta tcnica LQR ofrece un
regulador que controla el sistema de forma ptima a partir de la minimizacin
del error con respecto a la posicin de referencia totalmente vertical (punto de
equilibrio inestable; este error es definido como la funcin de coste a
minimizar).
Haciendo uso del comando LQR en Matlab se determinan las ganancias que se
deben tener para un control ptimo de posicin del sistema pendular doble.
[ ]
[ks,ss,es]=lqr(A,B,Q,R);
Este comando retorna las seis constantes, que sern las ganancias para el
controlador, pero estas ganancias deben organizarse de la siguiente la forma,
para comprimir las entradas del controlador difuso:
( ) [ ] ( )
62
* + ( ) ( )
( )
( )
[ ] ( )
De acuerdo con los parmetros del pndulo invertido doble, la funcin para la
fusin se puede calcular de la siguiente manera.
( ) * +
63
Figura 28. El controlador con la funcin de fusin y controlador difuso.
( ) (+)
64
NB: Negative Best; NM: Negative Medium; NS: Negative Small; C: Zero; PS:
Positive Small; PM: Positive Medium; PB: Positive Best.
Figura 31. u s
NB NM N C P PM PB
65
Figura 32. Salida de control para el servomotor
NB NM N C P PM PB
66
En el diagrama de bloques mostrado en la figura 8, corresponde al controlador
difuso implementado, con el cual se debe realizar control sobre el pndulo
simple.
Figura 34: P s gu s v m
67
Figura 35. P s gu m u
68
7. DISEO DE LA APLICACIN PARA EL LABORATORIO VIRTUAL
69
7.1.2 Identificar los requerimientos del laboratorio virtual. La estructura
simple y compartida por las aplicaciones desarrolladas en ejs, como se puede
observar en el Figura 36, comprende tres selectores que definen los tres
paneles de trabajo (descripcin, modelo y vista) adems de una barra de tareas
al borde derecho (nuevo, abrir, guardar, buscar en cdigo, ejecutar, etc.) en la
parte inferior de la ventana se observan los mensajes generados por el
programa, como funcionamiento correcto, errores, etc.; es una interfaz
compacta, sencilla y muy intuitiva.
70
Figura 38. Panel del modelo
71
7.2. DISEO DE LAS INTERFACES GRFICAS
El aspecto grafico de la interfaz deber responder a la distribucin de espacios
mostrada en el Figura 38, de esta forma poder visualizar todos los parmetros
en varias ventanas, y mantener un orden en el entorno virtual. Este objetivo se
lograra realizando modificando el rbol de objetos en el panel de vista.
Espacio para la
presentacin visual de la Espacio para la
planta animacin de la planta
72
usuario que variables se han determinado por la virtualizacin de acuerdo a las
funciones de pertenencia establecidas por el controlador, adems explicara la
nomenclatura usada por estas variables.
73
}
7.2.4. Cdigo de mecanismo de inferencia difusa. El objetivo de este
cdigo implementado, es generar la iteracin de los antecedentes y
consecuentes, aplicando los procesos de inferencia y el mtodo de
difuzificacin atribuidos al control de lgica difusa, este cdigo, recibe el error, y
la derivada del error, con las cuales, genera la accin de control dependiendo
de las reglas y la definicin de sus conjuntos.
public double sugeno (double ee, double dee){
return (acciondecontrol);
}
74
Figura 40. Ventana principal de la virtualizacin del sistema pendular
simple
75
Figura 41. Pestaa de ayuda de la virtualizacin del sistema pendular
simple
76
7.3.4. Seal de perturbacin. Este es un botn deslizable, o tambin
conocido como Slider, el cual permite generar una seal de perturbacin al
sistema pendular en cualquier momento de su simulacin. Este slider vara en
el rango de -35 a 35 grados (ver figura 42).
77
Figura 45. Graficas implementadas en el modelo virtual del sistema
pendular simple
78
Figura 46. Ventana principal de la virtualizacin del sistema pendular
doble
79
Figura 47. Pestaa de ayuda de modelo virtual del sistema pendular doble
7.4.4. Animacin
80
Figura 49. Animacin del modelo virtual del sistema pendular doble
81
8. IMPLEMENTACIN CONTROLADORES
82
Figura 52. Conectores tipo 6 pin mini DIN a 6 pin mini DIN
83
Figura 54. Conector tipo 5-pin-DIN to 4xRCA
84
Figura 55. Esquema de conexin de las seales de los mdulos
85
Cuadro 8 : Continuacin
Sampling rate
Maximum 250kS/s single channel,
250kS/s multi-channel (aggregate)
Minimum No minimum
86
Para los encoders se hizo necesario anexar dos cables, 1 de alimentacin de
+5v y 1 de GND, los cuales provienen de los pines 14 y 13 respectivamente,
estos cuatro cables (count 0, 5v y GND), fueron adaptados en un conector
hembra de tipo 5-pin-stereo-DIN como se muestra en la figura 57
87
Este procedimiento se repiti para configurar el count 1.
88
8.3.2 Implementacin de controlador difuso Sugeno. Para realizar la
implementacin de los controlador difuso de sistema pendular, fue necesario
definir los conjuntos difusos que corresponden al error y a la derivada del error
respectivamente ya que estas variables son necesarias para la realizacin de
las reglas y del sistema de inferencia difuso en el software Labview.
Para el control del equilibrio de la varilla del pndulo se determin una zona de
trabajo comprendida entre -5 y +45, para el diseo, las unidades manejadas
son radianes por lo cual la zona de trabajo del mdulo est comprendida entre
/36 y - /36.
Se trabaj con una derivada del error normalizada entre 1 y -1 con igual
cantidad de conjuntos difusos que el error (5 conjuntos).
89
Figura 59. Campanas gaussianas error del pndulo invertido
La funcin de las campanas de gauss (Ecuacin 23) recibe los parmetros que
previamente fueron calculados en el cdigo de matlab, estos son:
Ancho
Cada= b
Centro =c
90
X es la variable a evaluar en la funcin, para nuestro caso es el error o la
derivada del error respectivamente para cada nodo de formula.
( ) ( )
| |
Ancho = a
Centro
( )
( ) ( )
91
Figura 61. Nodo de frmula que representa los conjuntos difusos del error
92
Figura 63. Implementacin completa del control difuso en pndulo
invertido
93
8.3.3 Implementacin de controlador difuso Mamdami. La plataforma
Labview ofrece un toolkit o herramienta Control Design, que facilita el
diseo e implementacin del control difuso tanto en sistemas modelados como
en las plantas fsicas, estos mdulos permiten al diseador ser ms verstil al
momento de la elaboracin de las diferentes etapas del control difuso:
construccin de los conjuntos difusos, elaboracin de las reglas, eleccin del
mtodo de inferencia y defuzificacin.
La Edicin de los conjuntos difusos para las entradas del controlador (erro,
derivada del erro), se realiza en el Set Editor, permite que los anchos de los
tringulos y los rangos se puedan manejar directamente sin el uso de las
campanas gaussianas, para este implementacin se us un rango e equilibrio
para el pndulo de -10 a 10 y se construyeron 7 conjuntos difusos tanto
para el erro como para la derivada del error (figura 65).
Figura 65. Edicin de los conjuntos difusos (erro, derivada del erro)
94
Figura 66. Inferencia Mandani y Edicin de las reglas difusas
Una vez se definieron e implementaron los conjuntos difusos con la ayuda del
Set editor del control fuzzy de labview,, se obtiene la accin de control que es
lleva al el mdulo DAQ Assist, para que este lleve la seal anloga al servo
motor del SRV02, La implementacin de este control tambin uso el
mecanismo manual para el levantamiento y equilibrio del pndulo, es decir,
que se parte desde una posicin a -180 de la referencia (0 ) y de manera
manual se lleva al rango de trabajo del controlador (-10 10 ), en la figura 67
se puede observar la implementacin del control difuso en la plataforma
Labview y su interfaz grfica de usuario.
95
En la figura 68 se observa la interfaz de usuario que ofrece Labview para la
posible manipulacin de variables del controlador y anlisis posterior de las
seales en inters como, la accin de control y la posicin del pndulo invertido
con respeto al ngulo cero de equilibrio.
96
Figura 70. Accin de control (Voltaje)
97
Figura 71. La interconexin entre los compenetres del Cube- Servo
98
Figura 73. Elaboracin del control difuso en el Labview 2012
La lectura del ngulo de posicin del pndulo se realiza a travs del encoder
ptico y el mdulo de adquisicin de datos HIL Initialize de labview, de igual
manera al accin de control es llevada al mdulo CL HIL Write quien
transmite la informacin de salida al Cube, y este se encarga de amplificar para
su debido control.
Una vez se definieron e implementaron los conjuntos difusos con la ayuda del
Set editor del control fuzzy de labview 2012, se obtiene la accin de control
que es lleva al el mdulo CH IL WRITE, para que este lleve la seal anloga
al servo motor del SRV02, La implementacin de este control tambin uso el
mecanismo manual para el levantamiento y equilibrio del pndulo, es decir,
que se parte desde una posicin a -180 de la referencia (0 ) y de manera
manual se lleva al rango de trabajo del controlador (-10 10 ), en la figura 74
se puede observar la implementacin del control difuso en la plataforma
Labview 2012.
99
Figura 74. Implementacin del control difuso en el Cube
100
Figura 75. Posicin del ngulo del pndulo (grados)
8.5.1 Lectura de los ngulos del doble pndulo invertido. Para leer la
posicin angular de los encoders, es indispensable que la tarjeta de
adquisicin de datos NI 6221 posea los contadores (cont 0, count1, count 2)
necesarios, en el dataship de la tarjeta ( figuraXX) indica que se cuenta con la
101
posibilidad de leer 2 encoders a travs del count 0 y count 1. Lo que se nos
impide la lectura tanto de la posicin y velocidad de uno de los eslabones del
doble pndulo invertido (figura 77).
8.5.2.1 Bloque A
En este bloque (figura 78) se adquieren las constantes del sistema, es decir se
carga el modelo matemtico que se estim para el sistema pendular doble;
estas matrices pueden ser ingresadas y modificadas desde la interfaz del
usuario, para posteriores estimaciones del modelo matemtico.
8.5.2.2. Bloque B
102
En este bloque (figura 78) se obtienen los parmetros LQR; se obtienen las
constantes LQR mediante el toolkit control Dising de Labview, que brinda un
mdulo LQR especializado para la obtencin de estas, igualmente, la
herramienta requiere de dos entradas que corresponden a las matrices R y Q,
estas matrices pueden ser ingresadas y modificadas desde la interfaz del
usuario.
Bloque A
Bloque B
8.5.2.3. Bloque C.
En este bloque (ver figura 79) se toman las ganancias calculadas por el
controlador LQR y se realiza un lazo de control con el mtodo de fusin de
LQR-fuzzy. El bloque fusin recibe del sistema las seis variables de estado y
se aplica la compresin de variables para ser llevadas al mdulo del control
difuso. Este lazo de control realiza el clculo del error y la derivada del error
afectada por cada ganancia calculada.
8.5.2.4. Bloque D.
En este recuadro se utilizan los mdulos del control difuso a travs del toolkit
de Labview. Mediante los direccionamientos de archivos se carga el diseo del
controlador difuso a los mdulos que implementan la fuzificacin y
defuzificacin para obtener la accin de control, aqu se reciben las dos
variables que arroja el modulo fusin del control LQR-fuzzy.
103
Figura 79. Bloque del lazo de control fusin LQR-fuzzy
Constantes LQR
Bloque C
Bloque D
Figura 80. Interfaz del usuario para el sistema pendular doble diseado en
Labview
104
Como alternativa a la limitacin presentada por la adquisicin de seales
para la implementacin del control fusin, que fue diseado, simulado y llevado
a la virtualizacin en este trabajo, se propone el montaje de un observador de
estados, la idea principal de incorporar el observador es para estimar el estado
interno faltante, no medible, del sistema dinmico doble pndulo invertido. Sin
embargo despus de varios intentos de implementacin los resultados
obtenidos no fueron satisfactorios para el control de equilibrio del sistema,
pues el anlisis de los resultados permite ver que la implementacin de un
observador de estados para este sistema, desprende una exhaustiva
incorporacin de necesidades que no hacen parte del objetivo de este
proyecto.
105
9. CONCLUSIONES
106
BIBLIOGRAFA
KIM, Y.H. y LEWIS, F.L. Optimal design of CMAC neural-network controller for
robot manipulators. En: Systems, Man, and Cybernetics, Part C: Applications
and Reviews. Febrero, 2000, vol. 3, no. 1, p. 22-31.
1
MEYSTEL, Alexander y BHATT, R. Learning in a Multiresolutional
Conceptual Framework. En: IEEXplore, Digital Library. Arlington: Agosto 1988.
vol. 1,no. 1, p. 1.
107
OLFATI S, Reza. Fixed point controllers and stabilization of the cart-pole
system and the rotating pendulum. En: In Proceedings of the 38th IEEE Conf.
on Decision and Control. Diciembre, 1999, vol. 3, no 1, p. 1174-1181
SHIRLEY, Richard. Some lessons learned using expert system for process
control. En: IEEE control system Magazine. Junio, 1987,vol. 7, no. 1, p. 1342-
1345
108
Paris: UNESCO. 2000. [Citado: 10 de Febrero de 2007] Disponible en: http://
unesdoc.unesco.org/images/0011/001191/119102S.Pdf
109
ANEXOS
ID # componente N componente
No o
1 Servo motor SRV02 6 Acople de pndulo
2 Tornillos sujetadores de brazo 7 pendulo
3 Brazo rotattorio 8 Conector del encoder del pndulo
4 Pivote del pendulo 9 Pndulo
110
Figura: Insercin de pndulo
111
Fuente: Manual de Usuario del Sistema Pendular simple, [Consultado el 22 de
abril de 2014] Quanser.http://www.quanser.com/Products/rotary_pendulum.
112
Fuente propia
Rotary Planta Servo: Quanser SRV02, SRV02-T, SRV02-E, SRV02-EHR, o
SRV02-ET.
113
cable nombre Conexin
114
115
Anexo B. Cdigo en lenguaje Java para la elaboracin de los conjuntos
difusos.
public double lefttrap(double w,double c,double var) {
if (var<=c)
return 1.0;
else
return Math.max(0,(1+(c-var)/(0.5*w)));
}
public double triangulo(double w,double c,double var){
if(var<=c)
return Math.max(0,(1+(var-c)/(0.5*w)));
else
return Math.max(0,(1+(c-var)/(0.5*w)));
}
public double righttrap(double w,double c, double var){
if(var<=c)
return Math.max(0,(1+(var-c)/(0.5*w)));
else
return 1.0;
}
116
Anexo C. Cdigo en lenguaje Java para Difuzificacion del controlador.
117
out=sumanum/sumaden;
return (out);
}
118
Anexo D. Cdigo para generar cada uno de los conjuntos difusos pndulo
invertido en Matlab.
x= -pi/36:pi/5000:pi/36;
plot(x,y,'g',x,y2,'g',x,y4,'g',x,y6,'g',x,y8,'g',x,y1,'b',x,y3,'b',x,y5,'b',x,y7,'b',x,y9,'b')
TITLE('ERROR')
x= -1:0.01:1;
figure
plot(x,y10,'g',x,y12,'g',x,y14,'g',x,y16,'g',x,y18,'g',x,y11,'b',x,y13,'b',x,y15,'b',x,y17,'b',x,
y19,'b')
TITLE('DERIVADA DEL ERROR')
119