Está en la página 1de 257

Seguimiento Adaptativo de Trayectorias con

Convergencia en Tiempo Finito de un


Robot Antropomrfico Virtual de
Tres grados de Libertad
Pachuca de Soto, Hidalgo 2007
Centro de Investigacin en
Tecnologas de Informacin y
Sistemas
Universidad Autnoma del Estado
de Hidalgo
Instituto de Ciencias Bsicas
e Ingeniera
Tesis para obtener el ttulo de
Licenciados en Sistemas Computacionales
Presentan:
Gonzlez Rodrguez Araceli
Pineda Ortega Manuel
Soberanes Leal Dely Madai
Asesores:
Dr. Omar Arturo Domnguez Ramrez
M.C.C. Herbert Lara Ordaz
L.C. Luis Ramn Macas Pulido
Agradecimientos
Dios me ha dado dos grandes regalos, el primero de ellos: mis padres Ma. Luisa y Remedios, ustedes que me
han dado la herencia ms grande que un padre puede darle a un hijo la educacin, me dieron armas para
poder desarrollarme profesionalmente no importando el gran esfuerzo que estaban haciendo para drmelas,
ahora los comprendo y les agradezco infinitamente por todo su amor y apoyo a lo largo de mi vida y de mi
carrera, quiz esto es poco en comparacin de todo lo que ustedes me han dado pero se las dedico con
mucho amor.
El segundo, mi esposo Agus y mi princesa Valeria quienes me han dado el ultimo empujoncito que
necesitaba para cerrar este capitulo de mi vida y poderlo compartir con las personas que ms amo.
"Siempre di lo que sientes y haz lo que piensas. Si supiera que hoy fuera la ltima vez que te voy a ver
dormir, te abrazara fuertemente y rezara al Seor para poder ser el guardin de tu alma. Si supiera que esta
fuera la ltima vez que te vea salir por la puerta, te dara un abrazo, un beso y te llamara de nuevo para darte
ms. Si supiera que esta fuera la ltima vez que voy a or tu voz, grabara cada una de tus palabras para
poder orlas una y otra vez indebidamente. Si supiera que estos son los ltimos minutos que te veo dira "te
quiero y no asumira, tontamente, que ya lo sabes".
Gabriel Garca Mrquez
Araceli
Gracias a Dios por permitir cerrar un ciclo en mi vida, gracias a dios por dejarme estar en este mundo, por
darme unos padres maravillosos que se han esforzado por darme esta herencia pero sobre todo por estar
siempre conmigo en las buenas y en las malas.
A mis padres por el esfuerzo que realizaron por mi; A ti Mam por demostrarnos que no importa que tan
difcil es la prueba que nos pone dios sino el coraje y la fe para seguir adelante. A ti Pap por ensearnos a
luchar siempre por lo que se quiere y a ser hombres de bien. Este trabajo se los dedico a ustedes.
A mis hermanos les agradezco por su apoyo incondicional y por recordarme que siempre puedo contar con
ellos.
Gracias abuelo por confiar siempre y por la fortaleza que demostraste toda la vida, siempre fuiste importante
en nuestras vidas.
Al Dr. Ornar por esperar tanto tiempo y por estar siempre preocupado por que cerrramos esta etapa de
nuestra vida, sin tu apoyo hubiese sido ms pesado el camino.
A mis amigos por estar ah en las buenas y en las malas, agradezco la paciencia y apoyo pero sobre todo su
amistad a Dely y Araceli que son parte de este logro.
Manuel
Agradezco primeramente a Dios por ser mi mejor amigo, mi fortaleza, darme todo lo que tengo y levantarme
tras cada cada.
A mi madre por ser la mejor, estar siempre conmigo y apoyarme, porque sin ella y sus enseanzas no estara
aqu ni seria quien soy ahora; a mi mami le dedico esta tesis.
A mis amigos Elizabeth, J orge, Sergio y Yanet porque son como mis hermanos y juntos hemos conocido la
verdadera amistad, valor importante para mi vida, gracias por estar conmigo, por aconsejarme, regaarme,
compartir risas y llanto todo este tiempo. A mi amiga J aktziry por haber cambiado mi vida

A mi amigo eterno de la universidad: Manuel, por apoyarme y estar conmigo a lo largo de la carrera y an
despus ... A mis tos por ser como mis padres y aunque algunos ya no estn conmigo han contribuido para
que yo haya llegado hasta aqu.
Gracias a todos! Los quiero mucho.
Dely
Resumen
Este trabajo de investigaci on se presenta como tesis para la obtenci on del ttulo de Licenciado en Sistemas
Computacionales; debido a la naturaleza del trabajo se realiz o una revisi on de la literatura sobre los robots ma-
nipuladores presentando as aspectos como antecedentes, caractersticas, clasicaciones y puntos generales sobre
estos, as como algunos de los proyectos existentes que abordan temas similares al que se expone.
Dado el prop osito del integrar una plataforma virtual din amica para la evaluaci on de estrategias de control,
se presenta el desarrollo matem atico de los modelos cinem atico y din amico, que nos ayudan a representar a los
robots para la realizaci on de simulaciones matem aticas, de igual forma se presenta estrategias de control cl asicas
y modernas, lo cual se aplica para el seguimiento de trayectorias.
El software propuesto por este trabajo permite la visualizaci on en lnea del robot, llevando acabo la soluci on
en lazo cerrado de un robot de tres grados de libertad con un control no lineal por modos deslizantes de segundo
grado, para el seguimiento de una trayectoria (circunferencia). Para esta soluci on se implement o el metodo de
Runge - Kutta de orden superior para un sistema de ecuaciones diferenciales. Los modelos matem aticos men-
cionados se basan en la formulaci on de Euler - Lagrange para el modelo din amico y la formulaci on de Denavit -
Hartemberg para le modelo cinem atico.
Se realiza un estudio comparativo entre dos controles cl asicos: proporcional derivativo y proporcional integral
derivativo; otro entre dos controles modernos: no lineal por modos deslizantes de segundo orden y adaptable
pasivo robusto. Otra aportaci on de este trabajo es la implementaci on de un generador de tiempo base que ayuda
a la convergencia de robots manipuladores en aplicaciones que requieren de precisi on en tiempo y espacio, el ge-
nerador de tiempo base se aplica a los dos controles modernos antes mencionados para el seguimiento de trayec-
toria.
El software antes mencionado est a dise nado para que el usuario experimente con el robot virtual y un control
no lineal por modos deslizantes de segundo grado, al permitir la manipulaci on de las ganancias del controlador
y as mejorar la sintonizaci on del robot, el tiempo de simulaci on y en su caso el tiempo de convergencia, las
herramientas utilizadas par el desarrollo del software son Visual C++, OpenGL para el robot virtual y para la
interfaz de usuario Delphi 7.0, de igual forma se apoyo en Matlab para la realizaci on de simulaci on fuera de lnea
y comprobaci on de resultados.

Indice general
1. Introducci on 9
1.1. Objetivo General. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3. Justicaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5. Estudio del estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5.1. Laboratorios virtuales de rob otica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6. Organizaci on de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2. Generalidades de modelado matematico de robots manipuladores 18
2.1. Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2. Conceptos preliminares de rob otica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.2. Clasicaci on de los robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.3. Morfologa de los robots manipuladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2.4. Subsistemas de un robot manipulador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.2.5. Aplicaciones de los robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.3. Modelo cinem atico de robots manipuladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.3.1. Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.3.2. Descripciones: posici on, orientaci on y marcos . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.3.3. Cadena cinem atica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.3.4. Marcos ortonormales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.3.5. Par ametros Denavit-Hartenberg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.3.6. Matriz de transformaci on homogenea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.3.7. Matrices elementales de un robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.3.8. Modelo cinem atico directo de posici on (MCDP) . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.3.9. Modelo cinem atico inverso de posici on (MCIP) . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.3.10. Modelo cinem atico directo de velocidad (MCDV) . . . . . . . . . . . . . . . . . . . . . . . . 52
2.3.11. Modelo cinem atico inverso de velocidad (MCIV) . . . . . . . . . . . . . . . . . . . . . . . . 53
2.3.12. Modelo cinem atico directo de aceleraci on (MCDA) . . . . . . . . . . . . . . . . . . . . . . . 53
2.3.13. Modelo cinem atico inverso de aceleraci on (MCIA) . . . . . . . . . . . . . . . . . . . . . . . 54
2.4. Modelo din amico de robots manipuladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.4.1. Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.4.2. Conceptos preliminares de la din amica de cuerpos rgidos . . . . . . . . . . . . . . . . . . . 54
2.4.3. Formulaci on Euler-Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.4.4. Propiedades din amicas de un robot manipulador. . . . . . . . . . . . . . . . . . . . . . . . . 57
2.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1
3. Generalidades de control de robots manipuladores 59
3.1. Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.2. Conceptos preliminares de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.3. Tipos de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.4. Control Proporcional Derivativo (PD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.5. Control Proporcional Integral Derivativo (PID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.6. Control por modos deslizantes de segundo orden o PID no lineal. . . . . . . . . . . . . . . . . . . . 64
3.7. Control adaptable P-R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.7.1. Historia del control adaptable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.7.2. Para que sirve el control adaptable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.7.3. Control adaptable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.8. Conclusiones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4. Visualizaci on virtual, analisis y dise no del sistema de Seguimiento de trayectorias. 68
4.1. Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2. Conceptos preliminares de realidad virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2.1. Clasicaci on de la realidad virtual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.2. Caractersticas generales del ambiente virtual. . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.3. Herramientas de edici on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.2.4. Lenguajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.2.5. Visual C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.2.6. Delphi 7.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.3. Construcci on del Ambiente virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.3.1. Animaci on al ambiente virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.3.2. Construcci on del robot virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.4. Comportamiento complejo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.5. An alisis y dise no de la interfaz de Seguimiento trayectorias . . . . . . . . . . . . . . . . . . . . . 82
4.5.1. An alisis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.5.2. Dise no. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5. Modelado y control del robot antropom orco virtual 104
5.1. Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.2. Modelo cinem atico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.2.1. Par ametros de Denavit-Hartemberg (DH). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.2.2. Matrices elementales y de transformaci on homogenea. . . . . . . . . . . . . . . . . . . . . . 104
5.2.3. Modelo cinematico directo de posici on (MCDP) . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.2.4. Modelo cinem atico inverso de posici on (MCIP) . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.2.5. Modelo cinem atico directo de velocidad (MCDV) . . . . . . . . . . . . . . . . . . . . . . . . 115
5.2.6. Modelo cinem atico inverso de velocidad (MCIV) . . . . . . . . . . . . . . . . . . . . . . . . 117
5.2.7. Modelo cinem atico directo de aceleraci on (MCDA) . . . . . . . . . . . . . . . . . . . . . . . 118
5.2.8. Modelo cinem atico inverso de aceleraci on (MCIA) . . . . . . . . . . . . . . . . . . . . . . . 121
5.3. Modelo din amico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.3.1. Obtenci on de los m odulos de velocidad y alturas de centros de masas . . . . . . . . . . . . . 123
5.3.2. Determinaci on de energas cineticas del robot . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.3.3. Determinaci on de energas potenciales del robot . . . . . . . . . . . . . . . . . . . . . . . . 127
5.3.4. Ecuaciones de movimiento (Lagrangiano) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
5.3.5. Formulaci on Euler-Lagrange. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
5.3.6. Representaci on matricial del MD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
5.3.7. Propiedades din amicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
5.4. Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.4.1. Control PD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.4.2. Control PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
2
5.4.3. PIDNL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
5.4.4. Control adaptable pasivo robusto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
5.5. Seguimiento exacto: Convergencia en Tiempo Finito. . . . . . . . . . . . . . . . . . . . . . . . . . . 156
5.5.1. PIDNL con TBG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.5.2. Control adaptable pasivo robusto con TBG . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
5.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
6. Conclusiones y perpectivas. 165
6.1. Conclusiones generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
6.2. Perpectivas y trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
A. Abreviaturas 167
B. Glosario 170
C. Apendice: Propiedades dinamicas 180
D. Apendice: Manual de usuario del sistema. 184
D.1. Robot Virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
D.2. Control PIDNL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
D.3. Control Adaptable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
E. Artculo: Visualizaci on virtual del Sistema de Seguimiento de trayectorias (Realidad virtual).197
F. Artculo: Control PID no Lineal con Convergencia en Tiempo Finito. 216
G. Artculo: Seguimiento Adaptativo de Trayectorias con Convergencia en Tiempo Finito de un
Robot Antropom orco Virtual. 232
H. Apendice: Contenido del CD. 252
Bibliografa 253
3

Indice de guras
1.1. Interfaz de COSIMIR[49]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2. Interfaz de Robolab[43]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3. Interfaz Robolab II [43]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4. Interfaz de Robolab con un robot PA-10 de Mitshubitshi[43]. . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5. Interfaz de LVRM [50]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6. Interfaz de Simulaci on de robots articulados [51]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1. Similitud con el brazo humano[31]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2. Robot montado sobre una base[30]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3. Vista de los componentes de un robot manipulador[31]. . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4. El brazo de Stanford 1969[37]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.5. Shakey, el primer vehculo autoguiado controlado por inteligencia articial (1970)[16]. . . . . . . . . . . . 25
2.6. Robot Qrio de Sony[39]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.7. Componentes de un robot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.8. Robot que su forma de desplazamiento es con ruedas[35]. . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.9. Robot Androide [36]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.10. Tipos de articulaciones : las articulaciones y son de rotaci on (R), mientras que pertenece a una
articulaci on prism atica (P)[30]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.11. Esquema de un robot cartesiano [30]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.12. Espacio de un robot cartesiano [17]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.13. Un robot cartesiano[57]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.14. Esquema de un robot cilndrico [30]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.15. Espacio de un robot cilndrico [17]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.16. Ejemplo de un robot cilndrico[57]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.17. Esquema de un robot polar [30]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.18. Espacio de un robot polar [17]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.19. Ejemplo del robot polar[57]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.20. Espacio de trabajo del robot tipo SCARA [17]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.21. Ejemplo de robot SCARA[17]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.22. Esquema de un robot de brazo artculado [30]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.23. Espacio de trabajo de un robot articulado [17]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.24. Ejemplo de robot de brazo articulado[57]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.25. Articulaciones y elementos de un robot manipulador PUMA Unimation. . . . . . . . . . . . . . . . . . . 37
2.26. Estructura y cadena cinem atica del manipulador Stanford/JPL [15]. . . . . . . . . . . . . . . . . . . . . 38
2.27. Yasukawa Motoman L-3 [15]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.28. Robot Da Vinci que puede operar pacientes [41]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.29. Robot en la industria [60]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.30. Relaci on entre cinem atica directa e inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.31. Sistema de coordenadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.32. Localizando un objeto en posici on y orientaci on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.33. Representaci on generica de la cadena cinem atica de un mecanismo de eslabones articulados [10][20]. . . . . 49
2.34. Forma explcita de denir la cadena cinem atica de un robot manipulador [10][20]. . . . . . . . . . . . . . 49
4
3.1. Un controlador de tipo proporcional, en el que la se nal aplicada al motor es proporcional a la se nal de
error[53]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.2. Esquema de un controlador PID[53]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.1. Portada de AutoCAD 2006[44]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.2. Portada de 3D Studio Max 7.0[45]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.3. Portada de Maya [46]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4. Portada de VRML[47]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.5. Portada de Visual C++. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.6. Portada de Delphi 7.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.7. Aproximaci on con rect angulos [25]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.8. Paraleppedo a partir de 6 rect angulos [25]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.9. Conguraciones de eslabones con paraleppedos [25]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.10. Diagrama de ujo informaci on del sistema Seguimiento de trayectorias. . . . . . . . . . . . . . . . . . 83
4.11. Diagrama de ujo del procedimiento de soluci on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.12. Diagrama de ujo del procedimiento referencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.13. Diagrama de ujo del procedimiento de control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.14. Diagrama de ujo del procedimiento rungetpp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.15. Diagrama de ujo del procedimiento rungetpp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.16. Diagrama de ujo del procedimiento rungetpp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.17. Diagrama de ujo del procedimiento rungetpp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.18. Diagrama de ujo de la funci on f. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.19. Diagrama de ujo procedimiento rungeerror. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.20. Diagrama de ujo procedimiento rungeerror. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.21. Diagrama de ujo de la funci on ei. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.22. Diagrama de ujo del procedimiento modelosrobot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.23. Diagrama de ujo del funcionamiento del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.24. Diagrama de ujo del funcionamiento del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.25. Diagrama de ujo del funcionamiento del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.26. Men u principal de la herramienta propuesta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.27. Interfaz PHANToM Virtual TRAZO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.28. Control PIDNL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.29. Resultados en forma gr aca del control PIDNL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.30. Trayectoria realizada por PHANToM Virtual TRAZO implementando el control PIDNL. . . . . . . . . . 100
4.31. Control PIDNL con TBG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.32. Resultados en forma gr aca del control PIDNL con TBG. . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.33. Trayectoria realizada por PHANToM Virtual TRAZO implementando el control PIDNL con TBG. . . . . 101
4.34. Demo control PIDNL con TBG realizado en MatLab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.35. C odigo de MatLab para el control PIDNL con TBG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.36. Resultados en forma gr aca del control PIDNL con TBG (Demo MatLab). . . . . . . . . . . . . . . . . . 102
4.37. Trayectoria realizada por PHANToM Virtual TRAZO implementando el control PIDNL con TBG. . . . . 102
4.38. Demo control adaptable con TBG realizado en MatLab. . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.39. C odigo de MatLab para el control adaptable con TBG. . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.40. Resultados en forma gr aca del control adaptable con TBG (Demo MatLab). . . . . . . . . . . . . . . . 103
4.41. Trayectoria realizada por PHANToM Virtual TRAZO implementando el control adaptable con TBG. . . . 103
5.1. Cadena cinem atica sintetica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.2. Plano z-x/y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.3. Cadena cinem atica con par ametros din amicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.4. Descripci on de comportamiento de variables articulares . . . . . . . . . . . . . . . . . . . . . . . . 124
5.5. Control PD. Coordenada Generalizada q1 y qd1 (Real y Deseada). . . . . . . . . . . . . . . . . . . . . . 136
5.6. Control PD. Coordenada Generalizada q2 y qd2 (Real y Deseada). . . . . . . . . . . . . . . . . . . . . . 136
5.7. Control PD. Coordenada Generalizada q3 y qd3 (Real y Deseada). . . . . . . . . . . . . . . . . . . . . . 136
5
5.8. Control PD. Coordenada Operacional X y px (Real y Deseada). . . . . . . . . . . . . . . . . . . . . . . 136
5.9. Control PD. Coordenada Operacional Y y py (Real y Deseada). . . . . . . . . . . . . . . . . . . . . . . 137
5.10. Control PD. Coordenada Operacional Z y pz (Real y Deseada). . . . . . . . . . . . . . . . . . . . . . . . 137
5.11. Control PD. Espacio operacional: (X vs Y) y (px vs py) (Real y Deseado). . . . . . . . . . . . . . . . . . 137
5.12. Control PD. Error Articular 1 (eq1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.13. Control PD. Error Articular 2 (eq2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.14. Control PD. Error Articular 3 (eq3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.15. Control PD. Error Operacional Ex=px-X. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.16. Control PD. Error Operacional Ey=py-Y. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.17. Control PD. Error Operacional Ez=pz-Z. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
5.18. Control PID, Coordenada Generalizada q1 y qd1 (Real y Deseada). . . . . . . . . . . . . . . . . . . . . 140
5.19. Control PID, Coordenada Generalizada q2 y qd2 (Real y Deseada). . . . . . . . . . . . . . . . . . . . . 140
5.20. Control PID, Coordenada Generalizada q3 y qd3 (Real y Deseada). . . . . . . . . . . . . . . . . . . . . 141
5.21. Control PID, Coordenada Operacional X y px (Real y Deseada). . . . . . . . . . . . . . . . . . . . . . . 141
5.22. Control PID, Coordenada Operacional Y y py (Real y Deseada). . . . . . . . . . . . . . . . . . . . . . . 141
5.23. Control PID, Coordenada Operacional Z y pz (Real y Deseada). . . . . . . . . . . . . . . . . . . . . . . 141
5.24. Control PID, Espacio operacional (X vs Y) y (px vs py)(Real y Deseado). . . . . . . . . . . . . . . . . . 142
5.25. Control PID, Error Articular 1 (eq1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.26. Control PID, Error Articular 2 (eq2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.27. Control PID, Error Articular 3 (eq3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.28. Control PID, Error Operacional (Ex= px - X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.29. Control PID, Error Operacional (Ey= py - Y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.30. Control PID, Error Operacional (Ez= pz - Z) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.31. Control PIDNL,Coordenada Generealizada q1 y qd1 (Real y Deseada). . . . . . . . . . . . . . . . . . . . 145
5.32. Control PIDNL, Coordenada Generalizada q2 y qd3 (Real y Deseada). . . . . . . . . . . . . . . . . . . . 145
5.33. Control PIDNL, Coordenada Generalizada q3 y qd3 (Real y Deseada). . . . . . . . . . . . . . . . . . . . 145
5.34. Control PIDNL, Treayectorias en el espacio oparacional: (x,y) y (px,py), (Real y Deseada). . . . . . . . . 145
5.35. Control PIDNL, Error extendido S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
5.36. Control Adaptable, Coordenada Generalizada q1 y qd1 (Real y Deseada). . . . . . . . . . . . . . . . . . 155
5.37. Control Adaptable, Coordenada Generalizada q2 y qd2 (Real y Deseada). . . . . . . . . . . . . . . . . . 155
5.38. Control Adaptable, Coordenada Generalizada q3 y qd3 (Real y Deseada). . . . . . . . . . . . . . . . . . 156
5.39. Control Adaptable, Trayectoria en el espacio operacional: (x,y) y (px,py), (Real y Deseada). . . . . . . . . 156
5.40. Control Adaptable, Error extendido S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
5.41. Control PIDNL con TBG, Coordenada Generalizada q1 y qd1 (Real y Deseada). . . . . . . . . . . . . . . 159
5.42. Control PIDNL con TBG, Coordenada Generalizada q2 y qd2 (Real y Deseada). . . . . . . . . . . . . . . 159
5.43. Control PIDNL con TBG, Coordenada Generalizada q3 y qd3 (Real y Deseada). . . . . . . . . . . . . . . 160
5.44. Control PIDNL con TBG, Trayectorias en el espacio operacional: (x,y) y (px,py), (Real y Deseada). . . . . 160
5.45. Control PIDNL con TBG, Error extendido S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
5.46. Control adaptable con TBG, Coordenada Generalizada q1 y qd1 (Real y Deseada). . . . . . . . . . . . . 162
5.47. Control adaptable con TBG, Coordenada Generalizada q2 y qd2 (Real y Deseada). . . . . . . . . . . . . 162
5.48. Control adaptable con TBG, Coordenada Generalizada q3 y qd3 (Real y Deseada). . . . . . . . . . . . . 163
5.49. Control adaptable con TBG, Trayectorias en el espacio operacional: (x,y) y (px,py), (Real y Deseada). . . 163
5.50. Control adaptable con TBG, Error extendido S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
C.1. Representaci on de las coordenadas generalizadas y las velocidades angulares . . . . . . . . . . . . 181
C.2. Representaci on de la posici on del organo terminal. . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
C.3. Representaci on de las propiedades del modelo din amico del robot antropom orco . . . . . . . . . 183
D.1. Proceso de instalaci on Paso 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
D.2. Proceso de instalaci on Paso 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
D.3. Proceso de instalaci on Paso 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
D.4. Proceso de instalaci on Paso 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
D.5. Proceso de instalaci on Paso 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
6
D.6. Proceso de instalaci on Paso 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
D.7. Ubicaci on de la aplicaci on en el men u de inicio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
D.8. Men u principal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
D.9. Interfaz PHANToM Virtual TRAZO despliegue de men u de opciones. . . . . . . . . . . . . . . . . . . 187
D.10.Coordenadas generalizadas y operacionales del robot virtua. . . . . . . . . . . . . . . . . . . . . . . . . 187
D.11.Control PIDNL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
D.12.Simulaci on Terminada Control PIDNL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
D.13.Trayectoria realizada por el Robot virtual Control PIDNL. . . . . . . . . . . . . . . . . . . . . . . . . . 188
D.14.Resultados de la simulaci on Control PIDNL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
D.15.Graca coordenada generalizada q1 y qd1 Control PIDNL. . . . . . . . . . . . . . . . . . . . . . . . . . 189
D.16.Gr aca coordenada generalizada q2 y qd2 Control PIDNL. . . . . . . . . . . . . . . . . . . . . . . . . . 189
D.17.Gr aca coordenada generalizada q3 y qd3 Control PIDNL. . . . . . . . . . . . . . . . . . . . . . . . . . 189
D.18.Gr aca de errores Control PIDNL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
D.19.Simulaci on Terminada Control PIDNL con TBG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
D.20.Trayectoria realizada por el Robot virtual Control PIDNL con TBG. . . . . . . . . . . . . . . . . . . . . 190
D.21.Resultados de la simulaci on Control PIDNL con TBG. . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
D.22.Gr aca coordenada generalizada q1 y qd1 Control PIDNL con TBG. . . . . . . . . . . . . . . . . . . . . 191
D.23.Gr aca coordenada generalizada q2 y qd2 Control PIDNL con TBG. . . . . . . . . . . . . . . . . . . . . 191
D.24.Gr aca coordenada generalizada q3 y qd3 Control PIDNL con TBG. . . . . . . . . . . . . . . . . . . . . 191
D.25.Gr aca de errores Control PIDNL con TBG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
D.26.Demo MatLab Control PIDNL con TBG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
D.27.Trayectoria realizada por el robot virtual Control PIDNL con TBG. . . . . . . . . . . . . . . . . . . . . 192
D.28.C odigo MatLab Control PIDNL con TBG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
D.29.Gr acas MatLab Control PIDNL con TBG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
D.30.Demo MatLab Control Adaptable con TBG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
D.31.Trayectoria realizada por el robot virtual Control Adaptable con TBG. . . . . . . . . . . . . . . . . . . . 194
D.32.C odigo MatLab Control Adaptable con TBG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
D.33.Gr acas MatLab Control Adaptable con TBG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
7

Indice de cuadros
2.1. Par ametros de Denavit-Hartenberg del PUMA 560 [14]. . . . . . . . . . . . . . . . . . . . . . . . . 37
2.2. Par ametros de Denavit-Hartenberg del Brazo de Stanford/JPL [15]. . . . . . . . . . . . . . . . . . 38
2.3. Par ametros de Denavit-Hartenberg del Yasukawa Motoman L-3 [15] . . . . . . . . . . . . . . . . . 39
3.1. Ajustes adecuados de un integrador Proporcional Integral para diferentes condiciones[36]. . . . . . 64
3.2. Tipos de procesos que pueden ser controlados satisfactoriamente por cada uno de los modos b asicos
de control[36]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1. Par ametros Denavit-Hartemberg [51] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.2. Descripci on de las funciones de la representaci on matricial del modelo din amico . . . . . . . . . . . 132
5.3. Descripci on de los vectores de fricci on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
5.4. Descripci on de los elementos de la matriz asimetrica. . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8
Captulo 1
Introducci on
1.1. Objetivo General.
Integraci on de una plataforma virtual din amica para evaluaci on de estrategias de control avanzado no lineal
con convergencia en tiempo nito en un robot antropom orco, con prop ositos de planicaci on de movimientos y
trayectorias.
1.2. Antecedentes
La realidad virtual, en la ultima decada ha contribuido de manera importante en diversas disciplinas de la cien-
cia y la tecnologa. Son relevantes los logros que ha permitido como una herramienta auxiliar para la generaci on
y el entendimiento del conocimiento puro y aplicado, sin embargo, son relativamente pocas las aplicaciones que
permiten involucrar una inmersi on virtual activa en la que un operador humano tenga percepci on visual, auditiva
y t actil de los fen omenos que ocurren en un ambiente sintetizado a partir de un mundo real. Es conocido que
en la naturaleza como en los desarrollos tecnol ogicos dise nados y construidos por el mismo hombre, los compor-
tamientos obedecen a funciones altamente no lineales, cuyas representaciones formales no son tan sencillas ni tan
evidentes. Esto implica que la correspondencia entre un mundo virtual, sintetizado a partir de un acontecimiento
real, empleando modelos lineales y representaciones puramente cinem aticas que intentan describir las evoluciones
espaciales, desprecian de manera signicativa los fen omenos inherentes a un sistema real. Por lo que el estmulo
visual no corresponde al acontecimiento real que se desea representar.
De acuerdo a la revisi on del estado del arte, relativa a simuladores y visualizadores virtuales, no consideran las
propiedades din amicas inherentes al sistema fsico que se desea representar virtualmente, existen trabajos como el
proyecto alem an COSIMIR que permite la interacci on de robots virtuales cooperativos con prop ositos educativos
e industriales [49], sin embargo a pesar de que permite la programaci on real de trayectorias en robots industriales
no emplea la din amica del robot real, los movimientos virtuales est an basados en las propiedades cinem aticas
exclusivamente y los modelos son desarrollados mediante software para dise no CAD. Existe un laboratorio de
rob otica espa nol denominado ROBOLAB [43], utilizado para la planicaci on de trayectorias para robots ma-
nipuladores, sin embargo la estrategia de planicaci on y ejecuci on virtual est a basada en solo la cinem atica del
manipulador, teniendo como deciencia la misma que el proyecto alem an COSIMIR. En Mexico, los trabajos
desarrollados en este ambito son en el Tecnol ogico de Monterrey, ITESM, corresponde a un laboratorio virtual
de rob otica LVRM [50], cuyos prop ositos son unicamente did acticos y permiten mediante una interfaz hombre-
m aquina virtual planicar cinem aticamente los movimientos de robots manipuladores como un robot SEIKO y un
PUMA Unimation. En todos estos casos de actualidad, la limitaci on en el estmulo visual est a basada exclusiva-
mente a las propiedades cinem aticas, es decir, se desprecian caractersticas din amicas, como las fuerzas inerciales,
gravitatorias, tribol ogicas, centrpetas y de Coriolis. En el Centro de Investigaci on en Tecnologas de Informa-
ci on y Sistemas de la Universidad Aut onoma del Estado de Hidalgo, se desarroll o un proyecto de investigaci on
para visualizar los efectos de un controlador sobre la din amica no lineal de un robot manipulador fuera de lnea
9
[24,25]. En este trabajo se ejecutan fuera de lnea los resultados del control de robots efectuados previamente en
MATLAB, se permite apreciar de manera explicita las evoluciones din amicas del robot y la trayectoria efectuada
en lnea. En este trabajo se eval ua un control PID NO LINEAL y un control adaptable utilizando un integrador
numerico RUNGE-KUTTA de orden superior, y una contribuci on adicional que es la convergencia en tiempo
nito, con el af an de vericar los efectos din amicos en el ambiente virtual cuando se tiene como dato de entrada
el tiempo de convergencia entre la condici on inicial del robot y la referencia (regulaci on o seguimiento).
1.3. Justicaci on
Actualmente los sistemas de visualizaci on virtual [43, 49, 50] tienen las siguientes limitaciones:
1. Los modelos matem aticos est an basados en aspectos cinem aticos.
2. La cinem atica es de posici on, no consideran la cinem atica diferencial (velocidad y aceleraci on).
3. Sus aplicaciones son exclusivamente did acticas o de planeaci on de movimientos de robots experimentales.
4. No consideran las fuerzas inerciales, gravitatorias, tribol ogicas, centrpetas y de Coriolis, como propiedades
din amicas inherentes a todos los sistemas rob oticos.
5. Eval uan acciones de control lineal, cuando los robots son sistemas altamente no lineales.
6. La planicaci on de trayectorias no considera el tiempo de convergencia, situaci on que no permite estimar
el tiempo de ejecuci on de la tarea industrial.
1.4. Contribuciones
Las contribuciones de este trabajo son:
1. Mundo virtual din amico de un robot antropom orco en lnea con un control no lineal.
2. Estudio comparativo de un control adaptable, un control por modos deslizantes de segundo orden y dos
controladores cl asicos.
3. Soluci on al problema de convergencia de robots manipuladores con aplicaciones de precisi on en tiempo y
espacio.
4. Evaluaci on de un control adaptable para calculado pasivo robusto para seguimiento exacto de trayectorias
con convergencia en tiempo nito en el robot virtual.
5. Evaluaci on de un control por modos deslizantes de segundo orden para seguimiento exacto de trayectorias
con convergencia en tiempo nito en el robot virtual.
1.5. Estudio del estado del arte
En la investigaci on que se ha llevado a cabo para el desarrollo de este trabajo de tesis, se ha detectado que en
algunos laboratorios de rob otica y/o centros de investigaci on del extranjero as como en Mexico existen trabajos
similares como el que desarrollamos.
10
1.5.1. Laboratorios virtuales de rob otica
COSIMIR:
Es un antecedente m as del desarrollo de laboratorios de rob otica virtuales, este software fue dise nado por
la compa na 3Festo, bas andose en 3D[49].
Es un laboratorio virtual de rob otica construido en Alemania para nes educativos e industriales dentro de
cuyo ambiente se manipulan diferentes tipos de robots, as como las tareas que desempe nan.
Figura 1.1: Interfaz de COSIMIR[49].
COSIMIR utiliza los idiomas nativos de la robusteza (MELFABASIC o comando de Movemaster) para pro-
gramar dentro del ambiente de la simulaci on. Los paquetes de COSIMIR y de COSIROP son herramientas
de gran alcance para alcanzar ecacia y costo eciencia m aximos en la conguraci on y la operaci on de las
soluciones robustas apoyadas de la automatizaci on, y permiten planear y que funcionen los sistemas con un
grado muy alto de conanza. El software hace distinci on entre las necesidades de los usuarios, para lo cual
hace la siguiente clasicaci on:
Usuarios educativos: es altamente educacional de los conocimientos tecnicos b asicos y una funcionalidad
extensa, culminando en el dise no, programando y operaci on de un sistema virtual de la robustez.
Los programadores: benecian la simulaci on esencial de funcionalidad de 3D, y modelar la capacidad del
paquete industrial de COSIMIR. Los usuarios pueden realizar f acilmente la programaci on on-line de los sis-
temas de la robusteza de Mitsubishi, y hacen que muestre una representaci on gr aca del funcionamiento
de su trabajo.
11
El profesional de COSIMIR: con el software profesional 3D para modelar, la simulaci on y programar de los
varios sistemas de la robusteza industrial, y un nuevo ambiente de aprendizaje desarrollado por COSIMIR
educativo.
El modelar con el profesional de COSIMIR se hace simple en virtud de las bibliotecas de robustezas, efec-
tores terminales y componentes de la automatizaci on.
El programa tambien importa varios formatos del CAD. Sin embargo dicho software es de tipo comercial
ya que tiene un costo de adquisici on ya sea para nes educativos o comerciales[49].
Figura 1.2: Interfaz de Robolab[43]. Figura 1.3: Interfaz Robolab II [43].
Robolab:
En la Universidad de Alicante (Valencia, Espa na) se dise n o un sistema llamado Robolab, el cual permite a
los estudiantes de Rob otica practicar comandos de posicionamiento en un robot industrial simulado desde
cualquier parte del mundo, con la ayuda de este sistema aprenden aspectos b asicos de rob otica, cinem atica
y dise no de trayectorias. Lo mejor es que los comandos se pueden enviar a un robot real, situado en el
laboratorio del grupo AUROVA en la Universidad de Alicante, para ver los resultados de forma on-line, a
traves de Internet[43].
Existen dos versiones de Robolab, en Robolab I ofrece una interfaz creada con Java y VRML, un software
est andar de Internet para representar escenarios de realidad virtual. Se ofrece tambien una simulaci on de
realidad virtual basado en VRML, que representa el entorno tridimensional con el robot (un Scorbot ER-IX
de Intelitek) y su espacio de trabajo, como se puede ver en la Figura 1.2.
Posteriormente, se ha desarrollado una nueva versi on (Robolab II) basada en Java y Java-3D. Los unicos
medios requeridos por el estudiante son una computadora personal conectado a Internet, un navegador web
y los componentes de software de la m aquina virtual de Java y de VRML en su caso.
La principal diferencia de la nueva versi on del sistema con respecto a la anterior, es que la representaci on
virtual del robot se realiza mediante Java-3D. Con esto se consigue que la interfaz de usuario (cliente)
este contenida toda en un applet de forma compacta, solucionando algunos problemas de compatibilidad e
instalaci on con determinados sistemas operativos o navegadores que presenta la versi on basada en VRML.
12
Adem as de una interfaz gr aca de usuario mejorada, (mostrada en la Figura 1.4) esta versi on ofrece nuevas
caractersticas, entre las que destacan las descritas a continuaci on:
Figura 1.4: Interfaz de Robolab con un robot PA-10 de Mitshubitshi[43].
En primer lugar, el sistema utiliza una biblioteca de clases Java para el modelado de robots a partir de
Java-3D desarrollada por el grupo AUROVA, que permite modelar, simular y tele-operar cualquier brazo
robot, y no s olo el modelo Scorbot como la primera versi on. La biblioteca permite especicar un robot
deniendo sus articulaciones y eslabones, sus caractersticas cinem aticas, y su interfaz con el controlador
correspondiente. La Figura 1.4 muestra la interfaz de usuario con otro robot: un PA-10 de Mitshubitshi
presente en este laboratorio.
La interfaz de usuario soporta diferentes dispositivos para denir los movimientos del robot: teclado, rat on o
joystick comercial para juegos. En caso de disponer de un joystick para juegos con realimentaci on de fuerza,
cuando se detectan colisiones del robot con el entorno (o con sigo mismo) en la simulaci on, el joystick
reproduce las sensaciones de choque.
Laboratorio de rob otica y manufactura de ITESM:
La nalidad de este laboratorio es la de proveer educaci on a distancia generados a traves de los mandos
virtuales, debido a que se considera importante que el alumnado dependiente de esta instituci on tenga una
aprendizaje continuo y no deje de practicar con este tipo de robot, claro sin dejar de lado la seguridad que
esto tiene al hacerse de forma virtual[50].
El dise no y la implementaci on del Laboratorio Virtual de Rob otica y Manufactura (LVRM)desarrollado
en el campus Monterrey del ITESM, esta siendo en colaboraci on de los campus Morelos, Toluca, Edo. de
Mexico y Monterrey.
13
Figura 1.5: Interfaz de LVRM [50].
Componentes del LVRM][50]:
La versi on actual del LVRM cuenta con los siguientes componentes:
Robot cilndrico: el robot SEIKO con 4 grados de libertad (DOF) y una pinza de 2 posiciones, fue conec-
tada a una computadora. Esta conexi on permite controlar y programar las operaciones del robot desde la red.
Simulador del robot: se construy o un modelador de s olidos, que permite la denici on de objetos compuestos
y de mecanismos articulados mediante la introducci on de restricciones cinem aticas. Al denir las variables
articulares para un robot simulado, el modelador genera simult aneamente los controladores para el robot
real; de forma que al aplicar desplazamientos sobre el modelo simulado, estos desplazamientos se aplican
simult aneamente sobre el robot real.
Reconocedor de objetos por forma y color: el modelo del objeto a reconocer es alimentado como una lista
de segmentos en 2D y una regi on para la b usqueda del color. Los segmentos son seleccionados y ordenados
para guiar el reconocimiento.
El LVRM comprende dos entidades, residentes en diferentes lugares, comunicadas mediante una conexi on
Internet. El usuario demanda el servicio desde el Invitado, el cual se compone de un conjunto de progra-
mas que brindan el control para la operaci on y programaci on de los mecanismos remotos; el simulador es
uno de tales programas. Los mecanismos, a excepci on del simulador, residen fsicamente en el Antri on
y est an conectados a sus respectivas computadoras para su control y operaci on.
14
El Invitado enva, a los mecanismos, comandos para su ejecuci on; enseguida recibe e ilustra las respuestas
de estos mecanismos, sobre la ejecuci on de los comandos. Los comandos se reeren a actividades tales como
mover robot, adquirir y enviar secuencias de im agenes o reconocer objetos. Por su parte, el Antri on
recibe los comandos y los distribuye a los mecanismos respectivos para su ejecuci on; adem as supervisa la
ejecuci on de los comandos y recibe las respuestas para reenviarlas al solicitante. Por lo cual, el Invitado y
el Antri on cuentan con controladores que registran los comandos solicitados para realizar un experimento,
tomando en consideraci on la aplicaci on que enva el comando, el dispositivo al cual se dirige y los par ametros
de ejecuci on. Mediante este registro, se supervisa la ejecuci on completa del experimento.
Simulaci on de robots articulados[51]:
Fue creado en el Centro Superior de Inform atica de la Universidad de la Laguna, Espa na y sus autores son:
Benito Jose Cuesta Viera, Juan Lucio Cruz Mendez y Leopoldo Acosta S anchez.
Figura 1.6: Interfaz de Simulaci on de robots articulados [51].
Este trabajo es un ambiente virtual del robot PUMA, realizado en Java 3D, tiene la particularidad de tener
la opci on de manipular un robot PUMA real y poder observar el desempe no a traves de una c amara de video.
El proyecto est a estructurado en cuatro grandes bloques estrechamente relacionados y que se presenta a
continuaci on.
M odulo de Simulaci on.- Herramienta de simulaci on del PUMA.
15
M odulo de Acceso Remoto.- Permite interaccionar con un robot PUMA real.
M odulo de Monitorizaci on.- Realiza un seguimiento del PUMA real.
Complementos.- El WEB SITE, documentaci on del proyecto, videos, im agenes, etc.
El m odulo de simulaci on est a formado por un Applet que se encuentra ubicado en el servidor WEB del
Centro Superior de Inform atica de la Universidad de la Laguna, aunque podra estar ubicado en cualquier
servidor WEB. El m odulo de acceso remoto y monitorizaci on lo forman otros dos Applet que requieren un
trato especial. El m odulo de acceso remoto deber a estar ubicado un servidor WEB y adem as requiere el
uso de un servidor RMI que utiliza un programa llamado rmiregistry que forma parte del Java Develoment
Kit y permite el acceso a metodos remotos en Java. Adem as, este equipo servidor deber a estar conectado a
un robot PUMA a traves una PPI y un circuito. No entraremos en detalle de c omo funciona este circuito
porque no forma parte de este proyecto, simplemente comentaremos que facilita la comunicaci on entre la
PPI y el robot PUMA. El m odulo de monitorizaci on comparte el servidor WEB con el m odulo de acceso
remoto y requiere un dispositivo para adquirir las im agenes del robot.
1.6. Organizaci on de la tesis
El trabajo de investigaci on se encuentra dividido en seis captulos:
En el Captulo 1 se plantea el objetivo general de este trabajo de tesis, as como los antecedentes, la justicaci on,
contribuciones que se realizan a las diversas disciplinas relacionadas con la manipulaci on de robots, adem as de
presentar un estudio del estado del arte.
En el Captulo 2 se despliegan los conceptos b asicos y deniciones importantes de robot y rob otica de acuerdo
con diversas asociaciones y organizaciones de prestigio dentro de la materia. As como la descripci on de los com-
ponentes y funciones de un robot manipulador. Se realiza un peque no bosquejo hist orico de la rob otica, adem as
de clasicaciones de robot de acuerdo a su aprendizaje, al control de sus trayectorias, a su autonoma, generaci on
y la clasicaciones seg un diversas organizaciones.
Se menciona tambien la morfologa de los robots manipuladores, sus elementos, conguraciones, y ejemplos de
dispositivos destacados como el robot SCARA, PUMA de Unimation y el brazo de Stanford, el lector conocer a los
subsistemas as como, las funciones que desempe nan y los componentes que integran a estos; para el desarrollo
de los modelos matem aticos (los cuales se tratan en el Captulo 5) se presenta un esbozo te orico de los modelos
cinem atico y din amico.
En el Captulo 3 una vez presentado lo necesario para comprender aspectos relacionados con los robots manipu-
ladores, es turno de introducirse al control de estos dispositivos por lo se presenta un poco de teora de estrategias
de control cl asicas y avanzadas, dichas estrategias son necesarias para proporcionar al robot estabilidad y precisi on
en los movimientos.
En el Captulo 4 se hace menci on a conceptos relevantes de realidad virtual esto con el n del que el lector
tenga una mejor percepci on, tambien se presentan clasicaci on y caractersticas de la realidad virtual, as como
algunas de las herramientas de edici on y lenguajes existen, los cuales se pueden utilizar para de un ambiente
virtual y la plataforma que se propone en este proyecto.
Tambien se hace referencia a la construcci on del robot virtual PHANToM Virtual TRAZO y lo concerniente
al comportamiento complejo del mismo como es el desempe no visual cinem atico y din amico del robot virtual.
16
Otra parte importante que se aborda en este Captulo es el an alisis y dise no de la de la interfaz de Seguimiento
de trayectoria que es la plataforma propuesta, se muestran los diagramas de ujo con informaci on del sistema,
diagramas de ujo de detalle de cada uno de los procedimientos y funciones que contiene el sistema, as como un
diagrama de ujo que muestra el funcionamiento general de la aplicaci on y una descripci on de los m odulos que
contiene el sistema.
En el Captulo 5 se desarrollan los modelos matem aticos cinem atico y din amico de un robot antropom orco
de tres grados de libertad, empleando metodologas como la de Euler - Lagrange y la representaci on Denavit
- Hartemberg. En este trabajo de tesis se tomaron en cuenta los aspectos din amicos que inuyen en un robot
como pueden ser: fricci on viscosa y seca, fuerza de Coriolis, gravedad entre otros, a partir de estos modelos se
realizaron pruebas en especco del modelo din amico para vericar la validez de dicho modelo, esto al evaluar sus
propiedades matem aticas.
Tambien se desarrollaron y analizaron los diferentes tipos de control como: PD, PID, PIDNL y Adaptable
Pasivo Robusto, todos con seguimiento de trayectorias y los dos ultimos con convergencia en tiempo nito, las
simulaciones se llevaron a cabo en Matlab, adem as en este trabajo incluye una interfaz que implementa el control
PIDNL en Visual C++ 6.0, el cual fue resuelto con el metodo de Runge Kutta de orden superior debido a la
exigencia de precisi on.
En el Captulo 6 se exteriorizan las conclusiones, perspectivas y el trabajo a futuro.
17
Captulo 2
Generalidades de modelado matematico
de robots manipuladores
2.1. Introducci on
Para comprender que es un robot manipulador es preciso conocer algunos conceptos fundamentales de rob otica
y establecer su lugar en relaci on con otros tipos de automatizaci on industrial. Tambien es importante conocer
componentes que lo integran y las funciones que realizan as como las clasicaciones que existen al respecto. En
este captulo se presenta una descripci on de los conceptos importantes de la rob otica, as como una clasicaci on.
Se sabe que el modelo matem atico de un robot est a basado en la cinem atica y la din amica, la primera est a com-
puesta por los modelos cinem aticos tanto directos como inversos de posici on, velocidad y aceleraci on, estos
denidos por la cadena cinem atica y empleando la metodologa de Denavit - Hartenberg que proporcionan
el movimiento del robot, y a lo que se reere al segundo modelo es el que proporciona las capacidades de inercia y
movimiento del robot manipulador que se obtiene a traves de la formulaci on de Euler - Lagrange este tomando
las propiedades din amicas del robot.
Ahora bien en este captulo se realiza una revisi on de los conceptos que se mencionan, en forma general ya que
el desarrollo de los modelos utilizados en la aplicaci on se describen en captulos posteriores.
2.2. Conceptos preliminares de rob otica
La rob otica es un concepto de dominio p ublico ya que en el mayor de los casos se sabe o se tiene la idea de lo
que es la rob otica, se sabe sus aplicaciones y el potencial que tiene. La rob otica como hoy en da la conocemos,
tiene sus orgenes hace miles de a nos. Nos basaremos en hechos registrados a traves de la historia, y comenzare-
mos aclarando que antiguamente los robots eran conocidos con el nombre de aut omatas, y la rob otica no era
reconocida como ciencia, es m as, la palabra robot surgi o hace mucho despues del origen de los aut omatas.
Los hombres creaban aut omatas como un pasatiempo, eran creados con el n de entretener a su due no. Los
materiales que se utilizaban se encontraban al alcance de todo el mundo, es decir, utilizaban maderas resistentes,
metales como el cobre y cualquier otro material moldeable, esto es, que no necesitara o requiriera de alg un tipo
de transformaci on para poder ser utilizado en la creaci on de los aut omatas.
Estos primeros aut omatas utilizaban, principalmente, la fuerza bruta para poder realizar sus movimientos. A
las primeras m aquinas herramientas que ayudaron al hombre a facilitarle su trabajo no se les daba el nombre de
aut omata, sino m as bien se les reconoca como artefactos o simples m aquinas[40].
18
Rob otica
Conjunto de disciplinas que convergen hacia un nuevo objetivo: cumplir las aspiraciones de suministrar al
hombre un mecanismo que lo libere de actividades tediosas y/o peligrosas y que, como su nombre lo indica
(Robotnik, del Checo siervo; Robota, del ruso trabajo), esten a su servicio con un buen grado de automati-
zaci on y dependencia[9].
Una denici on m as sencilla de la rob otica puede ser:
La rob otica es la conexi on inteligente de percepci on para la acci on[12].
Una perspectiva diferente:
La rob otica es la disciplina que involucra:
El dise no, manufactura, el control, y la programaci on de aut omatas;
El uso de aut omatas para solucionar problemas;
El estudio de los procesos de control, los sensores, y los algoritmos usados en humanos, animales y m aquinas;
y
La aplicaci on de los procesos de control y algoritmos para el dise no de aut omatas[13].
Robot
Aunque la palabra robot fue introducida al mundo por Karel Capek, un dramaturgo Cheko, no fue sino hasta
1941 que Issac Asimov emplea el termino robot en su historia titulada Robot AL76 Goes Atray, y luego en
1942 en Runaround utliza el termino Rob otica y enuncia las Tres leyes de la rob otica[9].
Principios o leyes de un robot
1. Un robot no puede da nar a un ser humano o, por inacci on, permitir que un ser humano resulte da nado.
2. Un robot debe obedecer las ordenes dadas por los seres humanos excepto cuando tales ordenes entren en
conicto con la primera ley.
3. Un robot debe proteger su propia existencia hasta donde esta protecci on no entre en conicto con la Primera
o la Segunda ley.
Se encuentran deniciones de Robot como ingenio mec anico, controlado electr onicamente, capaz de moverse y
ejecutar de forma autom atica acciones diversas, siguiendo un programa establecido.
Veamos otras deniciones:
Asociaci on Japonesa de Robots Industriales (JIRA: Japan Industrial Robots Association):
Es una m aquina capaz de realizar movimientos vers atiles parecidos a los de nuestras extremidades supe-
riores, con cierta capacidad sensorial y de reconocimiento y capaces de controlar su comportamiento.
En la Figura 2.1 se muestra la similitud de las extremidades de un robot y las del ser humano.
19
Cintura
Hombro
Codo
Mano
Dedos
Antebrazo
Brazo
Muneca
Figura 2.1: Similitud con el brazo humano[31].
Asociaci on de Robots Industriales (RIA: Robot Industrial Association or Robot Institute of
America:
Es manipulador multifuncional y reprogramable dise nado para mover cargas, materiales, piezas, herramien-
tas y dispositivos especiales seg un variadas trayectorias, programados para realizar diferentes tareas[2, 32].
Organizaci on Internacional de Estandares (ISO: International Standard Organization):
Un robot es una m aquina formada por un mecanismo que posee varios grados de libertad; a menudo da la
apariencia en uno o m as brazos que terminan en una mu neca, una pieza de trabajo o un dispositivo de ins-
pecci on. Posee una unidad de control con memoria y en algunos casos sensores y dispositivos de adaptaci on
para extraer informaci on de su medio ambiente. Estas m aquinas de prop ositos m ultiples se dise nan para
llevar a cabo funciones repetitivas f acilmente modicables[32].
Nuevo diccinario Colegial de Wesbster (Wesbsters New Collegiate Dictionary):
Es un aparato o dispositivo autom atico que ejecuta funciones atribuidas ordinariamente a humanos u o-
peradores que aparentan tener inteligencia casi humana.
Asociaci on Francesa de Normalizaci on (AFNOR):
Es un manipulador controlado en posici on, reprogramable, polivalente, de varios grados de libertad, ca-
paz de manipular materiales, piezas, herramientas y dispositivos especializados, durante la ejecuci on de
movimientos variables y programados para la realizaci on de una variedad de tareas[10].
20
Como se puede notar un robot no podra ponerse en marcha sin la colaboraci on de varias areas del conocimiento
como son la mec anica, el control y automatizaci on, la electr onica y la computaci on.
Los robots actuales est an constituidos por un brazo con varias articulaciones, a cuyo extremo se acopla el ma-
nipulador, con n grados de libertad, todo ello montado sobre una base que puede ser ja o m ovil, (ver Figura
2.2). Dado el car acter inherente de autom atico, un robot debe ser capaz de realizar por s mismo las operaciones
que permitan localizar los objetos a manipular, sujetarlos con la presi on requerida y volver a depositarlos en el
sitio disponible.
Figura 2.2: Robot montado sobre una base[30].
Todo ello se consigue con el uso de sensores adecuados que permitan al sistema saber en todo momento d onde
est a el efector nal, d onde y c omo est a la pieza a manipular, cu al es la presi on ejercida sobre la misma, velocidad
de traslaci on relativa, etc., y adem as, controlar todos estos par ametros continuamente o con el tiempo de acep-
table resoluci on. Por ello, la computadora forma parte integrante de los robots industriales desde su nacimiento.
Actualmente y con la ayuda del microprocesador ha surgido una segunda generaci on de robots inteligentes que
se caracterizan por ser capaces de relacionarse con el entorno y tomar decisiones en tiempo real[28][29].
En las Figuras 2.3 y 2.25, se pueden observar algunos elementos de los que enseguida se describen.
Articulaciones: es la uni on de dos elementos que se mueven uno con respecto del otro.
Gripper u organo terminal: o efector nal, dispositivo que se instala en el extremo del manipulador, el cual
interact ua con los objetos de su entorno al efectuar una tarea. Consiste en un sistema mec anico capaz de
sujetar y soltar objetos (pinza mec anica) o herramienta capaz de realizar alguna operaci on.
Actuadores: son los dispositivos que producen la potencia mec anica que se requiere para mover los eslabones
del manipulador. Pueden ser motores electricos, pistones y motores neum aticos e hidr aulicos.
21
C
U
E
R
P
O
BRAZO
MUNECA
GRIPPER
(organo
Terminal)
Articulacion
Articulacion
Figura 2.3: Vista de los componentes de un robot manipulador[31].
Transmisiones de potencia: permiten la conducci on del movimiento generado en los actuadores hasta cada
eslab on del manipulador. Pueden ser del tipo de bandas dentadas, engranes, cadenas, etc.
Grados de libertad: corresponde al n umero mnimo de variables independientes que es necesario denir
para determinar la situaci on en el espacio de todos los eslabones del manipulador. La regla de K. Kutzbach
permite determinar el n umero de grados de libertad de un robot con mecanismos especiales en terminos del
n umero de eslabones y de articulaciones.
G = 6 (e 1) 5 a (2.1)
Donde:
G = grados de libertad.
e= n umero de eslabones.
a= n umero de articulaciones.
Coordenadas generalizadas: representadas por los angulos entre los eslabones del manipulador, denidos
como: q
1
, q
2
... q
n
, donde n corresponde al n umero de grados de libertad. En la acci on de control son las
variables de control del sistema.
Coordenadas operacionales: representadas por la posici on cartesiana en x, y y z, y la orientaci on en , ,
del organo terminal en el espacio. Durante la acci on de control, las coordenadas operacionales, permiten
conocer la posici on instant anea que el robot adquiere con su movimiento.
Espacio de conguraciones admisibles: o espacio de trabajo del robot, es la zona del espacio fsico que puede
ser alcanzada por un punto del organo terminal.
22
Algunos otros conceptos de rob otica pueden ser revisados en el glosario de esta tesis.
Rob otica y automatizaci on
La automatizaci on y la rob otica son dos tecnologas estrechamente relacionadas. La automatizaci on se puede
denir como una tecnologa que est a relacionada con el empleo de sistemas mec anicos, electr onicos y basados en
las computadoras en la operaci on y control de la producci on. Y la rob otica emplea sistemas electro-mec anicos,
controlados por computadora para la ejecuci on de diversas tareas, incluidas las relacionadas con la producci on.
2.2.1. Antecedentes
Los primeros trabajos que condujeron a la construcci on de robots en la actualidad se remontan a los ultimos
a nos de la decada de los cuarenta, despues de la Segunda Guerra Mundial. Donde comenzaron programas de in-
vestigaci on en Oak Ridge y Argone National Laboratories para desarrollar manipuladores mec anicos controlados
de forma remota con el objetivo de manejar materiales radioactivos. Estos sistemas eran de tipo maestro - escla-
vo, dise nados para reproducir elmente los movimientos de mano y brazo realizados por un operario humano.
El manipulador maestro era guiado por el usuario a traves de una secuencia de movimientos, mientras que el
manipulador esclavo duplicaba la unidad maestra tan dedignamente tal como lo era posible.
El trabajo sobre manipuladores maestro-esclavo fue seguido r apidamente por sistemas m as sosticados ca-
paces de operaciones repetitivas aut onomas.
A mediados de los a nos cincuenta, George C. Devol desarroll o un dispositivo que llam o dispositivo de trans-
ferencia programada articulada, un manipulador cuya operaci on poda ser programada (y, por tanto, cambiada)
adem as poda seguir una secuencia de pasos de movimientos determinados por las instrucciones del programa.
Trabajos posteriores de Devol y Joseph F. Engelberger condujeron al primer robot industrial, introducido por
Unimation Inc., en 1959. La clave de este dispositivo era el uso de una computadora en conjunci on con un ma-
nipulador para producir una m aquina que poda ser ense nada para realizar una variedad de tareas de forma
autom atica. Estos robots se podan reprogramar y cambiar de herramienta a un costo relativamente bajo para
efectuar otros trabajos cuando cambiaban los requisitos de fabricaci on.
Aunque los robots programados ofrecan una herramienta de fabricaci on nueva y potente, en los a nos setenta
se descubri o que la exibilidad de estas m aquinas se poda mejorar signicativamente mediante el uso de una
realimentaci on sensorial.
Al comienzo de esta decada, H. A. Ernest public o el desarrollo de una mano mec anica controlada por com-
putadora con sensores t actiles. Este dispositivo, llamado el MH-1, poda sentir bloques y usar esta informaci on
para controlar la mano de manera que apilaba los bloques sin la ayuda de un operario. Este trabajo es uno de
los primeros ejemplos de un robot capaz de conducta adaptativa en un entorno razonable no estructurado. Este
programa de investigaci on posteriormente evolucion o como parte del proyecto MAC, y se le a nadi o una c amara
de televisi on para comenzar la investigaci on sobre la percepci on en la m aquina.
Durante el mismo periodo, Tomovic y Boni (1962) desarrollaron una mano prototipo provista con un sensor
de presi on que detectaba el objeto y proporcionaba una se nal de alimentaci on de entrada a un motor para iniciar
uno de dos modelos de aprehensi on.
En 1963, la American Machine y Foundry Company (AMF) introdujo el robot comercial VERSATRAN.
Comenzando en este mismo a no, se desarrollaron diversos dise nos de brazos para manipuladores, tales como el
brazo Roehampton y el de Edinburgh.
23
A nales de los a nos sesenta, McCarthy y sus colegas en el Stanford Articial Intelligence Laboratory publi-
caron el desarrollo de una computadora con manos, ojos y odos (es decir, manipuladores, c amaras de TV y
micr ofonos). Demostraron un sistema que reconoca mensajes hablados, vea bloques distribuidos sobre una
mesa, y los manipulaba de acuerdo con instrucciones. Durante este periodo, Pieper (1968) estudi o el problema
cinem atico de un manipulador controlado por computadora.
Mientras tanto, otros pases (en particular Jap on) comenzaron a ver el potencial de los robots industriales. Ya
que en 1968, la compa na japonesa Kawasaki Heavy Industries negoci o una licencia con Unimation Inc., para sus
robots.
Uno de los desarrollos poco usuales sucedi o en 1969 cuando se desarroll o un cami on experimental por la General
Electric para la Armada Americana. El mismo a no se desarroll o el brazo Boston y al a no siguiente el brazo de
Stanford (ver Figura 2.4), que estaba equipado con una c amara y controlado por computadora. Algunos de los
trabajos m as serios en rob otica comenzaron cuando estos brazos se utilizaron como robots manipuladores[37].
Figura 2.4: El brazo de Stanford 1969[37].
Las primeras aplicaciones industriales en Europa, de robots industriales en cadenas de fabricaci on de au-
tom oviles, datan de los a nos 1970 y 1971. En este ultimo a no, Kahn y Roth analizan el comportamiento din amico
y el control de un brazo manipulador.
Durante la decada de los 70, la investigaci on en rob otica se centra en gran parte en el uso de sensores externos
para su utilizaci on en tareas de manipulaci on. Es tambien en estos a nos cuando se consolida denitivamente la
presencia de robots en las cadenas de montaje y plantas industriales en el ambito mundial. Se lanza tambien
Shakey, el primer vehculo autoguiado controlado por inteligencia articial (ver Figura 2.5)[16].
En 1972 se desarroll o en la universidad de Nottingham, Inglaterra, el SIRCH, un robot capaz de reconocer y
orientar objetos en dos dimensiones. Este mismo a no, la empresa japonesa Kawasaki instala su primera cadena
de montaje automatizada en Nissan, Jap on, usando robots suministrados por Unimation, Inc.
En 1973, Bolles y Paul utilizan realimentaci on visual en el brazo Stanford para el montaje de bombas de agua
24
Figura 2.5: Shakey, el primer vehculo autoguiado controlado por inteligencia articial (1970)[16].
de autom ovil. Tambien este mismo a no, la compa na sueca ASEA (futura ABB), lanza al mercado su familia de
robots IRB 6 e IRB 60, para funciones de perforaci on de piezas.
En 1974, Cincinnati Milacron introdujo su primer robot industrial controlado por computadora. Lo llam o The
Tomorrow Tool (La herramienta del ma nana) o T3, que poda levantar m as de 100 libras as como seguir a
objetos m oviles en una lnea de montaje.
En 1978 se introdujo el robot PUMA (Programmable Universal Machine for Assembly) para tareas de montaje
por Unimation, bas andose en dise nos obtenidos en un estudio de la General Motors. En este mismo a no el robot
T3 se adapt o y program o para realizar operaciones de taladrado y circulaci on de materiales en componentes de
aviones, bajo el patrocinio de Air Force[2][5].
En 1979 Jap on introduce el robot SCARA (Selective Compliance Assembly Robot Arm), y la compa na italiana
DEA (Digital Electric Automation), desarrolla el robot PRAGMA para la General Motors.
En la decada de los 80 se avanza en las tecnicas de reconocimiento de voz, detecci on de objetos m oviles y
factores de seguridad. Tambien se desarrollan los primeros robots en el campo de la rehabilitaci on, la seguridad,
con nes militares y para la realizaci on de tareas peligrosas. As por ejemplo, en 1982, el robot Pedesco, se usa
para limpiar un derrame de combustible en una central nuclear. Tambien se pone un gran enfasis en los campos
de visi on articial, sensorizaci on t actil y lenguajes de programaci on. Gracias a los primeros pasos dados por com-
pa nas como IBM o Intelledex Corporation, que introdujo en 1984 el modelo ligero de ensamblaje 695, basado
25
en el microprocesador Intel 8087 y con software Robot Basic, una modicaci on del Microsoft Basic, actualmente
se tiende al uso de una interfaz (el ordenador) y diversos lenguajes de programaci on especialmente dise nados,
que evitan el cuello de botella que se produca con la programaci on cl asica. Esta puede ser ahora on-line u
o-line, con interfaces gr acas (user-friendly interfaces) que facilitan la programaci on,y un soporte SW+HW que
tiende a ser cada vez m as vers atil.
En 1986 HONDA, la empresa Japonesa inicia un proyecto para construir un robot humanoide, su evoluci on
y sus numerosos problemas se mantienen en secreto. Pero para 1997 HONDA presenta P3 un enorme robot hu-
manoide. Cuando los resultados se hicieron p ublicos muchos investigadores que trabajaban en proyectos similares
se quedaron at onitos, sus proyectos estaban a a nos luz de los resultados obtenidos por HONDA[39].
En 1999 la empresa SONY lanza Aibo un perro-robot. Los resultados en forma de publicidad gratuita que
HONDA ha obtenido provocan una carrera de marketing tecnol ogico entre empresas de tecnologa en Jap on. Y
en el a no 2000 SONY presenta un peque no humanoide en la Robodex 2000. Mientras los EEUU miran a sus
robots en Marte, Jap on mira a sus robots a la cara. Cada uno en su terreno es el rey de la rob otica[39].
Para el a no 2003, aquel robot humanoide de SONY, Qrio (Quest for curiosity) (ver Figura 2.6) , se con-
vierte en el primer humanoide comercial completamente aut onomo capaz de correr. De esta forma HONDA sera
el primero en caminar, pero SONY el primero en correr. La carrera est a abierta y otras empresas anuncian su
prop osito de unirse[39].
Figura 2.6: Robot Qrio de Sony[39].
Y en 2004 la primera edici on del Darpa Grand Challenge. La guerra de Irak de 2003 y sus numerosas bajas
puso en evidencia la necesidad de reducir las bajas militares estadounidenses en futuros conictos. Se multiplica
la nanciaci on de este tipo de proyectos. Y los robots forman ya parte importante para la guerra[39].
26
2.2.2. Clasicaci on de los robots
Robots manipuladores
Robots de servicio.
Los robots de servicio son dispositivos electromec anicos m oviles o estacionarios, dotados de uno o varios brazos
mec anicos, controlados por computadora (ver Figura 2.7) y que realizan tareas de servicio, no industriales [6].
Dentro de esta categora est an los robots especiales utilizados como ayuda a minusv alidos, los robots de labo-
ratorio, los robots did acticos, los robots que se utilizan en operaciones de alto riesgo, los robots de exploraci on
submarina, entre otros.
Controlodador
Computadora
adicional
Manipulador
T
pendant
Figura 2.7: Componentes de un robot.
Robots industriales.
Se pueden clasicar con base en diferentes criterios, entre ellos est a la clasicaci on de la AFRI (Asociaci on
Francesa de Rob otica Industrial) y de la IFR (Federaci on Internacional de Rob otica)[6].
Clasicaci on de los robots seg un la AFRI(Asociaci on Francesa de Rob otica)[6]:
TIPO A: manipulador con control manual o telemando.
TIPO B: manipulador autom atico con ciclos preajustados; regulaci on mediante nes de carrera o topes;
accionamiento neum atico, electrico o hidr aulico.
TIPO C: robot programable con trayectoria contnua o punto a punto. Carece de conocimientos sobre su
entorno.
27
TIPO D: robot capaz de adquirir datos de su entorno, readaptando su tarea en funci on de estos.
Clasicaci on seg un la IFR (Federaci on Internacional de Rob otica)[6]:
Distingue entre cuatro tipos de robots:
Robot secuencial.
Robot de trayectoria controlable.
Robot adaptativo.
Robot telemanipulado.
Clasicaci on en generaciones:
1
a
Generaci on: repite la tarea programada secuencialmente. No toma en cuenta las posibles alteraciones del
entorno.
2
a
Generaci on: adquiere informaci on limitada de su entorno y actua en consecuencia. Puede localizar,
clasicar (visi on), detectar esfuerzos y adaptar sus movimientos en consecuencia.
3
a
Generaci on: su programaci on se realiza mediante el empleo de un lenguaje natural. Posee capacidad para
la planicaci on autom atica de tareas.
Clasicaci on de acuerdo a su aprendizaje[6][16]:
Robots Manuales: exigen que el movimiento de su elementos sea controlado por el hombre.
Robots aut onomos de secuencia ja: permiten gobernar el movimiento de sus elementos en forma aut onoma
pero no es posible alterar sus operaciones o secuencia de operaciones.
Robots aut onomos de secuencia variable: permite gobernar el movimiento de sus elementos en forma aut ono-
ma y adem as, es posible alterar algunas de las caractersticas de los ciclos de trabajo.
Robots programables: pueden ser programados mediante lenguajes especcos o mediante un proceso de
aprendizaje en el cual un operador ense na inicialmente una secuencia de movimientos, el sistema las me-
moriza y se limita a repetirla indenidamente.
Robots inteligentes: son manipuladores o sistemas mec anicos multifuncionales controlados por computado-
ra, capaces de relacionarse con su entorno a traves de sensores y de tomar decisiones en tiempo real. Pueden
analizar su entorno y reaccionar ante sus modicaciones o alteraciones, para ello requiere del concurso de sus
sistemas de an alisis y control de sensores adecuados, de control de esfuerzos, de seguimiento de trayectorias,
de reconocimiento de im agenes, etc..
Clasicaci on de acuerdo al control de sus trayectorias[6][16]:
Existen dos formas b asicas de controlar la trayectoria de un robot:
Control de trayectoria punto a punto: con el control punto a punto, el robot es programado para realizar
una pausa en cada punto para planear el pr oximo paso en una trayectoria predeterminada. A pesar del
hecho de que el movimiento no es controlado entre los set points, esta generalmente sucede a lo largo de una
trayectoria natural, dependiendo de la conguraci on geometrica del robot. Por otro lado el robot controlado
punto a punto ofrece mayor precisi on en terminos de repetibilidad.
28
Control de trayectoria continua: el resultado de un control de trayectoria continua es un movimiento m as
suave a lo largo de la trayectoria denida pero se disminuye a la m axima velocidad posible en los recorridos,
lo cual es una funci on del tama no de los pasos calculados por la computadora maestra en tiempo real, usan-
do metodos de interpolaci on. El algunos modelos (dise nados para nales de los 80s), la eciencia ser a mas
baja comparada con el mismo robot operando en modo de control punto a punto.
Figura 2.8: Robot que su forma de desplazamiento es con ruedas[35].
Robots m oviles
Los robots m oviles, pueden desplazarse usando ruedas, pistas o patas, y usualmente se mueven en dos di-
mensiones; sin embargo, los robots que bucean o navegan en el agua, as como los que vuelan, tambien est an
clasicados como robots m oviles, y se mueven en tres dimensiones, siendo por lo tanto m as difciles de controlar.
Por lo tanto se pueden clasicar de las siguiente manera [6]:
De acuerdo al medio en el cual se desempe nan:
Robots acu aticos: robots submarinos de investigaci on de las fuerzas navales y de los investigadores cientcos.
Robots terrestres: o de navegaci on sobre terreno s olido, como los dise nados para la NASA.
Robots voladores: tales como el egenia, o el helic optero robot mejorado con sistemas difusos.
De acuerdo a su sistema de locomoci on:
Deslizante.
Rodante.
Caminadora. Bpeda, multpeda.
Rulante. Orugas, cadenas.
Otras
29
Seg un su forma de desplazamiento.
Su desplazamiento puede ser a su vez, robots con patas, ruedas (ver Figura 2.8, orugas, turbinas de baja
profundidad, insectos, exploradores, de transporte, cooperativos, guardianes, etc.).
Figura 2.9: Robot Androide [36].
Seg un el grado de Autonoma
Autonoma: la facultad de autonoma de los robots, se puede considerar bajo diversos aspectos; la capacidad
sensorial, la capacidad de decisi on, y las capacidades de adaptaci on, aprendizaje y cooperaci on. En terminos
generales, se puede denir como la capacidad del robot para sensar la situaci on actual y actuar apropiadamente
con respecto a ella[6].
Robots M oviles Aut onomos: tienen la capacidad para responder a situaciones cambiantes, ambiguas o im-
predecibles, sin necesidad de la intervenci on humana.
Robots Teleoperados: operados a distancia. Las tareas de percepci on del entorno, planicaci on y manipu-
laci on compleja son realizadas por humanos. Las mayores dicultades radican en las limitaciones del hombre
en la capacidad de procesamiento numerico y precisi on y, sobre todo, en el acoplamiento y coordinaci on
entre el hombre y el robot. El retraso de transmisi on de informaci on juega un papel importante y su con-
sideraci on resulta fundamental en el dise no del sistema de control.
Seg un el sistema de guiado.
Vehculos de Guiado Autom atico (AGV): vehculos que se desplazan por rutas prejadas, marcadas con
cables guas, imanes, patrones opticos. Su uso principal se encuentra en entornos industriales en los que se
30
requiere desplazar materiales. Tambien se emplean en hospitales, ocinas y otros entornos donde cumplen
la funci on de repartidores de comida, insumos, documentos, etc.
Vehculos Aut onomos (AV): generan autom aticamente sus movimientos ayudados por la informaci on que
sus sensores proporcionan.
Otros Robots[6]
Androides: robots con los cuales se intenta reproducir total o parcialmente la forma y el comportamiento
cinem atico del ser humano. En la actualidad son poco evolucionados, destinados fundamentalmente al
estudio y experimentaci on. En la Figura 2.9 se puede ver un robot Androide.
Zoom orcos: los robots zoom orcos que considerados en sentido no restrictivo podran incluir tambien a los
androides, constituyen una amplia clase caracterizada fundamentalmente por sus sistemas de locomoci on
que imitan a los diversos seres vivos.
Hbridos: son aquellos cuya estructura se sit ua entre las ya expuestas bien sea por conjunci on o yuxtaposici on.
2.2.3. Morfologa de los robots manipuladores
Elementos y articulaciones
Los elementos o eslabones son los cuerpos rgidos que conforman un manipulador, mientras que las articula-
ciones son las partes que permiten el movimiento de los elementos que lo conforman.
En principio, las articulaciones pueden ser de diferentes tipos en la rob otica (ver Figura 2.10) [17]:
Figura 2.10: Tipos de articulaciones : las articulaciones y son de rotaci on (R), mientras que pertenece a una
articulaci on prism atica (P)[30].
31
De revoluci on (de revoluta, rotativas): el elemento asociado a la articulaci on rota con respecto al anterior a
lo largo de un eje que atraviesa a ambos elementos. Se denotan con la letra R.
Prism aticas (deslizantes): son aquellas en las que un elemento se desplaza con respecto al precedente a lo
largo de un eje. Se denotan con la letra P.
El n umero de articulaciones determina los grados de libertad (Degrees Of Freedom, DOF) del manipulador.
Por ejemplo, el robot que se muestra en la Figura 2.10 posee tres grados de libertad. Tpicamente un manipulador
posee seis grados de libertad independientes, tres de posici on y tres de orientaci on.
Conguraciones
Aunque en principio un manipulador es un dispositivo de prop osito general, en la pr actica los manipuladores
son usualmente dise nados con al menos una clase extensa de aplicaciones en mente, como soldadura, manipulaci on
de materiales, y ensamble.
Los manipuladores usualmente son clasicados cinem aticamente bas andose en el brazo. La mayora de los ma-
nipuladores caen dentro en uno de estos cinco tipos geometricos:
Cartesiano o rectangular: de conguraci on PPP (ejes prism aticos). Posee tres ejes perpendiculares y el
movimiento lineal se realiza a lo largo de dichos ejes. Este tipo de manipuladores presentan la desventaja de
necesitar un espacio muy grande para trabajar y un gran porcentaje de este espacio no est a incluido dentro
de su volumen de trabajo, es decir, no es posible acceder a todo este espacio con el efector nal del robot.
En este tipo de conguraci on los algoritmos de control son m as simples. En las Figuras 2.11, 2.12 y 2.13, se
muestra el esquema, espacio de trabajo y un ejemplo de un robot cartesiano [17].
Figura 2.11: Esquema de un robot cartesiano
[30].
Figura 2.12: Espacio de un robot cartesiano [17].
32
Figura 2.13: Un robot cartesiano[57].
Cilndrico: de conguraci on RPP (primer eje de revoluci on, segundo y tercer eje prism aticos).
Consisten de dos ejes lineales que se deslizan ortogonalmente entre s y est an montados sobre una base
rotatoria, tal como se aprecia en la Figura 2.15.
Por sus caractersticas, el volumen o entorno de trabajo corresponde a una porci on de cilindro del cual
deriva su nombre. Estos robots tienen un volumen de acceso restringido [17]. Ver Figuras 2.14, 2.15 y 2.16.
Figura 2.14: Esquema de un robot cilndrico [30]. Figura 2.15: Espacio de un robot cilndrico [17].
Polar o esferico: este tipo de robot manipulador es de conguraciones RRP (primer y segundo eje revoluci on
y el tercer eje prim atico).
33
Figura 2.16: Ejemplo de un robot cilndrico[57].
El alcance de un punto en el espacio se logra mediante un brazo telesc opico que se extiende y tambien se
retrae a lo largo de su eje, este se encuentra montado sobre una base giratoria con dos ejes rotacionales que
son independientes.
Su principal inconveniente es que presenta grandes vacos en su volumen de trabajo[17]. Ver Figuras 2.17,
2.18 y 2.19.
Figura 2.17: Esquema de un robot polar [30]. Figura 2.18: Espacio de un robot polar [17].
34
Figura 2.19: Ejemplo del robot polar[57].
Robot SCARA (Selective Compliance Assembly Robot Arm): es una versi on especial del brazo articulado,
o mas bien mejor a un, ya que es una combinaci on de las conguraciones de revoluci on y cilndrica.
Sus articulaciones rotativas de hombro y de codo giran alrededor de ejes verticales, permitiendo que se
efect uen giros en un plano horizontal.
Esta conguraci on proporciona rigidez para el robot en la direcci on vertical, pero exibilidad en el plano
horizontal, lo cual le hace ideal para tareas de montaje.
Las cargas gravitacionales, coriolis y fuerzas centrfugas, no someten a tensiones las estructuras tanto como
lo haran si los ejes fueran horizontales [17]. Esta ventaja es muy importante a altas velocidades y altos
requerimientos de precisi onen el robot. Ver Figuras 2.20 y 2.21.
Figura 2.20: Espacio de trabajo del robot tipo
SCARA [17].
Figura 2.21: Ejemplo de robot SCARA[17].
35
Robot de brazo articulado (con articulaciones rotacionales): de conguraci on RRR. Es el que m as se ase-
meja al brazo humano, por ello se le denomina Antropom orco. Aunque presentan algunos vacos en su
volumen de trabajo, son los que tienen mejores caractersticas de acceso con el efector nal a la mayora de
los puntos comprendidos en su universo de trabajo. Al ser todas sus articulaciones de rotaci on, presentan
mayores inconvenientes en la compensaci on de cargas e inercias de rotaci on.
En este tipo de conguraci on, los errores de posicionamiento tienden a aumentar a medida que se extiende
el brazo. Su precisi on es inherentemente mayor en el entorno de la base. La posici on de los actuadores,
requiere una mayor compensaci on de cargas, ya que est an ubicados directamente sobre las articulaciones
[17]. Ver Figuras 2.22, 2.23 y 2.24.
Figura 2.22: Esquema de un robot de brazo
artculado [30].
Figura 2.23: Espacio de trabajo de un robot ar-
ticulado [17].
Figura 2.24: Ejemplo de robot de brazo articulado[57].
36
A continuaci on se muestran algunos tipos de robots y sus caractersticas:
PUMA Unimation
El manipulador industrial PUMA (Programmable Universal Machine for Assembly) es uno de los robots m as
populares dentro de la industria. Fue dise nado en 1978 por Unimation para realizar tareas de montaje. Cuenta
con seis articulaciones, todas ellas de revoluci on.
La Tabla 2.1 muestra los Par ametros Denavit - Hartenberg (PDH) para un manipulador PUMA modelo 560 [14].
i
i
1 a
i
1 d
i

i
1 0 0 0
1
2 90

0 0
2
3 0 a
2
d
3

3
4 90

a
3
d
4

4
5 90

0 0
5
6 90

0 0
6
Cuadro 2.1: Par ametros de Denavit-Hartenberg del PUMA 560 [14].
Los tres primeras articulaciones o elementos de un robot PUMA denen la posici on del organo terminal, mien-
tras que las tres ultimas denen la orientaci on como se muestra en la Figura 2.25.
Elemento 0
Elemento 1
Elemento 2
Elemento 3
Elemento 4
Elemento 5
Articulacion 1
Y0 X0
Z0
Articulacion 2
Articulacion 3
Articulacion 5
Articulacion 4
Elemento 6
Articulacion 6
+Y
+Z
+X
Figura 2.25: Articulaciones y elementos de un robot manipulador PUMA Unimation.
37
Brazo de Stanford
El brazo de Stanford es uno de los manipuladores recientes que ha sido estudiado en gran detalle, dise nado
por V. Scheinman. Este manipulador cuenta con seis articulaciones, cinco de las cuales son rotacionales o de
revoluci on y una, la tercera, es prism atica.
En la Tabla 2.2 se muestran los PDH de un manipulador Stanford/JPL [15].
Articulaci on d
i
a
i

i

i
1 d
1
0 90


1
2 d
2
0 90


2
3 d
3
0 0 90

4 d
4
0 90


4
5 d
5
0 90


5
6 d
6
0 0
6
Cuadro 2.2: Par ametros de Denavit-Hartenberg del Brazo de Stanford/JPL [15].
La Figura 2.26, muestra la estructura, as como la cadena cinem atica del brazo de Stanford/JPL.
Centro de la mano
Alcance
Elevacion
Los origenes
Coinciden
Figura 2.26: Estructura y cadena cinem atica del manipulador Stanford/JPL [15].
38
Yasukawa Motoman L-3
Este es un manipulador industrial popular con cinco grados de libertad. La Tabla 2.3 muestra los par ametros
D-H para este manipulador[15].
Articulaci on d
i
a
i
1
i
1
i
1 0 0 0
1
2 0 0 90


2
3 0 L
2
0
3
4 0 L
3
0
4
5 0 0 90


5
Cuadro 2.3: Par ametros de Denavit-Hartenberg del Yasukawa Motoman L-3 [15]
En la Figura 2.27 se muestra la estructura del robot Motoman L-3 en su posici on de descanso.
Figura 2.27: Yasukawa Motoman L-3 [15].
39
2.2.4. Subsistemas de un robot manipulador.
En todos los sistemas autom aticos de manipulaci on de piezas u objetos (robots) podemos distinguir cinco sub-
sistemas estructurales bien denidos, que son las siguientes: subsistema electromec anico, comunicaci on, decisi on,
percepci on y de control
1. Subsistema electro-mecanico
Es toda la parte mec anica que la constituye, en la cual se incluyen los actuadores y el sistema de agarre o
sujeci on de piezas, incluyendo tambien el sistema de engranes para los robots que los requieren. Y la parte
electr onica que comprende b asicamente la Interfaz Electr onica de Potencia (IEP), dispositivos de acondi-
cionamiento de se nales, Interfases de Comunicaci on, etc..
Los dispositivos de transmisi on de energa y actuadores proporcionan la fuerza para mover el brazo del robot.
Los actuadores incluyen dispositivos hidr aulicos (uidos a presi on), electricos (electricidad) y neum aticos
(aire comprimido) correspondientes a los tres sistemas b asicos de control de robot.
Actuadores neum aticos e hidr aulicos
Estos actuadores obtienen su energa mediante el movimiento de uidos, para los actuadores neum aticos el
uido es aire comprimido y para los actuadores hidr aulicos el uido suele ser aceite a presi on.
Motores electricos
Los motores proporcionan una excelente controlabilidad requiriendo un mnimo de mantenimiento. Los mo-
tores m as utilizados en rob otica son los motores de Corriente Directa (CD) , los motores de fase y los
motores de Corriente alterna (CA).
La potencia desarrollada por estos actuadores debe transmitirse hasta la articulaci on del robot. Los meca-
nismos de transmisi on, entre los que se encuentran los sistemas de polea, engranajes y tornillos, se emplean
para este prop osito.
Por otro lado el sistema de coordenadas empleado para el control depende del tipo de estructura mec anica
adoptada en la construcci on del mismo, y tambien inuye el tipo de movimiento o desplazamiento que deba
realizar.
Cabe aclarar que el conocimiento de los materiales ha podido disponer de elementos m as adecuados; los
actuadores son m as peque nos, potentes y precisos; los sensores son mucho m as exactos; los medios de co-
municaci on, m as ables; los metodos de fabricaci on, m as seguros; sus estructuras, m as completas, y la
programaci on es m as sencilla y ecaz.
En la electr onica del robot, la interfase electr onica de potencia (IEP) es la parte que permite acondicionar
(ajustar) una se nal electrica que proviene del subsistema de control, en una se nal electrica con la potencia
y caractersticas adecuadas para excitar al actuador.
Por lo general, la se nal electrica cuya funci on es controlar al actuador, proviene de un microprocesador con
caractersticas de voltaje y corriente que por s solos no son capaces de excitar al actuador. As que una
40
IEP est a compuesta por circuitos electr onicos que permiten amplicar una se nal peque na y acondicionarla
para cumplir los requerimientos que el actuador demanda.
La interfaz electr onica de potencia se dise na de forma tal que se pueda controlar otras caractersticas para
el control del actuador como son el sentido de giro para el caso de un motor o la direcci on en un pist on
hidr aulico.
Hay una gran variedad de circuitos electr onicos, algunos comerciales provistos en un chip, que tiene la fun-
ci on de acondicionar una se nal con gran potencia. Entre los m as importantes est an del tipo de los CMOS,
de los tiristores, de los tracs, los transistores de potencia, etc..
2. Subsistema de comunicaci on
Constituido b asicamente por una computadora o microprocesador, que permite al usuario comunicarle al
manipulador la tarea a realizar, y conocer la situaci on de este y de su entorno durante la ejecuci on de la
misma.
Para intercambiar informaci on de la computadora y el manipulador, se utiliza generalmente una interfase
de comunicaci on como es el puerto de impresi on o mejor a un una tarjeta de adquisici on de datos (uso
industrial) para el caso de una computadora personal (PC).
Actualmente el avance de la microelectr onica y por ende el abaratamiento de costos en el desarrollo de
microprocesadores ha permitido que cada vez m as, estos se utilicen en el control de robots industriales
(manipuladores).
3. Subsistema de decisi on
Es un sistema intermedio, entre la parte de comunicaci on y la de control, que consiste generalmente en
un programa de computadora, cuya funci on b asica es la de interpretar las instrucciones del programa para
denir una tarea, y convertir estas en consignas de movimiento de cada eslab on del manipulador.
La programaci on de un robot debe ser sencilla y para ello se emplean b asicamente dos metodos: el apren-
dizaje manual, en el cual el robot repite los movimientos efectuados directamente por una mano maestra y
los graba en una memoria, repitiendolos a continuaci on, y programaci on mediante el uso de un lenguaje de
alto nivel, para lo que existen actualmente numerosos lenguajes creados especcamente para el control de
robot, aunque tambien pueden emplearse sistemas mixtos.
4. Subsistema de percepci on
Conjunto de instrumentos captadores o sensores, que a traves de las se nales fsicas generan se nales electricas
que permiten a los subsistemas de control y decisi on conocer la situaci on instant anea del manipulador y de
los objetos del ambiente durante la ejecuci on de una tarea o desarrollo de una trayectoria.
Los sensores tambien son llamados transductores debido a la capacidad de convertir una se nal fsica en una
se nal electrica. Los sensores pueden ser propioceptivos y exteroceptivos.
41
Propioceptivos:
Constituye a todos aquellos instrumentos de sensibilidad que son propios del robot, es decir que obtienen
se nales de s mismos, por ejemplo un potenci ometro lineal acoplado a la echa de un motor, puede obtener
se nales que permitan saber la posici on angular que tiene actualmente la echa del motor, entre otros ejem-
plos, se encuentran: potenci ometros, tac ometros, sensores t actiles, codicadores opticos, etc..
Exteroceptivos:
Son los sensores que obtienen se nales del medio o del exterior, con respecto al robot, por ejemplo un sis-
tema de visi on articial constitudo por una c amara de TV, proporciona informaci on del medio en el que
est a inmerso el manipulador.
5. Subsistema de control
Procesa la informaci on recibida de los subsistemas de decisi on (la consigna original) y de percepci on (errores
a corregir) y genera las se nales fsicas necesarias para que, despues de ser amplicadas, los actuadores del
manipulador ejecuten nalmente los movimientos requeridos por sus eslabones en la realizaci on de la tarea.
El sistema de control y el lenguaje de programaci on conforman la secci on de toma de decisiones autom atica,
que incluye la planicaci on, el control de movimientos y la interpretaci on de los datos aportados por los
sensores.
El controlador suele estar formado por una uni on de suma donde se comparan las se nales de entrada y salida,
un dispositivo de control que determina la acci on de control, los amplicadores de potencia necesarios y los
dispositivos de hardware asociados para realizar la acci on de control en la instalaci on.
2.2.5. Aplicaciones de los robots
Para que son usados los robots?. Es por todos conocido que los robots est an en cualquier parte. Pero, algunos
son m as complicados y algunos tienen usos m as interesantes. Una de las areas de mayor uso de los robots es en
producci on, el cual tiene que ver con cualquier producto que es producido en grandes cantidades. Carros, aviones,
computadoras y miles de otros productos son creados de esta manera.
Los robots ponen juntas las partes necesarias, pintan carros con determinado color, empacan productos y hacen
otro tipo de trabajos que podran ser aburridos cuando una persona tiene que hacerlos una y otra vez. Los robots
pueden trabajar mas r apido que una persona y con m as precisi on por lo que no es tan f acil cometer errores y m as
productos pueden ser construidos de esta manera[42].
Otra area en donde los robots son muy necesarios es cuando las personas tienen que trabajar en ambientes de
alto peligro o cualquier tipo de lugar en que puede ser peligroso para los seres humanos. Esto puede signicar
checar las bases de una construcci on donde el edicio esta por derrumbarse o lugares como el oceano o el artico
donde las condiciones del ambiente no son favorables. Otros ambientes peligrosos incluyen lugares con derrames
qumicos o lugares donde se tienen que localizar minas [20].
Una de las aplicaciones tambien interesantes de los robots est a en el area de medicina. Como por ejemplo se
ha desarrollado un robot llamado Da Vinci (ver Figura 2.28) que puede operar en pacientes[18].
42
Figura 2.28: Robot Da Vinci que puede operar
pacientes [41].
Figura 2.29: Robot en la industria [60].
Dentro de las m ultiples aplicaciones que tienen los robots, se enuncian las siguientes:
Alimentaci on de m aquinas herramienta.
Pintura.
Soldadura de puntos.
Soldadura de arcos.
Manejo de materiales.
Limpieza de piezas fundidas y pulido.
Inspecci on.
Montaje.
Robots para la ense nanza.
Seguridad.
Manipulaci on de sustancias t oxicas.
Investigaci on aeroespacial.
Robots de recreaci on.
En la medicina, realizando operaciones a pacientes.
43
2.3. Modelo cinematico de robots manipuladores
2.3.1. Introducci on
La cinem atica del brazo robot trata con el estudio analtico de la geometra del movimiento de un robot
con respecto a un sistema de coordenadas de referencia ja como una funci on del tiempo, sin considerar las
fuerzas/momentos que originan dicho movimiento. As pues, trata con la descripci on analtica del desplazamiento
espacial del robot como funci on del tiempo, en particular las relaciones entre las variables espaciales de tipo
articulaci on y la posici on y orientaci on del efector nal del robot.
En la cinem atica del robot, se plantean dos problemas fundamentales descritos a continuaci on:
Problema cinematico directo:
Para un manipulador determinado, dado el vector de angulos de las articulaciones (ecuaci on) y los par ametros
geometricos del elemento, donde (n) es el n umero de grados de libertad. Se desea conocer cu al es la orientaci on
y la posici on del efector nal del manipulador con respecto a un sistema de coordenadas de referencia.
Problema cinematico inverso (o soluci on del brazo):
Dada una posici on y orientaci on deseada del efector nal del manipulador y los par ametros geometricos de
los elementos con respecto a un sistema de coordenadas de referencia, se desea saber si el manipulador puede
alcanzar la posici on y la orientaci on de la mano que se desea. Y si puede, cu antas conguraciones diferentes del
manipulador van a satisfacer la misma condici on. Como las variables independientes en un brazo de robot son
las variables de articulaci on y una tarea se suele dar en terminos de las coordenadas de referencia, el problema
cinem atico inverso se utiliza de forma m as frecuente.
En resumen, este an alisis permite conocer las relaciones que identican la ubicaci on cartesiana del organo
terminal en terminos de los angulos existentes entre los eslabones (coordenadas articulares o generalizadas) y
viceversa, as mismo sus variaciones en terminos del tiempo (cinem atica diferencial).
El modelo cinem atico de un robot puede ser:
1. Modelo cinem atico de posici on (MCP).
Modelo cinem atico directo de posici on (MCDP).
Modelo cinem atico inverso de posici on (MCIP).
2. Modelo cinem atico de velocidad (MCV).
Modelo cinem atico directo de velocidad (MCDV).
Modelo cinem atico inverso de velocidad (MCIV).
3. Modelo cinem atico de aceleraci on (MCA).
Modelo cinem atico directo de aceleraci on (MCDA).
Modelo cinem atico inverso de aceleraci on (MCIA).
44
La representaci on matem atica que dene la modelaci on cinem atica de un robot, permite controlar el movimien-
to del robot dada una referencia, comunmente una trayectoria planicada como en gran diversidad de aplicaciones
industriales.
La observaci on existente, que posiblemente logre un bajo desempe no en la realizaci on de una tarea, es el hecho
de no considerar las propiedades din amicas del robot.
Para entender la relaci on de la Cinem atica Directa y la Inversa se presenta a continuaci on la Figura 2.30.
Cinematica
Directa
Cinematica
Inversa
Valor de la coordenadas
Operacionales
Posicion y orientacion
del extremo del robot
Parametros de
los elementos
Figura 2.30: Relaci on entre cinem atica directa e inversa
Algunas aplicaciones del modelo cinem atico de un robot son:
1. Planicaci on de trayectorias.
2. Desarrollo de simuladores fsicos.
3. Soldaduras.
4. Posicionamiento de objetos en el espacio.
5. Manufactura de circuitos impresos, entre muchos otros.
Para obtener el modelo cinem atico se requiere identicar la cadena cinem atica del robot, y a partir de ella situar
mec anicamente los marcos ortonormales por articulaci on. Normalmente y dadas las especicaciones anteriores se
denen los par ametros de Denavit-Hartemberg que contribuyen para conocer las matrices elementales del robot,
el productos de ellas constituyen una matriz de transformaci on homogenea que dene una matriz de rotaci on y
un vector columna de posici on. A partir de ella es posible conocer la posici on y orientaci on del organo terminal
del robot en terminos de las variables articulares, concepto asociado con el MCDP.
45
A partir del MCDP es posible conocer la situaci on inversa (MCIP) y la cinem atica diferencial (MCDV, MCIV,
MCDA y MCIA) como a continuaci on se describe de manera general.
2.3.2. Descripciones: posici on, orientaci on y marcos
Una descripci on es usada para especicar atributos de varios objetos relacionados con los sistemas manipu-
ladores. Estos objetos son partes, herramientas o incluso el mismo manipulador.
A continuaci on se mostrar a la descripci on de la posici on, orientaci on y de una entidad que contiene a las dos
descripciones anteriores, los marcos[14].
Descripci on de posici on
Una vez establecido un sistema de coordenadas es posible localizar cualquier punto en ese universo utilizando
un vector de posici on de

V
31
. Como com unmente se denen varios sistemas de coordenadas adem as del
sistema de coordenadas del universo, los vectores deben estar marcados con informaci on para identicar con res-
pecto a que sistema de coordenadas est an denidos. Una forma de hacerlo es utilizar un superndice que indique
a que sistema de referencia est an asignados. Esto signica que los componentes tienen valores numericos que
indican distancias a lo largo de los ejes de A. As, cada una de esas distancias a lo largo de un eje representan la
proyecci on del vector sobre el eje correspondiente[14].
A
X

A
Y

A
Z

P
A
Figura 2.31: Sistema de coordenadas.
La Figura 2.31 representa a un sistema de coordenadas A, con tres vectores unitarios ortogonales. Un punto
est a representado con un vector y puede entenderse como una posici on en el espacio. A cada elemento del vector
se le asigna los sujos x, y o z:
46
A
P =
_

_
P
x
P
y
P
z
_

_
(2.2)
En resumen, la posici on de un punto en el espacio se describe mediante un vector de posici on (Ecuaci on 2.2).
Descripci on de orientaci on
A menudo es necesario representar no s olo un punto en el espacio, sino tambien se hace necesario describir la
orientaci on de un cuerpo en el espacio. Por ejemplo, si el vector
A
P en la Figura 2.32 localiza el punto entre la
pinza del efector nal del manipulador, la localizaci on completa del efector nal no est a especicada hasta que
su orientaci on sea tambien especicada. Para describir la orientaci on de un cuerpo, le ser a asignado un sistema
de coordenadas y entonces se dar a una descripci on de este sistema de coordenadas con respecto al sistema de
referencia. En la Figura 2.32. el sistema de coordenadas B ha sido asignado al cuerpo. La descripci on de B con
respecto a A es ahora suciente para dar una orientaci on al cuerpo.
{A}
{B}
P
A
Brazo
robot
Figura 2.32: Localizando un objeto en posici on y orientaci on.
De esta forma, la posici on de los puntos se describe mediante vectores mientras que la orientaci on de los cuerpos
se describe con la asignaci on de un sistema de coordenadas. Una forma de describir al sistema de coordenadas asig-
nado, B, es escribiendo los vectores unitarios de sus tres ejes principales en terminos del sistema de coordenadas A.
Los vectores unitarios que dan las direcciones principales del sistema de coordenadas B se denotan como

X
B
,

Y
B
y

Z
B
. Cuando se escriben en terminos del sistema de coordenadas A se denotan como
A

X
B
,
A

Y
B
y
A

Z
B
.
Puede ser conveniente colocar estos tres vectores juntos como columnas de una matriz de 3 3 en el orden
A

X
B
,
47
A

Y
B
y
A

Z
B
. Llamaremos a esta matriz una matriz de rotaci on, y como esta matriz en particular describe a B
con respecto de A, se denota
A
B
R (ver Ecuaci on 2.3)[14].
A
B
R =
_
A

X
B
A

Y
B
A

Z
B

=
_

_
t
11
t
12
t
13
t
21
t
22
t
23
t
31
t
32
t
34
_

_
(2.3)
En resumen, un juego de tres vectores pueden ser usados para especicar una orientaci on. As, para representar
la posici on de un punto se usa un vector, mientras que para representar la orientaci on se usa una matriz.
Podemos reemplazar los escalares t
ij
con expresiones notando que los componentes de cualquier vector son
simples proyecciones de ese vector sobre las direcciones unitarias de su marco de referencia. De esta forma, cada
componente de
A
B
R puede ser escrito como el producto punto de un par de vectores unitarios:
A
B
R =
_
A

X
B
A

Y
B
A

Z
B

=
_
_

X
B


X
A

Y
B


X
A

Z
B


X
A

X
B


Y
A

Y
B


Y
A

Z
B


Y
A

X
B


Z
A

Y
B


Z
A

Z
B


Z
A
_
_
(2.4)
Como el producto punto de dos vectores unitarios nos lleva al coseno del angulo entre ellos, es claro el por
que los componentes de una matriz de rotaci on sean algunas veces llamados cosenos directores.
Descripci on de un marco
La situaci on de determinar la posici on y orientaci on de un objeto resulta tan com un en rob otica que se ha
denido una entidad llamada marco, que es un conjunto de cuatro vectores que dan informaci on sobre la posici on
y orientaci on. Por ejemplo, en la Figura 2.32 un vector indica la posici on del efector nal y otros tres describen
su orientaci on. Por lo tanto, la descripci on de un marco est a dada por un vector de posici on y una matriz de
rotaci on. N otese que un marco es un sistema de coordenadas, donde adem as de la orientaci on contiene un vector
de posici on que localiza su origen con relaci on a otro marco.
En la Figura 2.32 se introdujo la representaci on gr aca de un marco. Un marco se representa con tres echas
que representan los vectores unitarios que denen los ejes principales del marco. La otra echa representa un
vector que va desde un origen a otro. Este vector representa la posici on del origen al nal de la echa en terminos
del marco al inicio de la echa. La direcci on de esta echa nos indica, por ejemplo, en la Figura 2.32, que el marco
B es relativo a A y no viceversa.
En conclusi on, un marco puede ser usado como la descripci on de un sistema de coordenadas en relaci on con
otro. Un marco representa tanto la posici on como la orientaci on por lo que es una generalizaci on de ambas ideas[14].
2.3.3. Cadena cinematica
Cadena cinematica:
Conjunto de elementos mec anicos que soportan la herramienta util del robot (base, armadura, mu neca, etc.).
La cadena cinem atica derivada del mecanismo de eslabones articulados se muestra en la representaci on generica
como se ve en la Figura 2.33. Y se dene de manera explcita la cadena cinem atica de un robot manipulador en
la Figura 2.34[10][20].
48
E1
E2
E3
M-1
E3
N-1
Organo
terminal
E
N
A1
A2
A
M-1
A
N-1
A
N
E: Eslabon
A: Articulacion
Figura 2.33: Representaci on generica de la ca-
dena cinem atica de un mecanismo de eslabones
articulados [10][20].
E2
Ef(E1)
E3
E
M-1
E
N-1
E
M
A1
A2 A
N
A
M
Organo
terminal
E
N
Figura 2.34: Forma explcita de denir la cadena
cinem atica de un robot manipulador [10][20].
2.3.4. Marcos ortonormales
Existe una regla cl asica para denir los marcos ortonormales para cada articulaci on del robot, estas son:
1. El origen 0
i+1
es el punto de intersecci on del eje de la articulaci on A y A
i+1
con la normal com un a los ejes de
las articulaciones A y A
i+1
. Si los ejes de las articulaciones son paralelos o est an alineadas, la perpendicular
com un se selecciona arbitrariamente. Es recomendable seguir un criterio de simplicidad.
2. El vector x
i+1
se dene sobre la perpendicular com un a los ejes de las articulaciones A y A
i+1
, orientado
del eje de A
i
al de A
i+1
. Si los ejes de las dos articulaciones se interceptan o est an alineadas, la orientaci on
de x
i+1
es arbitraria.
3. El vector z
i+1
se dene de manera tal, que coincida con el eje de la articulaci on A
i+1
orientado arbitraria-
mente.
y
i+1
se dene de tal manera, que se completa un marco de mano derecha, es decir: y
i+1
= z
i+1
+ x
i+1
[19].
2.3.5. Parametros Denavit-Hartenberg.
Una vez asignado un marco de referencia a cada eslab on, es necesario denir la posici on y orientaci on de cada
marco respecto al precedente. Esto se puede hacer aplicando cuatro par ametros geometricos asociados con cada
elemento ya que nos permiten describir completamente cualquier articulaci on prism atica o de revoluci on.
La regla que permite identicar los Par ametros de Denavit Hertenberg (PDH) para cada grado de libertad de
un robot es la siguiente [1][17]:
1.
i
: es el angulo de la articulaci on del eje x al eje x
i+1
, medido respecto del eje z
i
. Utilizando la regla de la
mano derecha.
2. d

i
: es la distancia entre x y x
i+1
, medida sobre z
i
.
3. a

i
: es la longitud de la perpendicular com un a los ejes de las articulaciones A
i
y A
i+1
.
4.

i
: es el angulo de separaci on del eje z
i
al eje z
i+1
, medido respecto a x
i+1
. Utilizando la regla de la mano
derecha[1].
49
2.3.6. Matriz de transformaci on homogenea
La Matriz de transformaci on homogenea (MTH) es una matriz de 4 x 4 que transforma un vector de posici on
expresado en coordenadas homogeneas desde un sistema de coordenadas hasta otro sistema de coordenadas.
Dada una matriz de transformaci on homogenea generalizada para cualquier robot manipulador (RM), se des-
criben a las matrices elementales del RM en terminos de los PDH [1][2][10][15].
La matriz de transformaci on homogenea (MTH) es la Ecuaci on 2.5:
i
i1
T =
_

_
C
i
S
i
S
i
S
i
S
i
a
i
C
i
S
i
C
i
C
i
C
i
S
i
a
i
C
i
0 S
i
C
i
d
i
0 0 0 1
_

_
(2.5)
2.3.7. Matrices elementales de un robot
Cada matriz elemental contiene informaci on de traslaci on y rotaci on de la cadena cinem atica del RM.
Del producto de las matrices elementales se obtiene la MTH:
1
2
T
2
3
T
3
4
T =
1
4
T (2.6)
Donde:
1
4
T =
_
_
R
33
P
31
f
13
1
_
_
R
33
: matriz de rotaci on.
P
31
: vector de posici on.
f
13
: transformaci on de perspectiva.
1: escalado.
As que con la aplicaci on de identidades trigonometricas para la suma de angulos se obtiene la siguiente
Ecuaci on 2.7:
1
4
T =
_

_
C
1
C
23
C
1
S
23
S
1
L
3
C
1
C
23
+L
2
C
1
C
2
S
1
C
23
S
1
S
23
C
1
L
3
S
1
C
23
+L
2
S
1
C
2
S
23
C
23
0 L
3
S
23
L
2
S
2
0 0 0 1
_

_
(2.7)
50
Donde:
cos(
1
) = C
1
cos(
2
+
3
) = C
23
sen(
1
) = S
1
sen(
2
+
3
) = S
23
Por lo tanto la MTH permite conocer las coordenadas de posici on y orientaci on del extremo nal del RM
( organo terminal cticio) respecto a la base.
2.3.8. Modelo cinematico directo de posici on (MCDP)
El MCDP es el conjunto de ecuaciones que proporcionan las coordenadas operacionales a partir de los angulos
de las articulaciones y se describe a partir de la siguiente ecuaci on:
x = f(q) (2.8)
Como las ecuaciones que denen a las coordenadas operacionales (cartesianas para posici on y angulos de Bryant
o Euler para orientaci on) en funci on de las coordenadas generalizadas o variables articulares ( angulos entre es-
labones)[1][2][10][15].
El MCDP permite conocer la posici on instant anea del organo terminal respecto a la base ja del RM. El MCDP
est a denido para la posici on por el vector P
3x1
y para la orientaci on por la matriz R
33
. Por tal motivo se dene
lo siguiente:
x = Px
y = Py
z = Pz
(2.9)
Este modelo se desarrolla matem aticamente en el captulo 5 de esta tesis.
2.3.9. Modelo cinematico inverso de posici on (MCIP)
El MCIP es el conjunto de ecuaciones que permiten conocer las variables articulares o coordenadas generalizadas
( angulos entre eslabones) en terminos de las coordenadas operacionales de posicionamiento (x, y, z)[1][2][10][15].
La representaci on matem atica formal es la siguiente:
q = f
1
(x) (2.10)
51
es decir:
_

2
M

n
_

_
= f
1
(x, y, z) =
_

_
f
1
1
(x, y, z)
f
1
2
(x, y, z)
M
f
1
n
(x, y, z)
_

_
(2.11)
El MCIP permite controlar cinem aticamente a un RM, su obtenci on parte del conocimiento de las matrices
elementales, la MTH y la cadena cinem atica. As tenemos lo siguiente:
1
4
T =
1
2
T
2
3
T
3
4
T
1
2
T
1
=
1
4
T
2
3
T
3
4
T
(2.12)
Donde:
1
4
T: MTH (matriz de transformaci on homogenea).
2.3.10. Modelo cinematico directo de velocidad (MCDV)
La ecuaci on del MCDV permite conocer la velocidad instant anea que el efector nal adquiere durante la
ejecuci on de una tarea. La velocidad que adquiere el efector nal bas andose en leyes convencionales (fsica) de la
cinem atica de un m ovil (cuerpo), es:
V =
d
dt
x =
d
dt
f(q) (2.13)
por lo tanto dado el MCDP (ecuaci on 2.8) obtenemos MCDV [1][2][12][20].
Sin embargo el MCDV puede ser representado por la siguiente expresi on:
x = J q (2.14)
Donde:
x : vector de velocidad del organo terminal del robot
q : vector de velocidad de las articulaciones del robot
J : matriz jacobiana del robot manipulador, cuyos elementos son J
ij
52
2.3.11. Modelo cinematico inverso de velocidad (MCIV)
Las ecuaciones del MCIV de un RM, permiten controlar la velocidad del mismo. La expresi on que permite
encontrar el MCIV, es la siguiente:
x =
d
dt
f(q) = J q (2.15)
Despejando a q del MCDV, tenemos:
x = J q
J
1
x = J
1
J q
q = J
1
x (2.16)
donde:
J
1
=
adjJ
det J
para evitar singularidad, es decir indeterminaci on:
det J = 0
de este modo es posible identicar las singularidades del RM, es decir las conguraciones inadmisibles, en otras
palabras los arreglos de (
1
,
2
,
3
) deseados que no puede adquirir el RM.
En el captulo 5 de esta tesis se encuentra el desarrollo matem atico m as detallado.
2.3.12. Modelo cinematico directo de aceleraci on (MCDA)
El MCDA se obtiene de la derivada con respecto al tiempo del MCDV, de la manera siguiente [1][2][10][15]:
x = J q
d
dt
[ x] =
d
dt
[J q]
x = J q +

J q (2.17)
Donde:
x: corresponde al vector de aceleraci on del organo terminal del robot.

J : corresponde al vector de aceleraci on de las articulaciones.

J : representa la primera derivada respecto al tiempo de la matriz Jacobiana.


53
2.3.13. Modelo cinematico inverso de aceleraci on (MCIA)
El MCIA se obtiene despejando a J q del MCDA, de la manera siguiente[1][2][12][20]:
x = J q +

J q
J q = x +

J q
q = J
1
[ x +

J q] (2.18)
2.4. Modelo dinamico de robots manipuladores
2.4.1. Introducci on
La din amica del robot trata con las formulaciones matem aticas de las ecuaciones de movimiento del brazo. Las
ecuaciones de movimiento de un manipulador son un conjunto de ecuaciones matem aticas que describen su con-
ducta din amica. Tales ecuaciones son utiles para la simulaci on en computadora del movimiento del robot, el dise no
de ecuaciones de control apropiadas para el robot y la evaluaci on del dise no y estructura del brazo. El objetivo del
control de un manipulador basado en computadora es mantener la respuesta din amica del mismo de acuerdo con
alg un rendimiento del sistema previamente especicado y objetivos deseados. En general, el rendimiento din amico
de un manipulador depende directamente de la ecacia de los algoritmos de control y de su modelo din amico.
El problema de control consiste en obtener modelos din amicos del brazo del robot fsico y a continuaci on especi-
car leyes o estrategias de control correspondientes para conseguir la respuesta y rendimiento del sistema deseado.
El modelo din amico de un robot se puede obtener a partir de leyes fsicas conocidas tales como las leyes de la
mec anica newtoniana y lagrangiana. Este conduce al desarrollo de las ecuaciones de movimiento din amico para las
diversas articulaciones del manipulador en terminos de los par ametros geometricos e inerciales de los elementos.
Metodos convencionales como las formulaciones de Lagrange - Euler (L-E) y Newton - Euler (N-E) se pueden
aplicar entonces sistem aticamente para desarrollar las ecuaciones de movimiento del robot.
La obtenci on del modelo din amico de un manipulador basado en la formulaci on de L-E es simple y sistem atica.
Suponiendo el movimiento del cuerpo rgido, las ecuaciones de movimiento resultante, excluyendo la din amica
de los dispositivos de control electr onico, huelgo y el rozamiento de los engranajes, son un conjunto de ecuaciones
diferenciales no lineales acopladas de segundo orden.
En ambos casos se puede necesitar calcular sus coecientes din amicos. Desgraciadamente, el c alculo de estos
coecientes requiere una relativa cantidad de operaciones aritmeticas. As las ecuaciones de L-E son muy difciles
de utilizar con nes de control en tiempo real a menos que se simpliquen.
La ecacia computacional se consigue a partir de una formulaci on compacta utilizando matrices de transfor-
maci on de Euler (o matrices de rotaci on) y vectores de posici on relativos entre articulaciones.[2]
2.4.2. Conceptos preliminares de la dinamica de cuerpos rgidos
Energa cinetica
Es una forma de energa debida al movimiento de los cuerpos. Equivale al trabajo que es necesario realizar
para que el cuerpo pase del estado de reposo (v = 0) al estado de desplazamiento con una velocidad v. En
mec anica cl asica un cuerpo de masa m desplaz andose a una velocidad v posee una energa cinetica.
54
Energa potencial
Es una funci on de las coordenadas tal que la diferencia entre sus valores en las posiciones inicial y nal es
igual al trabajo efectuado sobre la partcula para moverla de su posici on inicial a la nal.
Fuerza de Coriolis
Es la fuerza producida por la rotaci on de la tierra en el espacio, que tiende a desviar la trayectoria de los
objetos que se desplazan sobre la supercie terrestre; a la derecha en el hemisferio norte y a la izquierda,
en el sur.
Esta fuerza no s olo aparece durante la rotaci on de la tierra sino, en general, para cualquier objeto con masa
que se desplaza a una determinada velocidad sobre otro objeto en rotaci on.
Fuerza de centrpeta
Fuerza dirigida hacia un centro, que hace que un objeto se desplace en una trayectoria circular.
Fricci on
Fuerza que resiste el movimiento encontrada entre dos cuerpos, bajo la acci on de una fuerza externa en la
cu al un cuerpo tiende a moverse sobre la supercie del otro.
La fricci on es una caracterstica ineludible en los sistemas que se encuentran en movimiento, habitualmente
es el efecto que lleva al reposo. En un robot, la fricci on se presenta en las articulaciones y se reeja como
una fuerza opuesta al movimiento, este fen omeno fsico depende de factores como la temperatura, el tipo
de materiales utilizados cuyas supercies est an en contacto, etc. .
Seca
Si se trata de mover un bloque sobre una supercie rugosa por aplicaci on de una fuerza, este no se
mover a si la fuerza no sobrepasa cierto valor. Esto quiere decir que si el bloque no se mueve, la supercie
debe ejercer una fuerza igual a la aplicada.
Viscosa
La fricci on viscosa presenta una relaci on lineal entre la fuerza aplicada y la velocidad del movimiento:
f(t) = Bv(t), donde Bv es la constante de viscosidad.
2.4.3. Formulaci on Euler-Lagrange
Las ecuaciones de movimiento L-E proporcionan ecuaciones de estado explcitas para la din amica del robot y
se pueden utilizar para analizar y dise nar estrategias de control avanzadas en el espacio de las variables de ar-
ticulaci on. En una menor medida se est a utilizando para resolver el problema din amico directo, esto es, dadas las
fuerza/pares deseadas, se utilizan las ecuaciones din amicas para resolver las aceleraciones de las articulaciones,
que se integran a continuaci on para obtener las coordenadas y velocidades generalizadas; o para el problema
din amico inverso, esto es, dadas las coordenadas generalizadas deseadas y sus primeras dos derivadas respecto del
tiempo, se calculan las fuerzas/pares generalizados. [2]
La formulaci on de Lagrange-Euler, est a denida por la siguiente expresi on:
=
d
dt

q
L

q
L (2.19)
55
Donde:
L: lagrangiano.
L =
n

i=1
(K
i
P
i
) (2.20)
donde:
: par torsor para cada eslab on del manipulador.
K: energa cinetica (debida a la velocidad):
K =
1
2
mv
i
2
(2.21)
P: energa potencial (debido a la altura):
P
i
= m
i
gh
i
(2.22)
Por lo tanto la ecuaci on 2.20, se puede representar as:
L =
n

i=1
_
1
2
m
i
V
2
i
m
i
gh
i
_
(2.23)
n: n umero de grados de libertad del robot.
La representaci on matricial del modelo din amico de un robot manipulador considerando fricci on viscosa y seca,
cuyos elementos se obtienen a partir de la formulaci on de Lagrange-Euler (ecuaci on 2.13), se basa en la siguiente
expresi on:
= H(q) q +c(q, q) q +G(q) +F( q) (2.24)
donde:
: pares o fuerzas generalizadas.
H(q): matriz de inercia.
c(q, q): matriz de fuerzas de Coriolis.
G(q): vector de fuerzas gravitatorias.
F( q): vector de fuerzas de fricci on viscosa y seca.
56
q: articulaci on del robot.
q: vector de velocidad de las articulaciones del robot.
q: vector de aceleraci on articular.
F( q) = Fv( q) +Fs( q) (2.25)
donde:
Fv( q): Vector de fricci on viscosa.
Fs( q): Vector de fricci on seca.
F( q) =
_

_
n

i=1
(b
i

i
) Fv
n

i=1
(k
i
Sgn(

i
) k
i
Tanh(
i

i
)

) Fs
_

_
(2.26)
2.4.4. Propiedades dinamicas de un robot manipulador.
Estabilidad
1. Hace referencia a la ausencia de oscilaci on en el movimiento de la herramienta.
2. Las oscilaciones son perjudiciales porque:
Producen deterioros adicionales sobre las partes mec anicas e hidr aulicas del brazo.
Puede que, en repeticiones sucesivas del mismo movimiento, la herramienta siga diferentes caminos,
obligando a una mayor distancia entre la trayectoria deseada y los objetos del entorno.
Puede incrementar el tiempo necesario para que la herramienta se posicione en una posici on precisa.
Pueden causar una colisi on con alg un elemento del entorno si se sobrepasa la posici on de parada.
3. Tipos de oscilaciones:
Amortiguadas.
No amortiguadas[52].
Resoluci on espacial
1. Capacidad del sistema para regresar la punta de la herramienta a un punto predeterminado del espacio.
2. El grado de precisi on es la diferencia entre la posici on alcanzada y la originalmente especicada.
3. Factores que inuyen en la precisi on:
57
Impresici on de los componentes mec anicos.
Resoluci on de los componentes de control.
La posici on arbitraria jada como objetivo[52].
Repetibilidad
1. Capacidad del robot para situarse de nuevo sobre el mismo punto que haba sido indicado previamente[52].
2. Viene representada por la supercie esferica que encierra los puntos de varianza del extremo del robot des-
pues de m ultiples ordenes de posicionamiento, desde el mismo punto inicial al mismo punto nal de un
programa en identicas condiciones de carga[52].
Las propiedades del modelo din amico son:
1. Simetra de la matriz de inercia.
H (q) = H (q)
T
(2.27)
2. La matriz de inercia es denida positiva.
det {H (q)} > 0 (2.28)
3. Matriz antisimetrica.
y
T
_

H (q) 2C (q, q)
_
y

= 0 (2.29)
2.5. Conclusiones
En la actualidad los termino robot y rob otica, son tan controvertidas debido a lo que representa en muchas
areas; es por ello que no se puede determinar a un una clasicaci on ya que los siginicados que se le dan son
distintos y variados, como se pudo observar en este captulo se muestra una clasicaci on m as general tratando de
abarcar las m as importantes.
Ya que se han denido los conceptos b asicos de robot as como su clasicaci on de igual manera las formulas
b asicas de la modelaci on cinem atica y din amica de los robots manipuladores, el lector puede comprender el de-
sarrollo de esta tesis y el desarrollo matem atico que se presenta en captulos posteriores.
Para continuar con el desarrollo de este trabajo y para una mejor comprensi on del lector se presenta la
modelaci on analtica de la geometra de un robot, as como la descripci on analtica del desplazamiento espacial
del mismo, lo que se puede generalizar como cinem atica, de igual forma se presenta la din amica del robot que
son las formulaciones matem aticas del movimiento del brazo en lo que intervienen leyes fsicas como mec anica
Newtoniana y Lagrangiana.
58
Captulo 3
Generalidades de control de robots
manipuladores
3.1. Introducci on
Los sistemas de control para robots manipuladores, requieren del desarrollo de modelos matem aticos obtenidos
a traves de las leyes fsicas que rigen la din amica del robot. Estos modelos denen y predicen el comportamiento
presente y futuro del mismo, sin contar con su presencia fsica. Un robot industrial, requiere de ciertos elementos
sensoriales que le permitan actuar y reaccionar para alcanzar una determinada posici on, es decir, el robot reacciona
ante la presencia de alg un obst aculo y corrige su trayectoria. Estas acciones y reacciones del robot, resultan del
dise no de sistemas de control capaces de compensar cualquier perturbaci on o variaci on en los par ametros del robot.
Para los constructores y dise nadores de robots una de las areas de mayor interes es el dise no de controladores
para robots, por lo tanto el estudio del control es de gran importancia para los grandes retos te oricos que ofrece
la investigaci on ya que esta es indispensable en aplicaciones especcas que pueden ser llevadas a cabo mediante
los robots comerciales que se esten utilizando en la actualidad.
En este captulo se tratan las generalidades acerca de algunos metodos y conceptos b asicos de control. Los
controles b asicos que se abordan son: el control Proporcional Derivativo (PD), control Proporcional Integral
Derivativo (PID), control de modos deslizantes de segundo orden (PID no lineal) y el control Adaptable Pasivo
Robusto. Estos controles brindan a los robots, estabilidad en sus movimientos y de igual forma presici on. Por lo
tanto la revisi on y estudio que se realiza en este captulo nos sirve como base para una mejor comprensi on de las
pruebas que se realizan en el Captulo 5.
3.2. Conceptos preliminares de control
El controlador
Recibe este nombre el dispositivo que se encarga de regular el movimiento de los elementos del manipulador y
todo tipo de acciones, c alculos y procesado de informaci on, que se realiza. La complejidad del control vara seg un
los par ametros que se gobiernan, pudiendo existir las siguientes categoras[53]:
Controlador de posici on. S olo interviene en el control de la posici on del elemento terminal. Puede actuar
en modo punto a punto, o bien, en modo continuo, en cuyo caso recibe el nombre de control continuo de
trayectoria.
Control cinem atico. Cuando adem as de la posici on se regula la velocidad.
59
Control din amico. Se tienen en cuenta, tambien, las propiedades din amicas del manipulador, motores y
elementos asociados.
Control adaptativo. Adem as de lo indicado en los anteriores controles, tambien se considera la variaci on de
las caractersticas del manipulador al variar la posici on.
Sin embargo la metodologa de estudio de dise no de los sistemas de control puede resumirse a traves de las
siguientes etapas [61]:
1. Familiarizaci on con el sistema fsico a controlarse: deben considerarse las variables fsicas del sistema cuyo
comportamiento se desea controlar, como lo son velocidad, posici on y aceleraci on, tales variables son lla-
madas salidas del sistema. Aunque tambien se debe tomar en cuenta las entradas de sistema que en este
caso de estudio es la fuerza de par o Torque.
2. Modelado: modelo matem atico se obtiene a traves de dos tecnicas la analtica y la experimental; la primera
es basada en ecuaciones de la fsica que rige el comportamiento del sistema y la segunda requiere de datos
experimentales del sistema.
3. Especicaciones de control: se especifcan las caractersticas que se desean para el sistema. As se puede
apreciar que el control es un tema sobresaliente de la intersecci on que se da entre la rob otica y la ingeniera
electrica y en especial el el area del control autom atico.
4. Controlador.
Reriendose a otro aspecto, el control puede llevarse a cabo en lazo abierto o en lazo cerrado. En el caso del
control en lazo abierto, se produce una se nal de consigna que determina el movimiento, pero no se analiza si se
ha realizado con exactitud o se ha producido un error, al efectuarse en la realidad. El control en lazo abierto es
tpico en los motores paso a paso (PAP), en los cuales las se nales que generan un paso del mismo, dan lugar al
giro de un determinado angulo del eje, es decir, son motores con movimiento cuanticado. Existen sistemas con
salidas temporizadas o movimientos predeterminados, que act uan en lazo abierto[53].
El control en lazo abierto tiene muchas causas de error (inercia, interferencias, fricciones, desplazamientos,
etc.), y si bien es muy simple y econ omico, no se admite en las aplicaciones industriales, donde es fundamental
la exactitud en la repetibilidad de los movimientos. Sin embargo, en robots dedicados a la ense nanza y el entre-
namiento, este tipo de control est a muy extendido.
La mayora de los sistemas de robots industriales poseen un control en lazo cerrado, con realimentaci on. Este
control hace uso de un transductor o sensor de la posici on real de la articulaci on o del elemento terminal, cuya
informaci on se compara con el valor de la se nal de mando o consigna, que indica la posici on deseada. El error
entre estas dos magnitudes, se trata de diversas formas para obtener una se nal nal, que aplicada a los elementos
motrices, vare la posici on real hasta hacerla coincidir con la deseada. En la siguiente Figura 3.1 se muestra un
esquema por bloques de un controlador en bucle cerrado, en el que la se nal que act ua sobre el motor es pro-
porcional a la se nal de error (posici on deseada menos posici on real), de forma que la relaci on entre la salida del
controlador y la se nal de error es constante.
Adem as del controlador de tipo proporcional, hay otros como el integral, cuya salida vara proporcionalmente
a la se nal de error y el derivativo, en el que la salida vara proporcionalmente con la velocidad de variaci on de
la se nal de error. La combinaci on de los tres tipos de controladores descritos, dan lugar al que se denomina PID
(Proporcional - Integral - Derivativo). La siguiente Figura (3.2) presenta el esquema general de un controlador
PID, con los circuitos caractersticos implementados a base de Amplicadores Operacionales[53].
Los sensores empleados para la determinaci on de la posici on de los ejes de los motores motrices, pueden ser
de car acter anal ogico o digital, como discos de pl astico transparentes con rayas negras, que al girar a traves de
detectores opticos, cortan el haz de luz entre emisor y detector y generan una serie de impulsos electricos que
60
Motor
Posicion
Real
Sensores
Z posicion media
Comparador Amplificador
Posicion
Deseada
Error
Zo
Zo-z
K(Zo-Zj)
Figura 3.1: Un controlador de tipo proporcional, en el que la se nal aplicada al motor es proporcional a la se nal de error[53].
sirven para calcular el angulo desplazado[53].
Los modernos controladores de robots son ordenadores, en los que el programa correspondiente se encarga de
calcular las se nales aplicadas a los actuadores, tras el procesado de la se nal de consigna y la que procede de los
transductores de posici on[53].
3.3. Tipos de control
Para el control de Robots existen cuatro acciones b asicas de control que se utilizan por separado, o en combi-
naci on, para proporcionar los seis tipos m as comunes de controladores. Las acciones son: todo o nada, control
proporcional, control derivativo y control integral. Los siete tipos de control son:
Todo o nada.
Proporcional.
Integral.
Proporcional m as integral (PI).
Proporcional m as derivativo (PD).
Proporcional integral m as derivativo (PID).
Adaptable.
Cada uno de estos tipos de controladores es el mejor para determinadas situaciones [2].
61
v
-
+
-
+
-
+
+ +
+
+ -
Controlador PID
Senal de
error
(Senal de
consigna)
(Senal de posicion)
Salida del
Controlado
Articulacion
Sensor
A
B
v
Figura 3.2: Esquema de un controlador PID[53].
3.4. Control Proporcional Derivativo (PD)
La acci on del control derivativo proporciona una se nal de control proporcional a la velocidad de cambio de la
se nal de error. Puesto que esta no genera ninguna salida a menos que el error sea cambiado, en raras ocasiones
se utiliza sola. El controlador PD se representa por [2]:
= k
p
e(t) +k
d
de(t)
dt
(3.1)
donde:
k
p
: constante proporcional.
k
d
: constante derivativa.
: es la fuerza nal aplicada (torque).
e(t): es el error general con respecto al tiempo.
de
dt
: derivada del error con respecto a t.
t: tiempo.
62
Mientras que:
k
d
= 2
_
k
p
(3.2)
El efecto de la acci on del control derivativo es anticipar cambios en el error y proporcionar una respuesta m as
r apida a los cambios [2].
3.5. Control Proporcional Integral Derivativo (PID)
Tres de las acciones de control se pueden combinar para formar el controlador PID se representa mediante [2]:
= k
p
e(t) +k
i
_
e(t)dt +k
d
de
dt
(3.3)
siempre que las condiciones se cumplan:
k
d
debe de ser mucho menor que k
p
y este a su vez mucho menor que k
i
.
k
i
<< k
d
<< k
p
donde:
k
d
: constante derivativa.
k
p
: constante proporcional.
por lo tanto se puede utilizar una proporci on est andar como a continuaci on se presenta:
k
i
<< 2
_
k
p
k
p
= Wn
2
k
d
= 2 Wn
donde:
Wn: es la frecuencia natural.
El control PID es el tipo de control m as general y, con toda probabilidad, es el tipo de controlador m as utiliza-
do. Proporciona una respuesta r apida, un buen control de la estabilidad del sistema y un bajo error de regimen
permanente. Como se indic o con anterioridad, en los modernos controladores de robot, los c alculos asociados con
alguno de los controladores anteriores suelen ejecutarse por microcomputadoras. [3][4]
El an alisis de un sistema de control suele dividir en dos partes: respuesta transitoria y respuesta de regimen
permanente. La respuesta transitoria de un sistema es el comportamiento del sistema durante la transici on desde
63
RAZ

ON DE REAJUSTE
RAZ

ON DE RETARDO TOTAL BANDA (RECIPROCO DE LA


REACCI

ON DEL PROPORCIONAL CONSTANTE DE TIEMPO


PROCESO INTEGRAL
Lenta Corto Angosta R apida
Lenta Moderado Mediana Lenta
R apida Corto Mediana R apida
R apida Moderado Amplia Lenta
Cuadro 3.1: Ajustes adecuados de un integrador Proporcional Integral para diferentes condiciones[36].
alg un estado inicial al estado nal. La respuesta de regimen permanente es el comportamiento del sistema cuando
el tiempo se aproxima a innito. [5]
En la Tabla 3.1 se resume la relaci on entre las caractersticas del proceso y el modo de control. Como es
natural[21].
En la Tabla 3.1 se muestran los ajustes relativos de la banda proporcional y la raz on de reajuste para un control
proporcional m as integral. Se supone que el control proporcional m as integral funciona bajo varias condiciones de
raz on de reacci on del proceso y retardo de transferencia y tiempo muerto. El retardo de transferencia y el tiempo
muerto (retardo de transporte) han sido agrupados bajo el termino retardo en la Tabla 3.2[21].
3.6. Control por modos deslizantes de segundo orden o PID no lineal.
En aplicaciones de control de robots, con tareas de regulaci on a una coordenada no singular del espacio de
trabajo del manipulador, el control PD con compensaci on de gravedad y el control PID lineal tienen excelente
desempe no. Sin embargo, estos controladores no tienen eciente desempe no en tareas de seguimiento de trayecto-
rias. Un control con eciente desempe no en tareas de seguimiento, sin conocimiento de los par ametros din amicos
del robot, es el control PIDNL.
Si se sabe que S es el error y que este contiene el error de posici on (tambien llamado error extendido) y
velocidad, entonces tenemos que la formulaci on es la siguiente:
S = e +
de
dt
(3.4)
Y si entendemos que e est a denida por:
e =
referencia

real
(3.5)
64
RETARDO RETARDO TAMA

NO VELOCIDAD
DE DE TIEMPO DE LA DE LA
M

ETODO REACCI

ON TRANSFE- MUERTO PERTUR- PERTURBA-


DEL RENCIA BACI

ON CI

ON
DE PROCESO M

AXIMO DE LA DE LA
CONTROL (M

INIMO) CARGA CARGA


(M

AXIMO) (M

AXIMO)
Largo
Encendido- solamente Muy corto Muy corto Peque na Lenta
apagado (no puede
ser corto)
Largo o
S olo moderado Moderado Moderado Peque na Lenta
proporcional (no puede ser
corto)
Proporcinal Cualquiera Moderado Moderado Cualquiera Lenta
mas integral
Largo o
Proporcional moderado Moderado Moderado Peque na Cualquiera
m as (no puede ser
derivativo muy corto)
Proporcional
m as integral Cualquiera Cualquiera Cualquiera Cualquiera Cualquiera
mas
derivativo
Cuadro 3.2: Tipos de procesos que pueden ser controlados satisfactoriamente por cada uno de los modos b asicos
de control[36].
Entonces derivando el error tenemos la siguiente ecuaci on:
de
dt
=
d
dt
(
referencia

real
) (3.6)
De esta forma el metodo es evaluado con el n de determinar un momento que es pr oximo menor a los eslabones
de referencia en comparaci om a los metodos anteriores.
Con esto nos puede llevar a un mayor control al momento de la ejecuci on.
Sustituyendo en S los valores calculados se obtiene lo siguiente:
S = (
referencia

real
) +(

referencia

real
) (3.7)
Por lo tanto la ecuaci on nal es:
= K
d
S +K
i
_
sgn(s)dt (3.8)
65
Donde:
lm

tanh(S) = Sgn(S) (3.9)


Por lo tanto:
= K
d
S +K
i
_
tanh(S)dt (3.10)
Teniendo las siguientes condiciones:
S = e +
.
e (3.11)
Donde la constante = 100
Y las ganancias estar an denidas de la siguiente manera:
K
d
= Wn
2
(3.12)
=
2
Wn
(3.13)
K
i
<< 2Wn
3
(3.14)
Donde hay que mencionar que al referirse a Wn es la frecuencia natural que todo cuerpo posee y se tiene como
constante, dentro del modelo es una contante que determina los valores iniciales a las constantes de proporci on y
derivaci on.
3.7. Control adaptable P-R
3.7.1. Historia del control adaptable
La tecnica del Control Adaptable surge a partir de 1950 con el n de dar soluci on a problemas de control en
los que las caractersticas del sistema a controlar son variables o poco conocidas.
Una de las tantas deniciones que se han dado al control adaptable es la siguiente, seg un un foro realizado
referente al tema, en el a no de 1961: Un sistema Adaptativo es aquel sistema fsico que ha sido dise nado desde
el punto de vista Adaptativo. En otras palabras es un sistema del cual se espera se adapte a los cambios en la
din amica del proceso a controlar, esperando con ello resultados optimos.
Otra denici on, seg un el texto de control adaptable y robusto del profesor Francisco R. Rubio[56], control
adaptable es un tipo 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 par ametros y
por consiguiente a la velocidad con la cual los par ametros del regulador son modicados y la escala r apida que
corresponde a la din amica del bucle ordinario de realimentaci on.
El sistema de control adaptable debe proporcionar informaci on continua sobre el estado actual del proceso.
Es decir en todo momento realizar una IDENTIFICACI

ON. El sistema adaptable debe comparar el desempe no


actual con el deseado y despues de esto tomar la mejor decisi on. En este caso los par ametros han experimentado
un cambio, se han ADAPTADO.
Existe una diferencia muy clara entre el control cl asico y el control adaptativo.
66
El control cl asico est a dise nado y estructurado para sistemas lineales y con par ametros invariantes en el tiempo.
En caso de que se presenten alteraciones en el funcionamiento del sistema, es posible que el control no responda
de manera eciente.
El control adaptativo presenta una alternativa diferente. Este responde a cambios inesperados en la din amica
del sistema y a perturbaciones. Es un control con par ametros variantes en el tiempo.
Temas tales como sistemas lineales y no lineales, dise no de controladores, estabilidad, control estoc astico, proce-
samiento de se nales, estimaci on e identicaci on de sistemas, est an ntimamente ligados con el control adaptativo.
3.7.2. Para que sirve el control adaptable
Un regulador adaptativo est a dise nado para controlar sistemas en los cuales se tiene par ametros variantes con
el tiempo. Esta variaci on de los par ametros est a ligada con envejecimiento de las componentes del sistema, con
alinealidades de los actuadores, as como a cambios s ubitos en el proceso (perturbaciones).
3.7.3. Control adaptable.
Para el dise no del control, es necesario dise nar una referencia nominal q
r
tal que en lazo cerrado, el robot tenga
un comportamiento estable, se propone la siguiente
q
r
= q
d
q (3.15)
sustituyendo Ecuaci on 3.15 en Ecuaci on 3.3 se obtiene el error extendido,
S =

q +q, (3.16)
donde q = q q
d
, y q
d
representa la trayectoria o coordenada de referencia.
El control adaptable propuesto es el siguiente
= Y
r
(q, q, q
r
, q
r
)

K
d
S (3.17)

= Y
r
(q, q, q
r
, q
r
)
T
S (3.18)
donde K
d
= K
T
d

nn
y =
T

pp
son matrices diagonales denidas positivas, y

representa el vector
de par ametros estimados. La ecuaci on de error en lazo cerrado denida a partir de Ecuaci on 3.18 y 3.17 es
H (q)

S = {C (q, q) +B} S Y
r
(q, q, q
r
, q
r
) +Y
r
(q, q, q
r
, q
r
)

K
d
S (3.19)
simplicando,
H (q)

S = {C (q, q) +B +K
d
} S +Y
r
(q, q, q
r
, q
r
) (3.20)
donde =

.
3.8. Conclusiones.
Se puede concluir que el control es un algoritmo que permite la regulaci on de la energa aplicada a los motores
que generan el movimiento del robot, de manera que alcancen los par ametros deseados con el n de disminuir el
error.
Existen diversos tipos de control desde los que controlan s olo la posici on, posici on - velocidad, los que toman
en cuenta las propiedades din amicas del sistema los que consideran las variaciones de las caractersticas del robot,
los controles presentados permiten observar las mejoras que presentan uno con respecto al otro de forma te orica.
67
Captulo 4
Visualizaci on virtual, analisis y dise no
del sistema de Seguimiento de
trayectorias.
4.1. Introducci on
El desarrollo de nuevas tecnologas es cada vez m as acelerado. Algunas producen grandes impactos mientras
otras no logran superar las expectativas iniciales m as simples. En este contexto, Por que el desarrollo de la
Realidad Virtual se presupone importante?. Hay varias razones de orden sociol ogico, econ omico y pr actico que
permiten suponer que esta tecnologa alcanzar a una posici on relevante: un aumento explosivo de la informaci on
y de la complejidad del mundo, que requiere de herramientas y personas con mayor destreza en el manejo de
variables m ultiples, y con una r apida capacidad de reacci on. Pero al mismo tiempo, se requiere que el riesgo sea
mnimo para el individuo expuesto.
Un elemento indispensable para los hombres es la comunicaci on. Dado el gran auge que han tenido las com-
putadoras, aparece la necesidad de mejorar la comunicaci on entre ellas y sus usuarios, es decir, intentar una
comunicaci on m as natural con la m aquina. Es en este escenario que surge el concepto de realidad virtual y los
ambientes virtuales, inicialmente como una interfaz hombre-m aquina m as eciente.
En el presente captulo se hace un estudio de forma comparativa de ciertas herramientas as como de lenguajes
utilizados en el presente para el desarrollo y dise no de ambientes virtales, en este proyecto se pueden apreciar
algunas caractersticas que contienen cada uno de ellos y de esta forma denir cu al ha de ser el optimo lenguaje
y/o herramienta que se utiliza para este trabajo a lo que se reere la construcci on del robot virtual.
De igual forma se hace una descripci on de c omo funciona el modelo cinem atico y din amico en el ambiente
virtual, as como las diferencias principales en cuanto a lo visual entre ambos modelos.
4.2. Conceptos preliminares de realidad virtual
Denir Realidad virtual (RV, o simplemente VR de su termino ingles Virtual Reality) es difcil. Existen tantas
deniciones como investigadores en un area, que dada su reciente y r apida evoluci on no han permitido tener una
denici on unica. De este modo, no resulta extra no que la realidad virtual resulte ser altamente relativa para las
diferentes personas y en las diferentes situaciones. Realidad Virtual, cada una de las palabras que componen
este termino resultan ser conictivas a la hora de buscarles una denici on unica y exacta. No cabe duda que la
realidad resulta ser altamente relativa para las diferentes entidades que la viven; y que el termino virtual (que
68
tiene existencia aparente y no real), puede abarcar demasiado. M as que tratar de dar una denici on veremos
un c umulo de deniciones, donde cada una entrega una idea de lo que se debera entender por realidad virtual:
Es la experiencia de telepresencia, donde telepresencia es la sensaci on de presencia utilizando un medio de
comunicaci on.
Es una manera mediante la cual los humanos visualizan, manipulan e interact uan con computadoras y datos
extremadamente complejos.
Es un paso m as all a de lo que sera la simulaci on por computadoras, trat andose m as bien de una simulaci on
interactiva, din amica y en tiempo real de un sistema.
Consiste en simulaciones tridimensionales interactivas que reproducen ambientes y situaciones reales.
Es un entorno de tres dimensiones sintetizado por computadora en el que participantes acoplados de forma
adecuada pueden atraer y manipular elementos fsicos simulados en el entorno y, de alguna manera, rela-
cionarse con las representaciones de otras personas pasadas, presentes o cticias, o con criaturas inventadas.
Es un ambiente altamente interactivo donde el usuario participa a traves del uso de una computadora en
un mundo virtualmente real. Es una simulaci on tridimensional por computadora durante la cual el usuario
resulta inmerso tan completamente que esta realidad, de origen articial, aparenta ser real.
Es simulaci on por computadora, din amica y tridimensional, con alto contenido gr aco, ac ustico y t actil,
orientada a la visualizaci on de situaciones y variables complejas, durante la cual el usuario ingresa, a traves
del uso de sosticados dispositivos de entrada, a mundos que aparentan ser reales, resultando inmerso
en ambientes altamente participativos, de origen articial. Una nueva y sorprendente forma de navegar
informaci on.
Es el medio que proporciona una visualizaci on participativa en tres dimensiones y la simulaci on de mundos
virtuales, siendo dichos mundos el elemento fundamental de un sistema de realidad virtual. La realidad
virtual es un entorno generado por computadora en el que los participantes pueden entrar fsicamente e in-
teractuar con el desplaz andose por su interior o modic andolo de cualquier forma. En su forma m as simple,
un mundo virtual podra estar compuesto por un edicio tridimensional por el que podramos desplazarnos,
aunque sin modicar nada. Sin embargo, con el equipamiento adecuado, los usuarios podran ver, desplazarse
e interactuar a traves de estos entornos gr acos generados por computadora.
Existen diversos terminos para referirse al mismo concepto, tal es el caso de realidad sintetica, mundos
virtuales o cticios y ciberespacio, palabras diferentes, mismos signicados, identicas indeniciones.
Por regla general se reconoce que el termino Realidad Virtual fue acu nado originalmente por Jaron Lanier,
ex director de VPL Research, en 1989 (Myron Krueger fue el primero en atriburselo), para distinguir entre
simuladores y la experiencia de inmersi on de realidad virtual, a un que otros autores dieren de esta posici on
planteando que ya en 1987 David Zelzer (Media Lab) utilizaba dicha expresi on. Aunque el origen exacto del uso
de la expresi on realidad virtual es ambiguo, y m as bien anecd otico, la cronologa del desarrollo de la misma es
bastante m as clara.
Aunque los dispositivos tradicionales de input-output con la computadora (teclado, mouse, monitor, joystick)
ofrecen grandes facilidades para el manejo de informaci on, est an limitados cuando las aplicaciones van ganando
en complejidad y sosticaci on, como es el caso de la realidad virtual que requiere de otros dispositivos para poder
aprovechar todo su potencial.
En 1958, la Philco Corporation desarrolla un sistema basado en un dispositivo visual del casco, controlado por
los movimientos de la cabeza del usuario; algunos a nos despues, Iv an Sutherland y otros crean el Casco Visor
69
(Head Mounted Display, HMD) mediante el cual el usuario poda examinar, moviendo la cabeza, un ambiente
gr aco. Morton Heiling inventa y opera el Sensorama.
En 1969, Myron Krueger crea ambientes interactivos que permiten la participaci on de cuerpo entero, en eventos
apoyados por computadoras. Por aquel entonces, diversos artistas ofrecan espect aculos que incluan im agenes,
sonidos, vibraciones y hasta olores, que junto con c amaras que captaban sus movimientos sumergan al espectador
en un mundo irreal, reproducido en una pantalla gigante. Paralelamente, Frederick Brooks, de la Universidad de
Carolina del Norte en Chapel Hill, trabajaba en un proyecto para lograr que los usuarios muevan objetos gr acos
mediante un manipulador mec anico.
Para nes de los 70, en el Media Lab del Instituto Tecnol ogico de Massachusetts (MIT), se obtiene el Mapa
Filmado de Aspen, EE.UU. una simulaci on de vdeo de un paseo a traves de la ciudad, donde el usuario puede
recorrer sus calles y edicios. Tom de Fanti fue el inventor del Guante de Datos en 1976; aunque su dise no fue
mejorado posteriormente por Tom Zimmerman, dando origen al DataGlove, dise nado originalmente para poder
tocar una guitarra virtual o imaginaria. Aunque fue Jason Lanier quien comenz o a creer y a divulgar las posi-
bilidades de las nuevas tecnologas y el que se hizo famoso en todo el mundo al presentar en 1984 una versi on
mejorada del guante de datos para la NASA. Ese mismo a no, Michael McGreevy y sus colegas de la NASA
desarrollan Lentes de Datos, con los cuales el usuario puede mirar el interior de un mundo gr aco mostrado en
una computadora[54].
En los inicios de los 90, los sistemas de realidad virtual salen de los ambientes de laboratorios en busca de apli-
caciones comerciales, apareciendo las cabinas de entrenamiento para pilotos de guerra, los conocidos simuladores
de vuelo, los recorridos virtuales, entre otras muchas aplicaciones.
En la actualidad, estamos a un en presencia del crecimiento y consolidaci on de las tecnicas y recursos de la rea-
lidad virtual, el cual ha sido posible gracias al esfuerzo e interes combinado de cientcos, militares y visionarios,
y por que no decirlo, al dinero de las empresas que ven en ella una nueva y prometedora m aquina de hacer dinero.
Para poder evaluar a un sistema realidad virtual como tal, es necesario que cumpla con ciertos elementos, entre
los que se destacan[54]:
Simulaci on: simulaci on para modelar un sistema, cabe decir que esta tiene que ser lo sucientemente rea-
lista para convencer al usuario. Es decir una simulaci on del modelo o del mundo a experimentar, donde
regir an una serie de reglas, no necesariamente iguales a las de la vida real.
Interacci on: interacci on para tener control de la exploraci on del sistema creado; de no existir esta interac-
ci on el sistema no dejara de ser una pelcula o recorrido jado a priori. Para lograr la interacci on existen
diversas interfaces hombre-m aquina, que van desde teclado y mouse hasta guantes o trajes sensoriales. La
interactividad con el mundo virtual supone que el usuario pueda mover objetos (adem as de s mismo) y
modicarlos, y que tales acciones, produzcan cambios en ese mundo articial.
Percepci on (Inmersi on): la percepci on viene a ser el factor m as importante, algunos sistemas de realidad
virtual se dirigir an principalmente a los sentidos (visual, auditivo, t actil) por medio de elementos externos
(cascos de visualizaci on, guantes de datos, cabinas, etc.); otros trataran de llegar directamente al cerebro,
evitando as las interfaces sensoriales externas; y otros, los m as simples recurrir an a toda la fuerza de la
imaginaci on del hombre para experimentar una realidad virtual relativa. De este modo el usuario puede
creer que realmente esta viviendo las situaciones articiales que el sistema de realidad virtual genera. La
caracterstica de percepci on es asociada con el grado de inmersi on que el usuario siente.
Generaci on de imagenes: en un sistema de realidad virtual las im agenes mostradas al usuario no se
encuentran almacenadas en ning un sitio, sino que son generadas dependiendo de la perspectiva que pretenda
observarse. Esto es debido a la total libertad de movimientos que disfruta el usuario, y que hace imposible
tener guardadas todas las im agenes correspondientes a todos los posibles puntos de vista. Los sistemas de
70
realidad virtual poseen una base de datos con todos los elementos que componen el mundo virtual, a partir
de la cual, estos generan la informaci on que se mostrar a al usuario.
Tridimensionalidad: debe existir realmente una dimensi on de profundidad, similar a la que ofrecen los
simuladores de vuelo. Para conseguir este efecto de tridimensionalidad los objetos del mundo virtual deben
tener asociada una tercera dimensi on que marque su profundidad en la pantalla[54].
Los tres primeros elementos, son imprescindibles en cualquier sistema de realidad virtual, aunque algunos inves-
tigadores plantean que las tres bases de la realidad virtual son las 3i (Interacci on, Inmersi on e Imaginaci on)[54].
4.2.1. Clasicaci on de la realidad virtual.
El hardware de realidad virtual es bastante variado. As que en funci on de estos elementos involucrados, se
pueden clasicar cuatro grandes grupos de sistemas que se proclaman como realidad virtual[54]:
Sistemas Desktop de Realidad Virtual: o realidad virtual de escritorio, donde se engloban todas aquellas
aplicaciones que muestran una imagen 2D o 3D en un monitor en lugar de proyectarla en un casco.
Los ejemplos tpicos son los simuladores de vuelos y la mayora de los juegos para PCs. Algunos tendr an
interfaces sosticadas, pero tienen en com un el concepto de 3D en 2D.
Realidad Virtual en Segunda Persona: son aquellos sistemas en los cuales el usuario sabe que est a en el
mundo virtual porque se ve a s mismo dentro de la escena. Es decir es un integrante visible del mundo
virtual, por medio de la proyecci on de su imagen en un fondo o ambiente, las cuales son visualizadas en la
pantalla. Aplica la idea de ver para creer para inducir la sensaci on de presencia.
Sistemas de Telepresencia: utilizan generalmente elementos como c amaras, micr ofonos, dispositivos t actiles
y de fuerza con elementos de retroalimentaci on, ligados a elementos de control remoto para permitir al
usuario manipular robots u otros dispositivos ubicados en lugares remotos mientras se est a experimentando
en forma virtual.
Sistemas de Inmersi on de Realidad Virtual: son aquellos que literalmente sumergen al usuario en el mundo
virtual, mediante la utilizaci on de sistemas visuales del tipo HMD, equipos sensores de posici on y movimien-
tos as como procesadores de sonido. Quedando el usuario estrechamente relacionado con el ambiente virtual,
y aislado hasta cierto punto del mundo real. Los usuarios ven al mundo virtual como si estuvieran viendo
al mundo real[54].
4.2.2. Caractersticas generales del ambiente virtual.
En el ambiente virtual desarrollado el modelo tridimensional del robot se presenta como la uni on de diferentes
supercies dibujadas en un espacio com un determinado por los ejes X, Y, y Z.
Este ambiente posibilita el movimiento gradual del robot a partir de rotaciones en cada una de sus articula-
ciones, habilitadas utilizando barras de deslizamiento cuyos valores mnimo y m aximo corresponden a los lmites
reales de movimiento. De manera simult anea permite visualizar la posici on del efector nal, calculada a partir
de la rotaci on efectuada en cada articulaci on, seg un el sistema de referencia ubicado en la base del modelo que
corresponde al sistema de referencia real del robot.
Las opciones principales de manejo de gr acos ofrecidas por Matlab, son utilizadas para facilitar la visualiza-
ci on del modelo. El volumen de trabajo, es presentado por el programa a petici on del usuario, despues de ser
calculado seg un los lmites de las articulaciones del robot[55].
71
Figura 4.1: Portada de AutoCAD 2006[44].
4.2.3. Herramientas de edici on
1. AutoCAD.
AutoCAD de Autodesk es una herramienta dentro del campo denominado CAD (Computer Aided Design)
o Dise no Asistido por Computadora. Para ser m as exacto AutoCAD. es un programa de dise no en CAD
analtico (frente a otros sistemas de CAD parametrico). La versatilidad del sistema lo ha convertido en un
est andar general[44].
Caractersticas:
Dibujar de una manera agil, r apida y sencilla, con acabado perfecto y sin las desventajas que encon-
tramos si se ha de hacer a mano.
Permite intercambiar informaci on no solo por papel, sino mediante archivos, y esto representa una
mejora en rapidez y efectividad a la hora de interpretar dise nos, sobretodo en el campo de las tres
dimensiones.
Con herramientas para gesti on de proyectos podemos compartir informaci on de manera ecaz e in-
mediata. Esto es muy util sobretodo en ensamblajes, contrastes de medidas, etc..
Es importante en el acabado y la presentaci on de un proyecto o plano, ya que tiene herramientas para
que el documento en papel sea perfecto, tanto en estetica, como, lo m as importante, en informaci on,
que ha de ser muy clara. Para esto tenemos herramienta de acotaci on, planos en 2D a partir de 3D,
cajetines, textos, colores, etc. aparte de metodos de presentaci on fotorrealsticos.
Un punto importante para AutoCAD es que se ha convertido en un est andar en el dise no por com-
putadora debido a que es muy vers atil, pudiendo ampliar el programa base mediante programaci on
(Autolisp, DCL, Visual Basic, etc.)[44].
72
2. 3D Studio.
Figura 4.2: Portada de 3D Studio Max 7.0[45].
3D Studio Max es una aplicaci on basada en el entorno Windows (9x/NT) que permite crear tanto modelados
como animaciones en tres dimensiones (3D) a partir de una serie de vistas o visores (planta y alzados).
La utilizaci on de 3D Studio Max permite al usuario la f acil visualizaci on y representaci on de los modelos,
as como su exportaci on y salvado en otros formatos distintos del que utiliza el propio programa.
Caractersticas:
Es reescrito en un lenguaje de programacion orientado a objetos.
Funcionalidad reservada a costosas estaciones de trabajo gr acas.
Integracion de los entornos de modelado y animaci on.
Manipulaci on en tiempo real con o sin presencia de tarjeta de aceleraci on de gr acos en 3D.
Posee una funci on deshacer multinivel.
3D Studio MAX es, adem as un entorno de desarrollo excepcional gracias a su arquitectura plug-in.
3D Studio MAX est a totalmente abierto a desarrollos externos.
73
3. Maya.
Figura 4.3: Portada de Maya [46].
Maya es un software de modelado 3D especialmente dise nado para la animaci on de personajes y la creaci on
de efectos especiales[46].
Caractersticas:
Entre las principales caractersticas de animaci on de personajes en 3D implementadas en Maya se encuen-
tran:
Deformaciones que se pueden agrupar, reordenar y animar.
Un conjunto de herramientas de IK (Inverse Kinematics) para tener el control preciso sobre el movimien-
to de los personajes.
Control de la animaci on facial a partir de un conjunto de Blend Shapes.
Herramientas de modelado de la piel.
Control de las expresiones de los personajes.
Soporte de captura de movimiento en vivo.
Sincronizaci on sonora integrada.
Maya tambien incorpora un avanzado conjunto de herramientas para la creaci on de efectos visuales,
como la cada de agua sobre un molino o la simulaci on de la colisi on de dos galaxias.
Las aplicaciones de Maya son:
Dise no Arquitect onico.
Animaci on en general.
Animaci on de personajes.
Din amica.
Modelado.
Renderizado.
74
4.2.4. Lenguajes
VRML
Figura 4.4: Portada de VRML[47].
Es un acr onimo para Virtual Reality Modeling Language (Lenguaje para Modelado de Realidad Virtual).
Tecnicamente hablando, VRML no es un lenguaje para programar realidad virtual inmersiva ni tampoco un
lenguaje de modelado.
La realidad virtual inmersiva implica una experiencia tridimensional inmersiva y dispositivos externos como
cascos o guantes digitales para lograr capturar otros sentidos diferentes al odo y a la vista. VRML no preve una
inmersi on sensorial total[47].
Caractersticas:
Es un lenguaje est andar, y por consiguiente, universalmente utilizado en Internet como el lenguaje para
simulaciones interactivas dentro de la Web.
El VRML es un lenguaje para descripci on de escenas no un lenguaje de programaci on.
Provee un conjunto b asico de primitivas para el modelaje geometrico tridimensional y tiene la capacidad
de dar comportamiento a los objetos y asignar diferentes animaciones que pueden ser activadas por eventos
generados por diferentes usuarios.
Capaz de realizar rutas preestablecidas, como el movimiento del brazo de un robot, el giro de un ave en
pleno vuelo, etc.
Representaci on de los objetos en 3D.
Recubriendo con Texturas un objeto.
Manejo de c amaras.
Manejo de luces y sombreados.
Movimiento.
Gui on (Script)[49].
75
OpenGL
OpenGL es una API ( Application Programming Interface) creada por Sillicon Graphics Inc. para simplicar
la programaci on de aplicaciones gr acas en 2D o 3D. OpenGL pone a nuestra disposici on un peque no conjunto de
primitivas geometricas, a la par de estas primitivas, tambien brinda comandos para manipular la forma en que se
ver an los objetos. Una cosa importante de OpenGL es que es independiente del sistema operativo y del sistema
de ventanas en el que se ejecute[48].
Caractersticas:
Tecnologa que facilitan la manipulaci on de los modelos 3D, e incluso puede ayudar a crearlos.
No hay preocuparse por el hardware a la hora de programar, por lo tanto la programaci on no se hace tan
complicada, de igual manera el c odigo que se escribe con openGL ser a independiente de la plataforma y del
sistema operativo.
Sigue una serie de reglas para nombres de funciones y uso de variables.
OpenGL permite al desarrollador escribir aplicaciones que se puedan desplegar en varias plataformas f acil-
mente.
Primitivas geomoetricas: permiten construir descripciones matem aticas de objetos. Las actuales primitivas
son: puntos, lneas, polgonos, im agenes y bitmaps.
El doble buering ayuda a eliminar el parpadeo de las animaciones. Cada fotograma consecutivo en una
animaci on se construye en un buer separado de memoria y mostrado s olo cuando est a completo[48].
4.2.5. Visual C++
Figura 4.5: Portada de Visual C++.
76
Como sabemos, Windows es el entorno m as popular de interfaz gr aco de usuario (GUI). Desde este punto de
vista, Windows es un entorno multitarea basado en ventanas, que representan programas, y que permite ejecuci on
concurrente.
Para desarrollar programas, Windows provee una librera de rutinas y funciones (SDK - Kit de desarrollo de
software) que permiten gestionar componentes como men us, di alogos, ventanas, etc..
Visual C++ es un entorno integrado de desarrollo que permite la programaci on orientada a objetos (POO)
conjuntamente con el sistema de desarrollo SDK (tambien denominado API) de Windows.
Caractersticas:
Interfaz de dispositivo gr aco de Windows. Se introdujo un nivel de abstracci on llamado la interfaz de
dispositivo gr aco (GDI) que proporcionan controladores de video e impresora conectadas al sistema; en
vez de dirigirse al hardware, el programa llama a las funciones de GDI que hacen referencia a una estructura
de datos llamada contexto de dispositivo, Windows relaciona el contexto de dispositivo con el dispositivo
fsico y emite las instrucciones de entrada/salida adecuadas.
Bibliotecas de enlace din amico. Permite el enlazado din amico, lo que signica que pueden cargar y enlazar en
tiempo de ejecuci on bibliotecas construidas de una forma especial. M ultiples aplicaciones pueden compartir
bibliotecas de enlace din amico (DLL), lo que ahorra memoria y espacio en disco.
Procesamiento de mensajes. El sistema operativo llama a main cuando el usuario ejecuta un programa.
Pogramaci on basada en recursos. Para realizar una programaci on dirigida por datos en MS-DOS, es necesario
codicar los datos como constantes de inicializaci on o proporcionar archivos de datos aparte para que los
lea el programa.
Gesti on de memoria. Algunas de las funciones de gesti on de memoria de Win16, como el GlobalAlloc, se
trasladaron a Win32, pero se hizo para permitir a los desarrolladores modicar an el c odigo fuente con
rapidez al pasar de una versi on a otra.
Entre sus principales componentes se encuentran:
El AppWizard. Es un generador de c odigo que crea un esqueleto de trabajo de una aplicaci on de
Windows con caractersticas, nombres de clases y nombres de archivos c odigo que se especican a
traves de cuadros de di alogo. El c odigo del AppWizard es mnimo; la funcionalidad se encuentra en las
clases de base del armaz on de la aplicaci on.
El classWizard. Es un programa implementado como DLL, simplica el mantenimiento del c odigo de
clase de Visual C++; en caso de requerir una fusi on virtual nueva o una funci on de gesti on de mensajes,
el ClassWizard escribe los prototipos, cuerpos de de la funci on y si es necesario , el c odigo para enlazar
el mensaje de Windows a la funci on.
4.2.6. Delphi 7.0
En el pasado las opciones de lenguajes de programaci on eran m as o menos las siguientes: si se buscaba facilidad
de aprendizaje, exista BASIC. Para programar sistemas comerciales exista variedad en versiones de COBOL.
Cuando se manejaban cantidades de datos relativamente grandes se pensaba en programar DBASE III+. No se
descarta C y Assembler si se requera de velocidad y acceso a los recursos b asicos del Sistema Operativo.
77
Figura 4.6: Portada de Delphi 7.0.
Borland crea Turbo Pascal, lenguaje creado con nes academicos, para ense nar las bases de la programaci on
estructurada. El Borland pona en las manos de los programadores un lenguaje poderoso, un compilador suma-
mente r apido y un Entorno Integrado de Desarrollo desde el que se poda editar el c odigo, compilarlo e incluso
ejecutarlo sin necesidad de utilizar programas externos.
El desarrollo del lenguaje y el entorno fue r apido, siempre ajust andose a las nuevas tecnologas, incorpor o los
conceptos de Programaci on Orientada a Objetos en cuanto apareci o el nuevo modelo. Las extensiones realizadas
al Pascal original seguan la losofa del lenguaje, haciendolas f aciles de incorporar para los programadores. A
partir de la aparici on de los objetos se conoce al lenguaje como Object Pascal.
En las primeras versiones para Windows, Borland ofreca junto con el compilador una biblioteca de objetos
muy bien construida -Object Windows Library, OWL- que haca de capa intermedia entre la Application Pro-
gramming Interface (API) de Windows y el programador. No obstante, todava era necesario escribir muchas
lneas de c odigo y conocer bastante de Programaci on Orientada a Objetos.
Y apareci o Visual Basic de Microsoft, que revolucion o el mercado. A partir de ese momento, qued o claro que
los entornos de desarrollo bajo Windows tenan que ser parecidos al de ese producto. Miles de programadores se
pasaron a las las de Visual Basic. Borland no se hizo esperar y lanz o al mercado Delphi, basado en el lenguaje
Pascal pero con un entorno de programaci on que hace m as f acil el desarrollo de aplicaciones en entorno Windows.
Por que Delphi?. La respuesta a esta pregunta puede no ser f acil. Se podra decir que la herramienta adecuada
para un trabajo es aquella que permite la consecuci on correcta y a tiempo del mismo, adem as de estas condiciones
mnimas, cada lenguaje se desempe na mejor en ciertas areas o desarrollos; por ejemplo, Clipper fue concebido
para manejar bases de datos con formato dBase, y es ese es su fuerte.
Delphi lenguaje de prop osito general, se puede denir como tal debido a que no tiene un lugar muy bien
denido; esto signica que se comporta bien ante tipos diferentes de problemas, y Borland ha puesto mucho ahnco
78
en lograr que el rendimiento sea el mejor posible. Delphi se puede usar para casi cualquier tipo de programa,
obteniendose un rendimiento excelente con facilidad.
Caractersticas de Delphi:
Posee un Entorno de Desarrollo Integrado para Windows (IDE, incluye un editor de texto ASCII, un visor
de propiedades y eventos y un potente debugger.), con caractersticas de programaci on visual. Esto signica
que la mayor parte del programa se hace gr acamente, lo hace ahorrar tiempo y esfuerzo.
El lenguaje Pascal ha sido ampliado y mejorado, sobre todo para adaptarlo a la programaci on con objetos.
La programaci on se hace m as intuitiva y sencilla con el uso de componentes.
Incluye un soporte de Bases de Datos poderoso y f acil de usar.
Genera ejecutables nativos, sin necesidad de libreras de run-time (salvo el caso de los programas que usan
Bases de Datos).
Se pueden crear componentes nuevos que se integran en el entorno de la misma manera que los nativos.
Igualmente Delphi utiliza la RAD (Rapid Application Development), que permite el desarrollo de programas
de forma r apida y visual.
Delphi controla por si solo el sistema de mensajes de Windows, con lo cual el programador necesita preocu-
parse de capturar los mensajes que dicta Windows para desencadenar un procedimiento.
Delphi utiliza una librera de componentes llamada VCL (Visual Components Library) que brinda una serie
de objetos y que nos da la posibilidad de utilizar los objetos sin necesidad de llamar a las distintas API de
Windows para se dibuje en pantalla el componente, adem as de poder manipular al antojo el componente,
as como poder controlar de una manera muy f acil los distintos eventos que podra generar.
Proyecci on Delphi:
Si bien Delphi no ha sido un lenguaje muy difundido o utilizado bajo entorno Windows como lo es Visual Basic,
Linux lo vio con otros ojos. Su nueva versi on del cl asico sistema operativo, llamada Kilix, incluye gran parte de
c odigo de Delphi para las tareas de administraci on de procesos y de memoria. Los programadores y expertos en
Linux aseguran que un buen programador debe saber programar en Delphi.
Entre otras cosas, Delphi se est a orientando a la programaci on de sitios web din amicos, lo que le abre el paso
para competir con los lenguajes que est an dominando esta area, como PHP, Pearl o ASP. Por lo visto, ahora es
muy necesario comenzar a entender Delphi, ya que parece ser un lenguaje prometedor.
79
4.3. Construcci on del Ambiente virtual
4.3.1. Animaci on al ambiente virtual
4.3.2. Construcci on del robot virtual
El robot PHANToM est a constituido por tres eslabones y tres articulaciones (sin tomar a la base como el
eslab on cero) 4.7.[25].
Primera aproximaci on (con rect angulos).
Se construy o un rect angulo para representar al primer eslab on, como se muestra en la Figura 5.3), para dibujar
el segundo eslab on, primero se traslad o el origen del pxel de trazo: glTranslatef(0.0f, longitud eslabon2, 0.0f );
y se dibuj o otro rect angulo para representar al segundo eslab on, lo mismo se hizo para el tercer eslab on, con
respecto del segundo eslab on[25].
Figura 4.7: Aproximaci on con rect angulos [25].
80
Las funciones para dibujar un eslab on con un rect angulo son:
Begin (GL_QUADS); glVertex3f(0.0f, 0.0f, 0.0f);
glVertex3f(ESP,0.0f, 0.0f); glVertex3f(ESP, LongEsl1, 0.0f);
glVertex3f(0.0f,LongEsl1, 0.0f); glEnd();
Segunda aproximaci on (con paraleppedos).
Para construir un paraleppedo se necesitan 6 rect angulos para cada una de las caras como se muestra en la
Figura 4.8.
Para dibujar un paraleppedo se implement o una funci on que dibuje los 6 rect angulos cuando se le pasan 3
par ametros que son: esq1 (ancho), esq2 (alto), esq3 (largo; as mismo para dar movimiento a cada uno de los
eslabones se emplea tambien el criterio de la Figura 4.8, en la Figura 4.9 se muestra la generaci on de movimiento
entre los eslabones.
Construcci on especial para el primer eslab on e incorporaci on de esferas en las articulaciones El primer eslab on
se construye mas grande coloc andole una esfera en la parte superior, estas dos caractersticas proporcionan una
mejor apariencia al robot. El primer eslab on se construye a partir de un cubo, es decir, que el valor de altura
(longitud del eslab on) es el mismo valor para el largo y ancho.
La esfera se construye con un radio con valor en porcentaje a la longitud del primer eslab on. Un porcentaje que
proporciona una buena apariencia es de 75 %, es decir, que el radio de la circunferencia es el 75 % de la longitud
del eslab on. Para mejorar la apariencia de la segunda y tercera articulaci on, se dibuja una esfera en ellas.
Figura 4.8: Paraleppedo a partir de 6 rect angu-
los [25].
Figura 4.9: Conguraciones de eslabones con
paraleppedos [25].
81
4.4. Comportamiento complejo
Despues de realizarse las comparaciones entre el desempe no cinem atico y din amico visualmente se observa que
en el cinem atico no presenta problema alguno al realizar el movimiento dado que s olo requiere de que se le de
un punto de referencia, ahora bien debido a la involuraci on de las propiedades din amicas se observa que realiza
peque nas pero signicantes oscilaciones en el desempe no visual din amico, esto favorese ya que los movimientos se
acercan a un m as a la realidad.
4.5. Analisis y dise no de la interfaz de Seguimiento trayectorias .
Considerando el prop osito primordial de este proyecto, que consiste en desarrollar una herramienta que per-
mita la simulaci on, visualizaci on del robot en el seguimiento de trayectorias (que en esta caso de estudio es una
circunferencia con un radio de 0.1 y con centro en (0.3,0.2)) as como la visualizaci on de los resultados numericos
y su representaci on en forma gr aca, en esta secci on se presenta el an alisis y dise no de esta interfaz.
4.5.1. Analisis.
Para el desarrollo del sistema se consideraron los siguientes puntos:
Visualizaci on del Robot virtual.
Simulaci on de un control PIDNL.
Control PIDNL.
Control PIDNL con convergencia en tiempo nito (TBG).
Carga de Archivo de Matlab para la visualizaci on de un PIDNL con convergencia en tiempo nito
(TBG).
Carga de Archivo de Matlab para la visualizaci on de un control adaptable con convergencia en tiempo nito
(TBG).
Nota: los puntos relacionados con control PIDNL as como adaptable la trayectoria que siguen es una circun-
ferencia.
La visualizaci on del robot se podr a realizar para cada uno de los puntos anteriores, la simulaci on se resuelve
a traves del metodo de soluci on de ecuaciones diferenciales de Runge Kutta, el metodo empleado es de orden
superior debido a la exigencia de precisi on en la tarea.
Para la visualizaci on del robot virtual se retom o la aplicacion PHANToM Virtual TRAZO[Herbert Lara
Ordaz, An alisis y dise no de una interfaz de visualizaci on virtual del dispositivo h aptico PHANToM 1.0 basada
en la din amica de Euler-Lagrange, Universidad Aut onoma del Estado de Hidalgo, Pachuca, Hidalgo,2005.], de-
sarrollada bajo el lenguaje C++ con OpenGL, es por esto que la aplicaci on desarrollada se debi o adaptarse al
funcionamamiento de la interfaz de visualizaci on ya existente.
La carga de los archivos de Matlab se justica debido al desarrollo de programas que resuelven el modelo
matem atico del robot a traves de Matlab, este equipo de trabajo desarroll o programas en Matlab para resolver
82
un control adaptable, un control por modos deslizantes de segundo orden y dos controladores cl asicos, es por esto
que en la aplicaci on se muestra los resultado obtenidos en los primeros dos mencionados.
A continuaci on se muestran los diagramas de ujo utilizados, en primer lugar se apoy o en un diagrama de
ujo de informaci on de sistema, el cual sirve para describir el ujo de informaci on entre los distintos soportes
fsicos del sistema, reeja las operaciones normales para el desarrollo del proceso que realizan los componentes del
sistema; de igual forma se muestran diagramas de ujo de detalle que abordan la soluci on del problema planteado.
Aplicacion
Control
PIDNL
Control
PIDNL
con TBG
iniciar
solucin
graficar
Control
Adaptable
(Demo MatLab)
PHANToM_
Virtual_TRAZO
PHANToM_
Virtual_TRAZO
Control
PIDNL
con TBG
iniciar
solucin
graficar
PHANToM_
Virtual_TRAZO
Control
PIDNL con TBG
(Demo MatLab)
PHANToM_
Virtual_TRAZO
PHANToM_
Virtual_TRAZO
Figura 4.10: Diagrama de ujo informaci on del sistema Seguimiento de trayectorias.
El diagrama presentado en la Figura 4.11 se puede observar el procedimiento que se lanza o mejor dicho se inicia
para dar paso al proceso de soluci on del problema de seguimiento de trayectoria con un control PIDNL ya sea con
o sin TBG, en dicho procedimiento se inicializa al robot en una posici on inicial, as como el primer punto a seguir
que ser a cero para x, y y z, de acuerdo al tiempo especicado de simulaci on se calcula el n umero de iteraciones
que se realizar an ya que el tiempo de simulaci on podr a ser cambiado por el usuario, en este procedimiento es
donde se va generando el archivo de trayectoria que ser a ledo por la interfaz PHANToM Virtual TRAZO de
igual forma se generan las gr acas de las variables articulares y los errores de las mismas, para llevar acbo la
soluci on se requiere de llamar a otros procedimientos y funciones.
83
Inicio
solucion
q1 =pi/4
q2 =-pi/4
q3 =-pi/4
dx1 = q1
dx2 = qp1
dx3 = q2
dx4 = qp2
dx5 = q3
dx6 = qp3
Funcion Rad
qp1
qp2
qp3
Esta funcin convierte grados
aradianes,dadoque
manejaremos en todas la
operaciones radianes los
parametros qp1, qp2, qp3 son
convertidos a
tiempo inicial
t = 0.0
tf
calcular el numero
de iteraciones
aux = tf/HP
i = 0
i <= aux
Funcion grad
dx1
dx3
dx5
A1 = dx1
A2 = dx3
A3 = dx5
A4 = dx2
A5 = dx4
A6 = dx6
Esta funcin convierte
radianes a grados, dado que
que la interfaz virtual funcione
los angulos del robot deben
de estar en grados y as
almacenrlos en el archivo de
trayectoria
t+ +A1+ +A2+
+A3+ +A4+
+A5+ +A6
Aadir datos al archivo en el
ordenque se aprecia en el
diagrama, cada iteracion sera
una line en el archivo de datos
graficar t,dx1
graficar t,qd1
graficar t,dx3
graficar t,qd2
graficar t,dx5
graficar t,qd3
opcioncontrol
graficar t,s1
graficar t,s2
graficar t,s3
0
graficar t,Sr1
graficar t,Sr2
graficar t,Sr3
1
referencia(t)
control()
rungetpp()
rungeerror(t)
modelosrobot(
dx1,dx2,dx3,d
x4,dx5,dx6)
t = t+HP
i = i+1
calcular el nmero de
iteraciones, HP es paso de
integracin
NO
Fin
Si
Condiciones iniciales
Tiempo de simulacion
Figura 4.11: Diagrama de ujo del procedimiento de soluci on.
84
Para llevar acabo el seguimiento se requiere saber el punto a seguir en cada una de la iteraciones, de lo que se
encarga el procedimiento Referencia, el calculo de dichos puntos se hace por medio de la ecuaci on de la circunfer-
encia, as tambien se hace uso de la primer y segunda derivada de la referencia, de igual forma es necesario calcular
el modelo cinem atico directo, cinem atico inverso de velocidad y aceleraci on, el diagrama de este procedimiento
se puede ver en la Figura 4.12 .
inicio
Referencia (t)
Referencia Deseada en el
Plano Operacional:
Circunferencia C(h,k) y Radio r,
se calcula punto por punto, en
relacion a las coordenadas (x,
y y z)
px = h1+r*cos(w*t)
py = k+r*sin(w*t)
pz = 0
pd[1] = px
pd[2] = py
pd[3] = pz
dpx = -r*w*sin(w*t)
dpy = r*w*cos(w*t)
dpz = 0
dpd[1] = dpx
dpd[2] = dpy
dpd[3] = dpz
ddpx = -r*w^2*cos(w*t)
ddpy = -r*w^2*sin(w*t)
ddpz = 0
ddpd[1] = ddpx
ddpd[2] = ddpy
ddpd[3] = ddpz
Se calcula la Primer derivada
de la referencia asi como la
Segunda derivada de la
misma, ades de almacenar
los resultados en arrglos
qd1 = atan2(py,px)
c3 = (px^2+py^2+pz^2-l2^2-
l3^2)/(2*l2*l3)
ss3 = sqrt(1-c3^2)
qd3 = atan2(ss3,c3)
rz = sqrt(px^2+py^2)
aux1 = l3*ss3
aux2 = l2+l3*c3
qd2 = -atan2(pz,rz) -
atan2(aux1,aux2)
MCIP: Modelo Cinemtico
Inverso de Posicin Deseado
qr[1]:=qd1;
qr[2]:=qd2;
qr[3]:=qd3;
igualando qr a qd que sera
el punto de referencia a
seguir.
Modelo
Cinemtico
Modelo
Cinemtico Inverso
de Velocidad
Deseado
Derivada de la
Matriz Jacobiana
Deseada
MCIA: Modelo
Cinemtico Inverso
de Aceleracin
Deseado
Las opraciones para el
calculo de los modelos
se pueden observar
en capitulos aneriores
(ver capitulo 3), en
donde se realizan
operaciones con
matrices
fin
Figura 4.12: Diagrama de ujo del procedimiento referencia.
85
El diagrama que se observa en la Figura 4.13 es el del procedimiento de control, en el cual se logra observar
que se puede elegir un control PIDNL sin TBG y otro con TBG, en este procedimiento se pone en pr actica el
Control PIDNL propuesto en el Captulo 3 especcamente en la secci on 3.6 y as como la implementaci on del
generador de tiempo base que se propone en el Captulo 5 especcamente en la secci on 5.5.1.
inicio
control()
e1 = qd1-dx1
e2 = qd2-dx3
e3 = qd3-dx5
error[1] = e1
error[2] = e2
error[3] = e3
errorI[1] = dx8
errorI[2] = dx9
errorI[3] = dx10
ep1 = qdp[1]-dx2
ep2 = qdp[2]-dx4
ep3 = qdp[3]-dx6
errorp[1] = ep1
errorp[2] = ep2
errorp[3] = ep3
Erroresde
posicion, los
cualesse
almacenan en un
arreglo
Vectordeerror
integrado, dicho error se
integra por medio del
mtodo de Runge Kutta
de orden superior
secalculala
derivad del error
y se almacena en
un arreglo
opcioncontrol
alfa_0 = 1.001
delta = 0.001
Si = 1/2-1/2*cos((pi/tb)*t)
dSi = (pi/(2*tb))*sin((pi/tb)*t)
ddSi = pi^2)/(2*tb^2)*cos((pi/tb)*t)
s1 = error[1]+A*errorp[1]
s2 = error[2]+A*errorp[2]
s3 = error[3]+A*errorp[3]
T1 = KD1*s1+(KI1*errorI[1])
T2 = KD2*s2+(KI2*errorI[2])
T3 = KD3*s3+(KI3*errorI[3])
funcin suave que
vade0a1en
tiempo tb, as como
suprimery
segunda derivada
t >= tb
SI
Si = 1
dSi = 0
ddSi = 0
sigma = 7000
dsigma = 0
qrp1 = qdp[1]-sigma*(dx1-qd1)
qrp2 = qdp[2]-sigma*(dx3-qd2)
qrp3 = qdp[3]-sigma*(dx5-qd3)
Sr1 = dx2-qrp1
Sr2 = dx4-qrp2
Sr3 = dx6-qrp3
S_A1 = 3
S_A2 = 3
S_A3 = 3
K_K = 500
AA1 = S_A1*exp(-K_K*t)
AA2 = S_A2*exp(-K_K*t)
AA3 = S_A3*exp(-K_K*t)
T1 = -KD1*Sr1-KI1*errorI[1]+KD1*AA1
T2 = -KD2*Sr2-KI2*errorI[2]+KD2*AA2
T3 = -KD3*Sr3-KI3*errorI[3]+KD3*AA3
1
0
fin
sigma = alfa_0*dSi/(1-Si+delta)
dsigma = alfa_0*(((1-Si+delta)*(ddSi+dSi)^2)/((1-Si+delta))^2)
Error extendido o
minifull de error
Ecuacionde
Control
Ecuacionde
Control
Ganancia del
generador de
tidmpo base
Atractor
Figura 4.13: Diagrama de ujo del procedimiento de control.
86
El diagrama del procedimiento rungetpp se muestra en la Figura 4.14, este procedimiento es el encargado de
llevar acabo el metodo de Runge Kutta de orden superior para llevar a cabo la integraci on de qpp y qp para
as obtener de cada integraci on anterior qp y q, como se puede ver qp se obtiene de la integraci on qpp, el valor
obtenido de qp se integra nuevamente para obtener q, en los diagramas se muestran las operaciones necesarias
para el c alculo del metodo de Runge Kutta de Orden superior (Figuras 4.14, 4.15, 4.16 y 4.17).
inicio
rungetpp()
f(x,dx1,dx3,dx5,dx2,dx4,dx6,1)
w1 = f
f(x,dx1,dx3,dx5,dx2,dx4,dx6,1)
u1 = f
f(x,dx1,dx3,dx5,dx2,dx4,dx6,2)
n1 = f
f(x,dx1,dx3,dx5,dx2,dx4,dx6,2)
r1 = f
(x,dx1,dx3,dx5,dx2,dx4,dx6,3)
p1 = f
f(x,dx1,dx3,dx5,dx2,dx4,dx6,3)
d1 = f
f(x+HP/4.0,dx1+(w1*HP)/4.0,dx3+(n1*HP)/4.0,dx5+(p1*HP)/4.0, dx2+(u1*HP)/4.0,dx4+(r1*HP)/4.0, dx6+(d1*HP)/4.0,1)
w2 = f
u2 = f
n2 = f
r2 = f
p2 = f
d2 = f
f(x+HP/4.0,dx1+(w1*HP)/4.0,dx3+(n1*HP)/4.0,dx5+(p1*HP)/4.0, dx2+(u1*HP)/4.0,dx4+(r1*HP)/4.0, dx6+(d1*HP)/4.0,1)
f(x+HP/4.0,dx1+(w1*HP)/4.0,dx3+(n1*HP)/4.0,dx5+(p1*HP)/4.0, dx2+(u1*HP)/4.0,dx4+(r1*HP)/4.0, dx6+(d1*HP)/4.0,2)
f(x+HP/4.0,dx1+(w1*HP)/4.0,dx3+(n1*HP)/4.0,dx5+(p1*HP)/4.0, dx2+(u1*HP)/4.0,dx4+(r1*HP)/4.0, dx6+(d1*HP)/4.0,2)
f(x+HP/4.0,dx1+(w1*HP)/4.0,dx3+(n1*HP)/4.0,dx5+(p1*HP)/4.0, dx2+(u1*HP)/4.0,dx4+(r1*HP)/4.0, dx6+(d1*HP)/4.0,3)
f(x+HP/4.0,dx1+(w1*HP)/4.0,dx3+(n1*HP)/4.0,dx5+(p1*HP)/4.0, dx2+(u1*HP)/4.0,dx4+(r1*HP)/4.0, dx6+(d1*HP)/4.0,3)
1
Dicha funcion recibe los parmetros necesarios para calcular las pendientes para resolver por
el mtodo de Runge Kutta y a su vez esta funcin regresa un valor que se denomina f
El procedimiento rungetpp() es la interpreatcin del mtodo de Runge Kutta de orden superior para
dar solucion a los modelos del Robot, en este caso la funcion a derivar es f
Figura 4.14: Diagrama de ujo del procedimiento rungetpp.
87
f(x+HP/4.0,dx1+(w1*HP)/8.0 + (w2*HP)/8.0,dx3+(n1*HP)/8.0 + (n2*HP)/8.0,
dx5+(p1*HP)/8.0 + (p2*HP)/8.0, dx2+(u1*HP)/8.0 + (u2*HP)/8.0,dx4+(r1*HP)/8.0 +
(r2*HP)/8.0, dx6+(d1*HP)/8.0 + (d2*HP)/8.0,1)
w3 = f
u3 = f
n3 = f
r3 = f
p3 = f
d3 = f
f(x+HP/4.0,dx1+(w1*HP)/8.0 + (w2*HP)/8.0,dx3+(n1*HP)/8.0 + (n2*HP)/8.0,
dx5+(p1*HP)/8.0 + (p2*HP)/8.0, dx2+(u1*HP)/8.0 + (u2*HP)/8.0,dx4+(r1*HP)/8.0 +
(r2*HP)/8.0, dx6+(d1*HP)/8.0 + (d2*HP)/8.0,1)
f(x+HP/4.0,dx1+(w1*HP)/8.0 + (w2*HP)/8.0,dx3+(n1*HP)/8.0 + (n2*HP)/8.0,
dx5+(p1*HP)/8.0 + (p2*HP)/8.0, dx2+(u1*HP)/8.0 + (u2*HP)/8.0,dx4+(r1*HP)/8.0 +
(r2*HP)/8.0, dx6+(d1*HP)/8.0 + (d2*HP)/8.0,2)
f(x+HP/4.0,dx1+(w1*HP)/8.0 + (w2*HP)/8.0,dx3+(n1*HP)/8.0 + (n2*HP)/8.0,
dx5+(p1*HP)/8.0 + (p2*HP)/8.0, dx2+(u1*HP)/8.0 + (u2*HP)/8.0,dx4+(r1*HP)/8.0 +
(r2*HP)/8.0, dx6+(d1*HP)/8.0 + (d2*HP)/8.0,2)
f(x+HP/4.0,dx1+(w1*HP)/8.0 + (w2*HP)/8.0,dx3+(n1*HP)/8.0 + (n2*HP)/8.0,
dx5+(p1*HP)/8.0 + (p2*HP)/8.0, dx2+(u1*HP)/8.0 + (u2*HP)/8.0,dx4+(r1*HP)/8.0 +
(r2*HP)/8.0, dx6+(d1*HP)/8.0 + (d2*HP)/8.0,3)
f(x+HP/4.0,dx1+(w1*HP)/8.0 + (w2*HP)/8.0,dx3+(n1*HP)/8.0 + (n2*HP)/8.0,
dx5+(p1*HP)/8.0 + (p2*HP)/8.0, dx2+(u1*HP)/8.0 + (u2*HP)/8.0,dx4+(r1*HP)/8.0 +
(r2*HP)/8.0, dx6+(d1*HP)/8.0 + (d2*HP)/8.0,3)
1
f(x+HP/2.0,dx1-(w2*HP)/2.0 + (w3*HP),dx3-(n2*HP)/2.0 + (n3*HP),dx5-(p2*HP)/2.0
+ (p3*HP), dx2-(u2*HP)/2.0 + (u3*HP),dx4-(r2*HP)/8.0 + (r3*HP), dx6-(d2*HP)/2.0 +
(d3*HP),1)
w4 = f
u4 = f
n4 = f
r4 = f
p4 = f
d4 = f
f(x+HP/2.0,dx1-(w2*HP)/2.0 + (w3*HP),dx3-(n2*HP)/2.0 + (n3*HP), dx5-(p2*HP)/2.0
+ (p3*HP), dx2-(u2*HP)/2.0 + (u3*HP),dx4-(r2*HP)/8.0 + (r3*HP), dx6-(d2*HP)/2.0 +
(d3*HP),1)
f(x+HP/2.0,dx1-(w2*HP)/2.0 + (w3*HP),dx3-(n2*HP)/2.0 + (n3*HP), dx5-(p2*HP)/2.0
+ (p3*HP), dx2-(u2*HP)/2.0 + (u3*HP),dx4-(r2*HP)/8.0 + (r3*HP), dx6-(d2*HP)/2.0 +
(d3*HP),2)
f(x+HP/2.0,dx1-(w2*HP)/2.0 + (w3*HP),dx3-(n2*HP)/2.0 + (n3*HP), dx5-(p2*HP)/2.0
+ (p3*HP), dx2-(u2*HP)/2.0 + (u3*HP),dx4-(r2*HP)/8.0 + (r3*HP), dx6-(d2*HP)/2.0 +
(d3*HP),2)
f(x+HP/2.0,dx1-(w2*HP)/2.0 + (w3*HP),dx3-(n2*HP)/2.0 + (n3*HP), dx5-(p2*HP)/2.0
+ (p3*HP), dx2-(u2*HP)/2.0 + (u3*HP),dx4-(r2*HP)/8.0 + (r3*HP), dx6-(d2*HP)/2.0 +
(d3*HP),3)
f(x+HP/2.0,dx1-(w2*HP)/2.0 + (w3*HP),dx3-(n2*HP)/2.0 + (n3*HP), dx5-(p2*HP)/2.0
+ (p3*HP), dx2-(u2*HP)/2.0 + (u3*HP),dx4-(r2*HP)/8.0 + (r3*HP), dx6-(d2*HP)/2.0 +
(d3*HP),3)
2
Figura 4.15: Diagrama de ujo del procedimiento rungetpp.
88
f((3*(x+HP))/4.0,dx1+(3*(w1*HP))/16.0 + (9*(w4*HP))/16.0, dx3+(3*(n1*HP))/16.0
+ (9*(n4*HP))/16.0,dx5+(3*(p1*HP))/16.0 + (9*(p4*HP))/16.0, dx2+(3*(u1*HP))/16.0
+ (9*(u4*HP))/16.0,dx4+(3*(r1*HP))/16.0 + (9*(r4*HP))/16.0, dx6+(3*(d1*HP))/16.0 +
(9*(d4*HP))/16.0,1)
w3 = f
u3 = f
n3 = f
r3 = f
p3 = f
d3 = f
f((3*(x+HP))/4.0,dx1+(3*(w1*HP))/16.0 + (9*(w4*HP))/16.0,dx3+(3*(n1*HP))/16.0 +
(9*(n4*HP))/16.0,dx5+(3*(p1*HP))/16.0 + (9*(p4*HP))/16.0, dx2+(3*(u1*HP))/16.0 +
(9*(u4*HP))/16.0,dx4+(3*(r1*HP))/16.0 + (9*(r4*HP))/16.0, dx6+(3*(d1*HP))/16.0 +
(9*(d4*HP))/16.0,1)
f((3*(x+HP))/4.0,dx1+(3*(w1*HP))/16.0 + (9*(w4*HP))/16.0,dx3+(3*(n1*HP))/16.0 +
(9*(n4*HP))/16.0,dx5+(3*(p1*HP))/16.0 + (9*(p4*HP))/16.0, dx2+(3*(u1*HP))/16.0 +
(9*(u4*HP))/16.0,dx4+(3*(r1*HP))/16.0 + (9*(r4*HP))/16.0, dx6+(3*(d1*HP))/16.0 +
(9*(d4*HP))/16.0,2)
f((3*(x+HP))/4.0,dx1+(3*(w1*HP))/16.0 + (9*(w4*HP))/16.0, dx3+(3*(n1*HP))/16.0
+ (9*(n4*HP))/16.0, dx5+(3*(p1*HP))/16.0 + (9*(p4*HP))/16.0, dx2+(3*(u1*HP))/
16.0 + (9*(u4*HP))/16.0,dx4+(3*(r1*HP))/16.0 + (9*(r4*HP))/16.0, dx6+(3*(d1*HP))/
16.0 + (9*(d4*HP))/16.0,2)
f((3*(x+HP))/4.0,dx1+(3*(w1*HP))/16.0 + (9*(w4*HP))/16.0,dx3+(3*(n1*HP))/16.0 +
(9*(n4*HP))/16.0,dx5+(3*(p1*HP))/16.0 + (9*(p4*HP))/16.0, dx2+(3*(u1*HP))/16.0 +
(9*(u4*HP))/16.0,dx4+(3*(r1*HP))/16.0 + (9*(r4*HP))/16.0, dx6+(3*(d1*HP))/16.0 +
(9*(d4*HP))/16.0,3)
f((3*(x+HP))/4.0,dx1+(3*(w1*HP))/16.0 + (9*(w4*HP))/16.0,dx3+(3*(n1*HP))/16.0 +
(9*(n4*HP))/16.0,dx5+(3*(p1*HP))/16.0 + (9*(p4*HP))/16.0, dx2+(3*(u1*HP))/16.0 +
(9*(u4*HP))/16.0,dx4+(3*(r1*HP))/16.0 + (9*(r4*HP))/16.0, dx6+(3*(d1*HP))/16.0 +
(9*(d4*HP))/16.0,3)
2
f((x+HP),dx1-(3*(w1*HP))/7.0 +(2*(w2*HP))/7.0 + (12*(w3*HP))/7.0 - (12*(w4*HP))/
7.0 + (8*(w5*HP))/7.0, dx3-(3*(n1*HP))/7.0 +(2*(n2*HP))/7.0 + (12*(n3*HP))/7.0 -
(12*(n4*HP))/7.0 + (8*(n5*HP))/7.0, dx5-(3*(p1*HP))/7.0 +(2*(p2*HP))/7.0 +
(12*(p3*HP))/7.0 - (12*(p4*HP))/7.0 + (8*(p5*HP))/7.0, dx2-(3*(u1*HP))/7.0
+(2*(u2*HP))/7.0 + (12*(u3*HP))/7.0 - (12*(u4*HP))/7.0 + (8*(u5*HP))/7.0, dx4-
(3*(r1*HP))/7.0 +(2*(r2*HP))/7.0 + (12*(r3*HP))/7.0 - (12*(r4*HP))/7.0 + (8*(r5*HP))/
7.0,dx6-(3*(d1*HP))/7.0 +(2*(d2*HP))/7.0 + (12*(d3*HP))/7.0 - (12*(d4*HP))/7.0 +
(8*(d5*HP))/7.0 ,1)
w4 = f
u4 = f
n4 = f
f((x+HP),dx1-(3*(w1*HP))/7.0 +(2*(w2*HP))/7.0 + (12*(w3*HP))/7.0 - (12*(w4*HP))/
7.0 + (8*(w5*HP))/7.0, dx3-(3*(n1*HP))/7.0 +(2*(n2*HP))/7.0 + (12*(n3*HP))/7.0 -
(12*(n4*HP))/7.0 + (8*(n5*HP))/7.0, dx5-(3*(p1*HP))/7.0 +(2*(p2*HP))/7.0 +
(12*(p3*HP))/7.0 - (12*(p4*HP))/7.0 + (8*(p5*HP))/7.0, dx2-(3*(u1*HP))/7.0
+(2*(u2*HP))/7.0 + (12*(u3*HP))/7.0 - (12*(u4*HP))/7.0 + (8*(u5*HP))/7.0, dx4-
(3*(r1*HP))/7.0 +(2*(r2*HP))/7.0 + (12*(r3*HP))/7.0 - (12*(r4*HP))/7.0 + (8*(r5*HP))/
7.0,dx6-(3*(d1*HP))/7.0 +(2*(d2*HP))/7.0 + (12*(d3*HP))/7.0 - (12*(d4*HP))/7.0 +
(8*(d5*HP))/7.0 ,1)
f((x+HP),dx1-(3*(w1*HP))/7.0 +(2*(w2*HP))/7.0 + (12*(w3*HP))/7.0 - (12*(w4*HP))/
7.0 + (8*(w5*HP))/7.0, dx3-(3*(n1*HP))/7.0 +(2*(n2*HP))/7.0 + (12*(n3*HP))/7.0 -
(12*(n4*HP))/7.0 + (8*(n5*HP))/7.0, dx5-(3*(p1*HP))/7.0 +(2*(p2*HP))/7.0 +
(12*(p3*HP))/7.0 - (12*(p4*HP))/7.0 + (8*(p5*HP))/7.0, dx2-(3*(u1*HP))/7.0
+(2*(u2*HP))/7.0 + (12*(u3*HP))/7.0 - (12*(u4*HP))/7.0 + (8*(u5*HP))/7.0, dx4-
(3*(r1*HP))/7.0 +(2*(r2*HP))/7.0 + (12*(r3*HP))/7.0 - (12*(r4*HP))/7.0 + (8*(r5*HP))/
7.0,dx6-(3*(d1*HP))/7.0 +(2*(d2*HP))/7.0 + (12*(d3*HP))/7.0 - (12*(d4*HP))/7.0 +
(8*(d5*HP))/7.0 ,2)
r4 = f
f((x+HP),dx1-(3*(w1*HP))/7.0 +(2*(w2*HP))/7.0 + (12*(w3*HP))/7.0 - (12*(w4*HP))/
7.0 + (8*(w5*HP))/7.0, dx3-(3*(n1*HP))/7.0 +(2*(n2*HP))/7.0 + (12*(n3*HP))/7.0 -
(12*(n4*HP))/7.0 + (8*(n5*HP))/7.0, dx5-(3*(p1*HP))/7.0 +(2*(p2*HP))/7.0 +
(12*(p3*HP))/7.0 - (12*(p4*HP))/7.0 + (8*(p5*HP))/7.0, dx2-(3*(u1*HP))/7.0
+(2*(u2*HP))/7.0 + (12*(u3*HP))/7.0 - (12*(u4*HP))/7.0 + (8*(u5*HP))/7.0, dx4-
(3*(r1*HP))/7.0 +(2*(r2*HP))/7.0 + (12*(r3*HP))/7.0 - (12*(r4*HP))/7.0 + (8*(r5*HP))/
7.0,dx6-(3*(d1*HP))/7.0 +(2*(d2*HP))/7.0 + (12*(d3*HP))/7.0 - (12*(d4*HP))/7.0 +
(8*(d5*HP))/7.0 ,2)
3
Figura 4.16: Diagrama de ujo del procedimiento rungetpp.
89
p4 = f
d4 = f
f((x+HP),dx1-(3*(w1*HP))/7.0 +(2*(w2*HP))/7.0 + (12*(w3*HP))/7.0 - (12*(w4*HP))/
7.0 + (8*(w5*HP))/7.0, dx3-(3*(n1*HP))/7.0 +(2*(n2*HP))/7.0 + (12*(n3*HP))/7.0 -
(12*(n4*HP))/7.0 + (8*(n5*HP))/7.0, dx5-(3*(p1*HP))/7.0 +(2*(p2*HP))/7.0 +
(12*(p3*HP))/7.0 - (12*(p4*HP))/7.0 + (8*(p5*HP))/7.0, dx2-(3*(u1*HP))/7.0
+(2*(u2*HP))/7.0 + (12*(u3*HP))/7.0 - (12*(u4*HP))/7.0 + (8*(u5*HP))/7.0, dx4-
(3*(r1*HP))/7.0 +(2*(r2*HP))/7.0 + (12*(r3*HP))/7.0 - (12*(r4*HP))/7.0 + (8*(r5*HP))/
7.0,dx6-(3*(d1*HP))/7.0 +(2*(d2*HP))/7.0 + (12*(d3*HP))/7.0 - (12*(d4*HP))/7.0 +
(8*(d5*HP))/7.0 ,3)
f((x+HP),dx1-(3*(w1*HP))/7.0 +(2*(w2*HP))/7.0 + (12*(w3*HP))/7.0 - (12*(w4*HP))/
7.0 + (8*(w5*HP))/7.0, dx3-(3*(n1*HP))/7.0 +(2*(n2*HP))/7.0 + (12*(n3*HP))/7.0 -
(12*(n4*HP))/7.0 + (8*(n5*HP))/7.0, dx5-(3*(p1*HP))/7.0 +(2*(p2*HP))/7.0 +
(12*(p3*HP))/7.0 - (12*(p4*HP))/7.0 + (8*(p5*HP))/7.0, dx2-(3*(u1*HP))/7.0
+(2*(u2*HP))/7.0 + (12*(u3*HP))/7.0 - (12*(u4*HP))/7.0 + (8*(u5*HP))/7.0, dx4-
(3*(r1*HP))/7.0 +(2*(r2*HP))/7.0 + (12*(r3*HP))/7.0 - (12*(r4*HP))/7.0 + (8*(r5*HP))/
7.0,dx6-(3*(d1*HP))/7.0 +(2*(d2*HP))/7.0 + (12*(d3*HP))/7.0 - (12*(d4*HP))/7.0 +
(8*(d5*HP))/7.0 ,3)
3
dx2 = dx2 +((7*w1+32*w3+12*w4+32*w5+7*w6)/90.0)*HP
dx4 = dx4 +((7*n1+32*n3+12*n4+32*n5+7*n6)/90.0)*HP
dx6 = dx6 +((7*p1+32*p3+12*p4+32*p5+7*p6)/90.0)*HP
dx1 = dx1 +((7*u1+32*u3+12*u4+32*u5+7*u6)/90.0)*HP
dx3 = dx3 +((7*r1+32*r3+12*r4+32*r5+7*r6)/90.0)*HP
dx5 = dx5 +((7*d1+32*d3+12*d4+32*d5+7*d6)/90.0)*HP
Fin
Figura 4.17: Diagrama de ujo del procedimiento rungetpp.
90
En los diagramas anteriores se puede notar que el procedimiento rungetpp hace una llamada a una funci on
denominada f, la cual retorna un valor, el diagrama de esta funci on se puede observar en la Figura 4.18, en la
funci on se realiza el c alculo de la matriz de inercia, del vector de fuerzas de coriolis y centrpetas, as como del
vector de fuerza de gravedad y del vector de fricci on seca y viscosa.
El valor que regresa al procedimiento rungetpp pueden ser tres opciones, dependiendo al grado de libertad que
nos estemos reriendo al llamar a la funci on y este valor es usado en el siguiente llamado a la funci on f por el
procedimiento rungetpp.
inicio
f(x,y01,y02,y03,dx02,
dx04,dx06,op)
t H 1 1 =
(m2+m3)*(l2^2)*((cos(ty[3]))^2)+2*m3*l2*l3*cos(ty[3])*cos(ty[3]+ty[5])+m3*(l3
^2)*((cos(ty[3]+ty[5]))^2)
tH12 = 0
tH13 = 0
tH21 = 0
tH22 = (m2+m3)*(l2^2)+m3*(l3^2)+2*m3*l2*l3*cos(ty[5])
tH23 = m3*(l3^2)+m3*l2*l3*cos(ty[5])
tH31 = 0
tH32 = m3*(l3^2)+m3*l2*l3*cos(ty[5])
tH33 = m3*(l3^2)
tet_1 = sin(ty[3])*cos(ty[3])
tet_2 = sin(ty[3]+ty[5])*cos(ty[3])+sin(ty[3])*cos(ty[3]+ty[5])
tet_3 = sin(ty[3]+ty[5])*cos(ty[3]+ty[5])
tet_4 = sin(ty[3]+ty[5])*cos(ty[3])
tC11 = 0
tC12 = -(2*(m2+m3)*(l2^2)*et_1+2*m3*l2*l3*et_2+2*m3*(l3^2)*et_3)*ty[2]
tC13 = -(2*m3*l2*l3*et_4+2*m3*(l3^2)*et_3)*ty[2]
tC21 = ((m2+m3)*(l2^2)*et_1+m3*l2*l3*et_2+m3*(l3^2)*et_3)*ty[2]
tC22 = -(2*m3*l2*l3*sin(ty[5]))*ty[6]
tC23 = -(m3*l2*l3*sin(ty[5]))*ty[6]
tC31 = (m3*l2*l3*et_4+m3*(l3^2)*et_3)*ty[2]
tC32 = (m3*l2*l3*sin(ty[5]))*ty[4]
tC33 = 0
tGr1 = 0
tGr2 = -(m2*gr*lcg2+m3*gr*l2)*cos(ty[3])-m3*gr*lcg3*cos(ty[3]+ty[5])
tGr3 = -m3*gr*lcg3*cos(ty[3]+ty[5])
fin
tFr1 = b1*ty[2]+k1*tanh(beta*ty[2])
tFr2 = b2*ty[4]+k2*tanh(beta*ty[4])
tFr3 = b3*ty[6]+k3*tanh(beta*ty[6])
tM[1][1] = tH11 tM[1][2] = tH12 tM[1][3] = tH13
tM[2][1] = tH21 tM[2][2] = tH22 tM[2][3] = tH23
tM[3][1] = tH31 tM[3][2] = tH32 tM[3][3] = tH33
tC[1][1] = tC11 tC[1][2] = tC12 tC[1][3] = tC13
tC[2][1] = tC21 tC[2][2] = tC22 tC[2][3] = tC23
tC[3][1] = tC31 tC[3][2] = tC32 tC[3][3] = tC33
tG[1] = tGr1 tG[2] = tGr2 tG[3] = tGr3
op
result = 1/tM[1][1]*(T1-tC[1][2]*dx2-tC[1][3]*dx4-
b1*qp[1]-tFr1)
resul t=1/tM[2][2]*(T2-
tM[2][3]*f(x,y01,y02,y03,dx02,dx04,dx06,3)-
tC[2][1]*dx2-tC[2][2]*dx4-tC[2][3]*dx6-tG[2]-b2*dx4-
tFr2)
result = (tM[3][2]*(T2-tC[2][1]*dx2-tC[2][2]*dx4-
tC[2][3]*dx6-tG[2]-b2*dx4-
tFr2)+tM[2][2]*(tC[3][1]*dx2+tC[3][2]*dx4+tG[3]+b3*
dx6+tFr3-T3))/(tM[3][2]*tM[2][3]-tM[2][2]*tM[3][3])
1
2
3
tq[1] = ty[1]
tq[2] = ty[3]
tq[3] = ty[5]
tqp[1] = ty[2]
tqp[2] = ty[4]
tqp[3] = ty[6]
ty[1] = y01
ty[2] = dx02
ty[3] = y02
ty[4] = dx04
ty[5] = y03
ty[6] = dx06
En el vector ty se almacenan
los valores recibidos por la
funcion para calculos internos
de la misma, con excepcin
del parametro op.
Calculo de
los
elementos
de la
matriz de
inercia.
Calculo de
los
elementos
del Vector
de Fuerzas
de Coriolis y
de Fuerzas
Centripetas
Calculo de
los
elementos
del Vector
de Fuerza
de gravedad
Calculo de los
elementos del
Vector
deFriccin
Viscosa y Seca
generacin de las matrices del
robot as como de los vectores
Calculo del valor a retornar
por la funcin, el cual
depende del parametro op
Figura 4.18: Diagrama de ujo de la funci on f.
91
Otro procedimiento utilizado es el de rungeerror Figuras 4.19 y 4.20 que es de nuevo la interpretaci on del
metodo de Runge Kutta de orden superior, pero esta vez es para la integraci on de una funci on denominada ei
Figura 4.21, la cual regresa un valor al procedimiento rungeerror.
inicio
ei(tt,s1,s2,s3,1)
w1 = ei
ei(tt,s1,s2,s3,2)
n1 = ei
ei(tt,s1,s2,s3,3)
p1 = ei
ei(tt+HP/4.0,s1+(w1*HP)/4.0,s2+(n1*HP)/4.0,s3+(p1*HP)/4.0,1)
w2 =ei
ei(tt+HP/4.0,s1+(w1*HP)/4.0,s2+(n1*HP)/4.0,s3+(p1*HP)/4.0,2)
n2 = ei
ei(tt+HP/4.0,s1+(w1*HP)/4.0,s2+(n1*HP)/4.0,s3+(p1*HP)/4.0,3)
p2 = ei
ei(tt+HP/4.0,s1+(w2*HP)/8.0,s2+(n2*HP)/8.0,s3+(p2*HP)/8.0,1)
w3 = ei
n3 = ei
p3 = ei
w4 = ei
n4 = ei
p4 = ei
ei(tt+HP/4.0,s1+(w2*HP)/8.0,s2+(n2*HP)/8.0,s3+(p2*HP)/8.0,2)
ei(tt+HP/4.0,s1+(w2*HP)/8.0,s2+(n2*HP)/8.0,s3+(p2*HP)/8.0,3)
ei(tt+HP/2.0,s1-(w2*HP)/2.0 +(w3*HP),s2-(n2*HP)/2.0+(n3*HP),s3-(p2*HP)/2.0+(p3*HP),1)
ei(tt+HP/2.0,s1-(w2*HP)/2.0 +(w3*HP),s2-(n2*HP)/2.0+(n3*HP),s3-(p2*HP)/2.0+(p3*HP),2)
ei(tt+HP/2.0,s1-(w2*HP)/2.0 +(w3*HP),s2-(n2*HP)/2.0+(n3*HP),s3-(p2*HP)/2.0+(p3*HP),3)
1
Dicha funcion recibe los parmetros necesarios para calcular las pendientes para resolver por
el mtodo de Runge Kutta y a su vez esta funcin regresa un valor que se denomina ei
El procedimiento rungeerror( tt) es la interpreatcin del mtodo de Runge Kutta de orden superior
para la obtencion de ErrorI, este precedimiento llama a la funcion ei.
Figura 4.19: Diagrama de ujo procedimiento rungeerror.
92
ei((3*(tt+HP))/4.0,s1+(3*(w1*HP))/16.0 + (9*(w4*HP))/16.0,s2+(3*(n1*HP))/16.0 +
(9*(n4*HP))/16.0,s3+dx5+(3*(p1*HP))/16.0 + (9*(p4*HP))/16.0,1)
w5 = ei
n5 = ei
p5 = ei
w6 = ei
n6 = ei
p6 = ei
ei((3*(tt+HP))/4.0,s1+(3*(w1*HP))/16.0 + (9*(w4*HP))/16.0,s2+(3*(n1*HP))/16.0 +
(9*(n4*HP))/16.0,s3+dx5+(3*(p1*HP))/16.0 + (9*(p4*HP))/16.0,2)
ei((3*(tt+HP))/4.0,s1+(3*(w1*HP))/16.0 + (9*(w4*HP))/16.0,s2+(3*(n1*HP))/16.0 +
(9*(n4*HP))/16.0,s3+dx5+(3*(p1*HP))/16.0 + (9*(p4*HP))/16.0,3)
ei(tt+HP,s1-(3*(w1*HP))/7.0 +(2*(w2*HP))/7.0 + (12*(w3*HP))/7.0 - (12*(w4*HP))/7.0
+ (8*(w5*HP))/7.0,s2-(3*(n1*HP))/7.0 +(2*(n2*HP))/7.0 + (12*(n3*HP))/7.0 -
(12*(n4*HP))/7.0 + (8*(n5*HP))/7.0,s3-(3*(p1*HP))/7.0 +(2*(p2*HP))/7.0 +
(12*(p3*HP))/7.0 - (12*(p4*HP))/7.0 + (8*(p5*HP))/7.0,1)
ei(tt+HP,s1-(3*(w1*HP))/7.0 +(2*(w2*HP))/7.0 + (12*(w3*HP))/7.0 - (12*(w4*HP))/7.0
+ (8*(w5*HP))/7.0,s2-(3*(n1*HP))/7.0 +(2*(n2*HP))/7.0 + (12*(n3*HP))/7.0 -
(12*(n4*HP))/7.0 + (8*(n5*HP))/7.0,s3-(3*(p1*HP))/7.0 +(2*(p2*HP))/7.0 +
(12*(p3*HP))/7.0 - (12*(p4*HP))/7.0 + (8*(p5*HP))/7.0,2)
ei(tt+HP,s1-(3*(w1*HP))/7.0 +(2*(w2*HP))/7.0 + (12*(w3*HP))/7.0 - (12*(w4*HP))/7.0
+ (8*(w5*HP))/7.0,s2-(3*(n1*HP))/7.0 +(2*(n2*HP))/7.0 + (12*(n3*HP))/7.0 -
(12*(n4*HP))/7.0 + (8*(n5*HP))/7.0,s3-(3*(p1*HP))/7.0 +(2*(p2*HP))/7.0 +
(12*(p3*HP))/7.0 - (12*(p4*HP))/7.0 + (8*(p5*HP))/7.0,3)
1
dx2 = dx2 +((7*w1+32*w3+12*w4+32*w5+7*w6)/90.0)*HP
dx4 = dx4 +((7*n1+32*n3+12*n4+32*n5+7*n6)/90.0)*HP
dx6 = dx6 +((7*p1+32*p3+12*p4+32*p5+7*p6)/90.0)*HP
fin
Figura 4.20: Diagrama de ujo procedimiento rungeerror.
93
inicio
ei(x,ei1,ei2,ei3,op)
op
er = tanh(10*(ei1))
er = tanh(10*(ei2))
er = tanh(10*(ei3))
regresa er
fin
1
2
3
Figura 4.21: Diagrama de ujo de la funci on ei.
94
Por ultimo se muestra el procedimiento modelosrobot el cual recibe par ametros que son las variables articu-
lares, calculadas y as actualizar los modelos (din amico y cinem atico) del robot para las siguientes iteraciones,
ver Figura 4.22.
inicio
modelosrobot(dx1,dx
2,dx3,dx4,dx5,dx6)
tH11=(m2+m3)*((l2^2))*(cos(dx3)^2)+2*m3*l2*l3*cos(dx3)*cos(dx3+
dx5)+m3*((l3^2))*((cos(dx3+dx5))^2)
H12 = 0
H13 = 0
H21 = 0
H22 = (m2+m3)*(l2^2)+m3*(l3^2)+2*m3*l2*l3*cos(dx5)
H23 = m3*(l3^2)+m3*l2*l3*cos(dx5)
H31 = 0
H32 = m3*(l3^2)+m3*l2*l3*cos(dx5)
H33 = m3*(l3^2)
et_1 = sin(dx3)*cos(dx3)
et_2 = sin(dx3+dx5)*cos(dx3)+sin(dx3)*cos(dx3+dx5)
et_3 = sin(dx3+dx5)*cos(dx3+dx5)
et_4 = sin(dx3+dx5)*cos(dx3)
C11 = 0
C12=-(2*(m2+m3)*(l2^2)*et_1+2*m3*l2*l3*et_2+2*m3*(l3^2)*et_3)*dx2
C13 = -(2*m3*l2*l3*et_4+2*m3*(l3^2)*et_3)*dx2
C21 = ((m2+m3)*(l2^2)*et_1+m3*l2*l3*et_2+m3*(l3^2)*et_3)*dx2
C22 = -(2*m3*l2*l3*sin(dx5))*dx6
C23 = -(m3*l2*l3*sin(dx5))*dx6
C31 = (m3*l2*l3*et_4+m3*(l3^,2)*et_3)*dx2
C32 = (m3*l2*l3*sin(dx5))*dx4
C33 = 0
G1 = 0
G2 = -(m2*gr*lcg2+m3*gr*l2)*cos(dx3)-m3*gr*lcg3*cos(dx3+dx5)
G3 = -m3*gr*lcg3*cos(dx3+dx5)
q[1] = dx1
q[2] = dx3
q[3] = dx5
qp[1] = dx2
qp[2] = dx4
qp[3] = dx6
J11 = -l3*sin(dx1)*cos(dx3+dx5)-l2*sin(dx1)*cos(dx3)
J12 = -l3*cos(dx1)*sin(dx3+dx5)-l2*sin(dx3)*cos(dx1)
J13 = -l3*cos(dx1)*sin(dx3+dx5)
J21 = l3*cos(dx1)*cos(dx3+dx5)+l2*cos(dx1)*cos(dx3)
J22 = -l3*sin(dx1)*sin(dx3+dx5)-l2*sin(dx3)*sin(dx1)
J23 = -l3*sin(dx1)*sin(dx3+dx5)
J31 = 0
J32 = -l3*cos(dx3+dx5)-l2*cos(dx3)
J33 = -l3*cos(dx3+dx5)
J[1][1] = J11 J[1][2] = J12 J[1][3] = J13
J[2][1] = J21 J[2][2] = J22 J[2][3] = J23
J[3][1] = J31 J[3][2] = J32 J[3][3] = J33
fin
Fr1 = b1*dx2+k1*tanh(beta*dx2)
Fr2 = b2*dx4+k2*tanh(beta*dx4)
Fr3 = b3*dx6+k3*tanh(beta*dx6)
H[1][1] = H11 H[1][2] = H12 H[1][3] = H13
H[2][1] = H21 H[2][2] = H22 H[2][3] = H23
H[3][1] = H31 H[3][2] = H32 H[3][3] = H33
C[1][1] = C11 C[1][2] = C12 C[1][3] = C13
C[2][1] = C21 C[2][2] = C22 C[2][3] = C23
C[3][1] = C31 C[3][2] = C32 C[3][3] = C33
G[1] = G1 G[2] = G2 G[3] = G3
Fr[1] = Fr1 Fr[2] = Fr2 Fr[3] = Fr3
Calculo de
los
elementos
de la
matriz de
inercia.
Calculo de
los
elementos
del Vector
de Fuerzas
de Coriolis y
de Fuerzas
Centripetas
Calculo de
los
elementos
del Vector
de Fuerza
de gravedad
Calculo de los
elementos del
Vector
deFriccin
Viscosa y Seca
Modelo cinemtico
del robot, calculo de
los elementos de la
matriz Jacobiana
Generacin de la
matriz Jacobiana
Generacin de las
matrices del robot asi
como de los vectores
del msimo
Este procedimirnto sirve para
la actualizacin de los
modelos en cada iteracion
Figura 4.22: Diagrama de ujo del procedimiento modelosrobot.
4.5.2. Dise no.
En esta secci on se presenta el dise no de la herramienta propuesta, Modelado de Sistemas de control de un
robot manipulador, el cual est a desarrollado en Delphi 7 bajo la plataforma Windows XP; est a formado por
varios m odulos que fueron desarrollados y probados independientemente antes de desarrollar un solo sistema. Los
requerimientos del sistema desarrollado son:
Sistema operativo win9x o superior.
Procesador
Teclado
Mouse
Nota: El comportamiento de la aplicaci on al solucionar el control PINL en cualquiera de las dos opciones
resueltas por dicha aplicaci on, en cuanto a la velocidad de respuesta depender a de la velocidad del procesador del
equipo de c omputo sobre el cual se este trabajando; si se deseara que esta aplicaci on se ejecutara sobre un SO
95
UNIX se tendra que compilar con en Kilyx que es lenguaje Pascal para UNIX como Delphi es para Windows.
En esta secci on se muestra un diagrama de ujo de detalle del funcionamiento de la herramienta propuesta ver
Figuras 4.23, 4.24 y 4.25
Inicio
Cerrar
Aplicacin
Opcin men
principal
Control
Adaptable
Lectura del Archivo
Generado en Mat lab
Mostar
Archivo
Opciones
Salir
Control Adaptable
cerrar
V
e
r

R
o
b
o
t

Leer archivos de
Cdigo Mat Lab
Mostrar
Cdigo
Opciones
Cdigo Mat Lab
Siguiente
Leer archivos de
Graficas Mat Lab
Mostrar
Graficas
Opciones
Graficas
S
i
g
u
i
e
n
t
e

A
n
t
e
r
i
o
r

cerrar
c
e
r
r
a
r

G
r
a
f
i
c
a
s

Mostrar Archivo
Cdigo
Mostrar Archivo
Robot Virtual
PHANToM_Virtual_TRAZO
R
o
b
o
t

V
i
r
t
u
a
l

P
H
A
N
T
o
M

_
V
i
r
t
u
a
l
_
T
R
A
Z
O

Control
PIDNL
Opciones
cerrar
1 2 3
4
Figura 4.23: Diagrama de ujo del funcionamiento del sistema.
96
1
Tiempo de
Simulacin
Ganancias
KD{1,2,3} y
KP{1,2,3}
Opciones
Inicia solucin
Mostar
Resultados
numricos
Opciones
cerrar
Ver Robot
Siguiente
Graficas
Robot Virtual
PHANToM_Virtual_TRAZO
Guardar
archivo de
trayectoria
Mostar
Resultados
numricos Opciones
4
2
Tiempo de
Simulacin
Ganancias
KD{1,2,3} y
KP{1,2,3}
Opciones
Inicia solucin
Mostar
Resultados
numricos
Opciones
cerrar
Ver Robot
Siguiente
Graficas
Robot Virtual
PHANToM_Virtual_TRAZO
Guardar
archivo de
trayectoria
Mostar
Resultados
numricos Opciones
Tiempo de
Convergencia
cerrar
cerrar
Iniciar proceso
Iniciar proceso
cerrar
anterior anterior
cerrar
A
A
Figura 4.24: Diagrama de ujo del funcionamiento del sistema.
97
Control
PIDNL (demo Mat Lab)
Lectura del Archivo
Generado en Mat lab
Mostar
Archivo
Opciones
cerrar
V
e
r

R
o
b
o
t

Leer archivos de
Cdigo Mat Lab
Mostrar
Cdigo
Opciones
Cdigo Mat Lab
Siguiente
Leer archivos de
Graficas Mat Lab
Mostrar
Graficas
Opciones
Graficas
S
i
g
u
i
e
n
t
e

A
n
t
e
r
i
o
r

cerrar
G
r
a
f
i
c
a
s

Mostrar Archivo
Cdigo
Mostrar Archivo
R
o
b
o
t

V
i
r
t
u
a
l

P
H
A
N
T
o
M

_
V
i
r
t
u
a
l
_
T
R
A
Z
O

3
4
Figura 4.25: Diagrama de ujo del funcionamiento del sistema.
98
En la aplicaci on se encuentran los siguientes m odulos (ver Figura 4.26):
Robot virtual.
Control PIDNL.
Control adaptable.
Figura 4.26: Men u principal de la herramienta
propuesta.
Figura 4.27: Interfaz PHANToM Virtual TRA-
ZO.
En el primer m odulo se puede realizar la visualizacion del robot asi como interactuar con el (Ver Figura 4.27).
En el segundo m odulo se puede realizar la simulaci on del seguimiento de trayectoria ya mencionada con un
control PIDNL con o sin generador de tiempo base (Figuras 4.28 y 4.31 respectivamente), las dos opciones son
resueltas en lnea por mediante la aplicaci on del metodo de Runge Kutta antes mencionado, los valores que la
aplicaci on despliega en referencia a las ganancias y tiempo de simulaci on y tiempo de convergencia en el caso
del control PIDNL con generador de tiempo base, son valores de prueba mediante los cuales este equipo obtuvo
buenos resultados sin suponer que sean los mejores dado que esta aplicaci on es para experimentar con el robot,
adem as la herramienta propuesta muestra las gr acas de las coordenadas generalizadas las opciones resueltas en
lnea Figuras 4.29referente al control PIDNL y 4.32 referenta al control PIDNL con TBG, este m odulo presenta
tambien un demo Figura 4.27 el cual realiza la carga de un archivo obtenido por Matlab ver Figura 4.34, ya
que tambien se trabaj o con este software en donde se resolvi o el mismo modelo matem atico implementado en la
aplicaci on; en este demo se muestra el c odigo de MatLab Figura 4.35 as como las gr acas obtenidas en MatLab
Figura 4.36.
99
Figura 4.28: Control PIDNL.
Figura 4.29: Resultados en forma gr aca del con-
trol PIDNL.
Figura 4.30: Trayectoria realizada por PHAN-
ToM Virtual TRAZO implementando el control
PIDNL.
Figura 4.31: Control PIDNL con TBG.
100
Figura 4.32: Resultados en forma gr aca del con-
trol PIDNL con TBG.
Figura 4.33: Trayectoria realizada por PHAN-
ToM Virtual TRAZO implementando el control
PIDNL con TBG.
Figura 4.34: Demo control PIDNL con TBG re-
alizado en MatLab.
Figura 4.35: C odigo de MatLab para el control
PIDNL con TBG.
101
Figura 4.36: Resultados en forma gr aca del con-
trol PIDNL con TBG (Demo MatLab).
Figura 4.37: Trayectoria realizada por PHAN-
ToM Virtual TRAZO implementando el control
PIDNL con TBG.
El tercer mo odulo presenta un demo el cual realiza la carga de un archivo obtenido por Matlab, ya que
tambien se trabaj o con este software en donde se resolvi o el mismo modelo matem atico implementado en la apli-
caci on; en cada una de las opciones se muestran los valores obtenidos numerica y gr acamente.
Figura 4.38: Demo control adaptable con TBG
realizado en MatLab.
Figura 4.39: C odigo de MatLab para el control
adaptable con TBG.
102
Figura 4.40: Resultados en forma gr aca del con-
trol adaptable con TBG (Demo MatLab).
Figura 4.41: Trayectoria realizada por PHAN-
ToM Virtual TRAZO implementando el control
adaptable con TBG.
4.6. Conclusiones
Hoy en da la realidad virtual es un tema muy com un o mejor dicho conocido, pero es necesario conocer todo
lo que involucra la realidad virtual es por eso que se presenta una rese na, que incluye conceptos, clasicaci on y
caractersticas generales de la realidad virtual. Existen diversas herramientas que se pueden usar para generar un
ambiente virtual como los pueden ser los lenguajes y herramientas de edici on, como AutoCad, 3D Studio, Maya,
VRML, OpenGL, Visual C++, Delphi, entre otros.
Cabe se nalar que al inicio de este proyecto la interfaz virtual se cre o a partir de 3D Studio Max, se export o a
c odigo Visual C++ con OpenGL y se comenz o a trabajar sobre Visual C++, mientras tanto se liber o la apli-
caci on PHANToM Virtual TRAZO desarrollada en el Centro de Investigaci on en Tecnologas de Informaci on
y Sistemas Ingeniera en Electr onica y Telecomunicaciones de esta Universidad, dicha aplicaci on est a creada en
lenguaje C++ con OpenGL y es una interfaz virtual que permite la interacci on ( movimientos y seguimiento de
trayectorias ) con un robot antropom orco de tres grados de libertad, lo que se adapta a este trabajo de tesis,
se retomo esta aplicaci on en este captulo se hace menci on a la creaci on de esta aplicaci on y del comportamiento
complejo de la misma.
Este equipo de trabajo desarroll o una interfaz de usuario que permite el seguimiento de trayectorias (en este
caso una circunferencia), que inicialmente se trabaj o en Visual C++ 6.0 y se termino en Delphi 7.0, debido a
que este lenguaje ( object pascal ) y software es muy noble en aprendizaje, aplicaci on y colaboraci on con otras
aplicaciones externas como PHANToM Virtual TRAZO, adem as de que puede trabajar con OpenGL de igual
forma que Visual C++, si en un futuro se desea incorporar el robot a la aplicaci on propuesta.
103
Captulo 5
Modelado y control del robot
antropom orco virtual
5.1. Introducci on
5.2. Modelo cinematico
5.2.1. Parametros de Denavit-Hartemberg (DH).
Dado que en el C aptulo 2 de este trabajo de tesis se hace un explicaci on donde se denen los par ametros de
Denavit - Hartenberg para un robot antropom orco de tres grados de libertad Denavit-Hartemberg, se presentan
en la siguiente tabla (5.1):
Eslab on i a d 0
1

2
0 0
1
2 0 L
2
0
2
3 0 L
3
0
3
Cuadro 5.1: Par ametros Denavit-Hartemberg [51]
5.2.2. Matrices elementales y de transformaci on homogenea.
Una matriz de transformaci on homogenea permite denir la posici on y orientaci on de un marco de referencia
respecto al otro.
De esta forma, para los marcos ortonormales de referencia denidos en la cadena cinem atica, es posible de-
teminar una matriz de transformaci on homogenea general, que dena en funci on de los par ametros de Denavit-
Hartemberg la posici on y orientaci on de un marco de referencia i respecto al marco de referencia i 1.
104
Una matriz de transformaci on homogenea con estas caractersticas es la siguiente:
i
i1
T =
_

_
C
i
S
i
S
i
S
i
S
i
a
i
C
i
S
i
C
i
C
i
C
i
C
i
a
i
C
i
0 S
i
C
i
d
i
0 0 0 1
_

_
(5.1)
Sustituyendo en esta matriz los par ametros de Denavit-Hartemberg correspondientes a cada eslab on, se obtiene
para tres grados de libertad de la estructura de posici on del robot, tres matrices de transformaci on homogenea
llamadas matrices elementales del robot.
Por lo tanto las matrices elementales de la estructura de posici on del robot de 3 grados de libertad son las
matrices 5.2, 5.3 y 5.4:
1
2
T =
_

_
C
1
0 S
1
0
S
1
0 C
1
0
0 1 0 0
0 0 0 1
_

_
(5.2)
2
3
T =
_

_
C
2
S
2
0 L
2
C
2
S
2
C
2
0 L
2
S
2
0 0 1 0
0 0 0 1
_

_
(5.3)
3
4
T =
_

_
C
3
S
3
0 L
3
C
3
S
3
C
3
0 L
3
S
3
0 0 1 0
0 0 0 1
_

_
(5.4)
La matriz de transformaci on homogenea que describe el marco ortonormal de referencia en el extremo nal
del ultimo eslab on, respecto al primer marco de referencia y de esta informaci on de posici on en coordenadas
cartesianas y orientaci on en angulos de Euler, est a denido realizando el siguiente producto sucesivo de sus
matrices elementales como se muestra a continuaci on:
1
4
T =
1
2
T
2
3
T
3
4
T (5.5)
105
Cuyo desarrollo es el siguiente:
Primero obteniendo la matriz
1
3
T
1
3
T =
1
2
T
2
3
T (5.6)
Donde el producto de las matrices
1
2
T y
2
3
es el siguiente:
1
3
T =
_

_
C
1
0 S
1
0
S
1
0 C
1
0
0 1 0 0
0 0 0 1
_

_
C
2
S
2
0 L
2
C
2
S
2
C
2
0 L
2
S
2
0 0 1 0
0 0 0 1
_

_
=
_

_
C
1
C
2
S
2
C
1
S
1
L
2
C
1
C
2
S
1
C
2
S
1
S
2
C
1
L
2
S
1
C
2
S
2
C
2
0 L
2
S
2
0 0 0 1
_

_
(5.7)
Por ultimo
1
4
T =
1
3
T
3
4
T (5.8)
1
4
T =
_

_
C
1
C
2
S
2
C
1
S
1
L
2
C
1
C
2
S
1
C
2
S
1
S
2
C
1
L
2
S
1
C
2
S
2
C
2
0 L
2
S
2
0 0 0 1
_

_
C
3
S
3
0 L
3
C
3
S
3
C
3
0 L
3
S
3
0 0 1 0
0 0 0 1
_

_
=
1
4
T =
_

_
C
1
C
2
C
3
S
2
S
3
C
1
S
3
C
1
C
2
S
2
C
1
C
3
S
1
L
3
C
1
C
2
C
3
L
3
S
2
S
3
C
1
L
2
C
1
C
2
S
1
C
2
C
3
S
1
S
2
S
3
S
1
S
3
C
2
S
1
S
2
C
3
C
1
L
3
S
1
C
2
C
3
+L
3
S
1
S
2
S
3
+L
2
S
1
C
2
S
2
C
3
S
23
C
2
S
2
S
3
C
2
C
3
0 L
3
S
2
C
3
L
3
S
3
C
2
L
2
S
2
0 0 0 1
_

_
Simplicando los elementos de la matriz se tiene la Ecuaci on 5.9:
1
4
T =
_

_
C
1
C
23
C
1
S
23
S
1
L
3
C
1
C
23
+L
2
C
1
C
2
S
1
C
23
S
1
S
23
C
1
L
3
S
1
C
23
+L
2
S
1
C
2
S
23
C
23
0 L
3
S
23
L
2
S
2
0 0 0 1
_

_
(5.9)
106
Donde :
cos(
1
) = C
1
cos(
2
+
3
) = C
23
sen(
1
) = S
1
sen(
2
+
3
) = S
23
Las coordenadas de posici on cartesiana son[23]:
x
p
= [x
1
, x
2
, x
3
]
T
= [l, m, n]
T
(5.10)
l = E
14
= x
m = E
24
= y
n = E
34
= z
x = L
3
C
1
C
23
+L
2
C
1
C
2
(5.11)
y = L
3
S
1
C
23
+L
2
S
1
C
2
(5.12)
z = L
3
S
23
L
2
S
2
(5.13)
Las coordenadas de orientaci on, en terminos de los angulos de Bryant, son[23]:
x
0
= [x
4
, x
5
, x
6
]
T
= [, , ]
T
(5.14)
Los angulos , , corresponden a los giros sucesivos que necesitara aplicarse al marco R
i
en el orden x - y -
z para hacerlo coincidir con el marco R
f
.
Donde R
i
corresponde a la condici on inicial del marco ortonormal en el extremo nal del ultimo eslab on y R
f
la deseada o nal del mismo.
x
4
= = atan2( E
23
, E
33
)
x
5
= = atan2(E
13
, E
33
/ cos )
x
6
= = atan2( E
12
, E
11
)
(5.15)
Donde E
ij
corresponden a los elementos i j de la matriz de tranformaci on homogenea
1
4
T.
Finalmente, se concluye que las coordenadas operacionales, en coordenadas cartesianas para posici on y angulos
de Bryant para orientaci on, constituyen w
l
modelo cinem atico de posici on.
107
5.2.3. Modelo cinematico directo de posici on (MCDP)
El MCDP de un robot manipulador es la relaci on que permite determinar las coordenadas operacionales del
robot en funci on de las variables articulares o coordenadas generalizadas que del mismo.
x = f(q) (5.16)
La obtenci on del MCDP, se obtiene a continuaci on:
x = [x
1
, x
2
, x
3
, x
4
, x
5
, x
6
]
T
(5.17)
x = [x, y, z, , , ]
T
(5.18)
Si
= atan2((C
1
), 0) = atan(C
1
, 0) = 270

(
3
/
2
rad) (5.19)
= atan2(S
1
,
0
/
cos 270
) = 270

(
3
/
2
rad) (5.20)
= atan2((C
1
), S
23
), C
1
C
23
) = tg
1
(
S
23
/
C
23
) =
2
+
3
(5.21)
Por lo tanto
x =
_

_
x
y
z

_
=
_

_
L
3
C
1
C
23
+L
2
C
1
C
2
L
3
S
1
C
23
+L
2
S
1
C
2
L
3
S
23
L
2
S
2
270

270

2
+
3
_

_
(5.22)
que dene nalmente, el MCDP.
Entonces x, y, z, , , son de la siguiente manera:
x = L
3
C
1
C
23
+L
2
C
1
C
2
(5.23)
108
y = L
3
S
1
C
23
+L
2
S
1
C
2
(5.24)
z = L
3
S
23
L
2
S
2
(5.25)
= 270

(5.26)
= 270

(5.27)
=
2
+
3
(5.28)
5.2.4. Modelo cinematico inverso de posici on (MCIP)
El MCIP de un robot manipulador es la funci on inversa si esta existe, que permite obtener las coordenadas
generalizadas o variables articulares ( angulos entre eslabones, para el caso de estudio) en terminos de las coorde-
nadas operacionales. En otras palabras conocer los angulos articulares que el robot debe adquirir para lograr una
situaci on deseada del organo terminal (en posici on y orientaci on) en el plano o espacio de trabajo.
q = f
1
(x) (5.29)
La obtenci on del MCIP, se proporciona a continuaci on:
dado que:
1
4
T =
1
2
T
2
3
T
3
4
T (5.30)
es posible que:
1
2
T
1

1
4
T =
2
3
T
3
4
T (5.31)
Obteniendo la matriz inversa de
1
2
T (Ecuaci on 5.2)
Si
1
2
T =
_

_
C
1
0 S
1
0
S
1
0 C
1
0
0 1 0 0
0 0 0 1
_

_
(5.32)
109
1
2
T
1
=
_

_
C
1
S
1
0 0
0 0 1 0
S
1
C
1
0 0
0 0 0 1
_

_
(5.33)
Para la matriz de transformaci on homogenea
1
4
T se consideran elementos E
ij
, tal que[51]:
1
4
T =
_

_
E
11
E
12
E
13
E
14
E
21
E
22
E
23
E
24
E
31
E
32
E
33
E
34
0 0 0 1
_

_
(5.34)
Y sus elementos son:
E
11
= C
1
C
23
E
12
= C
1
S
23
E
13
= S
1
E
14
= L
3
C
1
C
23
+L
2
C
1
C
2
E
21
= S
1
C
23
E
22
= S
1
S
23
E
23
= C
1
E
24
= L
3
S
1
C
23
+L
2
S
1
C
2
E
31
= S
23
E
32
= C
23
E
33
= 0
E
34
= L
3
S
23
L
2
S
2
(5.35)
Por lo tanto la multiplicaci on de las matrices
1
2
T
1

1
4
T (Ecuaciones 5.33, 5.34) es como a continuaci on se
presenta:
1
2
T
1

1
4
T =
_

_
C
1
S
1
0 0
0 0 1 0
S
1
C
1
0 0
0 0 0 1
_

_
E
11
E
12
E
13
E
14
E
21
E
22
E
23
E
24
E
31
E
32
E
33
E
34
0 0 0 1
_

_
1
2
T
1

1
4
T =
_

_
E
11
C
1
+E
21
S
1
E
12
C
1
+E
22
S
1
E
13
C
1
+E
23
S
1
E
14
C
1
+E
24
S
1
E
31
E
32
E
33
E
34
E
11
S
1
+E
21
C
1
E
12
S
1
+E
22
C
1
E
13
S
1
+E
23
C
1
E
14
S
1
+E
24
C
1
0 0 0 1
_

_
(5.36)
110
A continuaci on se realiza el producto de las matrices
2
3
T y
3
4
T (ecuaciones 5.3, 5.4) que dan como resultado a
la matriz
2
4
T
2
3
T
3
4
T =
_

_
C
2
S
2
0 L
2
C
2
S
2
C
2
0 L
2
S
2
0 0 1 0
0 0 0 1
_

_
C
3
S
3
0 L
3
C
3
S
3
C
3
0 L
3
S
3
0 0 1 0
0 0 0 1
_

_
=
2
4
T =
_

_
C
23
S
23
0 L
3
C
23
+L
2
C
2
S
23
C
23
0 L
3
S
23
+L
2
S
2
0 0 1 0
0 0 0 1
_

_
(5.37)
Efectuando una comparaci on entre elementos de la matriz
2
4
T con los elementos de la matriz resultante
1
2
T
1

1
4
T
y observando la factibilidad de hacerlo con el elemento (3,4), tenemos:
E
14
S
1
+E
24
C
1
= 0 (5.38)
De acuerdo al MCDP
xS
1
+yC
1
= 0 (5.39)
Despejando
y
x
=
S
1
C
1
(5.40)
Por lo tanto
tan
1
=
y
x
(5.41)
Obteniendo la expresi on que resuelve la primera variable articular (Ecuaci on 5.42)

1
= Atan2(y, x) (5.42)
111
Y
X
Z
Figura 5.1: Cadena cinem atica sintetica
Haciendo referencia a la cadena cinem atica sintetica siguiente Figura 5.1:
De la Figura 5.1, analizando el plano z-y/x tenemos tal como se muestra en la Figura 5.2
De la ley de cosenos, aplicando al tri angulo que forman los puntos ABC se tiene que:
cos(180


3
) = cos
3
=
L
2
2
+L
2
3
(x
2
+y
2
+z
2
)
2L
2
L
3
(5.43)
Por lo tanto
cos
3
=
x
2
+y
2
+z
2
L
2
2
L
2
3
2L
2
L
3
(5.44)
Aplicando identidades trigonometricas
sen
3
=
_
1 cos
2

3
(5.45)

3
= atan2(sen
3
, cos
3
) (5.46)
112
Z
X/y A
B
C
D
Z
Figura 5.2: Plano z-x/y
Y se obtiene:

3
= atan2(
_
1 cos
2

3
, cos
3
)
Y
cos
3
=
x
2
+y
2
+z
2
L
2
2
L
2
3
2L
2
L
3
Y de la misma Figura 5.2 se obtiene tambien lo siguiente:

2
= +

2
=
(5.47)
Considerando el tri angulo rect angulo ACD
= atan2(z,
_
x
2
+y
2
) (5.48)
113
Por la ley de cosenos para el tri angulo ABC
sen
L
3
=
sen
L
2
(5.49)
= 180

(180


3
) = +
3
=
3

(5.50)
Por lo tanto
sen
L
3
=
sen(
3
)
L
2
sen
L
3
=
sen
3
cos sen cos
3
L
2
L
2
L
3
=
sen
3
ctg cos
3
L
2
L
2
+L
3
cos
3
L
3
= sen
3
ctg
tan =
L
3
sen
3
L
2
+L
3
cos
3
= atan2(L
3
sen
3
, L
2
+L
3
cos
3
) (5.51)
Y bien entonces obtenemos:

2
= = atan2(z,
_
x
2
+y
2
) atan2(L
3
sen
3
, L
2
+L
3
cos
3
)
Por consiguiente el MCIP de la estructura de posici on del robot es la siguiente:
Para
1

1
= atan2(x, y) (5.52)
Para
2

2
= atan2(z,
_
x
2
+y
2
) atan2(L
3
sen
3
, L
2
+L
3
cos
3
) (5.53)
Para
3

3
= atan2(
_
1 cos
2

3
, cos
3
) (5.54)
cos
3
=
x
2
+y
2
+z
2
L
2
2
L
2
3
2L
2
L
3
(5.55)
114
5.2.5. Modelo cinematico directo de velocidad (MCDV)
Dada la expresi on que identica al MCDP (Ecuaci on 5.16)
x = f(q)
Aplicando su primera derivada
x =
d
dt
f(q) (5.56)
Y de esta forma obtenemos el MCDV
x = J q (5.57)
Donde:
x : vector de velocidad del organo terminal del robot
x = [ x, y, z,

, , ]
T
(5.58)
q : vector de velocidad de las articulaciones del robot
q = [ q
1
, q
2
, q
3
]
T
(5.59)
J : matriz jacobiana del robot, cuyos elementos son J
ij
J
ij
=
f
i
q
j
(5.60)
Dado el MCDP (Ecuaciones: 5.23, 5.24, 5.25, 5.26, 5.27, 5.28) derivando con respecto al tiempo, se tiene lo
siguiente:
x = L
3
C
1
C
23
+L
2
C
1
C
2
y = L
3
S
1
C
23
+L
2
S
1
C
2
z = L
3
S
23
L
2
S
2
= 270

= 270

=
2
+
3
115
Sus derivadas son:
Para x:
d
dt
(L
3
C
1
C
23
+L
2
C
1
C
2
) = [C
1
(S
23
(

2
+

3
)) +C
23
(S
1

1
)] +L
2
[C
1
(S
2
)

2
+C
2
(S
1

1
)]
= L
3
C
1
S
23

2
L
3
C
1
S
23

3
L
3
C
23
S
1

1
L
2
S
1
C
1

2
L
2
S
1
C
2

1
x = {L
3
S
1
C
23
+L
2
S
1
C
2
}

1
{L
3
S
23
C
1
+L
2
S
2
C
1
}

2
{L
3
S
23
C
1
}

3
(5.61)
Para y:
d
dt
(L
3
S
1
C
23
+L
2
S
1
C
2
) = L
3
[S
1
(S
23
(

2
+

3
)) +C
23
C
1

1
] +L
2
[S
1
S
2

2
+C
2
C
1

1
]
= L
3
S
1
S
23

2
L
3
S
1
S
23

3
+L
3
C
1
C
23

1
L
2
S
1
S
2

2
L
2
C
1
C
2

1
y = {L
3
C
1
C
23
+L
2
C
1
C
2
}

1
{L
3
S
1
S
23
+L
2
S
1
S
2
}

2
{L
3
S
1
S
23
}

3
(5.62)
Para z:
d
dt
(L
3
S
23
L
2
S
2
) = L
3
C
23
(

2
+

3
) L
2
C
2

2
z = {L
3
C
23
+L
2
C
2
}

2
{L
3
C
23
}

3
(5.63)
Para

y :

= 0 (5.64)
= 0 (5.65)
Para
d
dt
(
2
+
3
) =

2
+

3
=

2
+

3
(5.66)
116
Dado que el modelo cinem atico directo de velocidad puede ser representado en terminos de una matriz jaco-
biana.
x = J q
Se calcula de la siguiente manera:
J =
_

_
x
q
1
x
q
2
x
q
3
y
q
1
y
q
2
y
q
3
z
q
1
z
q
2
z
q
3

q
1

q
2

q
3

q
1

q
2

q
3

q
1

q
2

q
3
_

_
(5.67)
Por lo tanto, la matriz jacobiana es la siguiente:
J =
_

_
L
3
S
1
C
23
L
2
S
1
C
2
L
3
S
23
C
1
L
2
S
2
C
1
L
3
S
23
C
1
L
3
C
1
C
23
+L
2
C
1
C
2
L
3
S
1
S
23
L
2
S
1
S
2
L
3
S
1
S
23
0 L
3
C
23
L
2
C
2
L
3
C
23
0 0 0
0 0 0
0 1 1
_

_
(5.68)
5.2.6. Modelo cinematico inverso de velocidad (MCIV)
A partir del MCDV se dene la ecuaci on representativa del MCIV, tal como se presenta a continuaci on:
q = J
1
x (5.69)
117
Dado el jacobiano a su representaci on reducida (Ecuaci on 5.68)
J

=
_

_
L
3
S
1
C
23
L
2
S
1
C
2
L
3
S
23
C
1
L
2
S
2
C
1
L
3
S
23
C
1
L
3
C
1
C
23
+L
2
C
1
C
2
L
3
S
1
S
23
L
2
S
1
S
2
L
3
S
1
S
23
0 L
3
C
23
L
2
C
2
L
3
C
23
_

_
(5.70)
La matriz inversa del jacobiano reducido es:
J
1

=
_

S
1
L
2
C
2
+L
3
C
23
C
1
L
2
C
2
+L
3
C
23
0
C
1
C
23
L
2
S
3
S
1
C
23
L
2
S
3

S
23
L
2
S
3

L
2
C
1
C
2
+L
3
C
1
C
23
L
2
L
3
S
3

L
2
S
1
C
2
+L
3
S
1
C
23
L
2
L
3
S
3
L
2
S
2
+L
3
S
23
L
2
L
3
S
3
_

_
(5.71)
El MCIV una vez obtenido J
1

es el siguiente:

1
=
1
L
2
C
2
+L
3
C
23
{S
1
x +C
2
y} (5.72)

2
=
1
L
2
S
3
{C
1
C
23
x +S
1
C
23
y S
23
} (5.73)

3
=
1
L
2
L
3
S
3
{(L
2
C
1
C
2
+L
3
C
1
C
23
) x (L
2
S
1
C
2
+L
3
S
1
C
23
) y + (L
2
S
2
+L
2
S
23
) z} (5.74)
5.2.7. Modelo cinematico directo de aceleraci on (MCDA)
Dado el MCDV del robot
x = J q
Ya obtenido el MCDV, se procede a obtener su derivada con respecto al tiempo, obteniendo as el modelo
cinem atico directo de aceleraci on, este se dene como:
x = J q +

J q (5.75)
Donde:
x : corresponde al vector de aceleraci on del organo terminal del robot.
q : corresponde al vector de aceleraci on de las articulaciones.

J : representa la primera derivada respecto al tiempo de la matriz jacobiana.


118
La derivada de cada uno de los elementos de la matriz jacobiana es la siguiente:
d
dt
(L
3
S
1
C
23
L
2
S
1
C
2
) = L
3
(S
1
(S
23
(

2
+

3
)) +C
23
C
1

1
) L
2
(S
1
(S
2
)

2
+C
2
C
1

1
)

J
11
= L
3
S
1
S
23
(

2
+

3
) L
3
C
1
C
23

1
+L
2
S
1
S
2

2
L
2
C
1
C
2

1
(5.76)
d
dt
(L
3
S
23
C
1
L
2
S
2
C
1
) = L
3
S
23
(S
1

1
) L
3
C
1
C
23
(

2
+

3
) L
2
S
2
(S
1

1
) L
2
C
1
C
2

J
12
= L
3
S
1
S
23

1
L
3
C
1
C
23
(

2
+

3
) +L
2
S
1
S
2

1
L
2
C
1
C
2

2
(5.77)
d
dt
(L
3
S
23
C
1
) = L
3
S
23
(S
1

1
) L
3
C
1
C
23
(

2
+

3
)

J
13
= L
3
S
1
S
23

1
L
3
C
1
C
23
(

2
+

3
) (5.78)
d
dt
(L
3
C
1
C
23
+L
2
C
1
C
2
) = L
3
C
1
(S
23
(

2
+

3
)) +L
3
C
23
(S
1

1
) +L
2
C
1
(S
2

2
) +L
2
C
2
(S
1

1
)

J
21
= L
3
S
23
C
1
(

2
+

3
) L
3
S
1
C
23

1
L
2
S
2
C
1

2
L
2
S
1
C
2

1
(5.79)
d
dt
(L
3
S
1
S
23
L
2
S
1
S
2
) = L
3
S
1
C
23
(

2
+

3
) L
3
S
23
C
1

1
L
2
S
1
C
2

2
L
2
S
2
C
1

J
22
= L
3
S
1
C
23
(

2
+

3
) L
3
S
23
C
1

1
L
2
S
1
C
2

2
L
2
S
2
C
1

1
(5.80)
d
dt
(L
3
S
1
S
23
) = L
3
S
1
C
23
(

2
+

3
) L
3
S
23
C
1

J
23
= L
3
S
1
C
23
(

2
+

3
) L
3
S
23
C
1

1
(5.81)
d
dt
(0) = 0

J
31
= 0 (5.82)
d
dt
(L
3
C
23
L
2
C
2
) = L
3
S
23
(

2
+

3
) +L
2
S
2

J
32
= L
3
S
23
(

2
+

3
) +L
2
S
2

2
(5.83)
119
d
dt
(L
3
C
23
) = L
3
(S
23
(

2
+

3
))

J
33
= L
3
S
23
(

2
+

3
) (5.84)
Por lo tanto la matriz jacobiana queda de la siguiente manera:

=
_

J
11

J
12

J
13

J
21

J
22

J
23

J
31

J
32

J
33
_

_
(5.85)
Por consiguiente J y

J obetenemos el MCDA.
Para x:
d
dt
(L
3
S
1
C
23

1
L
2
S
1
C
2

1
L
3
S
23
C
1

2
L
2
S
2
C
1

2
L
3
S
23
C
1

3
) =
x = L
3
S
1
C
23

1
+L
3
S
1
S
23

1
(

2
+

3
) L
3
C
1
C
23

1
L
3
S
1
C
2

1
+L
2
S
1
S
2

2
L
2
C
1
C
2

1
L
3
S
23
C
1

2
+L
3
S
1
S
23

2
L
3
C
1
C
23

2
(

2
+

3
) L
2
S
2
C
1

2
L
2
S
1
S
2

2
L
2
C
1
C
2

2
L
3
S
23
C
1

3
+L
3
S
1
S
23

3
L
3
C
1
C
23

3
(

2
+

3
)
Simplicando y agrupando
x = (L
3
S
1
C
23
L
2
S
1
C
2
)

1
+ (L
3
S
23
C
1
L
2
S
2
C
1
)

2
(L
3
S
23
C
1
)

3
+ (L
3
S
1
S
23
(

2
+

3
) L
3
C
1
C
23

1
+L
2
S
1
S
2

2
L
2
C
1
C
2

1
)

1
+ (L
3
S
1
S
23

1
L
3
C
1
C
23
(

2
+

3
) +L
2
S
1
S
2

1
L
2
C
1
C
2

2
)

2
+(L
3
S
1
S
23

1
L
3
C
1
C
2
(

2
+

3
))

3
(5.86)
Para y
d
dt
(L
3
C
1
C
23

1
+L
2
C
1
C
2

1
L
3
S
1
S
23

2
L
2
S
1
S
2

2
L
3
S
1
S
23

3
) =
y = L
3
C
1
C
23

1
+L
3
C
1
S
23

1
(

2
+

3
) L
3
S
1
C
23

1
+L
2
C
1
C
2

1
L
2
S
2
C
2

2
L
2
S
1
C
2

1
L
3
S
1
S
23

2
L
3
S
1
C
23

2
(

2
+

3
) L
3
S
23
C
1

2
L
2
S
1
S
2

2
L
3
S
1
C
23

2
L
2
S
1
C
1

2
L
3
S
1
S
23

3
L
3
S
1
C
23

3
(

2
+

3
) L
3
S
23
C
1

3
120
Simplicando y agrupando
y = (L
3
C
1
C
23
+L
2
C
1
C
2
)

1
+ (L
3
S
1
S
23
L
2
S
1
S
2
)

2
(L
3
S
1
S
23
)

3
+ (L
3
S
23
C
1
(

2
+

3
) L
3
S
1
C
23

L
2
S
2
C
1

2
L
2
S
1
C
2

1
)

1
+ (L
3
S
1
C
23
(

2
+

3
) L
3
S
23
C
1

1
L
2
S
1
C
2

2
L
2
S
2
C
1

1
)

2
+ (L
3
S
1
C
23
(

2
+

3
)
L
3
S
23
C
1

1
)

3
(5.87)
Para z
d
dt
(L
3
C
23

2
L
2
C
2

2
L
3
C
23

3
) =
z = L
3
C
23

2
+L
3
S
23

2
(

2
+

3
) L
2
C
2

2
+L
2
S
2

2
+L
3
C
23

3
+L
3
S
23

3
(

2
+

3
)
Simplicando y agrupando
z = (L
3
C
23
L
2
C
2
)

2
(L
3
C
23
)

3
(L
3
S
23
(

2
+

3
) +L
2
S
2

2
)

2
+ (L
3
S
23
(

2
+

3
))

3
(5.88)
y para

= 0 (5.89)
= 0 (5.90)
=

1
+

2
(5.91)
5.2.8. Modelo cinematico inverso de aceleraci on (MCIA)
El modelo cinem atico inverso de aceleraci on se deduce a partir del MCDA obtenido anteriormente y este es:
q = J
1
[ x

J q] (5.92)
121
La inversa de jacobiano reducido es
J
1

=
_

S
1
L
2
C
2
+L
3
C
23
C
1
L
2
C
2
+L
3
C
23
0
C
1
C
23
L
2
S
3
S
1
C
23
L
2
S
3

S
23
L
2
S
3

L
2
C
1
C
2
+L
3
C
1
C
23
L
2
L
3
S
3

L
2
S
1
C
2
+L
3
S
1
C
23
L
2
L
3
S
3
L
2
S
2
+L
3
S
23
L
2
L
3
S
3
_

_
Por lo tanto aplicando q = J
1
[ x

J q]

1
=
S
1
L
2
C
2
+L
3
C
23
[ x ((L
3
S
1
S
23
(

2
+

3
) L
3
C
1
C
23

1
+L
2
S
1
S
2

2
L
2
C
1
C
2

1
)

1
+ (L
3
S
1
S
23

1
L
3
C
1
C
23
(

2
+

3
) +L
2
S
1
S
2

1
L
2
C
1
C
2

2
)

2
] +
C
1
L
2
C
2
+L
3
C
23
[ y ((L
3
S
23
C
1
(

2
+

3
) L
3
S
1
C
23

1
L
2
S
2
C
1

2
L
2
S
1
C
2

1
)

1
+ (L
3
S
1
C
23
(

2
+

3
) L
3
S
23
C
1

1
L
2
S
1
C
2

2
L
2
S
2
C
1

1
)

2
+(L
3
S
1
C
23
(

2
+

3
) L
3
S
23
C
1

1
)

3
)]
(5.93)

2
=
C
1
C
23
L
2
S
3
[ x ((L
3
S
1
S
23
(

2
+

3
) L
3
C
1
C
23

1
L
3
C
1
C
23

1
+L
2
S
1
S
2

2
L
2
C
1
C
2

1
)

1
+L
3
S
1
S
23

1
L
3
C
1
C
23
(

2
+

3
) +L
2
S
1
S
2

1
L
2
C
1
C
2

2
)

2
+ (L
3
S
1
S
23

1
L
3
C
1
C
23
(

2
+

3
))

3
)]
+
S
1
C
23
L
2
S
3
[ y ((L
3
S
23
C
1
(

2
+

3
) L
3
S
1
C
23

1
L
2
S
2
C
1

2
L
2
S
1
C
2

1
)

1
+ (L
3
S
1
C
23
(

2
+

3
)
L
3
S
23
C
1

1
L
2
S
1
C
2

2
L
2
S
2
C
1

1
)

2
+ (L
3
S
1
C
23
(

2
+

3
) L
3
S
23
C
1

1
)

3
)]
S
23
L
2
S
3
[ z
((L
3
S
23
(

2
+

3
) +L
2
S
2

2
+ (L
3
S
23
(

2
+

3
)

3
)]
(5.94)

3
= L
2
C
1
C
2
+L
3
C
1
C
23
[ x ((L
3
S
1
S
23
(

2
+

3
) L
3
C
1
C
23

1
+L
2
S
1
S
2

2
L
2
C
1
C
2

1
)

1
) + (L
3
S
1
S
23

1
L
3
C
1
C
23
(

2
+

3
) +L
2
S
1
S
2

1
L
2
C
1
C
2

2
)

2
+ (L
3
S
1
S
23

1
L
3
C
1
C
23
(

2
+

3
))

3
)]

L
2
S
1
C
2
+L
3
S
1
C
23
L
2
L
3
S
2
[ y ((L
3
S
23
C
1
(

2
+

3
) L
3
S
1
C
23

1
L
2
S
2
C
1

2
L
2
S
1
C
2

1
)

1
+ (L
3
S
1
C
23
(

2
+

3
)
L
3
S
23
C
1

1
L
2
S
1
C
2

2
L
2
S
2
C
1

1
)

2
+ (L
3
S
1
C
23
(

2
+

3
) L
3
S
23
C
1

1
)

3
)]
+
L
2
S
2
+L
3
S
23
L
2
L
3
S
3
[ z ((L
3
S
23
(

2
+

3
) +L
2
S
2

2
)

2
+ (L
3
S
23
(

2
+

3
))

3
)]
(5.95)
122
5.3. Modelo dinamico
Representaci on de la cadena cinematica
El modelo din amico del robot antropom orco en su estructura se dene a continuaci on, dada la representaci on
gr aca de la cadena cinem atica (Figura 5.3), considerando los par ametros din amicos, nos permitir a en forma
auxiliar derivar el MD.
X
Y
Z
Figura 5.3: Cadena cinem atica con par ametros din amicos
La representaci on gr aca sintetica, considerando las variables articulares y coordenadas operacionales es deni-
da en la Figura 5.4.
5.3.1. Obtenci on de los m odulos de velocidad y alturas de centros de masas
Las coordenadas operacionales del eslab on uno son:
x
1
= 0
y
1
= 0
z
1
= L
1
(5.96)
123
Y
X
Z
-
+
Figura 5.4: Descripci on de comportamiento de variables articulares
y sus derivadas con respecto del tiempo:
x
1
= 0
y
1
= 0
z
1
= 0
(5.97)
El m odulo de la velocidad y altura al centro de masas para el eslab on 1 es:
A partir de:
v
2
1
= x
2
1
+ y
2
1
+ z
2
1
(5.98)
Sustituyendo en la ecuaci on se observa que:
v
2
1
= o
2
+o
2
+o
2
Por lo tanto, la velocidad de acuerdo al modelo cinem atico de velocidad es:
v
2
1
= 0 (5.99)
Y la altura para el eslab on 1 es:
h
1
= LCG
1
(5.100)
124
donde:
LCG : longitud al centro de masas.
Las coordenadas operacionales (x
2
, y
2
, z
2
) y sus derivadas respecto del tiempo, para el eslab on 2 son:
x
2
= L
2
C
1
C
2
y
2
=L
2
C
1
C
2
z
2
= L
2
C
2
(5.101)
Sus derivadas con respecto al tiempo
x
2
= L
2
S
1
C
2

1
L
2
S
2
C
1

2
y
2
=L
2
C
1
C
2

1
L
2
S
1
S
2

2
z
2
= L
2
C
2

2
(5.102)
Continuando, el siguiente m odulo es del cuadrado de la velocidad y altura al centro de masas para el eslab on
2 a partir de:
v
2
2
= x
2
2
+ y
2
2
+ z
2
2
(5.103)
Substituyendo en la ecuaci on anterior.
v
2
2
=
_
L
2
S
1
C
2

1
L
2
S
2
C
1

2
_
2
+
_
L
2
C
1
C
2

1
L
2
S
1
S
2

2
_
2
+
_
L
2
C
2

2
_
2
Desarrollando.
v
2
2
= L
2
2
S
2
1
C
2
2

2
1
+ 2L
2
2
S
1
S
2
C
1
C
2

2
+L
2
2
S
2
2
C
2
1

2
2
+L
2
2
C
2
1
C
2
2

2
1
2L
2
2
S
1
S
2
C
1
C
2

2
+L
2
2
S
2
1
S
2
2

2
2
+L
2
2
C
2
2

2
2
v
2
2
= L
2
2
C
2
2

2
1
+L
2
2
S
2
2

2
2
+L
2
2
C
2
2

2
2
v
2
2
= L
2
2
C
2
2

2
1
+L
2
2

2
2
(5.104)
La altura del eslab on 2 se dene en la siguiente ecuaci on.
h
2
= LCG
2
S
2
(5.105)
Las coordenadas operacionales (x
3
, y
3
, z
3
) y sus derivadas respecto del tiempo, para el eslab on 3
son las siguientes:
x
3
= L
2
C
1
C
2
+L
3
C
1
C
23
y
3
= L
2
S
1
C
2
+L
3
S
1
C
23
z
3
= L
2
S
2
+L
3
S
23
(5.106)
125
x
3
= L
2
S
1
C
2

1
L
2
S
2
C
1

2
L
3
S
1
C
23

1
L
3
S
23
C
1
(

2
+

3
)
y
3
= L
2
S
1
S
2

2
+L
2
C
1
C
2

1
+L
3
C
1
C
23

1
L
3
S
1
C
23
(

2
+

3
)
z
3
= L
2
C
2

2
L
3
C
23
(

2
+

3
)
(5.107)
Sustituyendo en la ecuaci on de velocidad del modelo din amico directo de velocidad:
v
2
3
= x
2
3
+ y
2
3
+ z
2
3
v
2
3
=
_
L
2
S
1
C
2

1
L
2
S
2
C
1

2
L
3
S
1
C
23

1
L
3
S
23
C
1
(

2
+

3
)
_
2
+
_
L
2
S
1
S
2

2
+L
2
C
1
C
2

1
+L
3
C
1
C
23

1
L
3
S
1
S
23
(

2
+

3
)
_
2
+
_
L
2
C
2

2
L
3
C
23
(

2
+

3
)
_
2
Simplicando:
v
2
3
= L
2
2

2
2
+L
2
3
(

2
+

3
)
2
+ 2L
2
L
3
C
3

2
(

2
+

3
) + (L
2
C
2

1
+L
3
C
23

1
)
2
(5.108)
La altura del eslab on 3 se dene en la siguiente ecuaci on.
h
3
= L
2
S
2
LCG
3
S
23
(5.109)
5.3.2. Determinaci on de energas cineticas del robot
El c alculo de las energas cineticas para cada uno de los eslabones se presentan a continuaci on, a partir de la
ecuaci on siguiente:
K =
1
2
mv
2
(5.110)
Para el eslab on 1.
K
1
=
1
2
m
1
v
2
1
=
1
2
m
1
(0) = 0
K
1
= 0
(5.111)
Para el eslab on 2.
K
2
=
1
2
m
2
v
2
2
=
1
2
m
2
_
L
2
2
C
2
2

2
1
+L
2
2

2
2
_
K
2
=
1
2
m
2
L
2
2
C
2
2

2
1
+
1
2
m
2
L
2
2

2
2
(5.112)
126
Para el eslab on 3.
K
3
=
1
2
m
3
v
2
3
K
3
=
1
2
m
3
_
L
2
2

2
2
+L
2
3
(

2
+

3
)
2
+ 2L
2
L
3
C
3

2
(

2
+

3
) + (L
2
C
2

1
+L
3
C
23

1
)
2
_
K
3
=
1
2
m
3
L
2
2

2
2
+
1
2
m
3
L
2
3
(

2
+

3
)
2
+m
3
L
2
L
3
C
3

2
(

2
+

3
) +
1
2
m
3
(L
2
C
2

1
+L
3
C
23

1
)
2
(5.113)
5.3.3. Determinaci on de energas potenciales del robot
El c alculo de las energas potenciales para cada uno de los eslabones se presentan a continuaci on, a partir de
la ecuaci on siguiente:
P
i
= m
i
gh
i
(5.114)
Para el eslab on 1
P
1
= m
1
gh
1
= m
1
g {LCG
1
}
P
1
= m
1
gLCG
1
(5.115)
Para el eslab on 2
P
2
= m
2
gh
2
= {LCG
2
S
2
}
P
2
= m
2
gLCG
2
S
2
(5.116)
Para el eslab on 3
P
3
= m
3
gh
3
= m
3
g {L
2
S
2
LCG
3
S
23
}
P
3
= m
3
gL
2
S
2
m
3
gLCG
3
S
23
(5.117)
127
5.3.4. Ecuaciones de movimiento (Lagrangiano)
El lagrangiano est a denido por la siguiente expresi on
L =
n=3

i=1
(Ki Pi) (5.118)
A partir de las energas cineticas y potenciales para el caso de estudio (3 grados de libertad) es:
L = (K
1
+K
2
+K
3
) (P
1
+P
2
+P
3
) (5.119)
Desarrollando dicha ecuaci on se tiene:
L =
1
2
m
2
L
2
2
C
2
2

2
1
+
1
2
m
2
L
2
2
C
2
2

2
2
+
1
2
m
3
L
2
2

2
2
+
1
2
m
3
L
2
3
(

2
+

3
)
2
+m
3
L
2
L
3
C
3

2
(

2
+

3
)
+
1
2
m
3
(L
2
C
2

1
+L
3
C
23

1
)
2
m
1
gLCG
1
+m
2
gLCG
2
S
2
+m
3
gL
2
S
2
+m
3
gLCG
3
S
23
L =
1
2
m
2
L
2
2
C
2
2

2
1
+
1
2
m
2
L
2
2

2
2
+
1
2
m
3
L
2
2

2
2
+
1
2
m
3
L
2
3

2
2
+m
3
L
2
3

3
+
1
2
m
3
L
2
3

2
3
+m
3
L
2
L
3
C
2

2
2
+m
3
L
2
L
3
C
2

3
+
1
2
m
3
L
2
2
C
2
2

2
1
+m
3
L
2
L
3
C
2
C
23

2
1
+
1
2
m
3
L
2
3
C
2
23

2
1
m
1
gLCG
1
+m
2
gLCG
2
S
2
+m
3
gL
2
S
2
+m
3
gLCG
3
S
23
Simplicando y agrupando se obtine la ecuaci on del Lagrangiano para el caso de estudio
L =
_
1
2
m
2
L
2
2
C
2
2
+
1
2
m
3
L
2
2
C
2
2
+m
3
L
2
L
3
C
2
C
23
+
1
2
m
3
L
2
3
C
2
23
_

2
1
+
_
1
2
m
2
L
2
2
+
1
2
m
3
L
2
2
+
1
2
m
3
L
2
3
+m
3
L
2
L
3
C
3
_

2
2
+
_
1
2
m
3
L
2
3
_

2
3
+
_
m
3
L
2
3
+m
3
L
2
L
3
C
3
_

3
m
1
gLCG
1
+m
2
gLCG
2
S
2
+m
3
g {L
2
S
2
+LCG
3
S
23
}
(5.120)
5.3.5. Formulaci on Euler-Lagrange.
Dada la formulaci on de Euler-Lagrange denida por la siguiente expresi on

i
=
d
dt
L

i
(5.121)
Para el caso de estudio obtendremos una ecuaci on de par torsor por cada eslab on del robot, es decir tendremos

1
=
d
dt
L

1
(5.122)

2
=
d
dt
L

2
(5.123)
128

3
=
d
dt
L

3
(5.124)
Obteniendo la ecuaci on 1
Derivando:
Para
L

1
(
1
2
m
2
L
2
2
C
2
2
+
1
2
m
3
L
2
2
C
2
2
+m
3
L
2
L
3
C
2
C
23
+
1
2
m
3
L
2
3
C
2
23
)

2
1
L

1
=
_
m
2
L
2
2
C
2
2
+m
3
L
2
2
C
2
2
+ 2m
3
L
2
L
3
C
2
C
23
+m
3
L
2
3
C
2
23
_

1 (5.125)
L

1
= (m
2
L
2
2
C
2
2

1
+m
3
L
2
2
C
2
2

1
+ 2m
3
L
2
L
3
C
2
C
23

1
+m
3
L
2
3
C
2
23

1
)
Para
d
dt
L

1
d
dt

1
(m
2
L
2
2
C
2
2

1
+m
3
L
2
2
C
2
2

1
+ 2m
3
L
2
L
3
C
2
C
23

1
+m
3
L
2
3
C
2
23

1
)
Derivando la ecuaci on anterior por partes
d
dt
(m
2
L
2
2
C
2
2

1
) = m
2
L
2
2
C
2
2

1
2m
2
L
2
2
S
2

2
d
dt
(m
3
L
2
2
C
2
2

1
) = m
3
L
2
2
C
2
2

1
2m
3
L
2
2
S
2

2
d
dt
(2m
3
L
2
L
3
C
2
C
23

1
) = 2m
3
L
2
L
3
C
2
C
23

1
2m
3
L
2
L
3
C
2
S
23
(

2
+

3
) 2m
3
L
2
L
3
C
23
S
2

2
d
dt
(m
3
L
2
3
C
2
23

1
) = 2m
3
L
2
3
C
23
S
23

2
2m
3
L
2
3
C
23
S
23

3
+m
3
L
3
C
2
23

1
Por lo tanto la ecuaci on
d
dt
L

1
, queda de la siguiente forma:
d
dt

1
= ((m
2
+m
3
)L
2
2
C
2
2
+ 2m
3
L
2
L
3
C
2
C
23
+m
3
L
2
3
C
23
)

1
(2(m
2
+m
3
)L
2
2
S
2
C
2
+2m
3
L
2
L
3
(S
23
C
2
+S
2
C
23
) + 2m
3
L
2
3
S
23
C
23
)

2
(2m
3
L
2
L
3
S
23
C
2
+ 2m
3
L
2
3
S
23
C
23
)

3
(5.126)
y para
L

1
L

1
= 0 (5.127)
129
Sustituyendo las Ecuaciones 5.125, 5.126, 5.127 en la ecuaci on 5.122 para obtener la ecuaci on par torsor 1:

1
=
d
dt
L

1
= ((m
2
+m
3
)L
2
2
C
2
2
+ 2m
3
L
2
L
3
C
2
C
23
+m
3
L
2
3
C
23
)

1
(2(m
2
+m
3
)L
2
2
S
2
C
2
+2m
3
L
2
L
3
(S
23
C
2
+S
2
C
23
) + 2m
3
L
2
3
S
23
C
23
)

2
(2m
3
L
2
L
3
S
23
C
2
+ 2m
3
L
2
3
S
23
C
23
)

3
(5.128)
Obteniendo la ecuaci on 2

2
=
d
dt
L

2
Para
L

2
(
1
2
m
2
L
2
2

2
2
+
1
2
m
3
L
2
2

2
2
+
1
2
m
3
L
2
3

2
2
+m
3
L
2
L
3
C
2

2
2
+m
3
L
2
3

3
+m
3
L
2
L
3
C
2

3
)
L

2
=
_
m
2
L
2
2
+m
3
L
2
2
+m
3
L
2
3
+ 2m
3
L
2
L
3
C
3
_

2
+
_
m
3
L
2
3
+m
3
L
2
L
3
C
3
_

3 (5.129)
Para
d
dt

2
d
dt

2
(m
2
L
2
2

2
+m
3
L
2
2

2
+m
3
L
2
3

2
+ 2m
3
L
2
L
3
C
2

2
+m
3
L
2
3

3
+m
3
L
2
L
3
C
3

3
) =
Derivando la ecuaci on obtenemos
d
dt
L

2
=
_
(m
2
+m
3
)L
2
2
+m
3
L
2
3
+ 2m
3
L
2
L
3
_

2
+
_
m
3
L
2
3
+m
3
L
2
L
3
C
3
_

2
{2m
3
L
2
L
3
S
3
}

3
{m
3
L
2
L
3
S
3
}

3
(5.130)
Para
L

2
L

2
=
_
(m
2
+m
3
)L
2
2
S
2
C
2
m
3
L
3
L
2
(C
2
S
23
+S
2
C
23
) m
3
L
2
3
C
23
S
23
_

2
1
+m
2
gLCG
2
C
2
+m
3
g {L
2
C
2
+LCG
3
C
3
}

2
(5.131)
130
La ecuaci on de par torsor 2 es:

2
=
_
(m
2
+m
3
)L
2
2
+m
3
L
2
3
+ 2m
3
L
2
L
3
C
3
_

2
+
_
m
3
L
2
3
+m
3
L
2
L
3
C
3
_

{2m
3
L
2
L
3
S
3
}

3
+
_
(m
2
+m
3
)L
2
2
S
2
C
2
+m
3
L
2
L
3
(C
2
S
23
+C
23
S
2
) +m
3
L
2
3
C
23
S
23
_

2
1

_
m
3
L
2
3
C
23
S
23
_

2
3
+m
2
gLCG
2
C
2
+m
3
g {L
2
C
2
+LCG
3
C
23
}
(5.132)
Obteniendo la ecuaci on 3
T
3
=
d
dt
L

3
L

3
=
_
m
3
L
2
3
_

3
+
_
m
3
L
2
3
+m
3
L
2
L
3
C
3
_

2 (5.133)
d
dt
L

3
=
_
m
3
L
2
3
_

3
+
_
m
3
L
2
3
+m
3
L
2
L
3
C
3
_

2
{m
3
L
2
L
3
S
3

3
}

2 (5.134)

3
=
_
m
3
L
2
L
3
C
2
S
23
+m
3
L
2
3
S
23
C
2
23
_

1
{m
3
L
2
L
3
S
3
}

2
{m
3
L
2
L
3
S
3
}

2
2

3
+m
3
gL
C
G3C
23 (5.135)
la ecuaci on de par torsor 3 es:
T
3
=
_
m
3
L
2
3
+m
3
L
2
L
3
C
3
_

2

_
m
3
L
2
3
_

3
+
_
m
3
L
2
L
3
C
2
S
23
+m
3
L
2
3
S
23
C
23
_

2
1
+{m
3
L
2
L
3
S
3
}

2
2
+m
3
gL
C
G3C
23
(5.136)
5.3.6. Representaci on matricial del MD.
La representaci on matricial del modelo din amico se basa en la siguiente expresi on
T = H (q) q +C (q, q) q +G(q) +F ( q) (5.137)
Donde (Ver Cuadro 5.2):
Matriz de inercia
H (q) =
_

_
H
11
H
12
H
13
H
21
H
22
H
23
H
31
H
32
H
33
_

_
(5.138)
131
Funci on Descripci on
H (q) q Matriz de inercia
C (q, q) q Matriz de coriolis y centrpetas
G(q) Vector de fuerzas gravitatorias
F ( q) Vector de fuerzas de fricci on seca y viscosa
Cuadro 5.2: Descripci on de las funciones de la representaci on matricial del modelo din amico
Los elementos de la matriz de inercia son
H
11
= (m
2
+m
3
) L
2
2
C
2
2
+ 2m
3
L
2
L
3
C
2
C
23
+m
3
L
2
3
C
2
23
H
12
= 0
H
13
= 0
H
21
= 0
H
22
= (m
2
+m
3
) L
2
2
+m
3
L
2
2
+ 2m
3
L
2
L
3
C
2
H
23
= m
3
L
2
3
+m
3
L
2
L
3
C
3
H
31
= 0
H
32
= m
3
L
2
3
+m
3
L
2
L
3
C
3
H
33
= m
3
L
2
3
(5.139)
La matriz de fuerzas de coriolis y centrpetas, as como sus elementos se denen a continuaci on
C (q, q) =
_

_
C
11
C
12
C
13
C
21
C
22
C
23
C
31
C
32
C
33
_

_
(5.140)
En donde:
C
11
= 0
C
12
=
_
2(m
2
+m
3
)L
2
2
S
2
C
2
+ 2m
3
L
2
L
3
(S
23
C
2
+S
2
C
23
) + 2m
3
L
2
3
S
23
C
23
_

1
C
13
=
_
2m
3
L
2
L
3
s
23
c
2
+ 2m
3
L
2
3
s
23
c
23
_

1
C
21
=
_
(m
2
+m
3
)L
2
2
S
2
C
2
+m
3
L
2
L
3
(S
23
C
2
+S
2
C
23
) +m
3
L
2
3
S
23
C
23
_
C
22
= {2m
3
L
2
L
3
s
3
}

3
C
23
= {m
3
L
2
L
3
S
3
}

3
C
31
=
_
m
3
L
2
L
3
S
23
C
2
+m
3
L
2
3
S
23
C
23
_

1
C
32
= {m
3
L
2
L
3
S
3
}

2
C
33
= 0
(5.141)
132
El vector de fuerzas gravitatorias se dene a continuaci on
G(q) =
_

_
G
11
G
21
G
31
_

_
(5.142)
y sus elementos son:
G
11
= 0
G
21
= m
2
L
CG2
C
2
m
3
{L
2
C
2
L
CG3
C
23
}
G
31
= m
3
L
CG3
C
23
(5.143)
El MD descrito en la ecuaci on 5.137 ha tomado en cuenta la fricci on viscosa y seca, este vector fue denido
como F ( q) el cual es la suma del vector de fricci on seca y el vector de fricci on viscosa que a continuaci on se
describe:
F ( q) = Fv ( q) +Fs ( q) (5.144)
en donde (ver Cuadro 5.3):
Vector Descripci on
Fv ( q) Fricci on viscosa
Fs ( q) Fricci on seca
Cuadro 5.3: Descripci on de los vectores de fricci on.
Fv ( q) se describe a continuaci on
Fv ( q) =
_

_
Fv
1
( q)
Fv
2
( q)
Fv
3
( q)
_

_
=
_

_
b
1

1
b
2

2
b
2

2
_

_
(5.145)
en donde
b
i
: es el coeciente de cci on viscosa o rozamiento din amico.

1
: es la velocidad angular.
133
Fs ( q) se describe a continuaci on
Fs ( q) =
_

_
Fs
1
( q)
Fs
2
( q)
Fs
3
( q)
_

_
=
_

_
K
1
sgn
_

1
_
K
2
sgn
_

2
_
K
2
sgn
_

3
_
_

_
=
_

_
K
1
tanh
_

1
_
K
2
tanh
_

2
_
K
2
tanh
_

3
_
_

_
(5.146)
en donde
K
i
: es el coeciente de fricci on seca que depende del grado de lubricaci on de la articulaci on.
sgn(.): es la funci on signo

i
: es la velocidad angular.
5.3.7. Propiedades dinamicas
Las propiedades del modelo din amico son:
1. Simetra de la matriz de inercia
H (q) = H (q)
T
(5.147)
H (q)
T
=
_

_
H
11
H
21
H
31
H
12
H
22
H
32
H
13
H
23
H
33
_

_
=
_

_
H
11
H
12
H
13
H
21
H
22
H
23
H
31
H
32
H
33
_

_
(5.148)
2. La matriz de inercia es denida positiva
det {H (q)} > 0 (5.149)
3. Matriz antisimetrica
y
T
_

H (q) 2C (q, q)
_
y

= 0 (5.150)
134
Elemento Descripci on
y y
31
cualquier vector y
y
T
Transpuesta del vector y

H (q) Derivada de la matriz de inercia


C (q, q) Matriz de fuerzas de coriolis y centrpetas
Cuadro 5.4: Descripci on de los elementos de la matriz asimetrica.
5.4. Control
5.4.1. Control PD
La simulaci on digital en MatLab, consiste en desarrollar el seguimiento de una trayectoria en el espacio opera-
cional del robot virtual, la cinem atica y din amica esta expuesta en el capitulo 5 secci on 2 y 3 respectivamente,
las trayectorias deseadas de posici on son 5.151 y 5.152:
x(t) = h +r cos (wt) (5.151)
y (t) = k +rsen(wt) (5.152)
Donde:
w = 0,4
h = 0,3
k = 0,2
r = 0,1
Para dicha simulaci on se asume que el dispositivo (robot virtual ) parte de un estado de reposo con una
condici on inicial de posici on, que esta denida en:
q
1
= 45

q
2
= 45

q
3
= 45

las ganancias del control son:


kp = [144, 0, 0; 0, 144, 0; 0, 0, 144]
kd = [24, 0, 0; 0, 24, 0; 0, 0, 24]
Los resultados de las simulaciones en MatLab del control PD se presentan en una serie de de gracas que a
continuaci on se describen:
En la Figura 5.5 se puede observar los valores del angulo de la primera articulaci on al efectuar la tarea de
seguimiento, adem as se puede ver que al inicio de la simulaci on dicha articulaci on trata de alcanzar los valores
deseados logr andolo en menos de 1 seg. Y en el resto de la simulaci on los valores obtenidos por el robot son
aproximados a los valores deseados.
135
0 1 2 3 4 5 6
0.2
0.3
0.4
0.5
0.6
0.7
0.8
"Control PD" Coordenada Generalizada q1 y qd1 (Real y Deseada)
t
q
1

q
d
1
q1
qd1
Figura 5.5: Control PD. Coordenada General-
izada q1 y qd1 (Real y Deseada).
0 1 2 3 4 5 6
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
"Control PD" Coordenada Generalizada q2 y qd2 (Real y Deseada)
t
q
2

q
d
2
q2
qd2
Figura 5.6: Control PD. Coordenada General-
izada q2 y qd2 (Real y Deseada).
0 1 2 3 4 5 6
1
0.5
0
0.5
1
1.5
2
2.5
"Control PD" Coordenada Generalizada q3 y qd3 (Real y Deseada)
t
q
3

q
d
3
q3
qd3
Figura 5.7: Control PD. Coordenada General-
izada q3 y qd3 (Real y Deseada).
0 1 2 3 4 5 6
0
0.1
0.2
0.3
0.4
0.5
"Control PD" Coordenada Operacional X y px (Real y Deseada)
t
X

p
x
X
px
Figura 5.8: Control PD. Coordenada Opera-
cional X y px (Real y Deseada).
Los valores del angulo de la segunda articulaci on se pueden apreciar en la Figura 5.6, se logra notar que la
gr aca de los valores deseados y los valores obtenidos por el robot est an desfasadas durante toda la simulaci on,
los se traduce en un error.
Para la tercera articulaci on los valores del angulo se pueden observar en la Figura 5.7, los valores obtenidos
por la simulaci on se aproximan a los valores deseados en casi 1 seg. Y estos se mantienen semejantes el resto de
la simulaci on.
As como se presentan los angulos de las articulaciones, tambien se muestran los valores de posici on del efector
nal durante la simulaci on con respecto a los ejes cartesianos (x, y y z).
En la Figura 5.8, se pueden observar los valores que se obtuvieron en dicha simulaci on para el eje x, n otese que
en la mayor parte de la simulaci on los valores obtenidos por el robot son aproximadamente iguales a los valores
deseados.
136
Para el eje y, los valores obtenidos por el robot presentan una oscilaci on antes de alcanzar los valores deseados,
una vez que estos son aproximadamente iguales se mantiene esta condici on en el resto de la simulaci on (Ver Figura
5.9).
Debido a que el robot parte de una condici on inicial, se puede apreciar que los valores obtenidos por este en la
simulaci on alcanza los valores deseados que en toda la simulaci on son igual a cero (Figura 5.10).
0 1 2 3 4 5 6
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
"Control PD" Coordenada Operacional Y y py (Real y Deseada)
t
Y

p
y
Y
py
Figura 5.9: Control PD. Coordenada Opera-
cional Y y py (Real y Deseada).
0 1 2 3 4 5 6
0.2
0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
"Control PD" Coordenada Operacional Z y pz (Real y Deseada)
t
Z

p
z
Z
pz
Figura 5.10: Control PD. Coordenada Opera-
cional Z y pz (Real y Deseada).
Las trayectorias deseada y obtenida por el robot se pueden apreciar en la Figura 5.11 en donde se nota la
semejanza entre ellas.
0.15 0.2 0.25 0.3 0.35 0.4 0.45
0.05
0.1
0.15
0.2
0.25
0.3
"Control PD" Espacio operacional: (X vs Y) y (px vs py) (Real y Deseado)
Xpx
Y

p
y
Figura 5.11: Control PD. Espacio operacional:
(X vs Y) y (px vs py) (Real y Deseado).
Figura 5.12: Control PD. Error Articular 1
(eq1).
137
Como se menciona anteriormente en la segunda articulaci on se aprecia un error (Figura 5.6). Dicho error se
muestra de manera gr aca en la Figura 5.13 y dicho error es menor a 0.1.
La gr aca para el error de articulaci on 3 muestra que en la mayor parte de la simulaci on dicho error es 0
(Figura 5.14).
0 1 2 3 4 5 6
0.1
0
0.1
0.2
0.3
0.4
"Control PD" Error Articular 2 (eq2)
eq2
t
Figura 5.13: Control PD. Error Articular 2
(eq2).
0 1 2 3 4 5 6
0.5
0
0.5
1
1.5
2
2.5
"Control PD" Error Articular 3 (eq3)
eq3
t
Figura 5.14: Control PD. Error Articular 3
(eq3).
Los errores operacionales en los tres ejes cartesianos son valores muy pr oximos a 0 (Figuras 5.15,5.16, 5.17).
0 1 2 3 4 5 6
0.1
0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
"Control PD" Error Operacional Ex=pxX
Ex=pxX
t
Figura 5.15: Control PD. Error Operacional
Ex=px-X.
0 1 2 3 4 5 6
0.1
0.08
0.06
0.04
0.02
0
0.02
0.04
0.06
0.08
0.1
"Control PD" Error Operacional Ey=pyY
Ey=pyY
t
Figura 5.16: Control PD. Error Operacional
Ey=py-Y.
138
0 1 2 3 4 5 6
0.5
0.4
0.3
0.2
0.1
0
0.1
"Control PD" Error Operacional Ez=pzZ
Ez=pzZ
t
Figura 5.17: Control PD. Error Operacional
Ez=pz-Z.
5.4.2. Control PID
La simulaci on digital en MatLab, consiste en desarrollar el seguimiento de una trayectoria en el espacio opera-
cional del robot virtual, la cinem atica y din amica est a expuesta en el Captulo 5 secci on 2 y 3 respectivamente,
las trayectorias deseadas de posici on son 5.151 y 5.152:
x(t) = h +r cos (wt)
y (t) = k +rsen(wt)
Donde:
w = 0,4
h = 0,3
k = 0,2
r = 0,1
Para dicha simulaci on se asume que el dispositivo (robot virtual ) parte de un estado de reposo con una
condici on inicial de posici on, que esta denida en:
q
1
= 45

q
2
= 45

q
3
= 45

las ganancias del control son:


kp = [196, 0, 0; 0, 196, 0; 0, 0, 196]
kd = [28, 0, 0; 0, 28, 0; 0, 0, 28]
139
ki = [2, 0, 0; 0, 16, 0; 0, 0, 2] /200
Los resultados de las simulaciones en Matlab del control PID se presentan en una serie de de gracas que a
continuaci on se describen:
Los valores del angulo de la primera articulaci on se pueden observar en la Figura 5.18, dado que el robot parte
de una condici on inicial se puede ver como intenta alcanzar los valores deseados, y una vez que alcanza estos
valores se mantienen aproximadamente iguales en el resto de la simulaci on.
Para la segunda articulaci on los valores del angulo de dicha articulaci on se pueden observar en la Figura 5.19,
as como en el control PD se observa un error (Figura 5.6) en el control PID tambien se nota, con la diferencia
de que en este ultimo es menor.
0 1 2 3 4 5 6
0.2
0.3
0.4
0.5
0.6
0.7
0.8
"Control PID" Coordenada Generalizada q1 y qd1 (Real y Deseada)
t
q
1

q
d
1
q1
qd1
Figura 5.18: Control PID, Coordenada General-
izada q1 y qd1 (Real y Deseada).
0 1 2 3 4 5 6
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
"Control PID" Coordenada Generalizada q2 y qd2 (Real y Deseada)
t
q
2

q
d
2
q2
qd2
Figura 5.19: Control PID, Coordenada General-
izada q2 y qd2 (Real y Deseada).
Los valores del angulo de la tercera articulaci on se aprecian en la Figura 5.20, los valores obtenidos por el robot
en la simulaci on se aproximan a los valores deseados en casi 1 seg. Y estos se mantienen semejantes el resto de la
simulaci on.
De igual forma se presentan los valores de posici on del efector nal durante la simulaci on de la tarea de
seguimiento, con respecto a los ejes x, y y z.
140
En la Figura 5.21, se pueden observar los valores que se obtuvieron en la simulaci on para el eje x, n otese que
en la mayor parte de la simulaci on los valores obtenidos por el robot son aproximadamente iguales a los valores
deseados, solo dieren al principio de la simulaci on debido a la condici on inicial del robot y es por eso que se
aprecia una peque na oscilaci on.
0 1 2 3 4 5 6
1
0.5
0
0.5
1
1.5
2
2.5
"Control PID" Coordenada Generalizada q3 y qd3 (Real y Deseada)
t
q
3

q
d
3
q3
qd3
Figura 5.20: Control PID, Coordenada General-
izada q3 y qd3 (Real y Deseada).
0 1 2 3 4 5 6
0
0.1
0.2
0.3
0.4
0.5
"Control PID" Coordenada Operacional X y px (Real y Deseada)
t
X

p
x
X
px
Figura 5.21: Control PID, Coordenada Opera-
cional X y px (Real y Deseada).
Para el eje y, los valores obtenidos por el robot presentan una oscilaci on antes de alcanzar los valores deseados,
una vez que estos son aproximadamente iguales se mantiene esta condici on en el resto de la simulaci on (Ver Figura
5.22).
Debido a que el robot parte de una condici on inicial, se puede apreciar que los valores obtenidos por este en la
simulaci on alcanza los valores deseados que en toda la simulaci on son igual a cero (Figura 5.23).
0 1 2 3 4 5 6
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
"Control PID" Coordenada Operacional Y y py (Real y Deseada)
t
Y

p
y
Y
py
Figura 5.22: Control PID, Coordenada Opera-
cional Y y py (Real y Deseada).
0 1 2 3 4 5 6
0.2
0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
"Control PID" Coordenada Operacional Z y pz (Real y Deseada)
t
Z

p
z
Z
pz
Figura 5.23: Control PID, Coordenada Opera-
cional Z y pz (Real y Deseada).
141
Las trayectorias deseada y obtenida por el robot se pueden apreciar en la gura 5.24 en donde se nota la
semejanza entre ellas.
0.15 0.2 0.25 0.3 0.35 0.4 0.45
0.05
0.1
0.15
0.2
0.25
0.3
"Control PID" Espacio operacional: (X vs Y) y (px vs py) (Real y Deseado)
Xpx
Y

p
y
Figura 5.24: Control PID, Espacio operacional
(X vs Y) y (px vs py)(Real y Deseado).
0 1 2 3 4 5 6
0.5
0.4
0.3
0.2
0.1
0
0.1
"Control PID" Error Articular 1 (eq1)
eq1
t
Figura 5.25: Control PID, Error Articular 1
(eq1)
Como se menciona anteriormente en la segunda articulaci on se aprecia un error (Figura 5.19). Dicho error se
muestra de manera gr aca en la Figura 5.26 y dicho error es menor al que se observa en el control PD.
La gr aca para el error de articulaci on 3 muestra que en la mayor parte de la simulaci on dicho error es 0
(Figura 5.27).
0 1 2 3 4 5 6
0.1
0
0.1
0.2
0.3
0.4
"Control PID" Error Articular 2 (eq2)
eq2
t
Figura 5.26: Control PID, Error Articular 2
(eq2)
0 1 2 3 4 5 6
0.5
0
0.5
1
1.5
2
2.5
"Control PID" Error Articular 3 (eq3)
eq3
t
Figura 5.27: Control PID, Error Articular 3
(eq3)
142
Los errores operacionales en los tres ejes cartesianos son valores muy pr oximos a 0 (Figuras 5.28,5.29, 5.30).
0 1 2 3 4 5 6
0.1
0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
"Control PID" Error Operacional Ex=pxX
Ex=pxX
t
Figura 5.28: Control PID, Error Operacional
(Ex= px - X)
0 1 2 3 4 5 6
0.1
0.08
0.06
0.04
0.02
0
0.02
0.04
0.06
0.08
0.1
"Control PID" Error Operacional Ey=pyY
Ey=pyY
t
Figura 5.29: Control PID, Error Operacional
(Ey= py - Y)
0 1 2 3 4 5 6
0.5
0.4
0.3
0.2
0.1
0
0.1
"Control PID" Error Operacional Ez=pzZ
Ez=pzZ
t
Figura 5.30: Control PID, Error Operacional
(Ez= pz - Z)
143
5.4.3. PIDNL
La simulaci on digital en MatLab, consiste en desarrollar el seguimiento de una trayectoria en el espacio opera-
cional del robot virtual, la cinem atica y din amica est a expuesta en el Captulo 5 secci on 2 y 3 respectivamente,
las trayectorias deseadas de posici on son 5.151 y 5.152:
x(t) = h +r cos (wt)
y (t) = k +rsen(wt)
Donde:
w = 0,4
h = 0,3
k = 0,2
r = 0,1
Para dicha simulaci on se asume que el dispositivo (robot virtual ) parte de un estado de reposo con una
condici on inicial de posici on, que est a denida en:
q
1
= 45

q
2
= 45

q
3
= 45

las ganancias del control son


kp = [121, 0, 0; 0, 100, 0; 0, 0, 100]
kd = [22, 0, 0; 0, 20, 0; 0, 0, 20]
ki =
kp kd
/
10
En la Figura 5.31 se puede observar el desempe no de la coordenada generalizada q1 aplicando un control
PIDNL, adem as de poder realizar una comparaci on con respecto a los valores deseados de la misma (qd1), se
puede distinguir que existe un error ya que q1 se encuentra desplazada ligeramente con respecto de qd1, n otese
que no existen oscilaciones al tratar de alcanzar el valor deseado por parte de q1.
En la Figura 5.32 se puede apreciar los valores obtenidos durante el desarrollo de la simulaci on, as como
en la gr aca anterior se comparan los valores del robot virtual con los valores deseados para esta coordenada
generalizada q2, se puede notar que en el intervalo de tiempo de 0 a 0.5 existen oscilaciones de q2 al tratar de
lograr los valores deseados, en el intervalo de tiempo de 0.5 a 3 y de 4.5 a 7 se distingue un desplazamiento de
q2 con respecto a qd2, lo que se interpreta como un error, en el intervalo de tiempo de 3 a 4.5 el error se reduce
signicativamente y se puede decir que en este intervalo las gr acas son iguales.
144
0 1 2 3 4 5 6 7
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Coordenada Generalizada q1 y qd1 (Real y Deseada)
t
q
1

q
d
1
q1
qd1
Figura 5.31: Control PIDNL,Coordenada Gene-
realizada q1 y qd1 (Real y Deseada).
0 1 2 3 4 5 6 7
0.85
0.8
0.75
0.7
0.65
0.6
0.55
0.5
0.45
0.4
Coordenada Generalizada q2 y qd2 (Real y Deseada)
t
q
2

q
d
2
q2
qd2
Figura 5.32: Control PIDNL, Coordenada Gen-
eralizada q2 y qd3 (Real y Deseada).
Como se ha mencionado en este trabajo de tesis, el robot virtual consta de 3 grados de libertad por lo cual se
tiene otro coordenada generalizada q3, en la Figura 5.33 se muestra la gr aca de esta coordenada y los valores
deseados para la misma al igual que en la coordenadas anteriores existe un valor entre los valores obtenidos y los
deseados.
La trayectoria deseada es una circunferencia la cual se muestra en la Figura 5.34, adem as en esta gura se
puede observar la trayectoria desarrollada por el robot virtual desde el punto de partida hasta el momento en el
que se termina el trazo de la trayectoria.
0 1 2 3 4 5 6 7
1
0.5
0
0.5
1
1.5
2
2.5
Coordenada Generalizada q3 y qd3 (Real y Deseada)
t
q
3

q
d
3
q3
qd3
Figura 5.33: Control PIDNL, Coordenada Gen-
eralizada q3 y qd3 (Real y Deseada).
0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
0.1
0.15
0.2
0.25
0.3
0.35
Trayectorias en el espacio operacional: (X vs Y) y (px vs py) (Real y Deseado)
Xpx
Y

p
y
Figura 5.34: Control PIDNL, Treayectorias en
el espacio oparacional: (x,y) y (px,py), (Real y
Deseada).
Como se ha mencionado anteriormente en las coordenadas generalizadas existen errores, que se pueden observar
en la Figura 5.35, estos errores son muy peque nos y tienden a cero como se muestra.
145
0 1 2 3 4 5 6 7
20
15
10
5
0
5
Error extendido S
t
s
1
,
s
2
,
s
3
s1
s2
s3
Figura 5.35: Control PIDNL, Error extendido S.
5.4.4. Control adaptable pasivo robusto
A continuaci on se efect ua la parametrizaci on del modelo din amico despreciando la fricci on, aprovechando la
propiedad T = Y .
Donde:
Y : Representa a un regresor lineal que depende de posici on y velocidad articular.
: Representa un vector de par ametros y que depende de las masas y longitudes de los eslabones.
Haciendo = q (variable articular para evitar confusi on con vector ).
Para la ecuaci on 1:
T
1
= ((m
2
+m
3
)L
2
2
. .

1
C
2
2
+ 2m
3
L
2
L
3
. .

2
C
2
C
23
+m
3
L
2
3
. .

3
C
23
) q
1
(2 (m
2
+m
3
)L
2
2
. .

1
S
2
C
2
+ 2 m
3
L
2
L
3
. .

2
(S
23
C
2
+S
2
C
23
) + 2 m
3
L
2
3
. .

3
S
23
C
23
) q
1
q
2
(2 m
3
L
2
L
3
. .

2
S
23
C
2
+ 2 m
3
L
2
3
. .

3
S
23
C
23
) q
1
q
3
(5.153)
Para la ecuaci on 2:
T
2
= ((m
2
+m
3
)L
2
2
. .

1
+m
3
L
2
3
. .

3
+2m
3
L
2
L
3
. .

2
C
3
) q
2
+ ((m
3
L
2
3
. .

3
+m
3
L
2
L
3
. .

2
C
23
) q
3
(2 m
3
L
2
L
3
. .

2
S
3
) q
2
q
3
+(m
2
+m
3
L
2
2
. .

1
S
2
C
2
+m
3
L
2
L
3
. .

2
(C
2
S
23
+C
23
S
2
) +m
3
L
2
3
. .

3
S
23
C
23
) q
2
1
(m
3
L
2
L
3
. .

2
S
3
) q
2
3
(m
2
LCG
2
+m
3
L
2
. .

4
)gC
2
(m
3
LCG
3
. .

5
)gC
23
(5.154)
146
Para la ecuaci on 3:
T
3
= (m
3
L
2
3
. .

3
+m
3
L
2
L
3
. .

2
C
3
) q
2
+ (m
3
L
2
3
. .

3
) q
3
+ (m
3
L
2
L
3
. .

2
S
3
C
2
+m
3
L
2
3
. .

3
S
23
C
23
) q
2
1
+ (m
3
L
2
L
3
. .

2
S
3
) q
2
2
(m
3
LCG
3
. .

5
)gC
23
(5.155)
Expresando el modelo din amico en terminos de los par ametros
1
,
2
,
3
,
4
y
5
, donde su equivalencia en
funci on de masas y longitudes del robot se especican posteriormente.
Ecuaci on 1:
T
1
= (
1
C
2
2
+
2
C
2
C
23
+
3
C
2
23
) q
1
(2
1
S
2
C
2
+ 2
2
(S
23
C
2
+S
2
C
23
) + 2
3
S
23
C
23
) q
1
q
2
(2
2
S
23
C
2
+ 2
3
S
23
C
23
) q
1
q
3
Desarrollando la ecuaci on
T
1
=
1
C
2
2
q
1
+
2
C
2
C
23
q
1
+
3
C
2
23
q
1
2
1
S
2
C
2
q
1
q
2
2
2
q
1
q
2
(S
23
C
2
+S
2
C
23
)
+2
3
S
23
C
23
q
1
q
2
2
2
S
23
C
2
q
1
q
3
2
3
S
23
C
23
q
1
q
3
Factorizando
T
1
=
1
(C
2
2
q
1
2S
2
C
2
q
1
q
2
) +
2
(2C
2
C
23
q
1
2(S
23
C
2
+S
2
C
23
) q
1
q
2
2S
23
C
2
q
1
q
3
)
+
3
(C
2
23
q
1
2S
23
C
23
q
1
q
2
2S
23
C
23
q
1
q
3
)
(5.156)
Ecuaci on 2:
T
2
= (
1
+
3
+ 2
2
C
3
) q
2
+ (
3
+
2
C
3
) q
3
(2
2
S
3
) q
2
q
3
+ (
1
S
2
C
2
+
2
(C
2
S
23
+C
23
S
2
)
+
3
S
23
C
23
) q
2
1
(
2
S
3
) q
2
3

4
gC
2

5
gC
23
Desarrollando:
T
2
=
1
q
2
+
3
q
2
+ 2
2
C
3
q
2
+
3
q
3
+
2
C
3
q
3
2
2
S
3
q
2
q
3
+
1
S
2
C
2
q
2
1
+
2
(C
2
S
23
+C
23
S
2
) q
2
1
+
3
S
23
C
23
) q
2
1

2
S
3
q
2
3

4
gC
2

5
gC
23
147
Factorizando:
T
2
=
1
( q
2
S
2
C
2
q
2
1
) +
2
(2C
3
q
2
+C
3
q
3
2S
3
q
2
q
3
+ (S
23
C
2
+C
23
S
2
) q
2
1
S
3
q
2
3
) +
3
( q
2
+ q
3
+S
23
C
23
q
2
1
) +
4
(gC
2
)
5
(gC
23
)
(5.157)
Ecuaci on 3:
T
3
= (
3
+
2
C
3
) q
2
+ (
3
) q
3
+ (
2
S
23
C
2
+
3
S
23
C
23
) q
2
1
+ (
2
S
3
) q
2
3
(
5
)gC
23
Desarrollando
T
3
=
3
q
2
+
2
C
3
q
2
+
3
q
3
+
2
S
23
C
2
q
2
1
+
3
S
23
C
23
q
2
1
+
2
S
3
q
2
3

5
gC
23
Factorizando
T
3
=
2
(C
3
q
2
+S
23
C
2
q
2
1
+S
3
q
2
2
) +
3
( q
2
+ q
3
+S
23
C
23
q
2
1
) +
5
(gC
23
) (5.158)
La representaci on matricial, equivalente del modelo din amico es:
_

_
T
1
T
2
T
3
_

_
31
=
_

_
Y
1
(q, q, q)
Y
2
(q, q, q)
Y
3
(q, q, q)
_

_
35

5
_

_
51
(5.159)
Donde:

1
= (m
2
+m
3
)L
2
2

2
= m
3
L
2
L
3

3
= m
3
L
2
3

4
= m
2
LCG
2
+m
3
L
2

5
= m
3
LCG
3
148
La representaci on matricial es la siguiente:
T =
_

_
Y
11
Y
12
Y
13
Y
14
Y
15
Y
21
Y
22
Y
23
Y
24
Y
25
Y
31
Y
32
Y
33
Y
34
Y
35
_

5
_

_
(5.160)
T = Y (q, q, q) (5.161)
Donde:
Y (q, q, q) : regresor
: vector de Par ametros.
Tambien donde:
Y
11
= C
2
2
q
1
2S
2
C
2
q
1
q
2
(5.162)
Y
12
= 2C
2
C
23
q
1
2(S
23
C
2
+S
2
C
23
) q
1
q
2
2S
2
C
2
q
1
q
3
(5.163)
Y
13
= 2C
2
23
q
1
2S
23
C
23
q
1
q
2
2S
23
C
23
q
1
q
3
(5.164)
Y
14
= 0 (5.165)
Y
15
= 0 (5.166)
Y
21
= q
2
+S
2
C
2
q
2
1
(5.167)
Y
22
= 2C
3
q
2
+C
3
q
3
2S
3
q
2
q
3
+ (S
23
C
2
+S
2
C
23
) q
2
1
S
3
q
2
3
(5.168)
Y
23
= q
2
+ q
3
+S
23
C
23
q
2
1
(5.169)
149
Y
24
= gC
2
(5.170)
Y
25
= gC
23
(5.171)
Y
13
= 0 (5.172)
Y
32
= C
3
q
2
+S
23
C
2
q
2
1
+S
3
q
2
2
(5.173)
Y
33
= q
2
+ q
3
+S
23
C
23
q
2
1
(5.174)
Y
34
= 0 (5.175)
Y
35
= gC
23
(5.176)
Parametrizaci on lineal del modelo dinamico
Tomando en cuenta la fricci on tenemos:
H(q) q +C(q, q) q +G(q) +F(q) = T
Y (q, q, q)

= T
H(q) q +C(q, q) q +G(q) +F(q) = Y

(5.177)
Entonces tenemos el modelo din amico con fricci on a continuaci on:
Ecuaci on 1:
T
1
= ((m
2
+m
3
)L
2
2
. .

1
C
2
2
+ 2 m
3
L
2
L
3
. .

2
C
2
C
23
+m
3
L
2
3
. .

3
C
2
23
)

1
(2 (m
2
+m
3
)L
2
2
. .

1
S
2
C
2
+2 m
3
L
2
L
3
. .

2
(S
23
C
2
+S
2
C
23
) + 2 m
3
L
2
3
. .

3
S
23
C
23
)

2
(2m
3
L
2
L
3
. .

2
S
23
C
2
+2 m
3
L
2
3
. .

3
S
23
C
23
)

3
+b
1

1
..

4
+tanh (,

1
)
. .

5
(5.178)
150
Ecuaci on 2:
T
2
= ((m
2
+m
3
)L
2
2
. .

1
+m
3
L
2
3
. .

3
+2 m
3
L
2
L
3
. .

2
C
3
)

2
+ (m
3
L
2
3
. .

3
+m
3
L
2
L
3
. .

2
C
3
)

3
(2m
3
L
2
L
3
. .

2
S
3
)

3
+ ((m
2
+m
3
)L
2
2
. .

1
S
2
C
2
+m
3
L
2
L
3
. .

2
(C
2
S
23
+C
23
S
2
)
+m
3
L
2
3
C
23
. .

3
S
23
)

2
1
(m
3
L
2
L
3
. .

2
S
3
)

2
3
(m
2
LCG
2
+m
3
L
2
. .

6
)gC
2
m
3
gLCG
3
C
23
. .

7
+b
2

2
..

8
+tanh (,

2
)
. .

9
(5.179)
Ecuaci on 3:
T
3
= (m
3
L
2
3
. .

3
+m
3
L
2
L
3
. .

2
C
3
)

2
+ (m
3
L
2
3
. .

3
)

3
+ (m
3
L
2
L
3
. .

2
C
2
S
23
+m
3
L
2
3
C
23
S
23
)

2
1
+(m
3
L
2
L
3
S
3
. .

2
)

2
2
m
3
LCG
3
C
23
. .

7
+b
3

3
..

10
+tanh(,

3
)
(5.180)
Expresando el modelo din amico en terminos de los par ametros :
Ecuaci on 1:
T
1
= (
1
C
2
2
+ 2
2
C
2
C
23
+
3
C
23
) q
1
(2
1
S
2
C
2
+ 2
2
(S
23
C
2
+S
2
C
23
) + 2
3
S
23
C
23
) q
1
q
2
(2
2
S
23
C
2
+ 2
3
S
23
C
23
) q
1
q
3
+ (
4
) q
1
+K
1
tanh(
5
q
1
)
Desarrollando
T
1
=
1
C
2
2
q
1
+ 2
2
C
2
C
23
q
1
+
3
C
23
q
1
2
1
S
2
C
2
q
1
q
2
2
2
q
1
q
2
(S
23
C
2
+S
2
C
23
) + 2
3
S
23
C
23
q
1
q
2
(2
2
S
23
C
2
q
1
q
3
2
3
S
23
C
23
q
1
q
3
+
4
q
1
+K
1
tanh(
5
q
1
)
Factorizando :
T
1
=
1
(C
2
2
q
1
2S
2
C
2
q
1
q
2
) +
2
(2C
2
C
23
q
1
2 q
1
q
2
(S
23
C
2
+S
2
C
23
) 2S
23
C
2
q
1
q
2
) +
3
(C
2
23
q
1
+2S
23
C
23
q
1
q
2
2S
23
C
23
q
1
q
3
+
4
q
1
+K
1
tanh(
5
q
1
)
(5.181)
151
Ecuaci on 2:
T
2
= (
1
+
3
+ 2
2
C
3
) q
2
+ (
3
+
2
C
3
) q
3
(2
2
S
3
) q
1
q
2
+ (
1
S
2
C
2
+
2
(S
23
C
2
+S
2
C
23
)
+
3
C
23
S
23
) q
2
1
(
2
) q
2
3
(
6
)gC
2
(
7
)gC
23
+
8
q
2
+K
2
tanh(
9
q
2
)
Desarrollando:
T
2
=
1
q
2
+
3
q
2
+ 2
2
C
3
q
2
+
3
q
3
+
2
C
3
q
3
2
2
S
3
q
1
q
2
+
1
S
2
C
2
q
2
1
+
2
(S
23
C
2
+S
2
C
23
) q
2
1
+
3
C
23
S
23
q
2
1

2
q
2
3

6
gC
2
C
23

7
g +
8
q
2
+K
2
tanh(
9
q
2
)
Factorizando:
T
2
=
1
( q
2
+S
2
C
2
q
2
1
) +
2
(2C
3
q
2
+C
3
q
3
2S
3
q
1
q
2
+ q
2
1
(S
23
C
2
+S
2
C
23
) S
3
q
2
3
+
3
( q
2
+ q
3
+C
23
S
23
q
2
1
) +
6
(gC
2

7
(gC
23
) +
8
( q
2
) +K
2
tanh(
9
q
2
)
(5.182)
Ecuaci on 3:
T
3
= (
3
+
2
C
3
) q
2
+ (
3
) q
3
+ (
2
C
2
S
23
+
3
S
23
C
23
) q
2
1
+ (
2
S
3
) q
2
2
(
7
C
23
+ (
10
q
3
+K
3
tanh(
11
q
3
)
Desarrollando:
T
3
=
3
q
2
+
2
C
3
q
2
+
3
q
3
+
2
C
2
S
23
q
2
1
+
3
S
23
C
23
q
2
1
+
2
S
3
q
2
2

7
C
23
+
10
q
3
+K
3
tanh(
11
q
3
)
Factorizando:
T
3
=
2
(C
3
q
2
+S
23
C
2
q
2
1
+S
3
q
2
1
) +
3
( q
2
+ q
3
+C
23
S
23
q
2
1
)
7
(C
23
) +
10
( q
3
) +K
3
tanh(
11
q
3
) (5.183)
Representaci on matricial de acuerdo a :
_

_
T
1
T
1
T
1
_

_
31
=
_

_
Y
1
(q, q, q)
Y
2
(q, q, q)
Y
3
(q, q, q)
_

_
311

10

11
_

_
111
(5.184)
152
Entonces:
T =
_

_
Y
11
Y
12
Y
13
Y
14
Y
15
Y
16
Y
17
Y
18
Y
19
Y
110
Y
111
Y
21
Y
22
Y
23
Y
24
Y
25
Y
26
Y
27
Y
28
Y
29
Y
210
Y
211
Y
31
Y
32
Y
33
Y
34
Y
35
Y
36
Y
37
Y
38
Y
39
Y
310
Y
311
_

_
Donde:
Y
11
= C
2
2
q
1
2S
2
C
2
q
1
q
2
(5.185)
Y
12
= 2C
2
C
23
q
1
2 q
1
q
2
(S
23
C
2
+S
2
C
23
) 2S
23
C
23
q
1
q
3
(5.186)
Y
13
= C
2
23
q
1
+ 2S
23
C
23
q
1
q
2
2S
23
C
23
q
1
q
3
(5.187)
Y
14
= q
1
(5.188)
Y
15
= tanh(, q
1
) (5.189)
Y
16
= 0 (5.190)
Y
17
= 0 (5.191)
Y
18
= 0 (5.192)
Y
19
= 0 (5.193)
Y
110
= 0 (5.194)
Y
111
= 0 (5.195)
Y
21
= q
2
+S
2
C
2
q
2
1
(5.196)
153
Y
22
= 2C
3
q
2
+C
3
q
3
2S
3
q
1
q
2
q
2
1
(S
23
C
2
+S
2
C
23
) S
3
q
2
3
(5.197)
Y
23
= q
2
+ q
3
+C
23
S
23
q
2
1
(5.198)
Y
24
= 0 (5.199)
Y
25
= 0 (5.200)
Y
26
= gC
2
(5.201)
Y
27
= gC
23
(5.202)
Y
28
= q
2
(5.203)
Y
29
= tanh(, q
2
) (5.204)
Y
210
= 0 (5.205)
Y
211
= 0 (5.206)
Y
31
= 0 (5.207)
Y
32
= C
3
q
2
+S
23
C
2
q
2
1
+S
3
q
2
1
(5.208)
Y
33
= q
2
+ q
3
+C
23
S
23
q
2
1
(5.209)
Y
34
= 0 (5.210)
Y
35
= 0 (5.211)
154
Y
36
= 0 (5.212)
Y
37
= C
23
(5.213)
Y
38
= 0 (5.214)
Y
39
= 0 (5.215)
Y
310
= q
3
(5.216)
Y
311
= tanh(, q
3
) (5.217)
En la Figura 5.36 se pueden apreciar los valores que se obtuvieron durante la simulaci on, de la coordenada
generalizada q1, al mismo tiempo se muestra una comparaci on gr aca con respecto a los valores que se desea
obtener, a diferencia del control PIDNL se nota como las gr acas son iguales a excepci on del inicio de la simulaci on
debido a la condici on inicial del robot, el error tiende a cero lo cual no ocurre en el control PIDNL.
En la Figura 5.37 se puede observar la representaci on gr aca de los valores de la coordenada generalizada q2
y de los valores deseados qd2, se puede apreciar que en la mayor parte del tiempo de simulaci on el error es cero,
hecho que no ocurre con el control PIDNL ya que en este s olo ocurre en un intervalo de la simulaci on.
0 1 2 3 4 5 6 7
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Coordenada Generalizada q1 y qd1 (Real y Deseada)
t
q
1

q
d
1
q1
qd1
Figura 5.36: Control Adaptable, Coordenada
Generalizada q1 y qd1 (Real y Deseada).
0 1 2 3 4 5 6 7
0.8
0.75
0.7
0.65
0.6
0.55
0.5
0.45
0.4
Coordenada Generalizada q2 y qd2 (Real y Deseada)
t
q
2

q
d
2
q2
qd2
Figura 5.37: Control Adaptable, Coordenada
Generalizada q2 y qd2 (Real y Deseada).
El comportamiento de la tercera coordenada generalizada q3, se puede observa en la Figura 5.38, es muy si-
milar a las anteriores coordenadas, en la forma en que los valores del robot virtual alcanzan a los valores deseados,
provocando que el error sea nulo en la mayor parte de la simulaci on.
155
0 1 2 3 4 5 6 7
1
0.5
0
0.5
1
1.5
2
2.5
Coordenada Generalizada q3 y qd3 (Real y Deseada)
t
q
3

q
d
3
q3
qd3
Figura 5.38: Control Adaptable, Coordenada
Generalizada q3 y qd3 (Real y Deseada).
0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
0.1
0.15
0.2
0.25
0.3
0.35
Trayectorias en el espacio operacional: (X vs Y) y (px vs py) (Real y Deseado)
Xpx
Y

p
y
Figura 5.39: Control Adaptable, Trayectoria en
el espacio operacional: (x,y) y (px,py), (Real y
Deseada).
La trayectoria realizada por el robot virtual y la trayectoria deseada se muestran en la Figura 5.39, se puede
apreciar que ambas trayectorias son iguales en la mayor parte de la simulaci on, claro no al iniciar debido a las
condiciones iniciales del robot virtual, este logra cumplir la trayectoria (circunferencia).
En este punto se puede apreciar que el control adaptable elimina el error extendido al seguir la trayectoria
deseada como se puede observar en la Figura 5.40.
0 1 2 3 4 5 6 7
20
15
10
5
0
5
Error extendido S
t
s
1
,
s
2
,
s
3
s1
s2
s3
Figura 5.40: Control Adaptable, Error extendido
S.
5.5. Seguimiento exacto: Convergencia en Tiempo Finito.
Un problema tpico en el control de movimiento restringido de robots manipuladores, extensivo al guiado h apti-
co, es la conmutaci on de movimiento libre a movimiento restringido. Para ello es necesario detectar el momento
en el que ocurre la colisi on o contacto entre el efector nal, y el objeto que dene la supercie geometrica de
156
restricci on (supercie virtual de contacto para el caso de estudio). Para ellos es necesario el conocimiento exacto
de los estados en alg un instante de tiempo, por lo tanto la estabilizaci on asint otica complica considerablemente
la transici on por lo complicado que es denir con precisi on el instante en el que ocurre la colisi on. En estas
condiciones la convergencia en tiempo nito, permite el conocimiento exacto de los estados en alg un instante de
tiempo. Para lograr la convergencia en tiempo nito, se requiere de un generador tiempo base TBG en el contexto
de movimiento libre.
Funci on implementada en TBG
f(t) =
1
/
2

1
/
2
cos (wt) (5.218)
donde:
w = 2
f =
2
/
t
t = periodo = 2tb
w =
2
/
2tb
w =

/
tb
rad
/
seg
f (t) =
1
/
2

1
/
2
cos (

/
tb
t)
f

(t) =

/
2tb
sen(

/
tb
t)
f

_
t =
1
/
2
tb
_
= 0
f

(t) =

2
_
2tb
2 cos (

/
tb
t)
f

_
1
/
2tb
_
=

2
_
2tb
2 cos (

/
2
) = 0
5.5.1. PIDNL con TBG
Para la implentaci on del controol PINL con generador de tiempo bas la referencia nominal q
r
en lazo cerrado,
para que el robot tenga un comportamiento estable y convergencia en tiempo nito, se propone la siguiente
ecuaci on
q
r
= q
d
(t) q +S
d
K
i
(5.219)
= sgn (S
q
) (5.220)
donde,
S
q
= S S
d
(5.221)
S
d
= S (t
0
) e
kt
(5.222)
157
donde S =

q + (t) q, K
i
= K
T
i

nn
es una matriz diagonal positiva denida, k > 0, sgn() denota la
funci on signo de () Notese que q
r
= q
d
(t)

q (t) q +

S
d
K
i
sgn (S
q
) es discontinua, pero es utilizada
solo para la prueba de estabilidad, y que S
q
(t
o
) = 0 para cualquier condici on inicial. La coordenada del error
extendido S
r
,
S
r
= S
q
+K
i
(5.223)
El control PID no lineal propuesto es el siguiente,
= K
d
S
r
(5.224)
en terminos de las anteriores deniciones,
= K
p
q K
v

q +K
d
S
d
K
I
I (5.225)
I = =
_
t
t
0
sgn(S
q
())d (5.226)
donde K
d
= K
T
d

nn
es una matriz diagonal positiva denida, K
p
(t) = K
d
(t), K
v
= K
d
y K
I
= K
d
K
i
son
matrices diagonales que representan las ganancias de control, y (t) es denida como (t) en la ecuaci on (??) y
con un generador de tiempo base (t) tal que se obtengan las trayectorias presentadas en la Figura ??.
La simulaci on digital en MatLab, consiste en desarrollar el seguimiento de una trayectoria en el espacio opera-
cional del robot virtual con convergencia en tiempo nito, la cinem atica y din amica esta expuesta en el capitulo
5 secci on 2 y 3 respectivamente, las trayectorias deseadas de posici on son 5.151 y 5.152:
x(t) = h +r cos (wt)
y (t) = k +rsen(wt)
Donde:
w = 0,4
h = 0,3
k = 0,2
r = 0,1
Para dicha simulaci on se asume que el dispositivo (robot virtual ) parte de un estado de reposo con una
condici on inicial de posici on, que esta denida en:
q
1
= 45

q
2
= 45

q
3
= 45

las ganancias del control son:


kp = [0,001, 0, 0; 0, 0,001, 0; 0, 0, 0,001]
158
kd = [24, 0, 0; 0, 122, 0; 0, 0, 4,5]
ki =
kp kd
/
10
el tiempo de convergencia es:
tb = 0,4seg
con:

0
= 1,001
= 0,001
En la Figura 5.41 se puede apreciar que con la implementaci on de TBG en un control PIDNL la coordenada
generalizada q1 se comporta de manera diferente al control PINDL ( gura 1), el tiempo de convergencia em-
pleado en la simulaci on fue de 0.4 seg. Tiempo en el cual q1 alcanza los valores deseados provocando un mejor
desempe no del robot ya que el error se reduce de manera signicativa.
En la Figura 5.42 se puede apreciar que con la implementaci on de TBG en un control PIDNL la coordenada
generalizada q2 se comporta de manera diferente al control PINDL, el tiempo de convergencia empleado en la
simulaci on fue de 0.4 seg. Tiempo en el cual q2 alcanza los valores deseados provocando un mejor desempe no del
robot ya que el error se reduce de manera signicativa, adem as de eliminar las oscilaciones que presenta con el
control PIDNL.
0 1 2 3 4 5 6 7
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Coordenada Generalizada q1 y qd1 (Real y Deseada)
t
q
1

q
d
1
q1
qd1
Tiempo de Convergencia 0.4 seg.
Figura 5.41: Control PIDNL con TBG, Coorde-
nada Generalizada q1 y qd1 (Real y Deseada).
0 1 2 3 4 5 6 7
0.8
0.75
0.7
0.65
0.6
0.55
0.5
0.45
0.4
Coordenada Generalizada q2 y qd2 (Real y Deseada)
t
q
2

q
d
2
q2
qd2
Tiempo de Convergencia 0.4 seg.
Figura 5.42: Control PIDNL con TBG, Coorde-
nada Generalizada q2 y qd2 (Real y Deseada).
En la Figura 5.43 se puede apreciar que con la implementaci on de TBG en un control PIDNL la coordenada
generalizada q3 se comporta de manera diferente al control PINDL, el tiempo de convergencia empleado en la
simulaci on fue de 0.4 seg. Tiempo en el cual q3 alcanza los valores deseados provocando un mejor desempe no del
robot ya que el error se reduce de manera signicativa.
159
La trayectoria realizada por el robot virtual y la trayectoria deseada, adem as de apreciar que ambas trayecto-
rias son iguales en la mayor parte de la simulaci on, claro no al iniciar debido a las condiciones iniciales del robot
virtual, este logra cumplir la trayectoria (circunferencia), se puede notar que la trayectoria del robot al tratar de
alcanzar la trayectoria deseada es diferente a la Figura 5.44.
0 1 2 3 4 5 6 7
1
0.5
0
0.5
1
1.5
2
2.5
Coordenada Generalizada q3 y qd3 (Real y Deseada)
t
q
3

q
d
3
q3
qd3
Tiempo de Convergencia 0.4 seg.
Figura 5.43: Control PIDNL con TBG, Coorde-
nada Generalizada q3 y qd3 (Real y Deseada).
0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
0.1
0.15
0.2
0.25
0.3
0.35
Trayectorias en el espacio operacional: (X vs Y) y (px vs py) (Real y Deseado)
Xpx
Y

p
y
Figura 5.44: Control PIDNL con TBG, Trayec-
torias en el espacio operacional: (x,y) y (px,py),
(Real y Deseada).
Se puede armar que con la implementaci on del TBG en el control PIDNL mejora el desempe no del robot
virtual, ya que el error extendido al seguir la trayectoria deseada tiende a cero o es cero en la mayor parte de la
simulaci on, como se puede observar en la Figura 5.45.
0 1 2 3 4 5 6 7
8
6
4
2
0
2
4
6
Error extendido S
t
s
1
,
s
2
,
s
3
s1
s2
s3
Tiempo de Convergencia 0.4 seg.
Figura 5.45: Control PIDNL con TBG, Error
extendido S.
5.5.2. Control adaptable pasivo robusto con TBG
La simulaci on digital en MatLab, consiste en desarrollar el seguimiento de una trayectoria en el espacio opera-
cional del robot virtual con convergencia en tiempo nito, la cinem atica y din amica esta expuesta en el capitulo
160
5 secci on 2 y 3 respectivamente, las trayectorias deseadas de posici on son 5.151 y 5.152:
x(t) = h +r cos (wt)
y (t) = k +rsen(wt)
Donde:
w = 0,4
h = 0,3
k = 0,2
r = 0,1
Para dicha simulaci on se asume que el dispositivo (robot virtual ) parte de un estado de reposo con una
condici on inicial de posici on, que esta denida en:
q
1
= 45

q
2
= 45

q
3
= 45

las ganancias del control son:


alfa = [8, 0, 0; 0, 0,8,8, 0; 0, 0, 7,5]
gamma = 1,5
kd = 20
el tiempo de convergencia es:
tb = 0,4seg
con:

0
= 1,001
= 0,001
161
En la Figura 5.46 se pueden ver los valores que se obtuvieron durante la simulaci on, de la coordenada gener-
alizada q1, al mismo tiempo se muestra una comparaci on graca con respecto a los valores que se desea obtener,
adem as de la implementaci on del TBG al control Adaptable, a diferencia del control adaptable sin TBG el unico
cambio es la convergencia en un x tiempo, el cual en la simulaci on fue de 0.4 seg. , el error como puede apreciarse
es cero.
En la Figura 5.47 se puede observar la representaci on gr aca de los valores de la coordenada generalizada q2
y de los valores deseados qd2, as como la implementaci on del TBG al control Adaptable, a diferencia del control
adaptable sin TBG cambio es la convergencia en un x tiempo, el cual en la simulaci on fue de 0.4 seg., se puede
apreciar tambien que en la mayor parte del tiempo de simulaci on el error es cero.
0 1 2 3 4 5 6 7
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Coordenada Generalizada q1 y qd1 (Real y Deseada)
t
q
1

q
d
1
q1
qd1
Tiempo de Convergencia 0.4 seg.
Figura 5.46: Control adaptable con TBG, Coor-
denada Generalizada q1 y qd1 (Real y Deseada).
0 1 2 3 4 5 6 7
0.8
0.75
0.7
0.65
0.6
0.55
0.5
0.45
0.4
Coordenada Generalizada q2 y qd2 (Real y Deseada)
t
q
2

q
d
2
q2
qd2
Tiempo de Convergencia 0.4 seg.
Figura 5.47: Control adaptable con TBG, Coor-
denada Generalizada q2 y qd2 (Real y Deseada).
La implementaci on del TBG al control Adaptable y comportamiento de la tercera coordenada generalizada q3,
se puede observa en la Figura 5.48, es muy similar a las anteriores coordenadas, en la forma en que los valores
del robot virtual alcanzan a los valores deseados, el cambio observado es la convergencia en un tiempo x, el cual
en la simulaci on fue de 0.4 seg., ya que el error es nulo en la mayor parte de la simulaci on.
La trayectoria realizada por el robot virtual y la trayectoria deseada se muestran en la Figura 5.49, se puede
apreciar que ambas trayectorias son iguales en la mayor parte de la simulaci on, si se observa la Figura 5.50 se
puede notar que la trayectoria del robot al tratar de alcanzar la trayectoria deseada es diferente a la 5.49.
En la Figura 5.50 se puede apreciar que el control adaptable con TBG elimina el error extendido al seguir la
trayectoria deseada, adem as de lograrlo en un tiempo x, el cual en la simulaci on fue de 0.4 seg.
162
0 1 2 3 4 5 6 7
1
0.5
0
0.5
1
1.5
2
2.5
Coordenada Generalizada q3 y qd3 (Real y Deseada)
t
q
3

q
d
3
q3
qd3
Tiempo de Convergencia 0.4 seg.
Figura 5.48: Control adaptable con TBG, Coor-
denada Generalizada q3 y qd3 (Real y Deseada).
0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
0.1
0.15
0.2
0.25
0.3
0.35
Trayectorias en el espacio operacional: (X vs Y) y (px vs py) (Real y Deseado)
Xpx
Y

p
y
Figura 5.49: Control adaptable con TBG,
Trayectorias en el espacio operacional: (x,y) y
(px,py), (Real y Deseada).
0 1 2 3 4 5 6 7
8
7
6
5
4
3
2
1
0
1
2
Error extendido S
t
s
1
,
s
2
,
s
3
s1
s2
s3
Tiempo de Convergencia 0.4 seg.
Figura 5.50: Control adaptable con TBG, Error
extendido S.
5.6. Conclusiones
En este captulo se puede observar la obtenci on matem atica de cada uno de los modelos del robot, se presenta
todo el desarrollo matem atico de estos ecuaci on a ecuaci on, esto ayud o a la comprensi on de estos modelos y para
su codicaci on y adaptaci on a la interfaz de usuario propuesta.
As mismo se presentan las propiedades del modelo din amico del robot, en el apendice C se presentan las gr a-
cas de dichas propiedades al realizar la tarea de simulaci on en donde se comprueba la validez del modelo obtenido.
Se presentan tambien los controles PD, PID, PIDNL y el control Adaptable pasivo Robusto en este ultimo
se presenta adem as la parametrizaciones lineales del modelo din amico despreciando la fricci on existente en el
sistema y tomando en cuenta la fricci on del sistema, para las simulaciones se empleo la ultima opci on; adem as de
la integraci on de un generador de tiempo base que nos ayuda a que el robot converja en la posici on deseada en
un determinado tiempo denominado tiempo de convergencia, se a los controles PIDNL y Adaptable.
163
Para la determinaci on de que control es mejor con respecto a los mencionados, se realiz o una comparaci on entre
los controles: PD y PID, PIDNL y Adaptable; en donde se puede decidir que el mejor es el control Adaptable,
PIDNL, PUID y PD en ese orden, esta conclusi on fue en relaci on al error obtenido en las simulaciones que se
hicieron en MatLab, cabe hacer menci on que los cuatro controles terminaron la trayectoria. La implementaci on
del generador de tiempo base mejor o el comportamiento del robot en ambos controles.
164
Captulo 6
Conclusiones y perpectivas.
6.1. Conclusiones generales
Este trabajo profesional resolvi o el problema de visualizaci on virtual y control de un robot manipulador del tipo
antropom orco, aplicado al seguimiento perfecto de trayectoria, sin embargo esta metodologa puede ser extendi-
da a diferentes conguraciones de robot, as como diferentes aplicaciones mecatr onicas con partes m oviles. Para
lograr estos resultados, fue necesario hacer una revisi on de los modelos matem aticos de robots manipuladores,
las estrategias de control de movimiento cl asicas y modernas, las tecnicas de planicaci on de trayectorias y las
herramientas para virtualizaci on con comportamiento complejo, sin embargo se realiz o una revisi on de literatura
para establecer dentro de la metodologa propuesta y describir profesionalmente los resultados, situaci on que
permiti o el an alisis y dise no del sistema.
Adem as de realizar una modelaci on analtica de la geometra de un robot, la descripci on del desplazamiento es-
pacial del mismo, es decir la cinem atica del movimiento, de igual forma se abordo las formulaciones de movimiento
del brazo indicando las leyes fsicas que intervienen en el proceso denominando a esto como din amica.
En este documento se present o los modelos cinem aticos y din amicos del robot denido como caso de estudio.
La cinem atica del robot fue descrita con la metodologa Denavit - Hartemberg, y la din amica fue sintetizada con
la formulaci on Euler - Lagrange, para vericar que estos modelos sean correctos se analizaron sus correspondientes
propiedades.
Se puede denir el control como un algoritmo que permite la regulaci on de la energa aplicada a los motores que
generan el movimiento del robot, de manera que alcancen los par ametros deseados con el n de disminuir el error.
Estos algoritmos pueden controlar la posici on, posici on y velocidad, tambien existen aquellos que unicamente
toman en cuenta la cinem atica, en el presente trabajo los controles toman en cuenta la cinem atica y din amica del
robot en los algoritmos propuestos.
Para las estrategias de control de regulaci on y seguimiento de trayectorias se estudiaron, a partir de la simu-
laci on digital en Matlab, los controladores PD, PID y un control por modos deslizantes de segundo orden o PID
no lineal. Es importante mencionar que para la soluci on numerica de la acci on integral se implement o el metodo
de Runge - Kutta de orden superior. Las trayectorias fueron descritas por las ecuaciones parametricas de una
circunferencia y para lograr la convergencia en tiempo nito es empleado un generador de tiempo base.
Un control adicional implementado fue el control adaptable pasivo rubusto dise nado a partir de la parametrizaci on
lineal del robot, y partiendo del control adaptable tipo Slotine - Li. El ambiente virutal fue desarrollado en Visual
C++ con OpenGL y una interfaz de usuario con Delphi 7.0 logrando resultados signicativos.
Que control es mejor? con respecto a los mencionados, se realiz o una comparaci on entre los controles: PD
y PID, PIDNL y Adaptable; en donde se puede decidir que el mejor es el control Adaptable, PIDNL, PUID y
165
PD en ese orden, esta conclusi on fue en relaci on al error obtenido en las simulaciones realizadas en MatLab, cabe
hacer menci on que los cuatro controles terminaron la trayectoria. La implementaci on del generador de tiempo
base mejor o el comportamiento del robot en ambos controles (PIDNL y Adaptable).
Se consideran 11 apendices de c odigos, propiedades din amicas y manual de usuario que permiten una mejor
interpretaci on de la tesis.
6.2. Perpectivas y trabajo futuro
Este trabajo deja bases tecnicas y tecnol ogicas para lograr el siguiente trabajo futuro:
1. Estudios de control moderno e inteligentes de robots en esta plataforma.
2. Establecer tareas de posicionamiento en el espacio.
3. Establecer otros tipos de tareas industriales en el visualizador virtual.
4. Aplicar la metodologa para robots cooperativos.
166
Apendice A
Abreviaturas
AFNOR Asociaci on Francesa de Normalizaci on.
AFRI Asociaci on Francesa de Rob otica Industrial.
AGV Vehculos de Guiado Autom atico.
AMF American Machine y Foundry Company.
API Application Programming Interface.
AV Vehculos Aut onomos.
CA Corriente Alterna.
CD Corriente Directa.
c
i
cos(i)
c
ij
cos(i +j)
CMOS Semiconductor Complementario de

Oxido de Metal.
DEA Digital Electric Automation.
DOF Degrees Of Freedom. Grados de Libertad.
E-L Euler - Lagrange.
EID Entorno Integrado de desarrollo.
F Fuerza.
HW Hardware.
IBM International Business Machines.
IEP Interfase Electr onica de Potencia.
J Matriz Jacobiana.
JIRA Asociaci on Japonesa de Robots Industriales.
IEP Interfaz Electr onica de Potencia.
IFR Federaci on Internacional de Rob otica.
167
ISO Oraganizaci on Internacional de Est andares.
K Energa cinetica.
kg Kilogramo.
LCG Longitud de Centro de Gravedad.
MCDP Modelo cinem atico directo de posici on.
MCIP Modelo cinem atico inverso de posici on.
MCDV Modelo cinem atico directo de velocidad.
MCIV Modelo cinem atico inverso de velocidad.
MCDA Modelo cinem atico directo de aceleraci on.
MCIA Modelo cinem atico inverso de aceleraci on.
MIT Instituto Tecnol ogico de Massachussets.
MTH Matriz de transformaci on homogenea.
ME Matriz elemental.
N Newton.
N-E Newton - Euler.
NASA National Aeronautics and Space Administration.
P Energa potencial.
PC Computadora Personal.
PD Proporcional m as Derivativo.
PDH Par ametros Denavit-Hartenberg.
PI Proporcional Integral.
PID Proporcional Integral Derivativo.
PUMA Manipulador Universal Programable para Tareas de Ensamblaje.
P-R Pasivo Robusto.
R Robot.
RAD Rapid Application Development.
RIA Asosiaci on de Robots Industriales.
RV Realidad virtual.
rad radian.
SCARA Selective Compliance Assembly Robot Arm.
s
i
sen(i)
s
ij
sen(i +j)
168
seg Segundos.
SW Software.
T Periodo.
T3 The Tomorrow Tol.
V Velocidad de desplazamiento.
VCL Visual Components Library.
w Velocidad angular.
169
Apendice B
Glosario
Acci on de control
Ver Variable de control[41].
Adaptaci on
Tipo evolutivo de cambio (usualmente involucra una modicaci on progresiva de cierta estructura o estructuras)
que un sistema realiza para hacer frente con los cambios del entorno, mientras mantiene los atributos esenciales
de la estructura y constantes del sistema[41].
Aleatorio
Algo que carece de todo patr on regular debido a su inmunidad a cualquier ley que la forzara a una secuencia
aunque sea levemente repetitiva que podra ser considerada como patr on. La existencia de aleatoriedad es sola-
mente te orica, dado que no hay forma de probar que algo sea innitamente irregular e impredecible. Las secuencias
de n umeros aleatorios (n umeros locos) generadas computacionalmente se consideran, as, seudo-aleatorias, ya
que alg un programa, aunque sea muy intrincado, es la causa de cada elemento de ellas. La aleatoriedad en peque na
escala, considerada como seudoaleatoriedad, sirve como herramienta util en simulaciones de Monte Carlo y en
teora de los juegos. Un proceso aleatorio puro es imposible de ser controlado con instrumento alguno. Diere de
un proceso ca otico, que es controlable[41].
Articulaci on prism atica (Lineal)
Las articulaciones prism aticas implicar un movimiento deslizante o de traslaci on de las uniones de conexi on[5].
Articulaci on de revoluci on
Tipo de articulaci on giratoria en la que la uni on de entrada es paralela al eje de rotaci on y la de salida es per-
pendicular a dicho eje. Esencialmente, la uni on de salida gira alrededor de la de entrada como si estuviera en
orbita[5].
Articulaci on de rotaci on
Suministra un grado de libertad consistente en una rotaci on alrededor del eje de la articulaci on. Est a articulaci on
es, con diferencia, la m as empleada.
Aut omata
Palabra que procede del griego (automatos = actuar por s mismo). Es un mecanismo articial que imita com-
170
portamientos de la vida real[41].
Brazo(Robot)
Una de las partes del manipulador. Soportado en la base de este, sostiene y maneja la mu neca[41].
Cadena cinem atica
Es un ensamble de eslabones y juntas interconectados de modo que proporcionen un movimiento de salida con-
trolado en respuesta a un movimiento de entrada proporcionado.
Centro de gravedad
Punto imaginario en el cual puede considerarse que se concentra y act ua el peso total de un cuerpo. Punto en el
que quedara en equilibrio un cuerpo colgado de un cable[41].
Centro de masa
Es el punto donde puede considerarse que est a concentrada toda la masa de un cuerpo para estudiar determinados
aspectos de su movimiento. El centro de masas de una esfera de densidad uniforme est a situado en el centro de
la esfera. El centro de masas de una varilla cilndrica de densidad uniforme est a situado a la mitad de su eje. En
algunos objetos, el centro de masas puede estar fuera del objeto.
Cinem atica del brazo del robot
Trata con el estudio analtico de la geometra del movimiento de un brazo de robot con respecto a un sistema de
coordenadas de referencia jo sin considerar las fuerzas o movimientos que originan el movimiento[5].
Codicador optico
En este se tiene una barra o disco transl ucido con incrustaciones de material opaco o viceversa. De esta forma
y usando un emisor y un detector de luz infrarroja, se generan pulsos a la salida de un fototransistor que ha
sensado el movimiento de la barra o disco. Cabe mencionar que muchas veces el material del disco es opaco, y
que simplemente se le maquinan hoyos simetricamente espaciados para lograr el mismo efecto.
Existen 2 tipos de codicadores opticos: los incrementales y los absolutos.
Los codicadores opticos incrementales son aquellos que producen pulsos igualmente espaciados y que pueden
ser acumulados por un contador (para incrementar o decrementar). El conteo es la indicaci on del desplazamiento.
El punto de origen puede jarse o programarse en el dispositivo de lectura.
Los codicadores absolutos son aquellos que generan un n umero codicado digitalmente, y es indicativo de la
posici on. Esto se hace mediante un conjunto de cabezas lectoras y una disposici on de segmentos en multicanal.
Los c odigos digitales tpicos son: binario natural, gray y BCD (decimal codicado en binario).
Control
Selecci on de las entradas de un sistema de manera que los estados o salidas cambien de acuerdo a una manera
deseada. Ver SISTEMA DE CONTROL. Ver PRINCIPIO DE VARIEDAD NECESARIA[41].
171
Dos tipos de control pueden ser usados en diferentes partes del robot:
Lazo cerrado: se monitorea continuamente la posici on del brazo del robot mediante un sensor de posici on, y
se modica la energa que se manda al actuador de tal forma que el movimiento del brazo se obedece al camino
deseado, tanto en direcci on como en velocidad.

Este control se puede usar cuando la tarea que se ha de llevar a
cabo est a dirigida mediante un camino denido por la misma pieza, tal como sera soldar, revestir y ensamblar.
En un sistema de lazo abierto: el controlador no conoce la posici on de la herramienta mientras el brazo se
mueve de un punto a otro.

Este tipo de control es muy usado cuando el movimiento que debe seguir el brazo se
encuentra determinado previamente, al ser grabado con anterioridad y reproducido sin cambio alguno, lo cual es
util cuando todas las piezas a ser tratadas son exactamente iguales.
Control en lazo abierto
Control en el cual la salida no afecta la acci on de control. Es decir, no se mide ni se realimenta la salida para
compararla con la entrada. Ejemplo: control de tr ansito, lavadora (el remojo, lavado y enjuague operan con base
en el tiempo). La precisi on del control depende de la calibraci on y no funciona correctamente en presencia de
perturbaciones[41].
Control en lazo cerrado
Ver CONTROL REALIMENTADO[41].
Control realimentado
Operaci on que, en presencia de perturbaciones (impredecibles), tiende a reducir la diferencia entre la salida de
un sistema y alguna entrada de referencia y lo contin ua haciendo con base en esta diferencia. Ejemplos: control
de velocidad, control de un robot, control de temperatura, sistema empresarial[41].
Coordenada operacional
Posici on en el espacio denido por los valores x, y, z referidos al origen.
Din amica del brazo del robot
Trata con la formulaci on matem atica de las ecuaciones del movimiento del brazo. Las ecuaciones din amicas de
movimiento de un manipulador con un conjunto de ecuaciones matem aticas que describen la conducta din amica
del manipulador[5].
Din amico
Atributo que acent ua el movimiento, el cambio y el proceso, en oposici on a est atico[41].
Efecto de Coriolis
Tendencia de una masa a aumentar o disminuir su velocidad angular cuando su radio de rotaci on decrece o crece,
respectivamente[41].
Eje (Robot)
Cada una de las lneas seg un las cuales se puede mover el robot o una parte de el (alg un elemento de su estruc-
tura). Pueden ser ejes o lneas de desplazamiento longitudinal sobre s mismo (articulaci on prism atica) o ejes de
giro (rotaci on). Cada eje dene un grado de libertad del robot[41].
172
Energa cinetica
Es la capacidad de un cuerpo para efectuar un trabajo en virtud de su movimiento[10].
Energa potencial
Energa almacenada que posee un sistema como resultado de las posiciones relativas de sus componentes. Por
ejemplo, si se mantiene una pelota a una cierta distancia del suelo, el sistema formado por la pelota y la Tierra
tiene una determinada energa potencial; si se eleva m as la pelota, la energa potencial del sistema aumenta [10].
Entorno
Estado de la naturaleza o estado del mundo, concepto util en modelado. Conjunto de todos los factores externos
o fuerzas que est an m as all a de la inuencia de la persona que toma una decisi on, pero que no obstante afectan
las consecuencias de sus acciones[41].
Equilibrio
Estado de un sistema cuya conguraci on o propiedades macrosc opicas no cambian a lo largo del tiempo. Por
ejemplo, si se introduce una moneda caliente en un vaso de agua fra, el sistema formado por el agua y la moneda
alcanzar a el equilibrio termico cuando ambos esten a la misma temperatura.
Eslab on
Cuerpo rgido que posee al menos dos nodos, que son los puntos de uni on con otros eslabones. El n umero de
nodos le da su nombre al eslab on : Binario = dos nodos, Terciario = tres nodos, etc..
Espacio de estado
Espacio n-dimensional cuyos ejes de coordenadas son las VARIABLES DE ESTADO[41].
Espacio singular
Se denominan conguraciones singulares de un robot a aquellas en el que el determinante de su matriz Jacobiana
(Jacobiano) se anula. Por esta circunstancia, en las conguraciones singulares no existe jacobiana inversa. Al anu-
larse el Jacobiano, un incremento innitesimal de las coordenadas cartesianas supondra un incremento innito
de las coordenadas articulares, lo que en la pr actica se traduce en que las inmediaciones de las conguraciones
singulares, el pretender que el extremo del robot se mueva a velocidad constante, obligara a movimientos de las
articulaciones a velocidades inabordables por sus actuadores.
Espacio de trabajo
Las dimensiones de los elementos del manipulador, junto a los grados de libertad, denen el espacio de traba-
jo del robot. Se subdivide en areas diferenciadas entre s, por la accesibilidad especica del elemento terminal
(aprehensor o herramienta), es diferente a la que permite orientarlo verticalmente o con el determinado angulo
de inclinaci on. Tambien queda restringido el espacio de trabajo por los limites de giro y desplazamiento que
existen en las articulaciones[6]. El espacio de trabajo puede ser explicado, como un espacio de conguraciones y
consiste en el conjunto de todas las posiciones y orientaciones que el robot puede tomar. Obtener el espacio de con-
guraciones es equivalente a que el robot recorra y se posicione en todos los puntos posibles del espacio de trabajo.
173
Estabilidad
Condici on en la cual las variables crticas de un sistema din amico se mantienen invariables o permanecen dentro
de unos lmites determinados[41].
Estado
Valor numerico de un conjunto de propiedades relevantes de un sistema.
Frecuencia
N umero de veces que se repite un proceso peri odico por unidad de tiempo[41].
Fricci on
Se dene a la fricci on como una fuerza resistente que act ua sobre un cuerpo, que impide o retarda el deslizamiento
de este respecto a otro o en la supercie que este en contacto. Esta fuerza es siempre tangencial a la supercie en
los puntos de contacto con el cuerpo, y tiene un sentido tal que se opone al movimiento posible o existente del
cuerpo respecto a esos puntos. Por otra parte estas fuerzas de fricci on est an limitadas en magnitud y no impedir an
el movimiento si se aplican fuerzas lo sucientemente grandes.
Fricci on est atica
La fricci on est atica representa una fuerza que tiende a prevenir el movimiento desde el comienzo.
Fricci on de Coulomb
Es una fuerza que tiene una amplitud constante con respecto al cambio de velocidad, pero el signo de la fuerza
de fricci on cambia al invertir la direcci on de la velocidad[4].
Fricci on viscosa
La fricci on viscosa representa una fuerza que es una relaci on lineal entre la fuerza aplicada y la velocidad.
Fuerza centrfuga
Fuerza que tiende a alejar de un centro.
Fuerza centrpeta
Fuerza dirigida hacia un centro, que hace que un objeto se desplace en una trayectoria circular. Por ejemplo,
supongamos que atamos una pelota a una cuerda y la hacemos girar en crculo a velocidad constante. La pelota
se mueve en una trayectoria circular porque la cuerda ejerce sobre ella una fuerza centrpeta. Seg un la primera
ley del movimiento de Newton, un objeto en movimiento se desplazar a en lnea recta si no est a sometido a una
fuerza. Si se cortara la cuerda de repente, la pelota dejara de estar sometida a la fuerza centrpeta y seguira
avanzando en lnea recta en direcci on tangente a la trayectoria circular (si no tenemos en cuenta la fuerza de la
gravedad). En general, la fuerza centrpeta que debe aplicarse a un objeto de masa m para que se mueva en una
trayectoria circular de radio r con una velocidad constante v es
Cuando se aplica una fuerza centrpeta, la tercera ley de Newton implica que en alg un lugar debe actuar una
fuerza de reacci on de igual magnitud y sentido opuesto. En el caso de la pelota que gira con una cuerda, la
reacci on es una fuerza dirigida hacia el exterior, o centrfuga, experimentada por la mano que sujeta la cuerda.
En el caso del carrusel, el cuerpo de la persona presiona hacia fuera contra el asiento como reacci on a la fuerza
174
centrpeta ejercida por el asiento.
Fuerza de Coriolis
Fuerza resultante de la rotaci on de la Tierra. En el hemisferio norte la fuerza de Coriolis desva el movimiento del
aire hacia la derecha. En el hemisferio sur la fuerza de Coriolis desva el movimiento del aire hacia la izquierda.
La fuerza act ua en un angulo recto con respecto a la direcci on del viento y es directamente proporcional a la ve-
locidad de este. Es decir, al aumentar la velocidad del viento, la fuerza de Coriolis se incrementa. En determinada
latitud, al duplicarse la velocidad del viento se duplicar a la fuerza de Coriolis. Esta puede uctuar desde cero en
el ecuador hasta un m aximo en los polos. Inuye en la direcci on del viento en todo lugar, salvo en puntos situados
sobre el Ecuador, aunque sus efectos son m as pronunciados en latitudes medias y altas[41].
Grados de libertad
Para un robot de coordenadas cartesianas los tres grados de libertad son: movimiento vertical (movimiento eje
z), movimiento hacia adentro y afuera (movimiento eje y) y movimiento derecha o izquierda (movimiento eje x).
Estos se consiguen por los movimientos correspondientes de los 3 dispositivos de deslizamiento ortogonales del
brazo del robot[5].
Gravedad
Propiedad de atracci on mutua que poseen todos los objetos compuestos de materia.
Hamiltoniano
Es una reformulaci on de la mec anica cl asica. Los mec anica hamiltoniana puede ser formulada por si misma, usan-
do los espacios simplecticos, sin referir a cualesquiera conceptos anteriores de fuerza o de la mec anica lagrangiana.
Inercia
Propiedad de la materia que hace que esta se resista a cualquier cambio en su movimiento, ya sea de direcci on o
de velocidad. Esta propiedad se describe con precisi on en la primera ley del movimiento del cientco brit anico
Isaac Newton: un objeto en reposo tiende a permanecer en reposo, y un objeto en movimiento tiende a continuar
moviendose en lnea recta, a no ser que act ue sobre ellos una fuerza externa.
Interfaz
Conexi on mec anica o electrica que permite el intercambio de informaci on entre dos dispositivos o sistemas. Ha-
bitualmente se reere al software y hardware necesarios para unir dos elementos de proceso en un sistema o
bien para describir los est andares recomendados para realizar dichas interconexiones. Tambien se conoce por su
denominaci on inglesa: interface[41].
Lagrangiano
Un lagrangiano es una funci on dise nada para resumir un sistema entero; el dominio apropiado del lagrangiano es
un espacio de fase, y debe obedecer las ecuaciones de Euler-Lagrange. El concepto fue utilizado originalmente en
una reformulaci on de la mec anica cl asica conocida como la mec anica lagrangiana. En este contexto, el lagrangiano
se toma com unmente como la energa cinetica de un sistema mec anico menos su energa potencial. El concepto
tambien se ha probado util en su extensi on a la mec anica cu antica. El lagrangiano es tambien util en que simplica
grandemente los c alculos con los sistemas din amicos.
175
Lineal
Relaci on proporcional entre dos cantidades (como en y = cx). El termino proviene de la lnea recta con la cual
tal relaci on puede ser visualizada. La noci on de linealidad es generalizada para la relaci on entre m as cantidades
(expresada en forma de ecuaciones lineales) a un concepto de tiempo que evoluciona desde un pasado indenido
a un futuro indenido sin caminos paralelos o lazos de realimentaci on[41].
Manipulador
En general, cualquier dispositivo mec anico capaz de reproducir los movimientos humanos para el manejo de
objetos. En particular, suele referirse a los elementos mec anicos de un robot que producen su adecuado posi-
cionamiento y operaci on[41].
Matriz de escalamiento
Es una matriz cuadrada que tiene todos sus elementos nulos excepto los de la diagonal principal que son iguales[43].
Matriz de rotaci on
Una matriz de rotaci on de 3*3 se puede denir como una matriz de transformaci on que opera sobre un vector
de posici on en un espacio eucldeo tridimensional y transforma sus coordenadas expresadas en un sistema de
coordenadas rotado OUVW (sistema ligado al cuerpo) a un sistema de coordenadas de referencia OXYZ[9].
Matriz de transformaci on homogenea
Es una matriz 4*4 que transforma un vector de posici on expresado en coordenadas homogeneas desde un sistema
de coordenadas hasta otro sistema de coordenadas[9].
Mecanismo
Sistema de elementos dispuestos para transmitir movimiento en un modo predeterminado. Ejemplos: sacapuntas
de manivela, obturador de c amara fotogr aca, reloj anal ogico, silla plegadiza, l ampara ajustable de escritorio y
sombrilla.
Modelo
Representaci on de una manera m as sencilla de ciertos aspectos de un proceso o elemento, y el cual es utilizado con
objetivos de an alisis, control y predicci on. Todo modelo se basa en una teora, pero dicha teora puede no estar
indicada en una forma concisa. Tipos de modelos: a escala, descriptivos, gr acos, anal ogicos y matem aticos[41].
Modelo cinem atico
conjunto de expresiones que determinan el movimiento sin considerar causas que lo producen.
Modelo din amico
Conjunto de expresiones que determinan las cusas del movimiento.
Momento de inercia
Resistencia que un cuerpo en rotaci on opone al cambio de su velocidad de giro. A veces se denomina inercia
rotacional.
176

Organo terminal

Este termino se utiliza para describir la mano o herramienta que est a unida a la mu neca. Representa el herra-
mental especial que permite al robot de uso general realizar una aplicaci on particular[5].
Perturbaci on
Variable no deseada aplicada a un SISTEMA y la cual tiende a afectar adversamente el valor de una variable
controlada. Si la perturbaci on se genera dentro del sistema se denomina interna, en tanto que una perturbaci on
externa se produce fuera del sistema y es una entrada[41].
Realidad virtual
Sistema que permite a uno o m as usuarios ver, moverse y reaccionar en un mundo simulado por ordenador o
computadora. Los distintos dispositivos de interfaz permiten al usuario ver, tocar y hasta manipular objetos vir-
tuales. Los mundos virtuales y todo lo que contienen (incluyendo im agenes computerizadas de los participantes)
se representan con modelos matem aticos y programas de computadora.
Robot
Es un sistema mec anico cuyo control debe estar encaminado a efectuar una tarea de utilidad[5].
Robot industrial
Es un manipulador multifuncional reprogramable dise nado para desplazar materiales, piezas, herramientas o dis-
positivos especiales mediante movimientos programados variables para la ejecuci on de una diversidad de tareas[5].
Robot manipulador
Los manipuladores son brazos articulados con un n umero de grados de libertad, que oscila entre dos y cinco, cuyos
movimientos de tipo secuencial, se programan mec anicamente o a traves de una memoria o de un controlador
l ogico programable. No permiten la combinaci on simult anea de movimientos ni el posicionamiento de su elemento
terminal[9].
Robusto
En control, poco sensible a errores o incertidumbres de modelado. En la actividad computacional, tanto una
m aquina como un algoritmo se consideran robustos si son capaces de actuar y trascender a pesar de dicultades
que accidentaran a m aquinas o algoritmos m as simples o menos exibles. La tolerancia a las fallas o fallos se
considera sin onimo de robustez[41].
Ruido
Entrada indeseada a un sistema cibernetico. Tpicamente es una PERTURBACI

ON aleatoria que no representa


ninguna parte de un mensaje o se nal deseada de una fuente especca[41].
Sensor
Es un transductor que se utiliza para medir una variable fsica de interes[5].
177
Sensores propioceptivos
Suministra informaci on del estado interno del robot: posiciones, velocidades y aceleraciones[57].
Servomecanismo
Sistema autom atico de control de movimiento que usa la realimentaci on para controlar una salida deseada como
posici on, velocidad o aceleraci on[41].
Sistema de control
Sistema dise nado para lograr el comportamiento deseado de un sistema din amico. Puede ser digital (microproce-
sado) o anal ogico (por ejemplo, circuitos electricos, sistemas hidr aulicos, sistemas mec anicos, etc.), manual o
autom atico[41].
Sistema Din amico
Sistema con un n umero nito de grados de libertad y que puede ser modelado matem aticamente por medio de
ecuaciones diferenciales que dependen del tiempo[41].
Sistema lineal
Un sistema es lineal si se cumple el principio de superposici on. Es decir, la relaci on entre la entrada y salida del
sistema es una lnea recta[41].
Torque
Cuando se empuja un objeto, se est a aplicando una fuerza. Cuando se gira algo, tal como una puerta, se est a apli-
cando una fuerza rotacional. La fuerza rotacional se denomina torque[58].
Transmisi on
Las transmisiones son los elementos encargados de transmitir el movimiento desde los actuadores hasta las arti-
culaciones[6].
Transmisi on mec anica
Incrementa la fuerza y el par de salida. Estas transmisiones pueden adoptar la forma de: engranes, tornillos sinfn,
impulsores arm onicos, bandas, cadenas, etc[44].
Transductor
Es un dispositivo que transforma un tipo de variable fsica[5].
Trayectoria de un robot
Para realizar un tarea determinada el robot debe moverse desde un punto inicial a la nal. Este movimiento puede
ser realizado seg un innitas trayectorias espaciales[6].
Variable articular
Valor que puede adquirir el angulo de la articulaci on.
178
Variable controlada
Variable din amica que se regula. Esta variable es medida por los sensores[41].
Variable de control
Variable entregada por el controlador para ser aplica al actuador, despues de ser transformada y amplicada.
Esta variable depende de la variable error[41].
Variable de error
Desviaci on de la variable controlada del punto de referencia. El regulador digital responde en dependencia de esta
variable[41].
Variable din amica
Par ametro fsico que cambia espont aneamente o por inuencia externa. Algunas variables din amicas pueden re-
querir regulaci on. Ejemplos: temperatura, presi on, voltaje, etc.[41].
Variable manipulada
Variable din amica que cambia como funci on de la variable de control y que modica directamente la variable
controlada. Por ejemplo, en el proceso de calentamiento de un lquido la variable de control es el voltaje, el cual
se aplica a una resistencia, y la variable manipulada es el calor[41].
Variable medida
Variable din amica dada por los sensores, proporcional a la variable controlada. Normalmente es un nivel de voltaje
o corriente[41].
179
Apendice C
Apendice: Propiedades dinamicas
La din amica de un robot se encarga de la relaci on entre las fuerzas que act uan sobre un cuerpo y el movimiento que
en el se origina. Esta relaci on se obtiene mediante el modelo din amico, que relaciona matem aticamente: la localizaci on del
robot denida por sus variables articulares o por las coordenadas de localizaci on de su extremo, y sus derivadas: velocidad
y aceleraci on., las fuerzas y pares aplicados en las articulaciones y los par ametros dimensi onales del robot, como longitud,
masas e inercias de sus elementos.
MatLab es un lenguaje de programaci on interpretado en el que las variables son matrices y, por tanto, las operaciones
b asicas aritmeticas y l ogicas son operaciones matriciales. Esto hace que MatLab sea una herramienta muy adecuada para
c alculo matricial y, en concreto, para simulaci on de robots.
En este apendice se presenta el c odigo Matlab y las gr acas que representan las simulaciones digitales que comprueban
las ecuaciones del modelo din amico de un robot antropom orco de tres grados de libertad, despues de haber analizado el
modelo din amico de dicho robot de forma te orica.
Desarrollo
Para dicha simulaci on se crearon dos archivos en Matlab los cuales se denominaron Dinamica.m y Dinamica1.m.
En el primero se declara una funci on global llamada Dinamica en la cual se resolver a con el metodo de Runge Kutta,
dentro de la funci on se denen las ecuaciones del modelo, las caractersticas del robot y del modelo son las masas, longi-
tudes, longitudes al centro de masas, coecientes de fricci on seca, viscosa y gravitaci on. As como tambien en este primer
archivo se eval uan las propiedades de dicho modelo.
El segundo archivo es un script para ejecutar el modelo din amico de un robot antropom orco de tres grados de liber-
tad, en el cual se especican las condiciones que son los valores de q
1
, q
2
, q
3
, qp
1
, qp
2
, qp
3
, x, y, y z, para llamar el
metodo Runge Kutta con la instrucci on ode45, adem as en este script es en donde se realizan las gr acas de coordenadas
operacionales y propiedades del Modelo.
Se dan las condiciones iniciales para que se pueda realizar la simulaci on, algunos de los valores son: q
1
= 0,7854,
q
2
= 0,7854, q
3
= 0,7854, qp
1
= 0, qp
2
= 0, qp
3
= 0, x = 0,175, y = 0,175, z = 0,4475.
Las condiciones iniciales deber an ser validas de acuerdo con el modelo cinem atica, es decir, la posici on la velocidad y
aceleraci on seg un dicho modelo, adem as la posici on deber a pertenecer al espacio de trabajo.
Se propone un robot con las siguientes caractersticas, las masas son: m
1
= 0,45, m
2
= 0,25, y m
3
= 0,15, las longi-
tudes son: L
1
= 0,35, L
2
= 0,35, y L
3
= 0,2, tambien es importante mencionar que se tomar a en cuenta que el centro de
masas de cada uno de los eslabones se localiza en la parte media de cada uno de estos.
180
Problemas
El principal problema al que se enfrenta al hacer la simulaci on fue la falta de comprensi on de las f ormulas matem aticas,
esto se resolvi o revisando los apuntes del modelo cinem atico y din amico, no bastando la simple revisi on tambien se fueron
desarrollando paso a paso cada f ormula hasta llegar a comprenderlas bien.
Otro problema que se tuvo en la gracaci on de la propiedad de antisimetra, ya que al momento de gracar sala exactamente
cero siendo que esta propiedad s olo debe acerc arsele. Se hizo la correcci on en esta parte del c odigo if(abs(PROP) < 1e6),
se cambi o el signo de >(mayor que) por el de < (menor que).
Resultados
A continuaci on se muestran las gr acas como resultado de la simulaci on. En la gura C.1 se muestran los resultados
de la simulaci on, se puede observar el comportamiento de las coordenadas generalizadas y la velocidad angular en cada
una de las articulaciones durante el desarrollo de la simulaci on. En donde las coordenadas generalizadas representan cada
grado de libertad del sistema y la velocidad angular es la derivada de dichas coordenadas.
Explicaci on de resultados:
0 2 4 6
0
0.5
1
Coordenada Generalizada q1
t
q
1
0 2 4 6
1
0
1
2
Coordenada Generalizada q2
t
q
2
0 2 4 6
1.5
1
0.5
0
0.5
1
Coordenada Generalizada q3
t
q
3
0 2 4 6
1
0.5
0
0.5
1
Velocidad Angular dq1/dt
t
q
p
1
0 2 4 6
2
0
2
4
Velocidad Angular dq2/dt
t
q
p
2
0 2 4 6
2
0
2
4
Velocidad Angular dq3/dt
t
q
p
3
Figura C.1: Representaci on de las coordenadas generalizadas y las velocidades angulares
La variable generalizada q
1
se mantiene est atica debido a que no tiene un torque o fuerza que cambie su posici on,
por tal su velocidad es cero.
Al contrario con las coordenadas q
2
y q
3
cuando:
181
En q2 observamos que a partir de un punto inicial de 45

= 0,745 radianes se posiciona oscilando en 1.54


radianes, para esa coordenada su velocidad qp2 se incrementa pero casi de inmediato se estabiliza en cero,
debido a que como el segundo eslab on dej o de moverse su coordenada articular tambien.
En q
3
de igual forma partiendo del mismo punto inicial que q
2
, esta variable articular toma nalmente un valor
de cero; para esa coordenada su velocidad qp
3
se incrementa pero se estabiliza en cero, debido a que como el
tercer eslab on dej o de moverse su coordenada articular tambien.
Esto nos da a entender que en un momento en que el brazo se le quita el torque que lo mantena en una posici on, cae de
tal forma que la gravedad act ua sobre el haciendo que tome la posici on nal, mostrada en las coordenadas generalizadas,
en pocas palabras el brazo se venci o.
En la Figura C.2 se muestran los resultados de la simulaci on, los cuales se pueden expresar en puntos que ocupa el
efector nal durante la tarea dentro del espacio de trabajo en cada uno de los ejes (x,y,z).
Explicaci on de resultados:
0 1 2 3 4 5 6
1
0.5
0
0.5
1
Coordenada Operacional X
t
X
0 1 2 3 4 5 6
1
0.5
0
0.5
1
Coordenada Operacional Y
t
Y
0 1 2 3 4 5 6
1
0.5
0
0.5
1
Coordenada Operacional Z
t
Z
Figura C.2: Representaci on de la posici on del organo terminal.
Las coordenadas operacionales X y Y tienen un momento de oscilaci on identicas por un momento hasta que llegan
a un punto de equilibrio en este caso a cero.
Por su parte la coordenada operacional Z parte de un punto, comienza a oscilar hasta llegar a un punto de equilibrio,
el punto nal que tendr a el efector nal ser a negativo porque el brazo se cae.
En la Figura C.3 se muestran los resultados de la evaluaci on de las propiedades de la matriz de inercia as como la propiedad
de matriz antisimetrica.
182
Explicaci on de resultados:
0 1 2 3 4 5 6 7 8 9 10
0
0.5
1
1.5
x 10
5
Definida Positiva
t
X
0 1 2 3 4 5 6 7 8 9 10
1
0.5
0
0.5
1
Simetrica
t
Y
0 1 2 3 4 5 6 7 8 9 10
1
0
1
2
x 10
7
Antisimetrica
t
Z
Figura C.3: Representaci on de las propiedades del modelo din amico del robot antropom orco
Se puede observar que en la propiedad positiva los valores deben ser mayores de cero pero menores de 1 hasta llegar
a un punto de equilibrio.
En la propiedad simetrica se mantiene en cero, no hay oscilaci on,
Y por ultimo, la propiedad antisimetrica se mantiene constante durante un tiempo, despues oscila un poco hasta
quedar en un punto de equilibrio.
183
Apendice D
Apendice: Manual de usuario del
sistema.
Para iniciar el sistema de Seguimiento de Trayectoria es necesario primero instalar el software necesario (Ver Figura
D.1), como lo es el sistema mismo, la interfaz PHANToM Virtual TRAZO y otros archivos que son requeridos por
esta ultima, para ello se proporciona un programa de instalaci on llamado Seguimiento de trayectoria que se encarga de
crear un directorio llamado Control dentro del directorio raz (Ver Figura D.2), en donde se copiaran todos los archivos
necesarios, adem as de crear una opci on dentro del men u de inicio (Ver Figura D.3), as mismo se podr a crear un icono
en el escritorio si as lo desea (Ver Figura D.4), esto habilitando la opci on cuando se lleve acabo la instalaci on que es sencilla.
Figura D.1: Proceso de instalaci on Paso 1. Figura D.2: Proceso de instalaci on Paso 2.
184
Figura D.3: Proceso de instalaci on Paso 3. Figura D.4: Proceso de instalaci on Paso 4.
Figura D.5: Proceso de instalaci on Paso 5. Figura D.6: Proceso de instalaci on Paso 6.
Para iniciar el programa una vez instalado deber a seleccionar el bot on de inicio, de la barra de tareas, elegir programas
y posteriormente elegir control e iniciar la aplicaci on de Control Figura D.7.
Una vez iniciada la aplicaci on aparecer a el men u principal en Figura D.8 donde el usuario podr a elegir las siguientes
tareas:
Trabajar con la interfaz PHANToM Virtual TRAZO.
Trabajar con un control PIDNL.
Trabajar con un control Adaptable (Demo MatLab).
Salir de la aplicaci on
185
Figura D.7: Ubicaci on de la aplicaci on en el
men u de inicio.
Figura D.8: Men u principal.
D.1. Robot Virtual
En la opci on de robot virtual podr a trabajar con la PHANToM Virtual TRAZO (Ver Figura D.9), interactuar con el
robot virtual esta interfaz solo se podr a manejar a traves del teclado; nos permite una gran variedad de operaciones con
el robot a continuaci on se presentan alguna de las operaciones b asicas para hacer uso de esta interfaz:
Para ver el men u de opciones se utiliza la tecla M, de igual forma para desaparecer el men u.
Mover las articulaciones del robot para dicha acci on se utilizaran las teclas:
Q / W movimiento de la primer articulaci on.
A / S movimiento de la segunda articulaci on.
Z / K movimiento de la tercer articulaci on.
Tambien es posible mover el escenario con las siguientes teclas:
E / R con estas teclas es posible acercar o alejar el escenario respectivamente.
D / F con estas teclas es posible mover hacia arriba o hacia abajo el escenario respectivamente.
C / V con estas teclas es posible mover hacia la izquierda o hacia la derecha el escenario respectivamente.
Es posible incrementar o decrementar el espesor de cada uno de los elementos del robot mediante las teclas O / I
respectivamente cabe hacer menci on que la operaci on se realiza de forma simultanea en cada uno de los elementos
del robot.
Es posible rotar los ejes de referencia X, Y, esto mediante las teclas de desplazamiento como se indica:
Eje Y .
Eje X .
Con la tecla F1 se pueden ver objetos s olidos u objetos trazados solo por lneas y vertices.
Para restablecer el escenario despues de una serie de movimientos, se utiliza la tecla F2.
Para llevar al robot virtual a una posici on inicial que esta denida en la interfaz se utiliza la tecla F3.
Y tal vez la operaci on mas utilizadas para el seguimiento de trayectorias de esta interfaz serian por lo menos las dos
primeras debido a que son la combinaci on para llevar acabo el seguimiento de trayectorias:
F5, carga los valores de la trayectoria.
F6, ejecuta latrayectoria a seguir por el brazo del robot.
186
Figura D.9: Interfaz PHANToM Virtual TRA-
ZO despliegue de men u de opciones.
Figura D.10: Coordenadas generalizadas y op-
eracionales del robot virtua.
P, al esta tecla la trayectoria seguida por el robot ser a marcada por una lnea o un trazo y para quitar el ultimo
trazo y volver a marcar se deber a teclear dos veces.
Existen m as operaciones, pero las anteriores son las necesarias para iniciar a manipular el robot.
En la interfaz PHANToM Virtual TRAZO es posible observar los valores que toman las coordenadas generalizadas y
coordenadas operacionales en cualquier movimiento del Robot virtual (Ver Figura D.10).
D.2. Control PIDNL
En la opci on de control PIDNL el usuario podr a experimentar con un control PIDNL ya sea con o sin convergencia en
tiempo nito, adem as de observar el control PIDNL con TBG resuelto en MatLab (Ver Figura D.11), para llevar acabo el
seguimiento de trayectoria de una circunferencia con centro en C(0,3, 0,2) y un radio de r = 0,1, partiendo siempre de una
posici on inicial que es q1 = 45

, q2 = 45

yq3 = 45

, el usuario podr a modicar las ganancias del robot par efectuar un


mejor seguimiento al sintonizar cada vez mejor al robot.
Figura D.11: Control PIDNL.
Figura D.12: Simulaci on Terminada Control
PIDNL.
187
Al elegir la opci on que desea ejecutar se habilitara el bot on de iniciar en el caso de elegir PIDNL o PIDNL con TBG,
o se habilitara el bot on de ver robotsi se eligi o el demo de MatLab, en el caso que ya se haya realizado alguna simulaci on
al elegir una nueva opci on los resultados y errores de esta son borrados para continuar con una nueva simulaci on y los
valores de las ganancias y tiempos son restablecidos.
Al elegir PIDNL el usuario podr a iniciar la simulaci on con los par ametros que la aplicaci on tiene designados en:
Tiempo de simulaci on
Ganancias KD y KP

Estos valores pueden ser cambiados por el usuario a su antojo, para experimentar que sucede en la simulaci on, las
ganancias KI no podr an ser modicadas por el usuario debido a que dependen de las ganancias KD y KP; al iniciar la
simulaci on aparecer a una barra en la esquina inferior derecha que nos indica progreso de la simulaci on y al terminar la
simulaci on se despliega un mensaje que no indica que se ha terminado el proceso y es posible ahora ver el robot con el
seguimiento de la trayectoria (Ver Figura D.12).
Al terminar la simulaci on no solo es posible ver el robot virtual, si no que tambien se muestran en pantalla en la parte
izquierda los valores de los errores en cada una de las articulaciones, as como los valores obtenidos en la simulaci on de
la tarea (Ver Figura D.14), de igual forma se habilitar a un bot on Siguiente para mostrar los valores en forma graca;
en el caso de que el usuario elija ver el robot virtual para ejecutar la trayectoria y ver el trazo de la misma, una vez que
aparezca la interfaz PHANToM Virtual TRAZO deber a pulsar la siguiente secuencia de teclas P, F5y F6 y el robot
desarrollara la trayectoria (Ver Figura D.13).
Figura D.13: Trayectoria realizada por el Robot
virtual Control PIDNL.
Figura D.14: Resultados de la simulaci on Con-
trol PIDNL.
En las gracas el usuario podr a observar los valores de las coordenadas generalizadas, as como los valores de los errores
al realizar la simulaci on (Ver Figuras D.15, D.16, D.17 y D.18). Si se desear a llevar acabo otra simulaci on, sin que el
sistema restablezca los valores solo basta con cambiar el tiempo de simulaci on o cualquier valor de las ganancias para que
el bot on de iniciar se habilite de nuevo.
188
Figura D.15: Graca coordenada generalizada
q1 y qd1 Control PIDNL.
Figura D.16: Gr aca coordenada generalizada
q2 y qd2 Control PIDNL.
Figura D.17: Gr aca coordenada generalizada
q3 y qd3 Control PIDNL.
Figura D.18: Gr aca de errores Control PIDNL.
Al elegir PIDNL con TBG el usuario podr a iniciar la simulaci on con los par ametros que la aplicaci on tiene designados
en:
Tiempo de simulaci on
Ganancias KD y KP
Tiempo de Convergencia

Estos valores pueden ser cambiados por el usuario a su antojo, para experimentar que sucede en la simulaci on, las
ganancias KI no podr an ser modicadas por el usuario debido a que dependen de las ganancias KD y KP; al iniciar la
simulaci on aparecer a una barra en la esquina inferior derecha que nos indica progreso de la simulaci on y al terminar la
simulaci on se despliega un mensaje que no indica que se ha terminado el proceso y es posible ahora ver el robot con el
seguimiento de la trayectoria(Ver Figura D.19).
Al terminar la simulaci on no solo es posible ver el robot virtual si no que tambien se muestran en pantalla en la parte
izquierda los valores de los errores en cada una de las articulaciones, as como los valores obtenidos en la simulaci on de
la tarea (Ver Figura D.21), de igual forma se habilitar a un bot on Siguiente para mostrar los valores en forma graca;
189
Figura D.19: Simulaci on Terminada Control
PIDNL con TBG.
en el caso de que el usuario elija ver el robot virtual para ejecutar la trayectoria y ver el trazo de la misma, una vez que
aparezca la interfaz PHANToM Virtual TRAZO deber a pulsar la siguiente secuencia de teclas P, F5 y F6 y el robot
desarrollara la trayectoria (Ver Figura D.20).
Figura D.20: Trayectoria realizada por el Robot
virtual Control PIDNL con TBG.
Figura D.21: Resultados de la simulaci on Con-
trol PIDNL con TBG.
En las gracas el usuario podr a observar los valores de las coordenadas generalizadas, as como los valores de los errores
al realizar la simulaci on y observara la convergencia del robot (Ver Figuras D.22, D.23, D.24 y D.25). Si se desear a llevar
acabo otra simulaci on, sin que el sistema restablezca los valores solo basta con cambiar el tiempo de simulaci on o tiempo
de convergencia o cualquier valor de las ganancias para que el bot on de iniciar se habilite de nuevo.
Al elegir PIDNL con TBG (Demo) el usuario podr a ver los resultados obtenido en MatLab en la parte derecha de la
pantalla, en el mismo formato que en las simulaciones realizadas por esta aplicaci on, en la parte izquierda se muestran
las condiciones de simulaci on (Ver Figura D.26), tambien podr a ver el c odigo de MatLab (Ver Figura D.27), as como las
gracas obtenidas(Ver Figura D.28). Y podr a de igual forma que las opciones anteriores ver el robot virtual y el seguimiento
de la trayectoria pulsando el bot on Ver robot y deber a pulsar la siguiente secuencia de teclas P, F5 y F6 y el robot
desarrollara latrayectoria (Ver Figura D.29).
190
Figura D.22: Gr aca coordenada generalizada
q1 y qd1 Control PIDNL con TBG.
Figura D.23: Gr aca coordenada generalizada
q2 y qd2 Control PIDNL con TBG.
Figura D.24: Gr aca coordenada generalizada
q3 y qd3 Control PIDNL con TBG.
Figura D.25: Gr aca de errores Control PIDNL
con TBG.
D.3. Control Adaptable
Al elegir Adaptable se muestra un Demo de un control adaptable con TBG en donde el usuario podr a ver los resultados
obtenido en MatLab en la parte derecha de la pantalla, en el mismo formato que en las simulaciones realizadas por esta
aplicaci on, en la parte izquierda se muestran las condiciones de simulaci on (Ver Figura D.30), tambien podr a ver el c odigo
de MatLab (Ver Figura D.31), as como las gracas obtenidas (Ver Figura D.32). Y podr a de igual forma que las opciones
anteriores ver el robot virtual y el seguimiento de la trayectoria pulsando el bot on Ver robot y deber a pulsar la siguiente
secuencia de teclas P, F5 y F6 y elrobot desarrollara la trayectoria (Ver Figura D.33).
191
Figura D.26: Demo MatLab Control PIDNL con TBG.
Figura D.27: Trayectoria realizada por el robot virtual Control PIDNL con TBG.
192
Figura D.28: C odigo MatLab Control PIDNL con TBG.
Figura D.29: Gr acas MatLab Control PIDNL con TBG.
193
Figura D.30: Demo MatLab Control Adaptable con TBG.
Figura D.31: Trayectoria realizada por el robot virtual Control Adaptable con TBG.
194
Figura D.32: C odigo MatLab Control Adaptable con TBG.
Nota: en caso de que se pulse el bot on Ver Robot y se despliegue el mensaje La interfaz esta en ejecuci on.. verique
, se deber a pasar a la paliaci on pulsando las teclas Alt + tab hasta llegar a la aplicaci on Interfaz virtual PAHNToM 1.0
CITIS UAEH 2005 y cerrarla y volver a la aplicaci on Seguimiento de Trayectoria o pulsar F2, F3 y P.
195
Figura D.33: Gr acas MatLab Control Adaptable con TBG.
196
Apendice E
Artculo: Visualizaci on virtual del
Sistema de Seguimiento de trayectorias
(Realidad virtual).
197
198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

Apendice F
Artculo: Control PID no Lineal con
Convergencia en Tiempo Finito.
216

217

218


219





220


221


222


223


224


225


226


227


228


229


230



Apendice G
Artculo: Seguimiento Adaptativo de
Trayectorias con Convergencia en
Tiempo Finito de un Robot
Antropom orco Virtual.
232

233


234


235


236


237


238


239


240


241


242


243


244


245


246


247


248


249


250

Apendice H
Apendice: Contenido del CD.
El CD que se anexa a este trabajo contiene la siguiente informaci on:
C odigo en Matlab Control PD.
C odigo en Matlab Control PID.
C odigo en Matlab Control PIDNL.
C odigo en Matlab Control Adaptable.
C odigo en Matlab control PDNL con TBG.
C odigo en Matlab Control Adaptable con TBG.
C odigo en Delphi 7.0 de la Interfaz de Usuario.
Instalador de la Aplicaci on de Control.
252
Bibliografa
[1] Mark W. Spong, M. Vidyasagar. Robot Dynamics and Control John Wiley y Sons, U. S. A. 1989.
[2] K. S. Fu, R. C. Gonz alez, C. S. G. Lee. Rob otica: Control, Visi on e Inteligencia. Primera edici on. McGraw
Hill/Interamericana de Espa na, S. A. 1988.
[3] Katsuhiko Ogata. Ingeniera de Control Autom atico. Septima edici on. Prentice Hall Hispanoamericana, S.
A. de C. V. 1996.
[4] Benjamn C. Kuo. Sistemas de Control Autom atico. Septima edici on. Prentice Hall Hispanoamericana, S.
A. de C. V. 1996.
[5] Mikell P. Groover, Mitchell Weiss, Roger N. Nagel y Nicolas G. Odrey. Rob otica Industrial: Tecnologa,
Programaci on y Aplicaciones. Primera edici on. McGraw Hill/Interamericana de Mexico, S. A. 1990.
[6] Barrientos, A., PE

NIN,LF., BALAGUER C., ARACIL, R. Fundamentos de Rob otica. Madrid: Mc-Graw


Hill, 1997. 326p.
[7] C omo y cu ando aplicar un robot industrial Daniel Aud Piera Ed. Marcombo Boixareau
[8] Fundamentos de Fsica. Frank J. Blatt. Ed. Prentice Hall Hispanoamericano, S.A.
[9] ASIMOV, Isaac. Los robots: Ediciones Orbis S.A., 1986. 160p.
[10] B. Gorla, M. Renaund. Modeles des Robots Manipulateurs, Application a Leur Commande, A and P,
Francia 1984.
[11] Schlussel, K. (1985). Robotics and Artitial Intelligence Across the Atlantic and Pacic. IEEE Transactions
on Industrial electronics. IE-30, 3, 244-251.
[12] Brady, M.(1985). Artitial Intelligence and Robotics, Artitial Intelligence. 26, pp. 79-121.
[13] McKerrow, P.J. (1986)Robotics, An Academic Dcipline?, Robotics, 2, 3, pp. 267-274.
[14] John J. Craig, Introduction to Robotics Mechanics and Control, Addison Wesley, 1989, E.U.A.
[15] Antti J. Koivo, Fundamentals for Control of Robotic Manipulators, John Wiley and Sons, 1989, E.U.A.
[16] Ferrate, G., AMAT, J., AYSA, J., Y OTROS. Rob otica Industrial. Barcelona : Marcombo, S.A., 1988.
382p.
[17] L. Sciavicco and B. Siciliano, Modelling and Control of Robot Manipulators. Great Britain 2001. McGraw
Hill.
[18] Surgery: From Lister to Robotics, Lecture by Guillermo A Gomez, The University of Texas Medical Branch
Mini-Medical School, Austin, Texas, April 6, 2004
[19] Omar A. Domnguez Ramrez, J. Carrera, F. Garrido. Introducci on a los Robots Manipuladores, CITIS,
Universidad Aut onoma de Hidalgo, Pachuca, Hgo. Mexico 1999.
253
[20] P amanes Garca J. A. Modelado de Robots Manipuladores. 1994, Mexico.
[21] Timothy J. Maloney. Electr onica Industrial Moderna, Tercera Edici on, Prentice may, 1997.
[22] Rob otica, una introducci on D. McCloy, D. M. J. Harris Noriega editores.
[23] Domnguez-Ramrez, O. A. and V. Parra-Vega, Interacci on H aptica de Alto Desempe no con Objetos Vir-
tuales Din amicos Deformables, Avances en la Ciencia de la Computaci on en Mexico, ISBN 970-36-0026-3,
Centro de Investigaci on en Computaci on del Instituto Politecnico Nacional y ACM Mexico. Research on
Computing Science, vol 2, pp 294-310, 2003.
[24] Omar A. Domnguez Ramrez, Herbert Lara Ordaz Ram on Soto de la Cruz, Virgilio L opez-Morales, Visu-
alization and Control of Virtual Robot Manipulators, Citis, UAEH, CICINDI 2004, ISBN:970-36-0189-8.
[25] Herbert Lara Ordaz, An alisis y dise no de una interfaz de visualizaci on virtual del dispositivo h aptico PHAN-
ToM 1.0 basada en la din amica de Euler-Lagrange, Universidad Aut onoma del Estado de Hidalgo, Pachuca,
Hidalgo,2005.
[26] Gua f acil: Rob otica, J. Ma. Angulo Usategui Jose No S anchez de Le on, Paraninfo
[27] Domnguez-Ramrez Omar Arturo, Dise no e integraci on de una interfaz H aptica Activa, Centro de Investi-
gaciones y Estudios Avanzados de IPN, Divisi on de mecatr onica, Mexico D.F.,2004
Referencias electr onicas.
[28] http : //www.nasa.gov
[29] http : //www.apuntes.robotica.com
[30] http : //www.itapizaco.edu.mx/paginas/robo/TTM1/
[31] http : //www.chi.itesm.mx/ cim/robind/robotica.html
[32] http : //www.iso.org/iso/en/faqs/faq standards.html
[33] www.cs.uiowa.edu/reu/summer95/Ovo Dafe/ovo/ovo.html
[34] http : //www.motoman.com
[35] www.superrobotica.com/S300205.htm
[36] http : //www.vieartificielle.com/
[37] http : //www.stanford.edu/
[38] http : //www.robothalloffame.org/04inductees/shakey.html
[39] http : //www.roboticspot.com/spot/asifue/his2004b.html
[40] http : //www.cienciasmisticas.com.ar/tecnologia/automatizacion/robotica/index.html
[41] Intuitive Surgical Web site, Accessed April 20, 2004, http : //www.intuitivesurgical.com/products/index.html
[42] Coolest Inventions of 2003: Mine Sweeper, Time Online Magazine, November 17, 2003, Accessed April 20,
2004, http : //www.time.com/time/2003/inventions/invlobster.html
[43] http : //disclab.ua.es/robolab/index.html
[44] http : //www.autodesk.es/adsk/servlet/index?siteID = 455755id = 5134721
[45] http : //www1.discreet.com/site/LatinAme.nsf/products/E38D3D66EB3A857A85256DD0004DD47C?
opendocument
254
[46] http : //px379.narod.ru/infosoftware3d.htm
[47] http : //agemenon.uniandes.edu.com/fde/isis380 2003 2/ejemplos/
[48] http : //dac.escet.urjc.es/formella/doc/ig03node31.html
[49] http : //www.cosimir.com/V R/English/Technologie/Introduction.htm
[50] http : //www cia.mty.itesm.mx/ gordillo/GV/personal.html
[51] http : //www.cyc.dfis.ull.es/simrob/pdf/proyecto.pdf
[52] http : //lim.ii.udc.es/docencia/phd meccomp/
[53] http : //zip.rincondelvago.com/?00025343
[54] http : //espejos.unesco.org.uy/simplac2002/Ponencias/ambientes20digitales/AD003.doc
[55] http : //correo.puj.edu.co/bdelgado/V irtual.htm
[56] http : //www.access.control systems.net/recursos/glosario/index.htm
[57] http : //www.fischertechnik.us/
[58] http : //personal5.iddeo.es/ztt/Tem/T6Matrices.htm
[59] http : //www.rec.ri.cmu.edu/education/webpage/torque.htm
[60] http : //www.used industrial robots.com/
[61] Kelly M. Rafael Control de movimiento de Robots Manipuladores, Notas de curso, Centro de sistemas de
Manofactura, Instituto Tecnol ogico de Estudios Superiores de Monterrey, Mexico.
255

También podría gustarte