Está en la página 1de 121

UNIVERSIDAD NACIONAL DE INGENIER IA

FACULTAD DE INGENIER ELECTRICA Y ELECTRONICA IA

DISENO E IMPLEMENTACION DE UN CONTROLADOR FUZZY ADAPTIVO PARA UN BRAZO ROBOTICO DE 3GL.

TESIS
PARA OPTAR EL GRADO DE MAESTRO EN CIENCIAS MENCION: AUTOMATICA E INSTRUMENTACION

PRESENTADA POR:

HUBERT HUGO VENTURA HINOSTROZA


LIMA - PERU 2011

A mi madre Magna que se convirti en mi mejor amiga y o a mi t Jos que se convirti en un padre. o e o

AGRADECIMIENTO

Quisiera expresar mi agradecimiento al Dr. Arturo Rojas Moreno y M. Sc. Fernando Merchn, por su apoyo y por sentar las bases de una formacin acadmica a o e slida. o A la Seccin de Post Grado de la FIEE-UNI, por brindarme las facilidades del o caso para poder implementar este trabajo de investigacin. o A los buenos profesores de la Maestr en Automtica e Instrumentacin. Las a a o clases impartidas por los mismos me han permitido tener un concepto claro de los sistemas industriales automatizados.

UNIVERSIDAD NACIONAL DE INGENIER IA


Facultad de Ingenier Elctrica y Electrnica a e o Dise o e Implementacin de un Controlador Fuzzy Adaptivo para un n o Brazo Robtico de 3GL. o TESIS Para optar el grado de Maestro en Ciencias Mencin: Automtica e Instrumentacin o a o PRESENTADA POR: Hubert Hugo Ventura Hinostroza LIMA PERU

RESUMEN

En esta investigacin se realiza el diseo e implementacin de un controlador o n o fuzzy adaptativo directo con modelo referencial para un sistema MIMO no lineal como lo es el brazo robtico de tres grados de libertad, tal controlador propone mejorar el o tiempo de estabilizacin de un controlador adaptativo convencional. o La estructura del modelo fuzzy representado es el Takagi-Sugeno, la ley de control est compuesto de dos partes una de cambio lento y la otra de cambio rpido, a a el primero se implementa con un controlador fuzzy adaptativo con modelo referencial y el segundo con una ganancia proporcional al vector de error de seguimiento, con este ultimo se intenta mejorar el tiempo de estabilizacin. Por otro lado para lidiar con la o incertidumbre paramtrica o cambio en la estructura de la planta la ley de adaptacin e o modica los parmetros del controlador fuzzy adaptativo con modelo referencial, de a esta manera, siempre, se logra un seguimiento asinttico del modelo referencial. o Para vericar la validez y efectividad del controlador fuzzy adaptativo directo iv

con modelo referencial, propuesto, se implement sobre un brazo robtico de tres grados o o de libertad y se compar su rendimiento con un controlador adaptativo convencional o Kauman. Los resultados arrojaron un mejor desempeo del controlador propuesto n cuanto mayores eran las incertidumbres paramtricas, esto por una mayor capacidad e de aprendizaje mostrado. La implementacin de los controladores se realiz sobre una PC, con sistema o o operativo Windows XP y el software de aplicacin LabVIEW, donde se integr el o o interfaz hombre mquina para ver el desempeo en tiempo real de las variables de a n inters, las posiciones, del brazo robtico de 3GL. e o

UNIVERSIDAD NACIONAL DE INGENIERIA


Facultad de Ingenier Elctrica y Electrnica a e o Design and Implementation of Adaptive Fuzzy Controller for a Robotics Arm of 3LD. THESIS To obtain the Degree of Master of Science Mention: Automatic and Instrumentation BY: Hubert Hugo Ventura Hinostroza LIMA PERU

ABSTRACT

POR HACER

vi

TABLA DE CONTENIDO

LISTA DE FIGURAS LISTA DE TABLAS CAP ITULO 1. INTRODUCCION

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 5

6 7 8 11 11

1.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4. Organizacin de la Tesis . . . . . . . . . . . . . . . . . . . . . . . . . . o CAP ITULO 2. MODELADO DEL BRAZO ROBOTICO 3GL 2.1. Formulacin de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . o 2.2. Ecuaciones de Energ de la de la Planta - Robot . . . . . . . . . . . . a 2.2.1. Ecuaciones de Energ de la Columna . . . . . . . . . . . . . . . a 2.2.2. Ecuaciones de Energ del Brazo a . . . . . . . . . . . . . . . . .

13 13 16 18 18 19 20 22 22 vii

2.2.3. Ecuaciones de Energ del Antebrazo . . . . . . . . . . . . . . . a 2.2.4. Ecuaciones de Energ Totales del Brazo Robtico de 3GL. . . . a o 2.3. Ecuaciones de Energ de los Actuadores - Servomotores . . . . . . . . a 2.3.1. Modelo del Subsistema Mecnico . . . . . . . . . . . . . . . . . a

2.3.2. Modelo del Subsistema Elctrico . . . . . . . . . . . . . . . . . . e 2.3.3. Conversin de Energ Elctrica en Mecnica . . . . . . . . . . . o a e a 2.4. Modelo Dinmico mediante formulacin de Lagrange . . . . . . . . . . a o 2.5. Modelo Dinmico en el Espacio de Estados . . . . . . . . . . . . . . . . a CAP ITULO 3. CONTROLADOR ADAPTATIVO FUZZY 3.1. Controlador MRAC Clsico . . . . . . . . . . . . . . . . . . . . . . . . a 3.1.1. Planta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2. Modelo de Referencia . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3. Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.4. Ley Adaptativa . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Controlador MRAC Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1. Planta Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2. Modelo de Referencia Fuzzy . . . . . . . . . . . . . . . . . . . . 3.2.3. Controlador Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.4. Ley Adaptativa Fuzzy . . . . . . . . . . . . . . . . . . . . . . . 3.2.5. Implementacin del Algoritmo . . . . . . . . . . . . . . . . . . . o 3.3. Controlador MRAC Fuzzy Propuesto . . . . . . . . . . . . . . . . . . . CAP ITULO 4. SIMULACION SISTEMA DE CONTROL 4.1. Condiciones de la Simulacin . . . . . . . . . . . . . . . . . . . . . . . . o 4.2. Simulacin Controlador MRAC Fuzzy Propuesto . . . . . . . . . . . . . o CAP ITULO 5. IMPLEMENTACION EN TIEMPO REAL

24 24 25 27

28 29 29 30 31 33 33 33 34 34 36 37 37

42 42 44

47

viii

5.1. Planta - Robot 3GL

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

47 49 52 55 63 67 69 70 70 71 71 73

5.2. Sensor - Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3. Interfaz de Entrada - PCI6602 . . . . . . . . . . . . . . . . . . . . . . . 5.4. Controlador Multivariable - Computadora Personal . . . . . . . . . . . 5.5. Interfaz de Salida - PCI6722 . . . . . . . . . . . . . . . . . . . . . . . . 5.6. Mando de Potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7. Actuador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8. Resultados Experimentales de la Implementacin - Tiempo Real . . . . o 5.8.1. Diagrama Elctrico . . . . . . . . . . . . . . . . . . . . . . . . . e 5.8.2. Diagrama de Control Automtico . . . . . . . . . . . . . . . . . a 5.8.3. Interfaz Hombre-Mquina . . . . . . . . . . . . . . . . . . . . . a 5.8.4. Control Adaptativo Fuzzy - MRAC Fuzzy Propuesto . . . . . . CAP ITULO 6. COMPARACION CON MRAC KAUFFMAN 6.1. Controlador MRAC Kauman . . . . . . . . . . . . . . . . . . . . . . . 6.1.1. Planta Aumentada . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.2. Modelo Referencial Aumentado . . . . . . . . . . . . . . . . . . 6.1.3. Controlador Kauman . . . . . . . . . . . . . . . . . . . . . . . 6.1.4. Ley Adaptativa Kauman . . . . . . . . . . . . . . . . . . . . . 6.1.5. Simulacin del MRAC Kauman . . . . . . . . . . . . . . . . . o 6.1.6. Implementacin del MRAC Kauman . . . . . . . . . . . . . . . o 6.2. Comparacin MRAC Fuzzy Propuesto y MRAC Kauman . . . . . . . o CAP ITULO 7. CONCLUSIONES Y RECOMENDACIONES

79 79 79 80 81 82 83 85 91

96

ix

7.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2. Recomendaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BIBLIOGRAF IA.

96 96

97 APENDICE A. LISTADO DE PROGRAMAS DE SIMULACION A.1. Simulacin MRAC Fuzzy Propuesto - Cap o tulo 4 . . . . . . . . . . . . . 99 99

A.2. Simulacin MRAC Kauman - Cap o tulo 6 . . . . . . . . . . . . . . . . 105

LISTA DE FIGURAS

2.1. Manipulador robtico 3GL- Estructura. . . . . . . . . . . . . . . . . . . . . o 2.2. Manipulador robtico 3GL- Rotaciones. . . . . . . . . . . . . . . . . . . . . o 2.3. Manipulador robtico 3GL- Ejes de referencia. . . . . . . . . . . . . . . . . o 2.4. Actuador del manipulador robtico de 3GL. . . . . . . . . . . . . . . . . . o

14 15 16 23

3.1. Esquema del controlador adaptativo. . . . . . . . . . . . . . . . . . . . . . 3.2. Esquema del MRAC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3. Conguracin de un MRAFC. . . . . . . . . . . . . . . . . . . . . . . . . . o 3.4. Conguracin del MRAFC propuesto . . . . . . . . . . . . . . . . . . . . . o

28 29 37 41

4.1. Propuesta de set points para la simulacin MRAC fuzzy modicado. . . o 4.2. Posicin del codo q1 y seal de control u1 , Simulacin - Fuzzy Adaptivo. . o n o 4.3. Posicin del hombro q2 y seal de control u2 , Simulacin - Fuzzy Adaptivo. o n o

43 44 45

4.4. Posicin de la cintura q3 y seal de control u3 , Simulacin - Fuzzy Adaptivo. 46 o n o

5.1. Sistema de Control en Tiempo Real . . . . . . . . . . . . . . . . . . . . . . 5.2. Brazo Robtico - Proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . o 5.3. Encoder en Cuadratura. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47 48 50

5.4. Principio de funcionamiento del encoder. . . . . . . . . . . . . . . . . . . . 5.5. Canales de un encoder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6. Pines de conexin del encoder. . . . . . . . . . . . . . . . . . . . . . . . . . o 5.7. Tarjeta PCI - Contador de Alta Velocidad. . . . . . . . . . . . . . . . . . . 5.8. Tarjeta PCI - Contador de Alta Velocidad. . . . . . . . . . . . . . . . . . . 5.9. Pines de la tarjeta PCI - contador de alta velocidad. . . . . . . . . . . . . 5.10. Implementacin de Lgica de seguridad entrada y salida . . . . . . . . . . o o 5.11. Esquema del controlador fuzzy adaptivo . . . . . . . . . . . . . . . . . . . 5.12. Implementacin del Modelo Referencial . . . . . . . . . . . . . . . . . . . . o 5.13. Implementacin del Mecanismo de Ajuste . . . . . . . . . . . . . . . . . . o 5.14. Funcin de membres de x1 , x2 y x3 . . . . . . . . . . . . . . . . . . . . . o a 5.15. Implementacin del Controlador Fuzzy Adaptivo (parte 1) . . . . . . . . . o 5.16. Implementacin del Controlador Fuzzy Adaptivo (parte 2) . . . . . . . . . o 5.17. Implementacin del Controlador Fuzzy Adaptivo (parte 3) . . . . . . . . . o 5.18. Tarjeta PCI de Salida Anloga. . . . . . . . . . . . . . . . . . . . . . . . . a 5.19. Pines de la tarjeta PCI de salida anloga. . . . . . . . . . . . . . . . . . . a 5.20. Mando de Potencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.21. Potencia de Fuente Externa. . . . . . . . . . . . . . . . . . . . . . . . . . . 5.22. Actuador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.23. Diagrama elctrico de sensores. . . . . . . . . . . . . . . . . . . . . . . . . e

50 51 51 52 53 54 56 57 59 61 62 63 64 65 65 66 67 68 69 70

5.24. Diagrama elctricos de actuadores. . . . . . . . . . . . . . . . . . . . . . . e 5.25. Diagrama de control automtico. . . . . . . . . . . . . . . . . . . . . . . . a 5.26. Pantalla de control y modicacin de parmetros del controlador fuzzy o a adaptivo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.27. Pantalla de datos histricos. . . . . . . . . . . . . . . . . . . . . . . . . . . o 5.28. Propuesta de set point para la experimentacin. . . . . . . . . . . . . . . o 5.29. Posicin del codo q1 y seal de control u1 , Fuzzy Adaptivo. . . . . . . . . . o n 5.30. Posicin del hombro q2 y seal de control u2 , Fuzzy Adaptivo. . . . . . . . o n 5.31. Posicin del cintura q3 y seal de control u3 , Fuzzy Adaptivo. . . . . . . . o n

71 71

72 74 75 76 77 78

6.1. Conguracin de un MRAC Barkana . . . . . . . . . . . . . . . . . . . . . o 6.2. Conguracin de un MRAC Kauman . . . . . . . . . . . . . . . . . . . . o 6.3. Propuesta de set points para la simulacin MRAC Kauman. . . . . . . o

79 81 83

6.4. Posicin del codo q1 y seal de control u1 , Simulacin - Adaptivo Kauman. 85 o n o 6.5. Posicin del hombro q2 y seal de control u2 , Simulacin - Adaptivo Kauman. 86 o n o 6.6. Posicin de la cintura q3 y seal de control u3 , Simulacin - Adaptivo Kauo n o man. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7. Implementacin del controlador adaptivo Kauman (parte 1) . . . . . . . . o 6.8. Implementacin del controlador adaptivo Kauman (parte 2) . . . . . . . . o 6.9. Pantalla de control y modicacin de parmetros del controlador adaptivo o a Kauman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10. Posicin del codo q1 y seal de control u1 , Adaptivo Kauman. o n . . . . . . 89 90 87 87 88

6.11. Posicin del codo q2 y seal de control u2 , Adaptivo Kauman. o n 6.12. Posicin del codo q3 y seal de control u3 , Adaptivo Kauman. o n

. . . . . . . . . . . .

91 92

6.13. Comparacin: Fuzzy adaptivo y Adaptivo Kauman - Set point codo o Kauman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14. Comparacin: Fuzzy adaptivo y Adaptivo Kauman - Set point hombro o 6.15. Comparacin: Fuzzy adaptivo y Adaptivo Kauman - Set point cintura . o 93 94 95

LISTA DE TABLAS

2.1. Parmetros y variables del brazo robtico de 3GL . . . . . . . . . . . . . . a o

17

CAP ITULO 1 INTRODUCCION


Este trabajo de investigacin se ocupa del diseo e implementacin de un Siso n o tema de Control de Posicin, Fuzzy Adaptativo Directo con Modelo Referencial, para o un Manipulador Esfrico de tres grados de libertad, al cual se le denominar de aqu en e a adelante Brazo Robtico de 3GL (Grados de Libertad). o Por denicin un controlador Fuzzy trabaja bien en condiciones donde se tiene o poca o nula informacin del modelo de la planta, pero se cuenta con informacin util o o del experto humano que lo opera, sin embargo este enfoque tiene algunas desventajas: uno de ellos es que el diseo del Control Fuzzy es usualmente realizado de una manera n ad hoc donde frecuentemente es dif seleccionar algunos parmetros del controlador cil a (p.e. las funciones de membres otro de ellos es que el controlador Fuzzy construia), do para la planta nominal puede comportarse inadecuadamente si ocurre variaciones impredecibles en los parmetros de la planta [8]. Para corregir estas desventajas se a propuso el controlador Fuzzy Adaptativo Directo e Indirecto los cuales responden satisfactoriamente a incertidumbres paramtricas y no paramtricas de la planta. En este e e trabajo de tesis se presenta el Sistema de Control de Posicin del tipo Fuzzy Adaptao tivo Directo con Modelo Referencial que es conocido en el habla inglesa como Model Reference Adaptive Fuzzy Control (MRAFC), se emplear este acrnimo cada vez que a o se reera a este controlador. El objetivo principal es disear e implementar un Controlador Fuzzy Adaptativo n Directo con Modelo Referencial para controlar las posiciones del Brazo Robtico de o 3GL, el cual es catalogado como un sistema MIMO (Multiple Imput Multiple Output). La implementacin del algoritmo de control se realiza sobre una computadora personal o y se desarrolla en LabView para modicar los parmetros del controlador y ver el a rendimiento de las variables de inters, las posiciones, en tiempo real. e Las principales caracter sticas del MRAFC son:

1. Es un controlador no lineal que tiene la capacidad de aprendizaje, no necesita conocer el modelo de la planta para alcanzar los set points slo necesita conocer o 6

el modelo referencial. 2. Las caracter sticas del rendimiento del controlador MRAFC como: el tiempo de establecimiento, overshoot se encuentran impl citas en las caracter sticas que se le da al modelo referencial. 3. Los parmetros del controlador son: las ganancias directa, las ganancias de rea alimentacin de estados y las ganancias proporcional al error. Las dos primeras o pertenecen a un cambio lento del controlador y la ultima pertenece a un cambio rpido del controlador. a 4. Las ganancias directa y las ganancias de realimentacin de estados se puede o inicializar con el valor de cero y a medida que el sistema de control en lazo cerrado alcanza los punto de consigna estos valores van alcanzando su valor ptimo, con o esto queda de maniesto su capacidad de aprendizaje. Cuando el comportamiento del sistema de control en lazo cerrado es el mismo que la del modelo referencial se dice, que las ganancias del controlador han alcanzado su valor ptimo. o 5. Las ganancias proporcional al error se inicializan con los valores que cumplan las mismas caracter sticas dinmicas del modelo referencial, es decir, tiene un a seguimiento asinttico del modelo referencial. o

Para evaluar el rendimiento del controlador MRAFC, se realiza una comparacin o con el controlador adaptativo convencional Kauman, ambos se prueban sobre el Brazo Robtico de 3GL y se muestra los resultados y conclusiones encontrados. o

1.1.

Planteamiento del problema


En lo que respecta al control del brazo robtico se ha llegado a una madurez, o

desde el punto de vista de la Teor de Control Moderna, pero con la incursin de la a o Inteligencia Articial (1948), se han abierto nuevos campo de investigacin en la Teor o a de Control que se maniestan en los llamados controladores fuzzy, controladores con redes neuronales, controladores neuro-fuzzy, controladores h bridos, etc., los cuales, han ampliado el rango de aplicacin, pues ahora, se puede tratar con plantas o procesos o cuyo modelo es desconocido, cambiante y complejo. 7

Las causas que afectan el rendimiento del sistema de control de posicin de o un Brazo Robtico de 3GL, es la falta de conocimiento exacto de la planta, pues se o comporta como un sistema variable en el tiempo, debido a la variacin de la carga o y a la incertidumbre paramtrica e incertidumbres no lineales, lo cual perjudica el e rendimiento del sistema de control. Este problema ha sido tratado por la Teor de Control Moderna, pero tambin a e puede ser tratado por la combinacin de la Teor de Control y la Inteligencia Articial, o a los cuales, ofrecen nuevas herramientas para mejorar el rendimiento del sistema de control de posicin de un Brazo Robtico de 3GL. Una de estas herramientas es el o o Controlador Fuzzy Adaptivo, el cual, se desarrolla en esta investigacin. o Las especicaciones de diseo del controlador Fuzzy Adaptativo Directo con n Modelo Referencial son los siguientes: 1. Tiempo de estabilizacin de 2 segundos. o 2. Overshoot 0 3. Error en estado estable 0. Se asumir las mismas especicaciones para el controlador Adaptativo convena cional Kauman para luego comparar la dinmica de estos. a

1.2.

Antecedentes
En la Universidad Nacional de Ingenier se ha realizado trabajos de investia

