View
16
Download
0
Category
Preview:
Citation preview
“DISEÑO DE UN CONTROLADOR POR MODOS DESLIZANTES DIFUSO PARA UN SISTEMA MECATRÓNICO CON INFORMACIÓN INCOMPLETA”
Proyecto de estadía
Para obtener el título de Ingeniero en Mecatrónica
Presenta
Luis David Carrillo Maldonado
Asesor académico
Dr. Luis Enrique Ramos Velasco
Asesor externo
Dr. Jorge Isaac Chairez Oria
Pachuca Hidalgo, Octubre de 2010
CONTENIDORESUMEN...............................................................................................................1
CAPÍTULO 1. INTRODUCCIÓN..............................................................................2
1.1 MOTIVACIÓN.................................................................................................2
1.2 PLANTEAMIENTO DEL PROBLEMA.............................................................3
1.3 SOLUCIÓN PROPUESTA..............................................................................3
1.4 OBJETIVOS....................................................................................................4
1.4.1GENERAL.....................................................................................................4
1.4.2 ESPECÍFICOS.............................................................................................4
1.5 JUSTIFICACIÓN.............................................................................................4
1.6 APORTACIÓNES............................................................................................5
CAPÍTULO 2. MARCO TEÓRICO...........................................................................6
2.1 INTRODUCCIÓN............................................................................................6
2.2 CONTROL DE ROBOTS................................................................................6
2.2.1 CONTROL DE ROBOTS MANIPULADORES.............................................6
2.3 CONTROL DIFUSO........................................................................................7
2.3.1 APLICACIONES DEL CONTROL DIFUSO..................................................8
2.4 CONTROL POR MODOS DESLIZANTES......................................................9
2.4.1 MODOS DESLIZANTES DE ALTO ORDEN..............................................10
2.4.2 SUPER -TWISTING...................................................................................12
2.5 DISEÑO DE OBSERVADORES...................................................................13
2.5.1TIPOS OBSERVADORES..........................................................................13
2.5.2 OBSERVADOR DE ORDEN COMPLETO.................................................14
2.6 OBSERVADORES POR MODOS DESLIZANTES.......................................16
CAPÍTULO 3. MODELO DINÁMICO DEL ROBOT MANIPULADOR EMPLEADO...............................................................................................................................17
3.1 INTRODUCCIÓN..........................................................................................17
3.2 ESPECIFICACIONES DEL PROTOTIPO.....................................................18
3.3 COMPOSICIÓN DEL ROBOT......................................................................21
3.4 OBTENCIÓN DEL MODELO DINÁMICO DEL ROBOT MANIPULADOR DE CUATRO GRADOS DE LIBERTAD....................................................................22
i
3.3 SIMULACIÓN NUMÉRICA DEL MODELO DESARROLLADO.....................33
COMENTARIOS.................................................................................................38
CAPÍTULO 4. DISEÑO DE CONTROLADORES..................................................39
4.1 INTRODUCCIÓN..........................................................................................39
4.2 DISEÑO DEL CONTROLADOR POR MODOS DESLIZANTES...................39
4.3 ESTRUCTURA DEL CONTROLADOR DIFUSO..........................................41
4.4 CONTROLADOR POR MODOS DESLIZANTES DIFUSO...........................43
4.5 COMENTARIOS...........................................................................................44
CAPÍTULO 5. INSTRUMENTACIÓN.....................................................................46
5.1 INSTRUMENTACIÓN DEL SISTEMA ROBÓTICO......................................46
5.1.1COLOCACIÓN DE LOS POTENCIOMETROS...........................................46
5.4 DISEÑO DE LA INTERFAS DE COMUNICACIÓN.......................................47
5.4.1MICROCONTROLADOR............................................................................48
5.4.2 MICROCONTROLADOR PIC 16F877.......................................................49
5.4.3 COMUNICACIÓN SERIAL CON EL ORDENADOR..................................49
5.4.4 CIRCUITO INTEGRADO MAX 232............................................................50
5.4.5 OPTOACOPLADOR..................................................................................51
5.4.6 PUENTE EN H...........................................................................................52
5.4.7 DRIVER L293............................................................................................52
5.4.8 AMPLIFICADORES...................................................................................53
5.4.9 PWM..........................................................................................................55
5.6 IMPLEMENTACIÓN DEL SOFTWARE PARA LA INTERFACE...................56
CAPÍTULO 6. RESULTADOS...............................................................................59
CONCLUSIONES...................................................................................................64
TRABAJOS A FUTURO.........................................................................................64
BIBLIOGRAFÍA......................................................................................................65
APÉNDICE A. LÓGICA DIFUSA............................................................................68
A1. INTRODUCCIÓN.............................................................................................68
A2. CONJUNTOS DIFUSOS Y FUNCIONES DE MEMBRESÍA............................68
A3. VARIABLES, VALORES Y REGLAS CON ASIGNACIÓN LINGÜÍSTICA.......69
A4. UNIVERSO DE DISCURSO............................................................................70
ii
A5.VARIABLES LINGÜÍSTICAS............................................................................70
A6.VALORES LINGÜÍSTICOS...............................................................................71
A7.REGLAS LINGÜÍSTICAS..............................................................................71
A8.FUNCIONES DE MEMBRESÍA (FM).............................................................73
A9.OPERACIONES DIFUSAS............................................................................75
A10.FUSIFICACIÓN...........................................................................................76
A1. EL MECANISMO DE INFERENCIA..............................................................77
A12.COMPARACIÓN..........................................................................................77
A13. PASO DE INFERENCIA.............................................................................79
A14.DEFUSIFICACIÓN......................................................................................79
A15 .DEFUSIFICACIÓN Y LOS CONJUNTOS DIFUSOS IMPLICADOS...........80
A17.REPRESENTACIÓN MATEMÁTICA DE LOS SISTEMAS DIFUSOS.........82
ANEXOS.............................................................................................................86
ANEXO 1 MODELO DINÁMICO COMPLETO DEL ROBOT.............................86
ANEXO 2 INTERFAZ DE COMUNICACIÓN.......................................................90
ANEXO 3 ALGORITMO EMPLEADO EN EL PIC...............................................91
ANEXO 4 RECEPCIÓN DE LA POSICIÓN EN MATLAB...................................94
ANEXO 5 ENVÍO DE LA SEÑAL DE CONTROL AL PIC...................................96
ÍNDICE DE FIGURAS
iii
Figura 2.1 Modos deslizantes de alto orden.....................................................................................11Figura 2.2 Super-twsting..................................................................................................................13
Figura 2.3 Observador de orden completo......................................................................................15
Figura 3.1 Diagrama general del prototipo......................................................................................19
Figura 3.2 Movimiento máximo de la pinza....................................................................................20
Figura 3.3 Desplazamiento máximo de la muñeca..........................................................................20
Figura 3.4 Desplazamiento máximo del codo..................................................................................20
Figura 3.5 Desplazamiento máximo del hombro.............................................................................21
Figura 3.6 Desplazamiento máximo de la base...............................................................................21
Figura 3.7 Análisis del eslabón 1......................................................................................................24
Figura 3.8 Análisis del eslabón 2......................................................................................................25
Figura 3.9 Análisis del eslabón 3......................................................................................................26
Figura 3.10 Análisis del eslabón 4....................................................................................................28
Figura 3.11 Diagrama de bloques del sistema.................................................................................34
Figura 3.12 Simulación numérica del brazo mecánico.....................................................................35
Figura 3.13 Matriz M........................................................................................................................36
Figura 3.14 Gráfica de la posición del sistema.................................................................................37
Figura 3.15 Gráfica de la velocidad del sistema...............................................................................37
Figura 4.1 Estructura de un controlador difuso...............................................................................41
Figura 4.2 Controlador por modos deslizantes difuso.....................................................................43
Figura 4.3 Controlador completo por modos deslizantes difuso completo por modos deslizantes difuso...............................................................................................................................................43
Figura 5.1 Colocación de potenciómetros.......................................................................................47
Figura 5.3 Circuito integrado MAX 232............................................................................................50
Figura 5.4 Conexión MAX 232.........................................................................................................51
Figura 5.5 Optoacoplador................................................................................................................52
Figura 5. 6 Circuito integrado L293..................................................................................................53
Figura 5.7 Circuito restador.............................................................................................................54
Figura 6.1 Gráfica de la posición......................................................................................................59
Figura 6.2 Gráfica de la velocidad....................................................................................................60
Figura 6.3 Gráfica de la posición......................................................................................................61
Figura 6.4 Gráfica de la velocidad....................................................................................................62
iv
Figura 6.5 Gráfica de las señales de control.....................................................................................63
FIGURA A1 Representación global del sistema difuso como mapeo entre las entradas y las salidas..........................................................................................................................................................69
Figura A.2 Formas comunes de las funciones de membresía utilizadas en los sistemas de control difusos..............................................................................................................................................74
Tabla A.1 Descripciones matemáticas de las principales funciones de membresía empleadas en la lógica difusa.....................................................................................................................................75
v
RESUMEN
En el presente trabajo se propone un controlador dinámico por modos deslizantes
difuso para un robot de 4 grados de libertad, así como el diseño e implementación
de la interfaz de potencia y de comunicación de la computadora con el sistema
macatrónico.
El diseño del controlador dinámico utiliza un observador de estados en variable de
velocidad de cada una de las articulaciones del robot. La técnica empleada está
basada en modos deslizantes de alto orden que permiten reducir las oscilaciones
en los valores de las variables de estado estimadas, lo cual asegura que el
desempeño del observador sea satisfactorio. Además, se emplea la teoría de
lógica difusa para diseñar un controlador difuso que toma las variables de estado
estimadas por el observador como sus entradas, de manera que se obtiene el
desempeño del sistema en lazo cerrado deseado por el diseñador. Se presentan
los resultados obtenidos en simulación numérica empleando MATLAB y un
interface gráfica para la comunicación serial entre un microcontrolador y la
computadora.
1
CAPÍTULO 1. INTRODUCCIÓN
El objetivo del presente capítulo es presentar la motivación, planteamiento del
problema así como los objetivos deseados, la justificación y las aportaciones de
este trabajo.
1.1 MOTIVACIÓN
El control de robots manipuladores ha sido un tema de investigación desde hace
años y se han desarrollado diversas estrategias de control. Debido a que los
brazos manipuladores se componen de varias articulaciones unidas entre sí,
poseen una dinámica altamente no lineal con un fuerte acoplamiento entre sus
respectivas articulaciones. Esto complica la tarea del control, sobre todo, con
consignas a altas velocidades o aceleraciones, dos de las técnicas que
recientemente han atraído la atención en la investigación y el desarrollo
tecnológico en la mecatrónica es el estudio de controladores en robots
manipuladores los modos deslizantes y el control difuso [1].
La teoría de CMD (control por modo deslizante) se ha combinado con la teoría de
sistemas inteligentes tales como lógica difusa, redes neuronales, razonamiento
probabilístico, algoritmos genéticos y teoría del caos [3]. Tal combinación persigue
reducir los problemas o desventajas existentes en la implantación del CMD
aprovechando la sinergia existente entre las distintas teorías.
Por su parte, el control difuso, está fundamentado en la teoría de conjuntos difusos
y en la lógica difusa, que permite convertir una estrategia de control lingüística,
expresada en el formato de reglas difusas “Si–Entonces”, en una estrategia de
control automático [3]. El control híbrido de CMD con el control difuso se puede
clasificar en dos grupos: por un lado aquellos que emplean el control difuso para
realizar una tarea secundaria en el sistema de control, por ejemplo sintonización
de los parámetros del sistema de control en modo deslizante generalmente a
2
través de algoritmos de adaptación [4], modelado difuso del proceso o planta para
capturar las incertidumbres y/o no linealidades presentes en el sistema [5], empleo
de una ley de control difuso como complemento a la ley de control en modo de
deslizamiento [6]; y por otro lado, están aquellos en los que se emplea la lógica
difusa de forma directa en el diseño de sistemas de CMD, bien sea aprovechando
la similitud existente entre ambos sistemas, por ejemplo sistemas de control difuso
en forma diagonal y CMD [7] o empleando un mapeo aproximado de
entrada/salida del control en modo deslizante por lo que se denominan sistemas
de control en modo deslizante difuso o “Fuzzy Sliding Mode Control ” (FSMC) [8].
Dentro de este mismo grupo se pueden considerar los sistemas que emplean la
teoría de control en modo deslizante en el diseño de sistemas de control difuso,
por lo que se denominan sistemas de control difuso por modo deslizante o “Sliding
Mode Fuzzy Control ” (SMFC) [9].
1.2 PLANTEAMIENTO DEL PROBLEMA
El problema que se plantea en este trabajo es: controlar un robot de cuatro grados
de libertad donde se considere el modelo no lineal del mismo.
1.3 SOLUCIÓN PROPUESTA
La solución propuesta al problema planteado se basa en emplear diferentes
técnicas de control que se han originado de manera independiente, como son
control por modos deslizantes y teoría de lógica difusa. Con la combinación de
estas técnicas se obtiene un control no lineal difuso con modos deslizantes, que
es empleado para el control del robot de cuatro grados de libertad, obteniéndose
resultados en simulación numérica, además se instrumentó el robot con sensores
de posición y se diseñó la interfaz de comunicación para tener una conexión con la
computadora de control.
3
1.4 OBJETIVOS
1.4.1 GENERAL
Diseñar, instrumentar e implementar un algoritmo de un controlador dinámico por
modos deslizantes difuso para un sistema mecatrónico de cuatro grados de
libertad, basado en la medición de los ángulos de las articulaciones.
1.4.2 ESPECÍFICOS
1. Diseñar un algoritmo de estimación de estados basado en la teoría de modos
deslizantes de alto orden empleando el algoritmo de super-twisting.
2. Diseñar un controlador difuso para el robot de 4 grados de libertad.
3. Instrumentar con sensores de posición al robot.
4. Probar en simulación numérica en controlador en lazo cerrado.
1.5 JUSTIFICACIÓN
En este trabajo se tienen aportaciones en tres vertientes: tecnológico, académico y
económico.
1. En el aspecto tecnológico se realizó la instrumentación de los sensores de
posición del robot de cuatro grados de libertad.
2. En el aspecto académico, es aquí donde se implementan técnicas de control
no lineal vistas en las asignaturas de control inteligente y control avanzado.
3. Finalmente, el aspecto económico es fundamental para la posible realización
de este trabajo ya que se contaba con el mecanismo del robot y se instrumentó
con elementos de bajo costo.
4
1.6 APORTACIÓNES
Las aportaciones que se obtuvieron en este trabajo se presentan a continuación:
1. Obtención del modelo dinámico del robot manipulador.
2. Circuito electrónico de control usando un microcontrolador y PC
3. Diseño del algoritmo de control por modos deslizantes difuso, donde se
considera solo las mediciones de las posiciones de las articulaciones.
La organización de este trabajo es la siguiente en el Capítulo 2 se presenta el
Marco teórico, se mencionan las teorías empleadas, mientras que en el Capítulo 3
está dedicado a la obtención del Modelado dinámico del robot de 4 grados de
libertad, posteriormente en el Capítulo 4 aborda el Diseño del controlador, en el
Capítulo 5 Instrumentación realizada al robot, los Resultados obtenidos en
simulación numérica son presentados en el Capítulo 6. Finalmente, en el Capítulo
7 se dan las Conclusiones y los Trabajos futuros.
5
CAPÍTULO 2. MARCO TEÓRICO
El objetivo de este capítulo es presentar los trabajos más importantes que están
relacionados directamente con este proyecto, así como algunas referencias
bibliográficas que tratan los temas.
2.1 INTRODUCCIÓN
El marco teórico de este trabajo se va a dividir en tres áreas, donde la primera de
ellas se dedica al estudio bibliográfico sobre robótica y el control de robots,
mientras que la segunda área es el control difuso, presentando aquí algunos libros
y artículos que fueron empleados para el estudio de este tema, finalmente se
mencionan algunos trabajos científicos sobre el control con modos deslizantes.
2.2 CONTROL DE ROBOTS
El control de robots manipuladores ha sido un tema de investigación desde hace
años y se han desarrollado diversas estrategias de control Canudas, Siciliano y
Bastin, (1996), Lewis, Abdallah y Dawson (1993), Samson, Le Borgne y Espinau
(1991). Debido a que los brazos manipuladores se componen de varias
articulaciones unidas entre sí, poseen una dinámica altamente no lineal con un
fuerte acoplamiento entre sus respectivas articulaciones, esto complica la tarea del
control, sobre todo, con consignas a altas velocidades o aceleraciones.
2.2.1 CONTROL DE ROBOTS MANIPULADORES
Los algoritmos de control del robot tienen por objetivo mejorar al máximo las
características de velocidad y precisión. El control cinemático selecciona
trayectorias que idealmente deberá seguir el robot para, teniendo en cuenta sus
limitaciones, ajustarse lo mejor posible a las especificaciones del movimiento
dadas por el usuario. En la práctica, este ajuste del movimiento del robot a las
6
especificaciones del usuario no será del todo posible, pues las características
dinámicas del robot (inercias, rozamiento, holguras, etc.) muchas veces
desconocidas, impiden en general una coincidencia entre la trayectoria deseada
qd(t ) y la real q (t)
En resumen, el control dinámico tiene por objetivo procurar que las trayectorias
realmente seguidas por el robot q (t) sean lo más parecidas posibles a las
propuestas por el control cinemático qd(t ).
2.3 CONTROL DIFUSO
Las ideas de incertidumbre y ambigüedad llevaron en 1964 al Doctor Lotfi Zadeh a
establecer un principio de incompatibilidad, el cual establece que la complejidad y
la ambigüedad (imprecisión) están inversamente relacionadas. Esto significa que
entre más se aprende de un sistema, su complejidad decrece y nuestro
entendimiento aumenta. Esto le llevó a la publicación del artículo “Fuzzy Sets” en
1965 [18].
Después de la aparición del artículo de Conjuntos Difusos, se han tenido
desarrollos teóricos en lógica difusa en países como Estados Unidos, Europa y
Japón. Este último ha tomado ésta tecnología como medio de desarrollo en los
equipos de tipo electrónico llegando a tenerse aproximadamente 2000 patentes en
el área [19].
Las primeras aplicaciones industriales de la lógica difusa se realizaron en 1970 en
Europa. La Queen A. Mary College en Londres Inglaterra, encargo al ingeniero
Ebrahim Mandami, que realizará el control de un generador de vapor por lógica
difusa y no por métodos convencionales [20]. En la Universidad RWTH de Aachen
Alemania, el investigador Hans Zimmerman usó lógica difusa para los sistemas de
apoyo de decisión [21]. Existen otras aplicaciones industriales como el mando de
un horno de cemento, control de hornos de vapor, etc, que no contaban con una
aceptación industrial.
7
En 1980, la lógica difusa ganó mayor aceptación en la industria para aplicaciones
de análisis de datos en Europa. Muchas de las tecnologías más avanzadas sobre
lógica difusa, se desarrollan en proyectos aplicados en la investigación, en donde
se busca modelar el pensamiento humano y sus procesos de evaluación.
Inspirados por las primeras aplicaciones europeas de la lógica difusa, las
compañías japonesas empezaron a utilizar lógica difusa en sus diseños en 1980.
Debido al resultado de los primeros algoritmos en hardware normal, la mayoría de
las primeras aplicaciones de la lógica difusa aparecían sólo con su hardware
especializado. Algunas de estas aplicaciones fueron: el control de una planta
purificadora de agua desarrollada por Fuji Electric en 1983 y posteriormente un
sistema de tren subterráneo realizado por Hitachi que se abrió en 1987.
Como resultado de esto, la lógica difusa se usa actualmente sobre cualquier área
de aplicación de mando inteligente o procesos de datos. Las aplicaciones de
automatización industriales incluyen procesos químicos y el mando de procesos
biológicos, equipos de controladores de maquinaria y los sensores inteligentes.
2.3.1 APLICACIONES DEL CONTROL DIFUSO
Como ya hemos mencionado, una de las más importantes características de la
lógica difusa es su rápida inserción en los modelos y aplicaciones de controla nivel
mundial. A partir de esto, en la década pasada se ha observado un incremento
significativo en las aplicaciones de las técnicas basadas en la lógica difusa para el
control de procesos. En muchas aplicaciones, especialmente en el control de
sistemas de tipo no lineal, variante en el tiempo, autodefinidos y en el manejo de
sistemas complejo con procesos múltiples de decisiones independientes, los
controladores difusos han probado ser superiores cuando se les compara con los
algoritmos clásicos de control.
Algunas aplicaciones interesantes de estos controladores basados en FL, incluyen
una máquina de vapor Mandami y Assilian, 1975, Ray y Majumder, 1985;
procesos de aguas residuales Kickter y Van Nauta Lemke, 1976; intercambiadores
8
de calor Ostergaard, 197; tratamiento por lodos activados de aguas residuales
municipales Tong et al, 1980; Itoh et al, 1987; Yu et al, 1990; control de tráfico
Papis y Mamdani, 1977; una productora de cemento Larsen, Umbres y King, 1980;
control de tráfico aéreo en aeropuertos Larkin, 1985; Chaudhary, 1990; Chiu et al,
1991, operaciones autónomas de naves espaciales en orbita Lea y Jani, 1992,
control de robots Uragami et al, 1976; Scharf y Mandil, 1985; control de la
velocidad de un automóvil Murakami y Maeda, 1985; procesos de purificación de
agua Yagisihita et al, 1985; control de elevadores Fujitec, 1988; transmisión de
automóviles y control de frenos Kasai y Morimoto, 1988; sistema de potencia y
control de reactores nucleares Bernard et al, 1988, control de incineradoras Ono et
al, 1989; control de procesos Efstathiou, 1987; control adaptativo Graham y
Newell, 1989; control de un convertidor catalítico de una refinería de gasolina Bare
et al, 1990; procesos biológicos Czogala y Rawlik, 1989; modelo de helicóptero
Sugeno, 1990; control de velocidad de discos duros de computadora Yoshida y
Wakabayashi, 1991; control de plantas de producción de gas licuado Tobi et al,
1989 y computadoras difusas Yamakawa, 1987. La lógica difusa y sus sistemas de
control, también han tenido gran aceptación en aplicaciones para sistemas
electrodomésticos como aires acondicionados (Mitsubishi), lavadoras automáticas
(Matsushita, LG, Hitachi), videograbadoras (Sanyo, Matsushita), cámaras de
televisión con autoajuste de brillo y contraste (Canon), hornos de microondas
(Toshiba), computadoras “PALM” (Sony) y muchas otras.
2.4 CONTROL POR MODOS DESLIZANTES
La teoría de sistemas de Control por Modo Deslizante (CMD) representa una parte
fundamental de la teoría de sistemas no lineales propuesta en la antigua Unión
Soviética por. Itkis y V. A. Utkin [2]. Esta teoría consiste en el empleo de acciones
de control conmutadas o discontinuas sobre una o varias superficies de
conmutación. Uno de los principales inconvenientes asociados a la técnica de
CMD es la intensa actividad que debe ejercer la señal de control, lo que resulta en
la presencia de oscilaciones de alta frecuencia.
9
Los sistemas con modos deslizantes han demostrado su capacidad para ser una
herramienta eficiente en el diseño de controladores de alto orden de plantas
dinámicas no lineales que operan bajo condiciones inciertas, un proceso común
para muchos ejemplos de tecnología moderna. Esto explica el alto nivel de la
actividad de publicación e investigación en el área de sistemas con estructura
variable [10], [11]. Los sistemas con estructura variable son una clase de sistemas
en los que la ley de control cambia deliberadamente durante la dinámica del
sistema bajo una regla específica. La teoría de modos deslizantes puede ser
presentada como la aplicación de una señal de control conmutado a alta
frecuencia (teóricamente infinita) que consigue llevar al sistema a una superficie
σ=0 denominada superficie de deslizamiento y una vez que la alcanza, el objetivo
es mantener al sistema en la superficie a pesar de perturbaciones que tenga el
sistema. La principal ventaja de la teoría de modos deslizantes es la robustez ante
perturbaciones, tanto externas como internas, cuando estas tienen cotas
conocidas, otra ventaja es la reducción del orden del sistema. Algunas
desventajas que tiene esta técnica de modos deslizantes están relacionadas con
respecto a la superficie de deslizamiento, que puede definirse como el número de
veces que hay que derivar la función que describe la superficie de deslizamiento σ
para que la acción de control aparezca explícitamente. En el caso de las
aplicaciones en modos deslizantes convencionales este debe ser uno. La segunda
desventaja es el efecto de chattering(oscilaciones) provocado por la conmutación
a alta frecuencias de la señal de control. Los modos deslizantes han sido
ampliamente aplicados en problemas de diseño de observadores y controladores
[12], [13], [14], [15] por las características que ya se han mencionado.
2.4.1 Modos deslizantes de alto orden
Algunas desventajas de los modos deslizantes de primer orden son referidas al
chattering (oscilaciones). Algunas de las herramientas usadas para evitar o reducir
este efecto consisten en disminuir la discontinuidad del control cambiando la
función signo por la función saturación. El uso de la función de saturación permite
disminuir la amplitud del chattering.
10
Sin embargo, las características de robustez son parcialmente perdidas. Los
modos deslizantes de alto orden (MDAO) (Figura 2.1) constituyen una herramienta
para poder trabajar con estas desventajas. La idea subyacente es controlar
términos de orden superior de la superficie deslizante imponiendo no solo que se
anule la función que la define (σ=0) sino también sus ¿) primeras derivadas
(σ=σ=σ=...=σ r−1=0) .
Este método preserva y generaliza las principales ventajas del control por modo
deslizante tradicional. Además se mejora notablemente la precisión alcanzada en
el control (ahora(¿ σ∨¿≃ τr)) y se eliminan las restricciones que limitaban a aquel
(desaparece el efecto chattering y es posible controlar sistemas con grado relativo
r > 1).
Figura 2.1 Modos deslizantes de alto orden.
11
2.4.2 Super -twisting
Dentro de los esquemas por modos deslizantes de segundo orden, el denominado
algoritmo de segundo orden super-twisting (Figura 2.2) ha sido ampliamente
estudiado [16], [17] dado que, a pesar de ser un esquema de alto orden por modos
deslizantes no necesita la primera derivada de la salida. Este algoritmo fue
específicamente diseñado para sistemas con grado relativo uno con respecto a la
variable de deslizamiento, esto se debe a que el algoritmo está compuesto por un
estado integral. El algoritmo de super-twisting está definido como
ut=u1 , t+u2 ,t(2.1)
Donde
u1 , t= −u si |u|>1−α sign ( s ) si |u|≤1
u2 , t=−λ|s0|p sign ( s ) si |s|>|s0|
−λ|s|p sign (s ) si |s|≤|s0|
(2.2)
Donde ,λ son constantes positivas, p es el orden del modo deslizante.
12
Figura 2.2 Super-twsting.
2.5 diseño de observadores
Los observadores de estado, son herramientas virtuales, que permiten estimar las
variables o estados de un sistema en base a mediciones de las señales de salida
y señales de control. Estos observadores permiten enviar información estimada
acerca del valor que toman dichos estados, permitiendo conocer un aproximado
del valor real, además cuentan con muy poco margen de diferencia o error. Se le
considera una herramienta virtual, puesto que se desarrolla como software o
programa dentro de una computadora.
2.5.1TIPOS OBSERVADORES
Existen 2 tipos de observadores: observadores de orden completo, y observadores
de orden reducido u orden mínimo.
13
Los observadores de orden completo, son aquellos utilizados para observar o
estimar todos los estados de un sistema.
Los observadores de orden reducido, son aquellos utilizados para observar o
estimar solo algunas variables de estado de un sistema.
2.5.2 OBSERVADOR DE ORDEN COMPLETO
Dado el sistema
x=Ax+Bu
y=Cx(2.3)
donde:
x = Vector de estado (n x 1).
u = Señal de control (escalar).
y = Señal de salida (escalar).
A = Matriz del sistema (n x n).
B = Matriz de entrada (n x 1).
C = Matriz de salida (1 x n)
Se puede estimar sus estados mediante la siguiente expresión:
~x=A~x+Bu+ L( y−~y ) (2.4)
Donde:
L= Vector de ganancias del observador de estados (1 x n).
~x = Vector de estados estimados.
14
~y=Salida estimada.
Figura 2.1 Observador de orden completo.
Debe notarse que las matrices A, By C son las mismas tanto para un sistema real
como para el observador.
La diferencia existente entre x y ~x se denomina error de observación, y el término
L( y−~y) se denomina factor de corrección. Para determinar el error de
observación definido como e≔ x−~x, cuya dinámica está dada por
e≔ x−~x (2.5)
así se tiene que sustituyendo (2.4) y (2.5), resulta
x−~x=( Ax+Bu )− (A~x+Bu+L ( y−~y ) )
x−~x=Ax−A~x−L ( y−~y )
x−~x=A ( x−~x )−L(Cx−C~x)
x−~x=A ( x−~x )−LC (x−~x )
x−~x=(A−LC )( x−~x ) (2.6)
15
Sistema real
Observador
Si se sabe que el error está definido como la diferencia entre el estado real y el
estado estimado, entonces se tendrá.
e=x−~x
e= x−~x
e=( A−LC )e (2.7)
A partir de esta expresión se puede conocer el comportamiento dinámico y la
estabilidad del sistema, si la matriz ¿ A−LC∨¿ es estable, entonces el observador
hará bien su trabajo, y dada cualquier condición inicial, el sistema tenderá a un
error cero. La elección de correctos valores para el vector de ganancias L,
permitirá que el comportamiento dinámico del vector de error sea asintóticamente
estable y lo suficientemente rápido para tender a un valor de cero. La estabilidad
asintótica y la velocidad de respuesta de la dinámica del error se determina
mediante los autovalores de la matriz ¿ A−LC|, dados por el polinomio
característico ¿ sI−A+LC∨¿. Existe una condición necesaria, la cual consiste en
que el sistema obtenido sea estable, y completamente controlable y observable
[28].
2.6 OBSERVADORES POR MODOS DESLIZANTES
Para el diseño de observadores, la superficie de deslizamiento es el error dado por
el estado real del sistema y el estado estimado del observador. Dentro de la
literatura, existe una gran variedad de observadores usando la teoría de estructura
variable. En [29] se propone un observador basado en el algoritmo de super
twisting con la siguiente estructura
ddt x1= x2+z1
ddt x2=f (t , x1 , x2 , u )+z2 (2.8)
Donde x1 y x2 son los estados estimados, y las variables de corrección z1 y
z2 son inyecciones de la salida en la forma
16
z1=λ|x1− x1|1/2sign (x1− x1)
z2=α sign (x1− x1) (2.9)
CAPÍTULO 3. MODELO DINÁMICO DEL ROBOT MANIPULADOREMPLEADO
En este capítulo del proyecto abordaremos los temas: descripción del robot
manipulador, así como la obtención de su modelado dinámico, se muestra el
procedimiento matemático realizado de cada eslabón para obtener la energía
cinética y potencial, finalmente se muestra simulación numérica en lazo abierto.
3.1 INTRODUCCIÓN
La obtención del modelo dinámico para mecanismos de uno o dos grados de
libertad no es excesivamente compleja, pero a medida que el número de grados
de libertad aumenta, el planteamiento y obtención del modelo se complica
enormemente [1]. Por este motivo, no siempre es posible obtener una solución del
modelo dinámico expresado de una forma cerrada, esto es, mediante una serie de
ecuaciones analíticas, normalmente del tipo diferencial de segundo orden, cuya
integración permita conocer que el movimiento surge al aplicar unas fuerzas o que
fuerzas hay que aplicar para obtener un movimiento determinado.
El modelo dinámico debe ser resuelto entonces de manera iterativa mediante la
utilización de un procedimiento numérico. El problema de la obtención del modelo
dinámico de un robot es, por lo tanto, uno de los aspectos más complejos de la
robótica, lo que ha llevado a ser obviado en numerosas ocasiones. Sin embargo,
el modelo dinámico es imprescindible para conseguir los siguientes fines:
1. Simulación del movimiento del robot.
2. Diseño y evaluación de la estructura mecánica del robot.
17
3. Dimensionamiento de los actuadores.
4. Diseño y evaluación del control dinámico del robot.
Este último fin es evidentemente de gran importancia, pues de la calidad del
control dinámico del robot depende la precisión y velocidad de sus movimientos.
La gran complejidad ya comentada existente en la obtención del modelo dinámico
del robot, ha motivado que se realicen ciertas simplificaciones, de manera que así
pueda ser utilizado en el diseño del controlador.
Es importante hacer notar que el modelo dinámico completo de un robot debe
incluir no solo la dinámica de sus elementos (barras o eslabones) sino también la
propia de sus sistemas de transmisión, de los actuadores y sus equipos
electrónicos de mando. Estos elementos incorporan al modelo dinámico nuevas
inercias, rozamientos, saturaciones de los circuitos electrónicos, etc. aumentando
aun más su complejidad.
Por último, es preciso señalar que si bien en la mayor parte de las aplicaciones
reales de robótica, las cargas e inercias manejadas no son suficientes como para
originar deformaciones en los eslabones del robot, en determinadas ocasiones no
ocurre así, siendo preciso considerar al robot como un conjunto de eslabones no
rígidos. Aplicaciones de este tipo pueden encontrarse en la robótica espacial o en
robots de grandes dimensiones.
Es claro que al obtener el modelo de movimiento del robot, se puede tener de
manera más simple un probable diseño de algún controlador automático que
permita regular los movimientos de los eslabones a través de modificar las
condiciones de operación de las juntas. Desde este contexto, el proceso de
modelado y control automático se conjuntan para poder cumplir una de las
premisas en la Mecatrónica, poder modificar a voluntad las condiciones de
movimiento de un sistema electromecánico que ha sido diseñado bajo ciertos
principios de diseño.
18
3.2 ESPECIFICACIONES DEL PROTOTIPO
Una de las condiciones de realización de este estudio, tiene que ver con la
validación experimental de los elementos utilizados de teoría de control, tales
como el observador en modos deslizantes y el controlador difuso. Para realizar lo
anterior, se decidió tomar un prototipo ya construido el cual fue adquirido en el
mercado nacional. Este prototipo tiene el siguiente diagrama general.
Figura 3.1 Diagrama general del prototipo.
Este sistema robótico consta de cuatro eslabones, los cuáles se describirán a
continuación: en base a la clasificación general de sistemas robóticos, el prototipo
utilizado entra en la clasificación de 4 grados de libertad, ya que tenemos 4
movimientos principales base (figura 3.6), hombro (figura 3.5), codo (figura 3.4) y
la muñeca (figura 3.3) y el movimiento de la pinza (figura3.2) abrir y cerrar.
19
Pinza.
Eslabón 4. Eslabón 3
Eslabón 2
Base giratoria
Figura 3.2 Movimiento máximo de la pinza.
Figura 3.3 Desplazamiento máximo de la muñeca.
Figura 3.4 Desplazamiento máximo del codo.
20
Figura 3.5 Desplazamiento máximo del hombro.
Figura 3.6 Desplazamiento máximo de la base.
3.3 COMPOSICIÓN DEL ROBOT
El brazo se compone de tres partes muy importantes: la base, el brazo y la pinza.
La mayor parte del brazo, o la mayor cantidad de piezas del brazo son de plástico
rígido. Gracias a este material el robot es ligero y se puede mover con facilidad.
Para poder mover el brazo, se ocupan 5 motores de CD. Uno para mover la base,
uno para el hombro, uno para el codo y otro para la muñeca y el último para abrir y
cerrar la pinza.
Este sistema mecatrónico consta de 4 juntas, 3 eslabones y una base que puede
girar sobre su propio eje 360°. Este prototipo es un buen ejemplo de aplicación de
la técnica desarrollada en este trabajo, dado que generaliza muchos sistemas
21
180°
270°
270°
robóticos que son de utilidad en aplicaciones industriales. Además, permite
observar muchos de los efectos asociados al tipo de controlador seleccionado así
como el observador por modos deslizantes de alto orden.
3.4 OBTENCIÓN DEL MODELO DINÁMICO DEL ROBOT MANIPULADOR DE
CUATRO GRADOS DE LIBERTAD
La dinámica se ocupa de la relación entre las fuerzas que actúan sobre un cuerpo
y el movimiento que en él se origina. Por lo tanto, el modelo dinámico de un robot
tiene por objeto conocer la relación entre el movimiento del robot y las fuerzas
implicadas en el mismo.
Esta relación se obtiene mediante el denominado modelo dinámico, que relaciona
matemáticamente:
1. La localización del robot definida por sus variables articulares o por las
coordenadas de localización de su extremo, y sus derivadas: velocidad y
aceleración.
2. Las fuerzas pares aplicados en las articulaciones (o en el extremo del robot).
3. Los parámetros dimensiónales del robot, como longitud, masa e inercias de
sus elementos.
A continuación se muestra la forma estándar del modelo dinámico del robot [1]
M (q ) q+C (q , q ) q+G (q )=τ
(3.1)
Donde:
q∈ Rn
Es el vector de coordenadas generalizadas.
M (q )
es la matriz de inercia.
22
C (q , q )
es la matriz asociada a las fuerzas de Coriolis y fuerzas centrífugas.
G
es el vector de fuerzas gravitacionales.
τ
es el vector de control producido por los actuadores del sistema.
El modelo obtenido se desarrolló utilizando el método conocido como mecánica
analítica, cuya principal herramienta son las ecuaciones de Euler-Lagrange, las
cuales tienen la siguiente estructura:
ddt ( ∂ L∂ qi )− ∂L
∂qi=Qi(3.2)
donde:
L=T−V
L=¿ Lagrangiano, definido como la diferencia entre la energía cinética menos la
energía potencial.
T=¿Energía cinética total del sistema: suma de las energías cinéticas del sistema.
V=¿Energía potencial total del sistema: suma de las energías potenciales del
sistema.
q i=¿i-ésima Coordenada generalizada: cada grado de libertad del sistema se
expresa mediante una coordenada generalizada.
q i=¿i-ésima Velocidad generalizada: derivada temporal de las coordenadas
generalizadas.
Qi=¿Fuerzas generalizadas.
Del prototipo seleccionado, se logra obtener los siguientes términos para la
energía cinética y potencial respectivamente:
23
Energía cinética. La energía cinética es el acumulado de las energía cinéticas
individuales de cada una las masas de los eslabones que componen el brazo
robótico. Éstas se calcularon usando el teorema de traslación-rotación de ejes, de
los cuáles se obtuvieron:
Análisis para el eslabón 1:
Figura 3.7 Análisis del eslabón 1.
posición del eslabón 1
x1=cosθ1 y1=senθ1 derivando la posición, se obtiene
x1=−senθ1θ1
24
θ1
z
y
x
y1=cosθ1 θ1 elevando al cuadrado cada una de las expresiones anteriores
x12=sen2θ1 θ1
2
y12=cos2θ1 θ1
2
energía cinética de la masa 1
análisis del eslabón 2:
Figura 3.8 Análisis del eslabón 2.
posición del eslabón 2
x2=l2
2senθ2 senθ1
y2=l2
2senθ2cosθ1
z2=l2
2senθ2
25
z2
x3
y2
θ2
θ1
l2
T 1=12 m1 θ1
2+ 12 I 1 θ1
2
derivando la posición, se obtiene
x2=l2
2cosθ2 senθ1 ˙θ2+
l2
2senθ2 cosθ1 ˙θ1
y2=l2
2cosθ2 cosθ1˙θ2−
l2
2senθ2 senθ1 ˙θ1
z2=l2
2cosθ2˙θ2
elevando al cuadrado cada uno de los términos
x22=
l22
4cos2θ2 sen
2θ1˙θ22+2
l22
4cosθ2 senθ1 ˙θ2sen θ2cos θ1 ˙θ1+
l22
4sen2θ2 cos2θ1 ˙θ1
2
y22=
l22
4cos2θ2 cos2θ1 ˙θ2
2−2l2
2
4cosθ2 cosθ2 ˙θ2 senθ2sin θ1˙θ1+
l22
4sen2θ2 sen
2θ1˙θ12
z22=
l22
4cos2θ2 ˙θ2
2
simplificando
v2= x2
2+ y22+ z2
2=l22
4 (2cos2θ2˙θ22+sen2θ2˙θ1
2)
energía cinética de la masa 2:
T 2=12m2
l22
4 (2cos2θ2˙θ22+sen2θ2˙θ1
2)
analizando el eslabón 3
26
z3
Figura 3.9 Análisis del eslabón 3.
posición del eslabón 3:
x3=l3
2senθ3+l2 senθ2 senθ1
y3=l3
2cosθ3+l2 senθ2 cosθ1
z3=l3
2senθ3
derivando la posición con respecto al tiempo, se obtiene
x3=l3
2cosθ3 ˙θ3+l2 cosθ2 senθ1˙θ2+l2 senθ2cosθ1˙θ1
y3=−l3
2senθ3 ˙θ3+l2cos θ2cos θ1 ˙θ2−l2 senθ2 senθ1˙θ1
z3=l3
2cosθ3˙θ3
elevando al cuadrado
x32=
l32
4cos2θ3 ˙θ3
2+l22 cos2θ2 sen
2θ1 ˙θ22+ l2
2 sen2θ2 cos2θ1 ˙θ12+2
l3
2l2 cosθ3˙θ3 cosθ2 senθ1 ˙θ2+
2l3
2l2 cosθ3˙θ3 senθ2 cosθ1˙θ1+2 l2
2cos θ2 senθ1 ˙θ2 senθ2 cosθ1 ˙θ1 y3
2=l3
2
4sen2θ3˙θ3
2+ l22cos2θ2 cos2θ1˙θ2
2+l22 sen2θ2 sen
2θ1˙θ12−2
l32l2 senθ3˙θ3 cosθ2 cosθ1 ˙θ2
+2l3
2l2 senθ3˙θ3 senθ2 senθ1 ˙θ1−2 l2
2cosθ2cosθ1 ˙θ2 senθ2 senθ1 ˙θ1 27
z2
x2
x3
y2
y3
θ1
θ2
θ3
l2
l3
z32=
l32
4cos2θ3 ˙θ3
2
simplificando
v2= x22+ y2
2+ z22=2
l22
4θ3
2+l22 [cos2θ2 ˙θ2
2+l22sin2θ2 ˙θ1
2 ]+2l3
2l2cosθ2˙θ3˙θ2 sen(θ3−θ1 )
+2l3
2l2 senθ2 ˙θ3˙θ2 cos(θ3+θ1)
energía cinética de la masa 3:
T 3=12 m3[2 l2
2
4θ3
2+l22 [cos2θ2˙θ2
2+l22 sen2θ2˙θ1
2 ]+2l3
2l2 [cosθ2 θ3 ˙θ2 sen(θ3−θ1 )+senθ2 ˙θ3˙θ2cos (θ3+θ1)] ]
analizando el eslabón 4:
28
z4
Figura 3.10 análisis del eslabón 4
posición del eslabón 4
x4=l4
2senθ4+l3 senθ3+l2 senθ2 senθ1
y4=l4
2cos θ4+l3 cosθ3+ l2 senθ2cosθ1
z4=l4
2senθ4
derivando la posición
x4=l4
2cosθ4 ˙θ4+l3cosθ3˙θ3+l2cosθ2 senθ1 ˙θ2+l2 senθ2 cosθ1 ˙θ1
y4=−l4
2senθ4 ˙θ4−l3 senθ3˙θ3+l2cos θ2 cosθ1˙θ2−l2 senθ2 senθ1˙θ1
z4=l4
2cosθ4˙θ4
elevando al cuadrado
29
z2
z3
x2
x3
x4
y2
y3
y4
θ1
θ2
θ3
θ4
l2
l3
l4
x42=
l42
4 cos2θ4 ˙θ42+ l3
2cos2θ32˙θ3
2+ l22cos2θ2 sen
2θ1˙θ22+l2
2 sen2θ2 cos2θ1˙θ12
+2l4
2l3cosθ4˙θ4 cosθ3˙θ3+2 l4
2l2 cosθ4 ˙θ4 cosθ2 senθ1˙θ2+2 l4
2l2cosθ4˙θ4 senθ2cosθ1˙θ1
+2 l3 l2cosθ3 θ3cosθ2senθ1 θ2+2 l3 l2 cosθ3 θ3senθ2 cosθ1 θ1+2l22 cos θ2senθ1 θ2 senθ2 cosθ1θ1
y42=
l 42
4 sen2θ4 ˙θ42+l3
2 sen2θ3˙θ32+l2
2cos2θ2cos2θ1˙θ22+l2
2 sen2θ2 sen2θ1 ˙θ1
2
+2l4
2l3 senθ4˙θ4 senθ3 ˙θ3−2 l4
2l2 senθ4 ˙θ4 cosθ2cosθ1˙θ2+2l4
2l2 senθ4˙θ4 senθ2 senθ1 ˙θ1
−2 l3 l2senθ3 θ3 cosθ2 cosθ1 θ2+2l3 l2 senθ3 θ3senθ2senθ1 θ1−2l22 cos θ2 cosθ1 θ2senθ2senθ1 θ1
z4
2=l4
4cos2θ4˙θ4
2
simplificando
v2= x22+ y2
2+ z22=2
l42
4θ4
2+l32 ˙θ3
2+l22 [cos2θ2 ˙θ2
2+sen2θ2 ˙θ12 ]+2
l 4
2l3cos (θ4+θ3 )θ4˙θ3
+2l4
2l2cosθ2 sen(θ1−θ4 )θ4 ˙θ2+2
l4
2l2 senθ2 cos (θ4+θ1) θ4 ˙θ1+2l3 l2cosθ2 sen(θ1−θ3) θ3 ˙θ2
+2 l3 l2senθ2 cos(θ3+θ1 ) θ3 θ1 energía cinética de la masa 4
T 4=12m4 [2 l4
2
4θ4
2+l32˙θ3
2+l22 [ cos2θ2˙θ2
2+sen2θ2˙θ12 ]]+m4l 4l3 cos (θ4+θ3) θ4˙θ3+
m4 l4 l2cosθ2 sen(θ1−θ4 ) θ4 θ2
de los resultados anteriores, se obtiene que la energía cinética total del brazo robótico puede expresarse como
T=T 1+T 2+T 3+T 4 (3.2)
energía potencial
V 1=0
V 2=m2 g[ l22 sinθ2cosθ1] V 3=m3 g[ l32 cosθ3+l2sin θ2cosθ1] V 4=m4 g[ l42 cosθ4+l3 cosθ3+l2sinθ2cosθ1] V=V 1+V 2+V 3+V 4
donde
30
mi=masade l os eslabones .
li=longitud de los eslabones .
I i=momento de inercia de los eslabones .
g=gravedad
El Lagrangiano del robot resulta ser
L=T−V (3.3)
L=T−V=12 m1 θ1
2+12 I 1 θ1
2+12 m2
l22
4 (2 cos2θ2˙θ22+sin2θ2˙θ1
2)+m3l2
2
4 ˙θ3
2+12m3 l2
2 [cos2θ2˙θ22+sin2θ2˙θ1
2 ]
+m3l3
2l2cosθ2˙θ3˙θ2sin (θ3−θ1)+m3
l32l2sin θ2˙θ3˙θ2cos (θ3+θ1)+m4
l42
4 ˙θ4
2
+12 m4 l3
2 θ32+1
2 m4 l22 [cos2θ2 θ2
2+sin2θ2 θ12 ]+m4
l4
2l3 cos(θ4+θ3) θ4˙θ3+m4
l 4
2l2 cosθ2sin(θ1−θ4) θ4˙θ2
+m4l4
2l2 sinθ2 cos(θ4+θ1)θ4˙θ1+m4 l3l2 cosθ2 sin(θ1−θ3 )θ3˙θ2+m4l3 l2sin θ2 cos (θ3+θ1)θ3˙θ1
−m2 g[ l22 sin θ2 cosθ1]−m3g[l3
2cosθ3+l2sin θ2cosθ1]−m4 g [l42 cosθ4+l3 cosθ3+ l2sin θ2 cosθ1]
ahora obteniendo las derivadas requeridas de la expresión (3.3) para i=1,2,3 y 4
resultan
dLd θ1=m1 θ1+ I 1˙θ1+m2
l2
2
4sin 2θ2 ˙θ1+m3 l2
2 sin2θ2˙θ1+m4 l22sin2θ2˙θ1+m4
l4
2l2 sinθ2cos (θ4+θ1 )θ4
+m4 l3 l2sin θ2 cos (θ3+θ1) θ3
dLd θ2=m2
l2
2
4cos2θ2˙θ2+m3l2
2 cos2θ2˙θ2+m3l32l2 cosθ2 ˙θ3sin (θ3−θ1)+m3
l3
2l2sin θ2˙θ3 cos(θ3+θ1 )
+m4 l22 cos2θ2 θ2+m4
l4
2l2cosθ2sin(θ1−θ4) θ4+m4 l3l2 cosθ2 sin(θ1−θ3 )θ3
dLd θ3=m3
l3
2l2cosθ2sin(θ3−θ1)+m3
l3
2l2cosθ2˙θ2 sin(θ3−θ1)+m3
l3
2l2 sin θ2˙θ2cos (θ3+θ1)
+m4 l32 θ3+m4
l 4
2l3cos (θ4+θ3)θ4+m4 l3l2 cosθ2 sin(θ1−θ3) θ2+m4l3 l2sin θ2cos (θ3+θ1)θ1
dLd θ4=2m4
l42
4θ4+m4
l4
2l3 cos(θ4+θ3) θ3+m4
l4
2l2 cosθ2 sin(θ1−θ4) θ2+m4
l4
2l2 sinθ2 cos(θ4+θ1) θ1
derivando con respecto del tiempo
dLdθ1
dt=m1 ¨θ1+ I 1 ¨θ1+2m2
l2
2
4sin θ2 ˙θ1cosθ2˙θ2+m2
l22
4sin2θ2 ¨θ1+2m3 l2
2sin θ2˙θ1 cosθ2˙θ2+m3l22 sin2θ2 ¨θ1
+2m4 l22 sin θ2 θ1 cosθ2 θ2+m4 l2
2 sin 2θ2 θ1+m4l4
2l2cosθ2cos (θ4+θ1)θ4˙θ2
−m4
l4
2l2 sin θ2 sin(θ4+θ1 )θ4( θ4+θ1 )+m4
l 4
2l2sin θ2 cos(θ4+θ1) θ4+m4 l3l2 cosθ2 cos(θ3+θ1)θ3˙θ2
−m4 l3 l2 sinθ2 sin(θ3+θ1 )θ3( θ3+θ1 )+m4 l3 l2 sinθ2 cos(θ3+θ1 ) θ3
31
dLd θ2
dt=−2m2
l2
2
4cosθ2sin θ2˙θ2
2+m2l2
2
4cos2θ2 ¨θ2−2m3l2
2 cosθ2 sin θ2 ˙θ22+m3l2
2 cos2θ2 ¨θ2
−m3l3
2l2sin θ2˙θ3 sin(θ3−θ1) θ2+m3
l3
2l2cosθ2˙θ3 sin(θ3−θ1)( θ3−θ1 )
+m3l3
2l2cosθ2sin (θ3−θ1)θ3+m3
l3
2l2 cosθ2 ˙θ3 cos(θ3+θ1) θ2−m3
l3
2l2sin θ2˙θ3 sin(θ3+θ1)( θ3+θ1)
+m3l3
2l2sin θ2 cos (θ3+θ1)θ3−2m4 l2
2cosθ2sin θ2˙θ22+m4l2
2 cos2θ2 ¨ θ2−m4l4
2l2 sin θ2 sin(θ1−θ4 )θ4˙θ2
+m4l4
2l2 cosθ2 cos(θ1−θ4) θ4 (θ1−θ4)+m4
l4
2l2 cosθ2 sin(θ1−θ4 ) θ4−m4 l3l2 sin θ2sin (θ1−θ3) θ3 ˙θ2
+m4 l3 l2cosθ2cos(θ1−θ3 )θ3( θ1−θ3 )+m4 l3 l2cosθ2sin(θ1−θ3 ) θ3
dLd θ3
dt =−m3l3
2 l2 sin θ2 sin(θ3−θ1) θ2+m3l3
2 l2cosθ2cos(θ3−θ1)( θ3−θ1 )−m3l32 l2 sinθ2˙θ2
2 sin(θ3−θ1)
+m3l3
2 l2cosθ2 ˙θ2 cos(θ3−θ1)( θ3− θ1)+m3l3
2 l2 cosθ2 sin(θ3−θ1) θ2+m3l32 l2cosθ2 ˙θ2
2 cos(θ3+θ1 )
−m3l3
2 l2sin θ2 ˙θ2sin (θ3+θ1)( θ3+θ1)+m3l32 l2 sin θ2 cos(θ3+θ1 ¨ θ2+m4l3
2 ¨ θ3
−m4l4
2l3 sin(θ4+θ3) θ4( θ4+ θ3)+m4
l4
2l3 cos(θ4+θ3) θ4−m4 l3 l2sin θ2 sin(θ1−θ3) θ2
2
+m4 l3 l2cosθ2 cos (θ1−θ3 )θ2( θ1−θ3 )+m4 l3 l2 cosθ2 sin (θ1−θ3 )θ2+m4 l3 l2 cosθ2 cos (θ3+θ1 )θ1 θ2
−m4 l3 l2 sinθ2 sin(θ3+θ1 )θ1( θ3+θ1 )+m4 l3 l2 sin θ2 cos(θ3+θ1 )θ1
dLd θ 4
dt=2m4
l4
2
4 ¨θ4−m4
l42l3sin (θ4+θ3) θ3( θ4+θ3)+m4
l42l3 cos(θ4+θ3) θ3
−m4l4
2l2 sin θ2 sin(θ1−θ4 )θ2
2+m4l4
2l2 cosθ2 cos(θ1−θ4 ) θ2+m4
l42l2 cosθ2 cos (θ4+θ1) θ1˙θ2
−m4l4
2l2 sin θ2 sin(θ4+θ1 )θ1( θ4+ θ1)+m4
l42l2 sinθ2cos(θ4+θ1 )θ1
derivando con respecto de θ1
32
dLdθ1=m3
l3
2l2cosθ2˙θ3˙θ2cos (θ3−θ1)−m3
l32l2sin θ2˙θ3˙θ2 sin (θ3−θ1)+m3
l3
2l2 cosθ2˙θ3˙θ2 cos (θ3+θ1)
−m3
l3
2l2sin θ2˙θ3˙θ2 sin(θ3+θ1 )+m4
l 4
2l2 cosθ2cos (θ1−θ4 )θ4˙θ2−m4
l4
2l2sin θ2sin(θ1−θ4) θ4 ˙θ2+
m4l4
2l2 cosθ2 cos(θ4+θ1) θ4˙θ1−m4
l 4
2l2sin θ2 sin(θ4+θ1)θ4˙θ1−m4 l3l2 sinθ2 sin(θ1−θ3) θ3˙θ2
+m4 l3 l2 cosθ2 cos (θ1−θ3 )θ3 θ2+m4 l3 l2 cosθ2cos(θ3+θ1) θ3 θ1−m4 l3 l2 sinθ2sin (θ3+θ1)θ3 θ1
−m2 g[ l22 cosθ2 cosθ1]+m2g [l2
2 sin θ2 sin θ1]−m3gl2 cosθ2 cosθ1+m3l2 sinθ2sinθ1
−m4 gl2 cosθ2 cosθ1+m4 l2sin θ2 sin θ1
derivando con respecto de θ2
dLdθ2=−m2
l2
2
42 cosθ2˙θ2
2sin θ2+m2sin θ2 ˙θ12cosθ2−m3 l2
2cosθ2 ˙θ22 sin θ2+m3 l2
2sin θ2 ˙θ12cosθ2
−m3l3
2l2sin θ2 ˙θ3 ˙θ2 sin(θ3−θ1 )+m3
l3
2l2cosθ2 ˙θ3 ˙θ2cos (θ3−θ1)−m4l2
2 cosθ2 ˙θ22sin θ2
+m4 l22 sinθ2 θ1
2 cosθ2+m4l4
2l2 cosθ2 cos(θ1−θ4) θ4 ˙θ2−m4
l4
2l2sin θ2 sin(θ1−θ4 ) θ4 ˙θ2
+m4
l4
2l2 cosθ2 cos(θ4+θ1) θ4 ˙θ1−m4
l 4
2l2sin θ2 sin(θ4+θ1)θ4 ˙θ1+m4 l3l2 cosθ2 cos (θ1−θ3)θ3˙θ2
−m4 l3 l2 sinθ2 sin(θ1−θ3 ) θ3 θ2−m2 g [l22 cosθ2cosθ1]+m2g [l22 sin θ2sin θ1]−m3 gl2 cosθ2 cosθ1+m3 gl2 cosθ2 sin θ1−m4 gl 2cosθ2 cosθ1+m4 l2 sin θ2 sin θ1
derivando con respecto de θ3
dLdθ3=m3
l3
2l2cosθ2˙θ3˙θ2cos (θ3−θ1)−m3
l32l2sin θ2˙θ3˙θ2 sin(θ3−θ1 )+m3
l3
2l2cosθ2˙θ3˙θ2cos (θ3+θ1)
−m3
l3
2l2sin θ2˙θ3˙θ2 sin(θ3+θ1 )−m4
l42l3 sin(θ4+θ3 )θ4˙θ3+m4 l3l2 cosθ2 cos (θ1−θ3)θ3˙θ2
−m4 l3 l2 sinθ2 sin(θ1−θ3 ) θ3 θ2+m4 l3 l2 cosθ2cos (θ3+θ1) θ3 θ1m3gl3
2sin θ3+m4 gl3 sin θ3
derivando con respecto de θ4
33
dLdθ4=−m4
l4
2l3 sin(θ4+θ3)θ4 ˙θ3+m4
l4
2l2 cosθ2 cos (θ1−θ4) θ4 ˙θ2
−m4
l4
2l2 sin θ2 sin (θ1−θ4 )θ4 ˙θ2
Donde las constantes toman los siguientes valores:Tabla3.1 valores de las constantes.
Constante Descripción Valorl1 Longitud del eslabón 1 0.5ml2 Longitud del eslabón 1 0.10ml3 Longitud del eslabón 1 0.10ml4 Longitud del eslabón 1 0.5mm1 Masa del eslabón 1 0.250 kgm2 Masa del eslabón 1 0.150 kgm3 Masa del eslabón 1 0.150 kgm4 Masa del eslabón 1 0.100 kgg Constante de gravedad 9.81m /s2
Tomando los resultados anteriores, se logró desarrollar el modelo completo del
brazo robótico presentado en la Figura 3.1. El modelo se expresa en forma
matricial en el anexo 1.
3.3Simulación numérica del modelo desarrollado
Las ecuaciones obtenidas después de aplicar el método de Euler-Lagrange se
simularon empleando un software de solución numérica de ecuaciones
diferenciales ordinarias. A continuación se muestra un diagrama a bloques del
sistema
34
Figura 3.11 Diagrama de bloques del sistema.
La simulación del brazo robótico de 4 GDL se realizo en MATLAB/Simulink. En
una interface interactiva de simulación conocida como Simulink se introdujo el
modelo dinámico antes obtenido en, la figura 3.6 se muestra la simulación en un
diagrama de bloques. Esto consistió en elaborar a través de bloques las
ecuaciones resultantes. Se puede notar en el siguiente diagrama la aparición de
los elementos característicos asociados a los modelos mecánicos y
electromecánicos.
35
Figura 3.12 Simulación numérica del brazo mecánico.
3.3.1 ESTRUCTURA DE LA MATRIZ M DISEÑADA EN EL SOFTWARE SIMULINK
De la misma forma, se realizó la implementación de las matrices restantes que
dan lugar al modelo mecánico del brazo robótico. Para el caso del modelo
considerado, se empleó un conjunto de entradas arbitrarias las cuales fueron
seleccionadas como señales senoidales. La intención de tal prueba fue observar
las trayectorias naturales que tienen las variables de estado asociados al modelo
del sistema robótico.
A continuación se muestra una parte de la matriz M en simulink.
36
Figura 3.13 Matriz M
De esta simulación se obtuvo el sistema en lazo abierto en las siguientes graficas ante una entrada senoidal se muestra la posición y la velocidad del sistema.
37
Figura 3.14 Gráfica de la posición del sistema
Figura 3.15 Gráfica de la velocidad del sistema
38
COMENTARIOSComo se puede observar en las graficas obtenidas en lazo abierto posiciones y
velocidades están acotadas en el rango de tiempo simuladas, sin embargo no
siguen una trayectoria en específico, ya que no se tiene un controlador.
39
CAPÍTULO 4. DISEÑO DE CONTROLADORES
El objetivo de este capítulo es presentar los diseños de los controladores
dinámicos empleados para el control del robot de 4 grados de libertad.
4.1 INTRODUCCIÓN.
El objetivo de todo controlador es modificar la dinámica de la planta con la
finalidad de que ésta tenga un comportamiento deseado por el diseñador. En este
trabajo de estadía se tiene como planta a un robot de 4 grados de libertad del cual
se obtuvo su modelo matemático para propósitos de simulación numérica y para el
diseño de las leyes de control.
4.2 DISEÑO DEL CONTROLADOR POR MODOS DESLIZANTES
Para el diseño del modo deslizante se empleo la estructura de un obsevador por
modos deslizantes de alto orden super-twisting
z1=λ|x1− x1|1/2sign (x1− x1)
z2=α sign (x1− x1) (4.1)
Donde x1 y x2 son los estados estimados, y las variables de corrección z1 y
z2 son inyecciones de la salida.
Partiendo de la ecuación estándar de un robot manipulador
M (q ) q+C(q , q )q+G(q )=τ
Donde q , q ε Rn
.
Ahora, se efectua el siguiente cambio de variable:
x1=q
40
x2=q
Derivando con respecto al tiempo el cambio de variable, resulta
x1=x2
x2=q
Despejando q , del modelo dinámico, resultax2=−M
−1 x1 [C ( x1 , x2 ) x2+G( x1)]+M−1(x1 )τ Poniendo en forma matricial las ecuaciones de primer orden, se obtiene
x= f ( x )+g( x )uCon x ε R
2 n, además
x=[q1
q2 ];
x=[ q1
q2 ];
f ( x )=[ x2
−M−1 ( x1 ) [C( x1 , x2 )x2+G( x1 )]]
g( x )=[ 0M−1( x1 )]; u=τ (4.2)
Diseño del observador para el robot sustituyendo (4.1) en (4.2)
~x 1
.
=x2+ z1
~x 2
.=f 2 ( t , ~x 1 , ~x 2 , u)+z2
z1= λ|x1−~x 1|1/2sign( x1−~x1 )
z2=α sign( x1−~x 1)~x 1 ε R
n
z1, z2 ε Rn
Para la entonación del observador se emplearon las siguientes ganancias
41
[−178 . 6 0 0 00 −158 . 86 0 00 0 −178 . 6 00 0 0 −186 . 12 ]
4.3 ESTRUCTURA DEL CONTROLADOR DIFUSO
En el siguiente diagrama a bloques se muestra un diagrama a bloques de un controlador difuso:
Figura 2.1 Estructura de un controlador difuso.
En el apéndice A1 se muestra detalladamente el diseño de un controlador difuso
esa teoría la empleamos para diseñar el controlador difuso.
En el presente proyecto se empleo la siguiente base de reglas para cada uno de
los eslabones:
Tabla 5.1 Nomenclatura de la base de reglas.
Nomenclatura.
Angulo positivo alto = APA Velocidad positiva alta = VPA
Angulo positivo mediano = APM Velocidad positiva mediana = VPM
Angulo positivo bajo = APB Velocidad positiva baja = VPB
Angulo cero = AC Velocidad cero = VC
42
Angulo negativo bajo = ANB Velocidad negativa baja = VNB
Angulo negativo medio = ANM Velocidad negativa media = VNM
Angulo negativo alto = ANA Velocidad negativa alta = VNA
Tabla 5.3 Base de reglas.
ANGULOS APA APM APB AC ANB ANM ANA
VELOCIDAD
VPA 4 4 4 4 -4 -4 -12
VPM 8 8 4 8 -8 -8 -8
VPB 8 8 8 4 -4 -8 -8
VC 12 8 4 0 -4 -8 -12
VNB -8 -8 -8 4 4 4 8
VNM -8 -8 -8 8 8 8 8
VNA -4 -4 -4 4 4 4 12
Se presenta el diagrama esquemático que se uso para la simulación de cada uno
de los controladores difusos.
43
Figura 5.4 Estructura del controlador difuso
4.4 CONTROLADOR POR MODOS DESLIZANTES DIFUSOEl controlador por modos deslizantes difuso tiene la siguiente estructura:
44
Figura 4.2 Controlador por modos deslizantes difuso.
A continuación se muestra el controlador completo por modos deslizantes difuso
en simulink:
Figura 4.3 el controlador completo por modos deslizantes difuso completo por modos deslizantes difuso
4.5 COMENTARIOS
45
En esta sección se darán ciertas características del proceso de diseño. El objetivo
es intentar proveer algunos tips básicos en el diseño para generar cualquier
controlador difuso. Se enlistan algunos tips para el diseño de controladores
difusos:
1. Comenzar con un diseño de un controlador proporcional-integral-derivativo
(PID) convencional. Si resulta satisfactorio, no usar un controlador difuso. El
PID es computacionalmente más simple y sencillo de entender.
2. Quizá se debería también intentar alguna otra aproximación con un controlador
convencional, si es que este pueda ofrecer una mejor solución.
3. Para un controlador difuso hay que escoger las entradas apropiadas para el
sistema. Examine cuidadosamente si necesita entradas PID.
4. Entone el controlador difuso utilizando ganancias escalonadas.
5. Añada o modifique reglas y funciones de membresía de tal manera que se
pueda caracterizar la mejor manera para controlar el proceso.
6. Incorporar ideas, acerca de cómo es mejor controlar el proceso por ejemplo
darle forma a la superficie de control no lineal utilizando una función no lineal
de los valores numéricos lingüísticos.
7. Si el comportamiento no es suave probablemente se tiene una ganancia muy
alta en una entrada del controlador (o la ganancia de salida es muy alta). Al
poner ganancias muy altas en las entradas las funciones de membresía se
saturan a muy bajos valores lo cual puede resultar en oscilaciones.
8. Algunas veces añadir más funciones de membresía o reglas puede ayudar. El
resultado es un control más fino que puede reducir las oscilaciones.
9. Algunas ocasiones es mejor diseñar un controlador lineal, escoger las
ganancias de escalamiento, las funciones de membresía y las reglas de tal
manera que cerca del origen la pendiente de la superficie de control
corresponda con la pendiente del controlador lineal. De esta manera se puede
incorporar todas las buenas ideas para el diseño de un controlador lineal al
diseño de un controlador difuso. Posteriormente el diseñador buscará adecuar
la no linealidad para el caso donde las señales de entrada no están cerca del
origen.
46
Generalmente no se entona un controlador difuso evaluando todas las
posibilidades para representar el “and” en la premisa o para la implicación o para
el estudio de diferentes estrategias para la defuzificación. A pesar de que existen
algunos métodos para entonar los controladores difusos de esta manera, dichos
métodos no nos muestran como afectan los parámetros al desempeño que se
trata de alcanzar (de ahí que es difícil conocer como entonarlos para obtener el
desempeño deseado). Debemos hacer énfasis en que todas estas guías no
constituyen un procedimiento de diseño sistemático. De igual manera que con un
diseño de control convencional, se necesita un proceso de prueba y error.
CAPÍTULO 5. INSTRUMENTACIÓN
47
En este capítulo se menciona el prototipo mecánico empleado el cual es un brazo
de STEREN se especifican las partes del brazo los desplazamientos máximos de
cada eslabón, así como los elementos empleados en la instrumentación del
prototipo también se muestra el diseño de la interfaz de comunicación con la
computadora.
5.1 INSTRUMENTACIÓN DEL SISTEMA ROBÓTICO
El brazo se compone de las siguientes partes.
Base giratoria.
Pinza.
Dos eslabones rígidos.
5 motores de CD.
Para estas partes es necesario agregar los sensores de posición a cada junta del
robot, en este caso se emplearon potenciómetros para medir la posición de cada
eslabón.
5.1.1COLOCACIÓN DE LOS POTENCIOMETROS
El observador por modos deslizantes difuso requiere de dos variables de entrada,
dos de las características dinámicas del sistema, que en este caso son la posición
y la velocidad del motor. En el caso de la posición, el sensor es un potenciómetro
de 5KΩ como se muestra en la figura 5.1. El caso de la velocidad se calcula de
forma digital por el observador en MATLAB.
Cuando se habla de sistemas de control es prácticamente necesario hablar de
señales externas. es decir para efectuar hasta el más simple lazo de control es
necesario obtener una señal del proceso a controlar. En este caso se necesita
traducir la posición del motor a una señal eléctrica proporcional al desplazamiento
angular, para esto, la planta esta equipada con potenciómetros en cada eslabón
que proporciona un voltaje variable dependiendo de la posición del eje del motor.
48
Para discretizar esta variable se uso el convertidor analógico-digital del propio
micro-controlador.
Figura 5.1 colocación de potenciómetros.
5.4 DISEÑO DE LA INTERFAS DE COMUNICACIÓN.
Para el diseño de la interfas de comunicación de emplearon diversos
componentes electrónicos que a continuación se mencionan las características
mas importantes de cada uno.
5.4.1MICROCONTROLADOR
Los microcontroladores se utilizan en circuitos electrónicos comerciales desde
hace algunos años debido a que permiten reducir el tamaño y el precio de los
equipos. Un microcontrolador es un circuito integrado programable que contiene
49
Potenciómetro 4
Potenciómetro 3
Potenciómetro 2
Potenciómetro 1
todos los elementos necesarios para controlar el funcionamiento de una tarea
determinada como el control de un motor, el teclado de un ordenador, un sistema
de alarma, etc. Para esto el microcontrolador utiliza muy pocos componentes
asociados. Un sistema con microcontrolador debe disponer de una memoria
donde se almacena el programa que gobierna el funcionamiento del mismo que,
una vez programado y configurado solo sirve para realizar la tarea asignada. La
utilización de un microcontrolador reduce notablemente el tamaño y número de
componentes y, en consecuencia disminuye el número de averías además reduce
el volumen y peso de los equipos [13].
El microcontrolador es uno de los inventos más notables del siglo pasado. Existe
gran cantidad de ellos en el mercado, con multitud de posibilidades y
características. Cada tipo de microcontrolador sirve para una serie de casos y es
el diseñador del sistema quien debe decidir cuál es el más idóneo para cada
situación.
Las partes principales de un microcontrolador son:
Procesador
Memoria no volátil para contener el programa
Memoria de lectura y escritura para guardar los datos
Líneas de EIS para los controladores de periféricos
a) Comunicación paralelo
b) Comunicación serie
c) Diversas puertas de comunicación
Recursos auxiliares
a) Circuito de reloj
b) Temporizadores
c) Perro guardián (watchdog)
d) Convertidor AD y DA
e) Comparadores analógicos
f) Protección ante fallos de alimentación
50
5.4.2 MICROCONTROLADOR PIC 16F877
El PIC 16F877 de microchip es un potente micro-controlador CMOS de 8 bits con
arquitectura RISC capaz de operar con frecuencias de reloj de hasta 20 MHz, fácil
de programar (sólo 35 instrucciones), y disponible en diversos tipos de
encapsulados. El diagrama de pines del PIC 16F877 se puede ver en la figura
1.16, [15].
Figura 5.2 Micro-controlador PIC16F877.
5.4.3 COMUNICACIÓN SERIAL CON EL ORDENADOR
Cuando deseamos establecer una comunicación serial entre un micro-controlador
y una PC es necesario implementar algunos componentes electrónicos en la
tarjeta de control. Para comunicarse con un microcontrolador se pueden utilizar
solo tres pines del puerto serie. El problema en la comunicación serial es que los
niveles lógicos TTL que salen del micro-controlador no son compatibles con los
niveles lógicos RS232 del puerto serie, razón por la cual se debe incluir en el
circuito de control una interfase que traduzca los datos del micro-controlador al
puerto serie y viceversa, para esto se utiliza el integrado MAX 232.
51
5.4.4 CIRCUITO INTEGRADO MAX 232
El MAX 232 es un circuito integrado que convierte los niveles de las líneas de un
puerto serie RS232 (cerca de + 12V y -12V), a voltajes TTL (0 a 5V) y viceversa.
Este integrado tiene dos conversores de nivel TTL a RS232 y dos conversores de
RS232 a TTL [13]. Estos conversores son suficientes para manejar las cuatro
señales más utilizadas del puerto serie de la PC que son TX, RX, RTS y CTS,
donde RTX es la señal de transmisión de datos, RX es la de recepción, y RTS y
CTS se utilizan para establecer el protocolo para el envío y recepción de datos. El
MAX 232 se alimenta a 5 V y consume 4 mA, tiene entradas TTL y CMOS, en la
figura 1.17 se observa su diagrama de pines.
Figura 5.3 Circuito integrado MAX 232
Para que el MAX 232 funcione correctamente se deben conectar cuatro
condensadores de 100 nanofaradios, en la figura 1.18 se muestra la forma como
debe ser conectado el MAX 232.
52
Figura 5.4 Conexión MAX 232
5.4.5 OPTOACOPLADOR
Un optoacoplador, también llamado optoaislador o aislador acoplado ópticamente,
es un dispositivo de emisión y recepción que funciona como un interruptor
excitado mediante la luz emitida por un diodo LED que satura un componente
optoelectrónico, normalmente en forma de fototransistor o fototriac. De este modo
se combinan en un solo dispositivo semiconductor, un fotoemisor y un fotoreceptor
cuya conexión entre ambos es óptica. Estos elementos se encuentran dentro de
un encapsulado que por lo general es del tipo DIP. Se suelen utilizar para aislar
electricamente a dispositivos muy sensibles.
53
Figura 5.5 optoacoplador
5.4.6 PUENTE EN H
Uno de los principales problemas que se presentan cuando se desea controlar a
un motor mediante un micro-controlador, es la forma de alimentar el motor ya que
la corriente máxima que proporciona cualquier línea de salida de los puertos del
PIC16F877 es de 25 mA como máximo. Esta corriente es insuficiente para
alimentar directamente un motor de corriente continua. Una forma sencilla muy
utilizada para amplificar la corriente de salida y controlar un motor de corriente
continua en velocidad y sentido de giro, es mediante un circuito puente en H. Un
puente en H puede ser realizado utilizando transistores para motores que
requieran corrientes de hasta 1 A y 60 V como máximo, un puente en H comercial
y de fácil conexión es el circuito integrado driver L293.
5.4.7 DRIVER L293
El circuito integrado L293 es un driver de cuatro canales capaz de proporcionar
una corriente de salida de hasta 1 A por canal. Cada canal es controlado por
señales de entrada compatibles TTL y cada pareja de canales dispone de una
señal de habilitación que desconecta las salidas de los mismos [13]. El
encapsulado dispone de un pin para la alimentación de las cargas que se están
54
controlando (Vs), esta alimentación es independiente de la lógica de control. La
figura 5.7 muestra el encapsulado del driver L293.
Figura 5. 3 Circuito integrado L293.
5.4.8 AMPLIFICADORES
Cabe destacar las limitaciones del micro-controlador, aquellas que se refieren a
las tensiones apropiadas para su funcionamiento correcto. Debido a que trabaja a
niveles del tipo TTL, los valores analógicos que maneja solo pueden variar
alrededor de 0-5 voltios aproximadamente. En este momento que se requiere de
algún tipo de acondicionamiento de señal; esto se soluciono utilizando
amplificadores operacionales. Utilizando amplificadores operacionales se
soluciona cualquier efecto de carga indeseable que pudiera estar propiciando
alguno de los sensores o el actuador mismo.
En la siguiente figura 5.8 se muestra el circuito empleado para la implementación
del restador.
55
Figura 5.4 Circuito restador.
Donde la función de transferencia del circuito anterior es.
Con este proceso el controlador por modos deslizantes obtiene las entradas y ya
con esto se puede generar una respuesta a partir de señales de condiciones
reales. Pero esta respuesta, esta aun dentro del micro-controlador, es decir, es
aun, una representación binaria que poco significa para el proceso o la planta es
necesario entonces, usar otra el herramienta del micro-controlador que es la
comunicación serial ya que por este medio enviaremos la señales al observador
por modos deslizantes difuso que se encuentra programado en MATLAB .
La comunicación entre el sistema y la computadora se realiza a través de
SIMULINK este software tiene previamente cargado herramientas que facilitan la
comunicación en entre el dispositivo y la computadora.
56
V o=V 2⋅( R4
R3+R4)⋅(1+R2
R1)−V 1⋅
R2
R1
5.4.9 PWM
Un modulador por ancho de pulso (PWM) es un dispositivo que puede usarse para
controlar la velocidad en motores DC. Los motores DC grandes son controlados
más eficientemente con tiristores de alta potencia, mientras los motores DC
pequeños y medianos de imán permanente, son controlados más exitosamente
con transistores de conmutación por ancho de pulso.
Un circuito PWM arroja como resultado una onda cuadrada con ciclo variable de
ON y Off, variando en el tiempo del 0 al 100 %. De esta manera, una cantidad
variable de potencia es transferida a la carga.
En este caso se programo el PWM en el pic 16f877A para enviar las señales a los
opto-acopladores y así poder enviar la señal a los 5 motores empleados.
57
5.6 IMPLEMENTACIÓN DEL SOFTWARE PARA LA INTERFACE
Para la implementación del la interface de comunicación con la computadora se
utilizó el siguiente proceso.
58
Inicio.
Lectura de la posición de los
eslabones por los sensores
Convertidor analógico digital de las señales dadas por los sensores.
Recepción de las señales por medio del PIC y enviadas
por el puerto serial al algoritmo de
control en matlab.
Procesamiento de las señales en el
algoritmo de control en MATLAB
y envío de las señales por el puerto serial..
Fin.
Comunicación serial con MATLAB
Realizar comunicación serial desde MATLAB con un dispositivo externo al
ordenador, permite llevar a cabo distintas tareas, desde las más básicas como
encender un led, hasta tareas más complejas como controlar uno o más
actuadores tal como motores a pasos, servomotores, motores de corriente
continua, etc.
Lectura de la posición de los eslabones por los sensores de posición.
Para leer las posiciones del robot se toman las señales generadas por los
potenciómetros estas señales solo pueden variar de 0-5v por lo que se tiene que
adecuar la señal con los amplificadores operacionales y estos a su vez enviarlos al
micro-controlador para su procesamiento.
Conversión analógica digital de las señales obtenidas de los sensores de
posición.
Para la conversión analógica digital se emplearon los puertos del micro-
controlador destinados para esta operación y en el software llamado proton se
realizo el siguiente programa (Anexo 3).
Recepción de las señales por medio del PIC y enviadas por el puerto serial al
algoritmo de control en MATLAB.
Después de procesar las señales en el micro-controlador este las envía por
medio del puerto serial al algoritmo en MATLAB, mediante las siguientes
instrucciones.
% con esta instrucción se envían los datos por el puerto serial del micro-
controlador.
HSerOut ["A1=",DEC4 A1, 9,"A2=",DEC4 A2, 9,"A3=",DEC4 A3, 9,"A4=",DEC4 A4, 13,10]
59
Procesamiento de las señales en el algoritmo de control en matlab y envío de
las señales por el puerto serial.
En MATLAB recibimos las señales y se procesan con esta función después se
envían al controlador (Anexo 4).
Después de procesar las señales por el algoritmo de control las señales se envían
de nuevo al micro controlador por el puerto serial y se emplea la siguiente función
de MATLAB para realizar esta comunicación (anexo 5).
El micro-controlador recibe los datos generados por el controlador mediante las siguientes funciones las procesa y envía una señal de PWM para cada motor de cada eslabón (anexo 4).
60
CAPÍTULO 6. RESULTADOS
El objetivo de este capítulo es mostrar los resultados obtenidos de las
simulaciones numéricas efectuadas en MATLAB, tomando para todas las
simulaciones los los parámetro utilizados son los de la tabla 3.1
6.1 INTROUCCIÓNUna etapa previa y muy importante antes de la implementación del controlador
diseñado es la etapa de simulación numérica, el cual consiste en programar en
alguna plataforma para tal propósito el modelo no lineal que describe el
comportamiento del robot y el controlador diseñado, es decir obtener de manera
numérica el comportamiento del sistema en lazo cerrado.
6.1 RESULTADOS DE LA SALIDA DEL CONTROLADOR POR MODOS DESLIZANTES DIFUSO
En todas las simulaciones efectuadas se consideró que el punto de referencia es
el origen, es decir la posición de home del robot. Partiendo de las siguientes
condiciones iniciales, para el robot es
Los resultados obtenidos se encuentran organizados de la siguiente manera:
Primeramente, se muestran en la Figura 6.1 el comportamiento de cada
uno de las posiciones de de las cuatro articulaciones, como se puede
observar todas ellas convergen al origen, haciéndolo más rápido las
posiciones de los eslabones 1 y 3.
61
Figura 6.1 Gráfica de la posición de los eslabones.
62
Figura 6.2 Gráfica de la velocidad.
Como podemos observar en las graficas de posición nuestro sistema tiende
63
6.2 RESULTADOS DE EL OBSERVADOR POR MODOS DESLIZANTES
Figura 6.3 Gráfica de la posición.
64
Figura 6.4 Gráfica de la velocidad.
6.3 RESULTADO DE LAS SEÑALES DE CONTROL
Figura 6.5 Gráfica de las señales de control.
65
66
67
CONCLUSIONES
La técnica de control presentada en este trabajo, integra de forma exitosa,
diferentes elementos de las teorías de control por modo deslizante y control difuso.
Se formuló un algoritmo para el diseño de un observado de estado incompleto,
esto debido a que el robot solo cuenta con sensores de posición, logrando la
atenuación de las oscilaciones de alta frecuencia en la señal de control. Por otra
parte se realizó el diseño de la interfaz de comunicación con la computadora y el
sistema, cabe resaltar que esta interfaz puede emplearse para probar diferentes
controladores desde la computadora de control.
Se emplea la teoría de lógica difusa para diseñar un controlador difuso que toma
las variables de estado estimadas por el observador como sus entradas, de
manera que se obtiene el desempeño del sistema en lazo cerrado deseado por el
diseñador. Se presentan los resultados obtenidos en lazo cerrado en simulación
numérica empleando MATLAB, lo cual permite concluir que la técnica empleada
funciona adecuadamente.
TRABAJOS A FUTURO
Realizar la impresión de las placas de la interfaz para emplearla en el uso de
proyectos escolares.
Implementar el controlador difuso en un micro-controlador.
68
BIBLIOGRAFÍA[1] Barrientos A., Peñin, L.F., Balaguer, C., Aracil, R., (1997). Fundamentos de
Robótica. Ed. MacGraw-Hill.
[22] Benjamin C. Kuo. Sistemas de Control Automático (1997). Séptima Edición.
Prentice Hall Hispanoamericana.
[2] Utkin, V. I., (1977). Variable structure systems with sliding modes. IEEE
Transactions on Automatic Control, AC-22 (2), 212-222.
[3] Utkin , V. I., (1978). Sliding Modes an Their Application in Variable Structure
Systems, Ed. Central Books Ltd.
[3] Xinghuo Yu, Mehmet Önder Efe and Okyay Kaynak, (2001). A
backpropagation learning framework for feedforward neural networks. ISCAS (3) :
700-702.
[4 ] Ertugrul, M., Kaynak, O. and Kerestecioglu, F., (2000). Gain adaptation in
sliding mode control of robotic manipulators. International Journal of Systems
Science, 31 (9), 1099-1106.
[5] Ishigame A., T. Furukawa and S. Kawamoto, (1993). Sliding mode controller
design based on fuzzy inference for nonlinear systems, IEEE Transactions on
Industrial Electronics, 1 (40), 64 - 70
[6] Wang, S.-Y., Hong, C.-M., Liu, C.-C. and Yang, W.-T., (1996). Design of a static
reactive power compensator using fuzzy sliding mode control. International Journal
of Control, 63 (2), 393-413.
[7] Palm, R., Driankov, D. and Hellendoorn, H., (1996). Model based fuzzy control:
Fuzzy gain schedulers and sliding mode fuzzy controllers. Berlín: Springer -Verlag.
[8] Kim, (1995). Design of a fuzzy controller with fuzzy sliding surface. Fuzzy Sets
and Systems, 71, 359-367.
[9] Wong, (2001). A fuzzy sliding controller for nonlinear systems. IEEE
Transactions on Industrial Electronics, 48 (1), 32-37.
69
[10] Utkin, V., (1992). Sliding Modes in Control and Optimization. Springer-Verlag.
[11] Utkin, V., (2009). Sliding Mode Control in Electro-Mechanical Systems, C. P.
Second Edition, Ed.Automation and Control Engineering.
[12] Barbot, J., Djemai, M. and Boukhobza T., (2002). Sliding Mode observers in
Sliding Mode Control in Engineering, N. Y. M. Dekker, Ed. Springer-Verlag.
[13] Bartolini, G., Ferrara, A., Usai, E. and Utkin V., (2000). On multi input
chattering-free second-order sliding mode control. IEEE Transactions on Automatic
Control, vol. 45, no. 9, 1711.1719.
[14] Edwards C. and Spurgeon S., (1998). Sliding Mode Control, Taylor and
Francis, Eds. London.
[15] Levant A. and Fridman L., (2002). Sliding Mode in Control in Engineering.
Marcel Dekker, Inc . High Order Sliding Modes, pp. 53.101.
[16] Davila, J. and Fridman L., (2005). Second-order sliding-mode observer for
mechanical systems. IEEE Transactions on Automatic Control, vol. 50, no. 11,
1785.1789.
[17] Levant, A., (2005). Principles of 2-sliding mode designing, Automatica, no. 43,
823.830.
[18] Zadeh, L. A. (1965). Fuzzy Sets. Information and Control, 8, 338-353.
[20] Ebrahim H. Mamdani and S. Assilian (1974). An experiment in linguistic
synthesis with a fuzzy logic controller", Int. J. of Man-Machine Studies, vol. 7, 1-13.
[21] Hans-Jürgen Zimmermann (1991), Fuzzy Set Theory and Its Applications,
Kluwer Academic Publishers, Norwell, USA.
[24] Chin-Teng Lin and C.S. George Lee (1996), Neural fuzzy systems: a neuro-
fuzzy synergism to intelligent systems, Prentice-Hall, Upper Saddle River.
[25] Katsuhiko Ogata (1998). Ingeniería de Control Moderna, Prentice Hall. 3ra
Edición. México.
70
[29] Davila, J. and Fridman, L., and L. A. (2005). Second-order sliding-mode
observer for mechanical systems, IEEE Transactions on Automatic Control, vol.
50, no. 11, 1785.1789.
[31] Chin-Teng Lin and C.S. George Lee (1996). Neural fuzzy systems: a neuro-
fuzzy synergism to intelligent systems, Prentice-Hall, Upper Saddle River.
APÉNDICE A. LÓGICA DIFUSA
A1. INTRODUCCIÓN
La teoría de conjuntos difusos generaliza la teoría clásica, para permitir
pertenencia parcial a un conjunto. Un conjunto en teoría clásica, siempre tiene un
límite establecido, porque la “membresía” o pertenencia al mismo conjunto es un
concepto de “blanco o negro”, un objeto sólo tiene dos opciones, o pertenece o no
pertenece enteramente a tal conjunto. Por ejemplo, el conjunto de días de la
semana sin lugar a duda incluye el lunes, el martes, el miércoles; y sin duda,
también, excluye a la mantequilla, los autos, etc. A pesar de que existen muchos
conjuntos que son de este tipo, por ejemplo el de la gente casada; existen muchos
otros que no lo son, como el conjunto de gente “felizmente casada”. Como vemos,
el adjetivo calificativo determina una imposibilidad objetiva de determinar si este
pertenece o no a tal conjunto. La teoría de lógica difusa desvanece esta limitación
de permitir membresía o pertenencia parcial a un conjunto, y lo convierte en un
71
grado de asociación al conjunto. Esto se explica retomando el ejemplo de las
parejas que se encuentran casadas, y que sean felices. La felicidad no puede ser
una situación excluyente, es decir, no se establece, eres feliz o no, sino se es más
o menos feliz, se es muy feliz, se es poco feliz, etc.
A2. CONJUNTOS DIFUSOS Y FUNCIONES DE MEMBRESÍA
De la teoría clásica de conjuntos, también sabemos que si un objeto pertenece a
este es etiquetado con un valor de “1”, y obviamente si este no pertenece se le
coloca un “0” como indicador. En el caso de la lógica difusa, se permite entonces
que los grados de pertenencia (μ ' s ) se presenten en el rango de:
μ∈ [0,1 ] (A.1)
De esta manera, se puede describir una transición suave y gradual, de la región
externa del conjunto, a la región interna. Entonces un conjunto difuso es definido
como una función que mapea objetos a su correspondiente valor de pertenencia
en el conjunto. Esta función es llamada “función de membresía”. Cada función de
membresía está asociada a una serie de objetos o datos. Estas series o arreglos
de datos son denominadas “Universos de Discurso” (UD). En aplicaciones
prácticas, la mayoría de estos UD son simplemente el conjunto de números reales
o algún intervalo de estos. En el caso de las parejas, el UD serían todas las
parejas que hubieran contraído matrimonio. Para los sistemas de control, suponga
que este tiene sus entradas ui∈U i i=1, 2 , .. . , n , y sus salidas yi∈Y i i=1 , 2 ,. . .,m
ver figura 5.2. Así los conjuntos U i y Y i son los UD’s de las entradas
correspondientes en el controlador. En muchas ocasiones, es más conveniente
referirse a Universos de Discurso Efectivos [α , β ] , donde α y β , representan los
puntos en los que las funciones de membresía inician su saturación, es decir su
grado de pertenencia es “1”, o bien donde este es “0”. Se le llama ancho de UD al
valor de |β−α|.
72
Proceso
Sensor
Base de Reglas
Mecanismo De inferencia
Fuzi
ficac
ión
Def
uzifi
caci
ón
Referencia r(t)
Entrada u(t)Salida y(t)Retroalimentación
y1
y2
yn
u1
u2
um
Figura A1 Representación global del sistema difuso como mapeo entre las entradas y las salidas.
A3. VARIABLES, VALORES Y REGLAS CON ASIGNACIÓN LINGÜÍSTICA
Un sistema difuso (FS, por sus siglas en inglés) es un mapeo estático no lineal
entre sus entradas (u i∈U i i=1,2 ,…, n ) y sus salidas ( y j∈Y j j=1,2,… ,m ) . Las
salidas y las entradas son valores “crisp”, esto es, son números reales, no difusos.
A4. UNIVERSO DE DISCURSO
Los conjuntos ordinarios o “crisp”.U i y Y j son llamados universos de discurso para
ui y y j , respectivamente (en otras palabras son sus dominios). En aplicaciones
prácticas, muchos de los universos de discurso comunes son simplemente los
conjuntos de números reales o de algún subconjunto de tales valores. Por
conveniencia es preferible establecer un conjunto efectivo de discurso como se
explicó en la sección anterior A3.
A5.VARIABLES LINGÜÍSTICAS
73
Para especificar la base de reglas para la inferencia del FS, el experto debe utilizar
una “descripción ligüística”, es decir, expresiones de tipo gramaticales necesarias
para la descripción de las entradas y salidas así como sus características. Así se
utilizan de manera general las “variables lingüísticas” (LV, por sus siglas en
inglés), descripciones constantes y simbólicas que son cantidades variantes en el
tiempo y que describan los elementos a la entrada y salida del FS. De manera
general, y para describir una connotación adecuada, las LV denotadas por ~u i son
empleadas para describirlas a las entradas, y de la misma forma se utilizan las ~y i
para referirnos a las salidas. Por ejemplo, una entrada a un DS se puede describir
como ~u 1= ”posición angular” o
~u 2= ”velocidad”, y una salida del mismo sistema
podría ser ~y 1= voltaje de entrada, considerando que la planta a controlar es un
motor de corriente directa.
A6.VALORES LINGÜÍSTICOS
Tal y como ui y y j toman valor en cada UD, U i y Y j respectivamente, las LV ~u i y
~y i toman sus respectivos valores o términos lingüísticos, que son los encargados
de proporcionar la calificación o descripción de las características de cada
variable. Sea ~A i
j el j-ésimo término lingüístico de la LV
~u i definida en el UD U i . Si
asumimos que existen muchos valores lingüísticos definidos sobre U i , entonces la
LV ~u i toma elementos del conjunto de términos lingüísticos definido por:
~A i=~A ij: j=1,2 ,…, N i (A.2)
En algunas ocasiones, y simplemente por conveniencia, permitiremos que los
índices j tomen valores negativos. De forma similar, establezcamos que ~Bi
j
represente el j-ésimo valor lingüístico de la variable lingüística de salida ~y i
definida sobre el U.D. Y j .
74
Definamos de manera análoga a:
~Bi= ~Bip : p=1,2,…,N i (A.3)
Los términos lingüísticos son expresiones descriptivas como “positivo grande”,
“cero” y “negativo ligero”, es decir, adjetivos calificativos. Por ejemplo, si asumimos
que ~u 1 denota la LV llamada “velocidad”, podemos expresar que
~A11≡¿ ¿”Lenta”,
~A12≡¿ ¿ “Moderada” y
~A13≡¿ ¿”Rápida”, así se establece que:
~A1= ~A11 ,~A1
2 ,~A13 (A.4)
A7.REGLAS LINGÜÍSTICAS
El mapeo de las entradas a las salidas de un DS está caracterizada en gran
medida por un conjunto de condiciones de la forma condición⇒acción , o en el
llamado modus ponens (SI-ENTONCES).
SI PREMISA ENTONCES CONSECUENCIA (A.5)
Generalmente, las entradas a un sistema difuso están asociadas con la premisa, y
las salidas están asociadas con las consecuencias. Estas reglas Si-Entonces,
pueden ser representadas en muchas formas. Las dos más empleadas son las
formas clásicas MIMO o “Muchas entradas, muchas salidas (Multi-input; Multi-
output) y MISO o “Muchas entradas y una salida” (Multi-input, Single-output). La
forma más sencilla es la MISO:
Sí ~u 1 es~A1
j y ~u2 es~A2
j y ⋯ y ~un es~An
j Entonces ~yq es~Bqp (A.6)
Este es en realidad un conjunto de reglas lingüísticas de tal modo, que el experto
especifique a través de ellas como se debe llevar a cabo el control del modelo bajo
observación. Note que si ~u 1≡¿ ¿ “velocidad”, y que
~A11≡¿ ¿”Lenta”,
~A12≡¿ ¿ “Moderada” y
~A13≡¿ ¿”Rápida”, un término sencillo en la premisa de la regla, significa que: “la
velocidad es lenta”, por ejemplo. Se deduce claramente que un sistema MIMO se
75
compone de forma general de un número de sistema MISO. Suponga, por ejemplo
que m=2 :
Sí ~u 1 es~A1
j y ~u2 es~A2
j y ⋯ y ~un es~An
j Entonces ~y1 es~B1
p y ~y2 es~B2
p (A.7)
La regla anterior es un equivalente lingüístico de la combinación de:
Sí ~u 1 es~A1
j y ~u2 es~A2
j y ⋯ y ~un es~An
j Entonces ~y1 es~B1
p (A.8)
Y
Sí ~u 1 es~A1
j y ~u2 es~A2
j y ⋯ y ~un es~An
j Entonces ~y2 es~B2p (A.9)
Esto es posible dada la aplicación de la operación lógica “Y”, y estableciendo que
tal relación es sólo posible si cada una de las reglas por si sola son validas.
Asumiendo que existe un total de R reglas en la base de reglas numerada
1,2 ,…, R , y que naturalmente, aseguramos que las reglas en la base de reglas son
distintas (no existen dos reglas con las mimas premisas y las mismas
consecuencias); sin embargo, esto no ocurre necesariamente en todos los casos.
Se debe considerar que ninguno de los términos asociados con cualquiera de las
entradas en el sistema MISO no deben ser omitidos o ignorados. Por ejemplo,
suponga un FS que tiene dos entradas y una sola salida: ~u 1≡¿ ¿ “posición”,
~u 2𨠨
“velocidad” y ~y 1≡¿ ¿ “fuerza”. Además, suponga que cada entrada esta caracterizada
por dos términos lingüísticos ~A i
1≡¿ ¿”Pequeño” y ~A i
2≡¿ ¿ “Grande” para i=1 y 2 .
Suponga que ahora, la salida está caracterizada por ~B1
1≡¿ ¿”Negativo” y ~Bi
2𨠨
“Positivo”. Una regla valida de la forma “Si-Entonces” puede ser:
Sí la posición es grande Entonces la fuerza es positiva. (A.10)
Sin embargo, esta no sigue la regla descrita en el caso anterior. En este caso, uno
de los términos de la premisa ha sido omitido. Finalmente, se debe notar que
todos los términos de las premisas son usados en cada regla y que el conjunto de
reglas está formada por cada combinación posible de los elementos de la premisa,
entonces existen:
76
∏i=1
nN i=N1∗N2∗…∗Nn (A11)
Número de reglas. Por ejemplo, si existen 2 entradas y tenemos N i=11 funciones
de membresía en cada universo de discurso, entonces existen 121 reglas
posibles. Claramente, en todos casos el número de reglas crece
exponencialmente con el incremento del número de reglas y con el número de
términos lingüísticos.
A8 FUNCIONES DE MEMBRESÍA (FM)
El concepto de introducción a los conjuntos difusos generales, es el de la función
de membresía. Sea U i que denota al universo de discurso y ~A i
j∈~A i denote un
término lingüístico específico para la LV ui . La función μ (ui ) asociada con ~A i
j
que mapea a U i en un intervalo de [0,1 ] es llamada una función de membresía
(FM). Esta función describe la certeza de que un elemento de U i , denotado ui ,
con una descripción lingüística ~u i , puede ser clasificada por
~A ij. Las FM son
especificadas de manera subjetiva en una manera “correcta” definida de manera
heurística, a partir de la intuición o la experiencia (de aquí la necesidad de un
experto en el modelo o sistema que se esté estudiando).
Por ejemplo, si U i=[−150 ,+150 ] , ~u 1≡¿ ¿ “velocidad” y
~A ij es positivo grande,
entonces μ (ui ) puede ser una función de distribución probabilística tipo normal,
comúnmente conocida como campana de Gauss con su máximo valor centrado en
cero, en ui=75 y está cercano a cero cuando ui<50 y ui<100 . Esto significa
que si ui=75 , μ (75 )=1 , que expresa que es absolutamente cierto que ui es
positivo grande. Si ui=−25 , entonces μ (−25 ) está muy cerca de cero, lo que
representa que se esta muy cerca de que ui no sea positivo grande.
77
Claramente, muchas otras elecciones se puede establecer para la forma de las
funciones de membresía, y cada una de estas provee características propias y
aconsejables de acuerdo al tipo de sistema (veloz, lento, no lineal, lineal, etc.) o
bien de acuerdo a las necesidades de programación (por ejemplo en sistemas
híbridos como los neurodifusos o bien los algoritmos genéticos que optimizan el
aprendizaje difuso) Figura A.2.
Figura A.2 Formas comunes de las funciones de membresía utilizadas en los sistemas de control difusos.
Las representaciones matemáticas de las funciones Gaussianas y triangulares
tienen definiciones que se aplican de acuerdo al tipo de sistema empleado. Para el
caso de sistemas neurodifusos es mejor establecer una forma en la que estas
funciones puedan ser derivables. Algunos ejemplos importantes son las funciones
triangulares y las gaussianas Tabla 5.2.
Tabla A.1 Descripciones matemáticas de las principales funciones de membresía empleadas en la lógica difusa.
Función Triangular Función Gaussiana
78
Izq. μL (u )=¿ 1 Sí u≤cL ¿ ¿¿¿ Izq. μL (u )=¿ 1 Sí u≤cL ¿ ¿¿¿Cen. μC (u )=¿ max 0,1+ u−c
0 .5∗w Sí u≤c ¿ ¿¿¿ Cen. μC (u )=exp [−12 (u−cσ )
2]Der. μC (u )=¿max 0,1+ u−c R
0 . 5∗wR Sí u≤c R ¿ ¿¿¿ Der. μR (u )=¿ exp − 12 (u−c
R
σ R )2 Sí u≤cL ¿ ¿¿¿
A9.OPERACIONES DIFUSAS
Ahora que hemos establecido las bases de los conjuntos difusos y de las
funciones de membresía, expondremos las operaciones básicas de las
definiciones y operaciones de los conjuntos difusos y por ende de las funciones de
membresía.
Sean A y B conjuntos difusos en el universo de discurso U . Definamos ahora las
operaciones de lógica difusa básicas.
1. Complemento.
2. Intersección.
3. Unión.
Algunas otras funciones que existen para la operación sobre conjuntos difusos
pero debido a su similitud con las aplicadas a los conjuntos clásicos, se omite su
presentación [31], [32].
A10 FUSIFICACIÓN
Los conjuntos difusos son utilizados para cuantificar la información en la base de
reglas, y el mecanismo de inferencia opera sobre conjuntos clásicos, para producir
a su vez nuevos conjuntos difusos, por tal motivo, se debe especificar que el
79
sistema difuso convierte sus entradas numéricas ui∈U i i=1, 2 , .. . , n en conjuntos
difusos. Sea U i¿
el conjunto de todos los posibles conjuntos difusos que pueden
ser definidos en U i . Dado ui∈U i , la transformación de fusificación ui a un
conjunto difuso ~A ifuz
definido en el U.D. U i . Esta transformación es producida por
el operador de fusificación ℑ definido por:
ℑ:U i→U i¿
(A.12)
Donde:
ℑ (ui )=~A ifuz (A.13)
Comúnmente se utiliza la fusificación tipo “singleton”, que produce un conjunto
difuso ~A ifuz∈U i
¿ con una función de membresía definida por:
μ~Aifuz ( x )=¿ 1 x=ui ¿ ¿¿¿¿¿ (A.15)
Cualquier conjunto difuso con esta forma, para esta función de membresía en
particular, es llamado “singleton”. Note que un impulso unitario puede ser utilizado
para representar una función de membresía tipo singleton. Este tipo de fusificación
es utilizada en implementaciones sin presencia de ruido, donde es absolutamente
cierto que ui toma en sus valores medidos, los valores asignados a las funciones
de membresía tipo singleton.
A1. EL MECANISMO DE INFERENCIA
El mecanismo de inferencia tiene dos tareas básicas, (1) determinar la extensión
en la que cada regla tiene relevancia en la situación que se está presentando en el
controlador caracterizada por las entradas ui∈U i i=1, 2 , .. . , n (a este proceso se
le conoce como “matching”); y (2) dibujar conclusiones utilizando las entradas
80
actuales y la información en el base de reglas (este paso se llama inferencia).
Para el “matching”, nótese que A1j∗A2
k∗⋯∗Aln es el conjunto difuso
representando la premisa de la i-ésima regla ( j , k ,… ,l ; p ,q )i .
A12.COMPARACIÓN (MATCHING)
Suponga que en algún instante, se tienen las entradas ui i=1 , 2 ,. .. , n , y la
fusificación produce:
~A1fuz ,~A2
fuz ,⋯,~Anfuz (A.15)
Que es el universo difuso que representa las entradas. Existen dos pasos básicos
en la comparación.
1. Combinar las entradas con las reglas de premisas. El primer paso en el
matching involucra encontrar los conjuntos difusos A1j , A2
k ,⋯, Aln con las
funciones de membresía
μ~Aij (u1 )=μAij (
u1 )¿μ~Ai fuz (u1 )μ~A2
j (u2 )=μA2j (u2 )¿ μ~A2 fuz
(u2 )⋮μ~Anj (un )=μ An
j (un )¿ μ~An fuz (un)
(A.17)
Para todo j , k ,… ,l , que combina los conjuntos difusos de la fuzificación, con los
conjuntos difusos utilizados en cada uno de los términos en las premisas de las
reglas. Si se utiliza un fusificación tipo singleton, entonces cada una de estas
funciones es un singleton que está escalada por la premisa de a función de
membresía. Esto es, con fusificación singleton, tenemos μ~Aifuz (ui )=1
para todo
i=1,2 ,⋯, n para entradas ui dadas.
81
μ~Aij (u1 )=μAij (
u1 )μ~A2
j (u2 )=μA 2j (u2 )
⋮μ~Anj (un )=μ An
j (un )
(A.18)
Cuando la fusificación singleton es utilizada, la combinación de los conjuntos
difusos que fueron creados por los procesos de fusificación para representar las
entradas con las funciones de membresía de las premisas para las reglas, es
particularmente simple. Esto reduce el cálculo de los valores de membresía de la
entrada de los conjuntos difusos, para las entradas ui i=1 , 2 ,. .. , n dadas.
Determinar que reglas se encuentran “encendidas”. En el segundo paso, se
forman los valores de membresía μi (u1 ,u2 ,…, un ) para la i-ésima premisa de las
reglas (que comúnmente es llamada μpremisa ) la cual representa la certeza de que
cada premisa en la regla se mantenga para las entradas dadas. Definiendo:
μi (u1 ,u2 ,…, un )=μ~A1j (u1 )¿ μ~A 2
k (u2 )¿⋯μ~Anl (un ) que es simplemente una función de las
entradas. Cuando la fusificación singleton es utilizada, tenemos:
μi (u1 ,u2 ,…, un )=μ A1j (u1 )¿ μA2
k (u2 )¿⋯μAnl (un ) . Empleando μi (u1 ,u2 ,…, un ) para
representar la certeza de que la premisa de la i-ésima regla se relaciona con la
información de la entrada, cuando se hace uso de la fusificación tipo singleton.
Este μi (u1 ,u2 ,…, un ) representa la superficie de certeza multidimensional. Esta
implica la certeza de una regla y a su vez el grado con el cual participará cada una
de las reglas en la evaluación del conjunto de entradas dadas. Finalmente, se
debe remarcar que en algunas ocasiones, suele ser conveniente emplear una
regla de certeza adicional para que sea multiplicada por μi . Como la certeza
representa nuestra confianza a priori en la aplicabilidad de cada regla,
normalmente tiene un valor entre cero y uno. Si para una regla, su certeza es de
0.1, se puede expresar que no estamos muy seguros del conocimiento que
representa, mientras que una certeza de 0.99, estamos muy seguros de que la
82
información presentada sea altamente confiable. Esto concluye el proceso de
matching de la entrada de información, con la premisa de las reglas.
A13. PASO DE INFERENCIA
Existen dos alternativas estándares para desarrollar el proceso de inferencia, una
involucra el uso de los conjuntos difusos implicados y el otro que utiliza todos los
conjuntos de todo el algoritmo difuso.
2. Alternativa 1. Determinando los conjuntos difusos implicados. El paso de
calcular la inferencia es realizado a través de tomar cada regla i-ésima
( j , k ,… ,l ; p ,q )i en el conjuntos difuso implicada ~Bqi con función de membresía:
μ~Bqi( yq)=μi (u1 , u2 ,…, un )¿ μ~B qp
( yq) . El conjunto difuso implicado ~Bqi específica
que el nivel de certeza de la salida debe ser una salida crisp yq dentro del
universo de discurso Y q , tomando en consideración sólo la regla i-ésima.
3. Alternativa 2. Determinación de todos los conjuntos difusos implicados.
Alternativamente, el mecanismo de inferencia puede, además, calcular el
conjunto difuso total implicado ~Bq con función de membresía
μ~Bq( yq)=μ~B q1( yq)⊕ μ~Bq2
( yq )⊕⋯⊕μ~Bqp1( yq ) que representa la conclusión alcanzada
al considerar todas las reglas en la base de reglas en el mismo tiempo.
A14.DEFUSIFICACIÓN
Existe una gama amplia de estrategias para obtener la defusificación del proceso
de control estudiado hasta el momento. Cada uno provee una forma para extraer
una salida única (denotada por yqcrisp
) basado en los dos métodos caracterizados
para el paso de la inferencia (dependiendo del tipo de estrategia de inferencia
utilizado).
83
A15 .DEFUSIFICACIÓN Y LOS CONJUNTOS DIFUSOS IMPLICADOS
Lo más común como paso inicial en este proceso, es especificar las técnicas de
defusificación simples para los conjuntos difusos implicados ~Bqi:
Centro de Gravedad (COG, por sus siglas en inglés). Una valor crisp yqcrisp
es
elegida utilizando el centro del área y el área de cada uno de los conjuntos
difusos implicados, y está dado por:
yqcrisp=
∑i=1
R
biq∫Y q
μ~Bqi ( yq )dyq
∑i=1
R
∫Y q
μ~Bqi ( yq )dy q(A.19)
Donde R es el número de reglas, b iqes el centro del área de la función de
membresía Bpq
asociada con el conjunto difuso asociado ~Bqi para la i-ésima regla.
( j , k ,… ,l ; p ,q )i y ∫Y q
μ~Bqi (yq )dyq
denota el área bajo μ~Bqi (
yq ) . Note que el algoritmo
COG es fácil de calcular dado que existen formas simplificadas para calcular el
valor del área ∫Y q
μ~Bqi (yq )dyq
. Además, obsérvese que el área debajo de cada
conjunto difuso implicado debe ser calculada, entonces el área bajo cada función
de membresía debe ser finita. De la misma forma, note que el valor de salida para
el sistema difuso debe estar definido por lo que:
∑i=1
R
∫Y q
μ~Bqi ( yq )dy q¿0 (A.20)
Para todos los ui o los yqcrisp
que no estén propiamente definidos. Este valor debe
ser diferente de cero si existe alguna regla que esté encendida para todas las
posibles combinaciones de la base de reglas, considerando también las relaciones
de las entradas y las salidas.
84
Centro promedio. Un valor de salida crisp yqcrisp
se elige utilizando los centros de
cada una de las funciones de membresía de salida y la certeza máxima de
cada una de las conclusiones representadas con cada uno de los conjuntos
difusos, y está dada por:
yqcrisp=∑i=1
R
biqsupY qμ~B qi
∑i=1
R
supYqμ~Bqi
(A.21)
Donde “sup” significa supremo (el último límite superior de un conjunto de datos o
bien de una función). Aquí el sup μ ( x ) puede ser visto o entendido como el valor
más alto de μ ( x ) . También b iq es el centro del área de la función de membresía de
Bpq
asociada con el conjunto difuso asociado ~Bqi para la i-ésima regla. Note que el
sistema difuso puede ser definido mientras que:
∑i=1
R
supYqμ~Bqi ¿0 (A.22)
Para todas las ui .
También, note que supY qμ~Bqi es un término sencillo de calcular dado que si
μ~Bqi(x )=1
para al menos un yq , entonces, para muchas estrategias de inferencia,
tenemos:
supY qμ~Bqi =μi (u1, u2 ,…, un ) (A.23)
Que también puede ser evaluado en el proceso del matching. Más aún, la fórmula
para la defusificación es:
yqcrisp=∑i=1
R
biq μi (u1 , u2 ,…, un)
∑i=1
R
μi (u1 , u2 ,…, un)(A.24)
85
Donde debemos asegurar que μi (u1 ,u2 ,…, un )≠0 para todas las entradas.
También note que esto implica que la forma de la función de membresía para los
conjuntos difusos de la salida no importa, se pueden utilizar singleton
apropiadamente colocados.
A17.REPRESENTACIÓN MATEMÁTICA DE LOS SISTEMAS DIFUSOS
Note que cada fórmula para la defuzificación en la sección pasada está provista de
una descripción matemática de un sistema difuso. Hay muchas formas de
representar una de las operaciones de un sistema difuso con fórmulas
matemáticas para el caso donde la defuzificación del centro promedio es usada
para un sistema tipo MISO. Una idea similar se aplica par algunos de las otras
estrategias de defuzificación, sistemas difuso tipo MIMO, y sistemas difusos tipo
Takagi- Sugeno.
Asumiendo que usamos Defuzificación por centro promedio entonces, la fórmula
que describirá la salida es:
y=∑i=1
R
b iμ i
∑i=1
R
μi
(A.25)
Se observa que no aparece el superíndice “crisp” ni el subíndice “q” en y
(comparándola con la ecuación A.21). Entonces se quita el superíndice “q ” de b i . El índice q no es muy grande en ambos casos, considerando que se trata de un
sistema MISO, por lo tanto sucederá mientras se tengan mucha entradas y sólo
una salida.
Siendo más explícito en la ecuación (A.23), primero definimos la función de
membresía μi en términos de funciones de membresía individuales que describen
a cada uno de los términos premisos. Suponiendo que se usa el producto para
representar la unión de los premisos de cada regla y suponiendo que se utiliza una
86
función de membresía triangular donde, μ jL (u j ) (μ jR (u j )) es la parte “izquierda”
(“derecha”), de muchas de las funciones de membresía en la entrada j-ésima del
universo de discurso. Se toma μ jc i (u j ) siendo el j-ésimo centro de la función de
membresía para la j-ésima entrada del universo de discurso. En este caso,
definimos μ jL (u j ) , y se añade simplemente el subíndice “ j ” al parámetro de la
función de membresía derecha de la tabla 5.2. En particular, usando c jL y w j
L
denotamos el j-ésimo valor de estos parámetros. Tomando una aproximación
similar para μ jR (u j ) , j=1,2 ,… ,n . Para μ j
c i (u j ) se denota el i-ésimo centro del
triángulo (el ancho de la base del triángulo) en la j-ésima entrada del universo de
discurso.
Suponiendo que se usan todas las combinaciones posibles de las funciones de
membresía de entrada para formar las reglas, y que cada premisa tenga un
término asociado con todas y cada una de las entradas del universo de discurso,
la descripción del sistema difuso está dado en la ecuación (A.26) por:
y=b1∏
j=1
n
μ jL (u j )+b2μ1
c1∏j=2
n
μ jL (u j )+⋯
∏j=1
n
μ jL (u j )+μ1
c1∏j=2
n
μ jL (u j )+⋯
(A.26)
El primer término en el numerador es b1μ1 en la ecuación anterior, aquí llamada la
primera regla a la que contienen los términos de la premisa que son descritos por
la función de membresía μ jc i (u j ) , j=1,2 ,…, n . El segundo término en el
numerador es b2μ2 y se usaμ1c i (u1 ) en el primer universo de discurso y la parte
extrema izquierda de los otros universos de discurso. Continuando de manera
similar, la suma en el numerador (y denominador) que incluyen todas las posibles
combinaciones de las funciones de membresía de entrada, y esto define la μi en
la ecuación (A.23).
87
Se necesitan definir las reglas resultantes de todas las posibles combinaciones
dadas por las funciones de membresía de entrada, de las cuales hay tres clases
(izquierda, centro derecha); la representación matemática explícita del sistema
difuso es algo complicada. Para evitar algunas complicaciones, primero se
especifica una función simple que represente los tres tipos de funciones de
membresía de entrada. Suponiendo que en la j-ésima entrada del universo de
discurso se numeran las funciones de membresía de entrada de izquierda a
derecha como 1,2 ,…, N j , donde N j es el número de funciones de membresía de
entrada en la j-ésima entrada del universo de discurso. Una función de membresía
simple que representa los tres tipos es:
μ ji (u j )=¿¿ (A.27)
Una aproximación similar puede ser usada para las funciones de membresía
Gaussianas. Retomando ( j , k ,… ,l , p, q )i que denota la i-ésima regla. Es esta notación
los índices es (j,k,…,l) están en el rango 1≤ j≤N1 , 1≤k≤N 2 ,…,1≤l≤N n y
especificando cada valor lingüístico usado en cada entrada del universo de
discurso. Correspondientemente, cada índice (j, k,…, l), también especifica los
valores de los números lingüísticos de la funciones de membresía de entrada,
usadas en cada entrada del universo de discurso.
Tomamos.
b ( j , k ,… , l , p , q )i (A.28)
Denotando el centro de las funciones de membresía de entrada para la i-ésima
regla. Notamos que usando “i ” en la notación (j,k,…,l) simplemente como la
etiqueta para cada regla. Por lo tanto cuando tenemos i , conocemos los valores
88
de j,k,…,l,p y q. dado que la descripción explícita del sistema difuso en la ecuación
(A.25) está dada por:
y=∑i=1
R
b( j , k ,…, l ; p , q )i μ1
j μ2k⋯μn
l
∑i=1
R
μ1j μ2
k⋯μnl
(A.29)
Esta fórmula muestra claramente el uso del producto que representa la premisa.
Note que usando todas las posibles combinaciones de las funciones de
membresía de entrada, se forman las reglas, que son
R=∏j=1
n
N j (A.30)
y por lo tanto tomamos:
∑j=1
n
2N j+∏j=1
n
N j (A.31)
Que representan los parámetros que describen el sistema difuso ya que aquí son
dos parámetros para cada función de membresía de entrada y R , son los centros
de la función de membresía de salida. Para algunas aplicaciones, sin embargo,
todas las funciones de membresía de salida no son distintas. Definiendo las
posiciones de los centros b( j , k⋯. l . p .q )
entonces se toman sólo los necesarios para
arreglar el número de valores dados, que deben de ser menor a R , esta
aproximación es para especificarlos como una función de los índices de las
funciones de membresía de entrada.
89
ANEXOS
ANEXO 1 MODELO DINAMICO COMPLETO DEL ROBOT
90
91
92
93
ANEXO 2 INTERFAS DE COMUNICACIÓN
94
Anexo 3 algoritmo empleado en el PIC
Device 16F877AXTAL 4Declare HSERIAL_BAUD = 4800
Declare ADIN_RES 10 ' 10-bit result required Declare ADIN_TAD FRC ' RC OSC chosen Declare ADIN_STIME 50 ' Allow 50us sample time
// configuración de la LCD.Declare LCD_DTPORT PORTBDeclare LCD_INTERFACE 4Declare LCD_DTPIN PORTB.4Declare LCD_ENPIN PORTB.1Declare LCD_RSPIN PORTB.0Declare LCD_LINES 4
// declaración de las variables.Dim cont As ByteDim conta As ByteDim valor As ByteDim WRD As Word Dim M1 As Word Dim M2 As WordDim M3 As WordDim M4 As WordDim M5 As Word Dim A1 As WordDim A2 As WordDim A3 As WordDim A4 As Word
// configuración de los puertos.TRISB=0TRISD=0TRISE=0PORTD=0PORTE=0
cont =0
ciclo:
// activar los canales analógicos.A1=ADIn 0A2=ADIn 1A3=ADIn 2A4=ADIn 3
Print At 1,1,DEC4 A1Print At 2,1,DEC4 A2Print At 2,5,DEC4 A3Print At 3,1,DEC4 A4
95
// envia las posiciones de los potenciómetros a MATLAB.
HSerOut ["A1=",DEC4 A1, 9,"A2=",DEC4 A2, 9,"A3=",DEC4 A3, 9,"A4=",DEC4 A4, 13,10]timeout1:// recibe las posiciones deseadas enviadas por el controlador en MATLAB
HSerIn 100,timeout1,[Wait ("M1="),Dec M1] Print At 1,1,"Motor 1" Print At 2,1,DEC3 M1 timeout2:HSerIn 100,timeout2,[Wait ("M2="),Dec M2] Print At 1,1,"Motor 2" Print At 2,1,DEC3 M2 timeout3:HSerIn 100,timeout3,[Wait ("M3="),Dec M3] Print At 1,1,"Motor 3" Print At 2,1,DEC3 M3timeout4: HSerIn 100,timeout4,[Wait ("M4="),Dec M4] Print At 1,1,"Motor 4" Print At 2,1,DEC3 M4 timeout5:HSerIn 100,timeout5,[Wait ("M5="),Dec M5] Print At 1,1,"Motor 5" Print At 2,1,DEC3 M5
'''''Conversion a PWM
ciclo1:If M1>255 Then High PORTD.0 Low PORTD.1Else High PORTD.1 Low PORTD.0EndIfIf M2>255 Then High PORTD.2 Low PORTD.3 Else High PORTD.3 Low PORTD.2EndIfIf M3>255 Then High PORTD.4Low PORTD.5Else High PORTD.5 Low PORTD.4EndIfIf M4>255 Then High PORTD.6 Low PORTD.7
96
Else High PORTD.7 Low PORTD.6EndIfIf M5>255 Then High PORTE.0 Low PORTE.1Else High PORTE.1 Low PORTE.0EndIfM1= M1-255M1= Abs M1M2= Abs M2M3= Abs M3M4= Abs M4M5= Abs M5If cont>M1 Then Low PORTD.0 Low PORTD.1EndIf
If cont>M2 Then Low PORTD.2 Low PORTD.3EndIf
If cont>M3 Then Low PORTD.4 Low PORTD.5EndIf If cont>M4 Then Low PORTD.6 Low PORTD.7EndIf If cont>M5 Then Low PORTE.0 Low PORTE.1EndIf cont =cont+1
If cont>255 Thencont=0GoTo cicloEndIf
GoTo ciclo1
97
Anexo 4 recepción de la posición en matlab
function y = recosntruccion1(u)uM1=u(1);M2=u(2);M3=u(3);M4=u(4);M5=u(5); if M1<0 D1=0;else D1=1;endif M2<0 D2=0;else D2=1;endif M3<0 D3=0;else D3=1;endif M4<0 D4=0;else D4=1;endif M5<0 D5=0;else D5=1;end M1=abs(M1);M2=abs(M2);M3=abs(M3);M4=abs(M4);M5=abs(M5); M1=round((M1*512)/5);M2=round((M2*512)/5);M3=round((M3*512)/5);M4=round((M4*512)/5);M5=round((M5*512)/5); SM1=num2str(M1);SM2=num2str(M2);SM3=num2str(M3);SM4=num2str(M4);SM5=num2str(M5);
98
[m1 n1]=size(SM1);[m2 n2]=size(SM2);[m3 n3]=size(SM3);[m4 n4]=size(SM4);[m4 n5]=size(SM5); if n1==1 SM1=strcat('00',SM1);endif n2==1 SM2=strcat('00',SM2);endif n3==1 SM3=strcat('00',SM3);endif n4==1 SM4=strcat('00',SM4);endif n5==1 SM5=strcat('00',SM5);end if n1==2 SM1=strcat('0',SM1);endif n2==2 SM2=strcat('0',SM2);endif n3==2 SM3=strcat('0',SM3);endif n4==2 SM4=strcat('0',SM4);endif n5==2 SM5=strcat('0',SM5);end s1=strcat('M1=',SM1,'------','D1=',num2str(D1),'-----','M2=',SM2,'-----','D2=',num2str(D2),'-----','M3=',SM3,'-----','D3=',num2str(D3),'-----','M4=',SM4,'-----','D4=',num2str(D4),'-----','M5=',SM5,'-----','D5=',num2str(D5),'-----',10,13) t=uint8(s1);y=double(t);
99
Anexo 5 envió de la señal de control al PIC
function y=recosntruccion2(u) u=char(u)a1=u(1,4:7);a2=u(1,12:15);a3=u(1,20:23);a4=u(1,28:31); s1=str2num(a1)s2=str2num(a2)s3=str2num(a3)s4=str2num(a4) y=[s1 s2 s3 s4]
100
Recommended