Está en la página 1de 217

S.E.P. S.E.I.T. D.G.I.T.

CENTRO NACIONAL DE INVESTIGACIÓN


Y DESARROLLO TECNOLÓGICO

cenidet
“CARACTERIZACIÓN DE UN ROBOT
MANIPULADOR ARTICULADO”

T E S I S
QUE PARA OBTENER EL GRADO DE :
MAESTRO EN CIENCIAS
EN INGENIERIA MECATRÓNICA
P R E S E N T A N :
ING. SALOMÓN ABDALÁ CASTILLO
ING. RAÚL ÑECO CABERTA

DIRECTORES:
M.C. JOSÉ LUIS GONZÁLEZ RUBIO SANDOVAL
DR. JOSÉ RUIZ ASCENCIO
DR. LUIS GERARDO VELA VALDÉS

CUERNAVACA, MORELOS JUNIO 2003


Dedicatorias:
A Dios por todas las bendiciones que ha derramado
en mí, por mandarme ese angelito y permitirme ser lo que
soy.

A mi amada esposa Laura por haber decidido


compartir su vida conmigo, por levantarme cuando
pienso que no puedo más, por amarme de esa forma y
por permitirme ser papá… ¡te amo!

A mis Padres por creer en mí, por darme


su amor, sus consejos, sus regaños y ese apoyo
incondicional siempre.

A mi hijo Salomón que ha llenado


mi vida de ánimos y me motiva a
conquistar nuevas metas, a ti hijo mío y a
tus hermanos que faltan.

A mis hermanos Lulú y


Abraham por confiar en mi y
escucharme cada vez que lo necesito.

Los quiero y amo mucho…

Salomón A. C.
Agradecimientos

A Laura por todos los desvelos que compartimos juntos y por fin
llegamos a este anhelado sueño.
A mis papas por apoyarme siempre y en todo momento.
A mi apreciable amigo y compañero de tesis Raúl Ñeco por su gran
paciencia conmigo, por todos los conocimientos que me compartió y por que
siempre confió en que este trabajo lo terminaríamos exitosamente.
A mis amigos de la maestría: Manuel N., Sergio R., Yahir M. y en
especial a Alejandro H. y a Raúl Ñ. por brindarme su amistad y por todo el
apoyo que recibí de ustedes durante toda esta época de peripecias,
sufrimientos pero también de muchas glorias.
A mis muy buenos amigos los “mecánicos”: Alfredo R., Sósimo D. y
Jaime V. por todos esos ratos alegres que pudimos compartir y por su
amistad.
A mis compañeros de Cenidet: Marving J. (y Erika), Gabriel y Laura.
Al M.C. Jesús Aguayo por su apoyo para la realización de
adquisición de datos con el robot pues fue una parte importante de este
trabajo.
A mis asesores el Dr. Luis G. Vela, Dr. José Ruiz Ascencio y al M.C.
José L. Glez. Rubio, por su tiempo, paciencia y conocimientos que aportaron
para cristalizar este trabajo.
A mis revisores el Dr. Gerardo V. Guerrero (además gracias por la
asesorías), Dr. Raúl Garduño y Dr. Marco A. Oliver por las observaciones y
sugerencias que proporcionaron para hacer de este trabajo, un excelente
trabajo.
Al Cenidet por abrirme las puertas a sus aulas donde adquirí y
enriquecí mis conocimientos y por colaborar a mi formación académica y
personal.
A la SEP y COSNET por el tiempo que me apoyaron
económicamente en una parte de mis estudios.

A todos ustedes
¡¡¡ GRACIAS !!!
Salomón A. C.
Dedicatorias:

A mi madre Juana Caberta Alegría, por estar siempre


junto a mí y darme todo su cariño.

A mi padre Santiago Ñeco García, por su apoyo


para lograr cumplir las metas que trace durante mis
estudios.

A cada uno de mis hermanos, Roberto,


Anabel, Gloria, Teresa, Rosa y Leticia por su
gran cariño.

A mis sobrinos, para los que espero y


puedan lograr todas las metas que se
propongan.

Raúl Ñ. C.
Agradecimientos

Al Centro Nacional de Investigación y Desarrollo Tecnológico


(Cenidet), así como al Consejo nacional de Educación Tecnológica (Cosnet).

A mis padres por ser lo mejor que tengo en esta vida.

A mi compañero de tesis Ing. Salomón Abdalá Castillo por


brindarme su amistad y confianza.

A mis asesores de tesis por su colaboración y apoyo en la realización


de este trabajo: Dr. José Ruiz Ascencio, Dr. Luis Gerardo Vela Valdés, M.C.
José Luis González Rubio Sandoval.

A los Dr. Gerardo Vicente Guerrero Ramírez, el Dr. Raúl garduño


Ramírez y el Dr. Marco Antonio Oliver Salazar por la ayuda que me
otorgaron y el tiempo de asesorías brindado para que este trabajo pudiera
culminar.

A cada uno de mis compañeros de generación con los cuales


compartí gratos momentos.

Raúl Ñ. C.
TABLA DE CONTENIDO
Pág.

LISTA DE FIGURAS viii


LISTA DE TABLAS xi
SIMBOLOGÍA xii
ABREVIATURAS Y ACRÓNIMOS xiii
RESUMEN xiv
PREFACIO xv

CAPÍTULO 1
INTRODUCCIÓN 1

1.1 Generalidades 2
1.1.1 Robot 2
1.1.2 La robótica 2
1.1.2.1 ¿Qué es la robótica? 3
1.1.3 Manipulador articulado 3
1.2 Antecedentes en el Cenidet 4
1.3 Descripción del problema 5
1.4 Objetivos de la tesis 6
1.5 Alcances de la tesis 7
1.6 Estado del arte 8
1.6.1 Clasificación de los robots basados en las generaciones de sistemas de
control 8
1.6.1.1 La primera generación 8
1.6.1.2 La segunda generación 8
1.6.1.3 La tercera generación 8
1.6.1.4 La cuarta generación 8
1.6.1.5 La quinta generación 9
1.6.2 El robot industrial 9
1.6.2.1 Configuraciones básicas 10
1.6.2.1.1 Configuración polar 10
1.6.2.1.2 Configuración cilíndrica 10
1.6.2.1.3 Configuración de coordenadas cartesianas 11
1.6.2.1.4 Configuración de brazo articulado 11
1.6.3 Construcción 12
1.6.4 Arquitecturas de los robots 12
1.6.4.1 Poliarticulados 13
1.6.4.2 Móviles 13
1.6.4.3 Androides 13
1.6.4.4 Zoomórficos 14

i
1.6.4.5 Híbridos 14
1.6.5 Campos de aplicación 14
1.6.6 Ventajas y desventajas del uso de los robots 15
1.7 El robot “Scorbor ER V plus” 15

CAPÍTULO 2
MODELADO MATEMÁTICO 18

2.1 Cinemática 19
2.1.1 Cinemática directa 20
2.1.2 Cinemática inversa 24
2.2 Dinámica 28
2.2.1 Consideraciones dinámicas 28
2.2.2 Dinámica inversa 28
2.2.2.1 Análisis de la articulación en la base 30
2.2.2.2 Análisis de la articulación en el primer eslabón 30
2.2.2.3 Análisis de la articulación en el segundo eslabón 31
2.2.2.4 Análisis de la articulación en el segundo eslabón
respecto a la carga 33
2.2.2.5 Ecuación de Lagrange 34
2.2.2.6 Fricción 37
2.2.2.7 Par de la articulación 1 (cintura) 38
2.2.2.8 Par de la articulación 2 (hombro) 39
2.2.2.9 Par de la articulación 3 (codo) 40
2.2.2.10 Modelo dinámico inverso par un robot manipulador
articulado 41
2.2.3 Dinámica directa 42
2.2.3.1 Modelo dinámico directo par un robot manipulador
articulado 44

CAPÍTULO 3
SIMULACIÓN EN PC 45

3.1 Cinemática 46
3.1.1 Cinemática directa 46
3.1.2 Cinemática inversa 53
3.2 Dinámica 65
3.2.1 Dinámica inversa 65
3.2.2 Péndulos 66
3.2.2.1 Péndulo simple 66
3.2.2.2 Péndulo horizontal 67
3.2.3 Robot planar 68
3.2.4 Dinámica directa 71

ii
CAPÍTULO 4
VALIDACIÓN 75

4.1 Validación de los modelos cinemáticos directo e inverso 76


4.2 Validación del modelo dinámico inverso 77
4.2.1 Descripción de experimentos 77
4.2.2 Equipo utilizado 79
4.2.3 Información de los actuadores 80
4.2.4 Estimación de pesos 80
4.2.5 Experimentos realizados 84
4.2.5.1 Prueba 1 (cintura) 85
4.2.5.1.1 Condiciones iniciales 85
4.2.5.1.2 Resultados del experimento 85
4.2.5.1.3 Registro de tiempos en la prueba 86
4.2.5.1.4 Graficación de los datos de la corriente en Excel 87
4.2.5.1.5 Relación de engranaje 87
4.2.5.1.6 Comparación de señal de prueba vs. simulación 88
4.2.5.2 Prueba 2 (hombro) 89
4.2.5.2.1 Condiciones Iniciales 89
4.2.5.2.2 Resultados del Experimento 89
4.2.5.2.3 Registro de tiempos en la prueba 90
4.2.5.2.4 Graficación de los datos de la corriente en Excel 91
4.2.5.2.5 Relación de engranaje 91
4.2.5.2.6 Comparación de señal de Prueba vs. Simulación 92
4.2.5.3 Prueba 3 (codo) 93
4.2.5.3.1 Condiciones iniciales 93
4.2.5.3.2 Resultados del experimento 93
4.2.5.3.3 Registro de tiempos en la prueba 94
4.2.5.3.4 Graficación de los datos de la corriente en Excel 95
4.2.5.3.5 Relación de engranaje 95
4.2.5.3.6 Comparación de señal de prueba vs. simulación 96
4.2.5.4 Prueba 4 (hombro y codo) 97
4.2.5.4.1 Condiciones iniciales 97
4.2.5.4.2 Resultados del experimento 97
4.2.5.4.3 Registro de tiempos en la prueba 98
4.2.5.4.4 Graficación de los datos de la corriente en Excel 99
4.2.5.4.5 Relación de engranaje 99
4.2.5.4.6 Comparación de señales de prueba vs. simulación 99
4.3 Validación del modelo dinámico directo 102

CAPÍTULO 5
CONCLUSIONES 103

5.1 Resultados 105

iii
5.2 Aportaciones 107
5.3 Trabajos futuros 108

BIBLIOGRAFÍA GENERAL 109

PÁGINAS WEB 114

APÉNDICE A
EL ROBOT SCORBOT - ER V plus 115

A.1 Especificaciones 116


A.2 Espacio de trabajo 117
A.3 Métodos de operación 118
A.4 Control de trayectoria 121
A.5 Interfase 123

APÉNDICE B
CINEMÁTICA 125

B.1 Cinemática Directa 126


B.1.1 Denavit – Hartenberg 126
B.1.2 Parámetros Denavit – Hartenberg 127
B.1.3 Algoritmo Denavit – Hartenberg 127
B.1.4 Matriz de transformación 128
B.2 Cinemática inversa 129
B.2.1 Métodos de solución 129

APÉNDICE C
DINÁMICA 130

C.1 Formulación de Lagrange 131


C.2 Función de disipación de Rayleigh 132
C.3 Solución a un modelo 132

APÉNDICE D
PÉNDULOS 134

D.1 Modelo del péndulo simple 135


D.1.2 Energía cinética 136

iv
D.1.3 Energía potencial 136
D.2 Rotación de un sólido rígido alrededor de un eje fijo 137
D.3 Modelo del péndulo horizontal 138
D.3.1 Energía cinética 139
D.3.1 Energía potencial 140
D.4 Robot planar 141
D.4.1 Análisis de la articulación en el primer eslabón 141
D.4.2 Análisis de la articulación en el segundo eslabón 142
D.4.3 Análisis de la articulación en el primer eslabón respecto a la carga 143
D.5 Ecuación de Lagrange 144
D.6 Par de la articulación 2 147
D.7 Par de la articulación 3 147

APÉNDICE E
IDENTIDADES 148

E.1 Relaciones entre las funciones trigonométricas 148


E.2 Funciones de ángulos múltiples 149
E.3 Potencias del seno y coseno en función de ángulos múltiples 149
E.4 Funciones de la suma y diferencia de dos ángulos 149

APÉNDICE F
PROGRAMAS 150

F.1 Programa en “C” de la cinemática directa. 151


F.2 Programa en ACL para la prueba 1 156
F.3 Programa en ACL para la prueba 2 156
F.4 Programa en ACL para la prueba 3 157
F.5 Programa en ACL para la prueba 4 157
F.6 Posiciones registradas en el controlador 158

APÉNDICE G
SUBSISTEMAS EN MATLAB/SIMULINK 159

G.1 Dinámica 160


G.1.1 Dinámica inversa 160
G.1.1.1 Parámetros 160
G.1.1.2 Entrada 160
G.1.1.3 Bloque A (ecuación 2-83) 161
G.1.1.4 Bloque E (ecuación 2-91) 162
G.1.1.5 Bloque F (ecuación 2-92) 162
G.1.1.6 Bloque H (ecuación 2-98) 163
G.1.1.7 Bloque I (ecuación 2-99) 163

v
G.1.1.8 Bloque J (ecuación 2-86) 164
G.1.1.9 Bloque K (ecuación 2-93) 165
G.1.1.10 Bloque P (ecuación 2-100) 166
G.1.1.11 Bloque N (ecuación 2-94) 167
G.1.1.12 Bloque O (ecuación 2-101) 167
G.1.2 Dinámica directa 168
G.2 Péndulos 168
G.2.1 Péndulo simple 168
G.2.1.1 Inercias 168
G.2.1.2 Gravitacionales 169
G.2.2 Péndulo horizontal 169
G.2.2.1 Inercias 169
G.3 Robot planar 170
G.3.1 Bloque A_2 170
G.3.2 Bloque B_2 170
G.3.3 Bloque E_2 171
G.3.4 Bloque G_2 171
G.3.5 Bloque C_2 172
G.3.6 Bloque D_2 172
G.3.7 Bloque F_2 173
G.3.8 Bloque H_2 173

APÉNDICE H
ENGRANES 174

H.1 Nomenclatura 175


H.2 Tren de engranes 176
H.2.1 Trenes de engranes simples 176
H.2.2 Tren de engranes compuestos 177
H.2.3 Trenes de engranajes epicíclicos o planetarios 178

APÉNDICE I
PRÁCTICAS 181

I.1 Práctica 0 182


I.2 Práctica 1 184
I.3 Práctica 2 186
I.4 Práctica 3 188
I.5 Práctica 4 190
I.6 Práctica 5 193
I.7 Respuesta de la práctica 0 195
I.8 Respuesta de la práctica 1 195
I.9 Respuesta de la práctica 2 195
I.10 Respuesta de la práctica 3 196

vi
I.11 Respuesta de la Práctica 4 196
I.12 Respuesta de la Práctica 5 196

vii
LISTA DE FIGURAS

Pág.

Figura 1-1 Celda de manufactura 5


Figura 1-2 Robot Scorbot-ER V plus de almacenes 6
Figura 1-3 Área de trabajo de la configuración polar 10
Figura 1-4 Área de trabajo de la configuración cilíndrica 11
Figura 1-5 Área de trabajo de la configuración de coordenadas cartesianas 11
Figura 1-6 Área de trabajo de la configuración de brazo articulado 12
Figura 1-7 Gráfica de porcentajes de aplicación de lo robots en las industrias 15
Figura 1-8 Scorbot-ER V plus 16
Figura 1-9 Vista del CIM 16
Figura 1-10 Ubicación de los sensores 17

Figura 2-1 Relación entre la cinemática directa e inversa. 19


Figura 2-2 Marco de referencias para el Scorbot-ER V plus. (a) y (b) 20
Figura 2-3 Robot y efector final, mostrando la definición de n, s, a y TCP 24
Figura 2-4 DCL de la Cinemática inversa 25
Figura 2-5 Proyección en un plano para la configuración codo abajo 26
Figura 2-6 Proyección en un plano para la configuración codo arriba 27
Figura 2-7 Relación entre la dinámica directa e inversa 28
Figura 2-8 DCL de la Dinámica inversa. 29
Figura 2-9 Proyección en un plano para la dinámica inversa. 30

Figura 3-1 Vista de planta 52


Figura 3-2 Vista lateral 52
Figura 3-3 Vista isométrica 52
Figura 3-4 Vista de planta 64
Figura 3-5 Vista lateral 64
Figura 3-6 Vista isométrica 64
Figura 3-7 Bloque de la dinámica inversa 65
Figura 3-8 Diagrama de bloques principal de la dinámica inversa 65
Figura 3-9 Diagramas de bloques de la dinámica inversa del péndulo simple 66
Figura 3-10 Gráfica del par requerido por el péndulo simple (1 GDL) 67
Figura 3-11 Gráfica del par requerido por el robot para el hombro (3 GDL) 67
Figura 3-12 Diagrama de bloques principal de la dinámica inversa del péndulo
horizontal 67
Figura 3-13 Gráfica del par requerido por el péndulo horizontal (1 GDL) 68
Figura 3-14 Gráfica del par requerido por el robot para la cintura (3 GDL) 68
Figura 3-15 Diagrama de bloques principal de la dinámica inversa de un robot

viii
planar 69
Figura 3-16 Gráfica del par requerido por robot planar (2 GDL) 70
Figura 3-17 Gráfica del par requerido por el robot para el hombro (3 GDL) 70
Figura 3-18 Gráfica del par requerido por el robot planar (2 GDL) 70
Figura 3-19 Gráfica del par requerido por el robot para el codo (3 GDL) 70
Figura 3-20 Bloque de la dinámica directa 71
Figura 3-21 Bloque de la dinámica directa e inversa 71
Figura 3-22 Diagrama de bloques principal de la dinámica directa 72
Figura 3-23 Par de entrada a la dinámica directa 73
Figura 3-24 Posición dinámica inversa 73
Figura 3-25 Posición dinámica directa 73
Figura 3-26 Velocidad dinámica inversa 74
Figura 3-27 Velocidad dinámica directa 74
Figura 3-28 Aceleración dinámica inversa 74
Figura 3-29 Aceleración dinámica directa 74

Figura 4-1 Foto de la interfase DB-50 77


Figura 4-2 Diagrama de conexiones 78
Figura 4-3 Parábola de velocidad 79
Figura 4-4 Primer eslabón del robot realizado en Pro-Enginner. 81
Figura 4-5 Movimiento de cintura 85
Figura 4-6 Pantalla del osciloscopio en la prueba 1 86
Figura 4-7 Gráfica de corriente en prueba 1 87
Figura 4-8 Transmisión mecánica en la cintura 87
Figura 4-9 Gráfica del par en prueba 1 en experimentos 88
Figura 4-10 Gráfica del par en prueba 1 en simulación 88
Figura 4-11 Movimiento de hombro 89
Figura 4-12 Pantalla del osciloscopio en la prueba 2 90
Figura 4-13 Gráfica de corriente en prueba 2 91
Figura 4-14 Transmisión mecánica en el hombro 91
Figura 4-15 Gráfica del par en prueba 2 en experimentos 92
Figura 4-16 Gráfica del par en prueba 2 en simulación. 92
Figura 4-17 Movimiento del codo 93
Figura 4-18 Pantalla del osciloscopio en la prueba 3 94
Figura 4-19 Gráfica de corriente en prueba 3 95
Figura 4-20 Transmisión mecánica en el codo 95
Figura 4-21 Gráfica del par en prueba 3 en experimentos 96
Figura 4-22 Gráfica del par en prueba 3 en simulación 96
Figura 4-23 Movimientos de hombro y codo 97
Figura 4-24 Pantalla del osciloscopio en la prueba 4 98
Figura 4-25 Gráfica de corriente en prueba 4 99
Figura 4-26 Gráfica del par en prueba 4 en experimentos (hombro) 100
Figura 4-27 Gráfica del par en prueba 4 en simulación (hombro) 100
Figura 4-28 Gráfica del par en prueba 4 en experimentos (codo) 101
Figura 4-29 Gráfica del par en prueba 4 en simulación (codo) 101

ix
Figura 5-1 Par generado por el motor1 para mover la cintura 106
Figura 5-2 Par en simulación para el movimiento de cintura sin fricción 106
Figura 5-3 Par en simulación para el movimiento de cintura con fricción 106

Figura B-1a Uniones de revolución (R) 126


Figura B-1b Uniones prismáticas (P) 126

Figura D-1 Péndulo invertido 135


Figura D-2 Rotación de un cuerpo sobre un eje 138
Figura D-3 Péndulo horizontal 139
Figura D-4 DCL de un robot planar 141

Figura H-1 Nomenclatura de engranes 175


Figura H-2 Tren simple de engranes 177
Figura H-3 Tren simple en serie de engranes 177
Figura H-4 Tren compuesto de engranes 178
Figura H-5 Tren típico de engranes planetarios 179
Figura H-6 Engranaje planetario simple 180

Figura P2-1 Representación esquemática del robot de almacenes 187

x
LISTA DE TABLAS

Pág.

Tabla 2-1 Relación entre varios tipos de modelado 19


Tabla 2-2 Parámetros D-H obtenidos del Scorbot ER-V plus 21

Tabla 4-1 Parte del cuadro de diálogo de la cinemática directa 76


Tabla 4-2 Parte del cuadro de diálogo de la cinemática inversa 76
Tabla 4-3 Equipo de laboratorio 79
Tabla 4-4 Información que despliega el Pro-Enginner 82
Tabla 4-5 Concentrado del peso total del robot 83
Tabla 4-6 Condiciones de movimiento 85
Tabla 4-7 Datos de prueba 1 86
Tabla 4-8 Tiempos registrados en prueba 1 86
Tabla 4-9 Condiciones de movimiento 89
Tabla 4-10 Datos de prueba 2 90
Tabla 4-11 Tiempos registrados en prueba 2 90
Tabla 4-12 Condiciones de movimiento 93
Tabla 4-13 Datos de prueba 3 94
Tabla 4-14 Tiempos registrados en prueba 3 94
Tabla 4-15 Condiciones de movimientos 97
Tabla 4-16 Datos de prueba 4 98
Tabla 4-17 Tiempos registrados en prueba 4 98

Tabla F-1. Posiciones registradas en el controlador 158

xi
SIMBOLOGÍA

l1 Longitud del primer eslabón.


l2 Longitud del segundo eslabón.
l3 Longitud del gripper.
θ1 Ángulo de la cintura.
θ2 Ángulo del hombro.
θ3 Ángulo del codo.
θ4 Ángulo de pitch.
θ5 Ángulo de roll.
X0,Y0, Z0 Ejes cartesianos
n −1
nT Matriz de transformación homogénea resultante
n-1
An Matriz de transformación homogénea parcial
Px, Py, Pz, Puntos cartesianos
n Vector normal del efector final
s Vector de orientación del efector final
a Vector de aproximación del efector final
x, y y z Coordenadas generalizadas
β Ángulo auxiliar
α Ángulo auxiliar
ω Ángulo auxiliar
τ Par requerido
W Carga aplicada
mi Masa del i-ésimo eslabón
g Constante de gravedad
l Radio de giro para la masa de la base
a, b Longitudes del primer y segundo eslabón respectivamente
Ii Inercia del i-ésimo eslabón
Vi Velocidad lineal del i-ésimo eslabón
Ki Energía cinética respectivamente de cada eslabón
Pi Energía potencial respectivamente de cada eslabón
L Lagrangiano
M (q ) Matriz de inercia
V (q, q& ) Vector de las fuerzas Centrifugas
FV q& Vector de las fuerzas de fricción
G (q ) Vector de las fuerzas gravitacionales
vi Es un coeficiente constante conocido de fricción
FV Matriz diagonal con términos vi
vec Denota vector
vi Es un coeficiente constante conocido
q& = θ&i Velocidad angular

xii
ABREVIATURAS Y ACRÓNIMOS

R.U.R. Rossum’s Universal Robot

Cinvestav Centro de investigación y de Estudios Avanzados del IPN

IPN Instituto Politécnico Nacional

Cenidet Centro Nacional de Investigación y Desarrollo Tecnológicos

PC Personal Computer
Computadora Personal

IFR Federación Internacional de Robótica

ISO/TR Norma Internacional de tratado sobre robótica

AER Asociación Española de Robótica

VCD Voltios de Corriente Directa

CIM Computer Integrated Manufacturing systems


Sistema de Manufactura Integrado por Computadora

GDL Grados de Libertad

VCD Voltaje de Corriente Directa

DCL Diagrama de Cuerpo Libre

D-H Denavit-Hartenberg

TCP Tool Center Point


Punto Central de la Herramienta

3D Tercera Dimensión

ACL Advanced Control Language


Lenguaje de Control Avanzado

xiii
RESUMEN

CARACTERIZACIÓN DE UN ROBOT MANIPULADOR ARTICULADO

Salomón Abdalá Castillo y Raúl Ñeco Caberta

Centro Nacional de Investigación y Desarrollo Tecnológico

Maestría en Ciencias en Ingeniería Mecatrónica

El uso y desarrollo de los robots son cada vez mayores y esto se debe a las
ventajas que ofrecen. Para que un robot realice las actividades que deseamos, es
necesario conocer su funcionamiento que está regido por sus características
físicas (arquitectura, configuración, grados de libertad, tipo de control, etc.). Las
características básicas están descritas en sus manuales y para conocer otras de
sus características, en este trabajo se obtuvieron los modelos cinemático y
dinámico del robot SCORBOT-ER V plus, denominado robot de almacenes,
que forma parte de la celda de manufactura que existe en Cenidet.

Los modelos matemáticos obtenidos se usaron para simular el comportamiento


del robot y después fueron validados comparando los resultados de las
simulaciones contra los resultados de la operación real del robot.

Se incluyen anexos con los programas usados para adquirir datos


experimentales del robot y los programas de simulación dinámica de los
modelos, y otros con datos auxiliares. Como un producto adicional, se anexaron
a la tesis una serie de prácticas de robótica para la utilización del robot
SCORBOT-ER V plus.

xiv
PREFACIO

En el mundo actual, la robótica es cada vez más común en nuestra vida cotidiana,
incluso en ocasiones ni siquiera nos damos cuenta de su presencia, sin embargo ahí está y el
desarrollo con él crece a pasos agigantados. El Cenidet, no ha sido la excepción por
interesarse por este tema, ya que desde hace varios años en forma aislada ha tratado temas
respecto a la robótica.

Con la creación de la Maestría en Ciencias en Ingeniería Mecatrónica, este interés


toma una mayor importancia y es lo que nos motivó a realizar este trabajo de tesis.

La estructura que rige este trabajo es la siguiente y esperamos que sea un inicio de
toda una serie de investigaciones en el tema.

En el Laboratorio de Mecatrónica, existe una celda de manufactura, la cual contiene


entre otras cosas un robot manipulador articulado, que es precisamente el robot con el cual
se va a trabajar a lo largo de esta tesis.

En el Capítulo 1 se incluye la información que permite al lector ubicarse,


comprendiendo el tema a tratar, además de conocer el robot llamado Scorbot ER V plus,
que es el robot con el cual se desarrolla este trabajo.

En el Capítulo 2 se aborda el tema del modelado matemático, comprendiendo los


modelos cinemáticos directo e inverso; estos modelos estarán basados en las convenciones
referidas en Denavit-Hartenberg y en el método geométrico respectivamente. Los modelos
dinámicos directo e inverso están fundamentados en la formulación de movimiento de
Lagrange.

En el Capítulo 3 se hace un análisis de los modelos obtenidos, resolviendo las


ecuaciones resultantes para proceder a la codificación de estas ecuaciones para la
simulación en PC del comportamiento del robot.

En el Capítulo 4 se presentan los experimentos físicos realizados con el robot,


comparando los resultados de las simulaciones con estas pruebas para poder validar los
modelos matemáticos.

En el Capítulo 5 se concentran los resultados obtenidos de la investigación,


exponiendo las aportaciones obtenidas en este trabajo, así como se comentan posibles
trabajos futuros.

xv
Después del Capítulo 5, se encuentran la Bibliografía General y enseguida las
Páginas Web (al hacer referencia a páginas web se antepone @) que se citan a lo largo del
trabajo de tesis, ordenadas alfabéticamente.

En los Apéndices se concentra la información de las características técnicas del


robot SCORBOT - ER V plus, la información necesaria para la comprensión de toda la tesis
y como una aportación adicional a este trabajo, se presenta una serie de Prácticas didácticas
que explican el funcionamiento y el manejo del Scorbot ER V plus. Tales prácticas fueron
diseñadas por los autores de la tesis.

Esperamos que los resultados que se obtuvieron faciliten el uso de la infraestructura


robótica actual a los docentes-investigadores y alumnos, estimulando las actividades en el
campo de la robótica en el Cenidet, ya que en todos los departamentos del Cenidet, ha
habido interés por la robótica, sin embargo, no se cuenta con un grupo de investigación
dedicado a este tema.

Salomón Abdalá Castillo


Raúl Ñeco Caberta

xvi
Capítulo 1 Introducción

Capítulo
1

INTRODUCCIÓN

T odos hemos tenido contacto con un robot o por lo menos tenemos alguna
noción de lo que es un robot. Si nos damos el tiempo para echar un vistazo a
lo que nos rodea, nos daremos cuenta que los robots han estado, están y
seguirán estando presentes cada vez más en nuestra existencia realizando diferentes tareas
dedicadas a hacer más práctica la vida del hombre.

Los dispositivos y mecanismos que pueden agruparse bajo la denominación


genérica de robot, son muy diversos y es difícil establecer una clasificación coherente de
los mismos, que resista un análisis crítico y riguroso. Actualmente una clasificación de los
robots se puede agrupar en dos familias: los robots de servicio y los robots industriales. Los
primeros realizan tareas para beneficio de los humanos, mientras que la finalidad de los
industriales es la utilización en aplicaciones de automatización industrial.

1
“Caracterización de un robot manipulador articulado”

1.1 Generalidades

1.1.1 Robot
Un robot, se puede definir como: Una máquina controlada por una computadora y
programada para moverse, manipular objetos y realizar trabajos a la vez que interacciona
con su entorno [Spong 89]. Los robots son capaces de realizar tareas repetitivas y/o
peligrosas de forma más segura, rápida, barata y precisa que los seres humanos; es por eso
que, su aplicación en la actualidad, es cada vez más variada [@1 Rodríguez 99].

La palabra robot fue usada por primera vez en el año 1921, cuando el escritor checo
Karel Capek (1890-1938) estrena en el teatro nacional de Praga su obra Rossum’s
Universal Robot (R.U.R.). Su origen es la palabra eslava robota, que se refiere al trabajo
realizado de manera forzada [Spong 89]. Actualmente el término robot encierra una gran
cantidad de mecanismos y máquinas en todas las áreas de nuestra vida. Su principal uso se
encuentra en la industria en aplicaciones tales como el ensamblado, la soldadura o la
pintura. En el espacio se han utilizado desde brazos teleoperados para construcción o
mantenimiento hasta los famosos exploradores marcianos Pathfinder. Los robots para
aplicaciones submarinas y subterráneas se incluyen en exploraciones, instalación y
mantenimiento de estructuras. Los robots militares o policías pueden hasta desactivar
bombas y patrullar áreas enemigas. Lo más novedoso en Robótica son los robots aplicados
en la medicina como prótesis y en la agricultura como recolectores. No está excluida por
supuesto el área del entretenimiento, los parques temáticos, las películas y hasta los
juguetes nos sorprenden cada nueva temporada [@ Rodríguez 99].

1.1.2 La robótica
La robótica es una tecnología, que surgió como tal, aproximadamente hacia el año
1960, desde entonces han transcurrido pocos años y el interés que ha despertado es superior
a cualquier previsión que en su nacimiento se pudiera formular, siguiendo un proceso
paralelo a la introducción de las computadoras en las actividades cotidianas de la vida del
hombre, aunque si bien todavía los robots no han encontrado la vía de penetración en los
hogares, pero sí son un elemento ya imprescindible en la mayoría de las industrias [@
Pérez 01].

1
La @ se utiliza cuando la fuente proviene de alguna página en Internet y se puede consultar en “Páginas
Web”

2
Capítulo 1 Introducción

1.1.2.1 ¿Qué es la robótica?

El conjunto de conocimientos teóricos y prácticos que permiten concebir, realizar y


automatizar sistemas basados en estructuras mecánicas poliarticuladas, dotados de un
determinado grado de "inteligencia" y destinados a la producción industrial o la sustitución
del hombre en muy diversas tareas; se le llama robótica [@ Mecanismos]. Un sistema
robótico puede describirse, como "Aquel que es capaz de recibir información, de
comprender su entorno a través del empleo de modelos, de formular y de ejecutar planes, y
de controlar o supervisar su operación". La robótica es esencialmente multidisciplinaria y
se apoya en gran medida en los progresos de la microelectrónica, la informática, la
mecánica y la ingeniería en control entre otras; así como en nuevas disciplinas tales como
el reconocimiento de patrones, la inteligencia artificial y la mecatrónica.

De acuerdo a la definición de John Craig, la robótica es el deseo de sintetizar


algunos aspectos de las funciones que realiza el hombre a través del uso de mecanismos,
sensores y computadoras. Su estudio involucra muchas áreas del conocimiento que a
grandes rasgos podemos dividir en: manipulación mecánica, locomoción, visión por
computadora e inteligencia artificial [Craig 89].

Por lo tanto, el objetivo de la Robótica es liberar al hombre de tareas peligrosas,


tediosas o pesadas y realizarlas de manera automatizada.

1.1.3 Manipulador articulado


El manipulador es un ensamblaje de eslabones y articulaciones que permiten
rotación o traslación entre dos de los eslabones. Estos eslabones son sólidos y están
sostenidos por una base (horizontal, vertical o suspendida), con una articulación entre la
base y el primer eslabón. El movimiento y las articulaciones definen los "grados de
libertad" del robot. Una configuración típica de un brazo robot es la de tres grados de
libertad, a la que se añaden las posibilidades de movimiento en la muñeca, llegando a un
total de cuatro a seis grados de libertad. Algunos robots tienen entre siete y nueve grados de
libertad, pero por su complejidad, son menos comunes [Barrientos 97] [@ Manufactura].

“La base del manipulador es rígida y está sujeta a una plataforma que la sostiene,
generalmente, pero no siempre, del suelo. Cuando se puede mover, comúnmente lo hace a
lo largo de un eje y es para sincronizar el movimiento del robot con el de otros equipos. De
esta manera el movimiento de la base sumado al movimiento tridimensional del
manipulador proporcionan cuatro grados de libertad” [Barrientos 97] [@ Manufactura].

3
“Caracterización de un robot manipulador articulado”

1.2 Antecedentes en el Cenidet


Desde 1991, el Cenidet ha mostrado interés por temas relacionados con la robótica,
en ese año se concluyeron las tesis tituladas: "Diseño e implementación de un sistema de
programación para un manipulador industrial" (del Departamento de Ingeniería
Electrónica) y trata de dotar de una mejor herramienta de programación al manipulador
UNIMATE-130 del laboratorio de robótica del Departamento de Control del Cinvestav del
IPN [Núñez 91] y la tesis titulada: "Implementación de un sistema de visión para la
detección, reconocimiento y manipulación de piezas de ensamble por medio de un robot de
uso industrial" (del Departamento de Ciencias Computacionales) y trata de integrar un
sistema de visión para un robot manipulador con el fin de poder realizar procesos de
ensamble en forma autónoma, dotándolo de capacidades para percepción, reconocimiento y
manipulación de partes industriales [Iglesias 91]. En el año de 1994 la tesis titulada:
"Dinámica de manipuladores de eslabones rígidos mediante simulación numérico-gráfica"
(del Departamento de Ingeniería Mecánica), trata sobre la elaboración de un método de
análisis numérico de efectos dinámicos de manipuladores y de evaluar la posibilidad de
adaptación de métodos gráficos [Baltazar 94]. En 1999 la tesis titulada: “Regulación de un
sistema electromecánico subactuado” (del Departamento de Ingeniería Electrónica), trata
sobre la aplicación de un regulador no lineal a un sistema electromecánico subactuado tipo
brazo manipulador llamado robot gimnasta en un punto de control inestable pretendiendo
conseguir su control y luego dar seguimiento a una señal de referencia predefinida por
medio de un sistema [Ibarra 99]. En el 2002 la tesis titulada: “Diseño e implementación de
un sistema de calibración para un sistema de visión robótica” (del Departamento de
Ciencias Computacionales) que trata del diseño e implementación de una herramienta de
calibración automática basada en un sistema modular de visión-robótica [Pérez 02]. A
principios del 2003 la tesis titulada “Implementación de una red neuronal holográfica, para
el control de un brazo robot articulado” (del Departamento de Ciencias Computacionales);
trata de que una red neuronal holográfica se aprenda la dinámica de un sistema y así poder
generar el control para cualquier trayectoria [Hernández 03].

Actualmente en el Departamento de Ciencias de la Computación se está


desarrollando la tesis titulada: “Detallador de tareas de visión robótica” que tratará el
desarrollo de una herramienta que permita la definición de una actividad que involucre la
visión robótica y la desglose en instrucciones simples manejables por los ejecutores del
sistema con el desarrollo del modelo de un elemento ejecutor, sus interfaces y
requerimientos mínimos [López]. En el mismo Departamento está en revisión la tesis
titulada: “Esquema para la integración de sistemas de visión robótica” que trata de realizar
una interfaz para un sistema de robot con visión para que en el momento de intercambiar un
componente del sistema, no sea necesaria su reprogramación si la componente cuenta con
la misma interfaz [Peralta].

Todos estos trabajos reflejan el gran interés en Cenidet por temas relacionados con
la robótica, pero en ninguno de estos Departamentos se han creado bases para el nacimiento
de una línea de investigación dedicada a la robótica.

4
Capítulo 1 Introducción

Con la apertura del Posgrado de Ingeniería Mecatrónica, surgen nuevas necesidades


en el Cenidet, lo que implicó que se requiriera equipo y material para cubrir las necesidades
para este Posgrado. Dentro del requerimiento de equipo nuevo que se solicitó a Cosnet,
fueron básicamente 5 peticiones que a continuación se mencionan:

1. Laboratorio de diseño
2. Laboratorio de PLC´s
3. Laboratorio de microcontroladores
4. Laboratorio de robótica con visión
5. Laboratorio de máquinas de control numérico

