Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

131
“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

Transcript of Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

Page 1: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

“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

Page 2: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 3: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 4: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 5: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 6: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 7: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 8: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 9: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 10: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 11: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 12: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 13: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 14: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 15: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 16: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 17: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 18: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 19: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 20: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 21: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

~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

Page 22: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 23: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 24: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 25: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 26: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 27: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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°

Page 28: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 29: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 30: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 31: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 32: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 33: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 34: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 35: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 36: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 37: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 38: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 39: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 40: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 41: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 42: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 43: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 44: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

Figura 3.14 Gráfica de la posición del sistema

Figura 3.15 Gráfica de la velocidad del sistema

38

Page 45: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 46: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 47: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 48: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

[−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

Page 49: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 50: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

Figura 5.4 Estructura del controlador difuso

4.4 CONTROLADOR POR MODOS DESLIZANTES DIFUSOEl controlador por modos deslizantes difuso tiene la siguiente estructura:

44

Page 51: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 52: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 53: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 54: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 55: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 56: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 57: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 58: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 59: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 60: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 61: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 62: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 63: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 64: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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.

Page 65: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 66: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 67: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 68: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

Figura 6.1 Gráfica de la posición de los eslabones.

62

Page 69: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

Figura 6.2 Gráfica de la velocidad.

Como podemos observar en las graficas de posición nuestro sistema tiende

63

Page 70: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

6.2 RESULTADOS DE EL OBSERVADOR POR MODOS DESLIZANTES

Figura 6.3 Gráfica de la posición.

64

Page 71: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 72: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

66

Page 73: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

67

Page 74: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 75: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 76: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

[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

Page 77: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

[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

Page 78: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 79: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 80: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 81: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 82: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 83: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

∏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

Page 84: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 85: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 86: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 87: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 88: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

μ~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

Page 89: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 90: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 91: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 92: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 93: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 94: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 95: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 96: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

ANEXOS

ANEXO 1 MODELO DINAMICO COMPLETO DEL ROBOT

90

Page 97: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

91

Page 98: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

92

Page 99: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

93

Page 100: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

ANEXO 2 INTERFAS DE COMUNICACIÓN

94

Page 101: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 102: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

// 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

Page 103: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 104: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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

Page 105: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

[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

Page 106: Reporte Final de Estancia Luis David Carrillo Maldonado - Copia

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