gacin con respecto al Manipulador Esfrico de tres grados de libertad, uno de ellos el o e realizado por Victor Jara el 2010 que hace un Diseo e Implementacin de un Sistema n o de Control Fraccional de posicin del Manipulador Esfrico. Otro, el desarrollado en o e la Ponticia Universidad Catlica del Per por Enrique Arnaez el 2000 que hace un o u Diseo de un controlador Neuronal y Difuso para un brazo robot. n El empleo de la lgica Fuzzy se ha venido desarrollando en el Per desde el ao o u n 2000, muestra de ello es la investigacin sobre implementacin en tiempo real de un o o 8

sistema de control neuro-difuso para el pndulo invertido realizado en la Universidad e Nacional de Ingenier a. Con respecto a los controladores Fuzzy son diversas las investigaciones realizadas hasta el momento en este apartado se pone en relieve lo concerniente a controladores Fuzzy Adaptativos. El controlador Fuzzy mostr xito en algunas reas de aplicacin, sin embargo oe a o presenta desventajas cuando existe variaciones en los parmetros de la planta, lo cual a implica una baja en el rendimiento del controlador, para salvar este problema, Passino [8] propuso un Controlador Adaptativo Fuzzy con Modelo Referencial Inverso, el cual present una mejora en el rendimiento cuando lo prob en un Robot Flexible de dos o o grados de libertad. Sin embargo este tipo de controlador slo puede implementarse para o sistemas desacoplados. Por su parte Li-Xin [9] propuso un controlador Adaptivo Fuzzy Directo, con tipo de inferencia Mamdani, compuesto de dos partes un controlador Fuzzy convencional, un control Supervisorio que se activa solamente cuando el estado del sistema sobrepasaba los l mites permisibles y un Mecanismo de Adaptacin para actualizar los parmetros o a del controlador Fuzzy. La conguracin propuesta por Li-Xin, no requer un modeo a lo matemtico preciso del sistema bajo control, garantizaba la estabilidad global del a sistema en lazo cerrado, en el sentido, de que todas las seales involucradas estaban n uniformemente limitadas, mostraba un buen rendimiento, a pesar, de no contar con reglas del experto humano, pero su aplicacin slo se concentraba en sistemas SISO o o (Simple Input y Simple Output). Si se aplica este controlador a un sistema robtico o multivariable se tendr que asumir lo mismo que hizo Passino, esto es, que cada unin a o o articulacin est desacoplada del otro. o a Al inicio no exist un mtodo riguroso para tratar sistemas que inclu lgica a e an o Fuzzy hasta que Takagi y Sugeno [6], propusieron el mtodo para analizar y disear e n sistemas de control y sistemas de modelamiento de plantas desde una perspectiva Fuzzy. Los modelos fuzzy de la planta representan a sistemas no lineales que son una suma de pesos de algunos sistemas lineales. Basndose en esta estructura, el controlador a fuzzy est compuesto de un nmero de subcontroladores propuestos. Lam [2], siguiendo a u este mtodo, propone una metodolog para disear un controlador fuzzy de estado e a n 9

realimentado donde un sistema no lineal de orden n es representado por un modelo fuzzy de la planta cuyos estados del sistema en lazo cerrado siguen a un modelo de referencia estable denido por el usuario. La metodolog propuesta por Lam no se reere a un controlador Fuzzy Adaptaa tivo, propiamente dicho, pues no existe actualizacin de los parmetros del controlador, o a su aporte radica en el diseo de un controlador Fuzzy Multivariable, es decir, se conn centr en la aplicacin de sistemas MIMO (multiples entrada y multiples salida), donde o o obtuvo resultados satisfactorios. Es con Young [10] que se propone un control Fuzzy Adaptativo Directo con Modelo Referencial, al cual se denomin (MRAFC), para sistema no lineales MIMO o esta estructura est representada por un tipo de inferencia Fuzzy Takagi-Sugeno, la Ley a Adaptativa del MRAFC estima el error del sistema de lgica fuzzy para proporcionar o luego un seguimiento asinttico del Modelo Referencial. El desarrollo de la ley de control o y la ley adaptativa garantiza los l mites de todas las seales y la estabilidad global en n el sistema de lazo cerrado. Cuando Young implementa este controlador Fuzzy Adaptativo Directo con Modelo Referencial sobre un robot manipulador de 2 grados de libertad, lo hace en combinacin con un controlador Proporcional Derivativo (PD), para que la trayectoria de la o articulacin del robot manipulador siga al del modelo de referencia asintticamente, es o o decir, son dos controladores para un mismo objetivo, ello demanda mayor esfuerzo de clculo para el Hardware. a Como parte de nuestra investigacin se implement el controlador MRAFC sin o o la combinacin del controlador PD, observndose que el seguimiento, efectivamente, o a era asinttico, pero lento. Para salvar este problema es que se propone una modicacin o o al controlador Fuzzy Adaptivo Directo con Modelo Referencial, agregndole ganancias a proporcionales al error de las variables de inters, con ello se logra un seguimiento e asinttico rpido del modelo referencial. o a

10

1.3.

Objetivos

Objetivo general

Disear e implementar un controlador fuzzy adaptativo para un brazo robtico n o de 3GL.

Objetivos secundarios Comparar el rendimiento del controlador MRAFC con el controlador adaptivo Kauman. Desarrollar a travs de software actuales y comerciales la implementacin de e o controladores complejos. Acortar la brecha tecnolgica que se tiene con los pa desarrollados. o ses

1.4.

Organizacin de la Tesis o
Esta investigacin est organizado como sigue: o a En el Cap tulo 1 se hace una introduccin al tema de la investigacin y se deo o

sarrolla el planteamiento del problema, los antecedentes y objetivos de la investigacin o y la forma como est organizada. a En el Cap tulo 2 se desarrolla el modelamiento dinmico de la planta, brazo a robtico de 3GL, siguiendo el mtodo propuesto por Lagrange, adems se formula su o e a equivalente en el espacio de estados. En el Cap tulo 3 se trata los fundamentos tericos del controlador Fuzzy Adapo tativo siguiendo los lineamientos de la teor de control. a En el Cap tulo 4 se presentan los resultados de las simulaciones del controlador Fuzzy Adaptativo obtenidos mediante MATLAB bajo ciertas condiciones que se 11

prescriben. En el Cap tulo 5 se describe la implementacin, esto es, la planta, el controo lador, los sensores, los actuadores y las interfaces de entrada y salida. Al desarrollar el controlador se explica de manera detallada el algoritmo de control desarrollado en LabView. Adems se muestra los resultados experimentales de la implementacin en a o tiempo real del sistema de control de posicin Fuzzy Adaptativo. o En el Cap tulo 6, se trata los fundamentos tericos del controlador Adaptativo o convencional Kauman, se presenta los resultados de la simulacin y se muestra los o resultados experimentales de la implementacin en tiempo real. o En el Cap tulo 7 se presenta las conclusiones y recomendaciones con respecto al trabajo desarrollado. Principalmente se compara y discute los resultados obtenidos y se propone temas para futuros trabajos de investigacin relacionados. o Finalmente en el Anexo A se lista los programas de simulacin y se entrega un o CD, donde se encuentran las hojas tcnicas de los servomotores, los controladores de e potencia, los interfaces de entrada y salida (DAQs PCI Nationals Instruments) y las especicaciones de la computadora personal.

12

CAP ITULO 2 MODELADO DEL BRAZO ROBOTICO 3GL


2.1. Formulacin de Lagrange o
La dinmica del robot se ocupa de la relacin entre las fuerzas que actan a o u sobre un cuerpo y el movimiento que en l se origina. Por tanto, el modelo dinmico e a de un robot tiene por objetivo conocer la relacin entre el movimiento del robot y las o fuerzas implicadas en el mismo. Esta relacin se obtiene mediante el denominado modelo dinmico, que establece o a la relacin matemtica entre: o a

La localizacin del robot denida por sus variables articulares o por las coordeo nadas de localizacin de su extremo, y sus derivadas: velocidad y aceleracin. o o Las fuerzas y pares aplicados en las articulaciones (o en el extremo del robot). Los parmetros dimensionales del robot, como longitud, masas e inercias de sus a elementos.

Es importante hacer notar que el modelo dinmico completo de un robot debe a incluir no slo la dinmica de sus elementos (barras o eslabones) sino tambin la propia o a e de sus sistemas de transmisin, de los actuadores y sus equipos electrnicos de mando. o o Estos elementos incorporan al modelo dinmico nuevas inercias, rozamientos, saturaa ciones de los circuitos electrnicos, etc., aumentando an ms su complejidad... [1] o u a

Como planteamiento para la obtencin del modelo se puede usar la formulacin o o Langragiana, basada en consideraciones energticas. Este planteamiento es sistemtico, e a y por tanto, facilita enormemente la formulacin de un modelo tan complejo como el o de un robot. La formulacin Langragiana establece la ecuacin: o o 13

L = Ec Ep d L L i = dt qi qi Con L : Funcin Lagrangiana. o Ec = V : Energ cintica. a e Ep = U : Energ potencial. a qi : Coordenadas generalizadas (en este caso las articulaciones). Fi o i : Fuerza o pares aplicado sobre el grado de libertad qi .

(2.1)

Figura 2.1: Manipulador robtico 3GL- Estructura. o

Para realizar la formulacin Langragiana se muestra en la gura (2.1) el brazo o robtico de tres grados de libertad, all se observa la estructura f o sica, destacando: la base, el primer, segundo y tercer eslabn de la cadena cinemtica, a manera de o a comparacin con el cuerpo humano se dir que el primer eslabn hace referencia a la o a o columna vertebral o tronco, el segundo al brazo y el tercer eslabn al antebrazo. o

14

Figura 2.2: Manipulador robtico 3GL- Rotaciones. o Para darle movimiento a la estructura se cuenta con tres actuadores o motoreductores, siguiendo la comparacin, la primera articulacin hace referencia a la cintura, o o la segunda al hombro y la tercera articulacin al codo. Los posibles movimientos de o las articulaciones se muestra en la gura (2.2), las direcciones pueden ser horarias o antihorarias estas dependen de la posicin deseada. o Por otro lado para desarrollar el modelado del brazo robtico de 3GL. se ha o descrito en la tabla (2.1) las descripciones de las constantes y variables que se utilizarn a para llevarlo acabo. Adems se est asumiendo que las caracter a a sticas tcnicas de los servomotores e son iguales, en realidad los servomotores de la cintura y el hombro lo son, pero el servomotor del codo es de menor potencia y su relacin de engranajes (n = N2 /N1 ) o es n = 60,5 , esto no afecta la simulacin del sistema de control, pero si afecta la o

15

implementacin de este, por lo cual, se considerar su modicacin en ese apartado. o a o

2.2.

Ecuaciones de Energ de la de la Planta - Robot a


A partir de la gura (2.3) se puede observar que los puntos rojos son las coor-

denadas del centro de masas de cada eslabn, tambin se puede observar las longitudes o e y masas de estas con sus respectivos valores obtenidos del trabajo de campo.
Z

L 3=0.24 (x3,y3,z 3) m3=0.25


L2 sinq 2 L2 cos q 2 2 L2 sinq 2 2

q2

L1=0.391

1 0 1 0

q3 L 2=0.24
L3 sinq 3 2

1 0

L3 cos q 3 2

(x2,y2 ,z2) m2=0.89

(x1,y1,z 1) m1=2.98

1 0
Y q1

Figura 2.3: Manipulador robtico 3GL- Ejes de referencia. o

16

Tabla 2.1: Parmetros y variables del brazo robtico de 3GL a o

S mbolo u 1 , u2 , u3 u KA Va Ra La ia Km Tm L Tg1 Tg2 Jm Jg Ja Jr J1 J2 J3 Bm Bg ma mr m1 m2 m3 la lr L1 L2 L3 ra rr Vb Kb g N1 , N 2 n m g m g qL q1 , q 2 , q 3

Descripcin o Voltaje de entrada a cada actuador Voltaje de entrada a un actuador Ganancia del amplicador Voltaje de armadura Resistencia de armadura Inductancia de armadura Corriente de armadura Constante del torque motor Torque motor Torque de carga Torque de entrada a los engranajes Torque de salida de los engranajes Inercia del motor Inercia de los engranajes Inercia del eje o rbol conectado al motoresductor a Inercia del rodamiento conectado al rbol a Inercia de la columna Inercia del brazo Inercia del antebrazo Constante de friccin del motor o Constante de friccin en engranajes o Masa del eje o rbol conectado al motoreductor a Masa del rodamiento conectado al rbol a Masa total de la columna Masa del brazo Masa del antebrazo Longitud del eje o rbol conectado al motoreductor a Longitud del rodamiento y disco conectado al rbol a Longitud total de la columna Longitud del brazo Longitud del antebrazo Radio del eje o rbol conectado al motoreductor a Radio del rodamiento y disco conectado al rbol a Voltaje contraelectromotriz Constante contraelectromotriz Aceleracin de la gravedad o o N de dientes de los engranajes (N2 > N1 ) Relacin de engranajes (n = N2 /N1 ) o Posicin angular del motor o Posicin angular del eje de salida del motor o Velocidad angular del motor (m = ng ) Velocidad angular de la carga Coordenada articular de un eslabn o Coordenadas articulares para cada eslabn o

Valor

Unidades V V V H A N-m/A N-m N-m N-m N-m kg-m2 kg-m2 kg-m2 kg-m2 kg-m2 kg-m2 kg-m2 N-m/rad/s N-m/rad/s kg kg kg kg kg m m m m m m m V V/rad/s m/s2

8.5 2.49 2.63103 0.0458

7.1106 0.053

0.0001 0.01 1.5 1.48 2.98 0.89 0.25 0.3378 0.054 0.391 0.24 0.245 0.015 0.0427 0.0458 9.81 65.5

rad rad rad/s rad/s rad rad 17

2.2.1.

Ecuaciones de Energ de la Columna a

Centro de masas del tronco: (x1 , y1 , z1 ) La columna se encuentra dividida en dos partes la primera el eje o rbol unido al moa toreductor y el cuello donde se encuentra localizado el rodamiento, por lo tanto:

m1 = ma + mr L 1 = la + lr (2.2) (x1 , y1 , z1 ) = Energ cintica columna: V1 a e 0, 0, ma la + mr lr ma + mr

V1 =

1 J1 q 2 2 1

(2.3)

1 1 2 2 J1 = Ja + Jr = ma ra + mr rr 2 2 Energ potencial columna: U1 a

U1 = m1 g

ma la + mr lr ma + mr

(2.4)

2.2.2.

Ecuaciones de Energ del Brazo a

Centro de masas del brazo: (x2 , y2 , z2 ) Observando la gura (2.3) se puede deducir las relaciones trigonomtricas que se ree eren al centro de masas. (x2 , y2 , z2 ) = L2 L2 L2 sin q2 cos q1 , sin q2 sin q1 , L1 + cos q2 2 2 2

18

Energ cintica brazo: V2 a e

V2 =

1 1 J2 q2 + m2 x2 + y2 + z2 2 2 2 2 2 2

(2.5)

1 J2 = m2 L2 + m2 2 12

L2 2

1 = m2 L2 2 3

x2 + y 2 + z 2 = 2 2 2

L2 2 2 (q2 + q1 sin2 q2 ) 2 4

1 1 2 V2 = J2 q2 + m2 L2 (q2 + q1 sin2 q2 ) 2 2 2 2 8 Energ potencial brazo: U2 a

U2 = m2 g L1 +

L2 cos q2 2

(2.6)

2.2.3.

Ecuaciones de Energ del Antebrazo a

Centro de masas del antebrazo: (x3 , y3 , z3 ) Observando la gura (2.3) se puede deducir las relaciones trigonomtricas que se ree eren al centro de masas. (x3 , y3 , z3 ) = L2 sin q2 + L3 L3 L3 sin q3 cos q1 , L2 sin q2 + sin q3 sin q1 , L1 + L2 cos q2 + cos q3 2 2 2

Energ cintica antebrazo: V3 a e

V3 =

1 1 3 2 2 J3 q3 + m3 x2 + y3 + z3 2 2 2

(2.7)

19

J3 =

1 m3 L2 + m3 3 12

L3 2

1 = m3 L2 3 3

2 x2 + y3 + z3 = L2 (q2 + q1 sin2 q2 ) + 3 2 2 2 2

L2 2 3 (q + q1 sin2 q3 ) + L2 L3 (q2 q3 cos q2 cos q3 + 2 4 3

q1 sin q2 sin q3 + q2 q3 sin q2 sin q3 ) 2

1 1 1 2 2 2 2 V3 = J3 q3 + m3 L2 (q2 + q1 sin2 q2 ) + m3 L2 (q3 + q1 sin2 q3 )+ 2 2 3 2 2 8 1 m3 L2 L3 q2 q3 [cos q2 cos q3 + sin q2 sin q3 ] + q1 sin q2 sin q3 2 2 2 2 Energ potencial antebrazo: U3 a

U3 = m3 g L1 + L2 cos q2 +

L3 cos q3 2

(2.8)

2.2.4.

Ecuaciones de Energ Totales del Brazo Robtico de 3GL. a o

La energ cintica total del brazo robtico de 3GL. es: a e o V = V1 + V2 + V3 1 1 1 1 2 V = J1 q1 + J2 q2 + J3 q3 + m2 L2 (q2 + q1 sin2 q2 )+ 2 2 2 2 2 2 2 2 8 1 1 2 2 2 2 m3 L2 (q2 + q1 sin2 q2 ) + m3 L2 (q3 + q1 sin2 q3 )+ 2 3 2 8 1 m3 L2 L3 (q1 sin q2 sin q3 )+ 2 2 1 m3 L2 L3 (q2 q3 [cos q2 cos q3 + sin q2 sin q3 ]) 2 La energ potencial total del brazo robtico de 3GL. es: a o U = U1 + U2 + U3 U = m1 g ma la + mr lr ma + mr + m2 g L 1 + L2 cos q2 + 2 20 (2.10) (2.9)

m3 g L1 + L2 cos q2 +

L3 cos q3 2

La funcin Langragiana de acuerdo a la ecuacin (2.1) o o L = V U d L 1 = dt q1 d L 2 = dt q2 d L 3 = dt q3 donde: 1 d L L 1 = q1 J1 + m2 L2 sin2 q2 + m3 L2 sin2 q2 + m3 L2 sin2 q3 + m3 L2 L3 sin q2 sin q3 + 2 2 3 dt q1 q1 4 4 q1 2m3 L2 q2 sin q2 cos q2 +q2 2 q3 1 m2 L2 q1 sin q2 cos q2 + m3 L2 L3 q1 cos q2 sin q3 + 2 2

L q1 L q2 L q3

(2.11)

1 m3 L2 q1 sin q3 cos q3 + m3 L2 L3 q1 sin q2 cos q3 3 2

d L L 1 = q2 J2 + m2 L2 + m3 L2 +3 q 2 2 dt q2 q2 4 q3

1 1 m3 L2 L3 cos q2 cos q3 + m3 L2 L3 sin q2 sin q3 + 2 2

1 1 m3 L2 L3 q3 sin q2 cos q3 m3 L2 L3 q3 cos q2 sin q3 + 2 2

1 1 q1 m2 L2 q1 sin q2 cos q2 m3 L2 q1 sin q2 cos q2 m3 L2 L3 q1 cos q2 sin q3 + 2 2 4 2 1 m2 gL2 sin q2 + m3 gL2 sin q2 2

1 d L L = q3 J3 + m3 L2 + q2 3 dt q3 q3 4 q2

1 1 m3 L2 L3 cos q2 cos q3 + m3 L2 L3 sin q2 sin q3 + 2 2

1 1 m3 L2 L3 q2 cos q2 sin q3 m3 L2 L3 q2 sin q2 cos q3 + 2 2

1 1 q1 m3 L2 q1 sin q3 cos q3 m3 L2 L3 q1 sin q2 cos q3 + 3 4 2 1 m3 gL3 sin q3 2

21

2.3.