Los dos últimos puntos, se pudieron cubrir con la donación de una celda de
manufactura (figura 1-1) que contiene un par de robots, una cámara, un torno de control
numérico, una banda transportadora y cinco PC´s. Cabe mencionar que esta celda de
manufactura era de uso y después de una visita del Dr. José Ruiz Ascencio (Coordinador
del Posgrado de Ingeniería Mecatrónica) al Tecnológico de Orizaba (lugar donde se
encontraba la celda de manufactura), se determina que la celda esta en buenas condiciones
de la parte mecánica, pero el software para que pudiera trabajar tenia algunas carencias.
Finalmente Dirección General autorizó el traslado de la celda al Cenidet, junto con los
recursos necesarios para su actualización.

Figura 1-1 Celda de manufactura.

1.3 Descripción del problema


La inquietud por iniciar una línea de investigación generó la necesidad de
documentar de manera eficaz cada uno de los elementos que integran la celda de

5
“Caracterización de un robot manipulador articulado”

manufactura para que en un momento dado esta infraestructura sea accesible para docentes-
investigadores y alumnos.

El documentar todos los elementos que conforman la celda de manufactura sería un


trabajo demasiado extenso, por ello, aquí se centra la atención en una parte de esa
infraestructura, comenzando por el robot SCORBOT-ER V plus denominado de almacenes
que se muestra en la figura 1-2. El problema se intensifica por la falta de documentación
que especifique sus parámetros y componentes que lo conforman. La única información
con la que se cuenta es básicamente un manual de programación y lo que se requiere es
obtener sus modelos cinemáticos y dinámicos; esto se torna más complicado ya que para
obtenerlos con su debida precisión sería necesario desmontarlo y además contar con el
equipo adecuado para su parametrización, equipo que no se tiene. Un problema más es que
no existe un manual de puesta en operación o de prácticas que dé orientación sobre el uso
del robot por lo que prácticamente se comenzó de cero.

Figura 1-2 Robot Scorbot-ER V plus de almacenes.

1.4 Objetivos de la tesis

• Poner en operación y documentar el robot SCORBOT-ER V plus que forma parte


de la celda de manufactura del Posgrado en Ingeniería Mecatrónica a fin de poder
utilizarlo en docencia e investigación y como punto de partida para futuras
actividades en el área de robótica. Estos fines se podrán lograr al obtener los
modelos cinemático y dinámico, parametrizar, simular en PC y validar el robot
mencionado con los recursos disponibles en el Cenidet.

6
Capítulo 1 Introducción

• Elaborar una serie de prácticas para la utilización del robot como parte de la
infraestructura para el apoyo de la docencia e investigación en el Cenidet.

• Contribuir a la creación de una línea de investigación en robótica en el Cenidet.

1.5 Alcances de la tesis


Los alcances de este trabajo de tesis de maestría son los siguientes:

• Modelos:
o Una vez finalizada la búsqueda de los modelos matemáticos cinemáticos y
dinámicos, se adecuarón al Scorbot-ER V plus.

• Parámetros:
o Se obtuvieron los parámetros del robot sin necesidad de desmontar las
piezas que lo conforman.

• Simulación:
o Se programaron los modelos del robot para simulación, empleando software
ya existente en el Cenidet.

• Validación:
o La validación del modelo se hizo con el robot real, comparando las
mediciones con los resultados de las simulaciones. Se usó la instrumentación
con la que cuenta el Cenidet.

• Prácticas:
o Éstas son para que cualquier profesor-investigador y/o alumno las realice de
forma sencilla y entendible sin necesidad de tener un amplio conocimiento
en la robótica.

7
“Caracterización de un robot manipulador articulado”

1.6 Estado del arte

1.6.1 Clasificación de los robots basados en las generaciones de sistemas


de control

1.6.1.1 La primera generación

El sistema de control usado en la primera generación de robots está basado en las


“paradas fijas” (término que se emplea cuando la operación de un mecanismo está en lazo
abierto y el fin de su ciclo está predeterminado) mecánicamente. Esta estrategia es conocida
como control de lazo abierto o control “todo o nada” [Barrientos 97] [@ Pérez 01].

1.6.1.2 La segunda generación

La segunda generación utiliza una estructura de control de ciclo abierto, pero en


lugar de utilizar interruptores y botones mecánicos utiliza una secuencia numérica de
control de movimientos almacenados en un disco o cinta magnética. El programa de control
entra mediante la elección de secuencias de movimiento en una caja de botones o a través
de palancas de control con los que se “recorre”, la secuencia deseada de movimientos
[Barrientos 97] [@ Pérez 01].

1.6.1.3 La tercera generación

La tercera generación de robots utiliza las computadoras para su estrategia de


control y tiene algún conocimiento del ambiente local a través del uso de sensores, los
cuales miden el ambiente para modificar su estrategia de control, con esta generación se
inicia la era de los robots inteligentes y aparecen los lenguajes de programación para
escribir los programas de control. La estrategia de control utilizada se denomina de “lazo
cerrado” [Barrientos 97] [@ Pérez 01].

1.6.1.4 La cuarta generación

En la cuarta generación de robots, ya se les califica de inteligentes con más y


mejores extensiones sensoriales, para comprender sus acciones y el mundo que los rodea.
Incorpora un concepto de “modelo del mundo” de su propia conducta y del ambiente en el
que operan. Utilizan conocimiento difuso y procesamiento dirigido por expectativas que
mejoran el desempeño del sistema de manera que la tarea de los sensores se extiende a la
supervisión del ambiente global, registrando los efectos de sus acciones en un modelo del
mundo y auxiliar en la determinación de tareas y metas [Barrientos 97] [@ Pérez 01].

8
Capítulo 1 Introducción

1.6.1.5 La quinta generación

Actualmente esta nueva generación de robots está en desarrollo, pretende que el


control emerja de la adecuada organización y distribución de módulos conductuales. Como
ejemplo, se puede mencionar el más conocido: Un juguete denominado “Poo-Chi” que
puede considerarse de quinta generación porque tiene la capacidad de responder a la luz, al
tacto y al sonido. Otro ejemplo es un robot mascota con forma similar a la de un perro que
fabrica Sony, llamado “Aibo” (que en japonés “Aibo” significa amigo) [Barrientos 97] [@
Pérez 01].

1.6.2 El robot industrial


La principal diferencia entre un robot y una máquina convencional es que el primero
es capaz de modificar su tarea a realizar. Esto convierte a los robots en la solución ideal
para el cambiante y exigente mundo de la industria.

El término robot puede adquirir muchos significados diferentes dependiendo del


contexto. La Federación Internacional de Robótica (IFR) en su informe técnico ISO/TR
distingue entre robot industrial y otros robots con la siguiente definición:
“...por robot industrial de manipulación se entiende a una máquina de manipulación
automática, reprogramable y multifucional con tres o más ejes que pueden posicionar y
orientar materias, piezas, herramientas o dispositivos especiales para la ejecución de
trabajos diversos en las diferentes etapas de la producción industrial, ya sea en una posición
fija o en movimiento..." [Barrientos 97] [@ Rodríguez 99].

El robot industrial nace de la unión de una estructura mecánica articulada y de un


sistema electrónico de control en el que se integra una computadora. Esto permite la
programación y control de los movimientos a efectuar por el robot y la memorización de las
diversas secuencias de trabajo (sin tener que hacer cambios permanentes en su material),
por lo que le da al robot una gran flexibilidad y posibilita su adaptación a muy diversas
tareas y medios de trabajo [Barrientos 97] [@ Mecanismos].

“El robot industrial es pues un dispositivo multifuncional, es decir, apto para muy
diversas aplicaciones, al contrario de la máquina automática clásica, fabricada para realizar
de forma repetitiva un tipo determinado de operaciones” [@ Mecanismos].

“El robot industrial se diseña en función de diversos movimientos que debe poder
ejecutar; es decir, lo que importa son sus grados de libertad, su campo de trabajo, su
comportamiento estático y dinámico” [@ Mecanismos].

La capacidad del robot industrial para reconfigurar su ciclo de trabajo, unida a la


versatilidad y variedad de sus elementos terminales o también llamado efector final (pinzas,
garras, herramientas, etc.), le permite adaptarse fácilmente a la evolución o cambio de los
procesos de producción, facilitando su reconversión [@ Mecanismos].

9
“Caracterización de un robot manipulador articulado”

1.6.2.1 Configuraciones básicas

Los robots industriales están disponibles en una amplia gama de tamaños, formas y
configuraciones físicas. La gran mayoría de los robots comercialmente disponibles en la
actualidad tienen una de estas cuatro configuraciones básicas; estas estructuras tienen
diferentes propiedades en cuanto a espacio de trabajo y accesibilidad a posiciones
determinadas [Ollero 01] [@ Mecanismos]:

1.6.2.1.1 Configuración polar

La configuración polar utiliza coordenadas polares para especificar cualquier


posición en términos de una rotación sobre su base, un ángulo de elevación y una extensión
lineal del brazo, con lo que obtiene un medio de trabajo en forma de esfera (figura 1-3)
[Ollero 01] [Spong 89] [@ Mecanismos]

Figura 1-3 Área de trabajo de la configuración polar.

1.6.2.1.2 Configuración cilíndrica

La configuración cilíndrica sustituye un movimiento lineal por uno rotacional sobre


su base, con los que se obtiene un medio de trabajo en forma de cilindro (figura 1-4)
[Ollero 01] [Spong 89] [@ Mecanismos].

10
Capítulo 1 Introducción

Figura 1-4 Área de trabajo de la configuración cilíndrica.

1.6.2.1.3 Configuración de coordenadas cartesianas

La configuración de coordenadas cartesianas, posee tres movimientos lineales, y su


nombre proviene de las coordenadas cartesianas, las cuales son más adecuadas para
describir la posición y movimiento del brazo. Los robots cartesianos a veces reciben el
nombre de XYZ, donde las letras representan a los tres ejes del movimiento (figura 1-5)
[Ollero 01] [Spong 89] [@ Mecanismos].

Figura 1-5 Área de trabajo de la configuración de coordenadas cartesianas.

1.6.2.1.4 Configuración de brazo articulado

La configuración de brazo articulado, utiliza únicamente articulaciones rotacionales


para conseguir cualquier posición y es por esto que es el más versátil (figura 1-6) [Ollero
01] [Spong 89] [@ Mecanismos].

11
“Caracterización de un robot manipulador articulado”

Planta

Lateral

Figura 1-6 Área de trabajo de la configuración de brazo articulado.

1.6.3 Construcción
La construcción de un robot, ya sea una máquina que camine de forma parecida a
como lo hace el ser humano, o un manipulador sin rostro para una línea de producción, es
fundamentalmente un problema de control. Existen dos aspectos principales: mantener un
movimiento preciso en condiciones que varían y conseguir que el robot ejecute una
secuencia de operaciones previamente determinadas. Los avances en estos dos campos (el
primero es esencialmente un problema matemático, y el segundo de tecnología) suministran
la más grande contribución al desarrollo del robot moderno [@ Pérez 01].

Los manipuladores propiamente dichos representan, en efecto, el primer paso en la


evolución de la robótica y se emplean preferentemente para la carga-descarga de máquinas-
herramientas, así como para manutención de prensas, cintas transportadoras y otros
dispositivos [@ Pérez 01].

Actualmente los manipuladores son brazos articulados con un número de grados de


libertad que oscila entre dos y cinco, en forma general, cuyos movimientos de tipo
secuencial, se programan mecánicamente a través de una computadora. A pesar de su
concepción básicamente sencilla, se han desarrollado manipuladores complejos para
adaptarlos a aplicaciones concretas en las que se dan condiciones de trabajo especialmente
duras o especificaciones de seguridad muy exigentes [@ Pérez 01].

1.6.4 Arquitecturas de los robots


La arquitectura, definida por el tipo de configuración general del robot, puede ser
metamórfica. El concepto de metamorfismo, de reciente aparición, se ha introducido para
incrementar la flexibilidad funcional de un robot a través del cambio de su configuración

12
Capítulo 1 Introducción

por el propio robot. El metamorfismo admite diversos niveles, desde los más elementales
(cambio de herramienta o de efector terminal), hasta los más complejos como el cambio o
alteración de algunos de sus elementos o subsistemas estructurales [@ Pérez 01].

Los dispositivos y mecanismos que pueden agruparse bajo la denominación genérica


del robot, tal como se ha indicado, son muy diversos y es por tanto difícil establecer una
clasificación coherente de los mismos que resista un análisis crítico y riguroso. La
subdivisión de los robots con base en su arquitectura, se hace en los siguientes grupos [@
Pérez 01]:

1.6.4.1 Poliarticulados

Bajo este grupo están los robots de muy diversa forma y configuración cuya
característica común es la de ser básicamente sedentarios (aunque excepcionalmente
pueden ser guiados para efectuar desplazamientos limitados) y están estructurados para
mover sus elementos terminales en un determinado espacio de trabajo según uno o más
sistemas de coordenadas y con un número limitado de grados de libertad. En este grupo se
encuentran los manipuladores, los robots cartesianos y algunos robots industriales y se
emplean cuando es preciso abarcar una zona de trabajo relativamente amplia o alargada,
actuar sobre objetos con un plano de simetría vertical o reducir el espacio ocupado en el
suelo [Ollero 01] [Barrientos 97] [@ Pérez 01].

1.6.4.2 Móviles

Son robots con grandes capacidades de desplazamiento, basadas en carros o


plataformas y dotadas de un sistema locomotor de tipo rodante. Siguen su camino por
telemando o guiándose por la información recibida de su entorno a través de sus sensores.
Los vehículos con ruedas, son la solución más simple y eficiente para conseguir la
movilidad; sin embargo, cabe mencionar que también existe la locomoción mediante patas
que permite sortear obstáculos con mayor facilidad con el inconveniente de requerir
mecanismos de mayor complejidad y su consumo de energía es mayor respecto a los robots
móviles rodantes. Un ejemplo de esta arquitectura de robot con ruedas, son las “tortugas
motorizadas” diseñadas en los años cincuentas, fueron las precursoras y sirvieron de base a
los estudios sobre inteligencia artificial desarrollados entre 1965 y 1973 en la Universidad
de Stanford. Estos robots aseguran el transporte de piezas de un punto a otro de una cadena
de fabricación. Guiados mediante pistas materializadas a través de la radiación
electromagnética de circuitos empotrados en el suelo, o a través de bandas detectadas
fotoeléctricamente, pueden incluso llegar a sortear obstáculos y están dotados de un nivel
relativamente elevado de inteligencia [Ollero 01] [@ Pérez 01].

1.6.4.3 Androides

Son robots que intentan reproducir total o parcialmente la forma y el


comportamiento cinemático del ser humano. Actualmente los androides son todavía

13
“Caracterización de un robot manipulador articulado”

dispositivos muy poco evolucionados y sin utilidad práctica, y destinados,


fundamentalmente, al estudio y experimentación. Uno de los aspectos más complejos de
estos robots, y sobre el que se centra la mayoría de los trabajos, es el de la locomoción
bípeda. En este caso, el principal problema es controlar dinámica y coordinadamente en el
tiempo real el proceso y mantener simultáneamente el equilibrio del robot y cabe destacar
los avances que ha tenido Honda en esta rubro con su robot bípedo [Barrientos 97] [@
Pérez 01].

1.6.4.4 Zoomórficos

Los robots zoomórficos, que considerados en sentido no restrictivo podrían incluir


también a los androides, constituyen una clase caracterizada principalmente por sus
sistemas de locomoción que imitan a los diversos seres vivos como animales e insectos. A
pesar de la disparidad morfológica de sus posibles sistemas de locomoción es conveniente
agrupar a los robots zoomórficos en dos categorías principales: caminadores y no
caminadores. El grupo de los robots zoomórficos no caminadores está muy poco
evolucionado. Cabe destacar, entre otros, los experimentos efectuados en Japón basados en
segmentos cilíndricos biselados acoplados axialmente entre sí y dotados de un movimiento
relativo de rotación. En cambio, los robots zoomórficos caminadores multípedos son muy
numerosos y están siendo experimentados en diversos laboratorios con vistas al desarrollo
posterior de verdaderos vehículos “todo terreno” piloteados o autónomamente capaces de
evolucionar en superficies muy accidentadas. Las aplicaciones de estos robots serán
interesantes en el campo de la exploración espacial y en el estudio de los volcanes entre
otros [Ollero 01] [@ Pérez 01].

1.6.4.5 Híbridos

Estos robots corresponden a aquellos de difícil clasificación cuya estructura se sitúa


en combinación con alguna (dos o más) de las anteriores ya expuestas, bien sea por
conjunción o por yuxtaposición. Por ejemplo, un dispositivo segmentado articulado y con
ruedas, es al mismo tiempo uno de los atributos de los robots móviles y de los robots
zoomórficos. De igual forma pueden considerarse híbridos algunos robots formados por la
yuxtaposición de un cuerpo formado por un carro móvil y de un brazo semejante al de los
robots industriales. En parecida situación se encuentran algunos robots antropomorfos y
que no pueden clasificarse ni como móviles ni como androides, tal es el caso de los robots
personales [@ Pérez 01].

1.6.5 Campos de aplicación


“El robot industrial forma parte del progresivo desarrollo de la automatización
industrial (figura 1-7), favorecido notablemente por el avance de las técnicas de control por
computadora, y contribuye de manera decisiva la automatización en los procesos de
fabricación de series de mediana y pequeña escala” [@ Mecanismos].

14
Capítulo 1 Introducción

La fabricación en series pequeñas había quedado hasta ahora fuera del alcance de la
automatización, debido a que requiere una modificación rápida de los equipos de
producción. El robot, como manipulador reprogramable y multifuncional, puede trabajar de
forma continua y con flexibilidad [@ Mecanismos].

“El cambio de herramienta o dispositivo especializado y la facilidad de variar el


movimiento a realizar permiten que, al incorporar al robot en el proceso productivo, sea
posible y rentable la automatización en procesos que trabaja con series más reducidas y
gamas más variadas de productos” [@ Mecanismos].

Áreas de aplicación de los robots instalados en 1997

Media países

45
40
35
30
% 25
20
15
10
5
0
Soldadura Aplic. Mater. Mecanizado Montaje Paletizado Manipulación Otras
Fuentes: AER, IFR
Figura 1-7 Gráfica de porcentajes de aplicación de los robots en las industrias.

1.6.6 Ventajas y desventajas del uso de los robots


Las ventajas principales son: tienen una alta productividad; fabrican productos o
efectúan operaciones sobre ellos con una buena calidad y ésta es uniforme; tienen una alta
flexibilidad por ser reprogramables; hacen trabajos rutinarios o peligrosos o en ambientes
inhóspitos o extremosos y se pueden integrar a sistemas automáticos de mayores alcances.
Las desventajas principales son: conllevan una alta inversión inicial; son más sofisticados
tecnológicamente; requieren de programación; desplazan a personal productivo.

1.7 El robot “Scorbot-ER V plus”


El Scorbot-ER V plus, es un robot (figura 1-8) perteneciente a una celda de
manufactura (CIM), instalada en el laboratorio de mecatrónica, del Cenidet. El robot en su
concepción, fue creado y diseñado para fines didácticos, sin embargo se considera de tipo

15
“Caracterización de un robot manipulador articulado”

industrial. Este robot es capaz de trabajar en forma independiente dedicado al ensamble de


piezas, así como el depositar o recoger alguna pieza de la banda transportadora de la celda
que es la que comunica a este robot (llamado de almacenes) con otro (llamado de
supervisión, el cual tiene un grado de libertad adicional proporcionado por un tornillo
sinfín) como lo muestra la figura 1-9.

Figura 1-8 SCORBOT - ER V plus.

Robot de
almacenes Robot de
supervisión

Banda
transportadora

Figura 1-9 Vista del CIM.

De acuerdo a lo visto en las secciones 1.6.2.1 y 1.6.4; se puede decir que el Scorbot
ER V plus tiene una configuración de tipo manipulador articulado y cuenta con una
arquitectura poliarticulada.

16
Capítulo 1 Introducción

Este robot dispone de manuales para el usuario, que contienen información


necesaria para su instalación, conocimiento y manejo. Es un robot de 5 GDL (grados de
libertad), cada articulación realiza movimientos rotatorios desarrollados por actuadores que
son servomotores de 12 voltios de corriente directa (VCD) y su posicionamiento se registra
a través de encoders, lo que se puede apreciar en la figura 1-10.

Cada par generado por los servomotores es transmitido por sistemas de engranaje y
bandas dentadas, su capacidad máxima de carga es de un kilogramo, los elementos que lo
integran están construidos de acero, plástico y aluminio siendo este último el que constituye
la mayor parte de su estructura, su sistema de control está regido por un controlador del tipo
PID. Posee tres grupos denominados de control que en los que se puede trabajar, cada uno
de estos grupos permite reestructurar los parámetros predeterminados teniendo así en cada
uno de ellos condiciones de trabajo distintas.

Figura 1-10 Ubicación de los sensores.

Como ya se mencionó, este robot y toda la Celda de manufactura cuentan con


manuales, en los que se encuentra información y descripción general y detallada en
conjunto e individual de cada elemento. Estos manuales están disponibles en el laboratorio
de mecatrónica.

En el apéndice A, se incluye la información más significativa del robot extraída de


los manuales mencionados.

17
“Caracterización de un robot manipulador articulado”

Capítulo
2

MODELADO MATEMÁTICO

A
ntes que nada, se debe establecer que el modelado de sistemas es tanto un
arte, como una búsqueda científica. Esto significa que sólo pueden
mostrarse ciertos aspectos del tema. Cuando se aplica el término modelado,
no siempre se tiene una idea clara, generando cierta confusión. Por ejemplo, el análisis de
un sistema de control podría interpretarse por el modelado de un sistema como una
abstracción matemática en términos de un conjunto de ecuaciones diferenciales. Las
variaciones en la interpretación puede ser clarificada por medio de una clasificación de
modelos a lo largo de las líneas mostradas en la tabla 2-1 por tanto el nivel más heurístico
es el modelo intuitivo; este modelo frecuentemente sólo existe en la mente de los ingenieros
como una concepción personal del sistema. Tales modelos necesitan tener existencia física
o aspectos matemáticos. En un nivel más tangible se puede hacer una distinción entre los
modelos hechos para el análisis y diseño de controladores y aquellos usados en
investigación detallada de propiedades fundamentales del sistema. [Wellstead 79]

18
Capítulo 2 Modelado matemático

Tabla 2-1 Relación entre varios tipos de modelado.

MODELOS
MODELOS
PARA
DINÁMICOS
SIMULACIÓN
Modelos para
Modelos para el,
investigación
análisis de control
empírica de
y diseño
propiedades

Modelos de Modelos de
MODELOS SISTEMA
Simulación por Análisis
INTUITIVOS ACTUAL
Computadora Dinámico
Guía de los tipos
Guías de la
de modelos para Obtenidos por
forma del
simulación y análisis físico
modelo Intuitivo
dinámico
Modelos de Modelos de
Simulación a Identificación
Escala Dinámica
Obtenido por
observación,
replicación e
inferencia

Dirección de la aproximación descendente

2.1 Cinemática

Se puede hablar dentro del análisis de la cinemática de los robots manipuladores que
existen dos formas de determinar su posición y orientación, la cual depende de que tipo de
variable se esté manejando; estas dos formas son conocidas como la cinemática directa y la
cinemática inversa. Se puede apreciar su relación en la figura 2-1 [Barrientos 97].
Información adicional acerca de la cinemática, así como los movimientos de las
articulaciones se encuentran en el apéndice B.

Valor de las Cinemática directa Posición y


coordenadas orientación del
articulares extremo del robot
(q1, q2,…, qn) (x, y, z, α , β , γ )
Cinemática inversa
Figura 2-1 Relación entre las cinemáticas directa e inversa.

19
“Caracterización de un robot manipulador articulado”

Para el análisis de la cinemática, las variables que se usaron fueron:

l1 Longitud del primer eslabón.


l2 Longitud del segundo eslabón.
l3 Longitud de la garra.
θ1 Ángulo de la cintura.
θ2 Ángulo del hombro.
θ3 Ángulo del codo.
θ4 Ángulo de elevación.
θ5 Ángulo de giro.

2.1.1 Cinemática directa


La cinemática directa es aquella en la que para obtener la posición y orientación del
efector final es necesario establecer una marco de referencia fijo (X0, Y0, Z0) para el cual
todos los objetos incluyendo al manipulador son referenciados situándolo dentro, fuera o en
la base del robot [Barrientos 97].

Para el Scorbot-ER V plus el marco de referencia, está situado en su base como lo


muestra la figura 2-2a, sin embargo para el análisis se considera el punto de origen al inicio
del primer eslabón, puesto que la distancia del punto de origen que tiene el robot y el
propuesto, es una distancia fija que no afecta el análisis. Los ejes para el marco de
referencia se muestran en la figura 2-2b.

+ Elevación

z0
z1 z2
+ Giro
Hombro Codo
Punto de origen θ2 θ3
l1 l2
para el análisis
Brazo Antebrazo

θ1 d1

Base

Punto de origen

(a) Marco de referencias para el análisis. (b) Diagrama a bloques del marco de referencias.
Figura. 2-2 Marco de referencias para el Scorbot-ER V plus.

20
Capítulo 2 Modelado matemático

Para el Scorbot-ER V plus se optó por emplear la convención referenciada en


Denavit-Hartenberg (D-H); en las que se usan las coordenadas y las transformaciones
homogéneas para simplificar las transformaciones entre el marco de referencia y las
uniones. Para mayor información acerca de esta convención, así como su metodología
remitirse al apéndice B o [Craig 89] [Spong 89] [Barrientos 97] [Fu 88] [Ollero 01].

La tabla 2-2 que aparece a continuación muestra esta convención aplicada al


Scorbot-ER V plus (D-H).

Tabla 2-2 Parámetros D-H obtenidos del Scorbot ER-V plus.

Cadena θi di ai-1 αi-1

1 θ1 d1 0 0
2 θ2 d2 0 -90
3 θ3 0 l1 0
4 θ4 0 l2 0
5 θ5 0 l3 90

De acuerdo a la tabla 2-2, las matrices homogéneas i −1 Ai (la definición de esta


matriz se puede apreciar en el apéndice B) para el Scorbot-ER V plus quedarían como:

⎡Cθ1 − Sθ1 0 0⎤
⎢ Sθ Cθ 1 0 0 ⎥⎥
0
A = ⎢ 1 2-1
1
⎢ 0 0 1 d1 ⎥
⎢ ⎥
⎣ 0 0 0 1⎦

⎡ Cθ 2 − Sθ 2 0 0⎤
⎢ 0 0 1 0 ⎥⎥
2A=
1 ⎢ 2-2
⎢− Sθ 2 − Cθ 2 0 d2 ⎥
⎢ ⎥
⎣ 0 0 0 1⎦

⎡Cθ3 − Sθ3 0 l1 ⎤
⎢ Sθ Cθ 3 0 0 ⎥⎥
3A =
2 ⎢ 3 2-3
⎢ 0 0 1 0⎥
⎢ ⎥
⎣ 0 0 0 1⎦

21
“Caracterización de un robot manipulador articulado”

⎡Cθ 4 − Sθ 4 0 l2 ⎤
⎢ Sθ Cθ 4 0 0 ⎥⎥
3
A = ⎢ 4 2-4
4
⎢ 0 0 1 0⎥
⎢ ⎥
⎣ 0 0 0 1⎦

⎡Cθ 5 − Sθ 5 0 l3 ⎤
⎢ 0 0 −1 0 ⎥⎥
5A=
4 ⎢ 2-5
⎢ Sθ 5 Cθ 5 0 0⎥
⎢ ⎥
⎣ 0 0 0 1⎦

Donde por simplicidad se utiliza:

C = coseno
S = seno

Por lo que la matriz de transformación homogénea T queda dada por:

T = 0A5= 0A11A22A33A44A5

⎡ r11 r12 r13 Px ⎤


⎢r r22 r23 Py ⎥⎥
T = ⎢ 21 2-6
⎢ r31 r32 r33 Pz ⎥
⎢ ⎥
⎣0 0 0 1⎦

Por lo tanto la información de la posición y orientación del efector final con


respecto hacia el marco de referencia considerado anteriormente, está dada por la
evaluación de la matriz T que se expresa en la ecuación 2-6.

La ecuación 2-6 está desplegada en matriz de cofactores que nos proporciona las
posiciones del efector final dados por Px, Py, Pz, situado en un espacio cartesiano.

Los términos de los cofactores de la matriz de la ecuación 2-6 son:

r11 = C1C234C5 – S1S5 2-7a


r21 = S1C234C5 + C1S5 2-7b
r31 = - S234C5 2-7c
r12 = - C1C234S5 – S1C5 2-7d
r22 = - S1C234S5 + C1C5 2-7e
r32 = S234S5 2-7f
r13 = C1S234 2-7g
r23 = S1S234 2-7h
r33 = C234 2-7i

22
Capítulo 2 Modelado matemático

Por lo que las coordenadas de la posición del efector final en el punto TCP (Tool
Center Point) de la figura 2-2a y tomando como punto de origen el inicio del primer
eslabón también mostrado en la misma figura, se tiene:

PX = ((C1C2C3 – C2S2S3)C4 + (- C1C2S3 - C1S2C3)S4)l3 +


(C1C2C3 - C1S2S3) l2 + C1C2l1 2-7j

PY = ((S1C2C3 – S1S2S3)C4 + (- S1C2S3 - S1S2C3)S4)l3 +


(S1C2C3 - S1S2S3) l2 + S1C2l1 2-7k

PZ = ((–S2C3 - C2S3) C4 + (S2S3 - C2C3) S4) l3 +


(- S2C3 – C2S3) l2 - S2l1 + d1 + d2 2-7l

Para determinar la orientación del efector final se empleó la matriz de rotación


que se encuentra dentro de la ecuación 2-6.

⎡ r11 r12 r13 ⎤


⎢ r23 ⎥⎥
5 R = ⎢ r21
0
r22 2-8
⎢⎣r31 r32 r33 ⎥⎦

Donde la ecuación 2-8 representa los vectores de orientación dados por n, s y a:

⎡ nx sx ax ⎤
0
5 R = ⎢⎢n y sy a y ⎥⎥ 2-9
⎢⎣ n z sz a z ⎥⎦

Los tres vectores n,s,a y TCP son definidos como se ilustra en la figura 2-3. El
vector de aproximación del efector final es “a”; el vector de orientación “s” es la dirección
que especifica la orientación de la mano entre los dedos; el vector normal “n” es
seleccionado para completar la definición del sistema coordinado usando la regla de la
mano derecha. [Fu 88]

23
“Caracterización de un robot manipulador articulado”

TCP
a

Base del
robot

Figura. 2-3 Robot y efector final, mostrando la definición de n, s, a y TCP.

2.1.2 Cinemática inversa

Con la cinemática inversa se tiene el caso contrario a la cinemática directa, es decir,


ahora con las coordenadas x, y y z, se desea determinar los ángulos θ1,θ2, θ3 para cada
articulación sin considerar la parte de orientación (θ4, θ5). Las figura 2-4 muestra un
modelo tipo de alambre para simplificar el análisis.

Para la solución de la cinemática inversa se optó por el método geométrico que


emplea relaciones geométricas y trigonométricas (resolución de triángulos) este método se
puede consultar en [Barrientos 97], [Fu 88] entre otros. Por la estructura que conforma al
robot Scorbot-ER V plus es posible tener dos soluciones para el mismo punto, por lo que se
hizo el análisis de las configuraciones codo abajo y codo arriba el cual se desarrolla a
continuación (para mayor información ver apéndice B):

24
Capítulo 2 Modelado matemático

Eje Z

l2 θ3

l1

θ2 Eje X
θ1
rxy y3
x3
Eje Y

Figura. 2-4 DCL de la cinemática inversa.

En la figura 2-5 se muestra la solución de la cinemática inversa con el método


geométrico para la configuración codo abajo y a continuación su desarrollo matemático:

Cálculo de θ1 para el giro en la cintura

⎛y ⎞
θ1 = tan −1 ⎜⎜ 3 ⎟⎟ 2-10
⎝ x3 ⎠

Cálculo de θ2 para el giro en el hombro

x3
rxy = 2-11
cosθ1

rxyz = rxy2 + z 32 2-12

⎛z ⎞
β = tan −1 ⎜ 3 ⎟ 2-13
⎜r ⎟
⎝ xy ⎠

25
“Caracterización de un robot manipulador articulado”

Por ley de cosenos

α = cos −1 ⎢ 1
(
⎡ l 2 + rxyz
2 2
l2 )⎤
⎥ 2-14
⎢⎣ 2l1rxyz ⎥⎦

θ2 = β - α 2-15

Cálculo de θ3 para el giro en el codo

l1y = l1 sen θ2 2-16

z2 = l1y 2-17

l1x = l1 cos θ2 2-18

xy2 = l1x 2-19

l2xy = rxy-l1x 2-20

l2z = z3 - z2 2-21

⎛ l 2 xy ⎞
tan ω = ⎜⎜ ⎟⎟ 2-22
⎝ l2 z ⎠

⎛ l 2 xy ⎞
ω = tan −1 ⎜⎜ ⎟⎟ 2-23
⎝ l2 z ⎠

θ3 = ω - θ2 2-24
Eje Z

l2z
r xyz l2 θ3
ω θ2
Z3
l1
l1z α
β θ2 Eje XY
l1xy
r xy l2xy

Figura. 2-5 Proyección en un plano para la configuración codo abajo.

26
Capítulo 2 Modelado matemático

En la figura 2-6 se muestra la solución de la cinemática inversa con el método


geométrico para la configuración codo arriba y a continuación su desarrollo matemático:

Cálculo de θ1 para el giro en la cintura

Como este ángulo es el mismo para la configuración codo abajo y codo arriba, se
toma la ecuación 2-10 para su determinación.

Cálculo de θ2 para el giro en el hombro

θ2 = β + α 2-25

Para el cálculo de β y α se retoma de la ecuación 2-11 a la 2-14 para su


determinación.

Cálculo de θ3 para el giro en el codo

θ3 = θ2 - ω 2-26

Para el cálculo de ω se retoma de la ecuación 2-16 a la 2-23 para su determinación.

Eje Z

l2z l2
θ3
ω
r xyz
Z3 l1
l1z
α θ2
β Eje XY
l1xy
r xy l2xy
Figura. 2-6 Proyección en un plano para la configuración codo arriba.

27
“Caracterización de un robot manipulador articulado”

2.2 Dinámica
Un robot manipulador es básicamente un dispositivo posicionador. Para controlar la
posición se deben conocer las propiedades dinámicas del manipulador en orden para
conocer las fuerzas ejercidas sobre él, que son las causantes de su movimiento.

Tal como la cinemática, en la dinámica también existen las dinámicas directa e


inversa y su relación se puede apreciar en la figura 2-7.

Evolución de las Dinámica inversa


coordenadas Fuerzas y pares
articulares y que intervienen en
sus derivadas el movimiento
. ..
(qi, qi, qi) Dinámica directa (Fi, τi )
Figura 2-7 Relación entre las dinámicas directa e inversa.

2.2.1 Consideraciones dinámicas


El modelado dinámico inverso se realizó bajo los siguientes criterios:

Para el desarrollo del modelo se omitieron los dos últimos grados de libertad, ya que
pertenecen a la orientación del efector final y sus efectos no son significativos para el
comportamiento dinámico del robot. En general se consideró al manipulador como un
sistema rígido, concentrando las masas en el centro de cada eslabón tal y como lo muestra
la figura 2-8; fueron considerados los efectos de fricción provocados por las transmisiones
mecánicas que en este caso se da por engranajes (esta consideración es importante ya que
estos efectos pueden alcanzar un orden de un 25% del par requerido para mover al
manipulador en situaciones típicas [Craig 89]). Esto hace que el sistema sea no
conservativo, sin embargo, el sistema puede ser resuelto por medio de la formulación de
Lagrange y finalmente aplicando la función de disipación de Rayleigh (apéndice C) se
permite adicionar los efectos de fricción al modelo dinámico. En el análisis de cada
eslabón, los efectos de las Energías Cinética y Potencial de los eslabones anteriores (si
existen) repercuten en el análisis del eslabón en cuestión. Las pérdidas debidas a los
huelgos y excentricidades en los engranajes, así como la eficiencia del motor fueron
despreciadas dentro del análisis de la ecuación de movimiento de Lagrange.

2.2.2 Dinámica inversa


Resolver las ecuaciones dinámicas de movimiento para el robot no es una tarea
simple debido a los grandes números de grados de libertad y sistemas no lineales que lo

28
Capítulo 2 Modelado matemático

componen; para poder definir dichas ecuaciones se empleó la formulación de movimiento


de Lagrange. El método se encuentra en el apéndice C o en [Lewis 93].

Como lo representa la figura 2-7, el modelo dinámico inverso expresa las fuerzas y
pares que intervienen, en función de la evolución temporal de las coordenadas articulares y
sus derivadas.

Como se comentó anteriormente, el método para la solución de la dinámica inversa


fue la formulación de movimiento de Lagrange; este método se eligió entre otros tantos por
que representaba menos complejidad al aplicarlo al Scorbot ER-V plus, debido a sus grados
de libertad. La figura 2-8 muestra las condiciones dinámicas del manipulador y en la figura
2-9 se muestran estas condiciones en un plano de dos dimensiones; donde cada variable
está definida de la siguiente manera:

W= Carga aplicada
mi = Masa del i-ésimo eslabón
g= Constante de gravedad
l= Radio de giro para la masa de la base
a= Longitud del primer eslabón
b= Longitud del segundo eslabón
Ii = Inercia i-ésima del eslabón
Vi = Velocidad lineal del i-ésimo eslabón
Ki = Energía cinética del i-ésimo eslabón
Pi = Energía potencial del i-ésimo eslabón

Eje Z

W
b m2 θ 3 g

a
m1
θ2
θ1
mb Eje X

Eje Y

Figura. 2-8 DCL de la dinámica inversa.

A continuación se muestra el desarrollo del modelo dinámico inverso [Lewis 93]


[Barrientos 97] [Craig 89] [Ollero 01] [Spong 89].

29
“Caracterización de un robot manipulador articulado”

2.2.2.1 Análisis de la articulación en la base

Kb = Energía cinética de la base

1 &2
Kb = I bθ1 2-27
2

I b = mb l 2 2-28

1
K b = mb l 2θ&12 2-29
2

Pb = Energía potencial de la base

La energía potencial es cero debido a que un posible cambio en el ángulo θ1 no


altera la altura de la masa mb sobre la vertical. Para comprender mejor este análisis de la
energía potencia de la base, se puede comparar con el análisis de un péndulo horizontal
mostrado en el apéndice D.

Eje Z
W
b θ3
m2 g

a
m1
θ2

Eje XY

Figura. 2-9 Proyección en un plano para la dinámica inversa.

2.2.2.2 Análisis de la articulación en el primer eslabón

K1= Energía cinética del eslabón 1

2 2
1 ⎛a⎞ 1 ⎛a ⎞
K1 = m1 ⎜ ⎟ θ&22 + m1 ⎜ cosθ 2 ⎟ θ&12 2-30
2 ⎝2⎠ 2 ⎝2 ⎠

30
Capítulo 2 Modelado matemático

1 a2 1 a2
K1 = m1 θ&22 + m1 cos 2 θ 2θ&12 2-31
2 4 2 4

⎡1 1 ⎤
Aplicando la identidad cos2 θ = ⎢ + cos 2θ ⎥ a la ecuación 2-31 se obtiene:
⎣2 2 ⎦

1 1 ⎡1 1 ⎤
K1 = m1a 2θ&22 + m1a 2 ⎢ + cos 2θ 2 ⎥θ&12 2-32
8 8 ⎣2 2 ⎦

1 1 1
K1 = m1a 2θ&22 + m1a 2θ&12 + m1a 2 cos 2θ 2θ&12 2-33
8 16 16

P1 = Energía potencial del eslabón 1

a
P1 = m1 g senθ 2 2-34
2

2.2.2.3 Análisis de la articulación en el segundo eslabón

K2 = Energía cinética del eslabón 2

1 1
K 2 = m2V22 + I 2θ&12 2-35
2 2

V22 = x& 22 + y& 22 2-36

x2 = a cosθ 2 + b cos(θ 2 + θ 3 )
1
2-37
2

x& 2 = −asenθ 2θ&2 − bsen(θ 2 + θ 3 )(θ&2 + θ&3 )


1
2-38
2

(
x& 22 = a 2 sen 2θ 2θ&22 + absenθ 2 sen(θ 2 + θ 3 ) θ&22 + θ&2θ&3 )
+ b 2 sen 2 (θ 2 + θ 3 )(θ&2 + θ&3 )
1 2 2-39
4

y 2 = asenθ 2 + bsen(θ 2 + θ 3 )
1
2-40
2

31
“Caracterización de un robot manipulador articulado”

y& 2 = a cosθ 2θ&2 + b cos(θ 2 + θ 3 )(θ&2 + θ&3 )


1
2-41
2

(
y& 22 = a 2 cos 2 θ 2θ&22 + ab cosθ 2 cos(θ 2 + θ 3 ) θ&22 + θ&2θ&3 )
2-42
+ b 2 cos 2 (θ 2 + θ 3 )(θ&2 + θ&3 )
1 2

Sustituyendo 2-39 y 2-42 en 2-36:

(
V22 = a 2 sen 2θ 2θ&22 + absenθ 2 sen(θ 2 + θ 3 ) θ&22 + θ&2θ&3 )
+ b 2 sen 2 (θ 2 + θ 3 )(θ&2 + θ&3 ) + a 2 cos 2 θ 2θ&22
1 2

4
( )
2-43
+ ab cosθ 2 cos(θ 2 + θ 3 ) θ&22 + θ&2θ&3

+ b 2 cos 2 (θ 2 + θ 3 )(θ&2 + θ&3 )


1 2

Aplicando identidades trigonométricas (ver apéndice E) a la suma de las ecuaciones


2-39 y 2-42 se obtiene:

( )
x& 22 + y& 22 = a 2θ&22 + ab θ&22 + θ&2θ&3 cos θ 3 + b 2 (θ&2 + θ&3 )
1
4
2
2-44

I 2 = m2 x22 2-45

2
⎡ ⎤
x = ⎢ a cos θ 2 + b cos (θ 2 + θ 3 )⎥
2 1
2 2-46
⎣ 2 ⎦

x22 = a 2 cos 2 θ 2 + ab cosθ 2 cos(θ 2 + θ 3 ) + b 2 cos 2 (θ 2 + θ 3 )


1
2-47
4

1 ⎡
2 ⎣
( ) 1 2⎤
K 2 = m2 ⎢a 2θ&22 + ab θ&22 + θ&2θ&3 cosθ 3 + b 2 (θ&2 + θ&3 ) ⎥
4 ⎦
2-48
⎡ ⎤
+ m2θ&12 ⎢a 2 cos 2 θ 2 + ab cosθ 2 cos(θ 2 + θ 3 ) + b 2 cos 2 (θ 2 + θ 3 )⎥
1 1
2 ⎣ 4 ⎦

K2 =
1
2 2
( 1
8
)
m2 a 2θ&22 + m2 ab θ&22 + θ&2θ&3 cosθ 3 + m2 b 2 (θ&2 + θ&3 )
1 2

+ m2 a 2θ&12 + m2 a 2 cos 2θ 2θ&12 + m2 ab cosθ 2 cos(θ 2 + θ 3 )θ&12


1 1 1
2-49
4 4 2
+ m2 b 2θ&12 + m2 b 2 cos 2(θ 2 + θ 3 )θ&12
1 1
16 16

32
Capítulo 2 Modelado matemático

P2 = Energía potencial del eslabón 2

P2 = m2 gasenθ 2 + m2 gbsen(θ 2 + θ 3 )
1
2-50
2

2.2.2.4 Análisis de la articulación en el segundo eslabón respecto a la carga

Kc = Energía cinética con respecto a la carga

1 1
K c = WVc2 + I cθ&12 2-51
2 2

Vc2 = x& c2 + y& c2 2-52

xc = a cosθ 2 + b cos(θ 2 + θ 3 ) 2-53

x& c = −asenθ 2θ&2 − bsen(θ 2 + θ 3 )(θ&2 + θ&3 ) 2-54

(
x& c2 = a 2 sen 2θ 2θ&22 + 2absenθ 2 sen(θ 2 + θ 3 ) θ&22 + θ&2θ&3 )
2-55
+ b 2 sen 2 (θ 2 + θ 3 )(θ&2 + θ&3 )
2

yc = asenθ 2 + bsen(θ 2 + θ 3 ) 2-56

y& c = a cosθ 2θ&2 + b cos(θ 2 + θ 3 )(θ&2 + θ&3 ) 2-57

(
y& c2 = a 2 cos 2 θ 2θ&22 + 2ab cosθ 2 cos(θ 2 + θ 3 ) θ&22 + θ&2θ&3 )
2-58
+ b 2 cos 2 (θ 2 + θ 3 )(θ&2 + θ&3 )
2

Sustituyendo 2-55 y 2-58 en 2-52:

(
Vc2 = a 2 sen 2θ 2θ&22 + 2absenθ 2 sen(θ 2 + θ 3 ) θ&22 + θ&2θ&3 )
+ b 2 sen 2 (θ 2 + θ 3 )(θ&2 + θ&3 ) + a 2 cos 2 θ 2θ&22
2
2-59
( )
+ 2ab cosθ 2 cos(θ 2 + θ 3 ) θ&22 + θ&2θ&3 + b 2 cos 2 (θ 2 + θ 3 )(θ&2 + θ&3 )
2

33
“Caracterización de un robot manipulador articulado”

Aplicando identidades trigonométricas (ver apéndice E) a la ecuación 2-59 se


obtiene:

( )
Vc2 = a 2θ&22 + 2ab θ&22 + θ&2θ&3 cos θ 3 + b 2 (θ&2 + θ&3 )
2
2-60

I c = Wxc2 2-61

xc2 = [a cos θ 2 + b cos(θ 2 + θ 3 )]


2
2-62

xc2 = a 2 cos 2 θ 2 + 2ab cosθ 2 cos(θ 2 + θ 3 ) + b 2 cos 2 (θ 2 + θ 3 ) 2-63

2
( )
K c = Wa 2θ&22 + Wab θ&22 + θ&2θ&3 cosθ 3 + Wb 2 (θ&2 + θ&3 )
1 1
2
2

+ Wa 2θ&12 + Wa 2 cos 2θ 2θ&12 + Wab cosθ 2 cos(θ 2 + θ 3 )θ&12


1 1
2-64
4 4
+ Wb 2θ&12 + Wb 2 cos 2(θ 2 + θ 3 )θ&12
1 1
4 4

PC = Energía potencial con respecto a la carga

PC = Wgasenθ 2 + Wgbsen(θ 2 + θ 3 ) 2-65

2.2.2.5 Ecuación de Lagrange

La ecuación de movimiento de Lagrange se obtiene con la sumatoria de las energías


cinéticas y potenciales en el manipulador (El método se puede consultar en el apéndice C)
[Lewis 93]

L = ΣK i − ΣPi 2-66

Donde

ΣK i representa la sumatoria de las energías cinéticas,


ΣPi representa la sumatoria de las energías potenciales,

Por lo que el Lagrangiano quedaría como:

L = Kb + K1 + K2 + Kc – Pb – P1 – P2 – Pc 2-67

34
Capítulo 2 Modelado matemático

1 1 1 1
L= mb l 2θ&12 + m1a 2θ&22 + m1a 2θ&12 + m1a 2 cos 2θ 2θ&12
2 8 16 16

2 2
( )
+ m2 a 2θ&22 + m2 ab θ&22 + θ&2θ&3 cosθ 3 + m2 b 2 (θ&2 + θ&3 )
1 1 1
8
2

+ m2 a 2θ&12 + m2 a 2 cos 2θ 2θ&12 + m2 ab cosθ 2 cos(θ 2 + θ 3 )θ&12


1 1 1
4 4 2
+ m2 b 2θ&12 + m2 b 2 cos 2(θ 2 + θ 3 )θ&12
1 1
16 16 2-68

2
( )
+ Wa 2θ&22 + Wab θ&22 + θ&2θ&3 cosθ 3 + Wb 2 (θ&2 + θ&3 )
1 1
2
2

+ Wa 2θ&12 + Wa 2 cos 2θ 2θ&12 + Wab cosθ 2 cos(θ 2 + θ 3 )θ&12


1 1
4 4
+ Wb 2θ&12 + Wb 2 cos 2(θ 2 + θ 3 )θ&12 − m1 gasenθ 2
1 1 1
4 4 2
− m2 gasenθ 2 − m2 gbsen(θ 2 + θ 3 ) − Wgasenθ 2 − Wgbsen(θ 2 + θ 3 )
1
2

Para obtener el par aplicado a partir de la ecuación de movimiento de Lagrange, se


emplea:

d ∂L ∂L
τ= − 2-69
dt ∂q& ∂q

El siguiente desarrollo resulta de aplicar la ecuación de movimiento de Lagrange


(ecuacion 2-69) a el Lagrangiano (ecuación 2-68).

∂L 1 1
= mb l 2θ&1 + m1a 2θ&1 + m1a 2 cos 2θ 2θ&1
∂θ1
& 8 8

+ m2 a 2θ&1 + m2 a 2 cos 2θ 2θ&1 + m2 ab cosθ 2 cos(θ 2 + θ 3 )θ&1


1 1
2 2
+ m2 b 2θ&1 + m2 b 2 cos 2(θ 2 + θ 3 )θ&1
1 1
2-70
8 8
+ Wa 2θ&1 + Wa 2 cos 2θ 2θ&1 + 2Wab cosθ 2 cos(θ 2 + θ 3 )θ&1
1 1
2 2
+ Wb 2θ&1 + Wb 2 cos 2(θ 2 + θ 3 )θ&1
1 1
2 2

35
“Caracterización de un robot manipulador articulado”

d ∂L 1 1
= mb l 2θ&&1 + m1a 2θ&&1 + m1a 2 cos 2θ 2θ&&1
dt ∂θ1
& 8 8
1 1 1
− m1a 2 sen2θ 2θ&1θ&2 + m2 a 2θ&&1 + m2 a 2 cos 2θ 2θ&&1
4 2 2
− m2 a sen2θ 2θ1θ 2 + m2 ab cosθ 2 cos(θ 2 + θ 3 )θ&&1
2 & &
− m2 absenθ 2 cos(θ 2 + θ 3 )θ&1θ&2 − m2 ab cosθ 2 sen(θ 2 + θ 3 )(θ&2 + θ&3 )θ&1

+ m2 b 2θ&&1 + m2 b 2 cos 2(θ 2 + θ 3 )θ&&1


1 1
8 8
− m2 b 2 sen2(θ 2 + θ 3 )(θ&2 + θ&3 )θ&1
1
4
1 1
+ Wa 2θ&&1 + Wa 2 cos 2θ 2θ&&1 − Wa 2 sen2θ 2θ&1θ&2
2 2
+ 2Wab cosθ 2 cos(θ 2 + θ 3 )θ&&1 − 2Wabsenθ 2 cos(θ 2 + θ 3 )θ&1θ&2

− 2Wab cosθ 2 sen(θ 2 + θ 3 )(θ&2 + θ&3 )θ&1 + Wb 2θ&&1


1
2
+ Wb 2 cos 2(θ 2 + θ 3 )θ&&1 − Wb 2 sen2(θ 2 + θ 3 )(θ&2 + θ&3 )θ&1
1
2-71
2

∂L
=0 2-72
∂θ 1

∂L 1
= m1a 2θ&2 + m2 a 2θ&2 + m2 ab(2θ&2 + θ&3 )cosθ 3
1
∂θ 2 4
& 2

+ m2 b 2 (θ&2 + θ&3 ) + Wa 2θ&2 + Wab(2θ&2 + θ&3 )cosθ 3


1
2-73
4
+ Wb 2 (θ&2 + θ&3 )

d ∂L 1
= m1a 2θ&&2 + m2 a 2θ&&2 + m2 ab(2θ&&2 + θ&&3 )cosθ 3
1
dt ∂θ 2 4
& 2

− m2 ab(2θ&2 + θ&3 )senθ 3θ&3 + m2 b 2 (θ&&2 + θ&&3 )


1 1
2-74
2 4
+ Wa θ 2 + Wab(2θ 2 + θ 3 )cosθ 3
2 && && &&
− Wab(2θ&2 + θ&3 )senθ 3θ&3 + Wb 2 (θ&&2 + θ&&3 )

36
Capítulo 2 Modelado matemático

∂L 1
= − m1a 2 sen2θ 2θ&12
∂θ 2 8

− m2 a 2 sen2θ 2θ&12 − m2 absenθ 2 cos(θ 2 + θ 3 )θ&12


1 1
2 2
− m2 ab cosθ 2 sen(θ 2 + θ 3 )θ&12 − m2 b 2 sen2(θ 2 + θ 3 )θ&12
1 1
2 8
− Wa 2 sen2θ 2θ&12 − Wabsenθ 2 cos(θ 2 + θ 3 )θ&12
1
2-75
2
− Wab cosθ 2 sen(θ 2 + θ 3 )θ&12 − Wb 2 sen2(θ 2 + θ 3 )θ&12
1
2
− m1 ga cosθ 2 − m2 ga cosθ 2 − m2 gb cos(θ 2 + θ 3 )
1 1
2 2
− Wga cosθ 2 − Wgb cos(θ 2 + θ 3 )

∂L 1
= m2 abθ&2 cosθ 3 + m2 b 2 (θ&2 + θ&3 )
1
∂θ&3 2 4 2-76
+ Wabθ&2 cosθ 3 + Wb 2 (θ&2 + θ&3 )

d ∂L 1
= m2 ab cosθ 3θ&&2 − m2 absenθ 3θ&2θ&3 + m2 b 2 (θ&&2 + θ&&3 )
1 1
dt ∂θ 3 2
& 2 4 2-77
+ Wab cosθ 3θ&&2 − Wabsenθ 3θ&2θ&3 + Wb 2 (θ&&2 + θ&&3 )

∂L
∂θ 3 2
( )
= − m2 ab θ&22 + θ&2θ&3 senθ 3 − m2 ab cosθ 2 sen(θ 2 + θ 3 )θ&12
1 1
2

( )
− m2 b 2 sen2(θ 2 + θ 3 )θ&12 − Wab θ&22 + θ&2θ&3 senθ 3
1
8 2-78
− Wab cosθ 2 sen(θ 2 + θ 3 )θ&12 − Wb 2 sen2(θ 2 + θ 3 )θ&12
1
2
− m2 gb cos(θ 2 + θ 3 ) − Wgb cos(θ 2 + θ 3 )
1
2

2.2.2.6 Fricción

Una vez obtenido el modelo del manipulador para sus tres primeros grados de
libertad, se expresa de forma general, como se muestra el la ecuación 2-80, dentro de la
cual se incluyó un modelo simple de fricción viscosa siendo el par proporcional a la
variable generalizada θ& , es decir τ Fricción = vθ& donde v es una constante de fricción viscosa
[Craig 89]. Por lo tanto, el par de fricción viscosa puede expresarse como [Lewis 93]:

37
“Caracterización de un robot manipulador articulado”

[ ]
FV q& = vec viθ&i 2-79

Donde:

vi Es un coeficiente constante conocido de fricción


FV Matriz diagonal con términos vi
vec Denota vector
q& = θ&i Vector de velocidades angulares

Se sabe que la formulación de movimiento de Lagrange sólo hace referencia a


sistemas conservativos, sin embargo, a través de la función de disipación de Rayleigh se
pueden incluir pérdidas como la fricción en un sistema conservativo (Ver apéndice C)
[Ogata 87]. Un modelo en el que se incluyen estos efectos de fricción quedaría de la
siguiente manera:

M (q )q&& + V (q, q& ) + G (q ) + FV q& = τ 2-80

Donde:

M (q ) Matriz de inercia

V (q, q& ) Vector de las fuerzas centrífugas

FV q& Vector de las fuerzas de fricción

G (q ) Vector de las fuerzas gravitacionales

τ Par requerido

Expresando la ecuación 2-80 en forma matricial se tiene:

⎡τ 1 ⎤ ⎡ A B C ⎤ ⎡θ&&1 ⎤ ⎡ J ⎤ ⎡ M ⎤ ⎡v1 0 0 ⎤ ⎡θ&1 ⎤


⎢τ ⎥ = ⎢ D E ⎢ ⎥ ⎢ ⎥
⎢ 2⎥ ⎢ F ⎥⎥ ⎢θ&&2 ⎥ + ⎢⎢ K ⎥⎥ + ⎢⎢ N ⎥⎥ + ⎢⎢ 0 v2 0 ⎥⎥ ⎢θ&2 ⎥ 2-81
⎢⎣τ 3 ⎥⎦ ⎢⎣G H I ⎥⎦ ⎢⎣θ&&3 ⎥⎦ ⎢⎣ P ⎥⎦ ⎢⎣ O ⎥⎦ ⎢⎣ 0 0 v3 ⎥⎦ ⎢⎣θ&3 ⎥⎦

Donde:

2.2.2.7 Par de la articulación 1 (cintura)

τ 1 = Aθ&&1 + Bθ&&2 + Cθ&&3 + J + M + FV1θ&1 2-82

38
Capítulo 2 Modelado matemático

Inercias

1 1 1 1
A = mb l 2 + m1a 2 + m1a 2 cos 2θ 2 + m2 a 2 + m2 a 2 cos 2θ 2
8 8 2 2
+ m2 ab cosθ 2 cos(θ 2 + θ 3 ) + m2 b 2 + m2 b 2 cos 2(θ 2 + θ 3 )
1 1
8 8 2-83
+ Wa 2 + Wa 2 cos 2θ 2 + 2Wab cosθ 2 cos(θ 2 + θ 3 )
1 1
2 2
+ Wb 2 + Wb 2 cos 2(θ 2 + θ 3 )
1 1
2 2

B=0 2-84

C=0 2-85

Fuerzas centrífugas y de Coriolis

1
J =− m1 a 2 sen 2θ 2θ&1θ&2 − m 2 a 2 sen 2θ 2θ&1θ&2
4
− m 2 absen θ 2 cos (θ 2 + θ 3 )θ&1θ&2
− m 2 ab cos θ 2 sen (θ 2 + θ 3 )(θ&2 + θ&3 )θ&1

m 2 b 2 sen 2 (θ 2 + θ 3 )(θ&2 + θ&3 )θ&1


1

4 2-86
− Wa 2 sen 2θ 2θ&1θ&2
− 2Wabsen θ 2 cos (θ 2 + θ 3 )θ&1θ&2
− 2Wab cos θ 2 sen (θ 2 + θ 3 )(θ&2 + θ&3 )θ&1
− Wb 2 sen 2 (θ 2 + θ 3 )(θ&2 + θ&3 )θ&1

Efectos gravitacionales

M=0 2-87

Efectos de fricción

τ 1, fricción = v1θ&1 2-88

2.2.2.8 Par de la articulación 2 (hombro)

τ 2 = Dθ&&1 + Eθ&&2 + Fθ&&3 + K + N 2-89

39
“Caracterización de un robot manipulador articulado”

Inercias

D=0 2-90

1 1
E = m1a 2 + a 2 m2 + m2 ab cosθ 3 + m2 b 2 + Wa 2 + 2Wab cosθ 3 + Wb 2 2-91
4 4

1 1
F = m2 ab cosθ 3 + m2 b 2 + Wab cosθ 3 + Wb 2 2-92
2 4

Fuerzas centrífugas y de Coriolis

K = − m2 ab(2θ&2 + θ&3 )senθ 3θ&3 − Wab(2θ&2 + θ&3 )senθ 3θ&3


1
2
− m1a 2 sen2θ 2θ&12 − m2 a 2 sen2θ 2θ&12 − m2 absenθ 2 cos(θ 2 + θ 3 )θ&12
1 1 1
8 2 2
2-93
− m2 ab cosθ 2 sen(θ 2 + θ 3 )θ&12 − m2 b 2 sen2(θ 2 + θ 3 )θ&12 − Wa 2 sen2θ 2θ&12
1 1 1
2 8 2
− Wabsenθ 2 cos(θ 2 + θ 3 )θ&12 − Wab cosθ 2 sen(θ 2 + θ 3 )θ&12 − Wb 2 sen2(θ 2 + θ 3 )θ&12
1
2

Efectos Gravitacionales

N = m1 ga cosθ 2 + m2 ga cosθ 2 + m2 gb cos(θ 2 + θ 3 )


1 1
2 2 2-94
+ Wga cosθ 2 + Wgb cos(θ 2 + θ 3 )

Efectos de fricción

τ 2, fricción = v2θ&2 2-95

2.2.2.9 Par de la articulación 3 (codo)

τ 3 = Gθ&&1 + Hθ&&2 + Iθ&&3 + P + O 2-96

Inercias

G=0 2-97

40
Capítulo 2 Modelado matemático

1 1
H = m2 ab cosθ 3 + m2 b 2 + Wab cosθ 3 + Wb 2 2-98
2 4

1
I = m2 b 2 + Wb 2 2-99
4

Fuerzas centrífugas y de Coriolis

1
2
1
P = − m2 absenθ 3θ&2θ&3 − Wabsenθ 3θ&2θ&3 + m2 absenθ 3 θ&22 + θ&2θ&3
2
( )
− m2 ab cosθ 2 sen(θ 2 + θ 3 )θ&12 − m2 b 2 sen2(θ 2 + θ 3 )θ&12
1 1
2-100
2 8
( )
+ Wabsenθ 3 θ&22 + θ&2θ&3 − Wab cosθ 2 sen(θ 2 + θ 3 )θ&12 − Wb 2 sen2(θ 2 + θ 3 )θ&12
1
2

Efectos gravitacionales

m2 gb cos(θ 2 + θ 3 ) + Wgb cos(θ 2 + θ 3 )


1
O= 2-101
2

Efectos de fricción

τ 3, fricción = v3θ&3 2-102

2.2.2.10 Modelo dinámico inverso para un robot manipulador articulado

Tomando en cuenta los cofactores nulos mostrados en las ecuaciones 2-84, 2-85, 2-
87, 2-90 y 2-97; finalmente se puede rescribir la ecuación 2-81 como:

⎡τ 1 ⎤ ⎡ A 0 0 ⎤ ⎡θ&&1 ⎤ ⎡ J ⎤ ⎡ 0 ⎤ ⎡v1 0 0 ⎤ ⎡θ&1 ⎤


⎢τ ⎥ = ⎢ 0 E ⎢ ⎥ ⎢ ⎥
⎢ 2⎥ ⎢ F ⎥⎥ ⎢θ&&2 ⎥ + ⎢⎢ K ⎥⎥ + ⎢⎢ N ⎥⎥ + ⎢⎢ 0 v2 0 ⎥⎥ ⎢θ&2 ⎥ 2-103
⎢⎣τ 3 ⎥⎦ ⎢⎣ 0 H I ⎥⎦ ⎢⎣θ&&3 ⎥⎦ ⎢⎣ P ⎥⎦ ⎢⎣ O ⎥⎦ ⎢⎣ 0 0 v3 ⎥⎦ ⎢⎣θ&3 ⎥⎦

Por lo que la ecuación 2-103 representa el modelo dinámico inverso del robot
manipulador articulado que se aplica para el “Scorbot-ER V plus”

41
“Caracterización de un robot manipulador articulado”

2.2.3 Dinámica directa


El modelo dinámico directo expresa la evolución temporal de las coordenadas
articulares y sus derivadas, en función de la fuerzas y pares que interviene.

Para la obtención del modelo dinámico directo; se emplea el modelo dinámico


inverso, partiendo de la ecuación 2-81; y aplicando la regla de Cramer para las ecuaciones
2-82, 2-89 y 2-96; empezando por sustituir los cofactores nulos mostrados en la ecuación 2-
103, se tiene:

τ 1 = Aθ&&1 + J + v1θ&1 2-104

τ 2 = Eθ&&2 + Fθ&&3 + K + N + v2θ&2 2-105

τ 3 = Hθ&&2 + Iθ&&3 + P + O + v3θ&3 2-106

Utilizando un cambio de variables para comodidad en el manejo de términos se


emplea:

θ&&1 = X 2-107

θ&&2 = Y 2-108

θ&&3 = Z 2-109

Aplicando el cambio de variables en las ecuaciones 2-104, 2-105 y 2-106:

τ 1 = AX + J + v1θ&1 2-110

τ 2 = EY + FZ + K + N + v2θ&2 2-111

τ 3 = HY + IZ + P + O + v3θ&3 2-112

Si se dice que AX = T, EY + FZ = Q y que HY + IZ = S; además de despejar en las


ecuaciones 2-110, 2-111 y 2-112 queda como:

T = τ 1 − J − v1θ&1 2-113

Q = τ 2 − K − N − v2θ&2 2-114

S = τ 3 − P − O − v3θ&3 2-115

42
Capítulo 2 Modelado matemático

Sustituyendo los pares en las ecuaciones 2-113, 2-114 y 2-115, sufren la siguiente
modificación:

T = AX 2-116

Q = EY + FZ 2-117

S = HY + IZ 2-118

Resolviendo las ecuaciones por el método de determinantes o regla de Cramer se


tiene:

⎡A 0 0⎤
det ⎢⎢ 0 E F ⎥⎥ = A[EI − FH ] 2-119
⎢⎣ 0 H I ⎥⎦

⎡T 0 0⎤
⎢Q E F ⎥⎥

⎢S H I ⎥⎦ T [EI − FH ] T
X=⎣ = = 2-120
⎡A 0 0⎤ A[EI − FH ] A
⎢0 E F ⎥⎥

⎢⎣ 0 H I ⎥⎦

⎡A T 0⎤
⎢0 Q F ⎥⎥

⎢0 S I ⎥⎦ A[QI − FS ] QI − FS
Y= ⎣ = = 2-121
⎡A 0 0 ⎤ A[EI − FH ] EI − FH
⎢0 E F ⎥⎥

⎢⎣ 0 H I ⎥⎦

⎡A 0 T⎤
⎢0 E Q ⎥⎥

⎢0 H S ⎥⎦ A[ES − QH ] ES − QH
Z=⎣ = = 2-122
⎡A 0 0⎤ A[EI − FH ] EI − FH
⎢0 E F ⎥⎥

⎢⎣ 0 H I ⎥⎦

43
“Caracterización de un robot manipulador articulado”

2.2.3.1 Modelo dinámico directo par un robot manipulador articulado.

Finalmente de la ecuación 2-104 a la 2-122 se puede determinar las aceleraciones


angulares para cada articulación, dadas por las siguientes ecuaciones:

T
θ&&1 = 2-123
A

I [τ 2 − K − N − v2θ&2 ]− F [τ 3 − P − O − v3θ&3 ]
θ&&2 = 2-124
IE − FH

E [τ 3 − P − O − v3θ&3 ] − H [τ 2 − K − N − v2θ&2 ]
θ&&3 = 2-125
IE − FH

Por lo que las ecuaciones 2-119, 2-120 y 2-121 representan el modelo dinámico
directo del robot manipulador articulado que se aplica para el “Scorbot-ER V plus”.

44
Capítulo 3 Simulación en PC

Capítulo
3

SIMULACIÓN EN PC

E n este capítulo se presentan las simulaciones para cada modelo obtenido en el


capítulo anterior del brazo robot llamado Scorbot-ER V plus. Estos modelos
están en función de las coordenadas generalizadas de las uniones (posición,
velocidades y aceleraciones) así como también las dimensiones geométricas del eslabón,
masas e inercias. El proceso de modelado asume que todos los parámetros de los robots son
numéricamente conocidos lo cual no es siempre cierto. En general las dimensiones
geométricas del robot son dadas por el fabricante el cual no incluye la información sobre
las masas de los eslabones, las inercias y los parámetros de fricción entre las uniones. Los
parámetros desconocidos, deben ser medidos y/o identificados en orden, para que sean de
beneficio en la simulación de los modelos matemáticos del brazo robot (esta identificación
y cuantificación de parámetros se explica a detalle en el capítulo 4).

45
“Caracterización de un robot manipulador articulado”

La simulación o el control fuera de línea de un robot, utiliza la computadora para


calcular las condiciones necesarias para ejecutar el diseño de trayectoria para el efector
final. La simulación de modelos matemáticos, proporciona una buena idea a los usuarios
acerca de la operación y el desempeño del robot. [Megahed 93]

Para llevar a cabo las simulaciones de los modelos obtenidos y vistos en el capítulo
2 fue necesaria la utilización de una herramienta que permitiera su fácil manejo. Dado que
el objetivo de esta tesis no es la de desarrollar un simulador, se optó por emplear un
software que cubre las características pertinentes para estas necesidades, siendo Matlab el
que presentó mayores ventajas para trabajar con él (como la disponibilidad, el
conocimiento, lo amigable que es, su modo gráfico, etc.). En un inicio se trabajó en
lenguaje “C”, en el cual se realizó la simulación de la cinemática directa y dicho trabajo es
incluido dentro del el apéndice F, sin embargo, se decidió cambiar de software por las
ventajas que ofrece Matlab.

3.1 Cinemática
Para los modelos cinemáticos, la simulación fue realizada en el editor de Matlab, el
cual cuenta con una opción gráfica en 3D que permite rotar la figura obtenida, en este caso
un modelo de alambre, desde cualquier ángulo que se desee, como se puede apreciar en las
figuras de la 3-1 a la 3-6. Se optó por esta herramienta computacional por que se buscaba
tener una representación gráfica de los modelos, para visualizar las posibles formas
geométricas que permitan adquirir la estructura del robot para alcanzar una posición y
orientación deseada.

3.1.1 Cinemática directa


A continuación se presenta el código que fue necesario introducir en el editor para
realizar la simulación de la cinemática directa teniendo como resultados las figuras 3-1, 3-2
y 3-3. Estas figuras sólo son un ejemplo de una posición definida arbitrariamente.

clear,clf,clc%Limpieza de las variables en memoria, de gráficas y de


pantalla
hold on %Activa gráficos

%PRESENTACIÓN