Ecuaciones de Energ de los Actuadores - Servomotores a


El brazo robtico de 3GL (Grado de Libertad) mostrado en la gura (2.2), o

es accionado por tres servomotores estos cumplen la funcin de actuadores, desde el o punto de vista del control automtico. Las caracter a sticas de estos son similares, es decir, constan de un subsistema mecnico y un subsistema elctrico. a e El subsistema elctrico comprende un servomotor D.C. (Direct Current) con e codicador (encoder) de posicin incorporado, el cual se emplea para medir la posio cin angular del brazo en cada instante de tiempo. El subsistema mecnico posee una o a caja de engranajes para reducir la velocidad en su eje de salida, y de esta manera, incrementar su torque. El movimiento del tronco, brazo y antebrazo del sistema slo se justica por o la existencia de la cintura, hombro y codo, es en este sentido, que los tres actuadores cumplen el papel de articulacin en el brazo robtico de 3GL. La unin mecnica entre o o o a estos es a travs de una chaveta que vincula al eslabn con la articulacin. e o o El proceso descrito previamente es del tipo MIMO (Multiple Input Multiple Output) ya que posee tres entradas: El voltaje de control aplicado a la armadura u de cada servomotor, y tres salidas respectivas: la posicin angular q de cada eslabn. o o

2.3.1.

Modelo del Subsistema Mecnico a

Para modelar el subsistema mecnico empleamos la ley de Euler, ecuacin (6.4). a o La aplicacin de esta ley se traduce en una ecuacin de balance mecnico. Con respecto o o a a la gura (2.4), la ecuacin de balance mecnico en el eje del servomotor articulado o a al primer engranaje se formula como: Tm = Jm m + Bm m + Tg1 dm m = dt d2 m m = dt2 (2.12)

donde Jm y Bm representan el momento de inercia y la constante de friccin viscosa o del rotor, Tm es el torque del servomotor y Tg1 es el torque de reaccin debido al primer o

22

Figura 2.4: Actuador del manipulador robtico de 3GL. o engranaje. Para los engranajes de reduccin del servomotor podemos formular: o n= N2 m = N1 m = ng n>1 (2.13)

La ecuacin (2.13) es cierta debido a que el espacio angular recorrido por el engranaje o de menor radio debe de ser n veces mayor que el espacio recorrido por el el engranaje de radio mayor. Por otra parte, el principio de la conservacin de la energ establece que o a el trabajo realizado por el engranaje de la izquierda debe ser igual al trabajo realizado por el engranaje de la derecha, es decir: Tg2 g = Tg1 m = Tg1 ng ; Tg2 = nTg1 (2.14)

donde Tg2 es el torque de reaccin debido al segundo engranaje. El balance mecnico o a en el eje articulado al brazo produce: Tg2 = Jg g + Bg g + L (2.15)

donde Jg y Bg representan el momento de inercia y la constante de friccin viscosa de o la caja de reduccin respectivamente. El torque de carga L se formula de acuerdo a o las ecuaciones (2.11), desarrolladas anteriormente: Empleando (2.15), (2.14) y (2.13) en (2.12) y considerando el eje r gido, g = qL operando se obtiene: nTm = Jeq g + Beq g + L = Jeq qL + Beq qL + L (2.16) 23

donde: Jeq = n2 Jm + Jg Beq = n2 Bm + Bg

2.3.2.

Modelo del Subsistema Elctrico e

El voltaje de armadura Va viene expresado por (ver la descripcin de las variao bles y parmetros en la Tabla 2.1): a Va = ia Ra + La dia + Vb dt (2.17)

donde ia , Ra y La son la corriente, la resistencia y la inductancia en la armadura del servomotor respectivamente, y Vb es el voltaje de fuerza contraelectromotriz gobernado por la relacin: o Vb = Kb m = Kb ng = nKb qL (2.18)

donde Kb es la constante de fuerza contra-electromotriz y est relacionado con la vea locidad angular m del motor. El voltaje de armadura Va es: Va = uKA donde KA es la ganancia del amplicador. Reemplazando las ecuaciones (2.18) y (2.19) en la ecuacin (2.17), luego despejando la o corriente ia y considerando la inductancia de armadura despreciable, La = 0, se tiene: ia = uKA nKb qL Ra (2.20) (2.19)

2.3.3.

Conversin de Energ Elctrica en Mecnica o a e a

La ecuacin de conversin en energ elctrica en mecnica es: o o a e a Tm = K m i a donde Km es la constante del motor. Reemplazando la ecuacin (2.20) en la ecuacin (2.21) obtenemos: o o Tm = nKm Kb Km KA u qL Ra Ra (2.22) (2.21)

24

Luego sustituyendo la ecuacin (2.22) en la ecuacin (2.16) y despejando L se tiene: o o L = Jeq qL Beq + n2 Km Kb Ra qL + nKm KA u Ra (2.23)

Esta ecuacin obtenida representa de manera general al actuador del brazo robtico o o de 3GL, para las particularidades de cada eslabn quedar como: o a 1 = Jeq q1 Beq + 2 3 n2 Km Kb Ra 2 n Km Kb = Jeq q2 Beq + Ra 2 n Km Kb = Jeq q3 Beq + Ra nKm KA u1 Ra nKm KA q2 + u2 Ra nKm KA q3 + u3 Ra q1 +

(2.24)

2.4.

Modelo Dinmico mediante formulacin de Lagrange a o


Para determinar la formulacin de Lagrange sustituiremos la ecuacin (2.24) o o

en la ecuacin (2.11) y se despejar la variable de control u1 , u2 y u3 con lo cual se o a obtiene: u1 = M11 q1 + P11 q1 + P12 q2 + P13 q3 u2 = M22 q2 + M23 q3 + P21 q1 + P22 q2 + P23 q3 + d21 u3 = M32 q2 + M33 q3 + P31 q1 + P32 q2 + P33 q3 + d31 donde: M11 = Ra nKm KA 1 1 J1 + Jeq + m2 L2 sin2 q2 + m3 L2 sin2 q2 + m3 L2 sin2 q3 + m3 L2 L3 sin q2 sin q3 2 2 3 4 4 M22 = M23 = Ra nKm KA Ra nKm KA 1 J2 + Jeq + m2 L2 + m3 L2 2 2 4 (2.25)

1 1 m3 L2 L3 cos q2 cos q3 + m3 L2 L3 sin q2 sin q3 2 2 1 1 m3 L2 L3 cos q2 cos q3 + m3 L2 L3 sin q2 sin q3 2 2 Ra nKm KA Beq + 1 J3 + Jeq + m3 L2 3 4

M32 = M23 =

Ra nKm KA M33 =

P11 =

Ra nKm KA

n2 Km Kb + 2m3 L2 q2 sin q2 cos q2 2 Ra 25

P12 = P13 = P21 = Ra nKm KA

Ra nKm KA Ra nKm KA

1 m2 L2 q1 sin q2 cos q2 + m3 L2 L3 q1 cos q2 sin q3 2 2 1 m3 L2 q1 sin q3 cos q3 + m3 L2 L3 q1 sin q2 cos q3 3 2

1 1 m2 L2 q1 sin q2 cos q2 m3 L2 q1 sin q2 cos q2 m3 L2 L3 q1 cos q2 sin q3 2 2 4 2 P22 = Ra nKm KA Beq + n2 Km Kb Ra

P23 = P31 = P32 =

Ra nKm KA Ra nKm KA Ra nKm KA

1 1 m3 L2 L3 q3 sin q2 cos q3 m3 L2 L3 q3 cos q2 sin q3 2 2 1 1 m3 L2 q1 sin q3 cos q3 m3 L2 L3 q1 sin q2 cos q3 3 4 2 1 1 m3 L2 L3 q2 cos q2 sin q3 m3 L2 L3 q2 sin q2 cos q3 2 2 Ra nKm KA Beq + n2 Km Kb Ra

P33 = P22 = d21 = Ra nKm KA d31 =

1 m2 gL2 sin q2 + m3 gL2 sin q2 2 1 m3 gL3 sin q3 2

Ra nKm KA

Dndole la forma matricial a la ecuacin (2.25) se logra: a o u = M + Pq + d q esto es: u 1 u2 u3 donde: q : Vector de coordenadas articulares. M : Matriz de inercias, de dimensin (n n), cuyos elementos son funciones de q. o P : Matriz (n 1) de fuerzas de Coriolis, dependiente de q y q. d : Matriz (n 1) de fuerzas de gravedad, dependiente de q. u : Vector de control que se aplica a cada articulacin. o n : Nmero de grados de libertad del robot n = 3 u (2.26)

M11 0 0 0 0 M22 M23 M32 M33

q P P12 P13 1 11 q2 + P21 P22 P23 q3 P31 P32 P33

q 0 1 q2 + d21 q3 d31

26

2.5.

Modelo Dinmico en el Espacio de Estados a


Para determinar el modelo dinmico en el espacio de estados se partir de la a a

ecuacin (2.26), de all se despejar la variable vectorial q obtenindose: o a e q = M1 Pq M1 d + M1 u esto es: + M1 u (2.27)

q q 1 1 q2 = M1 P q2 M1 d q3 q3 denindose las variables de estado: e x1 = q 1 x1 = q 1 x4 = q 1 x4 = q 1 x2 = q 2 x2 = q 2 x5 = q 2 x5 = q 2

x3 = q3 x3 = q3 x6 = q3 x6 = q3

luego reemplazando en la ecuacin anterior y dndole la forma en el espacio de estados o a se tiene: x1 x4 x5 O u

x2 x3 = x4 M1 P x5 x6

O O x6 + x4 x5 M1 d M1 x6

de manera compacta queda como: x = f (x) + g(x)u donde: x : Vector de estados. f : Matriz del sistema (n 1), cuyos elementos son funciones de x e x. g : Matriz de entrada (n 1), dependiente de x, x y u. u : Vector de control que se aplica a cada articulacin. o n : Nmero de variables de estado del sistema n = 6 u (2.28)

27

CAP ITULO 3 CONTROLADOR ADAPTATIVO FUZZY


La capacidad para ajustar su comportamiento con respecto a cambios en los parmetros del sistema es llamado adaptacin. Una propiedad t a o pica es que la informacin actual es usado para mejorar las condiciones de operacin por la eliminacin o o o de incertidumbres a partir del logro de algn estado ptimo del sistema.[4] u o Un regulador Adaptativo es un regulador que puede modicar su comportamiento en respuesta a cambios en la dinmica del sistema y a las perturbaciones. Este mismo a objetivo es el de la inclusin de la realimentacin en el bucle de control, por lo que surge o o la pregunta de cul es la diferencia entre control realimentado y control adaptativo. a

Figura 3.1: Esquema del controlador adaptativo.

El control Adaptativo es un tipo especial de control no lineal en el que el estado del proceso puede ser separado en dos escalas de tiempo que evolucionan a diferente velocidad. La escala lenta corresponde a los cambios de los parmetros y por consigua iente a la velocidad con la cual los parmetros del regulador son modicados, y la escala a rpida que corresponde a la dinmica del bucle ordinario de realimentacin. Es decir, a a o un controlador adaptativo tiene dos lazos distintos en su arquitectura: El lazo interno de control, el cual es el lazo bsico de realimentacin negativa, y un lazo externo, el a o cual ajusta los parmetros del controlador (ver gura 3.1). a Segn sean diseados los bloques descritos anteriormente, podemos tener uno u n u otro tipo de control Adaptativo, pudindose dividir principalmente en dos grupos: e 28

Controladores Adaptativos con Modelo de Referencia (MRAC) y Reguladores Autoajustables (STR). En esta investigacin se hace uso del Controlador Adaptativo con o Modelo Referencial al cual lo denominaremos por su acrnimo, MRAC. o

3.1.

Controlador MRAC Clsico a


Los controladores Adaptativos con Modelos Referencial fueron diseados primern

amente para sistemas continuos por minimizacin de un o ndice de actuacin, siendo o dicho ndice la integral del error al cuadrado. Esta regla de diseo fue propuesta por n Whitaker del MIT (1958), Instrumentation Laboratory, denominndose por ello como a la regla del MIT. En un controlador Adaptativo con modelo referencial (MRAC), el modelo de referencia espec ca la salida deseada del lazo interno, el esquema de este tipo de control adaptativo se muestra en la gura 3.2.

Figura 3.2: Esquema del MRAC.

3.1.1.

Planta

Se asume que se conoce la estructura de la Planta, aunque los parmetros sean a desconocidos. Para Plantas lineales, esto signica que se conoce el numero de ceros 29

y polos, pero no la exacta localizacin. Para Plantas no lineales, signica conocer la o estructura de las ecuaciones, pero algunos parmetros son desconocidos. a Para un sistema MIMO lineal se describe la Planta por el siguiente conjunto de ecuaciones en el espacio de estados. xp (t) = Ap xp (t) + Bp up (t) yp (t) = Cp xp (t) (3.1) (3.2)

3.1.2.

Modelo de Referencia

El Modelo de Referencia proporciona las especicaciones de performance. La seleccin del Modelo de Referencia es parte del diseo. Esto deber reejar el rendimiento o n a deseable, tales como, tiempo de subida, tiempo de asentamiento, overshoot o sobreelongacin. Este comportamiento ideal deber ser lograble, lo cual signica que hay o a algunas restricciones sobre la estructura del Modelo de Referencia (orden, tipo, grado relativo) dado la estructura asumida de la planta. El modelo retorna la respuesta deseada ym ante una seal de referencia ref . n Para un sistema MIMO lineal se describe el Modelo de Referencia por el siguiente conjunto de ecuaciones en el espacio de estados. xm (t) = Am xm (t) + Bm um (t) ym (t) = Cm xm (t) (3.3) (3.4)

La condicin necesaria y suciente de un sistema asintticamente estable es que los o o polos de (sI Am ) se encuentren en el semiplano izquierdo Re(s) < 0, lo cual implica que el Modelo de Referencia dene la respuesta dinmica deseable tanto como la salida a deseada en estado estable. Bajo estas condiciones, la ley de adaptacin actuar, y la o a planta seguir al Modelo de Referencia. Si Am tiene eigenvalores con partes negativas, a entonces esto muestra que el modelo en lazo abierto es asintticamente estable, y el o error cae exponencialmente, haciendo que el sistema mejore en el transcurso del tiempo. Sin embargo, si Am tiene eigenvalores con parte real positiva, entonces cualquier error pequeo causado por alguna razn crecer rpidamente y el sistema ser inestable. n o a a a Entonces, es deseable tener un modelo que sea estable en lazo abierto.

30

Considere la dinmica de la matriz del modelo Am my Bm dentro de una esa tructura lineal. Tomar la siguiente forma: a 0 1 0 1 = Am = 2 A0 A1 n 2n sus eigenvalores estarn dados por: a i = n in donde: n : Frecuencia natural no amortiguada. : Factor de amortiguamiento relativo. Bm = 0
2 n

1 2

i = 1, 2

(3.5)

En el caso en que nuestro sistema sea de orden n, la matriz Am y Bm tomar la siguiente a forma: Am = 0 I 2 I 2I
nn

Bm = 0
2 n I


nm

Por ejemplo, para un sistema particular donde: n = 6, m = 3, = 5, 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 Am = Bm = 25 0 25 0 10 0 0 0 25 0 0 0 10 0 0 0 25 0 0 10 0

= 1 se tendr: a 0 0 0 0 0 0 0 0 25 0 0 25

3.1.3.

Controlador

El Controlador deber tener la capacidad de seguimiento perfecto del modelo, a esto es, la funcin de transferencia en lazo cerrado del lazo interno deber ser idntico al o a e modelo, cuando la planta es conocida. Esto impone algunas restricciones a la estructura del Controlador. Cuando los parmetros de la Planta son desconocidos, los parmetros a a del Controlador lograrn el seguimiento perfecto del modelo asintticamente. a o Para un sistema MIMO lineal como el de las ecuaciones (3.1) y (3.2) se plantea distintas 31

leyes de control adaptativo up , para esta investigacin, se ha seleccionado slo dos con o o el n de comparar estos.

Seguimiento Perfecto del Modelo

En este tipo de control se necesita del conocimiento de todas las variables de estado de la planta, esto es xp , si no se conociera alguna de las variables de estado se recomienda realizar el control con el seguimiento de la salida del modelo. up (t) = Kxp (t) + Lr(t) = Kxp (t) + Lum (t) (3.6)

si reemplazamos la seal de control up (t) de la ecuacin (3.6) en la ecuacin (3.1) se n o o tiene el sistema en lazo cerrado: xp (t) = (Ap Bp K)xp (t) + Bp Lr(t) (3.7)

Si denimos K y L como las ganancias de las variables de estado y la seal n de referencia respectivamente para que la matriz de transferencia en lazo cerrado de la ecuacin (3.10) sea la misma que la del Modelo Referencial de la ecuacin (3.3), es o o decir,: Ap Bp K = Am Bp L = Bm K Rmn L Rmm (3.8)

adems, si las matrices Ap , Bp fueran conocidas, entonces quedar denido la ley de a a control deseada y la dinmica del sistema en lazo cerrado como: a up (t) = K xp (t) + L r(t)) xp (t) = (Ap Bp K )xp (t) + Bp L r(t) (3.9) (3.10)

Seguimiento de la Salida del Modelo

Este tipo de control se ver con ms detalle en el cap a a tulo referente a Comparacin con MRAC Kauman. o up (t) = Kx (t)xm (t) + Ku (t)um + Ke (t)(ym (t) yp (t)) (3.11) 32

3.1.4.

Ley Adaptativa

La Ley Adaptiva ajusta los parmetros del controlador. El error del modelo ey , a el cual es la diferencia de la respuesta de la planta de la respuesta deseada, gobierna el ajuste de los parmetros. Una estrategia, de la Ley Adaptativa, es ajustar los a parmetros tal que el error ey -o una funcin de ey - sea minimizado. a o

3.2.
3.2.1.

Controlador MRAC Fuzzy


Planta Fuzzy

En el diseo de sistemas de control, es importante y signicativo seleccionar n una adecuada representacin del modelo de un sistema real. Como una expresin del o o modelo de una planta real, se usar las implicaciones Fuzzy y el mtodo de razona e amiento Fuzzy sugerido por Takagi y Sugeno[6]. El modelo fuzzy Takagi-Sugeno (TS) es ampliamente aceptado como una poderosa herramienta para diseo y anlisis de n a sistemas de control fuzzy y aplicaciones de modelado Takagi-Sugeno para varias clases de sistemas nolineales que pueden ser encontrados. El modelo fuzzy Takagi-Sugeno usa pequeas agregaciones de un modelo matemtico lineal local para representar sistemas n a dinmicos, los cuales son usuales porque estos pueden proporcionar descripcin de un a o fenmeno f o sico o un proceso y pueden ser adecuados para analizar, predecir y disear n sistemas de control dinmico. a Considere el sistema nolineal en tiempo continuo como se muestra en la ecuacin o siguiente: x(t) = f (t, x) + g(t, x)u(t) ahora, considere el sistema nolineal equivalente descrito por el modelo fuzzy de TakagiSugeno: Ri : if
i x1 (t) is M1 i and . . . and xn (t) is Mn

then x(t) = Ai x(t) + B i u(t) El cual, representa la ith regla del modelo TS en tiempo continuo y donde: Ri (i = 1, 2, ..., l): es la implicacin ith y l es el nmero de implicaciones fuzzy. o u

(3.12)

33

Mji (xj (t)): es el grado de membres de xj (t) en Mji a x(t) = [x1 (t), ..., xn (t)]T : es el vector de estados x(t) Rn1 . u(t) = [u1 (t), ..., um (t)]T : es el vector de entrada u(t) Rm1 . Ai : es la matriz del sistema dentro del intervalo de las variables, Ai Rnn . B i : es la matriz de entrada dentro del intervalo de las variables, B i Rnm . La dinmica de la Planta es descrito por: a x(t) = donde: wi (t) =
n j=1 l i=1

wi (t){Ai x(t) + B i u(t)}


l i=1

wi (t)

(3.13)