fprintf ('\n SIMULACIÓN DE LA CINEMÁTICA DIRECTA DEL ROBOT SCORBOT-ER V


plus\n');
fprintf ('---------------------------------------------------------------
--\n\n\n');

46
Capítulo 3 Simulación en PC

%Se piden valores de los ángulos TETAS


%Se consideran los límites REALES del SCORBOT-ER V plus

teta1 = input ('Valor del ángulo de la cintura en grados: ');


while (teta1<0 | teta1>310)
fprintf('\n Valor incorrecto\n');
teta1 = input ('Valor del ángulo de la cintura en grados: ');
end

teta2 = input ('Valor del ángulo del hombro en grados: ');


while (teta2<-35 | teta2>130)
fprintf('\n Valor incorrecto\n');
teta2 = input ('Valor del ángulo del hombro en grados: ');
end

teta3 = input ('Valor del ángulo del codo en grados: ');


while (teta3<-130 | teta3>140)
fprintf('\n Valor incorrecto\n');
teta3 = input ('Valor del ángulo del codo en grados: ');
end

teta4 = input ('Valor del ángulo de elevación (pitch) en grados: ');


while (teta4<-130 | teta4>130)
fprintf('\n Valor incorrecto\n');
teta4 = input ('Valor del ángulo de elevación (pitch ) en grados: ');
end

teta5 = input ('Valor del ángulo de giro (roll) en grados: ');


while (teta5<-570 | teta5>570)
fprintf('\n Valor incorrecto\n');
teta5 = input ('Valor del ángulo de giro (roll) en grados: ');
end

%Se dan las longitudes de los eslabones


%pidiéndoselas al usuario
link1 = input ('\n Longitud del primer eslabón en cm: ');
link2 = input (' Longitud del segundo eslabón en cm: ');
link3 = input (' Longitud de la garra (gripper) en cm: ');

%Límites de los ejes


eje = (link1+link2+link3);
axis([-eje,eje,-eje,eje,-eje,eje]);
title ('SIMULACIÓN DE LA CINEMÁTICA DIRECTA DEL ROBOT SCORBOT-ER V
plus');
xlabel('X (cm)'); ylabel('Y (cm)'); zlabel('Z (cm)');
grid;%Activa cuadrícula

%Conversiones de grados a radianes


rad1=(teta1*pi)/180;
rad2=(teta2*pi)/180;
rad3=(teta3*pi)/180;
rad4=(teta4*pi)/180;
rad5=(teta5*pi)/180;

47
“Caracterización de un robot manipulador articulado”

%Dibujo de la base
sphere (20)

%Cálculo y graficación del link1


%Cintura-Hombro
x1=0;
y1=0;
z1=0;

x2=cos(rad1)*cos(rad2)*link1;
y2=sin(rad1)*cos(rad2)*link1;
z2=sin(rad2)*link1;

%azul
line ([x1,x2],[y1,y2],[z1,z2],'LineWidth',8,'Color',[0 0 1])

%fprintf('\n Los valores de las coordenadas finales del primer eslabón


son:\n');
%fprintf('\tx2= %12.5f\n',x2);
%fprintf('\ty2= %12.5f\n',y2);
%fprintf('\tz2= %12.5f\n',z2);

%Cálculo y graficación del link2


%Codo-muñeca
x3=x2;
y3=y2;
z3=z2;

x4= (((cos(rad1)*cos(rad2)*cos(rad3))-
(cos(rad1)*sin(rad2)*sin(rad3)))*link2)+(cos(rad1)*cos(rad2)*link1);
y4= (((sin(rad1)*cos(rad2)*cos(rad3))-
(sin(rad1)*sin(rad2)*sin(rad3)))*link2)+(sin(rad1)*cos(rad2)*link1);
z4=
(((sin(rad2)*cos(rad3))+(cos(rad2)*sin(rad3)))*link2)+(sin(rad2)*link1);

line ([x3,x4],[y3,y4],[z3,z4],'LineWidth',8,'Color',[1 0 0])

fprintf('\n\n Los valores de las coordenadas finales del segundo eslabón


son:\n\n');
fprintf('\tX = %12.5f\n',x4); %x4
fprintf('\tY = %12.5f\n',y4); %y4
fprintf('\tZ = %12.5f\n',z4); %z4

%Graficación del gripper

%Vector N

fen=2;%Factor de escalamiento

nxa= cos(rad1)*cos(rad2)*cos(rad3)*cos(rad4)*cos(rad5);
nxb= -cos(rad1)*sin(rad2)*sin(rad3)*cos(rad4)*cos(rad5);
nxc= -cos(rad1)*cos(rad2)*sin(rad3)*sin(rad4)*cos(rad5);
nxd= -cos(rad1)*sin(rad2)*cos(rad3)*sin(rad4)*cos(rad5);
nxe= -sin(rad1)*sin(rad5);

48
Capítulo 3 Simulación en PC

nx= (nxa+nxb+nxc+nxd+nxe)*fen;

nya= sin(rad1)*cos(rad2)*cos(rad3)*cos(rad4)*cos(rad5);
nyb= -sin(rad1)*sin(rad2)*sin(rad3)*cos(rad4)*cos(rad5);
nyc= -sin(rad1)*cos(rad2)*sin(rad3)*sin(rad4)*cos(rad5);
nyd= -sin(rad1)*sin(rad2)*cos(rad3)*sin(rad4)*cos(rad5);
nye= -cos(rad1)*sin(rad5);

ny= (nya+nyb+nyc+nyd+nye)*fen;

nza= -sin(rad2)*cos(rad3)*cos(rad4)*cos(rad5);
nzb= -cos(rad2)*sin(rad3)*cos(rad4)*cos(rad5);
nzc= sin(rad2)*sin(rad3)*sin(rad4)*cos(rad5);
nzd= -cos(rad2)*cos(rad3)*sin(rad4)*cos(rad5);

nz= (nza+nzb+nzc+nzd)*-fen;
%negra
line ([x4,x4+nx],[y4,y4+ny],[z4,z4+nz],'LineWidth',2.5,'Color',[0 0 0])

%Vector S

fes=1.5;%Factor de escalamiento

sxa= -cos(rad1)*cos(rad2)*cos(rad3)*cos(rad4)*sin(rad5);
sxb= cos(rad1)*sin(rad2)*sin(rad3)*cos(rad4)*sin(rad5);
sxc= cos(rad1)*cos(rad2)*sin(rad3)*sin(rad4)*sin(rad5);
sxd= cos(rad1)*sin(rad2)*cos(rad3)*sin(rad4)*sin(rad5);
sxe= -sin(rad1)*cos(rad5);

sx= (sxa+sxb+sxc+sxd+sxe)*fes;

sya= -sin(rad1)*cos(rad2)*cos(rad3)*cos(rad4)*sin(rad5);
syb= sin(rad1)*sin(rad2)*sin(rad3)*cos(rad4)*sin(rad5);
syc= sin(rad1)*cos(rad2)*sin(rad3)*sin(rad4)*sin(rad5);
syd= sin(rad1)*sin(rad2)*cos(rad3)*sin(rad4)*sin(rad5);
sye= cos(rad1)*cos(rad5);

sy= (sya+syb+syc+syd+sye)*fes;

sza= sin(rad2)*cos(rad3)*cos(rad4)*sin(rad5);
szb= cos(rad2)*sin(rad3)*cos(rad4)*sin(rad5);
szc= -sin(rad2)*sin(rad3)*sin(rad4)*sin(rad5);
szd= cos(rad2)*cos(rad3)*sin(rad4)*sin(rad5);

sz= (sza+szb+szc+szd)*-fes;

%verde
line ([x4,x4-sx*2],[y4,y4-sy*2],[z4,z4-sz*2],'LineWidth',2.5,'Color',[0 1
0])

%gris
line ([x4,x4+sx],[y4,y4+sy],[z4,z4+sz],'LineWidth',6,'Color',[0.5 0.5
0.5])

49
“Caracterización de un robot manipulador articulado”

%gris
line ([x4,x4-sx],[y4,y4-sy],[z4,z4-sz],'LineWidth',6,'Color',[0.5 0.5
0.5])

%Vector A

fea=3.5;%Factor de escalamiento

axa= cos(rad1)*cos(rad2)*cos(rad3)*sin(rad4);
axb= -cos(rad1)*sin(rad2)*sin(rad3)*sin(rad4);
axc= cos(rad1)*cos(rad2)*sin(rad3)*cos(rad4);
axd= cos(rad1)*sin(rad2)*cos(rad3)*cos(rad4);

ax= (axa+axb+axc+axd)*fea;

aya= sin(rad1)*cos(rad2)*cos(rad3)*sin(rad4);
ayb= -sin(rad1)*sin(rad2)*sin(rad3)*sin(rad4);
ayc= sin(rad1)*cos(rad2)*sin(rad3)*cos(rad4);
ayd= sin(rad1)*sin(rad2)*cos(rad3)*cos(rad4);

ay= (aya+ayb+ayc+ayd)*fea;

aza= -sin(rad2)*cos(rad3)*sin(rad4);
azb= -cos(rad2)*sin(rad3)*sin(rad4);
azc= -sin(rad2)*sin(rad3)*cos(rad4);
azd= cos(rad2)*cos(rad3)*cos(rad4);

az= (aza+azb+azc+azd)*-fea;
%amarrilo
line
([x4,x4+ax*1.2],[y4,y4+ay*1.2],[z4,z4+az*1.2],'LineWidth',2.5,'Color',[1
1 0])

%tomando de origen el vector S verde


%línea gris (Dedo 1)
line ([x4-sx,x4+ax-sx],[y4-sy,y4+ay-sy],[z4-sz,z4+az-
sz],'LineWidth',6,'Color',[0.5 0.5 0.5])

%tomando de origen el vector S verde


%línea gris (Dedo 2)
line
([x4+sx,x4+ax+sx],[y4+sy,y4+ay+sy],[z4+sz,z4+az+sz],'LineWidth',6,'Color'
,[0.5 0.5 0.5])

hold off %Desactiva gráficos

Como se vio en el capítulo 2, la cinemática directa obtiene como resultado la


posición en que se encuentra el efector final en coordenadas cartesianas (xyz), por lo que es
necesario introducir como valores iniciales los ángulos que tiene cada elemento del robot
de acuerdo a su respectiva referencia. A continuación se muestra el cuadro de diálogo que
aparece en pantalla en el momento de ejecutar el programa.

50
Capítulo 3 Simulación en PC

Cuadro de diálogo

SIMULACIÓN DE LA CINEMÁTICA DIRECTA DEL ROBOT SCORBOT-ER V plus


-----------------------------------------------------------------------------------------------

Valor del ángulo de la cintura en grados: 45


Valor del ángulo del hombro en grados: 30
Valor del ángulo del codo en grados: 30
Valor del ángulo de elevación (pitch) en grados: 45
Valor del ángulo de giro (roll) en grados: 0

Longitud del primer eslabón en cm: 22


Longitud del segundo eslabón en cm: 22
Longitud de la garra (gripper) en cm: 10

Los valores de las coordenadas finales del segundo eslabón son:

X= 21.25037
Y= 21.25037
Z= 30.05256

Se puede notar, que el usuario incluso tiene la libertad de cambiar algunos


parámetros del robot y que el programa calcula y determina si es posible realizar la
simulación de acuerdo a los valores propuestos por el usuario, en caso de que el programa
encuentre algún error, es decir, que los ángulos propuestos por el usuario sobrepasaran los
límites físicos del Scorbot-ER V plus, el programa preguntará cuántas veces sea necesario
el valor hasta encontrar uno válido.

El resultado de la ubicación del efector final aparece de inmediato una vez que se
terminó de introducir el último dato requerido por el programa, dicho resultado está
expresado en centímetros en un espacio cartesiano. Otra opción de visualizar el resultado de
la simulación es a través de la gráfica que aparece en forma simultánea con los resultados,
la gráfica tiene la opción de cambiar la perspectiva, razón por la que el usuario tiene un
espacio disponible en tercera dimensión (3D) que si lo desea puede “voltear” y/o girar en
cualquier dirección al robot. La visualización gráfica de los resultados se puede apreciar en
las figuras 3-1, 3-2 y 3-3 que se muestran a continuación.

51
“Caracterización de un robot manipulador articulado”

Figura 3-1 Vista de planta.

Figura 3-2 Vista lateral.

Figura 3-3 Vista isométrica.

52
Capítulo 3 Simulación en PC

3.1.2 Cinemática inversa


A continuación se presenta el código que fue necesario introducir en el editor para
realizar la simulación de la cinemática inversa teniendo como resultados las figuras 3-4, 3-5
y 3-6. Estas figuras sólo son un ejemplo de una posición definida arbitrariamente.

clear,clf,clc %Limpieza de las variables en memoria, de gráficas y de


pantalla
hold on %Activa gráficos

%PRESENTACIÓN

fprintf ('\n SIMULACIÓN DE LA CINEMÁTICA INVERSA DEL ROBOT SCORBOT-ER V


plus\n');
fprintf ('---------------------------------------------------------------
--\n\n\n');

%Se dan las longitudes de los eslabones


%pidiéndoselas al usuario
link1 = input ('Longitud del primer eslabón en cm: ');
link2 = input ('Longitud del segundo eslabón en cm: ');
link3 = input ('Longitud de la garra (gripper) en cm: ');

%Se piden las coordenadas del efector final


x = input ('\nValor de la coordenada en X: ');
y = input ('Valor de la coordenada en Y: ');
z = input ('Valor de la coordenada en Z: ');

teta4 = input ('Valor del ángulo de elevación (pitch)en grados: ');


while (teta4<-130 | teta4>130)
fprintf('\n Valor incorrecto\n');
teta4 = input ('Valor del ángulo de elevación (pitch)en grados: ');
end

teta5 = input ('Valor del ángulo de giro (roll) en grados: ');


while (teta5<-570 | teta5>570)
fprintf('\n Valor incorrecto\n');
teta5 = input ('Valor del ángulo de giro (roll) en grados: ');
end

%Tipo de configuración
ca = input ('\nLa simulación la desea con configuración Codo Arriba (1) o
Codo Abajo (0): ');

%Condición para asegurar el alcance de la posición deseada


R=sqrt(x^2+y^2+z^2);
L=link1+link2+link3;
while (R>L)
fprintf('\n Posición fuera de alcance!!!\n');
fprintf('\n Modifique algún parámetro\n\n');

53
“Caracterización de un robot manipulador articulado”

%Se dan las longitudes de los eslabones


%pidiéndoselas al usuario
link1 = input ('Longitud del primer eslabón en cm: ');
link2 = input ('Longitud del segundo eslabón en cm: ');
link3 = input ('Longitud de la garra (gripper) en cm: ');

%Se piden las coordenadas del efector final


x = input ('Valor de la coordenada en X: ');
y = input ('Valor de la coordenada en Y: ');
z = input ('Valor de la coordenada en Z: ');
ca = input ('\nLa solución la desea con configuración Codo Arriba(1) o
Codo Abajo(0): ');

R=sqrt(x^2+y^2+z^2);
L=link1+link2+link3;
end

%Límites de los ejes


eje = (link1+link2+link3);
axis([-eje,eje,-eje,eje,-eje,eje]);
xlabel('X (cm)'); ylabel('Y (cm)'); zlabel('Z (cm)');
grid;%Activa cuadrícula

%Dibujo de la base
sphere (20)

if (x==0)

if y<0
rxy=y*-1;
end

rxy=y;

%Cálculo y graficación de link1


%Teta1 de Cintura-Hombro
teta1 = asin(y/rxy);
ar=sqrt(y^2+z^2);
beta=atan(z/y);
else
%Cálculo y graficación de link1
%Teta1 de Cintura-Hombro
teta1 = atan(y/x);
rxy=x/cos(teta1);
ar=sqrt(rxy^2+z^2);
beta=atan(z/rxy);
end

%Por ley de cosenos


alfa=acos((link1^2+ar^2-link2^2)/(2*link1*ar));

%Si es configuración codo arriba se mete al IF


if ca==1

teta2=beta+alfa;

54
Capítulo 3 Simulación en PC

if x<0
teta2=beta+alfa+180;
end

f=link1*sin(teta2);
h=z-f;
mu=asin(h/link2);
teta3=teta2-mu;
g=link1*cos(teta2);
gx=g*cos(teta1);
gy=g*sin(teta1);

%Configuración codo arriba

x1=0;
y1=0;
z1=0;

line ([x1,gx],[y1,gy],[z1,f],'LineWidth',8,'Color',[1 0 1])

%Cálculo y graficación del link2


%Codo-muñeca
x3=gx;
y3=gy;
z3=f;

title ('SIMULACION DEL SCORBOT-ER V plus en Configuración Codo


Arriba');
line ([x3,x],[y3,y],[z3,z],'LineWidth',8,'Color',[0 1 0])

%Graficación del gripper


rad1=teta1;
rad2=teta2;
rad3=teta3;
rad4=teta4;
rad5=teta5;
x4=x;
y4=y;
z4=z;

%Vector N

fen=2;%Factor de escalamiento

nxa= cos(rad1)*cos(rad2)*cos(rad3)*cos(rad4)*cos(rad5);
nxb= -cos(rad1)*sin(rad2)*sin(rad3)*cos(rad4)*cos(rad5);
nxc= -cos(rad1)*cos(rad2)*sin(rad3)*sin(rad4)*cos(rad5);
nxd= -cos(rad1)*sin(rad2)*cos(rad3)*sin(rad4)*cos(rad5);
nxe= -sin(rad1)*sin(rad5);

nx= (nxa+nxb+nxc+nxd+nxe)*fen;

nya= sin(rad1)*cos(rad2)*cos(rad3)*cos(rad4)*cos(rad5);
nyb= -sin(rad1)*sin(rad2)*sin(rad3)*cos(rad4)*cos(rad5);
nyc= -sin(rad1)*cos(rad2)*sin(rad3)*sin(rad4)*cos(rad5);
nyd= -sin(rad1)*sin(rad2)*cos(rad3)*sin(rad4)*cos(rad5);
nye= -cos(rad1)*sin(rad5);

55
“Caracterización de un robot manipulador articulado”

ny= (nya+nyb+nyc+nyd+nye)*fen;

nza= -sin(rad2)*cos(rad3)*cos(rad4)*cos(rad5);
nzb= -cos(rad2)*sin(rad3)*cos(rad4)*cos(rad5);
nzc= sin(rad2)*sin(rad3)*sin(rad4)*cos(rad5);
nzd= -cos(rad2)*cos(rad3)*sin(rad4)*cos(rad5);

nz= (nza+nzb+nzc+nzd)*-fen;
%negra
line ([x4,x4+nx],[y4,y4+ny],[z4,z4+nz],'LineWidth',2.5,'Color',[0 0
0])

%Vector S

fes=1.5;%Factor de escalamiento

sxa= -cos(rad1)*cos(rad2)*cos(rad3)*cos(rad4)*sin(rad5);
sxb= cos(rad1)*sin(rad2)*sin(rad3)*cos(rad4)*sin(rad5);
sxc= cos(rad1)*cos(rad2)*sin(rad3)*sin(rad4)*sin(rad5);
sxd= cos(rad1)*sin(rad2)*cos(rad3)*sin(rad4)*sin(rad5);
sxe= -sin(rad1)*cos(rad5);

sx= (sxa+sxb+sxc+sxd+sxe)*fes;

sya= -sin(rad1)*cos(rad2)*cos(rad3)*cos(rad4)*sin(rad5);
syb= sin(rad1)*sin(rad2)*sin(rad3)*cos(rad4)*sin(rad5);
syc= sin(rad1)*cos(rad2)*sin(rad3)*sin(rad4)*sin(rad5);
syd= sin(rad1)*sin(rad2)*cos(rad3)*sin(rad4)*sin(rad5);
sye= cos(rad1)*cos(rad5);

sy= (sya+syb+syc+syd+sye)*fes;

sza= sin(rad2)*cos(rad3)*cos(rad4)*sin(rad5);
szb= cos(rad2)*sin(rad3)*cos(rad4)*sin(rad5);
szc= -sin(rad2)*sin(rad3)*sin(rad4)*sin(rad5);
szd= cos(rad2)*cos(rad3)*sin(rad4)*sin(rad5);

sz= (sza+szb+szc+szd)*-fes;

%verde
line ([x4,x4-sx*2],[y4,y4-sy*2],[z4,z4-
sz*2],'LineWidth',2.5,'Color',[0 1 0])

%gris
line ([x4,x4+sx],[y4,y4+sy],[z4,z4+sz],'LineWidth',6,'Color',[0.5 0.5
0.5])

%gris
line ([x4,x4-sx],[y4,y4-sy],[z4,z4-sz],'LineWidth',6,'Color',[0.5 0.5
0.5])

%Vector A

fea=3.5;%Factor de escalamiento

56
Capítulo 3 Simulación en PC

axa= cos(rad1)*cos(rad2)*cos(rad3)*sin(rad4);
axb= -cos(rad1)*sin(rad2)*sin(rad3)*sin(rad4);
axc= cos(rad1)*cos(rad2)*sin(rad3)*cos(rad4);
axd= cos(rad1)*sin(rad2)*cos(rad3)*cos(rad4);

ax= (axa+axb+axc+axd)*fea;

aya= sin(rad1)*cos(rad2)*cos(rad3)*sin(rad4);
ayb= -sin(rad1)*sin(rad2)*sin(rad3)*sin(rad4);
ayc= sin(rad1)*cos(rad2)*sin(rad3)*cos(rad4);
ayd= sin(rad1)*sin(rad2)*cos(rad3)*cos(rad4);

ay= (aya+ayb+ayc+ayd)*fea;

aza= -sin(rad2)*cos(rad3)*sin(rad4);
azb= -cos(rad2)*sin(rad3)*sin(rad4);
azc= -sin(rad2)*sin(rad3)*cos(rad4);
azd= cos(rad2)*cos(rad3)*cos(rad4);

az= (aza+azb+azc+azd)*-fea;
%amarillo
line
([x4,x4+ax*1.2],[y4,y4+ay*1.2],[z4,z4+az*1.2],'LineWidth',2.5,'Color',[1
1 0])

%tomando de origen el vector S verde


%línea gris (Dedo 1)
line ([x4-sx,x4+ax-sx],[y4-sy,y4+ay-sy],[z4-sz,z4+az-
sz],'LineWidth',6,'Color',[0.5 0.5 0.5])

%tomando de origen el vector S verde


%línea gris (Dedo 2)
line
([x4+sx,x4+ax+sx],[y4+sy,y4+ay+sy],[z4+sz,z4+az+sz],'LineWidth',6,'Color'
,[0.5 0.5 0.5])

%Conversiones de radianes a grados


tetac1=(teta1*180)/pi;
tetah1=(teta2*180)/pi;
tetaco1=(teta3*180)/pi;

%Cuando los ángulos son mayores a 360

while tetac1>360
tetac1=tetac1-360;
end

while tetah1>360
tetah1=tetah1-360;
end

while tetaco1>360
tetaco1=tetaco1-360;
end

57
“Caracterización de un robot manipulador articulado”

%Cuando los ángulos son mayores a -360


while tetac1<-360
tetac1=tetac1+360;
end

while tetah1<-360
tetah1=tetah1+360;
end

while tetaco1<-360
tetaco1=tetaco1+360;
end

fprintf('\n Cuando los ángulos calculados se encuentran en el


segundo ');
fprintf('\n cuadrante, el ángulo mostrado es el
complementario\n');

fprintf('\n Los valores de los ángulos en codo arriba son:\n');

fprintf('\tCintura =%12.2f\n',tetac1);
fprintf('\tHombro =%12.2f\n',tetah1);
fprintf('\tCodo =%12.2f\n',tetaco1);

fprintf('\n Recuerde que los límites físicos (en grados) en el robot


son:');
fprintf('\n\t Cintura de 0 a 310');
fprintf('\n\t Hombro de -35 a 130');
fprintf('\n\t Codo de -130 a 130');

hold off %Desactiva gráficos

break%Finaliza el programa
end

teta2=beta-alfa;

if x<0
teta2=beta-alfa+180;
end

a=link1*sin(teta2);
b=link1*cos(teta2);
c=rxy-b;
d=z-a;
w=atan(d/c);
teta3=w-teta2;
bx=b*cos(teta1);
by=b*sin(teta1);

%Configuración codo abajo

x1=0;
y1=0;
z1=0;

58
Capítulo 3 Simulación en PC

title ('SIMULACIÓN DEL SCORBOT-ER V plus en Configuración Codo Abajo');


line ([x1,bx],[y1,by],[z1,a],'LineWidth',8,'Color',[0 0 1])

%Cálculo y graficación del link2


%Codo-muñeca
x3=bx;
y3=by;
z3=a;

line ([x3,x],[y3,y],[z3,z],'LineWidth',8,'Color',[1 0 0])

%Graficación del gripper


rad1=teta1;
rad2=teta2;
rad3=teta3;
rad4=teta4;
rad5=teta5;
x4=x;
y4=y;
z4=z;

%Vector N

fen=2;%Factor de escalamiento

nxa= cos(rad1)*cos(rad2)*cos(rad3)*cos(rad4)*cos(rad5);
nxb= -cos(rad1)*sin(rad2)*sin(rad3)*cos(rad4)*cos(rad5);
nxc= -cos(rad1)*cos(rad2)*sin(rad3)*sin(rad4)*cos(rad5);
nxd= -cos(rad1)*sin(rad2)*cos(rad3)*sin(rad4)*cos(rad5);
nxe= -sin(rad1)*sin(rad5);

nx= (nxa+nxb+nxc+nxd+nxe)*fen;

nya= sin(rad1)*cos(rad2)*cos(rad3)*cos(rad4)*cos(rad5);
nyb= -sin(rad1)*sin(rad2)*sin(rad3)*cos(rad4)*cos(rad5);
nyc= -sin(rad1)*cos(rad2)*sin(rad3)*sin(rad4)*cos(rad5);
nyd= -sin(rad1)*sin(rad2)*cos(rad3)*sin(rad4)*cos(rad5);
nye= -cos(rad1)*sin(rad5);

ny= (nya+nyb+nyc+nyd+nye)*fen;

nza= -sin(rad2)*cos(rad3)*cos(rad4)*cos(rad5);
nzb= -cos(rad2)*sin(rad3)*cos(rad4)*cos(rad5);
nzc= sin(rad2)*sin(rad3)*sin(rad4)*cos(rad5);
nzd= -cos(rad2)*cos(rad3)*sin(rad4)*cos(rad5);

nz= (nza+nzb+nzc+nzd)*-fen;
%negra
line ([x4,x4+nx],[y4,y4+ny],[z4,z4+nz],'LineWidth',2.5,'Color',[0 0 0])

%Vector S

fes=1.5;%Factor de escalamiento

59
“Caracterización de un robot manipulador articulado”

sxa= -cos(rad1)*cos(rad2)*cos(rad3)*cos(rad4)*sin(rad5);
sxb= cos(rad1)*sin(rad2)*sin(rad3)*cos(rad4)*sin(rad5);
sxc= cos(rad1)*cos(rad2)*sin(rad3)*sin(rad4)*sin(rad5);
sxd= cos(rad1)*sin(rad2)*cos(rad3)*sin(rad4)*sin(rad5);
sxe= -sin(rad1)*cos(rad5);

sx= (sxa+sxb+sxc+sxd+sxe)*fes;

sya= -sin(rad1)*cos(rad2)*cos(rad3)*cos(rad4)*sin(rad5);
syb= sin(rad1)*sin(rad2)*sin(rad3)*cos(rad4)*sin(rad5);
syc= sin(rad1)*cos(rad2)*sin(rad3)*sin(rad4)*sin(rad5);
syd= sin(rad1)*sin(rad2)*cos(rad3)*sin(rad4)*sin(rad5);
sye= cos(rad1)*cos(rad5);

sy= (sya+syb+syc+syd+sye)*fes;

sza= sin(rad2)*cos(rad3)*cos(rad4)*sin(rad5);
szb= cos(rad2)*sin(rad3)*cos(rad4)*sin(rad5);
szc= -sin(rad2)*sin(rad3)*sin(rad4)*sin(rad5);
szd= cos(rad2)*cos(rad3)*sin(rad4)*sin(rad5);

sz= (sza+szb+szc+szd)*-fes;

%verde
line ([x4,x4-sx*2],[y4,y4-sy*2],[z4,z4-sz*2],'LineWidth',2.5,'Color',[0 1
0])

%gris
line ([x4,x4+sx],[y4,y4+sy],[z4,z4+sz],'LineWidth',6,'Color',[0.5 0.5
0.5])

%gris
line ([x4,x4-sx],[y4,y4-sy],[z4,z4-sz],'LineWidth',6,'Color',[0.5 0.5
0.5])

%Vector A

fea=3.5;%Factor de escalamiento

axa= cos(rad1)*cos(rad2)*cos(rad3)*sin(rad4);
axb= -cos(rad1)*sin(rad2)*sin(rad3)*sin(rad4);
axc= cos(rad1)*cos(rad2)*sin(rad3)*cos(rad4);
axd= cos(rad1)*sin(rad2)*cos(rad3)*cos(rad4);

ax= (axa+axb+axc+axd)*fea;

aya= sin(rad1)*cos(rad2)*cos(rad3)*sin(rad4);
ayb= -sin(rad1)*sin(rad2)*sin(rad3)*sin(rad4);
ayc= sin(rad1)*cos(rad2)*sin(rad3)*cos(rad4);
ayd= sin(rad1)*sin(rad2)*cos(rad3)*cos(rad4);

ay= (aya+ayb+ayc+ayd)*fea;

aza= -sin(rad2)*cos(rad3)*sin(rad4);
azb= -cos(rad2)*sin(rad3)*sin(rad4);
azc= -sin(rad2)*sin(rad3)*cos(rad4);
azd= cos(rad2)*cos(rad3)*cos(rad4);

60
Capítulo 3 Simulación en PC

az= (aza+azb+azc+azd)*-fea;
%amarillo
line
([x4,x4+ax*1.2],[y4,y4+ay*1.2],[z4,z4+az*1.2],'LineWidth',2.5,'Color',[1
1 0])

%tomando de origen el vector S verde


%línea gris (Dedo 1)
line ([x4-sx,x4+ax-sx],[y4-sy,y4+ay-sy],[z4-sz,z4+az-
sz],'LineWidth',6,'Color',[0.5 0.5 0.5])

%tomando de origen el vector S verde


%línea gris (Dedo 2)
line
([x4+sx,x4+ax+sx],[y4+sy,y4+ay+sy],[z4+sz,z4+az+sz],'LineWidth',6,'Color'
,[0.5 0.5 0.5])

%Conversiones de radianes a grados


tetac=(teta1*180)/pi;
tetah=(teta2*180)/pi;
tetaco=(teta3*180)/pi;

%Cuando los ángulos son mayores a 360


while tetac>360
tetac=tetac-360;
end

while tetah>360
tetah=tetah-360;
end

while tetaco>360
tetaco=tetaco-360;
end

%Cuando los ángulos son mayores a -360


while tetac<-360
tetac=tetac+360;
end

while tetah<-360
tetah=tetah+360;
end

while tetaco<-360
tetaco=tetaco+360;
end

fprintf('\n Cuando los ángulos calculados se encuentran en el


segundo ');
fprintf('\n cuadrante, el ángulo mostrado es el complementario\n');

fprintf('\n Los valores de los ángulos en codo abajo son:\n');

61
“Caracterización de un robot manipulador articulado”

fprintf('\tCintura =%12.2f\n',tetac);
fprintf('\tHombro =%12.2f\n',tetah);
fprintf('\tCodo =%12.2f\n',tetaco);

fprintf('\n Recuerde que los límites físicos (en grados) en el robot


son:');
fprintf('\n\t Cintura de 0 a 310');
fprintf('\n\t Hombro de -35 a 130');
fprintf('\n\t Codo de -130 a 130');

hold off %Desactiva gráficos

Como se vio en el capítulo 2, la cinemática inversa obtiene como resultado los


ángulos necesarios para llegar a una posición deseada en donde se encuentra el efector
final, por lo que es necesario introducir como valores iniciales las coordenadas cartesianas
(xyz).

A continuación se muestra el cuadro de diálogo que aparece en pantalla en el


momento de ejecutar el programa, en el que se puede notar, que el usuario incluso tiene la
libertad de cambiar algunos parámetros del robot y que el programa calcula y determina si
es posible realizar la simulación de acuerdo a los valores propuestos por usuario, en caso de
que el programa encuentre algún error, es decir, que la posición que se desea alcanzar está
fuera del alcance del robot de acuerdo a las longitudes de eslabones introducidas, el
programa preguntará cuantas veces sea necesario el valor hasta encontrar uno válido.

62
Capítulo 3 Simulación en PC

Cuadro de diálogo

SIMULACIÓN DE LA CINEMÁTICA INVERSA DEL ROBOT SCORBOT-ER V plus


------------------------------------------------------------------------------------------------

Longitud del primer eslabón en cm: 22


Longitud del segundo eslabón en cm: 22
Longitud de la garra (gripper) en cm: 10

Valor de la coordenada en X: 21.25037


Valor de la coordenada en Y: 21.25037
Valor de la coordenada en Z: 30.05256
Valor del ángulo de elevación (pitch) en grados: 45
Valor del ángulo de giro (roll) en grados: 0

La solución la desea con configuración Codo Arriba (1) o Codo Abajo (0): 0

Cuando los ángulos calculados se encuentran en el segundo


cuadrante, el ángulo mostrado es el complementario

Los valores de los ángulos en codo abajo son:


Cintura = 45.00
Hombro = 30.00
Codo = 30.00

Recuerde que los límites físicos (en grados) en el robot son:


Cintura de 0 a 310
Hombro de -35 a 130
Codo de -130 a 130

El resultado de los ángulos requeridos para cada articulación aparecen de inmediato


una vez que se terminó de introducir el último dato requerido por el programa, dicho
resultado está expresado en grados en coordenadas angulares. Otra opción de visualizar el
resultado de la simulación es a través de la gráfica que aparece en forma simultánea con los
resultados, la gráfica tiene la opción de cambiar la perspectiva, razón por la que el usuario
tiene un espacio disponible en 3D que si lo desea puede “voltear” y/o girar en cualquier
dirección al robot. La visualización gráfica de los resultados se puede apreciar en las
figuras 3-4, 3-5 y 3-6 que se muestran a continuación.

63
“Caracterización de un robot manipulador articulado”

Figura 3-4 Vista de planta.

Figura 3-5 Vista lateral.

Figura 3-6 Vista isométrica.

64
Capítulo 3 Simulación en PC

3.2. Dinámica

3.2.1 Dinámica inversa


Para el modelo dinámico inverso, la simulación fue realizada en Matlab/Simulink,
ya que la intención era el obtener gráficas que muestren la evolución de las variables
generalizadas que se involucran en el movimiento del robot.

Como se vio en el capítulo 2 (ecuación 2-103), la dinámica inversa, entrega el par


necesario para que el robot ejecute un movimiento con la posición, velocidad y aceleración
deseada. Se puede observar de forma gráfica lo antes comentado en la figura 3-7 de una
manera muy simplificada.
Dinámica inversa
θ
θ
θ
D-1 τ
Figura 3-7 Bloque de la dinámica inversa.

A continuación se muestra el diagrama principal de la simulación de la dinámica


inversa en la figura 3-8.
DINAM ICA INVERSA

Tao1
A
Goto31
SubSystem
Product6 TAO1

Entrada 1 Entrada 2 Entrada 3 alfa1


PARAMETROS J 0
TRAYECTORIAS From16
SubSystem1 Display

DINAMICA EN LA CINTURA

Tao2 Tao3
H
E
Goto32 Subsystem4 Goto33
Subsystem Product3
Product1
alfa2 alfa2

From17 From19
TAO2 TAO3

I
F 0
0
Subsystem1 Subsystem5
Product4 Display2
Product2 Display1
alfa3 alfa3
P
K
From18 From20
Subsystem2 Subsystem6
O
N

Subsystem3 Subsystem7
DINAMICA EN EL HOMBRO DINAMICA EN EL CODO

Figura 3-8 Diagrama de bloques principal de la dinámica inversa.

65
“Caracterización de un robot manipulador articulado”

Los bloques A, E, F, G, H, I, J, K, N, O y P cuyo contenido se indica en el capítulo


2 de la ecuación 2-83 a la 2-101 respectivamente. Todos estos subsistemas pueden verse a
detalle en el apéndice G.

Los resultados de la simulación se reservan para el capítulo 4 donde se comparan y


validan estas señales contra las obtenidas de las pruebas que se diseñaron y se realizaron
con el robot. Sin embargo, a continuación se abordan los casos del robot emulando
péndulos y de un robot planar de dos GDL.

3.2.2 Péndulos
Puesto que la estructura del robot permite que éste se comporte tanto como un
péndulo simple como uno horizontal; es posible comparar estos modelos con el del robot y
sus respectivas simulaciones, es decir, los de un GDL contra el de tres GDL con las
condiciones iniciales iguales y esperando resultados similares. Se hace la aclaración de que
no se incluyó ningún tipo de pérdidas (fricciones) en los modelos para este capítulo.

3.2.2.1 Péndulo simple

El movimiento del péndulo simple se puede realizar con el robot si la articulación


de cintura permanece fija y la articulación de codo a cero grados respecto a la de hombro;
así que toda la estructura permanece como un solo eslabón rígido; por lo que la única
articulación que tiene movimiento es la del hombro. A continuación se muestran los
bloques realizados en Matlab/Simulink así como las gráficas obtenidas. El análisis y
desarrollo de las ecuaciones se encuentran en el apéndice D y los subsistemas de la figura
3-9 están en el apéndice G.

INERCIAS
-1
SubSystem
Product4 Gain1 Péndulo Simple

[alfa2] 0

From7 Display

GRAVITACIONALES

SubSystem1 PARAMETROS Entrada 2

Figura 3-9 Diagramas de bloques de la dinámica inversa del péndulo simple.

66
Capítulo 3 Simulación en PC

Para llevar a cabo la comparación entre el péndulo simple y el robot Scorbot-ER V


plus, se manejaron las siguientes condiciones:

9 Los parámetros y la distribución de masas fueron las mismas en ambos modelos así
como las condiciones iniciales y finales, en las que se tienen para ambos modelos
una posición inicial de 0º (con respecto a la horizontal) y un desplazamiento de 90º,
en un tiempo de 4.5 seg.
8 8

7 7

6 6

5 5
Par Par
(N-m) (N-m)
4 4

3 3

2 2

1 1

0 0
0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 18
Tiempo (s) Tiempo (s)

Figura 3-10 Gráfica del par requerido por el péndulo Figura 3-11 Gráfica del par requerido por el robot
simple (1 GDL). para el hombro (3 GDL).

Se observa que las señales mostradas en las figuras 3-10 y 3-11 son idénticas. Esto
permite tener un primer nivel de validación del modelo de tres GDL presentado en el
capítulo 2.

3.2.2.2 Péndulo horizontal

El movimiento del péndulo horizontal se puede realizar con el robot si la


articulación de hombro se ubica a cero grados respecto la horizontal y la articulación de
codo a cero grados respecto a la del hombro; así que toda la estructura permanece como un
solo eslabón rígido; por lo que la única articulación que tiene movimiento es la de cintura.
A continuación se muestran los bloques realizados en Matlab/Simulink así como las
gráficas obtenidas. El análisis y desarrollo de las ecuaciones se encuentran en el apéndice D
y los subsistemas de la figura 3-10 están en el apéndice G.

alfa1
-1
From1
Product1 Ajuste Péndulo Horizontal

INERCIAS
0
Subsystem
PARAMETROS Entrada 1
Display

Figura 3-12 Diagrama de bloques principal de la dinámica inversa del péndulo horizontal.

67
“Caracterización de un robot manipulador articulado”

Para llevar a cabo la comparación entre el péndulo horizontal y el robot Scorbot-ER


V plus, se manejaron las siguientes condiciones:

9 Los parámetros y la distribución de masas fueron las mismas en ambos modelos así
como las condiciones iniciales y finales, en las que se tienen para ambos modelos
una posición inicial de 0º (con respecto a la horizontal) y un desplazamiento de 90º,
en un tiempo de 3.3 seg.
9 Se utilizó para la entrada una trayectoria de posición cúbica.

0.3 0.25

0.2
0.2
0.15

0.1 0.1

0.05
0
Par Par
(N-m) 0
(N-m)
-0.1 -0.05

-0.1
-0.2
-0.15
-0.3
-0.2

-0.25
-0.4 0 2 4 6 8 10 12 14
0 2 4 6 8 10 12 14
Tiempo (s)
Tiempo (s)

Figura 3-13 Gráfica del par requerido por el Figura 3-14 Gráfica del par requerido por
péndulo horizontal (1 GDL). el robot para la cintura (3 GDL).

Nuevamente se observa que las señales mostradas en las figuras 3-13 y 3-14 son
similares. Esto permite tener un primer nivel de validación del modelo de tres GDL
presentado en el capítulo 2.

3.2.3 Robot planar


Anteriormente se vio cómo el robot se puede comportar como un péndulo bajo
ciertas condiciones; ahora por su estructura es posible que también se pueda comportar
como un robot planar (es decir, que ahora se tienen dos GDL) y eso se logra permitiendo el
movimiento de las articulaciones de hombro y de codo del Scorbot-ER V plus y dejando
fija la articulación de cintura. El análisis y desarrollo para un robot planar se encuentra en
el apéndice D y los subsistemas de la figura 3-15 están en el apéndice G.

La comparación del modelo para un robot planar de dos GDL con el modelo del
Scorbot-ER V plus se realizó bajo las siguientes condiciones:

9 La posición inicial de la primera articulación es de 0º con respecto a la horizontal.


9 La posición de la segunda articulación es de 90º con respecto de la primera.

68
Capítulo 3 Simulación en PC

9 El desplazamiento de la primera articulación es de 90º y el de la segunda es


de -180º.
9 El tiempo que tarda de recorrido es de 3.5 seg.
9 Los parámetros fijos como son las longitudes de los eslabones y la distribución de
las masas son las mismas para ambos modelos.
9 Se utilizó para la entrada una trayectoria de posición cúbica.

ESLABÓN 1
A_2

INERCIA
Product
[alfa2]

From2 -1

Gain Par articulación 1


B_2

INERCIA 1 0
Product1
Par articulación 1
[alfa3]
E_2
From1
CENTRIFUGAS Y
DE CORIOLIS
G_2
PARAMETROS Entrada 2 Entrada 3
GRAVITACIONALES

C_2 ESLABÓN 2

INERCIA 2
Product2
[alfa2]

From4 1

Gain1 Par articulación 2


D_2
0
INERCIA 3
Product3
Par articulación 2
[alfa3]
F_2
From3
CENTRIFUGAS Y
DE CORIOLIS1
H_2

GRAVITACIONALES1

Figura 3-15 Diagrama de bloques principal de la dinámica inversa de un robot planar.

La figura 3-16 muestra el par requerido para el movimiento de la primera articulación


del robot planar y la figura 3-17 muestra el par requerido para el movimiento del hombro en
el Scorbor-ER V plus.

69
“Caracterización de un robot manipulador articulado”

6 6

5.5 5.5

5 5

4.5 4.5

Par 4 Par 4
(N-m) (N-m)
3.5 3.5

3 3

2.5 2.5

2 2

1.5 1.5
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14
Tiempo (s) Tiempo (s)

Figura 3-16 Gráfica del par requerido Figura 3-17 Gráfica del par requerido por el
por el robot planar (2 GDL). robot para el hombro (3 GDL).

La figura 3-18 muestra el par requerido para el movimiento de la segunda articulación


del robot planar y la figura 3-19 muestra el par requerido para el movimiento del codo en el
Scorbor-ER V plus.

2 2

1.5 1.5

1 1
Par Par
(N-m) (N-m)

0.5 0.5

0 0

-0.5 -0.5
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14
Tiempo (s) Tiempo (s)

Figura 3-18 Gráfica del par requerido por Figura 3-19 Gráfica del par requerido por
el robot planar (2 GDL). el robot para el codo (3 GDL).

De nueva cuenta se observa que las señales mostradas en las figuras 3-16 y 3-17 son
iguales y lo mismo sucede con las figuras 3-18 y 3-19. Esto permite tener un nivel de
validación más confiable del modelo de tres GDL presentado en el capítulo 2. Esto se debe
a la complejidad incrementada en el robot planar comparada con la de los péndulos.

70
Capítulo 3 Simulación en PC

3.2.4 Dinámica directa


Nuevamente Matlab/Simulink fue requerido para la simulación del modelo
dinámico directo. De acuerdo a lo visto en el capítulo 2 (de la ecuación 2-123 a la 2-125) la
dinámica directa tiene como entradas un par y como salida la evolución de las variables
generalizadas. Esto se puede visualizar en la figura 3-20 de una manera muy simplificada.

Dinámica directa
θ
τ D θ
θ
Figura 3-20 Bloque de la Dinámica Directa.

Para la simulación de la dinámica directa, se aprovecharon los resultados de la


dinámica inversa utilizándolos como entradas para la dinámica directa, se puede decir que
se unió lo expresado en la figura 3-7 y la 3-20, tal y como se muestra en la figura 3-21
teniendo como resultado el diagrama de bloques de la figura 3-21. Los subsistemas están
mostrados en el apéndice G.

Los modelos fueron simulados bajo las siguientes condiciones:

9 La posición inicial para la articulación de hombro es de 45º con respecto a la


horizontal y realiza un desplazamiento de 90º en 4.5 seg.
9 La posición inicial de la articulación de codo es de 0º con respecto a la del hombro
y su desplazamiento relativo al hombro es 0º, es decir permanecerá fija durante la
simulación.
9 Los pares de entrada a la dinámica directa fueron generados con trayectorias de
posición cúbicas a través de la dinámica inversa

Dinámica inversa Dinámica directa


θ θ
θ
θ
D-1 τ D θ
θ
Figura 3-21 Bloque de la dinámica directa e inversa.

71
“Caracterización de un robot manipulador articulado”

DINAM ICA INVERSA

Tao1
A
Goto31
SubSystem
Product6 TAO1
Entrada 1 Entrada 2 Entrada 3
[alfa1]
PARAMETROS J 0
TRAYECTORIAS From16
SubSystem1 Display

DINAMICA EN LA CINTURA

Tao2 Tao3
H
E
Goto32 Goto33
Subsystem4
Subsystem Product3
Product1
[alfa2] [alfa2]

From19
From17 TAO3
TAO2
I
F 0
0
Subsystem5
Subsystem1 Product4 Display2
Product2 Display1
[alfa3] [alfa3]
P
K
From20
From18
Subsystem6
Subsystem2
O
N

Subsystem7
Subsystem3
DINAMICA EN EL HOMBRO DINAMICA EN EL CODO

DINAM ICA DIRECT A


[Tao1] 1 1
R2D
From21 A s s
Product7 Integrator Integrator1 Radians Posicion - cintura
to Degrees
J SubSystem2
DINAMICA EN LA CINTURA
SubSystem3
0

Display3
E

[Tao2] Subsystem36

From22
K I Product5

Subsystem40 Subsystem37
N Product9 1 1
R2D
Subsystem41 F s s
I Product11 Integrator2 Integrator3 Radians Posicion - hombro
Subsystem38 to Degrees1
Subsystem42
H Product8 0
DINAMICA EN EL HOMBRO
[Tao3] Subsystem39 Display4
From24
O

Subsystem43
P Product10

Subsystem44
F

Subsystem45

[Tao2] Subsystem35

From23
K I Product14

Subsystem24 Subsystem32
N Product16 1 1
R2D
Subsystem29 F s s
H Product13 Integrator4 Integrator5 Radians Posicion - codo
Subsystem34 to Degrees3
Subsystem46
H 0
Product15
0
[Tao3] Subsystem33 Display5
Compesacion
From25
O
DINAMICA EN EL CODO
Subsystem30
P Product12

Subsystem31
E

Subsystem47

Figura 3-22 Diagrama de bloques principal de la dinámica directa.

72
Capítulo 3 Simulación en PC

En la figura 3-23 se observa la señal de par obtenida de la dinámica inversa y que


corresponde a la articulación del hombro, esta señal se generó para un desplazamiento del
segundo eslabón de 90º en un tiempo de 4.5 segundos siguiendo una trayectoria de posición
cúbica la cual corresponde a la entrada de la dinámica inversa.

Par 0
(N-m)

-2

-4

-6
0 2 4 6 8 10 12 14 16 18
Tiempo (s)

Figura 3-23 Par de entrada a la dinámica directa.

De la figura 3-24 a la 3-29 se muestran comparaciones entre las trayectorias que se


emplean como entradas al modelo de la dinámica inversa y las señales de respuestas al par
de la figura 3-23 en la dinámica directa.

140 140

130 130

120 120

110 110

100 100
Grados Grados
90 90

80 80

70 70

60 60

50 50

40 40
0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 18
Tiempo (s) Tiempo (s)

Figura 3-24 Posición dinámica inversa. Figura 3-25 Posición dinámica directa.

En este par de gráficas anteriores se puede notar que las señales son idénticas, tanto
la señal de posición que entra al modelo dinámico inverso como la trayectoria de posición
generada en el modelo directo.

73
“Caracterización de un robot manipulador articulado”

0.5 0.5

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1
Rad/seg. 0 Rad/seg. 0

-0.1 -0.1

-0.2 -0.2

-0.3 -0.3

-0.4 -0.4

-0.5 -0.5

0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 18
Tiempo (s) Tiempo (s)

Figura 3-26 Velocidad dinámica inversa. Figura 3-27 Velocidad dinámica directa.

En este par de gráficas anteriores se puede notar que las señales son idénticas tanto
la señal de velocidad que entra al modelo dinámico inverso como la trayectoria de
velocidad generada en el modelo directo

0.5 0.5

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

Rad/seg2. Rad/seg2.
0 0

-0.1 -0.1

-0.2 -0.2

-0.3 -0.3

-0.4 -0.4

-0.5 -0.5
0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 18
Tiempo (s) Tiempo (s)

Figura 3-28 Aceleración dinámica inversa. Figura 3-29 Aceleración dinámica directa.

En este par de gráficas anteriores se puede notar que las señales son idénticas tanto
la señal de aceleración que entra al modelo dinámico inverso como la trayectoria de
aceleración generada en el modelo directo.

Tomando los resultados de la simulación de la dinámica inversa y considerándolos


como una validación a la comparación de señales de modelos de un péndulo simple, un
péndulo horizontal y un robot planar, contra el modelo dinámico inverso del robot; los
resultados obtenidos en la simulación de la dinámica se puede tomar como una validación
del modelo dinámico directo presentado en capítulo 2.

Las gráficas anteriores corresponden a la articulación de hombro, las gráficas de la


cintura se omiten ya que sus valores son nulos. Por otro lado las gráficas para la
articulación de codo aunque en la dinámica inversa sus entradas son cero, es necesario un
par variable que mantenga en una posición de 0º al codo con respecto al hombro aunque
éste se desplace.

74
Capítulo 4 Validación

Capítulo
4

VALIDACIÓN

L
a validación es el proceso de llevar a un nivel aceptable la confianza del
usuario referente a que cualquier inferencia acerca de un sistema que se
derive de la simulación es correcta. Es imposible probar que cualquier
simulador es un modelo correcto o “verdadero” del sistema real. [Shannon 88]

Aún las porciones más limitadas del mundo real son demasiado complejas para ser
totalmente comprendidas y descritas por el esfuerzo humano. Casi todas las situaciones de
problemas son extremadamente complejas, ya que contienen un número casi infinito de
elementos, variables, parámetros, relaciones, restricciones, etc. Cuando intentamos
construir un modelo, podemos incluir un número infinito de hechos y dedicar mucho
tiempo a recolectar hechos detallados acerca de cualquier situación y definiendo las
relaciones entre ellos. En consecuencia, se deben ignorar la mayoría de las características
reales de un evento en estudio y abstraer de la situación real sólo aquellos aspectos que

75
“Caracterización de un robot manipulador articulado”

conformen una visión idealizada del evento real. Todos los modelos son simplificaciones y
abstracciones del mundo real. [Shannon 88]

4.1 Validación de los modelos cinemáticos directo e inverso

Para la validación de los modelos cinemáticos directo e inverso, los datos


resultantes de la simulación de la cinemática directa se introducen en la cinemática inversa,
obteniendo una total congruencia en los resultados. Por lo que se consideran como
validación confiable, puesto que la solución de cada modelo fue realizada por métodos
independientes. En la tablas 4-1 y 4-2, se muestra lo más importante de los resultados
obtenidos en la simulación.

Tabla 4-1 Parte del cuadro de dialogo de la cinemática directa.

Valor del ángulo de la cintura en grados: 45


Valor del ángulo del hombro en grados: 30
Valor del ángulo del codo en grados: 30
Valor del ángulo de elevación (pitch) en grados: 45
Valor del ángulo de giro (roll) en grados: 0

Los valores de las coordenadas finales del segundo eslabón son:

X= 21.25037
Y= 21.25037
Z= 30.05256

Tabla 4-2 Parte del cuadro de dialogo de la cinemática inversa.

Valor de la coordenada en X: 21.25037


Valor de la coordenada en Y: 21.25037
Valor de la coordenada en Z: 30.05256
Valor del ángulo de elevación (pitch) en grados: 45
Valor del ángulo de giro (roll) en grados: 0

Los valores de los ángulos en codo abajo son:


Cintura = 45.00
Hombro = 30.00
Codo = 30.00

Los resultados de la cinemática directa están en centímetros y los resultados de la


cinemática inversa están dados en grados.

76
Capítulo 4 Validación

4.2 Validación del modelo dinámico inverso.

Esta validación es medular en este trabajo de tesis, puesto que por los resultados
obtenidos se pudo determinar que el modelo para el Scorbot-ER V plus es válido. Fueron
necesarias varias etapas para poder tener una comparación correcta de los resultados y a
continuación se muestran.

4.2.1 Descripción de experimentos

Bajo los conocimientos obtenidos en los capítulos 2 y 3 se llevaron a cabo cuatro


pruebas, con el fin de obtener la mayor cantidad de información viable para proceder a la
validación del modelo de la dinámica inversa.

Lo primero que se planteó para poder realizar la validación, es la planeación de


experimentos y por ende, de donde se iba a obtener información confiable de los
movimientos del robot. Puesto que en el manual del robot existe una hoja de datos
(mostrada en el apéndice A), que contiene la configuración de la interfase del robot hacia el
controlador, se hizo una réplica de esta interfase (figura 4.1) y de ahí se fueron adquiriendo
las señales (como se muestra en la figura 4-2) de los valores de la corriente de los motores
para cada articulación del robot. Estos valores de corriente fueron convertidos a par, a
través de la ecuación 4-1, para comparar los resultados de las pruebas con las gráficas de
las simulaciones.

Figura 4-1 Foto de la interfase DB-50.

77
“Caracterización de un robot manipulador articulado”

CH1 CH2 CH3 CH4

Corriente del Motor 3

Corriente del Motor 2


ROBOT
Corriente del Motor 1

CONTROLADOR

Figura 4-2 Diagrama de conexiones.

τ=iK m n 4-1

Donde:
τ es el par a la salida de la relación engranaje
i es la corriente de armadura en el motor
Km es la constante de par
n es la relación de engranaje

En el Scrobot-ER V plus existen varios modos de operación (ver apéndice A), sin
embargo para realizar secuencias de movimiento se necesita hacerlo a través del lenguaje
de programación ACL, con el cual se generaron rutinas que describieran ciertas trayectorias
en el efector final. Para cada movimiento fue necesario crear un programa específico, éstos
se muestran en el apéndice F.

Se propusieron los siguientes movimientos para registrar el comportamiento del


robot:
• Movimiento en la cintura
• Movimiento en el hombro
• Movimiento en el codo
• Movimiento en el hombro y en el codo

El detalle de los movimientos se verá más adelante en la sección titulada


“Experimentos realizados”.

Los experimentos se realizaron bajo el perfil de velocidad mostrado en la figura 4-3.


El perfil de velocidad parabólico, es el que utiliza “por defecto” el controlador, sin

78
Capítulo 4 Validación

embargo, es posible cambiarlo a perfil de velocidad trapezoidal (ver apéndice A). Como
existe la posibilidad de utilizar el perfil parabólico o el trapezoidal, antes de iniciar las
pruebas se utilizó un comando del ACL llamado “Mprofile paraboloid” que es el encargado
de ordenarle al controlador que siga el perfil de velocidad deseado (en este caso parabólico)
y así se aseguraba que el perfil de velocidad fuera parabólico.

PARABÓLICO

Figura 4-3 Parábola de velocidad.

4.2.2 Equipo utilizado

A continuación en tabla 4-3, se muestra la lista del equipo y material utilizado en las
pruebas físicas:

Tabla 4-3 Equipo de laboratorio.

Cantidad Descripción Marca Modelo


1 Osciloscopio de cuatro canales con opción a Tektronix TDS 3054B
guardar datos en floppy
3 Punta de corriente Tektronix TCP202
1 Multímetro digital Hewlett Packard 3466A
1 Interfaz de 50 pines D50

Equipo utilizado para la medición de los ángulos de desplazamiento de las pruebas:

• Flexómetro
• Masking type
• Verniere
• Regla

Equipo utilizado para cronometrar tiempos de las pruebas:

• Reloj de pulso con función de cronómetro

79
“Caracterización de un robot manipulador articulado”

4.2.3 Información de los actuadores

A continuación se muestran los datos más importantes de los actuadores en las


articulaciones del robot, en donde los actuadores tienen las mismas características.

• Servo motor de 12 VDC.


• Marca: PITTMAN
• Modelo: GM9413
• Constante de par: 3.9e-02 N m / A
• Relación de engranaje: 127.1:1

Los datos antes mostrados, se obtuvieron de la placa del motor y de hojas de datos del
fabricante.

4.2.4 Estimación de pesos

Para que el modelo dinámico contara con los datos más precisos, fue necesario
hacer la estimación del peso en cada eslabón, ya que, como dato inicial, sólo se tenía el
peso total del manipulador; información obtenida del manual del robot que servía de
referencia, pero de ningún modo, para la introducción de parámetros en el modelo
dinámico.

Para conocer los datos acerca del peso de cada eslabón con la mayor precisión
posible y sin tener que desmontar las piezas (por lo menos los dos eslabones), fue necesario
que se midiera cada pieza del manipulador (a las que se pudo tener acceso) para obtener su
volumen y estimar su peso. Con las herramientas que se tenían al alcance.

Una vez con todas las mediciones hechas, se dibujaron todas las piezas en un
software llamado Pro-Enginner, el cual fue de mucha ayuda, ya que una vez finalizado el
dibujo de la pieza, al software se le proporcionan los datos de las unidades de longitud y la
densidad del material; datos suficientes para que el software calcule el área, volumen y
peso total de la pieza, así como información adicional que no se requirió como se muestra
en la tabla 4-4.

Los resultados que se obtuvieron de las estimaciones de los pesos de los eslabones
del robot, están concentrados en la tabla 4-5, donde considerando que el peso total de
manipulador es de 11.500 kg. y obteniendo un total de 10.400 kg. se hace la suposición que
los gramos restantes pertenecen al efector final y a la base del manipulador, pieza que en su

80
Capítulo 4 Validación

interior contiene elementos que no fue posible medir, además que como se mencionó
anteriormente, no se contó con la posibilidad de desmontar el robot, ni con la herramienta
de exactitud que tal vez estas mediciones requerían.

En la figura 4-4, se muestra el primer eslabón del robot Scorbot-ER V plus dibujado
en Pro-Enginner, para que sirva de forma ilustrativa en el proceso que se llevó a cabo para
cada pieza.

Figura 4-4 Primer eslabón del robot realizado en Pro-Enginner.

81
“Caracterización de un robot manipulador articulado”

Tabla 4-4 Información que despliega el Pro-Enginner.

82
Capítulo 4 Validación

Tabla 4-5 Concentrado del peso total del robot.

# Nombre Material Densidad Peso Cantidad Peso


(gr/cm3) unitario(kg.) (kg.)
B A S E
1 engrane_base Acero 7860 0.6080 1 0.6080
2 engrane1_base Acero 7470 0.0250 3 0.0750
Inoxidable
3 engrane2_base Acero 7860 0.0360 2 0.0720
4 placa_baja Aluminio 2643 0.6740 1 0.6740
5 placa2 Aluminio 2643 0.3070 2 0.6140
6 tapa_placa Aluminio 2643 0.2268 1 0.2268
7 base Plástico 1000 1.6410 1 1.6410
8 tapa_base Aluminio 2643 0.7294 1 0.7294
9 Motor 0.5000 5 2.5000
TOTAL 7.1402
E S L A B O N 1
10 e1_rueda Acero 7470 0.4563 2 0.9126
Inoxidable
11 e1_banda1 Aluminio 2643 0.1040 1 0.1040
12 eslabon1 Aluminio 2643 0.3960 1 0.3960
13 e1_engrane Acero 7860 0.1813 2 0.3626
14 e1_banda2 Aluminio 2643 0.0657 2 0.1314
15 e1_eje1 Acero 7470 0.1731 1 0.1713
Inoxidable
16 e1_eje2 Acero 7470 0.0838 2 0.1676
Inoxidable
TOTAL 2.2483
E S L A B O N 2
17 e2_banda Aluminio 2643 0.0583 2 0.1166
18 eslabon2 Aluminio 2643 0.3270 1 0.3270
19 e2_rueda Acero 7470 0.1986 1 0.1986
Inoxidable
20 e2_eje2 Acero 7470 0.0733 2 0.1466
Inoxidable
21 e2_eje1 Acero 7470 0.1267 1 0.1267
Inoxidable
22 e2_banda2 Aluminio 2643 0.0733 1 0.0733
TOTAL 0.9888
F I N A L 10.3773

83
“Caracterización de un robot manipulador articulado”

4.2.5 Experimentos realizados


Como ya se vio en el capítulo 1, el Scorbot-ER V plus, es un robot manipulador
articulado de cinco GDL, siendo los tres primeros los que proporcionan la posición del
efector final y los dos restantes son los que determinan su orientación; para la validación
del modelo dinámico sólo se emplearon los GDL que determinan la posición, siendo éstos
los de mayor influencia en efectos dinámicos sobre el par requerido para mover la
estructura del robot.

Las condiciones de prueba para todos los experimentos son las mismas que se
dieron a conocer en las secciones anteriores.

Las figuras que contienen gráficas obtenidas de los experimentos, en todos los
casos, se tuvo un muestreo de 20 segundos con el osciloscopio, sin embargo, en ocasiones
se “recortaron” las gráficas por los tiempos muertos existentes para una mejor visualización
de los resultados.

Se realizaron 4 experimentos y se compararon los resultados de las pruebas con los


resultados de simulación; considerando estos experimentos como suficientes para poder
validar el modelo dinámico inverso, por lo que se aclara que se pueden hacer una infinidad
de experimentos con el robot como sean posibles, sin embargo, en los experimentos
planteados, se tuvo el cuidado que su reproducción en simulación fuera sencilla; ya que la
generación de trayectorias de movimientos que describe el efector final como en zip-zap
(por dar un ejemplo), resultaría más compleja al momento de reproducirla en simulación.
La velocidad se maneja en porcentaje y para las pruebas se realizó a un 70 %.

En todos los casos; el motor1 corresponde a la articulación de cintura, registrado por


el osciloscopio en el canal uno; el motor2 corresponde a la articulación de hombro,
registrado por el osciloscopio en el canal dos y finalmente el motor3 corresponde a la
articulación de codo, registrado por el osciloscopio en el canal tres.

Los puntos a y b determinan medio ciclo, por lo que del punto a al punto c sería un
ciclo completo.

Las pruebas realizadas en simulación, en todos los casos se incluyó la fricción


viscosa vista en el capítulo 2 (debido a la fricción existente entre los engranes); los
coeficientes de fricción utilizados se obtuvieron de tablas de materiales. Como los engranes
que intervienen en los movimientos de los motores uno, dos y tres son de acero, su
coeficiente de fricción oscila de 0.054 a 0.19 por lo que los valores de los coeficientes de
fricción que se tomaron están en este rango.

84
Capítulo 4 Validación

4.2.5.1 Prueba 1 (cintura)

El objetivo de esta prueba es el obtener una señal de corriente que se pueda


convertir a par visualizando su evolución en la articulación de cintura haciendo que el
Scorbot-ER V plus se comporte como un péndulo horizontal para poder validar el modelo
dinámico inverso visto en el capítulo 2.

4.2.5.1.1 Condiciones iniciales

En esta prueba, la única articulación que tiene movimiento es la de cintura, la


articulación de hombro permanece a 0º respecto a la horizontal al igual que la de codo. La
figura 4-5 muestra el movimiento del desplazamiento en la prueba y la tabla 4-6 contiene
los datos de las posiciones inicial, final y el desplazamiento total en la prueba.

Tabla 4-6 Condiciones de movimiento.

Posición inicial: 0º
100º Posición final: 100º
Desplazamiento total: 100º

Figura 4-5 Movimiento de cintura.

4.2.5.1.2 Resultados del experimento

La tabla 4-7 contiene datos generales de la prueba, en la cual se observa el


comportamiento de la corriente demandada en cada motor a lo largo de la prueba,
registrada a través de los canales del osciloscopio (figura 4-6) para cada motor
respectivamente así como nombre del programa.

85
“Caracterización de un robot manipulador articulado”

Tabla 4-7 Datos de prueba 1.

Prueba 1
Motor1 CH 1

Motor2 CH 2

Motor3 CH 3

Programa EJE1B

Archivo TEK00000
.PCX
Velocidad 70%

Desplazamiento ≈100°

Movimiento CIRCULAR

Figura 4-6 Pantalla del osciloscopio en la prueba 1.

4.2.5.1.3 Registro de tiempos en la prueba

Tabla 4-8 Tiempos registrados en prueba 1.

Nombre del Tiempo Núm. de Tiempo de Tiempo de Tiempo de Velocidad


programa completo prueba ida regreso un ciclo porcentual
EJE1B 21´´50 1 3´´50 3´´50 07´´00 70 %
Nota: Los tiempos son estimados y están dados en segundos y centésimas de segundo.

86
Capítulo 4 Validación

4.2.5.1.4 Graficación de los datos de la corriente en Excel

Corriente en el Motor 1

0.8
0.6
Corriente (A) 0.4
0.2
0 CH1
-0.2 1 3 5 7 9 11 13 15 17
-0.4
-0.6
-0.8
Tiempo (s)

Figura 4-7 Gráfica de Corriente en prueba 1.

4.2.5.1.5 Relación de engranaje

La relación de engranaje: n = N2 / N1

∴ n =0.2 x 127.1
N1 = 120 dientes = 25.42

N2 = 24 dientes MOTOR

Figura 4-8 Transmisión mecánica en la cintura.

Esta relación de engranaje se considera de este modo, puesto que se tiene un arreglo
de tipo planetario el cual se ve a detalle en el apéndice H.

87
“Caracterización de un robot manipulador articulado”

4.2.5.1.6 Comparación de señal de prueba vs. simulación

La figura 4-9 muestra la señal de par requerido por la articulación de la cintura,


obtenida al transformar la señal de corriente demandada por el motor1 en la prueba 1.

Par en la cintura obtenido en pruebas

0.6
0.5
0.4
0.3 b
0.2 Par
Par (N-m)

0.1
0
-0.1 20 per. media móvil
3 8 13 18 (Par)
-0.2
-0.3
-0.4
a c
-0.5
-0.6
Tiempo (s)

Figura 4-9 Gráfica del par en prueba 1 en experimentos.

La figura 4-10 muestra la señal de par requerido para el movimiento de cintura en


simulación bajo las mismas condiciones de la prueba 1.

0.3

b
0.2

0.1

Par 0
N-m
(N-m)

-0.1

-0.2 a c

-0.3

-0.4
0 2 4 6 8 10 12 14
TIME(s)
Tiempo
Figura 4-10 Gráfica del par en prueba 1 en simulación.

Al comparar los puntos abc de las figuras 4-9 y 4-10, se puede apreciar la similitud
en forma y magnitud que tienen uno respecto a otro.

88
Capítulo 4 Validación

4.2.5.2 Prueba 2 (hombro)

El objetivo de esta prueba es el obtener una señal de corriente que se pueda


convertir a par visualizando su evolución en la articulación de hombro haciendo que el
Scorbot-ER V plus se comporte como un péndulo simple para poder validar el modelo
dinámico inverso visto en el capítulo 2.

4.2.5.2.1 Condiciones iniciales

En esta prueba, la única articulación que tiene movimiento es la de hombro, la


articulación de codo permanece a 0º respecto a la de hombro y la de cintura permanece fija.
La figura 4-11 muestra el movimiento del desplazamiento en la prueba y la tabla 4-9
contiene los datos de las posiciones inicial, final y el desplazamiento total en la prueba.

Tabla 4-9 Condiciones de movimiento.

150º
Posición inicial: - 27º respecto a la horizontal
Posición final: 123º respecto a la horizontal
Desplazamiento total: 150º

Figura 4-11 Movimiento de hombro.

4.2.5.2.2 Resultados del experimento

La tabla 4-10 contiene datos generales de la prueba, en la cual se observa el


comportamiento de la corriente demandada en cada motor a lo largo de la prueba,
registrada a través de los canales del osciloscopio (figura 4-12) para cada motor
respectivamente así como nombre del programa.

89
“Caracterización de un robot manipulador articulado”

Tabla 4-10 Datos de prueba 2.

Prueba 2
Motor1 CH 1

Motor2 CH 2

Motor3 CH 3

Programa EJE2B

Archivo TEK00001
.PCX
Velocidad 70%

Desplazamiento ≈150°

Movimiento CIRCULAR
Figura 4-12 Pantalla del osciloscopio en la prueba 2.

4.2.5.2.3 Registro de tiempos en la prueba

Tabla 4-11 Tiempos registrados en prueba 2.

Nombre del Tiempo Núm. de Tiempo de Tiempo de Tiempo de Velocidad


programa completo prueba ida regreso un ciclo porcentual
EJE2B 26´´12 2 3´´50 3´´50 07´´00 70 %
Nota: Los tiempos están dados en segundos y centésimas de segundo.

90
Capítulo 4 Validación

4.2.5.2.4 Graficación de los datos de la corriente en Excel

Corriente en el Motor 2

0.6
0.4

Corriente (A)
0.2
0 CH2
-0.2 3 8 13

-0.4
-0.6
Tiempo (s)

Figura 4-13 Gráfica de corriente en prueba 2.

4.2.5.2.5 Relación de engranaje

La relación de engranaje: n = N1 / N2

N1 = 72 dientes ∴ n = 4 x127.1
= 508.4

N2 = 18 dientes MOTOR

Figura 4-14 Transmisión mecánica en el hombro.

Para una mejor comprensión del tema, existe un apéndice que contiene información
acerca de los engranes. Ver apéndice H.

91
“Caracterización de un robot manipulador articulado”

4.2.5.2.6 Comparación de señal de prueba vs. simulación

La figura 4-15 muestra la señal de par requerido por la articulación del hombro,
obtenida al transformar la señal de corriente demandada por el motor2 en la prueba 2.

Par en el hombro obtenido en pruebas

10
a c
8
6
4
Par
Par (N-m)

2
0
-2 3 20 per. media móvil
8 13 (Par)
-4
-6
-8
b
-10
Tiempo (s)

Figura 4-15 Gráfica del par en prueba 2 en experimentos.

La figura 4-16 muestra la señal de par requerido para el movimiento del hombro en
simulación bajo las mismas condiciones de la prueba 2

8
a
c
6

ParN-m
(N-m) 2

-2

b
-4
0 2 4 6 8 10 12 14 16 18
TIME (s)
Tiempo

Figura 4-16 Gráfica del par en prueba 2 en simulación.

Al comparar los puntos abc de las figuras 4-15 y 4-16, se puede apreciar la similitud
en forma y magnitud que tienen uno respecto a otro.

92
Capítulo 4 Validación

4.2.5.3 Prueba 3 (codo)

El objetivo de esta prueba es el obtener una señal de corriente que se pueda


convertir a par visualizando su evolución en la articulación de codo haciendo que el
Scorbot-ER V plus se comporte como un péndulo simple para poder validar el modelo
dinámico inverso visto en el capítulo 2.

4.2.5.3.1 Condiciones iniciales

En esta prueba, la única articulación que tiene movimiento es la del codo, la


articulación de hombro permanece a 90º respecto a la horizontal y la cintura permanece fija.
La figura 4-17 muestra el movimiento del desplazamiento en la prueba y la tabla 4-12
contiene los datos de las posiciones inicial, final y el desplazamiento total en la prueba.

Tabla 4-12 Condiciones de movimiento.

251º
Posición inicial: - 63º respecto a la horizontal
Posición final: 188º respecto a la horizontal
Desplazamiento total: 251º

Figura 4-17 Movimiento del codo.

4.2.5.3.2 Resultados del experimento

La tabla 4-13 contiene datos generales de la prueba, en la cual se observa el


comportamiento de la corriente demandada en cada motor a lo largo de la prueba,
registrada a través de los canales del osciloscopio (figura 4-18) para cada motor
respectivamente así como nombre del programa.

93
“Caracterización de un robot manipulador articulado”

Tabla 4-13 Datos de prueba 3.

Prueba 3
Motor1 CH 1

Motor2 CH 2

Motor3 CH 3

Programa EJE3B

Archivo TEK00002
.PCX
Velocidad 70%

Desplazamiento ≈251°

Trayectoria CIRCULAR
Figura 4-18.- Pantalla del osciloscopio en la prueba 3.

4.2.5.3.3 Registro de tiempos en la prueba

Tabla 4-14 Tiempos registrados en prueba 3.

Nombre del Tiempo Núm. de Tiempo de Tiempo de Tiempo de Velocidad


programa completo prueba ida regreso un ciclo porcentual
EJE3B 36´´50 3 6´´00 6´´00 12´´00 70 %
Nota: Los tiempos están dados en segundos y centésimas de segundo.

94
Capítulo 4 Validación

4.2.5.3.4 Graficación de los datos de la corriente en Excel

Corriente en el Motor 3

0.5

0.3
Corriente (A)
0.1
CH3
-0.1
0 5 10 15 20
-0.3

-0.5
Tiempo (s)

Figura 4-19 Gráfica de corriente en prueba 3.

4.2.5.3.5 Relación de engranaje

La relación de engranaje: n1 = N1 / N2, n2 = N2 / N3, n = n1 n2

∴ n = 1.3 x127.1
= 169.4

N1 = 24 dientes
N2 = 72 dientes

N3 = 18 dientes MOTOR

Figura 4-20 Transmisión mecánica en el codo.

Para una mejor comprensión del tema, existe un apéndice que contiene información
acerca de los engranes. Ver apéndice H.

95
“Caracterización de un robot manipulador articulado”

4.2.5.3.6 Comparación de señal de prueba vs. simulación

La figura 4-21 muestra la señal de par requerido por la articulación del codo,
obtenida al transformar la señal de corriente demandada por el motor3 en la prueba 3.

Par en el codo obtenido en pruebas

8
6
b
4
Par
Par (N-m)

2
0
20 per. media móvil
-2 0 5 10 15 20 (Par)
-4
a c
-6
-8
Tiempo (s)

Figura 4-21 Gráfica del par en prueba 3 en experimentos.

La figura 4-22 muestra la señal de par requerido para el movimiento de codo en


simulación bajo las mismas condiciones de la prueba 3.
2.5
b
2

1.5

0.5

Par 0
(N-m)
-0.5
a
-1
c
-1.5

-2

-2.5
0 2 4 6 8 10 12 14 16 18
Tiempo (s)
Figura 4-22 Gráfica del par en prueba 3 en simulación.

Al comparar los puntos abc de las figuras 4-21 y 4-22, se puede apreciar la similitud
en forma y magnitud que tienen uno respecto a otro.

96
Capítulo 4 Validación

4.2.5.4 Prueba 4 (hombro y codo)

El objetivo de esta prueba es el obtener señales de corrientes que se puedan


convertir a pares visualizando su evolución en las articulaciones de hombro y codo
haciendo que el Scorbot-ER V plus se comporte como un robot planar de dos GDL para
poder validar el modelo dinámico inverso visto en el capítulo 2.

4.2.5.4.1 Condiciones iniciales

En esta prueba, la articulación de hombro inicia con una posición de 0º y el codo a


90º de acuerdo a la horizontal respectivamente; al completar medio el ciclo la posición del
hombro se encuentra a 90º y el codo 0º de acuerdo a la horizontal respectivamente; en
cualquier situación la cintura permanece fija. La figura 4-23 muestra el movimiento del
desplazamiento en la prueba y la tabla 4-15 contiene los datos de las posiciones inicial,
final y el desplazamiento total en la prueba.

Tabla 4-15 Condiciones de movimientos.

Hombro Codo
Posición inicial: 0º 90º
Posición final: 90º -90º
Desplazamiento total: 90º 180º

Figura 4-23 Movimientos de


hombro y codo.

4.2.5.4.2 Resultados del experimento

La tabla 4-16 contiene datos generales de la prueba, en la cual se observa el


comportamiento de la corriente demandada en cada motor a lo largo de la prueba,
registrada a través de los canales del osciloscopio (figura 4-24) para cada motor
respectivamente así como nombre del programa.

97
“Caracterización de un robot manipulador articulado”

Tabla 4-16 Datos de prueba 4.

Prueba 4
Motor1 CH 1

Motor2 CH 2

Motor3 CH 3

Programa PRUE4

Archivo TEK00003
.PCX
Velocidad 70%

Desplazamiento ≈ 90° y ≈ 180°

Movimientos CIRCULARES

Figura 4-24 Pantalla del osciloscopio en la prueba 4.

4.2.5.4.3 Registro de tiempos en la prueba

Tabla 4-17 Tiempo registrados en prueba 4.

Nombre del Tiempo Núm. de Tiempo de Tiempo de Tiempo de Velocidad


programa completo prueba ida regreso un ciclo porcentual
PRUE4 18´´00 4 3´´00 3´´00 06´´00 70 %
Nota: Los tiempos son estimados y están dados en segundos y centésimas de segundo.

98
Capítulo 4 Validación

4.2.5.4.4 Graficación de los datos de la corriente en Excel

Corrientes en los Motores 2 (CH2) y 3 (CH3)

0.7
0.5
Corriente (A)
0.3
0.1 CH2
-0.1 CH3
1 6 11 16
-0.3
-0.5
-0.7
Tiempo (s)

Figura 4-25.Gráfica de corriente en prueba 4.

4.2.5.4.5 Relación de engranaje

Las relaciones de engranajes, son las mismas que en las pruebas 2 y 3 para los
motores 2 y 3 respectivamente.

Para una mejor comprensión del tema, existe un apéndice que contiene información
acerca de los engranes. Ver apéndice H.

4.2.5.4.6 Comparación de señales de prueba vs. simulación

La figura 4-26 muestra la señal de par requerido por la articulación del hombro,
obtenida al transformar la señal de corriente demandada por el motor2 en la prueba 4.

99
“Caracterización de un robot manipulador articulado”

Par en el hombro obtenido en pruebas

10
9
8 a
7 c
6
5
HOMBRO
Par (N-m)

4
3
2 20 per. media móvil
1
0
(HOMBRO)
-1
-2
1 6 11 16
-3
-4
-5
b
Tiempo (s)

Figura 4-26 Gráfica del par en prueba 4 en experimentos (hombro).

La figura 4-27 muestra la señal de par requerido para el movimiento de hombro en


simulación bajo las mismas condiciones de la prueba 4.

c
5.5
a
5

4.5

Par
N-m 4
(N-m)

3.5

2.5

2
b
1.5
0 2 4 6 8 10 12 14 16 18
TIME(s)
Tiempo

Figura 4-27 Gráfica del par en prueba 4 en simulación (hombro).

Al comparar los puntos abc de las figuras 4-26 y 4-27, se puede apreciar la similitud
en forma y magnitud que tienen uno respecto a otro.

100
Capítulo 4 Validación

La figura 4-28 muestra la señal de par requerido por la articulación del codo,
obtenida al transformar la señal de corriente demandada por el motor3 en la prueba 4.

Par en el codo obtenido en pruebas

1.5
a c
1
0.5
0
CODO
Par (N-m)

-0.5 1 6 11 16
-1 20 per. media móvil
(CODO)
-1.5
-2
-2.5
b
-3
Tiempo (s)

Figura 4-28 Gráfica del par en prueba 4 en experimentos (codo).

La figura 4-29 muestra la señal de par requerido para el movimiento de codo en


simulación bajo las mismas condiciones de la prueba 4.

0.5

c
0 a

-0.5
Par
N-m
(N-m)
-1

-1.5

-2

b
-2.5
0 2 4 6 8 10 12 14 16 18
TIME
Tiempo (s)
Figura 4-29 Gráfica del par en prueba 4 en simulación (codo).

Al comparar los puntos abc de las figuras 4-28 y 4-29, se puede apreciar la similitud
en forma y magnitud que tienen uno respecto a otro.

101
“Caracterización de un robot manipulador articulado”

Con la validación a priori de los modelos en el capítulo 3 y al observar y corroborar


la similitud de resultados en todos los casos de las pruebas mostradas en esta sección; se da
por validado el modelo dinámico inverso.

4.3 Validación del modelo dinámico directo.

En lo concierne a la validación de la dinámica directa, se hizo a través de la


comparación de la gráficas de posición, velocidad y aceleración como se pudieron apreciar
en el capítulo anterior. Tales gráficas, se puede observar que son iguales para cualquier
caso. Ver figuras 3-24 contra 3-25; 3-26 contra 3-27 y finalmente 3-28 contra 3-29. Con
esto se considera que el modelo dinámico directo está validado.

102
Capítulo 5 Conclusiones

Capítulo
5

CONCLUSIONES

E n este capítulo se concentran los resultados de la investigación y las


aportaciones que conlleva este trabajo, esperando que sean una base para la
institución de una línea de investigación dedicada a la robótica.

Todos los proyectos de tesis en el área de mecatrónica tienen la característica de ser


multidisciplinarios, esto les da un grado mayor de dificultad a la investigación. En el caso
particular de este trabajo se involucran la ingeniería electrónica, la ingeniería mecánica, las
ciencias computacionales y la ingeniería de control.

Después de haber realizado una descripción general de la robótica dentro del


capítulo 1 y particularizar en los robots industriales, se definió como objetivo el desarrollar
los modelos matemáticos cinemáticos y dinámico tanto directo como inverso para ambos
casos para el robot Scorbot-ER V plus que pertenece a la celda de manufactura localizada
en el laboratorio de mecatrónica.

103
“Caracterización de un robot manipulador articulado”

Los modelos cinemáticos fueron resueltos usando métodos formales como la


convención D-H para el modelo directo y el método geométrico para el modelo inverso.
Para la obtención de estos modelos se emplearon conocimientos de álgebra lineal,
geometría y trigonometría. Para la obtención de los modelos dinámicos se utilizó
básicamente dinámica de Lagrange, lo cual requirió el empleo de conocimientos en el área
de matemáticas y física que en general se puede asociar a conceptos mecánicos.

La validez de estos modelos fue determinada mediante experimentos de simulación


en una PC. Para ello fue necesario aprender el uso de la herramienta computacional
Matlab/Simulink en su modo edición y programación en bloques.

Como paso inicial para la validación, fue necesario determinar los parámetros
involucrados en cada uno de los modelos.

Un parámetro importante para la dinámica es el cálculo del peso de los componentes


o elementos mecánicos del robot, lo cual se logró mediante el empleo de un software de
“diseño asistido por computadora” llamado Pro-Engineer. Primero se dibujaron las piezas
más significativas del robot para que después de introducirle la densidad correspondiente a
cada pieza según el tipo de material del que se encuentran hechas, y el software
proporciona el peso de las piezas; de manera sencilla, precisa y más confiable que si
hubiesen sido realizados manualmente empleando el método analítico de superposición
según términos de mecánica. A pesar de que se tenían bases acerca del manejo de este
software, fue necesario adentrarse más en el empleo de esta herramienta.

La medición de las variables de corriente demandada por cada servomotor


(actuadores en cintura, hombro y codo) se realizó con un osciloscopio de cuatro canales con
opción a guardar datos en floppy de la marca Tektronix; equipo electrónico moderno que
fue necesario aprender a utilizar para estos fines.

El diseño y creación de prácticas para uso didáctico así como para la tesis en
general, implicó un estudio extenso de los manuales de operación y programación del
Scorbot-ER V plus; en la programación se adquirió el conocimiento de los comandos de
ACL más básicos para la elaboración de rutinas.

La realización de una interfase del tipo DB 50 (que en realidad es una extensión que
va del controlador al robot), que se deja lista para trabajar con cualquier otro experimento
que se proponga o incluso, cuantas veces sea necesario, repetir las mediciones descritas en
el capítulo 4.

Realmente escribir todo lo que se hizo durante esta investigación sería muy extenso,
por ello esta tesis sólo se concentra en lo más importante para satisfacer los alcances
planteados en el inicio.

104
Capítulo 5 Conclusiones

5.1 Resultados
Para comprobar y dar por hecho el correcto desarrollo de los modelos Cinemáticos
se llevó a cabo una comparación entre el modelo directo y el modelo inverso. Esta
comparación se refiere a que las salidas resultantes del modelo cinemático directo, fueron
introducidas en las entradas del modelo cinemático inverso y viceversa, con ello su pudo
apreciar una total congruencia en los resultados, ya que se “recuperaba” el valor inicial para
cada caso. Esto fue suficiente para validarlos por software, ya que el desarrollo de ambos
fue por métodos completamente diferentes obteniendo resultados exactos, tal y como se
pudo ver en el capítulo 3.

Por otro lado, los resultados que se obtuvieron del desarrollo del modelo dinámico
inverso en un primer grado de validación, como el que se hizo en el capítulo 3 al comparar
simples modelos desarrollados para péndulos y para un robot planar contra el modelo del
Scorbot-ER V plus, fueron satisfactorios al dar resultados iguales, esto dio una credibilidad
importante al desarrollo del modelo.

La validación física que se realizó en el capítulo 4 se hizo a través de la


comparación de las variables de par resultantes de la simulación del robot con las
ecuaciones del modelo dinámico inverso con las pruebas físicas realizadas al Scorbot-ER V
plus. En estas comparaciones se obtuvo un error del 30 al 40 %.

Se debe tomar en cuenta que cuando se realiza una prueba a sistemas físicos es
imposible realizarlas bajo condiciones ideales, ya que existen factores que son imposibles
de controlar o eliminar. Estos factores pueden ser el no contar con una fuente de
alimentación limpia de ruidos (en este caso los picos de corriente que se pueden presentar),
la precisión en el equipo de muestreo, la repetibilidad del sistema, las pérdidas en los
actuadores, fricciones no lineales, el propio desgaste físico del sistema, etc. Estas
condiciones se pueden despreciar cuando se lleva acabo una simulación en PC donde se
pueden tener condiciones ideales al igual que el propio modelo. Los sistemas presentan
normalmente no linealidades en su comportamiento, y las perturbaciones que se presentan
resultan difíciles de determinar o de controlar. Por éstas y otras razones se presentan estas
diferencias en cuanto a la magnitud del par requerido, sin embargo la tendencia general de
la señal es muy similar y se comporta de acuerdo a predicciones lógicas. Otro factor de
influencia en la diferencia de resultados se debe a la instrumentación tan rudimentaria que
se utilizó para medir los eslabones del robot y las piezas que lo conforman.

La dinámica directa, se pudo validar, como ya se vio en el capítulo 3, puesto que se


desarrolla a partir de la dinámica inversa, además de haber sido resuelta por diferentes
técnicas de solución algebraicas, desechando con esto posibles errores en su resolución.

En la estimación de pesos se tuvo una diferencia de un 10% respecto al valor


obtenido de los manuales y el valor resultante del software Pro-Engineer. La diferencia se
debe a piezas a las que no se pudo tener acceso para medirlas.

105
“Caracterización de un robot manipulador articulado”

A pesar de que en la propuesta de tesis de este trabajo, en un inicio se delimitó el


modelo a no incluir efectos como las fricciones, durante el transcurso se consideró
importante incluirlos ya que los experimentos demostraron un significante mejoramiento en
las señales y así, al hacer la comparación de señales, se tuvieron resultados más
satisfactorios. En el caso en que dicho mejoramiento se noto significantemente fue en la
prueba que en simulación se generaba un movimiento únicamente en la cintura (capítulo 4,
prueba 1); a la hora de introducir la fricción se notó que la forma de la señal cambió y que
la magnitud se acrecentó en un 20%, teniendo un similitud mayor con la señal adquirida de
la corriente del motor1 transformada en par. Esto se puede apreciar en la figura 5-1, 5-2 y 5-
3. En el casos en lo que las articulaciones de hombro y codo tenían movimiento; el hecho
de incluir las fricciones sólo elevó la magnitud de la señal un 5%, dejando su forma sin
cambio alguno considerable.

Par en la cintura obtenido en pruebas

0.6
0.5
0.4
0.3
0.2 Par
Par (N-m)

0.1
0
-0.1 20 per. media móvil
3 8 13 18 (Par)
-0.2
-0.3
-0.4
-0.5
-0.6
Tiempo (s)

Figura 5-1 Par generado por el motor1 para mover la cintura

0.25 0.3

0.2
0.2
0.15

0.1 0.1

0.05
0
Par Par
(N-m) 0 (N-m)
-0.1
-0.05

-0.1 -0.2

-0.15
-0.3
-0.2

-0.25 -0.4
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14
Tiempo (s) Tiempo (s)

Figura 5-2 Par en simulación para el movimiento de Figura 5-3 Par en simulación para el movimiento de
cintura sin fricción. cintura con fricción.

106
Capítulo 5 Conclusiones

5.2 Aportaciones
Una de las aportaciones principales de este trabajo de tesis, es la puesta en
operación del robot Scorbot-ER V plus; por los motivos que se explican en el siguiente
párrafo.

Con la llegada de la celda de manufactura al Cenidet, se vio que era de un gran


apoyo para la Maestría de Ingeniería Mecatrónica y en especial un refuerzo adicional a los
conocimientos adquiridos en el seminario de robótica; la problemática era de que no existía
una manual describiendo la operación indispensable del robot ni su parametrización e
identificación de parámetros necesarios para aplicarlos a la investigación. La puesta en
operación y documentación del robot Scorbot-ER V plus contribuye en forma teórica
con la validación de los modelos matemáticos y todo lo que conllevó y en forma bastante
tangible con las práctica que se puede realizar con este robot. Por esta razones el material
aquí plasmado es de ayuda tanto a profesores-investigares y alumnado del Cenidet y/o la
gente que tenga interés en el tema.

Los pasos necesarios que se siguieron para la puesta en operación del robot
Scorbot-ER V plus, se documentaron y se les dio el formato de prácticas de laboratorio
(una serie de seis prácticas), para que la infraestructura del laboratorio de mecatrónica del
Cenidet tenga un mejor aprovechamiento. Estas prácticas ya fueron realizadas por
alumnado del centro con gran éxito.

Otra aportación es un simulador que sirve para cualquier manipulador articulado


que sea de construcción similar al Scorbot-ER V plus, ya que basta introducir los
parámetros deseados en un cuadro de diálogo (para la cinemática) o modificar los
parámetros iniciales en un subsistema (para la dinámica).

El desarrollo de los modelos cinemáticos y modelos dinámicos, se consideran una


aportación. El desarrollo se muestra en su totalidad y se hacen citas a apéndices cuando es
necesario.

La identificación de parámetros es algo a destacar. Se tienen los dibujos de casi


todas las piezas más significativas del robot, en donde se exponen sus medidas, tipo de
material, densidad de los materiales, cantidades de piezas en el caso de que existan más de
una y la información concentrada como se puede ver en capítulo 4, tabla 4-5.

Se espera que con este trabajo de tesis se motive y estimule el establecimiento de


una línea de investigación dedicada específicamente a la robótica y sus temas relacionados,
ya que el Cenidet ha tenido interés por este tema desde hace varios años, sin embargo,
ninguna de las áreas que conforman el centro, cuenta con una línea de investigación
exclusiva para robótica.

107
“Caracterización de un robot manipulador articulado”

5.3 Trabajos futuros

El limitar los trabajos futuros que se pueden realizar en robótica, sería muy
aventurado e injusto, puesto que en este campo a pesar de que ya tiene formado más de
medio siglo, la investigación y desarrollo están al día.

Como trabajos futuros se proponen los siguientes:

• La publicación de este trabajo de tesis para darle difusión y demostrar los alcances
que se tienen en la Maestría en Ingeniería Mecatrónica en crecimiento.

• El estudiar si algún tipo de control se puede implementar con el Scorbot ER V plus.

• Documentar otros elementos que componen la celda de manufactura del laboratorio


de mecatrónica a la que pertenece el Scorbot-ER V plus como.

o Caracterización del robot del área de calidad que tiene un GDL adicional.

• Estudiar la posibilidad de implementar otras herramientas en el efector final como


sensores de fuerza, alguna cámara, el tratar de adicionar otros instrumentos como
algún taladro, electrodo para soldadura, una garra con mayor número de “dedos”,
etc.

• Reconocimiento en el espacio de trabajo para evitar colisiones del robot en él


mismo y con su entorno.

• Reproducir otro robot del tipo del Scorbot-ER V plus.

• Controlar al robot en línea a través de Internet.

• El fusionar otros trabajos de tesis de los demás departamentos que componen el


Cenidet con el Scorbot-ER V plus.

• Realizar investigaciones con robots móviles.

El hecho de realizar investigación y ver hasta donde se puede sacar provecho de la


infraestructura del Cenidet, parece ser una buena idea, por lo que se sugiere seguir
investigando y trabajando con los demás elementos del CIM.

108
Bibliografía general

BIBLIOGRAFÍA GENERAL

[Baltazar 94]
Dinámica de manipuladores de eslabones rígidos mediante simulación numérico-gráfica
Martín Eduardo Baltazar López
Departamento de Ingeniería Mecánica
Tesis de Maestría, Cenidet, 1994

[Barrientos 97]
Fundamentos de robótica
A. Barrientos, L. F. Peñin, C. Balaguer, R. Aracil
Mc Graw Hill, 1997

[Craig 89]
Introduction to robotics mechanics and control
John J. Craig
Addison-Wesley Publishing Company, 1989
TJ 211.C67 1989

[Fu 88]
Robótica
K. S. Fu, R. C. González, C. S. G. Lee
Mc Graw Hill, 1988
TJ 211. F8218 1988

109
“Caracterización de un robot manipulador articulado”

[Groover 86]
Industrial robotics technology, programming, and applications
Mikell P. Groover, Mitchell Meiss, Roger N. Nagel, Nicholas G. Odrey
McGraw Hill, 1986
TS 191.8 G766i 1986

[Hernández 03]
Implementación de una red neuronal holográfica, para el control de un brazo robot
articulado
José Juan Hernández
Departamento de Ciencias de la Computación
Tesis de Maestría, Cenidet, 2003

[Ibarra 99]
Regulación de un sistema electromecánico subactuado
Jorge Luis Ibarra López
Departamento de Ingeniería Electrónica
Tesis de Maestría, Cenidet, 1999

[Iglesias 91]
Implementación de un sistema de visión para la detección, reconocimiento y manipulación
de piezas de ensamble por medio de un robot de uso industrial
Arturo Iglesias Zárate
Departamento de Ciencias Computacionales
Tesis de Maestría, Cenidet, 1991

[Juvinall 99]
Fundamentos de diseño de ingeniería mecánica
Robert C. Juvinall
Limusa Noriega Editores, 1999
TJ 230 .J8818 1999

[Koivo 89]
Fundamentals for control of robotics manipulators
Antti J. Koivo
Wiley, 1989
TJ 211 K65F 1989

110
Bibliografía general

[Koren 87]
Robotics for engineers
Yoran Koren
McGraw Hill, 1987
TJ 211 K67 1987

[Lewis 93]
Control of robot manipulators
F.L. Lewis, C.T. Abdalla, D.M. Dawson
Mac Millan Publishing Company, 1993
TJ 211.35 L48C 1993

[López]
Detallador de tareas de visión robótica
Juan Gabriel López Solórzano
Departamento de Ciencias de la Computación
Tesis de Maestría, Cenidet (en elaboración)

[Megahed 93]
Principles of robot modelling and simulation
Said M. Megahed
John Willey and Sons, 1993

[Norton 99]
Diseño de máquinas
Robert L. Norton
Prentice Hall, 1999
TJ 230 .N 6718 1999

[Núñez 91]
Diseño e implementación de un sistema de programación para un manipulador industrial
Oscar Fernando Núñez Olvera
Departamento de Ingeniería Electrónica
Tesis de Maestría, Cenidet, 1991

[Ogata 87]
Dinámica de sistemas
Katsuhiko Ogata
Prentice Hall, 1987
TA 168 .O33D 1987

111
“Caracterización de un robot manipulador articulado”

[Ollero 01]
Robótica: Manipuladores y robots móviles
Aníbal Ollero Baturone
Alfaomega marcombo, 2001
TJ 211. O43 2001

[Peralta]
Esquema para la integración de sistemas de visión robótica
Edson Ignacio Peralta Abundes
Departamento de Ciencias de la Computación
Tesis de Maestría, Cenidet (en revisión)

[Pérez 02]
Diseño e implementación de un sistema de calibración para un sistema de visión robótica
Agustín Pérez Ramírez
Departamento de Ciencias de la Computación
Tesis de Maestría, Cenidet, 2002

[Sandler 91]
Robotics
Ben-Zion Sandler
Prentice Hall, 1991
TJ 213.5729r 1991

[Shigley 90]
Diseño en ingeniería mecánica
Joseph Edwar Shigley, Charles R. Mischke
Mc Graw Hill, 1990
Quinta edición (cuarta en español)
TJ 230 .S779D 1990

[Sciavicco 96]
Modeling and control of robot manipulators
Lorenzo Sciavicco, Bruno Siciliano
McGraw Hill, 1996

112
Bibliografía general

[Shannon 88]
Simulación de sistemas
Robert E. Shannon
Trillas, 1988
TA 343. S 5218 1988

[Spong 89]
Robot dynamics and control
Mark W. Spong, M. Vidyasagar
John Wiley & Sons, 1989
TJ 211. 4566 1989

[Wellstead 79]
Introduction to physical system modelling
P. E. Wellstead
Academic Press, 1979

113
“Caracterización de un robot manipulador articulado”

PÁGINAS WEB

[@ Basañez]
http://www.metalunivers.com/1pm/Pm02/Robotica.html

[@ Brandeis]
http://www.demo.cs.brandeis.edu/golem
http://www.demo.cs.brandeis.edu/golem/simulator/poscilate1.mov

[@ Manufactura]
http://www2.ing.puc.cl/icmcursos/procesos/apuntes/cap4/42/421/

[@ Mecanismos]
http://webs.demasiado.com/ing_industrial/ingenieria/mecanismos/

[@ Motores 98]
http://www.angelfire.com/sc/felipemeza/pub1.html

[@ Pérez 01]
http://www.geocities.com/Eureka/Office/4595/robotica.html

[@ Rodríguez 99]
http://mailweb.udlap.mx/~tesis/razo_r_af/c2.html

114
Apéndice A El robot Scorbot – ER V plus

Apéndice
A

EL ROBOT SCORBOT - ER V plus

115
“Caracterización de un robot manipulador articulado”

A.1 Especificaciones

116
Apéndice A El robot Scorbot – ER V plus

A.2 Espacio de trabajo

117
“Caracterización de un robot manipulador articulado”

A.3 Métodos de operación

118
Apéndice A El robot Scorbot – ER V plus

119
“Caracterización de un robot manipulador articulado”

120
Apéndice A El robot Scorbot – ER V plus

A.4 Control de trayectoria

121
“Caracterización de un robot manipulador articulado”

122
Apéndice A El robot Scorbot – ER V plus

A.5 Interfase

123
“Caracterización de un robot manipulador articulado”

124
Apéndice B Cinemática

Apéndice
B

CINEMÁTICA

L a cinemática del robot estudia el movimiento del mismo con respecto a un


sistema de referencia. Así, la cinemática se interesa por la descripción
analítica del movimiento espacial del robot como una función del tiempo, y
en particular por las relaciones entre la posición y orientación del extremo final del robot
con los valores que toman sus coordenadas articulares.

Existen dos problemas fundamentales a resolver en la cinemática del robot; el


primero de ellos se conoce como el problema cinemático directo, y consiste en determinar
cual es la posición y orientación del extremo final del robot, con respecto a un sistema de
coordenadas que se toma como referencia, conocidos los valores de la articulaciones y los
parámetros geométricos de los elementos del robot; el segundo, denominado problema
cinemático inverso, resuelve la configuración que debe adoptar el robot para una posición
y orientación del extremo conocidas.

125
“Caracterización de un robot manipulador articulado”

B.1 Cinemática directa


Para representar y describir la localización de un objeto en el espacio tridimensional
con respecto a un sistema de referencia fijo, se utiliza fundamentalmente el álgebra
vectorial y matricial. Un robot manipulador está compuesto de eslabones conectados por
uniones dentro de una cadena cinemática abierta. Las uniones típicas son las de rotación (de
revolución) figura B-1a o las lineales (prismáticas) figura B-1b. Una unión de revolución es
como una bisagra y permite rotación relativa entre dos eslabones. Una unión prismática
permite un movimiento relativo lineal entre dos eslabones.

z z
l2 l2

l1 l1 l1 l2

θ θ θ

Figura B-1a Uniones de revolución (R).

l2 z
l2 z
d
l1 d l1 d l1
l2

Figura B-1b Uniones prismáticas (P).

El análisis cinemático de la estructura de un manipulador concierne a la descripción


del movimiento del manipulador con respecto a una referencia fija en el marco cartesiano,
ignorando las fuerzas y momentos que causan el movimiento de la estructura.

B.1.1 Denavit – Hartenberg


Denavit y Hartenberg, propusieron un método sistemático para describir y
representar la geometría espacial de los elementos de una cadena cinemática, y en particular
de un robot, con respecto a un sistema de referencia fijo. Este método utiliza una matriz de
transformación homogénea para describir la relación espacial entre dos elementos rígidos
adyacentes, reduciéndose el problema cinemático directo a encontrar una matriz de
transformación homogénea 4x4 que relacione la localización espacial del extremo del robot
con respecto al sistema de coordenadas de su base.

126
Apéndice B Cinemática

B.1.2 Parámetros Denavit – Hartenberg

• θi: Es el ángulo que forman los ejes xi-1 y xi medido en un plano perpendicular al eje
zi-1, utilizando la regla de la mano derecha. Se trata de un parámetro variable en
articulaciones giratorias.
• di: Es la distancia a lo largo del eje zi-1 desde el origen del sistema de coordenadas
(i-1)-ésimo hasta la intersección del eje zi-1 con el eje xi. Se trata de un parámetro
variable en articulaciones prismáticas.
• ai: Es la distancia a lo largo del eje xi que va desde la intersección del eje zi-1 con el
eje xi hasta el origen del sistema i-ésimo, en el caso de articulaciones giratorias. En
el caso de articulaciones prismáticas, se calcula como la distancia más corta entre
los ejes zi-1 y zi.
• αi: Es el ángulo de separación del eje zi-1 y el eje zi , medido en un plano
perpendicular al eje xi , utilizando la regla de la mano derecha.

B.1.3 Algoritmo Denavit – Hartenberg. [Spong 89]

• D-H 1.- Numerar los eslabones comenzando con 1 (primer eslabón móvil de la
cadena) y acabando con n (último eslabón móvil). Se numerará como eslabón 0 a la
base fija del robot.
• D-H 2.- Numerar cada articulación comenzando por 1 (la correspondiente al primer
grado de libertad) y acabando en n
• D-H 3.- Localizar el eje de cada articulación. Si ésta es rotativa, el eje será su
propio eje de giro. Si es prismática, será el eje a lo largo del cual se produce el
desplazamiento.
• D-H 4.- Para i de 0 a n-1 situar el eje zi sobre el eje de la articulación i+1.
• D-H 5.- Situar el origen del sistema de la base {S0} en cualquier punto del eje z0.
Los ejes x0 e y0 se situarán de modo que formen un sistema dextrógiro con z0.
• D-H 6.- Para i de 1 a n-1, situar el sistema {Si} (solidario al eslabón i) en la
intersección del eje zi con la línea normal común a zi-1 y zi. Si ambos ejes se
cortasen se situaría {Si} en el punto de corte. Si fuesen paralelos {Si} se situaría en
la articulación i+1.
• D-H 7.- Situar xi en la línea normal común a zi-1 y zi.
• D-H 8.- Situar yi de modo que forme un sistema dextrógiro con xi y zi.
• D-H 9.- Situar el sistema {Sn} en el extremo del robot de modo que zn coincida con
la dirección de zn-1 y xn sea normal a zn-1 y zn.
• D-H 10.- Obtener θi como el ángulo que hay que girar en torno a zi-1 para que xi-1 y
xi queden paralelos.
• D-H 11.- Obtener di como la distancia, medida a lo largo de zi-1 , que habría que
desplazar {Si-1} para que xi y xi-1 quedasen alineados.
• D-H 12.- Obtener ai como la distancia medida a lo largo de xi (que ahora coincidiría
con xi-1) que habría que desplazar el nuevo {Si-1} para que su origen coincidiese con
{Si}.

127
“Caracterización de un robot manipulador articulado”

• D-H 13.- Obtener αi como el ángulo que habría que girar entorno a xi (que ahora
coincidiría con xi-1), para que el nuevo {Si-1} coincidiese totalmente con {Si}.
• D-H 14.- Obtener las matrices de transformación i-1Ai.
• D- 15.- Obtener la matriz de transformación entre la base y el extremo del robot T =
0
A1 1A2 ... n-1An.
• D-H 16.- La matriz T define la orientación (submatriz de rotación) y posición
(submatriz de traslación) del extremo referido a la base en función de las n
coordenadas articulares.

B.1.4 Matriz de transformación


Las matrices de transformación A y T

Matriz i-1Ai: Matriz de transformación homogénea que representa la posición y


orientación relativa entre los sistemas asociados a dos eslabones
consecutivos del robot.

Matriz T: Matriz 0An cuando se consideran todos los grados de libertad del robot

Conexión de matrices A:
T=0An= 0A11A22A3…n-2An-1n-1An

Convención de conexión de elementos contiguos de Denavit- Hartenberg

1. Transformaciones básicas de paso de eslabón:


2. Rotación alrededor del eje zi-1 un ángulo θi
3. Traslación a lo largo de zi-1 una distancia di; vector di (0, 0, di )
4. Traslación a lo largo de xi una distancia ai ; vector ai (0, 0, ai )
5. Rotación alrededor del eje xi un ángulo αi

Ai = Rotz,θi Transz,d Transx,ai Rotx,ai B-1

⎡cθi − sθ i 0 0 ⎤ ⎡1 0 0 0 ⎤ ⎡1 0 0 ai ⎤ ⎡1 0 0 0⎤
⎢ sθ cθi 0 0⎥⎥ ⎢⎢0 1 0 0 ⎥⎥ ⎢⎢0 1 0 0 ⎥⎥ ⎢⎢0 cα i − sα i 0⎥⎥
Ai = ⎢ i B-2
⎢0 0 1 0 ⎥ ⎢0 0 1 d i ⎥ ⎢0 0 1 0 ⎥ ⎢ 0 sα i cα i 0⎥
⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥
⎣0 0 0 1 ⎦ ⎣0 0 0 1 ⎦ ⎣0 0 0 1 ⎦ ⎣0 0 0 1⎦

⎡cθ i − cα i sθ i s α i sθ i ai cθ i ⎤
⎢ sθ cα i cθ i − sα i cθ i ai sθ i ⎥⎥
Ai = ⎢ i B-3
⎢ 0 sα i cα i di ⎥
⎢ ⎥
⎣ 0 0 0 1 ⎦

128
Apéndice B Cinemática

B.2 Cinemática inversa


Anteriormente se vio el problema de la cinemática directa. Este problema es más
sencillo de resolver de una manera sistemática e independiente de la configuración del
robot que el de la cinemática inversa, en el cual, la configuración está estrechamente ligada
a su solución la que puede o no existir y de existir puede tener una o más soluciones.

El objetivo de la cinemática inversa es el de encontrar los valores que deben adoptar


las coordenadas articulares del robot q = [q1 , q 2 ,K, q n ] para que su extremo se posicione y
T

oriente según una determinada localización espacial.

B.2.1 Métodos de solución

• Métodos geométricos
o Se suele utilizar para las primeras variables articulares
o Uso de relaciones geométricas y trigonométricas (resolución de triángulos)
• Resolución a partir de las matrices de transformación homogénea
o Despejar las n variables qi en función de las componentes de los vectores n,
o, a y p.
• Desacoplamiento cinemático
o En robots de 6 GDL
o Separación de orientación y posicionamiento
• Otros
o Algebra de tornillo
o Cuaterniones duales
o Métodos iterativos

129
“Caracterización de un robot manipulador articulado”

Apéndice
C

DINÁMICA

L a dinámica se ocupa de la relación entre las fuerzas que actúan sobre un


cuerpo y el movimiento que en él se origina debido a dichas fuerzas. Por lo
tanto, el modelo dinámico de un robot tiene como objetivo conocer la
relación entre el movimiento del robot y las fuerzas implicadas en el mismo.

La derivación del modelo dinámico de un manipulador representa un punto


importante para la simulación del movimiento, el análisis de la estructura del manipulador y
el diseño de algoritmos de control. La simulación del movimiento permite probar
estrategias de control y planear técnicas de movimiento sin la necesidad de usar un sistema
físico. Existen comúnmente en la literatura más de un método para derivación de las
ecuaciones de movimiento de un manipulador en el espacio de la articulación. Este trabajo
está basado sobre la formulación de Lagrange por ser un método conceptualmente simple y
sistemático. El modelo dinámico de un manipulador provee una descripción de la relación
entre el par de la articulación y el movimiento de la estructura [Spong 89].

130
Apéndice C Dinámica

Un robot manipulador es básicamente un dispositivo posicionador, para controlar la


posición se deben identificar las propiedades dinámicas del manipulador para conocer las
fuerzas ejercidas sobre él, que son las causantes de su movimiento.

C.1 Formulación de Lagrange


Con la formulación de Lagrange, la ecuación del movimiento puede ser derivada de
manera sistemática e independientemente del marco de coordenadas de referencias. Una
vez que se determina un conjunto de variables qi, i = 1,..., n, llamadas coordenadas
generalizadas, que describe las posiciones de los eslabones de un manipulador de n grados
de libertad, el Lagrangiano del sistema mecánico puede ser definido como una función de
las coordenadas generalizadas:

L = Ki – Pi C-1

Donde Ki y Pi son las energías totales cinética y potencial respectivamente del sistema,
definidas como:

1 2 &2
KR = I θ i Para la energía cinética rotacional.
2
1
K L = mvi2 Para la energía cinética lineal.
2

Donde:
m es la masa del elemento
θ&i y vi son las velocidades rotacional y lineal respectivamente del i-ésimo eslabón
I es la inercia del elemento definida por:
I = mli2
li = es la longitud del i-ésimo eslabón

La ecuación de movimiento Lagrange está expresada por:

d ∂L ∂L
− =τi C-2
dt ∂q& i ∂qi

para i = 1,..., n

donde τi, es la fuerza generalizada asociada con la coordenada generalizada qi.

131
“Caracterización de un robot manipulador articulado”

C.2 Función de disipación de Rayleigh [Ogata 87]


En los sistemas no conservativos (sistemas amortiguados) la energía se disipa.
Rayleigh desarrollo una función de disipación D de la que puede derivarse la fuerza del
amortiguamiento. Suponiendo que el sistema involucra r amortiguadores viscosos, la
función de disipación de Rayleigh se define mediante:

1
D = (b1δ&12 + b2δ&22 + K + br δ&r2 C-3
2

Donde
b1 es el coeficiente del i-ésimo amortiguador viscoso
δ&i es la diferencia de velocidad a través del i-ésimo amortiguador viscoso

Así pues, δ&i puede expresarse como función de las variables generalizadas q& i

Mediante el uso de la función de disipación de Rayleigh, las ecuaciones de


Lagrange para los sistemas no conservativos se convierte en:

d ⎛ ∂L ⎞ ⎛ ∂L ⎞ ⎛ ∂D ⎞
⎜ ⎟⎟ − ⎜⎜ ⎟⎟ + ⎜⎜ ⎟⎟ = 0 C-4
dt ⎜⎝ ∂q& i ⎠ ⎝ ∂qi ⎠ ⎝ ∂q& i ⎠

i = 1, 2,…, n

C-3 Solución a un modelo

Aplicando los puntos C-1 y C-2 para la solución de un modelo dinámico se puede
utilizar el Lagrangiano definiendo la estructura del manipulador y el tipo de articulación
que posee, así como la identificación y distribución de sus masas. Una vez obtenido el
Lagrangiano se puede aplicar la ecuación de movimiento de Lagrange, que está dada por la
resolución de las derivadas tanto parciales como referidas al tiempo de las coordenadas
generalizadas y sus derivadas para posteriormente se agregan los efectos de fricción por
medio de función de disipación de Rayleigh quedando finalmente de forma general un
modelo tal y como se define y aplica en la ecuación 2-80 del capítulo 2.

M (q )q&& + V (q, q& ) + G (q ) + FV q& = τ 2-80

132
Apéndice C Dinámica

Donde:

M (q ) Matriz de inercia

V (q, q& ) Vector de las fuerzas centrífugas

FV q& Vector de las fuerzas de fricción

G (q ) Vector de las fuerzas gravitacionales

τ Par requerido

133
“Caracterización de un robot manipulador articulado”

Apéndice
D

PÉNDULOS

134
Apéndice D Péndulos

D.1 Modelo del péndulo simple


Considérese el péndulo simple que se muestra en la figura D-1, en la cual se
muestran las masas M1 y M2 y una carga W distribuidas a lo largo del péndulo de la
siguiente manera, la M1 se encuentra a una distancia (x1/2), la masa M2 se encuentra
ubicada a una distancia (x1 + x2/2) y la carga W esta al final del péndulo a una distancia (x1
+ x2). Este es un sistema de un grado de libertad y el ángulo θ es la única coordenada
generalizada.

x1 = longitud
θ x2 = longitud
x1
M1, M2 = masas
M1 W = carga
x2
M2

Figura D-1 Péndulo invertido

Partiendo de lo anteriormente dicho se procede al desarrollo del modelo del péndulo


simple utilizando la formulación de Lagrange para su resolución.

L= Lagrangiano
K= Energía cinética
P= Energía potencial
I= Inercia
mi = Masa i-ésima
xi = Radio de giro de la masa i-ésima
hi = Altura i-ésima
τ = Par requerido

El Lagrangiano L de un sistema se define como:

L=K–P D-1

Para obtener el par deseado empleamos la ecuación de movimiento de Lagrange dada por:

d ∂L ∂L
τ= − D-2
dt ∂θ& ∂θ

135
“Caracterización de un robot manipulador articulado”

D.1.2 Energía cinética


La energía cinética que se encuentra en el péndulo está dada por el momento de
inercia “I” en rotación pura a velocidad angular θ, y está representada por la ecuación D-3.

1 &2
K= Iθ D-3
2

I = mx 2 D-4
1 ⎛ 1 ⎞
l = x1 + ⎜ x1 + x 2 ⎟ + W (x1 + x 2 ) D-5
2 ⎝ 2 ⎠
2 2
⎛1 ⎞ ⎛ 1 ⎞
I = m1 ⎜ x 1 ⎟ + m 2 ⎜ x 1 + x 2 ⎟ + W (x 1 + x 2 )
2
D-6
⎝ 2 ⎠ ⎝ 2 ⎠
1 2 2 1 2 2 2
I = m1 x 1 + m2 x 1 + m2 x 1 x 2 + m2 x 2 + Wx 1 + 2Wx 1 x 2 + Wx 2 D-7
4 4

1 ⎡1 1 2⎤
m1 x 1 + m2 x 1 + m2 x 1 x 2 + m2 x 2 + Wx 1 + 2Wx 1 x 2 + Wx 2 ⎥θ& 2
2 2 2 2
K= ⎢ D-8
2 ⎣4 4 ⎦

1 1 1
K = m1 x 1 θ& 2 + m2 x 1 θ& 2 + m2 x 1 x 2θ& 2
2 2

8 2 2
D-9
1 1 1
+ m2 x 2 θ& 2 + Wx 1 θ& 2 + Wx 1 x 2θ& 2 + Wx 2 θ& 2
2 2 2

8 2 2

D.1.3 Energía potencial


La energía potencial está dada por el trabajo realizado sobre un cuerpo de masa m
en un campo gravitacional, tal y como se muestra en la ecuación D-10

P = mghi (1 − cos θ ) D-10

hi = xi (1 − cos θ ) D-11

1 ⎛ 1 ⎞
P = m1 g x 1 (1 − cos θ ) + m2 g ⎜ x 1 + x 2 ⎟(1 − cos θ ) + Wg ( x 1 + x 2 )(1 − cos θ ) D-12
2 ⎝ 2 ⎠
1 1 ⎛ 1 ⎞ ⎛ 1 ⎞
P = m1 g x 1 − m1 g x 1 cos θ + m 2 g ⎜ x 1 + x 2 ⎟ − m2 g ⎜ x 1 + x 2 ⎟ cos θ
2 2 ⎝ 2 ⎠ ⎝ 2 ⎠ D-13
+ Wg ( x 1 + x 2 ) − Wg ( x 1 + x 2 ) cos θ

136
Apéndice D Péndulos

Por lo tanto el Lagrangeano esta dado por:


1 1 1 1
L = m1 x 1 θ& 2 + m2 x 1 θ& 2 + m2 x 1 x 2θ& 2 + m 2 x 1 θ& 2
2 2 2

8 2 2 8
1 1 1 1
+ Wx 1 θ& 2 + Wx 1 x 2θ& 2 + Wx 2 θ& 2 − m1 g x 1 + m1 g x 1 cos θ
2 2
D-14
2 2 2 2
⎛ 1 ⎞ ⎛ 1 ⎞
− m 2 g ⎜ x 1 + x 2 ⎟ + m 2 g ⎜ x 1 + x 2 ⎟ cos θ − Wg ( x 1 + x 2 ) + Wg ( x 1 + x 2 ) cos θ
⎝ 2 ⎠ ⎝ 2 ⎠

∂L 1 1
= m1 x 1 θ& + m2 x 1 θ& + m2 x 1 x 2θ& + m2 x 2 θ& + Wx 1 θ& + 2Wx 1 x 2θ& + Wx 2 θ&
2 2 2 2 2
D-15
∂θ 4
& 4

d ∂L ⎛ 1 1 2⎞
= ⎜ m1 x 1 + m 2 x 1 + m 2 x 1 x 2 + m 2 x 2 + Wx 1 + 2Wx 1 x 2 + Wx 2 ⎟θ&&
2 2 2 2
D-16
dt ∂θ ⎝ 4
& 4 ⎠

∂L 1 ⎛ 1 ⎞
= − m1 g x 1 senθ − m2 g ⎜ x 1 + x 2 ⎟ senθ − Wg ( x 1 + x 2 ) senθ D-17
∂θ 2 ⎝ 2 ⎠

Empleando el Lagrangiano para resolver la ecuación de movimiento de Lagrange


tenemos el siguiente desarrollo.

⎛1 1 ⎞
τ = ⎜ m1 x 1 2 + m2 x 1 2 + m2 x 1 x 2 + m2 x 2 2 + Wx 1 2 + 2Wx 1 x 2 + Wx 2 2 ⎟θ&&
⎝4 4 ⎠
D-18
1 ⎛ 1 ⎞
+ m1 g x 1 senθ + m2 g ⎜ x 1 + x 2 ⎟ senθ + Wg ( x 1 + x 2 ) senθ
2 ⎝ 2 ⎠

D.2 Rotación de un sólido rígido alrededor de un eje fijo


Considere un sólido rígido que gira alrededor de un eje fijo (figura. D-2), y
supongamos un punto material cualquiera, de los que suponemos está dividido el sólido, de
masa mi y describiendo una circunferencia de centro O y radio ri. Si sobre dicha partícula
actúa una fuerza Fi, situada en un plano perpendicular al eje de giro, siempre la podremos
descomponer sobre dos direcciones perpendiculares, una tangente a la circunferencia que
describe mi y la otra radial, Fit y Fin.

137
“Caracterización de un robot manipulador articulado”

Fi
Fit

ri
Fin mi

Figura D-2 Rotación de un cuerpo sobre un eje.

Si se calcula el momento de estas dos fuerzas, observamos que el momento de la


fuerza radial es cero, pues las direcciones del vector de posición de dicha fuerza son las
mismas. Por lo tanto la fuerza tangencial Fit será la que provoque el giro de mi, cuyo
momento es un vector de módulo:

Mio (Fit) = ri * Fit D-19

Teniendo en cuenta las relaciones Fit = mi ait y ait = ri α la expresión del momento se
puede escribir de la forma:

Mio (Fit) =mi ri2 α D-20

Bajo este principio se puede analizar el péndulo horizontal y determinar su modelo


dinámico utilizando nuevamente la ecuación de movimiento de Lagrange, en la cual el
término de energía potencial se vuelve nulo tal y como pasa con la fuerza radial ya que la
delta de altura del péndulo con respecto al plano horizontal será siempre cero, por ejemplo
en el modelo del péndulo simple se tiene que al variar el ángulo de apertura de la
articulación con respecto a la vertical la magnitud del valor de la carga se descompone y
por la tanto el peso efectivo que el motor debe vencer con un par generado es variable y
depende del ángulo, sin embargo con respecto al péndulo horizontal el valor de la carga no
depende del ángulo de apertura en la base, sino del ángulo de inclinación del brazo, así que
al mantenerse rígido y sólo rotarlo sobre el plano horizontal que es perpendicular a su eje
de giro los efectos de par son dados únicamente por la energía cinética. Esto se puede ver
dentro del análisis presentado a continuación.

D.3 Modelo del péndulo horizontal


Considérese el péndulo horizontal que se muestra en la figura D-3, en la cual se
muestran las masas M1 y M2 y una carga W distribuidas a lo largo del péndulo de la
siguiente manera, la M1 se encuentra a una distancia (x1/2), la masa M2 se encuentra

138
Apéndice D Péndulos

ubicada a una distancia (x1 + x2/2) y la carga W esta al final del péndulo a una distancia (x1
+ x2). Este es un sistema de un grado de libertad y el ángulo θ es la única coordenada
generalizada.

x1 = 0.22 x2 = 0.22

M1 M2 W Giro de la
estructura
Giro del
motor

Vista lateral Vista de planta


Figura D-3 Péndulo horizontal.

L= Lagrangiano
K= Energía cinética
P= Energía potencial
I= Inercia
mi = Masa i-ésima
xi = Radio de giro de la i-ésima masa
τ = Par requerido

D.3.1 Energía cinética


Empleando las ecuaciones D-3 y D-4 para comenzar el análisis de la energía
cinética, se procede con:

2 2
⎛1 ⎞ ⎛ 1 ⎞
I = mb l 2 + m1 ⎜ a ⎟ + m2 ⎜ a + b ⎟ + W (a + b )
2
D-21
⎝2 ⎠ ⎝ 2 ⎠

1 1
I = mb l 2 + m1 a 2 + m2 a 2 + m2 ab + m2 b 2 + Wa 2 + 2Wab + Wb 2 D-22
4 4

139
“Caracterización de un robot manipulador articulado”

1⎛ 1 1 2⎞ 2
K= ⎜ mb l + m1 a + m2 a + m2 ab + m2 b + Wa + 2Wab + Wb ⎟θ&
2 2 2 2 2
D-23
2⎝ 4 4 ⎠

1 1 1 1
K= mb l 2θ& 2 + m1 a 2θ& 2 + m2 a 2θ& 2 + m2 abθ& 2
2 8 2 2
D-24
1 1 1
+ m2 b 2θ& 2 + Wa 2θ& 2 + Wabθ& 2 + Wb 2θ& 2
8 2 2

D.3.2 Energía potencial


Como se mencionó la energía potencial para este modelo es cero.

P=0 D-25

Por lo tanto el Lagrangiano esta dado por:

1 1 1 1
L= mb l 2θ&12 + m1 a 2θ&12 + m2 a 2θ&12 + m2 abθ&12
2 8 2 2 D-26
1 1 1
+ m 2 b 2θ&12 + Wa 2θ&12 + Wabθ&12 + Wb 2θ&12
8 2 2

∂L 1
= mb l 2θ& + m1 a 2θ& + m2 a 2θ& + m2 abθ&
∂θ& 4 D-27
1
+ m2 b 2θ& + Wa 2θ& + 2Wabθ& + Wb 2θ&
4

d ∂L ⎛ 1 1 ⎞
= ⎜ mb l 2 + m1 a 2 + m 2 a 2 + m 2 ab + m 2 b 2 + Wa 2 + 2Wab + Wb 2 ⎟θ&& D-28
dt ∂θ& ⎝ 4 4 ⎠

∂L
=0 D-29
∂θ1

⎛ 1 1 ⎞
τ = ⎜ mb l 2 + m1 a 2 + m 2 a 2 + m 2 ab + m 2 b 2 + Wa 2 + 2Wab + Wb 2 ⎟θ&& D-30
⎝ 4 4 ⎠

De acuerdo con la formulación de Lagrange, al analizar y desarrollar los modelos


para un péndulo horizontal ya sea con una carga concentrada equidistante al par ejercido
por el motor o con cargas distribuidas como fue el caso, podemos notar que sólo influyen
fuerzas inerciales dependientes de la variación de la aceleración del eslabón; que las fuerzas
de Coriolis y centrífugas se anulan y que las fuerzas gravitacionales no influyen en su
dinámica, sino en un momento de torsión sobre la unión de las articulaciones en la
estructura.

140
Apéndice D Péndulos

D.4 Robot planar

W= Carga aplicada
mi = Masa del i-ésimo eslabón
g= Constante de gravedad
a= Longitud del primer eslabón
b= Longitud del segundo eslabón
Ii = Inercia del i-ésimo eslabón
Vi = Velocidad lineal del i-ésimo eslabón
Ki = Energía cinética respectivamente de cada eslabón
Pi = Energía potencial respectivamente de cada eslabón

A continuación se muestra el desarrollo del modelo dinámico inverso [Lewis 93]

Eje
Eje YZ
W
b θ3
m2 g

a
m1
θ2

XY
Eje X

Figura D-4 DCL de un robot planar.

D.4.1 Análisis de la articulación en el primer eslabón

K1= Energía cinética del eslabón 1

2
1 ⎛a⎞
K1 = m1 ⎜ ⎟ θ&22 D-31
2 ⎝2⎠

1 a2
K1 = m1 θ&22 D-32
2 4

141
“Caracterización de un robot manipulador articulado”

1
K1 = m1a 2θ&22 D-33
8

P1 = Energía potencial del eslabón 1

a
P1 = m1 g senθ 2 D-34
2

D.4.2 Análisis de la articulación en el segundo eslabón


K2 = Energía cinética del eslabón 2

1
K 2 = m2V22 D-35
2

V22 = x& 22 + y& 22 D-36

1
x2 = a cosθ 2 + b cos(θ 2 + θ 3 ) D-37
2

x& 2 = −asenθ 2θ&2 − bsen(θ 2 + θ 3 )(θ&2 + θ&3 )


1
D-38
2

(
x& 22 = a 2 sen 2θ 2θ&22 + absenθ 2 sen(θ 2 + θ 3 ) θ&22 + θ&2θ&3 )
D-39
+ b 2 sen 2 (θ 2 + θ 3 )(θ&2 + θ&3 )
1 2

1
y 2 = asenθ 2 + bsen(θ 2 + θ 3 ) D-40
2

y& 2 = a cosθ 2θ&2 + b cos(θ 2 + θ 3 )(θ&2 + θ&3 )


1
D-41
2

(
y& 22 = a 2 cos 2 θ 2θ&22 + ab cosθ 2 cos(θ 2 + θ 3 ) θ&22 + θ&2θ&3 )
D-42
+ b 2 cos 2 (θ 2 + θ 3 )(θ&2 + θ&3 )
1 2

Sustituyendo las ecuaciones D-39 y D-42 en la ecuación D-36:

142
Apéndice D Péndulos

V22 = a 2 sen 2θ 2θ&22 + absenθ 2 sen(θ 2 + θ 3 )(θ&22 + θ&2θ&3 )

+ b 2 sen 2 (θ 2 + θ 3 )(θ&2 + θ&3 ) + a 2 cos 2 θ 2θ&22


1 2

4 D-43
+ ab cosθ 2 cos(θ 2 + θ 3 )(θ&22 + θ&2θ&3 )

+ b 2 cos 2 (θ 2 + θ 3 )(θ&2 + θ&3 )


1 2

Aplicando identidades trigonométricas (ver apéndice E) a la suma de las ecuaciones


D-39 y D-42 se obtiene:

( )
x& 22 + y& 22 = a 2θ&22 + ab θ&22 + θ&2θ&3 cos θ 3 + b 2 (θ&2 + θ&3 )
1
4
2
D-44

K2 =
1 ⎡ 2 &2
2 ⎣
( ) 1
4
2⎤
m2 ⎢a θ 2 + ab θ&22 + θ&2θ&3 cosθ 3 + b 2 (θ&2 + θ&3 ) ⎥ D-45

K 2 = m2 a 2θ&22 + m2 ab(θ&22 + θ&2θ&3 )cosθ 3 + m2 b 2 (θ&2 + θ&3 )


1 1 1 2
D-46
2 2 8

P2 = Energía potencial del eslabón 2

1
P2 = m2 gasenθ 2 + m2 gbsen(θ 2 + θ 3 ) D-47
2

D.4.3 Análisis de la articulación en el segundo eslabón respecto a la carga


Kc = Energía cinética con respecto a la carga

1
K c = WVc2 D-48
2

Vc2 = x& c2 + y& c2 D-49

xc = a cosθ 2 + b cos(θ 2 + θ 3 ) D-50

x& c = −asenθ 2θ&2 − bsen(θ 2 + θ 3 )(θ&2 + θ&3 ) D-51

(
x& c2 = a 2 sen 2θ 2θ&22 + 2absenθ 2 sen(θ 2 + θ 3 ) θ&22 + θ&2θ&3 )
D-52
+ b 2 sen 2 (θ 2 + θ 3 )(θ&2 + θ&3 )
2

143
“Caracterización de un robot manipulador articulado”

yc = asenθ 2 + bsen(θ 2 + θ 3 ) D-53

y& c = a cosθ 2θ&2 + b cos(θ 2 + θ 3 )(θ&2 + θ&3 ) D-54

(
y& c2 = a 2 cos 2 θ 2θ&22 + 2ab cosθ 2 cos(θ 2 + θ 3 ) θ&22 + θ&2θ&3 )
D-55
+ b 2 cos 2 (θ 2 + θ 3 )(θ&2 + θ&3 )
2

Sustituyendo las ecuaciones D-52 y D-55 en la ecuación D-49:

(
Vc2 = a 2 sen 2θ 2θ&22 + 2absenθ 2 sen(θ 2 + θ 3 ) θ&22 + θ&2θ&3 )
+ b 2 sen 2 (θ 2 + θ 3 )(θ&2 + θ&3 ) + a 2 cos 2 θ 2θ&22
2
D-56
( )
+ 2ab cosθ 2 cos(θ 2 + θ 3 ) θ&22 + θ&2θ&3 + b 2 cos 2 (θ 2 + θ 3 )(θ&2 + θ&3 )
2

Aplicando identidades trigonométricas (ver apéndice E) a la ecuación D-56 se


obtiene:

( )
Vc2 = a 2θ&22 + 2ab θ&22 + θ&2θ&3 cos θ 3 + b 2 (θ&2 + θ&3 )
2
D-57

2
( 1
2
)
K c = Wa 2θ&22 + Wab θ&22 + θ&2θ&3 cosθ 3 + Wb 2 (θ&2 + θ&3 )
1 2
D-58

PC = Energía potencial con respecto a la carga

PC = Wgasenθ 2 + Wgbsen(θ 2 + θ 3 ) D-59

D.5 Ecuación de Lagrange


La ecuación de movimiento de Lagrange se obtiene con la sumatoria de las energías
cinéticas y potenciales en el manipulador, para una mayor referencia consultar [Lewis 93].

L = ΣK i − ΣPi D-60

Donde

ΣK i Representa la sumatoria de las energías cinéticas


ΣPi Representa la sumatoria de las energías potenciales

Por lo que el Lagrangiano quedaría como:

L = K1 + K2 + Kc – P1 – P2 – Pc D-61

144
Apéndice D Péndulos

1 1
L = m1a 2θ&22 + m2 a 2θ&22
8 2

2
( )
+ m2 ab θ&22 + θ&2θ&3 cosθ 3 + m2 b 2 (θ&2 + θ&3 )
1 1
8
2

2
( )
+ Wa 2θ&22 + Wab θ&22 + θ&2θ&3 cosθ 3 + Wb 2 (θ&2 + θ&3 )
1 1
2
2
D-62

1 1
− m1 gasenθ 2 − m2 gasenθ 2 − m2 gbsen(θ 2 + θ 3 )
2 2
− Wgasenθ 2 − Wgbsen(θ 2 + θ 3 )

Para obtener el par aplicado a partir de la ecuación de movimiento de Lagrange, se


emplea:

d ∂L ∂L
τ= − D-63
dt ∂q& ∂q

El siguiente desarrollo resulta de aplicar la ecuación de movimiento de Lagrange


ecuación D-63 a el Lagrangiano ecuación. D-62).

∂L 1
= m1a 2θ&2 + m2 a 2θ&2 + m2 ab(2θ&2 + θ&3 )cosθ 3
1
∂θ 2 4
& 2

+ m2 b 2 (θ&2 + θ&3 ) + Wa 2θ&2 + Wab(2θ&2 + θ&3 )cosθ 3


1
D-64
4
+ Wb 2 (θ&2 + θ&3 )

d ∂L 1
= m1a 2θ&&2 + m2 a 2θ&&2 + m2 ab(2θ&&2 + θ&&3 )cosθ 3
1
dt ∂θ 2 4
& 2

− m2 ab(2θ&2 + θ&3 )senθ 3θ&3 + m2 b 2 (θ&&2 + θ&&3 )


1 1
D-65
2 4
+ Wa θ 2 + Wab(2θ 2 + θ 3 )cosθ 3
2 && && &&
− Wab(2θ&2 + θ&3 )senθ 3θ&3 + Wb 2 (θ&&2 + θ&&3 )

∂L 1
= − m1 ga cosθ 2 − m2 ga cosθ 2
∂θ 2 2
D-66
1
− m2 gb cos(θ 2 + θ 3 ) − Wga cosθ 2 − Wgb cos(θ 2 + θ 3 )
2

145
“Caracterización de un robot manipulador articulado”

∂L 1
= m2 abθ&2 cosθ 3 + m2 b 2 (θ&2 + θ&3 )
1
∂θ&3 2 4 D-67
+ Wabθ&2 cosθ 3 + Wb 2 (θ&2 + θ&3 )

d ∂L 1
= m2 ab cosθ 3θ&&2 − m2 absenθ 3θ&2θ&3 + m2 b 2 (θ&&2 + θ&&3 )
1 1
dt ∂θ&3 2 2 4 D-68
+ Wab cosθ 3θ&&2 − Wabsenθ 3θ&2θ&3 + Wb 2 (θ&&2 + θ&&3 )

∂L
∂θ 3
1
( ) (
= − m2 ab θ&22 + θ&2θ&3 senθ 3 − Wab θ&22 + θ&2θ&3 senθ 3
2
)
D-69
1
− m2 gb cos(θ 2 + θ 3 ) − Wgb cos(θ 2 + θ 3 )
2

El modelo quedaría de forma general de la siguiente manera:

M (q )q&& + V (q, q& ) + G (q ) = τ D-70

Donde:

M (q ) Matriz de inercia

V (q, q& ) Vector de las fuerzas centrífugas

G (q ) Vector de las fuerzas gravitacionales

τ Par requerido

Expresando la ecuación D-70 en forma matricial se tiene:

⎡τ 2 ⎤ ⎡ A2 B2 ⎤ ⎡θ&&2 ⎤ ⎡ E 2 ⎤ ⎡ G2 ⎤
⎢τ ⎥ = ⎢C ⎢ ⎥+ +
D2 ⎥⎦ ⎣θ&&3 ⎦ ⎢⎣ F2 ⎥⎦ ⎢⎣ H 2 ⎥⎦
D-71
⎣ 3⎦ ⎣ 2

Donde:

τ 2 = A2θ&&2 + B2θ&&3 + E 2 + G2 D-72

146
Apéndice D Péndulos

D.6 Par de la articulación 2


Inercias

1 1
A2 = m1 a 2 + a 2 m2 + m2 ab cos θ 3 + m2 b 2 + Wa 2 + 2Wab cos θ 3 + Wb 2 D-73
4 4

1 1
B2 = m2 ab cos θ 3 + m2 b 2 + Wab cos θ 3 + Wb 2 D-74
2 4

Fuerzas centrífugas y de Coriolis

E 2 = − m2 ab(2θ&2 + θ&3 )senθ 3θ&3 − Wab(2θ&2 + θ&3 )senθ 3θ&3


1
D-75
2

Efectos gravitacionales

1 1
G2 = m1 ga cos θ 2 + m2 ga cos θ 2 + m2 gb cos(θ 2 + θ 3 )
2 2 D-76
+ Wga cos θ 2 + Wgb cos(θ 2 + θ 3 )

D.7 Par de la articulación 3

τ 3 = C 2θ&&2 + D2θ&&3 + F2 + H 2 D-77

Inercias

1 1
C2 = m2 ab cos θ 3 + m2 b 2 + Wab cos θ 3 + Wb 2 D-78
2 4

1
D2 = m2 b 2 + Wb 2 D-79
4

Fuerzas centrífugas y de Coriolis

⎛1 ⎞
F2 = ⎜ m2 + W ⎟absenθ 3θ&22 D-80
⎝2 ⎠

Efectos gravitacionales
1
H 2 = m2 gb cos(θ 2 + θ 3 ) + Wgb cos(θ 2 + θ 3 ) D-81
2

147
“Caracterización de un robot manipulador articulado”

Apéndice
E

IDENTIDADES
TRIGONOMÉTRICAS

148
Apéndice E Identidades trigonométricas

E.1 Relaciones entre las funciones trigonométricas

sen 2θ + cos 2 θ = 1 E-1

E.2 Funciones de ángulos múltiples

sen 2θ = 2 senθ cos θ E-2

cos 2θ = cos 2 θ − sen 2θ = 1 − 2 sen 2θ = 2 cos 2 θ − 1 E-3

E.3 Potencias del seno y coseno en función de ángulos múltiples

1
sen 2θ = (1 − cos 2θ ) E-4
2

1
cos 2 θ = (1 + cos 2θ ) E-5
2

E.4 Funciones de la suma y diferencia de dos ángulos

sen(θ + α ) = senθ cosθ + cosθsenα E-6

cos(θ + α ) = cosθ cos α − senθsenα E-7

149
“Caracterización de un robot manipulador articulado”

Apéndice
F

PROGRAMAS

150
Apéndice F Programas

F.1 Programa en “C” de la cinemática directa


#include<stdio.h>
#include<graphics.h>
#include<math.h>
#include<conio.h>
#include<dos.h>

void main()
{

int ang,ang1, ang2, modo, control, x, x1, x2, x3, y, y1, y2, y3, grad1, grad2, grad3;
float rad,rad1, rad2;
modo=VGAHI;
control=VGA;
initgraph(&control,&modo,"");

for(;;)
{

clrscr ();

setfillstyle(1,BLACK);
rectangle(0,0,639,479);
floodfill (320,240,BLACK);

setlinestyle(DASHED_LINE, 1, 1);
setcolor(YELLOW);
line (160,100,160,379);
line (480,100,480,379);
line (0,240,639,240);

setlinestyle(SOLID_LINE, 1, 3);
line (100,350,220,350);
rectangle(370,130,590,350);

printf ("\t\t SIMULACION DE MOVIMIENTOS DEL SCORBOT ER-V plus\n\n");


printf (" SENTIDO DE GIRO: CW = - CCW = +\n");
printf ("Valor del ángulo de hombro en grados:\t");
scanf ("%d",&ang);
printf ("Valor del ángulo de codo en grados:\t");
scanf ("%d",&ang2);
printf ("Valor del ángulo de cintura en grados:\t");
scanf ("%d",&ang1);

printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t VISTA LATERAL \t\t\t VISTA


SUPERIOR");
151
“Caracterización de un robot manipulador articulado”

//Ángulo de hombro
//Rutina para el primer angulo
setfillstyle(1,WHITE);
circle (160,240,5);
floodfill (160,240,YELLOW);

if (ang>=0)
{
for (grad1=0; grad1<=ang; grad1++)
{
rad=grad1*M_PI/180;
x=100*cos(rad);
y=100*sin(rad);

setlinestyle(SOLID_LINE, 1, 3);
setcolor (WHITE);
line(160,240,160+x,240-y);
delay (100);

setcolor(BLACK);
line(160,240,160+x,240-y);

setlinestyle(DASHED_LINE, 1, 1);
setcolor (WHITE);
line (160,100,160,379);
line (480,100,480,379);
line (0,240,639,240);
}
setlinestyle(SOLID_LINE, 1, 3);
setcolor(WHITE);
line(160,240,160+(x/2),240-(y/2));
}
else
{
for (grad1=0; grad1>=ang; grad1--)
{
rad=grad1*M_PI/180;
x=100*cos(rad);
y=100*sin(rad);

setlinestyle(SOLID_LINE, 1, 3);
setcolor (WHITE);
line(160,240,160+x,240-y);
delay (100);

setcolor(BLACK);
line(160,240,160+x,240-y);
152
Apéndice F Programas

setlinestyle(DASHED_LINE, 1, 1);
setcolor (WHITE);
line (160,100,160,379);
line (480,100,480,379);
line (0,240,639,240);
}
setlinestyle(SOLID_LINE, 1, 3);
setcolor(WHITE);
line(160,240,160+(x/2),240-(y/2));
}
circle (160+(x/2),240-(y/2),2);

//Ángulo de codo
if (ang2>=0)
{
for(grad2=0; grad2<=ang2; grad2++)
{
rad2=grad2*M_PI/180;
x2=50*cos(rad+rad2);
y2=50*sin(rad+rad2);

setlinestyle(SOLID_LINE, 1, 3);
setcolor(WHITE);
line(160+(x/2),240-(y/2),160+(x/2)+x2,240-(y/2)-y2);
delay(100);

setcolor(BLACK);
line(160+(x/2),240-(y/2),160+(x/2)+x2,240-(y/2)-y2);

setlinestyle(DASHED_LINE, 1, 1);
setcolor (WHITE);
line (160,100,160,379);
line (480,100,480,379);
line (0,240,639,240);
}

setlinestyle(SOLID_LINE, 1, 3);
setcolor(WHITE);
line(160+(x/2),240-(y/2),160+(x/2)+x2,240-(y/2)-y2);
}
else
{
for(grad2=0; grad2>=ang2; grad2--)
{
rad2=grad2*M_PI/180;
x2=50*cos(rad+rad2);
y2=50*sin(rad+rad2);
153
“Caracterización de un robot manipulador articulado”

setlinestyle(SOLID_LINE, 1, 3);
setcolor(WHITE);
line(160+(x/2),240-(y/2),160+(x/2)+x2,240-(y/2)-y2);
delay(100);

setcolor(BLACK);
line(160+(x/2),240-(y/2),160+(x/2)+x2,240-(y/2)-y2);

setlinestyle(DASHED_LINE, 1, 1);
setcolor (WHITE);
line (160,100,160,379);
line (480,100,480,379);
line (0,240,639,240);
}

setlinestyle(SOLID_LINE, 1, 3);
setcolor(WHITE);
line(160+(x/2),240-(y/2),160+(x/2)+x2,240-(y/2)-y2);
}

//Ángulo de cintura para hombro


circle (480,240,5);
floodfill (480,240,WHITE);

if (ang1>=0)
{
for(grad3=0; grad3<=ang1; grad3++)
{
rad1=(grad3*M_PI)/180;
x1=x/2*cos(rad1);
y1=x/2*sin(rad1);

setlinestyle(SOLID_LINE, 1, 3);
setcolor(WHITE);
line (480,240,480+x1,240-y1);
delay (30);

setcolor(BLACK);
line (480,240,480+x1,240-y1);

//Ángulo de cintura para codo


x3=x2*cos(rad1);
y3=x2*sin(rad1);

setcolor(WHITE);
line (480+x1,240-y1,480+x1+x3,240-y1-y3);
delay(30);
154
Apéndice F Programas

setcolor(BLACK);
line (480+x1,240-y1,480+x1+x3,240-y1-y3);

setlinestyle(DASHED_LINE, 1, 1);
setcolor (WHITE);
line (160,100,160,379);
line (480,100,480,379);
line (0,240,639,240);
}
setlinestyle(SOLID_LINE, 1, 3);
setcolor(WHITE);
circle (480+x1,240-y1,2);
line (480,240,480+x1,240-y1);
setcolor(WHITE);
line (480+x1,240-y1,480+x1+x3,240-y1-y3);
}
else
{
for(grad3=0; grad3>=ang1; grad3--)
{
rad1=(grad3*M_PI)/180;
x1=x/2*cos(rad1);
y1=x/2*sin(rad1);

setlinestyle(SOLID_LINE, 1, 3);
setcolor(WHITE);
line (480,240,480+x1,240-y1);
delay (30);

setcolor(BLACK);
line (480,240,480+x1,240-y1);

//Ángulo de cintura para codo


x3=x2*cos(rad1);
y3=x2*sin(rad1);

setcolor(WHITE);
line (480+x1,240-y1,480+x1+x3,240-y1-y3);
delay(30);

setcolor(BLACK);
line (480+x1,240-y1,480+x1+x3,240-y1-y3);

setlinestyle(DASHED_LINE, 1, 1);
setcolor (WHITE);
line (160,100,160,379);
line (480,100,480,379);
155
“Caracterización de un robot manipulador articulado”

line (0,240,639,240);
}
setlinestyle(SOLID_LINE, 1, 3);
setcolor(WHITE);
circle (480+x1,240-y1,2);
line (480,240,480+x1,240-y1);
setcolor(WHITE);
line (480+x1,240-y1,480+x1+x3,240-y1-y3);
}
printf ("\n\n\n Desea otra simulación: s/n ");

if(getch()=='n')break;
}

restorecrtmode();
}

F.2 Programa en ACL para la prueba 1


>list eje1b

PROGRAM EJE1B
*********************

785: SPEED 40
786: MOVED 234
787: SPEED 35
788: FOR E1B = 1 TO 3
789: MOVED 235
790: MOVED 236
791: ENDFOR( 788)
792: END
(END)

F.3 Programa en ACL para la prueba 2


>list eje2b

PROGRAM EJE2B
*********************

794: SPEED 40
795: MOVED 220

156
Apéndice F Programas

796: SPEED 70
797: FOR E2B = 1 TO 3
798: MOVED 240
799: MOVED 241
800: ENDFOR( 797)
801: END
(END)

F.4 Programa en ACL para la prueba 3


>list eje3b

PROGRAM EJE3B
*********************

848: SPEED 40
849: MOVED 220
850: SPEED 70
851: FOR E3B = 1 TO 3
852: MOVED 237
853: MOVED 238
854: ENDFOR( 851)
855: END
(END)

F.5 Programa en ACL para la prueba 4


>list prue4

PROGRAM PRU5A
*********************

1233: SPEED 60
1234: FOR E2B = 1 TO 3
1235: MOVED 294
1236: MOVED 293
1237: ENDFOR( 1234)
1238: END
(END)

157
“Caracterización de un robot manipulador articulado”

F.6. Posiciones registradas en el controlador.


La tabla F-1 muestra las ubicación de las posiciones que se registraron en el
controlador para realizar las pruebas con el robot que aparecen en el capítulo 4. Las
coordenadas X, Y y Z están en milímetros, P (“pitch” o elevación) y R (“roll” o giro) están
en décimas de grado y por último los datos de los encoders representan el número de pulsos
en él.

Tabla F-1 Posiciones registradas en el controlador.

ENCODERS
Posición X Y Z P R
1 2 3 4 5

234 3539 -2229 5280 -83 -3 -4570 4575 -3391 1534 -1550
235 4924 -3447 3678 93 -3 -4965 13650 -3012 2027 -2042
236 2510 5461 3678 93 -3 9265 13650 -3012 2027 -2442
237 170 -1984 2575 -535 104 -12076 3276 -9954 573 9
238 -293 3424 4861 2006 -13 -12076 3278 18530 7338 -7405
240 -3401 -1411 739 -240 -3 -18389 16688 -6489 1098 -1112
241 -1999 2417 8330 1310 -7 18389 -341 10848 5410 -5446
293 1802 -1262 7132 991 -7 -4965 13650 7168 4522 -4559
294 3112 -2178 5988 110 -5 -4975 3454 -2890 2069 -2095

La razón de exponer las coordenadas de las posiciones es la de prevenir una posible


sobre escritura de las posiciones. Al conocer estos valores junto con los programas, se tiene
la certeza que es totalmente posible repetir cualquier prueba propuesta y/o realizar
cualquier práctica con el Scorbot-ER V plus del capítulo 4 o en el apéndice I.

Por último se recuerda que las posiciones reservadas para este trabajo de tesis,
abarcan de la posición 200 a la 300 por lo que se pide que se respeten dichas posiciones.

158
Apéndice G Subsistemas en Matlab/Simulink

Apéndice
G

SUBSISTEMAS EN
MATLAB/SIMULINK

159
“Caracterización de un robot manipulador articulado”

G.1 Dinámica

G.1.1 Dinámica inversa

G.1.1.1 Parámetros

0.22 a 2.2483 M1
9.81 g
Upper Arm1 Goto24 Masa3 Goto30
(mts) (Kg) Gravedad1 Goto26
0.22 b 0.9888 M2
Forearm1 Goto25 Goto23
(mts) Masa4 0.4 W
(Kg)
0.06 l Carga1 Goto27
4.7698 Mb
Radio_base1 Goto28
Masa_base1 Goto29

G.1.1.2 Entrada
ENT RADA CONDICION INICIAL
1 1
-K- 0 D2R
s s
Repeating Gain1 # GRADOS Degrees to Integrator Integrator1
Sequence Radians

alfa1 omega1 teta1

Goto7 Goto6 Goto8

R2D

Aceleración1 Velocidad1 Radians Posicion1


to Degrees1

160
Apéndice G Subsistemas en Matlab/Simulink

G.1.1.3 Bloque A (ecuación 2-83)

Mb 1/8 2

From16 [A_1] Constant20 Constant19

l u2 Product7 Goto12 M2 [A_7] W

From23 Math From97 Goto20 From105


Product22
Function6
b u2 a
1/8 Math [A_11]
From95 From83
Function18 Goto24
Constant6
b
M1 [A_2] 1/8
From106 Product15
From69 Goto15
Product8 Constant16
a u2 M2
teta2 cos

Math From104 Trigonometric


From59 From57
Function7 Function15
[A_8] teta3
b u2 Goto21
1/8 From62 cos
From98 Math
Constant7 Function15
teta2 Trigonometric
M1 teta3 Function16
[A_3] Product20 From61
From91 From60 2 cos
Goto16
a u2 Product9 teta2 Gain16 Trigonometric
Function13
From80 Math From58 1/2
Function8
Constant23
teta2 2 cos 1/2 W [A_13]
From92 Gain10 Trigonometric Constant21
Function5 From111 Goto26
Product25
W [A_9] b u2
1/2
From100 Goto22
Constant14 Product23 From110 Math
a u2 Function21
M2 [A_4]
From99 Math
From94 Goto17 Function19 1/2
Product18
a u2 Constant17
1/2
From93 Math W
Function14 Constant22
From65
W [A_14]
1/2 b u2 Goto27
From103
Constant18 From112 Math
a u2 [A_10]
Function16
M2 Goto23 teta3
From101 Math
From96 Product24 Product21
Function20 From67 2 cos
a u2 [A_5] teta2 2 cos
teta2 Gain19 Trigonometric
Goto18 Function20
From82 Math From102 Gain15Trigonometric
Product14 From66
Function17 Function18

teta2 2 cos
[A_1]
From84 Gain13Trigonometric
Function14 From33
[A_2]
From39
M2 [A_3]
From47
From52 [A_4]
From44
a [A_5]

From50 From40
[A_6]

b [A_6] From46
[A_7]
From51 Goto19 From38 1
[A_8]
A
teta2 cos From37
[A_9]
From55 Trigonometric
Function12 From45
Product19 [A_10]
teta3
From48
[A_11]
From54 cos
From49
Trigonometric [A_13]
teta2
Function11 From68
[A_14]
From53
From70

161
“Caracterización de un robot manipulador articulado”

G.1.1.4 Bloque E (ecuación 2-91)


1/4 1/4
W
Constant Constant2 From16
M1 [E_1] M2 [E_4] [E_7]
From1 Goto From8 Goto3 b u2 Goto6
a u2 b u2
From17 Math
From2 Math Product From9 Math Product3 Function5 Product6
Function1 Function3

[E_1]
M2 W From18
From3 From10 [E_2]
[E_2] [E_5]
2 2 From19
a u Goto1 a u Goto4
[E_3]
From4 Math From11 Math
Function2 Product1 Function4 Product4 From20
[E_4] 1
From21 E
From7
2 [E_5]
M2
Constant4 From22
W [E_6]
a
From15
From5 [E_3] a [E_6] From23
b [E_7]
Goto2 From13 Goto5
From6 b From24
teta3 cos Sum
From14
teta3 cos
From Trigonometric Product2
Function1 From12 Trigonometric Product5
Function2

G.1.1.5 Bloque F (ecuación 2-92)

1/2
Constant4 From7
M2
W
From15
a [F_1]
a
From13 Goto5
b From5 [F_3] [F_1]
b
From14 Goto2 From18
teta3 cos From6
teta3 cos
Product5 [F_2]
From12 Trigonometric
Function2 From Trigonometric Product2 From19 1
Function1
[F_3] F
1/4 From20
W
Constant2
M2 [F_2] From16 [F_4]
[F_4]
From8 Goto3 2 From21
2 b u Goto6
b u
Sum
From9 From17 Math
Math Product3
Function3 Function5 Product6

162
Apéndice G Subsistemas en Matlab/Simulink

G.1.1.6 Bloque H (ecuación 2-98)

1/2
Constant4
M2 From7
From15 W
a [H_1]
From13 Goto5 a
b
From5 [H_3]
From14 b
teta3 cos Goto2
Product5 From6
From12 Trigonometric teta3 cos
Function2
From Trigonometric Product2
1/4 Function1

Constant2
M2 [H_2]
From8 Goto3
b u2 [H_1]
From18
From9 Math Product3
Function3 [H_2]
From19 1

W [H_3] H
From20
From16 [H_4]
2 [H_4]
b u Goto6
From17 From21
Math Sum
Function5 Product6

G.1.1.7 Bloque I (ecuación 2-99)


1/4
Constant2
[M2] [I_1]
From8 Goto3 [I_1]
[b] u2
From18
From9 Math Product3
Function3 1
I

[W] [I_2]
From19
From16 [I_2]
[b] u2 Goto6
Sum
From17 Math
Function5 Product6

163
“Caracterización de un robot manipulador articulado”

G.1.1.8 Bloque J (ecuación 2-86)


1/4 M2 2
Constant24 From90 Constant20

M1 omega1 W

From118 From11 From106


2
a u
[J_1] a omega1
From2 Math
Goto From129 From21
Function1
omega1 b a

From3 Product1 From128 From134


[J_7]
omega2 omega2 [J_4] b
Goto8
From4 From12 Goto3 From111

teta2 2 sin omega3 omega2


From5 Gain3 Trigonometric From117 From22
Function1 Product8
teta2 cos Product4 teta2 sin

M2 From105 Trigonometric
From130 Trigonometric
Function18
Function7
From6 teta3 teta3
2
a u From132 sin From101 cos
From7 Math
teta2 Trigonometric Trigonometric
Function3 teta2
Function24
omega1 [J_2] Function26
From131 From100
From8 Goto2

omega2 1/4
Product2 2
From9 Constant17
Constant23
teta2 2 sin M2
W
From121 Gain5Trigonometric From91
From147
Function2
omega1
omega1
M2
From14 From25
From122 [J_5]
b u2
Goto4 a
omega1 Math
From112 From149
From13 Function16
[J_8]
omega2 b
omega2 Goto13
From10 From148
From15 Product5

a [J_3] omega2
omega3
Goto1 From26
From124
From133 Product9
b omega3
teta3
Gain21
From123 From96 From27
2 sin
teta2 sin Product3 teta2 cos
Trigonometric
teta2
From125 Trigonometric Function20 From146 Trigonometric
Function22 From95 Function31
teta3 teta3
From127 cos From145
W sin
teta2 Trigonometric Trigonometric
Function23 From108 teta2
Function32
From126 omega1 From144
From16
a u2 [J_6] W

From110 Math Goto5 From153


Function21
omega1
omega2
[J_1]
Product From28
From From17
[J_2]
teta2 2 sin 2
From20 b u [J_9]
[J_3]
From136 Gain20Trigonometric Math Goto9
From154
From40 Function25
[J_4] Function22
From31 omega2
[J_5] 1
From29
From38 J
[J_6]
Product12
From39 omega3
[J_7]
From30
From41
[J_8]
teta3
From54
[J_9]
From151 2 sin
From76
teta2 Gain10Trigonometric
Function34
From150

164
Apéndice G Subsistemas en Matlab/Simulink

G.1.1.9 Bloque K (ecuación 2-93)

1/8 1/2 W

Constant5 Constant6 omega2 From32

M2 From36 2
M1 a
From10 From26 omega3 Gain3
Product10 From31
a From35
a [K_1]
From22 Goto7 From11 [K_2] b [K_3]
Goto8 From33 Goto9
omega1 u2 omega2 b

From23 From30 2 From27


Math
Function6 omega3 Gain2
teta2 2 sin Product8
Gain1 Trigonometric From29
From25 omega3 u2 Sum2
Function4 Product7 omega3 u2 Sum1
From34 Math
From28 Math teta3 sin
teta3 sin Function8
Function7 Product9 Product11
From2 Trigonometric
From1 Trigonometric Function6
Function5

1/2 1/2
1/2 Constant8 Constant9
Constant7
M2 M2
From41 From46
M2
From37 omega1 u2 omega1 u2
From43 Math From48 Math
omega1 u2 [K_4] a
Function12
[K_5] a
Function13
[K_6]
From39 Math Goto10 From42 Goto11 From47 Goto12
Function9
2 b b
a u
From38 From45 From50
Math
Function10 teta2 sin teta2 cos
teta2 2 sin From44 Trigonometric From49 Trigonometric
From40 Gain4 Trigonometric Function8 Function10
Function7
Product12
teta3 cos teta3 sin
Product13 Product14
From3 Sum3 Trigonometric From4 Sum4 Trigonometric
Function9 Function11

1/8 W
1/2
Constant10 From59
Constant11
2
omega1 u
M2 W From61 Math
From51 From52 Function18
a

omega1 u2 [K_7] omega1 u2 [K_8] From60


[K_9]
From53 Math Goto13 From56 Math Goto14 Goto15
Function14 Function16 b

2 From63
b u2 a u
From58 Math
From55 Math teta2 sin
Function15 Function17
teta2 From62 Trigonometric
teta2 2 sin Function12
From54 2 sin
From57 Gain6 Trigonometric
teta3 Sum5 Gain5 Trigonometric Function14 Product16
teta3 cos
Function13 Product15
From5 Product17
From6 Sum6 Trigonometric
Function15

[K_1]
From18
W [K_2]
From73 1/2
From19
Constant12 [K_3]
omega1 u2 From20
From75 Math [K_4]
W
Function21 From21
From64 [K_5]
a
From24
From74
[K_10] 2 [K_6] 1
omega1 u [K_11]
Goto17 From68 K
b From65 Goto16
Math [K_7]
From77 Function19
From69
2 [K_8]
teta2 cos b u
From70
From67 Math [K_9]
From76 Trigonometric
Function17 teta2 Function20
From71
From66 [K_10]
2 sin
sin From72
teta3 Gain7 Trigonometric
teta3 Sum7 [K_11]
Sum8 Trigonometric Product19 Function16 Product18
From8 From78
Function18 From7
Sum

165
“Caracterización de un robot manipulador articulado”

G.1.1.10 Bloque P (ecuación 2-100)

1/2
[W]
1/2
Constant6
From59
Constant8
[M2]
[M2] 2
From26 [omega1] u
From41
From61 Math
[a]
2 Function18
[omega1] u
From11 [P_1]
From43 [a]
Math
[b] Goto8 Function12 From60
[a] [P_3] [P_5]
From27
[omega2] From42 Goto11 Goto15
[b]
From30 [b] From63
[omega3] From45
Product8
From29 [teta2] cos
[teta2] cos
[teta3] sin Product9 From62 Trigonometric
From44 Trigonometric
Function12
From1 Trigonometric Function8
Function5
sin
sin [teta3]
[teta3]
Product13 Product17
Sum6 Trigonometric
From3 Sum3 Trigonometric From6
Function15
Function9
[W]
1/8
From32 1/2
Constant10
Constant12
[a]
From31 [M2]
[W]
From51
[b] [P_2] From64

From33 Goto9
2
[omega2] [omega1] u [P_4]
2
[omega1] u [P_6]
From36 From53 Math Goto13
Function14 From65 Math Goto16
[omega3] Function19
Product10
From35 2
[b] u
2
[b] u
From55 Math
[teta3] sin From67 Math
[teta2] Function15
Product11 Function20
From2 Trigonometric [teta2]
Function6 From54
2 sin
From66
2 sin
[teta3] Sum5 Gain5 Trigonometric
Function13 [teta3] Sum7 Gain7 Trigonometric
From5 Product15
Function16
From7 Product18

Trigonometric
Function10 [P_1]
1/2
[teta3] sin From18
Constant13
[P_2]
From8
[M2] From19

From52 [P_3]
[W]
From20
From56
[a] [P_4]
From76 From21 1
[P_7]
[a] [P_8] [P_5] P
Goto10
2 [b] From80 Goto12 From24
[omega2] u
From73 From75 2 [P_6]
Math [omega2] u
[b]
Function21 From68
From77 Math From79
Function22 [P_7]
Sum1
From69
[omega3]
Sum2 [P_8]
From74 Product14 [teta3] sin [omega3]
From70
From4 Trigonometric From78 Product16 Sum
Function7 Product19
Product20

166
Apéndice G Subsistemas en Matlab/Simulink

G.1.1.11 Bloque N (ecuación 2-94)

1/2
[W]
Constant1 From14
[M1]
[g]
From1
[g] [N_1] From15 [N_4]
From2 Goto [a] Goto3
[a] From16
From3 [teta2] cos
[teta2] cos
From17 T ri gonometri c
From4 T ri gonometri c Product Functi on4 Product3
Functi on1

[W]
[M2]
From22
From5
[g]
[g]
From18 [N_5]
From6 [N_2] [b]
[a] [teta2] Goto4
Goto1 From19
From20
From7
[teta3] cos
[teta2] cos
T ri gonometri c
Sum1
From8 T ri gonometri c From21 Product4
Functi on5
Functi on2 Product1

1/2 [N_1]
Constant2 From
[M2] [N_2]
From9 From25
[g] [N_3]
[N_3] 1
From10 Goto2
[teta2] [b] From24 N

From12 From11 [N_4]


[teta3] cos From23

From13 SumT ri gonometri c Product2 [N_5]


Functi on3
From27
Sum2

G.1.1.12 Bloque O (ecuación 2-101)

1/2
Constant2
[M2]
From9
[g] [O_1]
From10 Goto2
[teta2] [b]
From12 From11
[teta3] cos [O_1]
From13 SumTrigonometric Product2 From 1
Function3
[O_2] O

From25
[W] Sum2

From22
[g]
From18 [O_2]
[teta2] [b] Goto4
From20 From19

[teta3] cos

From21 Trigonometric
Sum1
Product4
Function5

167
“Caracterización de un robot manipulador articulado”

G.1.2 Dinámica directa


Los subsistemas que se utilizan en la dinámica directa son los mismos que en la
dinámica inversa, así que sólo basta con verificar la ecuación que corresponda a cada caso
de los cofactores mostrados en la sección G.1.1.

G.2 Péndulos

G.2.1 Péndulo simple

G.2.1.1 Inercias
1/4

Constant
[M1] [b]

From Product1 From6 [M2]

[a] u2 [a]
From4
Product3
From1 Math From5
Function1

[M2] 1/4

From2 Constant1
[M2]
Product2
[a] u2 From7 Product4

From3 Math [b] u2 2


Function2
From8 Math Constant2
[W]
[W] Function3
From11
From9 [a]
Product5 1
From12
[a] u2 [b] INERCIAS

From10 Math From13 Product6


Function4

[W]

From15
Product7
[b] u2

From14 Math
Function5

168
Apéndice G Subsistemas en Matlab/Simulink

G.2.1.2 Gravitacionales
[M1]

From [M2]
[g] From20
From17 [g]
1/2
From22
Constant
[a]
[a]
From21
From1
[teta] cos [b] 1/2

From19 From24 Gain


Trigonometric
Product8 Product9
Function
[teta] cos

From23 Trigonometric
[W] Function1

From25
1
[g] GRAVITACIONALES

From27

[a]

From26

[b]

From29
Product10
[teta] cos

From28 Trigonometric
Function2

G.2.2 Péndulo horizontal

G.2.2.1 Inercias

[Mb]

From16
2 Product4
0.10 |u|

radio de giro base1 Math


Function2
1/4

constante3 [M1]

From69
1
Product5
INERCIAS
2 2
[b] |u|
0
Gain2
From59 Math [M2]
Function3 Product6 suma de masas1
From70

Product8
1/4

2 constante4
|u|
Product9
Math
Function4

[W]

From71 Product7

169
“Caracterización de un robot manipulador articulado”

G.3 Robot planar

G.3.1 Bloque A_2.

[M1] 1/4
From Gain [W]

[M2] From16
2 1
From1 [b] u
A_2
[a] u2 From17 Math
Product1 Function5 Product6
From2 Math
Function1
[W]
[M2] 1/4 From10
From3 Gain1 2
[a] u
[b] u2 Product2 From11 Math
Function4 Product4
From4 Math
Function2 2

[M2] 1/2 Constant4


[W]
From5 Gain2 From15
[a]
[a]
From6
[b] From13
[b]
From7
[teta33] cos From14
[teta33] cos
From8 Trigonometric Product5
2 From12 Trigonometric
Function1
Function2
Constant1 Product3

G.3.2 Bloque B_2

[M2] 1/4
From14 Gain3
From15 Product2
[W]
[b] u2
From4 Math 1
Function2 B_2

[M2] 1/2
From12 Gain2
From13
[W]

[a]
From6
[b]
From7
[teta33] cos

From8 Trigonometric Product3


Function1

170
Apéndice G Subsistemas en Matlab/Simulink

G.3.3 Bloque E_2

Trigonometric
From8 Function1
[teta33] sin
Math
[b]
Function3
From7
[omega33] u2 -1 1
From9 E_2
[a] Gain2

[omega22] 2 From3
From10 Product4 Gain1 Product3
[M2] 1/2
From4
Gain5

[W]
From37 Sum3

G.3.4 Bloque G_2

[M1] 1/2
From4 Gain
[g]
[M2]
From11
From5 [a]
1
From12 Trigonometric
G_2
Function1
[W]
[teta22] cos Product5
From26
From8 Trigonometric [g]
Function2
From22
[teta22] cos
[teta22] [b]
From15
From24 From23
[g]
[teta33] cos
From13 [teta33]
From16 Trigonometric
Sum4
From25 Product4
[b] Function5

From14 [M2] 1/2


From17 [W]
Gain1 Product6
From18
[g]
From19
[a]
From20
[teta22] cos

From21 Trigonometric
Product3
Function4

171
“Caracterización de un robot manipulador articulado”

G.3.5 Bloque C_2

[M2] 1/4
From14
Gain3
From15 Product2
[W]
2
[b] u
From4 Math 1
Function2 C_2

[M2] 1/2
From12
Gain2
From13
[W]

[a]
From6
[b]
From7
[teta33] cos
From8 Trigonometric Product3
Function1

G.3.6 Bloque D_2

[M2] 1/4
From14 1
Gain3
From15 D_2
Product2
[W]

[b] u2
From4 Math
Function2

172
Apéndice G Subsistemas en Matlab/Simulink

G.3.7 Bloque F_2

Trigonometric
From8 Function1
[teta33] sin
Math
[b]
Function3
2 From7
[omega22] u 1
F_2
From9 [a]
From3

Product3

[M2] 1/2
From14 Gain3
From15
[W]

G.3.8 Bloque H_2

Trigonometric
Function2
[teta22] cos

From15
[g]
teta33] 1
From13
From16 H_2
[b]
From14
Product6
[M2] 1/2
From18
Gain3
From19
[W]

173
“Caracterización de un robot manipulador articulado”

Apéndice
H

ENGRANES

L os engranes o engranajes sirven para transmitir par de torsión y velocidad


angular en una amplia variedad de aplicaciones. También hay gran
diversidad para escoger, en este apéndice se tratará de los engranes del tipo
más simple; los rectos que son engranes cilíndricos que tienen sus dientes paralelos al eje
de rotación y se utilizan para transmitir movimiento de un eje a otro que es paralelo, otros
tipos de engranes como el helicoidal, el cónico y el tornillo sinfín no serán tratados en este
apéndice.

174
Apéndice H Engranes

H.1 Nomenclatura
La nomenclatura de los dientes de engranes rectos se indica en la figura H-1. La
circunferencia de paso es el círculo teórico en el que generalmente se basan todos los
cálculos; su diámetro es el diámetro de paso. Las circunferencias de paso de un par de
engranes conectados son tangentes entre sí. En un engranaje o par de engranes, al menor se
le llama piñón y al mayor, rueda o engrane mayor.

Figura H-1 Nomenclatura de engranes.

El paso circular p (ecuación H-3) es la distancia, medida sobre la circunferencia de


paso, entre determinados puntos de un diente y el correspondiente de un inmediato. De
manera que el paso circular es igual ala suma del grueso del diente y el ancho del espacio
entre dos consecutivos.

El módulo m es la razón o relación de diámetro de paso al número de dientes.

El paso diametral P (ecuación H-1) es la relación del número de dientes al diámetro


de paso. En consecuencia es el recíproco del módulo (ecuación H-2).

El adendo a es la distancia radial entre el tope del diente (o la circunferencia de


adendo) y la circunferencia de paso. El dedendo b es la distancia radial entre el fondo del
espacio (o la circunferencia de dedendo) y la circunferencia de paso. La altura total ht de un
diente es la suma del adendo y el dedendo.

La circunferencia de holgura de un engrane es la circunferencia tangente a la del


adendo del otro engrane conectado. La holgura c (o claro) es la diferencia entre el dedendo
de un engrane dado que excede al adendo del engrane conectado. El juego es la diferencia

175
“Caracterización de un robot manipulador articulado”

del espacio entre dos dientes consecutivos y el grueso del diente del otro engrane, medidos
sobre la circunferencia de paso.

N
P= H-1
d

Donde:
P = paso diametral, dientes por unidad de longitud
N = número de dientes
d = diámetro de paso

d
m= H-2
N

Donde:
m = módulo
d = diámetro de paso

πd
p= = πm H-3
N

por lo que:

pP = π H-4

Donde:
P = paso circular

[Shigley 90]

H.2 Tren de engranes


Un tren de engranes es cualquier colección o conjunto de dos o más engranes
acoplados, un par de engranes, o sea, un engranaje, es por la tanto la forma más común de
un tren de engranes, los trenes de engranes pueden ser simples, compuestos o epicíclicos.

H.2.1Trenes de engranes simples


Un tren de engrane simple es aquel en el que cada flecha sólo lleva un engrane. El
ejemplo más básico de engranes aparece en la figura H-2. La razón de velocidad de un
engrane está dada por la ecuación H-5, la figura H-3 muestra un tren de engranes simple,
con cinco engranes en serie. La ecuación H-6 muestra la expresión para la razón de
velocidad del tren:

176
Apéndice H Engranes

N2
N1
ω
ω

1 2

Figura H-2 Tren simple de engranes.

N1
mV = H-5
N2

N3 N5
N2 N4
N1
ω
ω

1 2 3 4 5

Figura H-3 Tren simple en serie de engranes.

⎛ N ⎞⎛ N ⎞⎛ N ⎞⎛ N ⎞ N
mV = ⎜⎜ − 1 ⎟⎟⎜⎜ − 2 ⎟⎟⎜⎜ − 3 ⎟⎟⎜⎜ − 4 ⎟⎟ = 1 H-6
⎝ N 2 ⎠⎝ N 3 ⎠⎝ N 4 ⎠⎝ N 5 ⎠ N 5

Potencialmente cada engrane contribuye a la razón general del tren, pero en el caso
de un tren simple (en serie) los efectos numéricos de todos los engranes, excepto el primero
y el último, se cancelan. Sólo se afecta el signo de la razón general del tren debido a los
engranes intermedios, es decir se puede usar un engrane loco intermedio para que el sentido
de giro del engrane de salida sea el mismo sentido que el del engrane de entrada, esto es si
existe un número impar de engranes locos el sentido será el mismo entre la entrada y la
salida y cuando el número de engranes locos sea par el sentido de giro entre la entrada y la
salida será opuesto.

H.2.2Tren de engranes compuestos


Tren de engranes compuestos es aquel en el cual por lo menos una flecha lleva más
de un engrane. Esto puede corresponder a una distribución en paralelo o en serie-paralelo,
en vez de las puras conexiones en serie del tren simple. La figura H-4 muestra un tren
compuesto de cuatro engranes, dos de los cuales, los engranes 2 y 3, están sujetos a una

177
“Caracterización de un robot manipulador articulado”

misma flecha y, por lo tanto, tienen la misma velocidad angular. La razón de tren resulta
ahora:

⎛ N ⎞⎛ N ⎞
mV = ⎜⎜ − 1 ⎟⎟⎜⎜ − 2 ⎟⎟ H-7
⎝ N 2 ⎠⎝ N 3 ⎠

Flecha
de Flecha
entrada N2 de salida

N1

N3 N4

2
1

ωentrada ωsalida
3 4
Figura H-4 Tren compuesto de engranes.

H.2.3 Trenes de engranajes epicíclicos o planetarios


Los trenes de engranaje convencionales, descritos en las secciones anteriores, son
todos dispositivos con un grado de libertad. Otra clase de trenes de engranes, el tren
epicíclico o planetario es de amplia aplicación. Se trata de un dispositivo con dos grados de
libertad. Se requieren dos entradas para obtener una salida previsible.

El análisis de los trenes de engranes planetarios o (epicíclicos) es aún más


complicado debido a que algunos de los engranes giran sobre ejes que también giran. La
figura H-5a ilustra un tren planetario típico, el cual incluye un engrane sol, S, en el centro,
rodeado por planetas P, que giran libremente en ejes montados en un brazo (también
llamado “portador”), A. Engranado a los planetas también esta un anillo o engrane anular,
R, que tiene dietes internos. La figura H-5b es una versión simplificada en la cual se
muestra un solo planeta. Los trenes planetarios reales incorporan dos o más planetas,
igualmente espaciados, para equilibrar las fuerzas que actúan en el sol, anillo y brazo.
Asimismo, al dividir la carga entre varios planetas, el par de torsión y la capacidad de
potencia del tren aumentan en forma correspondiente. Cuando se analizan las relaciones de

178
Apéndice H Engranes

velocidad de trenes planetarios, puede ser más conveniente referirse al planeta único
dibujado (figura H-5b) [Norton 99].

Los miembros S, A y R normalmente están asignados a tres funciones: entrada,


salida y miembro fijo de reacción.

Anillo

R R
P Sol P
A
S
Brazo S
P P
Planeta

(a) Con tres planetas (típico) (b) Con un planeta (sólo para análisis)

Figura H-5 Trenes típicos de engranes planetarios.

En otra configuración, la figura H-6, muestra un tren planetario formado por un,
engrane solar 2, un portador 3 y los engranes planetarios 4 y 5. La velocidad angular del
engranaje 2 con relación al brazo, en rpm, es:

n23 = n2 – n3 H-8

Asimismo, la velocidad del engrane 5 con respecto al brazo es

n53 = n5 – n3 H-9

Dividiendo la ecuación H-8 entre la ecuación H-9 se obtiene

n53 / n23 = (n5 – n3) / (n2 – n3) H-10

La ecuación H-10 expresa la razón de la velocidad relativa del engrane 5 a la del


engrane 2, y ambas velocidades se consideran con respecto al brazo. Ahora bien, ésta es la
misma relación y es proporcional a los números de dientes, sea que el brazo tenga rotación
o no, pues es el valor del tren. Por lo tanto, puede escribirse

e = (n5 – n3) / (n2 – n3) H-11

Donde:
ni representan la velocidad angular del engrane i

Tal ecuación puede emplearse para obtener el movimiento de salida o resultante de


cualquier tren planetario. Resulta más conveniente en la forma

e = (nL – nA) / (nF – nA) H-12

179
“Caracterización de un robot manipulador articulado”

donde
nF = velocidad (rpm) del primer engrane del tren planetario
nL = velocidad del último engrane del tren
nA = velocidad del brazo

[Juvinall 99]

Brazo rotatorio

2
5

Figura H-6 Engranaje planetario simple.

180
Apéndice I Prácticas

Apéndice
I

PRÁCTICAS

L as prácticas que aquí se presentan, están diseñadas de tal modo que el usuario
sea capaz y autosuficiente para realizarlas de forma satisfactoria, sin
embargo, es recomendable que un asesor esté presente para resolver alguna
duda o dar información adicional que requiera el usuario. Cabe mencionar que es requisito
indispensable realizar la práctica 0, ya que si bien no se tiene un contacto físico con el
robot, en esta práctica se da una amplia visión de la celda de manufactura y de forma
específica lo referente con el Scorbot-ER V plus mostrado en la figura 1-2 del capítulo 1.
Otra recomendación que se hace con contundencia es que las prácticas se realicen en forma
secuencial, es decir, primero la 0, después la 1, la 2, etc.

Se espera que con esta serie de prácticas que aquí se proponen se le de un uso
adecuado al robot y que esté al alcance de cualquier integrante de Cenidet, sin que el
usuario tenga un previo conocimiento de robótica. Al final de este apéndice se localiza la
respuesta correcta a cada inciso que se cuestiona en cada práctica. (A partir de la página
195).

181
“Caracterización de un robot manipulador articulado”

I.1 Práctica 0

Leer toda la práctica antes de iniciarla, a excepción del cuestionario.

“Seguridad, parámetros y características del robot y


conocimiento de la botonera”

Objetivos:

• El usuario conocerá y aprenderá las principales normas de seguridad que se deben


de considerar al hacer uso del robot Scorbot-ER V plus perteneciente a la celda de
manufactura del Departamento de Mecatrónica.
• El usuario conocerá los parámetros físicos del robot Scorbot-ER V plus en cuanto a
las especificaciones del fabricante, dimensiones físicas, área de trabajo y
movimientos.
• El usuario conocerá los diferentes métodos de operación del robot Scorbot-ER V
plus.

Introducción:

En la actualidad el uso de robots manipuladores cada vez es más diverso y amplio


en la industria; por tal motivo es necesario conocer los tipos de robots que se pueden
encontrar en el ámbito laboral como es el caso del Scorbot-ER V plus que aunque es un
robot de fines didácticos es de carácter industrial.
Es de suma importancia contar con los conocimientos necesarios para el uso
adecuado de este tipo de robots, así como las precauciones que se deben tener para NO
dañarlos y no resulten los propios usuarios afectados por un mal uso del robot o no atender
a las indicaciones que establece el fabricante.
Para que el Scorbot-ER V plus ejecute las tareas que le encomendemos, necesitamos
saber como operarlo, cuántos y cuáles son sus modos de operación y cuál es el más
adecuado para cada caso.

Equipo:

Manual 100094-b OpenCIM152


Manual 100016-c ER_Vplus

182
Apéndice I Prácticas

Desarrollo:

• Leer el capítulo 3 del manual 100094-b OpenCIM152. (3 págs.)


• Leer del capítulo 1 del manual 100016-c ER_Vplus págs.1-4, 1-5 y 1-6 (3 págs.)

• Leer el capítulo 2 del manual 100016-c ER_Vplus (págs. 2-2, 2-3, 2-4). (3 págs.)

• Leer el capítulo 5 del manual 100016-c ER_Vplus. (7 págs.)

Cuestionario:

1. ¿Cómo hay que mantener el área de trabajo?


2. ¿En qué parte del laboratorio se localiza el interruptor general (# 1) del sistema
robótico?
3. ¿Dónde se localizan los botones de emergencia del sistema robótico?
4. ¿Qué hay que hacer antes de remover cualquier fusible?
5. ¿Qué punto(s) le llamó más interés?
6. ¿Por qué?

7. ¿De cuántos grados de libertad es el manipulador?


8. ¿Qué tipo de actuadores contiene?
9. ¿Cuál es el peso total del Scorbot-ER V plus?
10. ¿Cuál es su radio de trabajo?
11. ¿Cuál es su capacidad de carga máxima?

12. ¿Qué es el ACL?


13. ¿Qué es el ATS?
14. ¿Cómo se cambia de modo uniones (joints) a coordenadas cartesianas (cartesian)?
15. ¿Cómo se puede variar la velocidad del robot y cómo está definida?
16. ¿Para qué sirve el botón “Abort”?
17. ¿Cómo se graba una posición?

18. ¿Cuáles son elementos que conforman el sistema robótico del Scorbot-ER V plus?

*Cualquier duda respecto a la presente práctica consúltela con el asesor.

183
“Caracterización de un robot manipulador articulado”

I.2 Práctica 1

Leer toda la práctica antes de iniciarla, a excepción del cuestionario.

“Secuencia de encendido y movimiento del robot a través de la botonera”

Objetivos:

• El usuario conocerá cual es la secuencia de encendido para poder trabajar con el


robot Scorbot-ER V plus y manipular al robot a través de la botonera (teach
pendant).
• Al término de esta práctica, el usuario deberá conocer el método para definir los
puntos de posición del robot, deberá realizar movimientos hacia esos puntos además
de familiarizarse con las demás teclas de la botonera.

Introducción:

El robot puede programarse para que realice varios tipos de actividades, pero antes
de entrar plenamente a la programación, se harán ejercicios con la botonera para conocer
los movimientos que realiza cada articulación del robot.

Equipo:

Manual 100016-c ER_Vplus


Scorbot-ER V plus
Controlador A
Botonera (teach pendant).

Desarrollo:

Encendido del sistema:


• Encender el interruptor general de alimentación ubicado al fondo del laboratorio el
más pequeño que se encuentra del lado izquierdo (el # 1).
• Poner el interruptor del no-break en posición de “ON”.
• Encender el interruptor del controlador ubicado en la parte lateral derecha del
mismo controlador (caja negra).
• Habilitar los motores por medio del botón “motors” ubicado en la parte frontal del
controlador.
Llevar al Scorbot-ER V plus a su posición de HOME mediante la ejecución de “Run 0” y
enseguida ENTER, a través de la botonera. Ver manual “100016-c ER_Vplus” pág. 6-3
(NO INTERRUMPIR ESTE PASO, PUEDE DEMORAR ALGUNOS MINUTOS).

184
Apéndice I Prácticas

Nota: Esperar hasta que en la pantalla de la botonera aparezca “HOMING COMPLETE”.

Pruebe los conocimientos obtenidos en la práctica 0, es decir, ejecute los comandos de la


botonera como sigue:
1. Consultar del manual “100016-c ER_Vplus” capítulo 5 (todo).
2. Cambien la velocidad del robot al 30%. pág. 6-12.
3. Como por default el robot pone la opción “joints”; realice movimientos con
el robot a través de sus diferentes uniones con los comandos mostrados en la
pág. 5-5.
4. Realizar movimientos con el robot a través de la opción “cartesian” través de
sus ejes (X, Y, Z) con los comandos mostrados en la pág. 5-5.
5. Abra y cierre el gripper. Pág. 5-5.
6. Repita los movimientos de los pasos anteriores hasta que tenga un buen
dominio sobre el robot.
7. Grabar tres puntos propuestos por el usuario y recorrer cada uno. Pág. 5-6,6-
13 (Para el usuario están disponibles a partir de la posición 500).
8. Una vez que termine con la ejecución de movimientos proceda al apagado
del sistema.

Notas: El robot puede tener diferentes grupos de trabajo; sin embargo, en el caso del robot
de almacenes sólo trabaja con el grupo control A por lo que los grupos B y C no
están habilitados para este robot.
En caso de que exista una colisión y/o se rebasen los topes del robot y los comandos
de la botonera no respondan; habilitarlos de nueva cuenta con la tecla “CONTROL
ON/OFF”.

Apagado del sistema:


• Llevar al Scorbot-ER V plus a la posición 200 a través de la botonera mediante la
ejecución de “GO POSITON” 200 ENTER.
• Deshabilitar los motores por medio del botón “motors” ubicado en la parte frontal
del controlador.
• Apagar el interruptor del controlador ubicado en la parte lateral derecha del mismo
controlador (caja negra).
• Poner el interruptor del no-break en posición de “OFF”.
• Apagar el interruptor general de alimentación ubicado al fondo del laboratorio.

Cuestionario:

1. ¿Para qué sirve llevar a “home” al robot cada vez que se inicia una sesión?
2. ¿Qué velocidad cree que es “segura” para la manipulación de piezas?
3. ¿Qué diferencias existen entre las opciones “joints” y “cartesian”?
4. ¿Qué problemas tuvo?

*Cualquier duda respecto a la presente práctica consúltela con el asesor.

185
“Caracterización de un robot manipulador articulado”

I.3 Práctica 2

Leer toda la práctica antes de iniciarla, a excepción del cuestionario.

“Introducción de posiciones para una posible rutina de manejo para el robot Scorbot-
ER V plus a través de la botonera”

Objetivo:

• Que el usuario sea capaz de introducir una serie de posiciones a través de la


botonera para simular una posible rutina de trabajo.

Introducción:

La introducción de datos a la memoria del controlador, permite manejar y/o repetir


una rutina de trabajo con el fin de realizar una tarea a las necesidades del usuario, o como
se comentó en la práctica 0 a las necesidades del ámbito industrial. El hecho de que un
robot tenga que repetir una tarea, no necesariamente ésta tarea debe ser compleja para
aprovechar las capacidades del robot, pues basta que lo haga siempre del mismo modo.
La forma de introducir los datos varía de acuerdo al tipo de manipulador y de las
opciones que éste tenga, para el caso de esta práctica se empezará por la botonera o también
conocida como teach pendant.

Equipo:

Manual 100016-c ER_Vplus


Scorbot-ER V plus
Controlador A
Botonera (teach pendant).
Un templete
Una pieza cilíndrica de plástico

186
Apéndice I Prácticas

Desarrollo:

• Encender el sistema.
1. Coloca un templete en el ASRS 1 y que el Buffer 1 este vacío. Ver figura P2-1.
2. Ejecute el programa prac2 (RUN 71 ENTER).
3. Cambie la velocidad del robot al 30%. (págs. 5-6,6-12.)
4. Trate de imitar la secuencia del programa, grabando las posiciones que crea
necesarias para esta secuencia. (Se sugiere combinar el modo JOINTS con el
CARTESIAN según se requiera) (págs. 5-4, 5-5, 5-6, 6-13).

Nota: Para el usuario sólo están disponibles de la posición 500 a la 599 del grupo de
control A.

5. Realice una nueva secuencia de movimientos, grabando posiciones con el fin de


tomar una pieza cilíndrica de plástico del Feeder 1 (alimentador de materia prima)
para llevarla al Buffer 2 y depositarla sobre un templete. Ver figura P2-1. Después
ejecútela paso a paso.
6. Proponga una nueva secuencia y realícela. (Recuerde las recomendaciones y
precauciones del fabricante)
• Apagar el sistema.

Banda transportadora

1 2
RS
2
4
6
8

Buffers
AS

10

Feeder 1
RO B O T
1
3
5
7

Feeder 2
9

Scorbo t-ER V plus Rack


Figura P2-1 Representación esquemática del robot de almacenes.

Cuestionario:

1. ¿Qué objetivo tiene el programa “prac2 ó 71”?


2. ¿Con qué problemas se enfrentó para la ejecución de las rutinas?
3. ¿Cuántos y cuáles fueron los números de posiciones que ocupó?
4. Describa el objetivo de la secuencia que propuso.
5. ¿Es recomendable grabar una trayectoria con únicamente 2 puntos? (PI y PF)
Explique.
6. ¿De que factores depende el número de puntos requeridos para definir una
trayectoria?

*Cualquier duda respecto a la presente práctica consúltela con el asesor.

187
“Caracterización de un robot manipulador articulado”

I.4 Práctica 3

Leer toda la práctica antes de iniciarla, a excepción del cuestionario.

“Manejo del robot Scorbot-ER V plus a través de la PC”

Objetivo:

• El usuario será capaz al término de esta práctica de realizar movimientos en el robot


Scorbot-ER V plus a través de la PC en el modo manual y directo.

Introducción:

En la práctica anterior se aprendió cómo introducir datos a través de la botonera, sin


embargo, no es el único camino para que el robot ejecute tareas deseadas, ya que cuenta
con la opción de poder manipularlo e introducirle datos por medio de comandos a través de
una interfaz con la PC.
Cada manipulador tiene su propio lenguaje de programación (en forma análoga
como pasa con los microprocesadores) y en el caso del Scorbot-ER V plus utiliza el ACL y
el ATS donde básicamente cuenta con tres tipos de modos de comunicación: Modo manual,
modo directo y modo de edición.
Para esta práctica sólo se trabajará con los modos manual y directo; probando los
comandos más utilizados.

Equipo:

Manual 100083-a ACL44-Ctrl-A


Scorbot-ER V plus
Controlador A
Work Station 1

Desarrollo:

• Encender el sistema.
1. Encender la Work Station 1.
2. Entrar al ATS (Existe en el escritorio un acceso directo).
3. Ejecuta el siguiente comando: <HOME>.
4. Entrar al modo manual con <ALT>+M y probar todos los comandos (pág. 3-120 a
la 3-122 del manual ACL).

Probar los siguientes comandos del manual ACL.

188
Apéndice I Prácticas

• Comando de control de ejes (pág. 1-4 a la 1-8).


o Move <pos> (para la ejecución de este comando utilizar las posiciones que
definió en la práctica 2)
o Open
o Close
o Jaw <var>
o Speed <var>
o Move <pos>
• Comando de control de programa (pág. 1-10).
o Run <prac2>
o A (Probar este comando cuando se esté ejecutando prac2)
• Comando de manipulación y definición de posiciones (pág. 1-12).
o Defp <pos> Da de alta una posición
o Here <pos> En donde se encuentre el manipulador se grabará la posición
• Comando informativos (pág. 1-18 a la 1-19).
o Dir
o Ver
o Free
o List < prac2>
o Listp
o Listpv <203>
• Comandos de interfase para el usuario y la pantalla (pág. 1-20).
o Help
o Do help

• Apagar el sistema.

Cuestionario:

1. ¿Qué precauciones se debe tener cada vez que utiliza MOVE?


2. ¿Qué comando le permite ajustar la apertura del gripper?
3. ¿Para qué sirve el comando A?
4. ¿Qué información nos proporciona el comando “Listpv <pos>”?
5. ¿En qué unidades da la información el comando “Listpv <pos>”?
6. ¿Qué información nos proporciona el comando “DO HELP”?
7. ¿Qué comandos le parecieron interesantes?

*Cualquier duda respecto a la presente práctica consúltela con el asesor.

189
“Caracterización de un robot manipulador articulado”

I.5 Práctica 4

Leer toda la práctica antes de iniciarla, a excepción del cuestionario.

“Edición de un programa en lenguaje ACL


para el robot Scorbot-ER V plus”

Objetivo:

• El usuario será capaz al término de esta práctica de realizar programas que generen
una secuencia de movimiento en el robot Scorbot-ER V plus.

Introducción:

En las prácticas anteriores se trabajó con la botonera de aprendizaje y bajo los


modos manual y directo, aprendiendo el usuario a manejar el robot para que realice ciertas
tareas.
En sistemas automatizados el objetivo es que las tareas sean repetidas tantas veces
como sean necesarias, para lo cual es empleada una rutina de programación, que en el caso
del robot Scorbot-ER V plus, es realizada en el lenguaje ACL.
Se realizará un programa muestra para que el usuario aprenda a utilizar este
lenguaje, y se dará ejemplo también de cómo editar un programa existente o corregir
errores en él.
Para esta práctica sólo se trabajará con los comandos más utilizados.

Equipo:

Manual 100083-a ACL44-Ctrl-A


Scorbot-ER V plus
Controlador A
Work Station 1
Una pieza cilíndrica de plástico

Desarrollo:

• Encender el sistema.
1. Encender la Work Station 1.
2. Entrar al ATS. (Existe en el escritorio un acceso directo).
3. Ejecute el siguiente comando: <HOME>.
4. Coloque la pieza cilíndrica de plástico en el Feeder 1 (alimentador de materia
prima). Ver figura P2-1.
5. Entrar al modo edición e introducir el siguiente programa como se indica:
o Edit prac4

190
Apéndice I Prácticas

6. Después de que aparezca “Do you want to create that program?(Y/N)”


o Introducir Y
o SPEED 50
o MOVED 200
o DEFINE CONTA
o FOR CONTA = 1 TO 2
o SPEED 25
o MOVED 280
o DELAY 300
o MOVELD 281
o MOVELD 282
o MOVELD 280
o OPEN
o SPEED 20
o MOVECD 282 281
o CLOSE
o SPEED 30
o MOVECD 280 281
o SPEED 10
o DELAY 200
o MOVELD 282
o MOVELD 281
o MOVEL 280
o ENDFOR
o SPEED 30
o MOVED 281
o MOVELD 284
o SPEED 10
o MOVED 285
o JAW 35
o MOVED 286
o CLOSE
o SPEED 5
o MOVELD 287
o MOVED 288
o SPEED 40
o MOVED 220
o EXIT
7. Verificar el programa utilizando el comando LIST <PRAC4> para cerciorarse de su
correcta introducción.
8. Correr el programa. (Esté siempre listo con el botón ABORT de la botonera en caso
que sea necesario).

• Apagar el sistema.

191
“Caracterización de un robot manipulador articulado”

Cuestionario:

1. ¿Por qué se utilizó MOVED en lugar de utilizar MOVE?


2. ¿Cómo realiza el movimiento el robot con el comando MOVELD?
3. ¿Cómo realiza el movimiento el robot con el comando MOVECD?
4. ¿Qué indica el 35 del comando JAW?
5. ¿En qué unidades está dado el comando DELAY?
6. ¿Qué problemas tuvo?

*Cualquier duda respecto a la presente práctica consúltela con el asesor.

192
Apéndice I Prácticas

I.6 Práctica 5

Leer toda la práctica antes de iniciarla, a excepción del cuestionario.

“Edición de un programa propuesto por el usuario”

Objetivo:

• Que usuario el compruebe los conocimientos obtenidos en el modo edición,


desarrollando sus propios programas para una tarea específica, a realizar por el
robot Scorbot-ER V plus.

Introducción:

Una vez que se ha aprendido a comunicarse e introducir comandos en el robot; es


muy importante que ahora se demuestre lo aprendido a lo largo de esta serie de prácticas
con el fin de poder utilizar el robot por el usuario con sus debidas precauciones.

Equipo:

Manual 100083-a ACL44-Ctrl-A


Scorbot-ER V plus
Controlador A
Work Station 1
Un templete
Una pieza cilíndrica de plástico

Nota: El equipo puede variar de acuerdo a las necesidades del usuario.

Desarrollo:

• Encender el sistema.
1. Encender la Work Station 1.
2. Entrar al ATS (Existe en el escritorio un acceso directo).
3. Ejecute el siguiente comando: <HOME>.
4. Entrar al modo edición e introducir la secuencia propuesta en la práctica 2 (inciso 6)
5. Verificar el programa utilizando el comando LIST <Programa>. (¡Antes de ejecutar
el programa!)
6. Si está seguro de su programa, ejecute el programa utilizando el comando RUN
<Programa>. (Esté siempre listo con el botón ABORT de la botonera en caso que
sea necesario)

193
“Caracterización de un robot manipulador articulado”

7. Edite otro programa con nuevos objetivos.


8. Verificar el programa editado utilizando el comando LIST <Programa_editado>.
9. Modifique algún programa que Ud. propuso.

Nota: Los nombres de programas son máximos de cinco caracteres alfanuméricos y


recuerde que el usuario sólo tiene permitido utilizar de la posición 500 a la 599 del
grupo A para guardar la rutina.

• Apagar el sistema.

Cuestionario:

1. ¿Qué nombres tienen los programas que editó?


2. ¿Qué objetivos tiene el programa que propuso?
3. ¿Cómo se modifica un programa?
4. ¿Cómo se puede correr el programa propuesto desde la botonera?
5. ¿Qué precauciones debe tener al tomar o depositar un templete en el pallet o en
algún almacén?
6. ¿Qué problemas tuvo?

*Cualquier duda respecto a la presente práctica consúltela con el asesor.

194
Apéndice I Prácticas

RESPUESTAS

I.7 Respuesta de la práctica 0

1. El área de trabajo debe permanecer limpia y ordenada.


2. En la parte de atrás del laboratorio cerca de la estación de calidad y el interruptor es
el de la izquierda.
3. En la botonera es el botón de “abort” y en el controlador en la parte frontal (ambos
son rojos).
4. Apagar el controlador y desconectarlo de la toma de corriente.
5. Respuesta subjetiva
6. Respuesta subjetiva
7. De cinco GDL
8. Servo motores de 12 VDC
9. 11.5 kg.
10. 610 mm.
11. 1 kg.
12. Es un lenguaje de control avanzado para la programación del Scorbot-ER V plus.
13. Es un software “Terminal” dedicado que permite un fácil acceso al sistema Scorbot-
ER V plus y al entorno ACL desde una computadora
14. A través de la tecla XYZ/JOINTS
15. Con la tecla SPEED, luego un número del 1 al 100 y enseguida ENTER. Está dada
en porcentaje.
16. Para cancelar cualquier movimiento y/o proceso del robot.
17. Con la tecla RECORD POSITION algún número y enseguida ENTER.
18. El Scorbot-ER V plus, el rack, los buffers, los alimentadores y las columnas de
almacenaje y producto terminado.

I.8 Respuesta de la práctica 1

1. Para que reconozca su entorno de trabajo y siempre tenga el mismo punto de


referencia.
2. Respuesta subjetiva (recomendada 20 %).
3. La forma en la que se realizan los movimientos en el robot. Joints mueve las
articulaciones y XYZ se mueve a través de los ejes xyz.
4. Respuesta subjetiva

I.9 Respuesta de la práctica 2

1. Tomar un templete del ASRS 1 y depositarlos en el buffer 1


2. Respuesta subjetiva
3. Respuesta subjetiva
4. Respuesta subjetiva
5. No, porque existe el riesgo de una colisión.
6. De la complejidad de la secuencia

195
“Caracterización de un robot manipulador articulado”

I.10 Respuesta de la práctica 3

1. De que se debe de conocer perfectamente la posición a la que se está mandando al


robot y cual es su posición actual.
2. Con el comando JAW, un número en porcentaje y ENTER.
3. Es para cancelar cualquier movimiento y/o proceso del robot desde la computadora.
4. La ubicación de la posición que se indique.
5. En décimas de milímetro y en décimas de grado.
6. Nos da una referencia rápida de los comandos.
7. Respuesta subjetiva

I.11 Respuesta de la práctica 4

1. Porque en el modo edición es necesario, ya que sólo así espera que se termina de
ejecutar el comando completamente antes de pasar con el siguiente.
2. Entre dos puntos lo realiza en línea recta.
3. En un punto lo realiza en línea curva pasando por otro punto que le definimos.
4. Que se desea abrir el gripper al 35 % de su capacidad.
5. En centésimas de segundo.
6. Respuesta subjetiva.

I.12 Respuesta de la práctica 5

1. Respuesta subjetiva.
2. Respuesta subjetiva.
3. Con la opción EDIT y el nombre del programa.
4. Primero se busca el nombre que le asignó el controlados con el comando DIR y
después desde la botonera con RUN # del programa y ENTER.
5. De preferencia se deben de utilizar las velocidades más bajas para evitar colisiones.
6. Respuesta subjetiva.

196

También podría gustarte