Mji (xj (t)): es la intensidad de la ith regla, wi (t) R.

3.2.2.

Modelo de Referencia Fuzzy

Considere el Modelo Referencial en tiempo continuo como se muestra en la ecuacin siguiente: o xm (t) = Am xm (t) + Bm r(t) ahora, considere el Modelo Referencial equivalente descrito por el Modelo Fuzzy de Takagi-Sugeno: xm (t) = donde: wi (x(t)) =
n j=1 l i=1 i wi (x(t)){Ai xm (t) + Bm r(t)} m l i=1

wi (x(t))

(3.14)

Mji (xj (t)): es la intensidad de la ith regla, wi (x(t)) R.

Observando, wi (x(t)), se dir que comparte los mismos conjuntos fuzzy, Mji y variaa bles de estado xj (t) que el de la ecuacin (3.12), es decir, la premisa es comn y se o u tomar como referencia en el anlisis y diseo fuzzy. a a n

3.2.3.

Controlador Fuzzy

Considere la ley de control en tiempo continuo como se muestra en la ecuacin o siguiente: u(t) = Kx(t) + Lr(t)

34

ahora, considere la ley de control equivalente descrito por el modelo fuzzy de TakagiSugeno: u(t) =
l i=1

wi (x(t)){Ki x(t) + Li r(t)}


l i=1

wi (x(t))

(3.15)

Si reemplazamos la seal de control u de la ecuacin (3.15) en la ecuacin (3.13) se n o o tiene: x(t) =


l i=1 l j=1

wi (x(t))wj (x(t)){(Ai B i Kj )x(t) + B i Lj r(t)}


l i=1 l j=1

wi (x(t))wj (x(t))

(3.16)

Una condicin suciente para asegurar la estabilidad del sistema fuzzy en lazo o cerrado de la ecuacin (3.16) es dado por el Teorema 1, el cual ha sido derivado en [7]. o

Teorema 1

El equilibrio de un sistema de control fuzzy (3.16) es asintticamente estable si o existe una matriz denida positiva P tal que: GT P + P GT = Q i, j = 1, 2, ..., l ij ij donde: Gij = Ai B i Kj y Qij es una matriz denida positiva. Por otro lado, se podr decir que r(t) es la ley de control para el modelo de a referencia ecuacin (3.14), adems, slo en este caso, r(t) es igual en el modelo fuzzy o a o Takagi-Sugeno y en el modelo clsico, pero se utilizar el de fuzzy por cuestiones a a didcticas: a r(t) =
l i=1 wi (x(t))r(t) l i=1 wi (x(t))

(3.17)

De manera anloga si reemplazamos la seal de referencia r(t) de la ecuacin a n o (3.17) en la ecuacin (3.14) se tiene: o xm (t) = donde Aij m Rnn
l i=1 l j=1 ij wi (x(t))wj (x(t)){Aij xm (t) + Bm r(t)} m l i=1 l j=1

wi (x(t))wj (x(t))

(3.18)

(i, j = 1, 2, ..., l) satisface la condicin de estabilidad del sistema o

fuzzy dado en el Teorema 1, esto es, existe una matriz denida simtrica comn P = e u P T > 0 tal que: (Aij )T P + P Aij < Qij m m
ij Qij = QT > 0, Bm Rnm r Rm ij

35

Si denimos Kj y L como las ganancias de las variables de estado y la seal n j

de referencia respectivamente para que la matriz de transferencia en lazo cerrado de la ecuacin (3.16) sea la misma que la del modelo referencial de la ecuacin (3.14), es o o decir,:
Ai B i Kj = Aij m ij B i L = Bm j Kj Rmn

L Rmm j

(3.19)

adems, si las matrices Ai , B i fueran conocidas, entonces quedar denido la ley de a a control deseada y la dinmica del sistema en lazo cerrado como: a u(t) = x(t) =
l i=1 l j=1 l i=1

wi (x(t)){Ki x(t) + L r(t)} i


l i=1

wi (x(t))

(3.20) (3.21)

wi (x(t))wj (x(t)){(Ai B i Kj )x(t) + B i L r(t)} j l i=1 l j=1

wi (x(t))wj (x(t))

En consecuencia, x(t) xm (t) exponencialmente rpido para alguna seal de a n


entrada de referencia r(t). Pero, existe la posibilidad de que Kj y L no existan para j ij algunas matrices Ai , B i , Aij y Bm dadas, lo cual, hace de la ecuacin (3.20) estruco m

turalmente inexible para encontrar el objetivo de control, entonces para eliminar esta
ij posibilidad, se parte del conocimiento de las matrices Ai , B i , por lo tanto Aij y Bm m pueden ser diseados para tener una solucin en (3.19) para un Kj y L dado. n o j Sin embargo, se va asumir que Kj y L existe en (3.19), entonces, hay suciente exibilj

idad estructural para encontrar el objetivo de control, y se propone la ley de control de


la ecuacin (3.15) donde Kj y Lj son las estimaciones de Kj y L respectivamente, los o j

cuales sern generados por una apropiada ley de adaptacin pues Ai , B i no se conocen a o con certeza.

3.2.4.

Ley Adaptativa Fuzzy

Por los trabajos realizados al respecto [10], se tiene que la Ley Adaptativa Fuzzy es la siguiente: K j = Kj (t) = Lj = Lj (t) =
l i=1 ij wi (x)(Bm )T l i=1 l i=1

wi (x) wi (x)

wj (x) l j=1 wj (x) wj (x)


l j=1

sgn(lj )P exT sgn(lj )P erT

(3.22)

ij wi (x)(Bm )T l i=1

wj (x)

(3.23)

36

3.2.5.

Implementacin del Algoritmo o

Todas las cantidades en las ecuaciones (3.22) y (3.23) son conocidas o disponibles para medir, entonces las Leyes Adaptativas para un control Adaptativo Fuzzy con Modelo Referencial se muestra en la gura (3.3).

Figura 3.3: Conguracin de un MRAFC. o

El Modelo de Referencia es usado para especicar la respuesta ideal que el sistema de control fuzzy deber seguir. La Planta contiene parmetros desconocidos, pero a a la estructura es conocida. El controlador Fuzzy est construido a partir de un sistema a Fuzzy cuyos parmetros son ajustables. La Ley de Adaptacin ajusta los parmetros a o a de control K(t) y L(t) en l nea tal que el estado x de la Planta siga el estado xm del Modelo de Referencia, el cual permite que la salida de la planta siga la salida del Modelo Referencial.

3.3.

Controlador MRAC Fuzzy Propuesto


Las operaciones con sumatorias pueden resultar tediosas, pero si trabajo con

matrices estas resultan ms claras e intuitivas. a

37

Planta Fuzzy Matricial

De la ecuacin 3.13 se puede separar los trminos de la suma de la siguiente o e manera: x(t) = + (3.24) l wi (t) i=1 wi (t) del primer trmino y el segundo termino de esta ecuacin se puede extender de la e o
l i=1 l i=1

wi (t){Ai x(t)}

l i=1

wi (t){B i u(t)}

siguiente manera,
l i=1

wi (t){Ai x(t)}
l i=1

wi (t)

w1 A1 + w2 A2 + . . . + wl Al
l i=1

wi (t)

x(t)

(3.25)

si se dene: i = entonces la ecuacin toma la forma o


l i=1

wi
l i=1

wi (t)

(3.26)

wi (t){Ai x(t)}
l i=1

wi (t)
l i=1

= (1 A1 + 2 A2 + . . . + l Al )x(t)

(3.27)

si se le da la forma matricial esta ser a wi (t){Ai x(t)}


l i=1

wi (t)

= Ax(t)

(3.28)

donde: = [1 2 . . . l ] y AT = [A1 A2 . . . Al ] si se dene: A(x(t)) = A (3.29)

entonces este trmino representa el promedio de los trminos Ai y se encuentra en e e funcin de las variable x(t) pues esta variable es la que provoca el cambio del promedio o cuando se realiza la fuzzycacin. o En consecuencia = A(x(t))x(t) wi (t) de manera similar para el segundo trmino de la ecuacin 3.24 se obtiene e o
l i=1 l i=1 l i=1

wi (t){Ai x(t)}

(3.30)

wi (t){B i u(t)}
l i=1

wi (t)
l i=1

= B(x(t))u(t)

(3.31)

Por lo tanto, la ecuacin 3.13 en su forma matricial ser: o a x(t) = wi (t){Ai x(t) + B i u(t)}
l i=1

wi (t) x(t) = A(x(t))x(t) + B(x(t))u(t)

(3.32)

De lo realizado podemos postular la regla general siguiente: 38

Las variables que no estn afectas del trmino de conteo de la sumatoria i pueden a e extraerse de ella. Las variables que estn afectas del trmino de conteo de la sumatoria i se transa e forman directamente en trminos promedio que se encuentran en funcin de x(t) e o Se cumplen las propiedades de distribucin y asociativa de los nmeros reales. o u

Modelo de Referencia Fuzzy Matricial

De la ecuacin 3.14 y siguiendo la regla general de transformacin planteada o o esta queda: xm (t) =
l i=1 i wi (x(t)){Ai xm (t) + Bm r(t)} m l i=1

wi (x(t)) m (x(t))xm (t) + Bm (x(t))r(t) xm (t) = A

(3.33)

Controlador Fuzzy Matricial

Considere la ley de control en tiempo continuo como se muestra en la ecuacin o siguiente: u(t) = Kx(t) + Lr(t) + Kei ey (t) ahora, considere la ley de control equivalente descrito por el modelo fuzzy de TakagiSugeno: u(t) =
l i=1

wi (x(t)){Ki x(t) + Li r(t) + Kei ey }


l i=1

wi (x(t)) u(t) = K(x(t))x(t) + L(x(t))r(t) + Ke (x(t))ey (t)

(3.34)

donde: ey = ym y ym = y =
l i=1 l i=1 i wi (x(t)){Cm xm } l i=1 l i=1

wi (x(t)) wi (x(t))

= Cm (x(t))xm = C(x(t))x (3.35)

wi (x(t)){C i xm }

39

Reemplazando la ecuacin 3.34 en la ecuacin 3.32 se tiene o o x(t) = A(x(t)) B(x(t))K(x(t)) x(t) + B(x(t))L(x(t)) r(t) + B(x(t))Ke (x(t)) ey (t) Si hacemos: Am (x(t)) = A(x(t)) B(x(t))K(x(t)) Bm (x(t)) = B(x(t))L(x(t)) para que la planta no lineal alcance asintticamente al modelo de referencia y restamos o la ecuacin 3.33 de la ecuacin 3.36 se obtiene o o x(t) xm (t) = Am (x(t))(x(t) xm (t)) + Bm (x(t))Ke (x(t))ey (t) e(t) = Am (x(t))e(t) + Bm (x(t))Ke (x(t))ey (t) (3.37) (3.36)

Por la ecuacin 3.35 y asegurando que Cm = C es decir, que las salidas se reeren a o las mismas seales de inters se tiene: n e e(t) = Am (x(t))e(t) Bm (x(t))Ke (x(t))[C(x(t))x(t) Cm (x(t))x(t)] e(t) = Am (x(t))e(t) Bm (x(t))Ke (x(t))Cm (x(t))e(t) e(t) = [Am (x(t)) Bm (x(t))Ke (x(t))Cm (x(t))] e(t) (3.38)

A partir de esta ecuacin se puede deducir que la seal de error caer asintticamente o n a o a cero con un comportamiento que puede ser elegido por el diseador, seleccionando n un valor para Ke . Luego de asegurar el valor Ke se puede conseguir la ley de adaptacin del mismo o modo al presentado en las ecuaciones 3.22 y 3.23.

Implementacin del Algoritmo Propuesto o

Todas las cantidades en las ecuaciones (3.22) y (3.23) son conocidas o disponibles para medir, entonces las Leyes Adaptativas para un control Adaptativo Fuzzy con Modelo Referencial propuesto se muestra en la gura (3.4).

40

Figura 3.4: Conguracin del MRAFC propuesto . o El Modelo de Referencia es usado para especicar la respuesta ideal que el sistema de control Fuzzy deber seguir. La Planta contiene parmetros desconocidos, pero a a la estructura es conocida. El controlador Fuzzy est construido a partir de un sistema a Fuzzy cuyos parmetros son ajustables. La Ley de Adaptacin ajusta los parmetros a o a de control K(t) y L(t) en l nea tal que el estado x de la Planta siga el estado xm del Modelo de Referencia, el cual permite que la salida de la Planta siga la salida del Modelo Referencial asintticamente de acuerdo a las especicaciones que se pueda dar o a travs de la ganancia Ke e

41

CAP ITULO 4 SIMULACION SISTEMA DE CONTROL


4.1. Condiciones de la Simulacin o
La simulacin debe cumplir con los requerimientos de diseo del controlador: o n

1. Tiempo de estabilizacin de 2 segundos. o 2. Overshoot 0 3. Error en estado estable 0.

Para realizar la simulacin con el controlador MRAC Fuzzy modicado se ha o propuesto que que el programa siga un determinado conjunto de set points en el tiempo, como se muestra en la gura 4.1, cuyos valores se precisan en las tablas adjunta.

Set Points Codo q1 (rad) Hombro q2 (rad) Cintura q3 (rad) Tiempo (seg)

1 /4 /2 /2 [0 5[

2 0 [5 10[

3 /4 /2 /2 [10 15[

4 0 0 [15 20[

5 /4 0 /2 [20 25[

6 /4 /2 [25 30[

7 /4 /2 /4 [30 35[

8 0 0 0 [35 40[

Set Points Codo q1 (rad) Hombro q2 (rad) Cintura q3 (rad) Tiempo (seg)

9 /4 /2 /2 [40 45[

10 0 [45 50[

11 /4 /2 /2 [50 55[

12 0 0 [55 60[

13 /4 0 /2 [60 65[

14 /4 /2 [65 70[

15 /4 /2 /4 [70 75[

16 0 0 0 [75 80[

Set Points Codo q1 (rad) Hombro q2 (rad) Cintura q3 (rad) Tiempo (seg)

17 /4 /2 /2
[80 85[

18 0
[85 90[

19 /4 /2 /2
[90 95[

20 0 0
[95 100[

21 /4 0 /2
[100 105[

22 /4 /2
[105 110[

23 /4 /2 /4
[110 115[

24 0 0 0
[115 120[

42

Posicin q1 [rad]

Posicin codo 1 0 1 4 2 0 5 0 5

20

40

Posicin q2 [rad]

60 Posicin hombro

80

100

120

20

40

Posicin q3 [rad]

60 Posicin cintura

80

100

120

20

40

60 Tiempo [seg]

80

100

120

Figura 4.1: Propuesta de set points para la simulacin MRAC fuzzy modicado. o Adems se ha considerado los siguientes valores para los parmetros del controa a lador MRAC fuzzy modicado:

1. Tiempo T = 0,005 seg, Periodo de muestreo. M M = 24000, Iteraciones. 2. Controlador - Parmetros: a d = = 1, cr ticamente amortiguado. wn = n = 4, frecuencia natural del sistema. Q: matriz denida positiva. P = lyap(Am , Q), matriz de estabilidad. Gey1 = 42, ganancia para eliminar error de q1 . 43

Gey2 = 9, ganancia para eliminar error de q2 . Gey3 = 3, ganancia para eliminar error de q3 .

4.2.

Simulacin Controlador MRAC Fuzzy Propuesto o


Luego de ejecutar el programa realizado en MATLAB que se muestra en el

Apndice A, Listado de programas de simulacin: A-1, se obtienen los siguientes resule o tados:
Posicin codo 1 Posicin q1 [rad] 0.5 0 0.5 1 CP

20

40

60 Seal de control codo

80

100

120

10 Voltage up1 [V] 5 0 5 10

20

40

60 Tiempo [seg]

80

100

120

Figura 4.2: Posicin del codo q1 y seal de control u1 , Simulacin - Fuzzy Adaptivo. o n o

Para comentar los resultados se dividir el total del tiempo en 4 momentos: a

a a 1. [0 40[ seg: El controlador aprende rpido, es decir, est auto regulando sus matrices de ganancia.

44

Posicin hombro 4 Posicin q2 [rad]

CP

20

40

60

80

100

120

Seal de control hombro 20 Voltage up2 [V]

20

40

20

40

60 Tiempo [seg]

80

100

120

Figura 4.3: Posicin del hombro q2 y seal de control u2 , Simulacin - Fuzzy Adaptivo. o n o 2. Se produce un cambio drstico en los parmetros de la planta segn se detalla a a u en la tabla adjunta, para un tiempo mayor a los 40 segundos, esto se encuentra identicado en el grco con un aspa y la etiqueta CP. a 3. [40 80[ seg: El controlador, a pesar de estos cambios, sigue la referencia pero con un error relativamente mayor y con un gasto energtico aumentado, que se e muestra en las seales de control u. n 4. [80 120[ seg: El controlador reacciona y se adapta a los cambios de los parmetros a de la planta y a medida que transcurre el tiempo va mejorando su respuesta.

45

Posicin cintura 4 Posicin q3 [rad] 2 0 2 4 CP

20

40

60

80

100

120

Seal de control cintura 20 Voltage up3 [V]

10

10

20

40

60 Tiempo [seg]

80

100

120

Figura 4.4: Posicin de la cintura q3 y seal de control u3 , Simulacin - Fuzzy Adaptivo. o n o

46

CAP ITULO 5 IMPLEMENTACION EN TIEMPO REAL


La implementacin en tiempo real se va desarrollar siguiendo el siguiente esqueo ma de la gura 5.1, donde se muestra claramente las distintas partes del sistema de control.

Figura 5.1: Sistema de Control en Tiempo Real

5.1.

Planta - Robot 3GL


El brazo robtico tiene tres 3 ejes uno para el movimiento rotacional de la o

cintura, otro para el movimiento rotacional del hombro y por ultimo el movimiento rotacional del codo. Cuando se habla de la planta se est reriendo al sistema mecnico, a a esto es, la base, las articulaciones, los eslabones y los elementos mecnicos que logran la a

47

unin de estos, como los ejes o rboles, engranajes y rodamientos tal como se muestra o a en la gura 5.2.

Figura 5.2: Brazo Robtico - Proceso o

El proceso a controlar corresponde a un sistema robtico de cadena cinemtica o a abierta de tres grados de libertad.

Primer Eslabn: Tronco o


Es accionado por un motorreductor de 24VDC , con sensor de posicin ino corporado (encoder ptico de 500CPR). Este se encuentra instalado en el eslabn 0, o o adems este eslabn est constituido por un eje y un disco sobre el que descansa otro a o a motorreductor DC.

Segundo Eslabn: Brazo o


Es accionado por un motorreductor de 24VDC , con sensor de posicin incorpoo rado (encoder ptico de 500CPR). Este eslabn est constituido por un brazo: en un o o a 48

extremo de este se halla una bocina que se une r gidamente con el motor DC a travs e de un eje.

Tercer Eslabn: Antebrazo o


Es accionado por un motorreductor de 24VDC , con sensor de posicin incoro porado (encoder ptico de 500CPR). Este eslabn est constituido por un antebrazo: o o a en un extremo de este se halla una bocina que se une r gidamente con el motor DC a travs de un eje. e Desde el punto de vista de la Teor de Control la planta es un sistema no a lineal y multivariable, es decir, La dinmica de la planta esta caracterizado por a un sistema de ecuaciones diferenciales NO LINEALES, MULTIVARIABLES y ALTAMENTE ACOPLADOS, siendo sensible a las variaciones de sus parmetros. a Las variables de inters de la planta son las posiciones angulares de la cintura e q3 , hombro q2 y codo q1 tal como se aprecia en la ecuacin adjunta. o u1 M11 0 0 q1 P11 P12 P13 q 1 u2 = 0 M22 M23 q2 + P21 P22 P23 q2 u3 0 M32 M33 q3 P31 P32 P33 q3 0

+ d21 d31

5.2.

Sensor - Encoder
Puesto que las variables de inters de la planta son las posiciones angulares de la e

cintura, hombro y codo, es necesario contar con un sensor que mida directamente estos. El encoder que se muestra en la gura 5.3 es un transductor rotativo que transforma un movimiento angular en una serie de impulsos digitales. Estos impulsos generados pueden ser utilizados para controlar los desplazamientos de tipo angular, giro de un brazo robtico o de tipo lineal, si se asocia a cremalleras o a husillos. o La deteccin de movimiento angular se ejecuta en base al principio de exploo racin fotoelctrica (ver gura 5.4). El sistema de lectura se basa en la rotacin de o e o 49

Figura 5.3: Encoder en Cuadratura. un disco graduado con un reticulado radial formado por l neas opacas, alternadas con espacios transparentes. este conjunto est iluminado de modo perpendicular por una a fuente de rayos infrarojos. El disco proyecta de este modo su imagen sobre la supercie de varios receptores oportunamente enmascarados por otro reticulado que tiene el mismo paso del anterior llamado colimador. Los receptores tienen la tarea de detectar las variaciones de luz que se producen con el desplazamiento del disco convirtindolas e en las correspondientes variaciones elctricas. e

Figura 5.4: Principio de funcionamiento del encoder.

50

El encoder incremental proporciona normalmente dos formas de ondas cuadradas y desfasadas entre si 90o elctricos (ver gura 5.5) los cuales por lo general son canal e A y canal B. Con la lectura de un solo canal se dispone de la informacin correso pondiente a la velocidad de rotacin, mientras que si se capta tambin la seal B es o e n posible discriminar el sentido de rotacin en base a la secuencia de datos que producen o ambas seales. Adems, est disponible otra seal llamada canal Z o Cero, que pron a a n porciona la posicin absoluta de cero del eje del encoder. Esta seal se presenta bajo o n la forma de impulso cuadrado con fase y amplitud centradas en el canal A.

Figura 5.5: Canales de un encoder.

El encoder ptico de esta implementacin, HEDS 9140, tiene 3 canales, A, B o o y Z y presenta una resolucin de 500 (CPR) o pulsos por revolucin. La asignacin o o o de los pines de conexin se presentan en la gura 5.6 la alimentacin es una tensin o o o

Figura 5.6: Pines de conexin del encoder. o continua externa de 5VDC que se proporciona a travs del conductor de color rojo, la e l nea de referencia GND se establece por el conductor de color negro y las seales que n proporciona el encoder, los canales A, B y Z, se transportan por los conductores 51

de color amarillo, azul y verde, respectivamente, hacia el interfaz de entrada.

5.3.

Interfaz de Entrada - PCI6602

Asignacin de Pines o

Figura 5.7: Tarjeta PCI - Contador de Alta Velocidad. La interfaz de entrada est representado por un Contador de Alta Velocidad, a PCI 6602 de National Instruments, (ver gura 5.7), el cual, recibe las seales enviadas n por el encoder (pulsos/segundos) y las procesa, de la siguiente manera: cuando el canal A conduce al canal B en un ciclo en cuadratura, el contador incrementa y cuando el canal B conduce al canal A en un ciclo en cuadratura, el contador decrementa. La cantidad de incremento y decremento por ciclo depende del tipo de codicacin: X1, o X2 o X4, (ver gura 5.8) si fuera X1 la cantidad de incremento/decremento por ciclo ser 1, si fuera X2 la cantidad de incremento/decremento por ciclo ser 2 y si fuera a a X4 la cantidad de incremento/decremento por ciclo ser 4, tal como se muestra en la a gura. Para nuestra aplicacin se emplear la codicacin X4. o a o Las seales procedentes de los 3 encoders (cintura, hombro y codo) se dirigen n hacia el conector de entrada/salida de la tarjeta PCI 6602, cuya asignacin pines se o muestra en la gura 5.9, adems, esta le proporciona la alimentacin de 5VDC y la a o referencia GND a los encoders. La asignacin de pines que relaciona directamente a los o 3 encoders con el contador de alta velocidad es como sigue: 1. Contador de alta velocidad Encoder cintura: 52

Figura 5.8: Tarjeta PCI - Contador de Alta Velocidad. pin2 CanalA pin40 CanalB pin3 CanalZ pin1 5V DC pin36 GN D 2. Contador de alta velocidad Encoder hombro: pin7 CanalA pin6 CanalB pin8 CanalZ pin1 5V DC pin39 GN D 53

Figura 5.9: Pines de la tarjeta PCI - contador de alta velocidad. 3. Contador de alta velocidad Encoder codo: pin34 CanalA pin66 CanalB pin67 CanalZ pin1 5V DC pin68 GN D

Para esta aplicacin se estn empleando solamente las seales del canal A y canal o a n B de los encoders, pero se deja constancia la manera de asignar los pines del canal Z sobre la tarjeta PCI 6602. 54

Conguracin o

Luego de haber instalado LabVIEW para la plataforma Windows XP, se tiene que instalar el software NI-DAQmx 9.2.2 full sobre la PC, estos contiene los drivers para controlar la tarjeta PCI-6602, si se concluye satisfactoriamente con la instalacin de los drivers, se procede a inserta la tarjeta PCI sobre la tarjeta madre de o la PC, luego del cual se est en condiciones de congurar el contador de alta velocidad a acorde a la aplicacin. o Al congurar el dispositivo se debe realizar lo siguiente:

1. Conrmar el reconocimiento del dispositivo 2. Congurar la adicin del accesorio CB-68LP o 3. Unir los encoders a los accesorios 4. Utilizar el panel de pruebas para vericar la no existencias de errores

Cuando se congura el contador de alta velocidad nos pide el tipo de codicacin (X4), o la resolucin del encoder (500 CPR) y si se va usar el canal Z (No). o

5.4.

Controlador Multivariable - Computadora Personal


El controlador es la parte central de un sistema de control es el cerebro de estos,

sin el ningn automatismo se podr desarrollar. A continuacin se explica de manera u a o detallada la relacin directa entre el algoritmo de control desarrollado matemticamente o a y la programacin de este en LabView 8.5. o

Seguridad para el Actuador y la Entrada al Controlador

El controlador en s recibe datos de la planta a travs de la interfaz de entrada, e estos son datos binarios inteligibles, en unidades de ingenier luego realiza operaciones a, 55

Figura 5.10: Implementacin de Lgica de seguridad entrada y salida o o de clculo en tiempo real, para producir seales utiles que sern enviados de vuelta a la a n a planta para modicar alguna de sus variables, en el caso de robtica lo comn es modo u icar la posicin del brazo robtico. La lgica se utiliza para aplicar las condicionales o o o que validan los rangos de entrada y salida del controlador, pues una salida fuera de rango puede traer complicaciones al actuador, as tambin, una entrada fuera de rango e puede indirectamente perjudicar a la misma salida. La implementacin de est lgica se encuentra en la gura 5.10, all se puede o a o observar que en las entradas o set points estarn dentro del rango de [..] y las a salidas dentro del rango de [10.,10]V , si se encontraran fuera de este rango siempre se asumir el valor mximo o m a a nimo segn corresponda. u

56

Algoritmo de Control

Figura 5.11: Esquema del controlador fuzzy adaptivo Son muchos los algoritmos de control que se emplean en los procesos ya sea para regular o hacer el seguimiento de las variables de estos. Existes los clsicos, como el PID a y los modernos como el que se propone, fuzzy adaptivo. La teor de control tiene los a fundamentos matemticos para que estos algoritmos logren de manera eciente y ecaz a el objetivo del control, entonces, el controlador es un instrumento para detectar los desv existentes entre el valor medido por un sensor y el valor deseado, de referencia os o set point, programado por un operador; emitiendo una seal de correccin hacia n o el actuador. La implementacin del controlador fuzzy adaptivo responde al esquema de la o gura 5.11, all se puede distinguir perfectamente la planta del controlador fuzzy adap tivo, este ultimo se encuentra dividido en tres partes que lo caracterizan: el modelo referencial, el controlador propiamente dicho y el mecanismo de ajuste los cuales se desarrolla a continuacin: o

a) Modelo Referencial

El modelo referencial en el controlador fuzzy adaptivo representa a la dinmica a deseada, es decir, la manera como deber comportarse nuestra planta. En el cap a tulo

57

3 se expuso con detalle este tema pero lo que nos interesa es su ecuacin matemtica, o a la cual se vuelve a mostrar: xm (t) = Am xm (t) + Bm um (t) donde Am y Bm son respectivamente 0 I Am = 2 I 2I Bm = 0
2 n I

(5.1)


nm

nn

si se discretiza con un per odo de muestro T , la ecuacin 5.1 quedar: o a xm [n + 1] = xm [n] + T (Am xm [n] + Bm um [n]) (5.2)

esta ultima ecuacin es la que se implementa y se muestra en la gura 5.12, pero antes o hay que aclarar que la variable xm [n] es vectorial y en la implementacin se encuentra o disgregada como xm1 , xm2 , xm3 , xm4 , xm5 y xm6 , adems la variable de entrada para a el modelo referencial, el vector, um [n], se encuentra disgregada como los set points del codo, hombro y cintura del brazo robtico, tambin se muestra que los parmetros o e a para determinar el comportamiento del modelo se especica como y , puesto que la ecuacin 5.2 es recursiva se ha empleado los shift registers para implementarlos, o es por eso que las variables xm1 , xm2 , xm3 , xm4 , xm5 y xm6 , se encuentran al inicio y al nal del esquema. Tambin se puede observar la diferencia de xm [n] x[n], la cual e representa el error, e[n] que existe entre las variables deseada y las variables reales del proceso si la diferencia fuera x[n] xm [n], entonces el error ser e[n]. a

b) Mecanismo de Ajuste

El mecanismo de ajuste en el controlador fuzzy adaptivo representa la ley adaptiva ante cambios de ambiente, es decir, si existe una variacin en los parmetros del o a proceso entonces no es necesario sintonizar el controlador sino ste automticamente e a se adapta a estos cambios. En el cap tulo 3 se expuso con detalle este tema pero lo que nos interesa es su ecuacin matemtica, la cual se vuelve a mostrar, cabe aclarar que o a en estas ecuaciones el error se deni como x xm , en consecuencia el signo en ambas o frmulas variarn: o a Kj (t) =
l i=1 ij wi (x)(Bm )T l i=1

wj (x)
l j=1

wi (x)

wj (x)

sgn(lj )P exT 58

Figura 5.12: Implementacin del Modelo Referencial o Kj (t) = wj (x)


l j=1

wj (x)

Bm P exT

(5.3)

Lj (t) = Lj (t) =

l i=1

ij wi (x)(Bm )T l i=1

wi (x) Bm P erT

wj (x) l j=1 wj (x)

sgn(lj )P erT (5.4)

wj (x)
l j=1

wj (x)

ij las simplicaciones realizadas a dichas frmulas obedecen a la asuncin de que Bm es o o

constante para los diferentes valores que podr tomar i y j, adems el signo de lj es a a positivo. Si se discretiza con un per odo de muestro T , las ecuaciones 5.3 y 5.4 queda: Kj [n + 1] = Kj [n] T wj (x) Bm P e[n]x[n]T l j=1 wj (x) wj (x)
l j=1

(5.5)

Lj [n + 1] = Lj [n] + T

wj (x)

Bm P e[n]r[n]T

(5.6) 59

hay que aclarar que la variable x[n] es vectorial al igual que la variable r[n] = um [n], el sub ndice j que se encuentran en Kj y Lj signica la cantidad de combinaciones de los conjuntos fuzzy de las variables de estado x1 , x2 y x3 , para esta aplicacin j = 1, ..., 27. o La ecuacin 5.6 se puede simplicar an ms si consideramos lo siguiente: o u a wj (x) Bm P e[n]r[n]T l wj (x) j=1 entonces, se convertir en: a L[n + 1] = L[n] + T (Bm P e[n]r[n]T ) (5.7) Bm P e[n]r[n]T

Considerando las ecuaciones 5.5 y 5.7 es que se hace la implementacin del mecanismo o de ajuste gura 5.13. All se puede observar que las matrices P y Bm , el vector de error e, los vectores transpuestos de x y r y los factores de ponderacin o
wj (x) l j=1 wj (x)

se

proporcionan para que el mecanismo de ajuste actualice de forme recursiva el valor de L y los valores de Kj , para ello se han empleado los shift registers, es por eso que las variables L, K1 , K2 ... K26 y K27 , se encuentran al inicio y al nal del esquema.

c) Controlador propiamente dicho

El controlador propiamente dicho, tiene parmetros que hacen que el proceso se a comporte de una manera deseada, para lograr este objetivo el controlador env seales a n de control al proceso. En el cap tulo 3 se expuso en detalle este tema pero lo que nos interesa es su ecuacin matemtica, la cual se vuelve a mostrar: o a u(t) =
l i=1

wi (x(t)){Ki x(t) + Li r(t) + Kei ey }


l i=1

wi (x(t)) u(t) = K(x(t))x(t) + L(x(t))r(t) + Ke (x(t))ey (t)

(5.8)

De esta ecuacin se observa que la ley de control consta de tres partes; la primera es o la realimentacin de estados, la segunda involucra a la referencia fuzzy y la tercera al o error de seguimiento. Las ganancias variables L(x(t)) y Ke (x(t)) se reducirn a su m a nima expresin o esto es L(t) y Ke , esto se fundamenta en el hecho de que el primero est multiplicado a prcticamente por una constante r(t), entonces el proceso de fuzzycacin-motor de a o inferencia-defuzzycacin es lo mismo que considerar un slo Lj , en el segundo caso, o o 60

Figura 5.13: Implementacin del Mecanismo de Ajuste o se tiene que ey = ym y = Cm xm Cx, entonces se considera el Cm = C = C, es decir, el mismo modelo de referencia para todos las regla (27 reglas), lo cual implica, al igual que el anterior, considerar un slo Cj , esto signica un slo Ke . Luego de estas o o precisiones se observa en la gura 5.14 los conjuntos fuzzy para las tres variables que nos interesa, posicin del codo, hombro y cintura los valores estn en un rango normalizado o a de [100 100]. Puesto que cada variable tiene tres conjuntos fuzzy entonces el total de combinaciones de estas es 3 3 3 = 27 reglas fuzzy, para los cuales se har el proceso a de fuzzycacin-motor de inferencia-defuzzycacin, que se muestra en la gura 5.15 y o o 5.16, de manera sintetizada ingresan los valores reales de las variables de inters y luego e de este proceso se obtiene la seal de control referente a la realimentacin de estados n o U ef , tambin se puede observar en estas guras que la seal de control referente a la e n seal de referencia Lf 1 R. n

61

M1

M1

M1

100

100

x1

M2

M2

M2

100

100

x2

M3

M3

M3

100

x3 100

Figura 5.14: Funcin de membres de x1 , x2 y x3 o a Para concluir con el controlador, se menciona la propuesta de la investigacin, o la seal de control que involucra a la seal del error de las variables de inters U ey, n n e esto se muestra en la gura 5.17 Esta dems mencionar que la PC cuenta con los dispositivos elctricos de proa e teccin como el estabilizador de voltage y el supresor de picos. o

62

Figura 5.15: Implementacin del Controlador Fuzzy Adaptivo (parte 1) o

5.5.

Interfaz de Salida - PCI6722

Asignacin de Pines o

La interfaz de salida est representado por un mdulo de salida anloga, PCI a o a 6722 de National Instruments, (ver gura 5.18), el cual, recibe las seales enviadas por n 63

Figura 5.16: Implementacin del Controlador Fuzzy Adaptivo (parte 2) o el controlador (seales discretas) y las transforma en seales compatibles con el mando n n de potencia (seales continuas). n En principio, el controlador genera 3 seales de control, las cuales modican las n variables de posicin angular de la cintura, del hombro y del codo, estas seales pueden o n ser tomadas por el mando de potencia desde el conector de entrada/salida de la tarjeta PCI 6722, cuya asignacin pines se muestra en la gura 5.19. o

o a 1. Mdulo de Salida Anloga Mando de potencia cintura: pin22 REF IN pin23 GN D 64

Figura 5.17: Implementacin del Controlador Fuzzy Adaptivo (parte 3) o

Figura 5.18: Tarjeta PCI de Salida Anloga. a 2. Mdulo de Salida Anloga Mando de potencia hombro: o a pin21 REF IN pin24 GN D 3. Mdulo de Salida Anloga Mando de potencia codo: o a pin57 REF IN pin55 GN D

Para esta aplicacin los mandos de potencia son dispositivos completamente separados o y su desarrollo se ver en el siguiente tema. a

65

Figura 5.19: Pines de la tarjeta PCI de salida anloga. a Conguracin o

Luego de haber instalado LabVIEW para la plataforma Windows XP, se tiene que instalar el software NI-DAQmx 9.2.2 full sobre la PC, estos contiene los drivers para controlar la tarjeta PCI-6722, si se concluye satisfactoriamente con la instalacin de los drivers, se procede a inserta la tarjeta PCI sobre la tarjeta madre de o la PC, luego del cual se est en condiciones de congurar el contador de alta velocidad a acorde a la aplicacin. o Al congurar el dispositivo se debe realizar lo siguiente:

1. Conrmar el reconocimiento del dispositivo 2. Congurar la adicin del accesorio CB-68LP o

66

3. Unir los encoders a los accesorios 4. Utilizar el panel de pruebas para vericar la no existencias de errores

Cuando se congura la salida anloga nos pide el tipo de seal (Voltage) y el rango de a n la seal ([-10...10]). n

5.6.

Mando de Potencia
El Mando de Potencia est representado por los Amplicadores de Potencia a

DC o Drivers de Potencia de la marca Advanced Motion Controls cuyo modelo es el Brush Type PWM Servo Amplier (ver gura 5.20.), este, toma la seal de control n de la interfaz de salida o mdulo de salida anloga que se encuentra en el rango de o a [10.,10] Voltios y lo amplica para luego entregar una seal elctrica al actuador, en n e este proceso de amplicacin se vale de una Potencia de Fuente Externa (ver gura o 5.21.), el cual, suministra la energ elctrica. A manera de conclusin, el amplicador a e o de potencia DC recibe una seal de control y por otro lado toma energ elctrica n a e para entregar energ dosicada al actuador, en trminos de voltage y corriente. El a e

Figura 5.20: Mando de Potencia.

67

Amplicador de Potencia DC tiene dos borneras perfectamente distinguibles una para la entrada de la seal de control proveniente del mdulo de salida anloga y la otra n o a para la seal de potencia, por donde se toma la energ de la potencia externa y se n a entrega energ para el actuador, esto se describe en la siguiente lista: a

Seal de entrada anloga(Signal GND,+Ref In). n a Seal de salida anloga(-Motor,+Motor). n a Alimentacin: 20 VDC(Power GND,High Voltage). o

Figura 5.21: Potencia de Fuente Externa. La Potencia de la Fuente Externa que se utilizar tiene las siguientes caracter a sticas:

Marca KIKUSUI Electronics Corp. Modelo PAD 70-15L. Voltaje/Corriente:0-70 VDC/15A.

Para la aplicacin que se desarrolla son necesarios 3 Amplicadores de Potencia o DC, una para el actuador de la cintura, otro para el actuador del hombro y el ultimo para el actuador del codo.

68

Esta dems mencionar que el Amplicador de Potencia DC tiene circuitos de a proteccin para limitar la entrada de la seal de control as como proteccin por soo n o brecorriente y cortocircuito, de manera parecida, la Fuente de Potencia Externa tiene protecciones por sobrecorriente y cortocircuito.

5.7.

Actuador
Con el movimiento angular de la cintura, hombro y codo ya sea estos individ-

ualmente o colectivamente, se puede, lograr el desplazamiento del antebrazo y brazo en un Sistema de Referencia Cartesiano, XYZ, el dispositivo que provoca el movimiento de estos elementos cinemticos es el actuador, espec a camente el motorreductor DC. En la actualidad, es comn ver dispositivos donde vienen insertados los encoders a los u motorreductores como se aprecia en la gura 5.4, a estos tipos de dispositivos se les ha denominado Servomotor (ver gura 5.22 ), en consecuencia, se necesitan 3 servomotores para desplazar los 3 eslabones del brazo robtico, el tronco o base, el brazo y el o antebrazo.

Figura 5.22: Actuador.

El servomotor de Potencia DC tiene dos conectores molex uno es para la salida de los encoders y el otro, el que nos interesa, es para la entrada de energ elctrica a e racional que proviene del Amplicador de Potencia DC, esto provocar el movimiento a de los eslabones siguiendo las especicaciones del sistema de control. Los servomotores que se han insertado en el brazo robtico (ver gura 5.2) o tienen diferente potencia, en el caso de servomotor de la cintura y el hombro entregan 69

una potencia mxima de 35W y en caso del servomotor del codo entrega una potencia a mxima de 23W, todos los servomotores son de la marca Pittman Express y tienen un a voltage de referencia de 24VDC, el modelo del servomotor para la cintura y hombro es el GM9236S027. Lo-Cog DC Servo Gearmotor y el modelo para el servomotor del codo es el GM8224S023. Lo-Cog DC Servo Gearmotor.

5.8.

Resultados Experimentales de la Implementacin - Tiemo po Real

5.8.1.

Diagrama Elctrico e

Figura 5.23: Diagrama elctrico de sensores. e

70

Figura 5.24: Diagrama elctricos de actuadores. e

Figura 5.25: Diagrama de control automtico. a 5.8.2. Diagrama de Control Automtico a

5.8.3.

Interfaz Hombre-Mquina a 71 Luego de haber realizado la implementacin que ha sido producto de todo un o

diseo que se explic con anterioridad, es hora de ponerlo en operacin, para ello se n o o

cuenta con un Interfaz Hombre-Maquina que est compuesto de dos partes estructuraa dos de la siguiente manera:

Figura 5.26: Pantalla de control y modicacin de parmetros del controlador fuzzy o a adaptivo.

1. Pantalla de control y modicacin de parmetros del controlador (ver gura 5.26): o a Tres pantallas de visualizacin grca en el tiempo de las variables de proo a ceso, ngulos de la cintura, del hombro y del codo que provienen de los a encoders y se dirigen al controlador, adems se visualizan los set point de a estos mismos. Tres pantallas de visualizacin grca en el tiempo de las variables manipo a uladas, voltages del servomotor de la cintura, hombro y codo que provienen del controlador y se dirigen a los servomotores. Tres controles numricos para consignar los set points, ngulos deseados e a de la cintura, hombro y codo. 72

Tres indicadores numricos que muestran las variables de procesos, ngulos e a de la cintura, hombro y codo. Ocho controles numricos para modicar los parmetros del controlador, e a como, el tiempo de reaccin deseado del sistema wn = n y d = , la o velocidad de aprendizaje N ot, Int y P as y velocidad de reaccin ante errores o Gey1, Gey2 y Gey3. Un control numrico para consignar el periodo de muestreo en segundos T . e Un botn de parada del sistema de control o Dos switch con sus respectivos leds de conrmacin, el primero para activar o el seguimiento de un perl solamente una vez y el segundo para activar el seguimiento del perl repetidas veces. Un control numrico que indirectamente determina el tiempo en que se lle evar a cabo el perl, t = nT , donde, n: lapso (secuencia) y T: periodo de a muestreo 2. Pantalla de datos histricos (ver gura 5.27): o Tres pantallas de visualizacin histrica grca en el tiempo de las variables o o a de proceso, ngulos de la cintura, del hombro y del codo, adems de los set a a point de estos mismos. Tres pantallas de visualizacin histrica grca en el tiempo de las variables o o a manipuladas, voltages del servomotor de la cintura, hombro y codo.

5.8.4.

Control Adaptativo Fuzzy - MRAC Fuzzy Propuesto

Para realizar la experimentacin con el controlador MRAC fuzzy modicado se o ha propuesto que el robot siga un determinado conjunto de set points en el tiempo, como se muestra en la gura 5.28, cuyos valores se precisan en la tabla adjunta.

Set Points Codo q1 (rad) Hombro q2 (rad) Cintura q3 (rad) Tiempo (seg)

1 /4 /2 /2 [0 5[

2 0 [5 10[

3 /4 /2 /2 [10 15[

4 0 0 [15 20[

5 /4 0 /2 [20 25[

6 /4 /2 [25 30[

7 /4 /2 /4 [30 35[

8 0 0 0 [35 40[ 73

Figura 5.27: Pantalla de datos histricos. o A travs de la interfaz hombre-mquina se introducirn todas los valores necee a a sarios para que el controlador logre su objetivo de posicionamiento angular, las especicaciones se detallan de la siguiente manera:

1. Tiempo - Secuencia: T = 0,005 seg, Periodo de muestreo . n = 8000, Secuencia: . 2. Robot - Set points - Perl - Perl Ciclo: Set Points: no se usa. Perl: no se usa. Perl Ciclo: se usa, con los valores de la gura 5.28, estos se repetirn 4 a veces hasta un tiempo de 160 seg. 74

Posicin codo Posicin q1 [rad] 1 0.5 0 0.5 1 0 5 10 15 20 25 30 35 40

Posicin hombro Posicin q2 [rad] 4 3 2 1 0 0 5 10 15 20 25 30 35 40

Posicin cintura Posicin q3 [rad] 5

10

15

20 25 Tiempo [seg]

30

35

40

Figura 5.28: Propuesta de set point para la experimentacin. o 3. Controlador - Parmetros: a d = = 1, cr ticamente amortiguado. wn = n = 4, frecuencia natural del sistema. N ot = 0. Int = 0,02. P as = 0,02. Gey1 = 42, ganancia para eliminar error de q1 . Gey2 = 9, ganancia para eliminar error de q2 . Gey3 = 3, ganancia para eliminar error de q3 . 75

Luego de ejecutar el programa se obtienen los siguientes resultados:

Figura 5.29: Posicin del codo q1 y seal de control u1 , Fuzzy Adaptivo. o n

Para comentar los resultados se dividir el total del tiempo en 5 partes: a

1. [0 45[ seg: El controlador est aprendiendo, es decir, est auto regulando sus a a matrices de ganancia, primer ciclo del perl. 2. [45 85[ seg: El controlador mejora su respuesta y hace un mejor seguimiento de la seal de referencia, segundo ciclo del peril. n 3. [85 125[ seg: El controlador trata de eliminar el error, tercer ciclo del perl. 76

Figura 5.30: Posicin del hombro q2 y seal de control u2 , Fuzzy Adaptivo. o n 4. [125 165[ seg: El controlador se encuentra en un estado inmejorable o mejorable en un tiempo innito, cuarto ciclo del perl. 5. [165 185[ seg: Se perturba al brazo robtico para desestabilizarlo, luego de haber o nalizado el cuarto ciclo del perl.

77

Figura 5.31: Posicin del cintura q3 y seal de control u3 , Fuzzy Adaptivo. o n

78

CAP ITULO 6 COMPARACION CON MRAC KAUFFMAN


6.1. Controlador MRAC Kauman
En el cap tulo 3, se trato el controlador adaptivo MRAC clsico, pero quedo a pendiente el controlador de Seguimiento de la salida del modelo. Ahora se ver con a detalle este tipo de controlador, espec camente, el controlador MRAC Kauman.

6.1.1.

Planta Aumentada

Figura 6.1: Conguracin de un MRAC Barkana o Sobre la base de las investigaciones de Barkana, Kauman [3] propuso que el compensador, H(s), que se aumenta a la planta (ver gura (6.1), tambin se aumente e al modelo de referencia, como muestra la gura (6.2).

79

Sea una planta no ASPR (Almost Strictly Positive Real), esta ser descrito a como: Gp = yp (s) = Cp (sI Ap )1 Bp up (s) (6.1)

entonces seleccionando una matriz de transferencia H(s) adecuada, se logra que la matriz de transferencia de la planta aumentada que se describe por la ecuacin (6.2) o sea ASPR. Ga (s) = Gp (s) + H 1 (s) para ello H(s) debe cumplir las siguientes condiciones: (6.2)

H(s) es una matriz ASPR. H(s) estabiliza la salida del lazo cerrado en el sistema realimentado con funcin o de transferencia [I + Gp (s)H(s)]1 Gp (s).

Una seleccin para H(s) que es sencillo de implementar y ha sido anchamente o usado es: H 1 (s) = Dp 1 + s (6.3)

donde Dp es una matriz de ganancia y es una constante positiva el cual se selecciona para satisfacer condiciones de estado denidos. Esto resulta en la siguiente planta aumentada:

Ga (s) =

zp (s) Dp = yp (s) + H 1 (s) = Cp (sI Ap )1 Bp + up (s) 1 + s

(6.4)

6.1.2.

Modelo Referencial Aumentado

Fue Barkana, quien propuso agregar a la planta H 1 (s), pero obtuvo un controlador con error en estado estable, entonces, Kauman [3] propuso que tambin se le e agregue al modelo de referencia H 1 (s).

80

Figura 6.2: Conguracin de un MRAC Kauman o De la ecuacin (6.4) se dene la salida de la planta aumentada como: o zp (s) = yp (s) + H 1 (s)up (s) zp (s) = yp (s) + H 1 (s)[Kx xm + Ku um + Ke ez ] de manera anloga se dene la salida del modelo como: a zm (s) = yp (s) + H 1 (s)[up (s) Ke ez ] zm (s) = ym (s) + H 1 (s)[Kx xm + Ku um ] de la ultima ecuacin se dene ez por: o ez = zm zp (6.7) (6.6) (6.5)

6.1.3.

Controlador Kauman

Se quiere determinar la ley de control up (t) el cual causa que la salida de la planta yp (t) se aproxime a la salida del modelo ym (t) sin conocimiento espec co de 81

Ap , Bp y Cp . La ley de control que logra ello tiene la siguiente estructura. up (t) = Kx (t)xm (t) + Ku (t)um + Ke (t)ez (6.8)

Los dos primeros trminos de la segunda expresin hacen referencia a un seguimiento e o perfecto si yp = ym para t = 0, en caso yp = ym para t = 0 se necesita del tercer termino el cual logra un seguimiento asinttico de la salida. o La tarea ahora se encuentra en encontrar la ley adaptiva para Ke , Ku y Kx tal que e(t) 0 cuando t . En consecuencia para simplicar las ecuaciones se denir la matriz Kr (t) y el vector r(t) como sigue: a Kr (t) = Ke (t) Kx (t) Ku (t) ez r(t) = xm (t) um entonces up (t) = Kr (t)r(t) (6.11) (6.10) (6.9)

6.1.4.

Ley Adaptativa Kauman

Las ganancias adaptativas son obtenidos usando las siguientes ecuaciones que fueron propuestas por Sobel, Kaufman y Mabius [5]: Kp (t) = ez rT (t) T KI (t) = ez rT (t) T (6.12)

(6.13)

Kr (t) = Kp (t) + KI (t)

(6.14)

Por lo tanto, se puede determinar la seal de control denida en la ecuacin (6.11). n o

82

6.1.5.

Simulacin del MRAC Kauman o

Condiciones de la Simulacin o

La simulacin debe cumplir con los requerimientos de diseo del controlador: o n

1. Tiempo de estabilizacin de 2 segundos. o 2. Overshoot 0 3. Error en estado estable 0.

Para realizar la simulacin con el controlador MRAC Kauman se ha propuesto o que el programa siga un determinado conjunto de set points en el tiempo, como se muestra en la gura 6.3, cuyos valores son los mismos a los consignados en la simulacin o del controlador MRAC fuzzy modicado.

Posicin q1 [rad]

Posicin codo 1 0 1 4 2 0 5 0 5

20

40

Posicin q2 [rad]

60 Posicin hombro

80

100

120

20

40

Posicin q3 [rad]

60 Posicin cintura

80

100

120

20

40

60 Tiempo [seg]

80

100

120

Figura 6.3: Propuesta de set points para la simulacin MRAC Kauman. o 83

Adems se ha considerado los siguientes valores para los parmetros del controa a lador MRAC Kauman:

1. Tiempo T = 0,005 seg, Periodo de muestreo. M M = 24000, Iteraciones. 2. Controlador - Parmetros: a d = = 1, cr ticamente amortiguado. wn = n = 4, frecuencia natural del sistema. Gxx = 0,3: ganancia de la variable de estado de posicin x. o Gdx = 0,1, ganancia de la variable de estado de velocidad x. Gey1 = 200, ganancia del error de q1 . Gey2 = 400, ganancia del error de q2 . Gey3 = 200, ganancia del error de q3 . Gu1 = 15, ganancia de control u1 . Gu2 = 4, ganancia de control u2 . Gu3 = 3, ganancia de control u3 .

Simulacin Controlador MRAC Kauman o

Luego de ejecutar el programa realizado en Matlab que se muestra en el Apndice e A, Listado de programas de simulacin: A-2, se obtienen los siguientes resultados: o Para comentar los resultados se dividir el total del tiempo en 4 momentos: a

1. [0 40[ seg: El controlador realiza un buen seguimiento a la seal de referencia. n a a u 2. Se produce un cambio drstico en los parmetros de la planta segn se detalla en la tabla adjunta, para un tiempo mayor a los 40 segundos, esto se encuentra identicado en el grco con un aspa y la etiqueta CP. a 84

Posicin codo 1 Posicin q1 [rad] 0.5 0 0.5 1 CP

20

40

60 Seal de control codo

80

100

120

10 Voltage up1 [V] 5 0 5 10

20

40

60 Tiempo [seg]

80

100

120

Figura 6.4: Posicin del codo q1 y seal de control u1 , Simulacin - Adaptivo Kauman. o n o 3. [40 80[ seg: El controlador, a pesar de estos cambios, sigue la referencia con un gasto energtico mayor, que se muestra en las seales de control u. e n 4. [80 120[ seg: El controlador sigue presentando la misma respuesta al intervalo anterior, es decir, no presenta mejoras signicativas.

6.1.6.

Implementacin del MRAC Kauman o

Luego de haber realizado la implementacin en tiempo real del controlador o adaptivo - MRAC fuzzy modicado, se realizar la implementacin del controlador a o adaptivo - MRAC Kauman. En esta nueva implementacin, lo unico que var es: o a El algoritmo del controlador y la interfaz hombre-mquina referido al control el resto a permanece sin alteracin pues se trata de la misma planta, el brazo robtico. o o

85

Posicin hombro 4 Posicin q2 [rad]

CP

20

40

60

80

100

120

Seal de control hombro 20 Voltage up2 [V] 10 0 10 20

20

40

60 Tiempo [seg]

80

100

120

Figura 6.5: Posicin del hombro q2 y seal de control u2 , Simulacin - Adaptivo o n o Kauman. Controlador

El controlador adaptivo Kauman representa la ley de control, la cual se ha dividido en dos partes para explicar su funcionamiento: La primera parte del controlador que se muestra en la gura 6.7 tiene una relacin directa con las ecuaciones 6.3, 6.5, 6.6 y 6.7 y la gura 6.2, que se reeren a o la planta aumentada y el modelo de referencia aumentado. La segunda parte del controlador que se muestra en la gura 6.8 tiene una relacin directa con las ecuaciones 6.8, 6.9, 6.10, 6.11, 6.12, 6.13 y 6.14, los cuales se o reeren a la ley de control, propiamente dicha, y la ley de adaptacin, que se encarga o de actualizar las ganancias Ke , Kx y Ku .

86

Posicin cintura 4 Posicin q3 [rad] 2 0 2 4 CP

20

40

60

80

100

120

Seal de control cintura 20 Voltage up3 [V]

10

10

20

40

60 Tiempo [seg]

80

100

120

Figura 6.6: Posicin de la cintura q3 y seal de control u3 , Simulacin - Adaptivo o n o Kauman.

Figura 6.7: Implementacin del controlador adaptivo Kauman (parte 1) o Interfaz Hombre-Mquina a

A travs de la interfaz hombre-mquina (ver gura 6.9) se introducirn todas los e a a 87 valores necesarios para que el controlador logre su objetivo de posicionamiento angular,

Figura 6.8: Implementacin del controlador adaptivo Kauman (parte 2) o las especicaciones se detallan de la siguiente manera:

1. Tiempo - Secuencia: T = 0,005 seg, Periodo de muestreo . n = 8000, Secuencia: . 2. Robot - Set points - Perl - Perl Ciclo: Set Points: no se usa. Perl: no se usa. Perl Ciclo: se usa, con los valores de la gura 5.28, estos se repetirn 4 a veces hasta un tiempo de 160 seg. a 3. Controlador - Parmetros: d = = 1, cr ticamente amortiguado. wn = n = 4, frecuencia natural del sistema. Dp = 0, factor de relacin: modelo referencial - planta aumentada. o

88

Figura 6.9: Pantalla de control y modicacin de parmetros del controlador adaptivo o a Kauman tau = 0,02, factor de relacin: modelo referencial - planta aumentada. o Gx = 0,3, ganancia de variable de estado de posicin x. o Gdx = 0,1, ganancia de variable de estado de velocidad x. Gey1 = 200, ganancia del error de q1 . Gey2 = 400, ganancia del error de q2 . Gey3 = 200, ganancia del error de q3 . Gu1 = 15, ganancia de control u1 . Gu2 = 4, ganancia de control u2 . Gu3 = 3, ganancia de control u2 .

89

Controlador Adaptativo - MRAC Kauman

Luego de ejecutar el programa, con las mismas seales de referencia que su n homlogo Fuzzy Adaptativo se obtienen los siguientes resultados: Para comentar los o

Figura 6.10: Posicin del codo q1 y seal de control u1 , Adaptivo Kauman. o n resultados se toma en cuenta el total del tiempo: 1. El controlador se comporta de manera similar desde el inicio hasta el nal del experimento, es decir, existe una mejora relativamente m nima. 2. El controlador desde el inicio ofrece una respuesta satisfactoria para seguir los set points. 90

Figura 6.11: Posicin del codo q2 y seal de control u2 , Adaptivo Kauman. o n 3. Existe un error en estado estable. 4. Se puede mejorar la respuesta del sistema con mayor tiempo de sintonizacin. o

6.2.

Comparacin MRAC Fuzzy Propuesto y MRAC Kauo man


Las respuestas obtenidas, tanto para el controlador Fuzzy Adaptativo y Adap-

tativo Kauman que se han grabado en un archivo de datos u hoja de clculo, puede ser a le das desde el interfaz hombre-mquina y la cha Histricos del programa de aplicacin a o o 91

Figura 6.12: Posicin del codo q3 y seal de control u3 , Adaptivo Kauman. o n realizado en LabView. Como, alternativa para realizar la comparacin entre la respuesta de estos alo goritmos se ha empleado el programa de aplicacin MatLab, desde el cual, se han o importado los datos de la hoja de clculo y se han gracado segn se muestran en las a u guras 6.13, 6.14 y 6.15. A partir de estas guras podemos decir lo siguiente:

1. [0 45[ seg: El controlador Fuzzy Adaptativo se comporta errticamente mientras a que el controlador Adaptativo Kauman responde mejor al seguimiento de los 92

Posicin codo 1

Adaptivo Kauffman Fuzzy adaptivo

0.5

0.5

20

40

60

80

100

120

140

Seal de control codo 10 8 6 4 2 0 2 4 0 20 40 60 Tiempo [seg] 80 100 120 140

Figura 6.13: Comparacin: Fuzzy adaptivo y Adaptivo Kauman - Set point codo o Kauman set points. El comportamiento errtico se debe a que el controlador Fuzzy a Adaptativo est aprendiendo. a 2. [45 85[ seg: El controlador Fuzzy Adaptativo se comporta relativamente similar al controlador Adaptativo Kauman, es decir, en este intervalo de tiempo el performance de ambos es similar. 3. [85 125[ seg: El controlador Fuzzy Adaptativo, en este intervalo de tiempo, responde mejor que el controlador Adaptativo Kauman. Esto se debe a que el aprendizaje del primero es ms meritorio que el segundo. a 4. La intervencin humana en la sintonizacin del controlador Fuzzy Adaptativo es o o m nimo comparado con la sintonizacin del controlador Adaptativo Kauman. o Esto debido a la estructura que presenta cada controlador, all se aprecia que se necesitan de 12 parmetros para el controlador Adaptativo Kauman y slo 8 a o parmetros para el controlador Fuzzy Adaptativo. a o 5. La sintonizacin del controlador Adaptativo Kauman se puede mejorar para ello 93

Posicin hombro 4 3 2 1 0 1

Adaptivo Kauffman Fuzzy adaptivo

20

40

60

80

100

120

140

Seal de control hombro 10

10

20

40

60 Tiempo [seg]

80

100

120

140

Figura 6.14: Comparacin: Fuzzy adaptivo y Adaptivo Kauman - Set point hombro o se necesitar ms tiempo en la aplicacin de la tcnica prueba-error. a a o e 6. En ambos casos no se necesita conocer la planta o proceso, slo basta con tener o pericia en la sintonizacin. Es ms fcil sintonizar un controlador Fuzzy Adaptao a a tivo que el controlador Adaptativo Kauman.

94

Posicin cintura 4 3 2 1 0 1 2 3 4 0 20 40 60 80 100

Adaptivo Kauffman Fuzzy adaptivo

120

140

Seal de control cintura 10

10

20

40

60 Tiempo [seg]

80

100

120

140

Figura 6.15: Comparacin: Fuzzy adaptivo y Adaptivo Kauman - Set point cintura o

95

CAP ITULO 7 CONCLUSIONES Y RECOMENDACIONES


7.1. Conclusiones
Se ha diseado e implementado el controlador propuesto, Fuzzy Adaptativo Din recto con Modelo Referencial, para un sistema MIMO no lineal, como lo es el brazo robtico de 3 grados de libertad, adems se ha comparado con un controo a lador Adaptativo convencional Kauman. El controlador Fuzzy Adaptativo propuesto tiene la capacidad de aprendizaje, en consecuencia, no necesita del conocimiento del modelo de la planta para poder realizar el control. El controlador Adaptativo Fuzzy propuesto tiene una mejor respuesta que su homlogo convencional controlador Adaptivo Kauman para los mismos requero imientos de diseo que son plasmados en el Modelo de Referencia, esto es: tiempo n de establecimiento de 2 segundos, overshoot 0 y error en estado estable 0.

7.2.

Recomendaciones
La investigacin realizada arroja un balance positivo de la incursin de la Ino o teligencia Articial, Lgica Fuzzy, en la Teor de Control, esto signica que se o a debe continuar con los trabajos de investigacin relacionados a la Inteligencia o Articial. El controlador Fuzzy Adaptativo puede servir para controlar procesos complejos MIMO, sin recurrir a la matemtica o estad a stica sino ms bien a la lgica Fuzzy. a o Este algoritmo propuesto tiene que seguir validndose para otras plantas o proa cesos si se quiere su normalizacin. o

96

BIBLIOGRAF IA
[1] Barrientos A., Pe L., Balaguer C. y Aracil R. Fundamentos de Robtica. nn o McGraw-Hill / Interamericana de Espaa,2a ed., 2007. n [2] H. K. Lam, F. H. F. Leung and P. K. S. Tam. Fuzzy Control of Multivariable Nonlinear Systems to Parameter Uncertainties: Model Reference Approach, International Journal of Approximate Reasoning, 26 (2), pp. 129-144. (2001). [3] H. Kauman, G.Neat and R. Steonvorth. Direct Model Reference Adaptive Controller for Processes not Necessarily Satisfynga Positive Real Constraint., European Control Conference (1991). [4] Rolf, Johansson. System Modeling Identication. Prentice Hall, Inc. / Thomas Kahilath, Editor. New Jersey, 1993. [5] Sobel, K. M., Kaufman H. and L. Mabius. Implicit Adaptive Control for a Class of MIMO Systems, IEEE TAES, Vol. AES-18, No. 5 (1982). [6] Takagi, T. and M. Sugeno. Fuzzy identication of systems and its applications to modeling and control, IEEE Trans. on Systems, Man, and Cybernetics, Vol. 15, no. 1, pp. 135-156 (1985). [7] Tanaka, K. and M. Sano. A robust stabilization problem of fuzzy controlm systems and its application to backing up control of a truck-trailer, IEEE Trans. on Fuzzy Systems, vol. 2, no. 2, pp. 119-133 (1994). [8] V. Moudgal, W. Kwong and K. Passino. Fuzzy Learning Control for a FlexibleLink Robot, IEEE Trans. on Fuzzy Systems, vol. 3, no. 2 (1995). [9] Wang, Li-Xin. Stable Adaptive Fuzzy Control of Nonlinear Systems, IEEE Trans. on Fuzzy Systems (1993). 97

[10] Young-Wan Cho, Ki-Sung Seo, Hee-Jin Lee. A Direct Adaptive Fuzzy Control of Nonlinear Systems with Application to Robot Manipulator Tracking Control, Control, Automation, and Systems, Vol. 5, no. 6, pp. 630-642 (December 2007).

98

APENDICE A LISTADO DE PROGRAMAS DE SIMULACION


A.1. Simulacin MRAC Fuzzy Propuesto - Cap o tulo 4

% MRACFuzzy.m CONTROL FUZZY ADAPTIVO DEL BRAZO ROBTICO DE 3GL. O % Elaborado por: Hubert Hugo Ventura Hinostroza %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear all; close all; clc; % DATOS DEL SISTEMA Ra=2.49; n=65.5; Km=0.0458; Kb=0.0458; KA=8.5; mr=1.48; ma=1.5; m1=ma + mr; m2=0.89; ma3=0.8; mh=0.15; m3=ma3 + mh; g=9.81; rr=0.0427; la=0.054; ra=0.015; lr=0.3378; z1=(ma*la + mr*lr)/(ma + mr); L2=0.24; La=0.24; Lh=0.05; L3= La + Lh; J1=ma*ra^2/2 + mr*(rr^2)/2; J2=m2*L2^2/3; J3=m3*L3^2/3; Jm=0.0000071; Jg=0.053; Bmm=0.0001; Bg=0.01; Jeq=n^2*Jm + Jg; Beq=n^2*Bmm + Bg; % MODELO DE REFERENCIA - Am, Bm, Cm, Dm wly=5; %Frecuencia natural dly=1; %Factor de amortiguamiento Am = [0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 -wly^2 0 0 -2*dly*wly 0 0 0 -wly^2 0 0 -2*dly*wly 0 0 0 -wly^2 0 0 -2*dly*wly]; Bm = [0 0 0 0 0 0 0 0 0 wly^2 0 0 0 wly^2 0 0 0 wly^2]; Cm = [1 0 0 0 0 0; 0 1 0 0 0 0; 0 0 1 0 0 0]; Dm = zeros(3,3); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % SIMULACION % CONDICIONES INICIALES %Modelo Xm = [0 0 0 0 0 0]; %Condiciones iniciales Modelo %Planta X1=0; X2=0; X3=0; X4=0; X5=0; X6=0; X=[X1 X2 X3 X4 X5 X6]; %Controlador Kly=0.4; %Ganancia de lyapunov Gx1=100/(5*pi); Gx2=100/(5*pi); Gx3=100/(5*pi); Gey1=80; Gey2=80; Gey3=80; Key=[Gey1 0 0; 0 Gey2 0; 0 0 Gey3]; rAA = eig(Am-Bm*Key*Cm);% eigenvalores de la matriz del error rA = eig(Am);% eigenvalores de la matriz del modelo referencial

99

Uey=[0;0;0]; Q = Kly*eye(6); P = lyap(Am,Q); %Adaptador KIey=zeros(3,3); Kf1=zeros(3,6); Lf1=zeros(3); Kf2=Kf1; Kf3=Kf1; Kf4=Kf1; Kf5=Kf1; Kf6=Kf1; Kf7=Kf1; Kf8=Kf1; Kf9=Kf1; Kf10=Kf1; Kf11=Kf1; Kf12=Kf1; Kf13=Kf1; Kf14=Kf1; Kf15=Kf1; Kf16=Kf1; Kf17=Kf1; Kf18=Kf1; Kf19=Kf1; Kf20=Kf1; Kf21=Kf1; Kf22=Kf1; Kf23=Kf1; Kf24=Kf1; Kf25=Kf1; Kf26=Kf1; Kf27=Kf1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % LAZO DE CONTROL T=0.005; MM=24000; % NMERO DE MUESTRAS U dk=24; for k=1:MM; % SE~ALES DESEADAS (Referencia constante) N if (k >=0 && k < (1/dk)*MM) R1 = pi/4; R2 = pi/2; R3 = pi/2; elseif (k >= (1/dk)*MM && k < (2/dk)*MM) R1 =0; R2 = pi; R3 = pi; elseif (k >= (2/dk)*MM && k < (3/dk)*MM) R1 = -pi/4; R2 =pi/2; R3 =pi/2; elseif (k >= (3/dk)*MM && k < (4/dk)*MM) R1 = 0; R2 = pi; R3 = 0; elseif (k >= (4/dk)*MM && k < (5/dk)*MM) R1 = -pi/4; R2 = 0; R3 = -pi/2; elseif (k >= (5/dk)*MM && k <= (6/dk)*MM) R1 = pi/4; R2 = pi/2; R3 = -pi; elseif (k >= (6/dk)*MM && k <=(7/dk)*MM) R1 = pi/4; R2 = pi/2; R3 = pi/4; elseif (k >= (7/dk)*MM && k <= (8/dk)*MM) R1 = 0; R2 = 0; R3 = 0; elseif (k >= (8/dk)*MM && k <= (9/dk)*MM) R1 = pi/4; R2 = pi/2; R3 = pi/2; elseif (k >= (9/dk)*MM && k < (10/dk)*MM) R1 =0; R2 = pi; R3 = pi;

100

elseif (k >= (10/dk)*MM && k R1 = -pi/4; R2 =pi/2; R3 =pi/2; elseif (k >= (11/dk)*MM && k R1 = 0; R2 = pi; R3 = 0; elseif (k >= (12/dk)*MM && k R1 = -pi/4; R2 = 0; R3 = -pi/2; elseif (k >= (13/dk)*MM && k R1 = pi/4; R2 = pi/2; R3 = -pi; elseif (k >= (14/dk)*MM && k R1 = pi/4; R2 = pi/2; R3 = pi/4; elseif (k >= (15/dk)*MM && k R1 = 0; R2 = 0; R3 = 0; elseif (k >= (16/dk)*MM && k R1 = pi/4; R2 = pi/2; R3 = pi/2; elseif (k >= (17/dk)*MM && k R1 =0; R2 = pi; R3 = pi; elseif (k >= (18/dk)*MM && k R1 = -pi/4; R2 =pi/2; R3 =pi/2; elseif (k >= (19/dk)*MM && k R1 = 0; R2 = pi; R3 = 0; elseif (k >= (20/dk)*MM && k R1 = -pi/4; R2 = 0; R3 = -pi/2; elseif (k >= (21/dk)*MM && k R1 = pi/4; R2 = pi/2; R3 = -pi; elseif (k >= (22/dk)*MM && k R1 = pi/4; R2 = pi/2; R3 = pi/4; elseif (k >= (23/dk)*MM && k R1 = 0; R2 = 0; R3 = 0; end R = [R1 R2 R3]; RR1(k)=R1;

< (11/dk)*MM)

< (12/dk)*MM)

< (13/dk)*MM)

<= (14/dk)*MM)

<=(15/dk)*MM)

<= (16/dk)*MM)

<= (17/dk)*MM)

< (18/dk)*MM)

< (19/dk)*MM)

< (20/dk)*MM)

< (21/dk)*MM)

<= (22/dk)*MM)

<=(23/dk)*MM)

<= (24/dk)*MM)

RR2(k)=R2; RR3(k)=R3;

101

% DINMICA DEL MODELO REFERENCIAL A Xm = Xm + T*(Am*Xm+Bm*R); XXm1(k)= Xm(1); XXm2(k)= Xm(2); XXm3(k)= Xm(3); XXm4(k)= Xm(4); XXm5(k)= Xm(5); XXm6(k)= Xm(6); % Desarrollo de la se~al de control de realimentacin n o %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % PARMETROS DEL FUZZY ESTABILIZADOR A x1 = X1*Gx1; x2 = X2*Gx2; x3 = X3*Gx3; % FUZZYFICACION DEL ESTADO X1 if (x1>0 && x1<=100), uM13=0+0.01*(x1-0); else uM13=0; end if (x1>0 && x1<=100), elseif (x1>-100 && x1<=0), else uM12=0; end if (x1>=-100 && x1<=0), else uM11=0; end % uM12=1-0.01*(x1-0); uM12=0+0.01*(x1-(-100));

uM11=1-0.01*(x1-(-100));

FUZZYFICACION DEL ESTADO X2 if (x2>0 && x2<=100), uM23=0+0.01*(x2-0); else uM23=0; end if (x2>0 && x2<=100), elseif (x2>-100 && x2<=0), else uM22=0; end if (x2>=-100 && x2<=0), else uM21=0; end uM22=1-0.01*(x2-0); uM22=0+0.01*(x2-(-100));

uM21=1-0.01*(x2-(-100));

FUZZYFICACION DEL ESTADO X3 if (x3>0 && x3<=100), uM33=0+0.01*(x3-0); else uM33=0; end if (x3>0 && x3<=100), elseif (x3>-100 && x3<=0), else uM32=0; end if (x3>=-100 && x3<=0), else uM31=0; end uM32=1-0.01*(x3-0); uM32=0+0.01*(x3-(-100));

uM31=1-0.01*(x3-(-100));

OPERADOR + IMPLICACION ADP_SALIDA_1 gama1 =uM13*uM23*uM33; ASf1 =gama1*-Kf1*X; gama2 =uM13*uM23*uM32; ASf2 =gama2*-Kf2*X; gama3 =uM13*uM23*uM31; ASf3 =gama3*-Kf3*X; gama4 =uM13*uM22*uM33; ASf4 =gama4*-Kf4*X; gama5 =uM13*uM22*uM32; ASf5 =gama5*-Kf5*X; gama6 =uM13*uM22*uM31; ASf6 =gama6*-Kf6*X; gama7 =uM13*uM21*uM33; ASf7 =gama7*-Kf7*X;

102

gama8 gama9 gama10 gama11 gama12 gama13 gama14 gama15 gama16 gama17 gama18 gama19 gama20 gama21 gama22 gama23 gama24 gama25 gama26 gama27 %

=uM13*uM21*uM32; ASf8 =uM13*uM21*uM31; ASf9 =uM12*uM23*uM33; =uM12*uM23*uM32; =uM12*uM23*uM31; =uM12*uM22*uM33; =uM12*uM22*uM32; =uM12*uM22*uM31; =uM12*uM21*uM33; =uM12*uM21*uM32; =uM12*uM21*uM31; =uM11*uM23*uM33; =uM11*uM23*uM32; =uM11*uM23*uM31; =uM11*uM22*uM33; =uM11*uM22*uM32; =uM11*uM22*uM31; =uM11*uM21*uM33; =uM11*uM21*uM32; =uM11*uM21*uM31; ASf10 ASf11 ASf12 ASf13 ASf14 ASf15 ASf16 ASf17 ASf18 ASf19 ASf20 ASf21 ASf22 ASf23 ASf24 ASf25 ASf26 ASf27

=gama8*-Kf8*X; =gama9*-Kf9*X; =gama10*-Kf10*X; =gama11*-Kf11*X; =gama12*-Kf12*X; =gama13*-Kf13*X; =gama14*-Kf14*X; =gama15*-Kf15*X; =gama16*-Kf16*X; =gama17*-Kf17*X; =gama18*-Kf18*X; =gama19*-Kf19*X; =gama20*-Kf20*X; =gama21*-Kf21*X; =gama22*-Kf22*X; =gama23*-Kf23*X; =gama24*-Kf24*X; =gama25*-Kf25*X; =gama26*-Kf26*X; =gama27*-Kf27*X;

ACUMULACION + DEFUZZYFICACION ADP_SALIDA_1 Sgama=(gama1+gama2+gama3+gama4+gama5+gama6+gama7+gama8+gama9+... gama10+gama11+gama12+gama13+gama14+gama15+gama16+gama17+... gama18+gama19+gama20+gama21+gama22+gama23+gama24+gama25+... gama26+gama27);

SASf= (ASf1+ASf2+ASf3+ASf4+ASf5+ASf6+ASf7+ASf8+ASf9+ASf10+... ASf11+ASf12+ASf13+ASf14+ASf15+ASf16+ASf17+ASf18+ASf19+ASf20+... ASf21+ASf22+ASf23+ASf24+ASf25+ASf26+ASf27); Uef = SASf/Sgama; %Se~al -K*X n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % LEY DE CONTROL U = Uef+Lf1*R+Uey; UUf1(k)=U(1); UUf2(k)=U(2); UUf3(k)=U(3); % LEY ADAPTIVA ex = X-Xm; eex1(k)=ex(1); eex2(k)=ex(2); eex3(k)=ex(3); ey = -ex(1:3); Uey = Key*ey; dLf1 = -Bm*P*ex*R; Lf1 = Lf1+T*dLf1; BmPexX =(Bm*P*ex*X); dKf1 = (gama1/Sgama)*(BmPexX); Kf1 = Kf1 + T*dKf1; dKf2 = (gama2/Sgama)*(BmPexX); Kf2 = Kf2 + T*dKf2; dKf3 = (gama3/Sgama)*(BmPexX); Kf3 = Kf3 + T*dKf3; dKf4 = (gama4/Sgama)*(BmPexX); Kf4 = Kf4 + T*dKf4; dKf5 = (gama5/Sgama)*(BmPexX); Kf5 = Kf5 + T*dKf5; dKf6 = (gama6/Sgama)*(BmPexX); Kf6 = Kf6 + T*dKf6; dKf7 = (gama7/Sgama)*(BmPexX); Kf7 = Kf7 + T*dKf7; dKf8 = (gama8/Sgama)*(BmPexX); Kf8 = Kf8 + T*dKf8; dKf9 = (gama9/Sgama)*(BmPexX); Kf9 = Kf9 + T*dKf9; dKf10 = (gama10/Sgama)*(BmPexX); Kf10 = Kf10 + T*dKf10; dKf11 = (gama11/Sgama)*(BmPexX); Kf11 = Kf11 + T*dKf11; dKf12 = (gama12/Sgama)*(BmPexX); Kf12 = Kf12 + T*dKf12; dKf13 = (gama13/Sgama)*(BmPexX); Kf13 = Kf13 + T*dKf13; dKf14 = (gama14/Sgama)*(BmPexX); Kf14 = Kf14 + T*dKf14; dKf15 = (gama15/Sgama)*(BmPexX); Kf15 = Kf15 + T*dKf15;

103

dKf16 = (gama16/Sgama)*(BmPexX); Kf16 = Kf16 + T*dKf16; dKf17 = (gama17/Sgama)*(BmPexX); Kf17 = Kf17 + T*dKf17; dKf18 = (gama18/Sgama)*(BmPexX); Kf18 = Kf18 + T*dKf18; dKf19 = (gama19/Sgama)*(BmPexX); Kf19 = Kf19 + T*dKf19; dKf20 = (gama20/Sgama)*(BmPexX); Kf20 = Kf20 + T*dKf20; dKf21 = (gama21/Sgama)*(BmPexX); Kf21 = Kf21 + T*dKf21; dKf22 = (gama22/Sgama)*(BmPexX); Kf22 = Kf22 + T*dKf22; dKf23 = (gama23/Sgama)*(BmPexX); Kf23 = Kf23 + T*dKf23; dKf24 = (gama24/Sgama)*(BmPexX); Kf24 = Kf24 + T*dKf24; dKf25 = (gama25/Sgama)*(BmPexX); Kf25 = Kf25 + T*dKf25; dKf26 = (gama26/Sgama)*(BmPexX); Kf26 = Kf26 + T*dKf26; dKf27 = (gama27/Sgama)*(BmPexX); Kf27 = Kf27 + T*dKf27; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % DINAMICA DEL SISTEMA NO LINEAL M11 = (Ra/(n*Km*KA))*(J1+Jeq+m2*L2^2*sin(X2)^2/4+m3*L2^2*sin(X2)^2+... m3*L3^2*sin(X3)^2/4+m3*L2*L3*sin(X2)*sin(X3)); M22 = (Ra/(n*Km*KA))*(J2+Jeq+m2*L2^2/4+m3*L2^2); M23 = (Ra/(n*Km*KA))*(m3*L2*L3*cos(X2)*cos(X3)/2+... m3*L2*L3*sin(X2)*sin(X3)/2); M32 = M23; M33 = (Ra/(n*Km*KA))*(J3+Jeq+m3*L3^2/4); P11 = (Ra/(n*Km*KA))*(Beq+n^2*Km*Kb/Ra+2*m3*L2^2*X5*sin(X2)*cos(X2)); P12 = (Ra/(n*Km*KA))*(m2*L2^2*X4*sin(X2)*cos(X2)/2+... m3*L2*L3*X4*cos(X2)*sin(X3)); P13 = (Ra/(n*Km*KA))*(m3*L3^2*X4*sin(X3)*cos(X3)/2+... m3*L2*L3*X4*cos(X3)*sin(X2)); P21 = (Ra/(n*Km*KA))*(-m2*L2^2*X4*sin(X2)*cos(X2)/4-... m3*L2^2*X4*sin(X2)*cos(X2)-m3*L2*L3*X4*cos(X2)*cos(X3)/2); P22 = (Ra/(n*Km*KA))*(Beq+n^2*Km*Kb/Ra); P23 = (Ra/(n*Km*KA))*(m3*L2*L3*X6*sin(X2)*cos(X3)/2-... m3*L2*L3*X6*cos(X2)*sin(X3)/2); P31 = (Ra/(n*Km*KA))*(-m3*L3^2*X4*sin(X3)*cos(X3)/4-... m3*L2*L3*X4*cos(X3)*sin(X2)/2); P32 = (Ra/(n*Km*KA))*(m3*L2*L3*X5*sin(X3)*cos(X2)/2-... m3*L2*L3*X5*cos(X3)*sin(X2)/2); P33 = P22; d21 = (Ra/(n*Km*KA))*(m2*g*L2*sin(X2)/2+m3*g*L2*sin(X2)); d31 = (Ra/(n*Km*KA))*(-m3*g*L3*sin(X3)/2); M = [M11 0 0; 0 M22 M23; 0 M32 M33]; invM = inv(M); N = [P11 P12 P13; P21 P22 P23; P31 P32 P33]; d = [0; d21; d31]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % PROCESO NO LINEAL DISCRETIZADO X = X + T*([X(4);X(5);X(6); -invM*N*[X(4);X(5);X(6)]-invM*d]... +[0 0 0; 0 0 0; 0 0 0; invM]*U); X1 = X(1); XX1(k)=X1; X2 = X(2); XX2(k)=X2; X3 = X(3); XX3(k)=X3; X4 = X(4); XX4(k)=X4; X5 = X(5); XX5(k)=X5; X6 = X(6); XX6(k)=X6; %Simula un cambio de parmetro de la planta a CP=MM/3;

104

if k>=CP Ra=15*2.49; n=5*65.5; Km=15*0.0458; Kb=15*0.0458; KA=15*8.5; mr=15*1.48; ma=15*1.5; m1=ma + mr; m2=15*0.89; ma3=15*0.8; mh=15*0.15; m3=ma3 + mh; g=9.81; rr=15*0.0427; la=0.054; ra=15*0.015; lr=0.3378; z1=(ma*la + mr*lr)/(ma + mr); L2=15*0.24; La=0.24; Lh=0.05; L3= La + Lh; J1=ma*ra^2/2 + mr*(rr^2)/2; J2=m2*L2^2/3; J3=m3*L3^2/3; Jm=15*0.0000071; Jg=15*0.053; Bmm=15*0.0001; Bg=15*0.01; Jeq=n^2*Jm + Jg; Beq=n^2*Bmm + Bg; end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %GRFICAS EN GENERAL A ejex = linspace(0,MM*T,MM); figure; subplot(211);plot(ejex,RR1(1:MM),k,ejex,XX1(1:MM),b,ejex,XXm1,m); hold on; plot(ejex(CP),XX1(CP),x); text(ejex(CP),XX1(CP), CP); grid on; title(Posicin codo); ylabel(Posicin q_1 [rad]); o o subplot(212);plot(ejex,UUf1(1:MM)); grid on; title(Se~al de control codo); n ylabel(Voltage u_p_1 [V]); xlabel(Tiempo [seg]) figure; subplot(211);plot(ejex,RR2(1:MM),k,ejex,XX2(1:MM),b,ejex,XXm2,m); hold on; plot(ejex(CP),XX2(CP),x); text(ejex(CP),XX2(CP), CP); grid on; title(Posicin hombro); ylabel(Posicin q_2 [rad]); o o subplot(212);plot(ejex,UUf2(1:MM)); grid on; title(Se~al de control hombro); n ylabel(Voltage u_p_2 [V]); xlabel(Tiempo [seg]) figure; subplot(211);plot(ejex,RR3(1:MM),k,ejex,XX3(1:MM),b,ejex,XXm3,m); hold on; plot(ejex(CP),XX3(CP),x); text(ejex(CP),XX3(CP), CP); grid on; title(Posicin cintura); ylabel(Posicin q_3 [rad]); o o subplot(212);plot(ejex,UUf3(1:MM)); grid on; title(Se~al de control cintura); n ylabel(Voltage u_p_3 [V]); xlabel(Tiempo [seg]) figure; subplot(311);plot(ejex,eex1(1:MM)); grid on title(Error de posicin); ylabel(Error q_1); o subplot(312);plot(ejex,eex2(1:MM)); grid on ylabel(Error q_2); subplot(313);plot(ejex,eex3(1:MM)); grid on ylabel(Error q_3); xlabel(Tiempo [seg]) %%%%%%%%%%%%%%%%%%%%%%%% E N D %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

A.2.

Simulacin MRAC Kauman - Cap o tulo 6

% MRACKauffman.m CONTROL ADAPTIVO KAUFFMAN DEL BRAZO ROBTICO DE 3GL. O % Elaborado por: Hubert Hugo Ventura Hinostroza %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear all; close all; clc; % DATOS DEL SISTEMA

105

Ra=2.49; n=65.5; Km=0.0458; Kb=0.0458; KA=8.5; mr=1.48; ma=1.5; m1=ma + mr; m2=0.89; ma3=0.8; mh=0.15; m3=ma3 + mh; g=9.81; rr=0.0427; la=0.054; ra=0.015; lr=0.3378; z1=(ma*la + mr*lr)/(ma + mr); L2=0.24; La=0.24; Lh=0.05; L3= La + Lh; J1=ma*ra^2/2 + mr*(rr^2)/2; J2=m2*L2^2/3; J3=m3*L3^2/3; Jm=0.0000071; Jg=0.053; Bmm=0.0001; Bg=0.01; Jeq=n^2*Jm + Jg; Beq=n^2*Bmm + Bg; % MODELO DE REFERENCIA - Am, Bm, Cm, Dm wly=5; %Frecuencia natural dly=1; %Factor de amortiguamiento Am = [0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 -wly^2 0 0 -2*dly*wly 0 0 0 -wly^2 0 0 -2*dly*wly 0 0 0 -wly^2 0 0 -2*dly*wly]; Bm = [0 0 0 0 0 0 0 0 0 wly^2 0 0 0 wly^2 0 0 0 wly^2]; Cm = [1 0 0 0 0 0; 0 1 0 0 0 0; 0 0 1 0 0 0]; Dm = zeros(3,3); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % SIMULACION % CONDICIONES INICIALES %Modelo Xm = [0 0 0 0 0 0]; %Planta X1=0; X2=0; X3=0; X4=0; X5=0; X6=0; X=[X1 X2 X3 X4 X5 X6]; %Controlador Dp=[0.1 0 0; 0 0.1 0; 0 0 0.1];%Pertenece a parmetros de planta aumentada a Gxx=0.3; Gdx=0.1; Gey1=200; Gey2=400; Gey3=200; Gu1=15; Gu2=4; Gu3=3; Ge=[Gey1 0 0; 0 Gey2 0; 0 0 Gey3]; Gx = [Gxx 0 0 0 0 0 0 Gxx 0 0 0 0 0 0 Gxx 0 0 0 0 0 0 Gdx 0 0 0 0 0 0 Gdx 0 0 0 0 0 0 Gdx]; Gu=[Gu1 0 0; 0 Gu2 0; 0 0 Gu3]; T= [Ge zeros(3,6) zeros(3,3); zeros(6,3) Gx zeros(6,3); zeros(3,3) zeros(3,6) Gu]; TBAR = T; %Son ganancias proporcional e integral tau = 0.1; %Sintoniza con la planta real y el modelo Ym=[0;0;0]; Yhp=[0;0;0]; Yhm=[0;0;0]; Up=[0;0;0]; Up_Keez=Up; %Adaptador

106

Ke=[0 0 0;0 0 0;0 0 0]; KI=[0 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 0]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % LAZO DE CONTROL Ts=0.005; MM=24000; % NMERO DE MUESTRAS U dk=24; for k=1:MM; % SE~ALES DESEADAS (Referencia constante) N if (k >=0 && k < (1/dk)*MM) R1 = pi/4; R2 = pi/2; R3 = pi/2; elseif (k >= (1/dk)*MM && k < (2/dk)*MM) R1 =0; R2 = pi; R3 = pi; elseif (k >= (2/dk)*MM && k < (3/dk)*MM) R1 = -pi/4; R2 =pi/2; R3 =pi/2; elseif (k >= (3/dk)*MM && k < (4/dk)*MM) R1 = 0; R2 = pi; R3 = 0; elseif (k >= (4/dk)*MM && k < (5/dk)*MM) R1 = -pi/4; R2 = 0; R3 = -pi/2; elseif (k >= (5/dk)*MM && k <= (6/dk)*MM) R1 = pi/4; R2 = pi/2; R3 = -pi; elseif (k >= (6/dk)*MM && k <=(7/dk)*MM) R1 = pi/4; R2 = pi/2; R3 = pi/4; elseif (k >= (7/dk)*MM && k <= (8/dk)*MM) R1 = 0; R2 = 0; R3 = 0; elseif (k >= (8/dk)*MM && k <= (9/dk)*MM) R1 = pi/4; R2 = pi/2; R3 = pi/2; elseif (k >= (9/dk)*MM && k < (10/dk)*MM) R1 =0; R2 = pi; R3 = pi; elseif (k >= (10/dk)*MM && k < (11/dk)*MM) R1 = -pi/4; R2 =pi/2; R3 =pi/2; elseif (k >= (11/dk)*MM && k < (12/dk)*MM) R1 = 0; R2 = pi; R3 = 0;

107

elseif (k >= (12/dk)*MM && k < (13/dk)*MM) R1 = -pi/4; R2 = 0; R3 = -pi/2; elseif (k >= (13/dk)*MM && k <= (14/dk)*MM) R1 = pi/4; R2 = pi/2; R3 = -pi; elseif (k >= (14/dk)*MM && k <=(15/dk)*MM) R1 = pi/4; R2 = pi/2; R3 = pi/4; elseif (k >= (15/dk)*MM && k <= (16/dk)*MM) R1 = 0; R2 = 0; R3 = 0; elseif (k >= (16/dk)*MM && k <= (17/dk)*MM) R1 = pi/4; R2 = pi/2; R3 = pi/2; elseif (k >= (17/dk)*MM && k < (18/dk)*MM) R1 =0; R2 = pi; R3 = pi; elseif (k >= (18/dk)*MM && k < (19/dk)*MM) R1 = -pi/4; R2 =pi/2; R3 =pi/2; elseif (k >= (19/dk)*MM && k < (20/dk)*MM) R1 = 0; R2 = pi; R3 = 0; elseif (k >= (20/dk)*MM && k < (21/dk)*MM) R1 = -pi/4; R2 = 0; R3 = -pi/2; elseif (k >= (21/dk)*MM && k <= (22/dk)*MM) R1 = pi/4; R2 = pi/2; R3 = -pi; elseif (k >= (22/dk)*MM && k <=(23/dk)*MM) R1 = pi/4; R2 = pi/2; R3 = pi/4; elseif (k >= (23/dk)*MM && k <= (24/dk)*MM) R1 = 0; R2 = 0; R3 = 0; end R = [R1 R2 R3]; RR1(k)=R1; RR2(k)=R2; RR3(k)=R3; % DINMICA DEL MODELO REFERENCIAL A Xm = Xm + Ts*(Am*Xm+Bm*R); Ym = Cm*Xm; XXm1(k)= Xm(1); XXm2(k)= Xm(2); XXm3(k)= Xm(3); XXm4(k)= Xm(4); XXm5(k)= Xm(5); XXm6(k)= Xm(6); % MATRIZ ESTABILIZADORA H(s) % salida de la planta Yhp = Yhp + Ts*(-Yhp/tau + Dp*Up/tau);

108

% salida del modelo referencial Yhm = Yhm + Ts*(-Yhm/tau + Dp*(Up_Keez)/tau); % salida de la planta aumentada zp = Yhp + [X1;X2;X3]; % salida del modelo referencial aumentado zm = Yhm + Ym; ez = zm - zp; ey = Ym-[X1;X2;X3]; Ey1(k)=ey(1); Ey2(k)=ey(2); Ey3(k)=ey(3); r = [ez; Xm; R]; % LEY DE CONTROL KP = ez*r*TBAR; dKI = ez*r*T; KI = KI + Ts*dKI; Kr = KP + KI; Ke = Kr(:,1:3); Up = Kr*r; Up1(k) = Up(1); Up2(k) = Up(2); Up3(k) = Up(3); Up_Keez=Up-Ke*ez; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % DINMICA DEL SISTEMA A CONTROLAR dq1=X4; dq2=X5; dq3=X6 A M11 = (Ra/(n*Km*KA))*(J1+Jeq+m2*L2^2*sin(X2)^2/4+m3*L2^2*sin(X2)^2+... m3*L3^2*sin(X3)^2/4+m3*L2*L3*sin(X2)*sin(X3)); M22 = (Ra/(n*Km*KA))*(J2+Jeq+m2*L2^2/4+m3*L2^2); M23 = (Ra/(n*Km*KA))*(m3*L2*L3*cos(X2)*cos(X3)/2+... m3*L2*L3*sin(X2)*sin(X3)/2); M32 = M23; M33 = (Ra/(n*Km*KA))*(J3+Jeq+m3*L3^2/4); P11 = (Ra/(n*Km*KA))*(Beq+n^2*Km*Kb/Ra+2*m3*L2^2*X5*sin(X2)*cos(X2)); P12 = (Ra/(n*Km*KA))*(m2*L2^2*X4*sin(X2)*cos(X2)/2+... m3*L2*L3*X4*cos(X2)*sin(X3)); P13 = (Ra/(n*Km*KA))*(m3*L3^2*X4*sin(X3)*cos(X3)/2+... m3*L2*L3*X4*cos(X3)*sin(X2)); P21 = (Ra/(n*Km*KA))*(-m2*L2^2*X4*sin(X2)*cos(X2)/4-... m3*L2^2*X4*sin(X2)*cos(X2)-m3*L2*L3*X4*cos(X2)*cos(X3)/2); P22 = (Ra/(n*Km*KA))*(Beq+n^2*Km*Kb/Ra); P23 = (Ra/(n*Km*KA))*(m3*L2*L3*X6*sin(X2)*cos(X3)/2-... m3*L2*L3*X6*cos(X2)*sin(X3)/2); P31 = (Ra/(n*Km*KA))*(-m3*L3^2*X4*sin(X3)*cos(X3)/4-... m3*L2*L3*X4*cos(X3)*sin(X2)/2); P32 = (Ra/(n*Km*KA))*(m3*L2*L3*X5*sin(X3)*cos(X2)/2-... m3*L2*L3*X5*cos(X3)*sin(X2)/2); P33 = P22; d21 = (Ra/(n*Km*KA))*(m2*g*L2*sin(X2)/2+m3*g*L2*sin(X2)); d31 = (Ra/(n*Km*KA))*(-m3*g*L3*sin(X3)/2); M = [M11 0 0; 0 M22 M23; 0 M32 M33]; invM = inv(M); N = [P11 P12 P13; P21 P22 P23; P31 P32 P33]; d = [0; d21; d31]; % PROCESO NO LINEAL DISCRETIZADO X = X + Ts*([X(4);X(5);X(6); -invM*N*[X(4);X(5);X(6)]-invM*d]... +[0 0 0; 0 0 0; 0 0 0; invM]*Up); X1 = X(1); XX1(k)=X1; X2 = X(2); XX2(k)=X2; X3 = X(3); XX3(k)=X3; X4 = X(4); XX4(k)=X4;

109

X5 = X(5); XX5(k)=X5; X6 = X(6); XX6(k)=X6; %Simula un cambio de parmetro de la planta a CP=MM/3; if k>=MM/5 Ra=15*2.49; n=5*65.5; Km=15*0.0458; Kb=15*0.0458; KA=15*8.5; mr=15*1.48; ma=15*1.5; m1=ma + mr; m2=15*0.89; ma3=15*0.8; mh=15*0.15; m3=ma3 + mh; g=9.81; rr=15*0.0427; la=0.054; ra=15*0.015; lr=0.3378; z1=(ma*la + mr*lr)/(ma + mr); L2=15*0.24; La=0.24; Lh=0.05; L3= La + Lh; J1=ma*ra^2/2 + mr*(rr^2)/2; J2=m2*L2^2/3; J3=m3*L3^2/3; Jm=15*0.0000071; Jg=15*0.053; Bmm=15*0.0001; Bg=15*0.01; Jeq=n^2*Jm + Jg; Beq=n^2*Bmm + Bg; end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %GRFICAS EN GENERAL A ejex = linspace(0,MM*Ts,MM); figure; subplot(211);plot(ejex,RR1(1:MM),k,ejex,XX1(1:MM),b,ejex,XXm1,m); hold on; plot(ejex(CP),XX1(CP),x); text(ejex(CP),XX1(CP), CP); grid on; title(Posicin codo); ylabel(Posicin q_1 [rad]); o o subplot(212);plot(ejex,Up1(1:MM)); grid on; title(Se~al de control codo); n ylabel(Voltage u_p_1 [V]); xlabel(Tiempo [seg]) figure; subplot(211);plot(ejex,RR2(1:MM),k,ejex,XX2(1:MM),b,ejex,XXm2,m); hold on; plot(ejex(CP),XX2(CP),x); text(ejex(CP),XX2(CP), CP); grid on; title(Posicin hombro); ylabel(Posicin q_2 [rad]); o o subplot(212);plot(ejex,Up2(1:MM)); grid on; title(Se~al de control hombro); n ylabel(Voltage u_p_2 [V]); xlabel(Tiempo [seg]) figure; subplot(211);plot(ejex,RR3(1:MM),k,ejex,XX3(1:MM),b,ejex,XXm3,m); hold on; plot(ejex(CP),XX3(CP),x); text(ejex(CP),XX3(CP), CP); grid on; title(Posicin cintura); ylabel(Posicin q_3 [rad]); o o subplot(212);plot(ejex,Up3(1:MM)); grid on; title(Se~al de control cintura); n ylabel(Voltage u_p_3 [V]); xlabel(Tiempo [seg]) figure; subplot(311);plot(ejex,Ey1(1:MM)); grid on title(Error de posicin); ylabel(Error q_1); o subplot(312);plot(ejex,Ey2(1:MM)); grid on ylabel(Error q_2); subplot(313);plot(ejex,Ey3(1:MM)); grid on ylabel(Error q_3); xlabel(Tiempo [seg]) %%%%%%%%%%%%%%%%%%%%%%%% E N D %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

110

También podría gustarte